Rhys Perry
907fbf22dd
nir/gather_info: use nir_ssa_scalar_resolved
...
This lets us skip copies.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19597 >
2022-12-09 20:56:52 +00:00
Rhys Perry
085828ea4d
vtn: add mesh output and task_payload to vtn_mode_is_cross_invocation
...
This fixes a potential race condition, and removes output loads (which
should not exist in the EXT_mesh_shader).
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7391
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19597 >
2022-12-09 20:56:52 +00:00
Rhys Perry
e1f5100311
nir: add task_payload and shader_out to nir_var_vec_indexable_modes
...
Since these can be cross-invocation, we need this to write individual
components without race conditions or loads.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/7391
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19597 >
2022-12-09 20:56:52 +00:00
Rhys Perry
a89755d179
radv: fix task payload lowering when shared_memory_explicit_layout=true
...
If shared_memory_explicit_layout=true, we would have skipped lowering task
payload variables to explicit types.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19597 >
2022-12-09 20:56:52 +00:00
Rhys Perry
e4060752e2
radv: fix mesh shaders with null winsys
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19597 >
2022-12-09 20:56:52 +00:00
Rebecca Mckeever
f381187b8f
panvk: Delete panvk_CmdSetDeviceMask, panvk_GetDeviceGroupPeerMemoryFeatures
...
Delete panvk_CmdSetDeviceMask and panvk_GetDeviceGroupPeerMemoryFeatures
so that the vk_common_* version will be used instead. This will avoid
repeated code.
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20218 >
2022-12-09 14:08:14 -06:00
Rebecca Mckeever
aa76b70751
hasvk: Delete VK_KHR_device_group provided entrypoints
...
Delete anv_CmdDispatch, anv_CmdSetDeviceMask, and
anv_GetDeviceGroupPeerMemoryFeatures so that the vk_common_*
versions will be used instead. This will avoid repeated code.
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20218 >
2022-12-09 14:07:59 -06:00
Rebecca Mckeever
43f9c66224
anv: Delete VK_KHR_device_group provided entrypoints
...
Delete anv_CmdDispatch, anv_CmdSetDeviceMask, and
anv_GetDeviceGroupPeerMemoryFeatures so that the vk_common_*
versions will be used instead. This will avoid repeated code.
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20218 >
2022-12-09 14:07:48 -06:00
Rebecca Mckeever
159cf9122e
tu: Delete VK_KHR_device_group provided entrypoints
...
Delete tu_CmdDispatch, tu_CmdSetDeviceMask, and
tu_GetDeviceGroupPeerMemoryFeatures so that the vk_common_*
versions will be used instead. This will avoid repeated code.
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20218 >
2022-12-09 14:07:33 -06:00
Rebecca Mckeever
6b1e2e9eb6
v3dv: Delete VK_KHR_device_group provided entrypoints
...
Delete v3dv_CmdDispatch, v3dv_CmdSetDeviceMask, and
v3dv_GetDeviceGroupPeerMemoryFeatures so that the vk_common_*
versions will be used instead. This will avoid repeated code.
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20218 >
2022-12-09 14:07:17 -06:00
Rebecca Mckeever
64d7385e61
radv: Delete VK_KHR_device_group provided entrypoints
...
Delete radv_CmdDispatch, radv_CmdSetDeviceMask, and
radv_GetDeviceGroupPeerMemoryFeatures so that the vk_common_*
versions will be used instead. This will avoid repeated code.
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20218 >
2022-12-09 14:07:00 -06:00
Rebecca Mckeever
83400af043
vulkan/runtime: Add VK_KHR_device_group provided entrypoints
...
Add entrypoints vk_common_CmdDispatch, vk_common_CmdSetDeviceMask,
and vk_common_GetDeviceGroupPeerMemoryFeatures in Mesa Vulkan runtime so
that they are available to all drivers.
Signed-off-by: Rebecca Mckeever <rebecca.mckeever@collabora.com >
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20218 >
2022-12-09 14:06:14 -06:00
Thong Thai
2d4a36ce64
gallium: add new variable for video frame statistics
...
Video encoder previously reuses the associated_data variable to output
encoding statistics, but it ended up breaking when transcoding. This
commit adds a new variable just for statistics.
Fixes: 2d1bd619df ("frontends/va: add ability for encoder to output statistics")
Signed-off-by: Thong Thai <thong.thai@amd.com >
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20190 >
2022-12-09 13:37:00 -05:00
Rhys Perry
c872e339a1
radv: remove some unnecessary 64-bit IO handling
...
nir_lower_io() lowers these to 32-bit.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20137 >
2022-12-09 17:30:24 +00:00
Rhys Perry
6a5b615ab1
radv: fix streamout with different streams in the same varying slot
...
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20137 >
2022-12-09 17:30:24 +00:00
Rhys Perry
20e670d060
aco/ra: don't swap create_vector operand with definition blocker for SGPRs
...
There is no SGPR swap instruction, we always need 3 XORs.
fossil-db (navi21):
Totals from 76 (0.06% of 135636) affected shaders:
Instrs: 58400 -> 58347 (-0.09%); split: -0.10%, +0.01%
CodeSize: 312580 -> 312368 (-0.07%); split: -0.08%, +0.01%
Latency: 843333 -> 843180 (-0.02%); split: -0.02%, +0.00%
InvThroughput: 126431 -> 126412 (-0.02%)
Copies: 4008 -> 3955 (-1.32%); split: -1.47%, +0.15%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20240 >
2022-12-09 15:58:43 +00:00
Rhys Perry
a05dd58309
aco/ra: don't swap p_create_vector operand with definition blocker for scc
...
SCC is 1-bit, and we can't copy a 32-bit value into it.
Fixes dEQP-VK.spirv_assembly.type.scalar.i32.iequal_tesse with
ACO_DEBUG=noopt.
No fossil-db changes.
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Fixes: 9476986e6f ("aco/ra: special-case get_reg_for_create_vector_copy()")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20240 >
2022-12-09 15:58:43 +00:00
Georg Lehmann
4dff3ff005
nir/opt_algebraic: Optimize open coded bfm.
...
Foz-DB Navi21:
Totals from 1553 (1.15% of 134913) affected shaders:
SpillVGPRs: 2246 -> 2223 (-1.02%); split: -1.42%, +0.40%
CodeSize: 10409156 -> 10410720 (+0.02%); split: -0.03%, +0.04%
Instrs: 1899725 -> 1898773 (-0.05%); split: -0.07%, +0.02%
Latency: 71225814 -> 71118314 (-0.15%); split: -0.21%, +0.06%
InvThroughput: 13384926 -> 13330369 (-0.41%); split: -0.47%, +0.06%
VClause: 38309 -> 38284 (-0.07%); split: -0.17%, +0.11%
SClause: 70743 -> 70706 (-0.05%)
Copies: 167296 -> 167230 (-0.04%); split: -0.28%, +0.24%
Branches: 42446 -> 42444 (-0.00%); split: -0.01%, +0.00%
PreVGPRs: 95191 -> 95188 (-0.00%)
Some minor instructions count regressions in parallel-rdp
because v_bfm_b32 can't use SDWA, but overall an improvement.
Signed-off-by: Georg Lehmann <dadschoorse@gmail.com >
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev >
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18887 >
2022-12-09 14:59:16 +00:00
Ruijing Dong
a73e86e0a5
frontends/va: fix gst videotestsrc h264 enc fail issue.
...
problem:
when doing "gst-launch-1.0 -v videotestsrc num-buffer=10 !
vaapih264enc ! fakeink"
The command will fail due to gst will fetch the first
available supported format in the list, it becomes P010_LE
due to the commit in
[0b02db3007 ]
frontends/va: fixed av1 decoding 10bit ffmpeg output YUV issue
fix:
move the P010_LE code block to the end of the function, the sequence
of the supported formats restored to its original.
cc: mesa-stable
Reviewed-by: Boyuan Zhang <Boyuan.Zhang@amd.com >
Signed-off-by: Ruijing Dong <ruijing.dong@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20242 >
2022-12-09 09:31:11 -05:00
Yonggang Luo
ee10a5f7a6
frontend/osmesa: inherit pipe_frontend_drawable instead of allocating separately
...
This is required by st/mesa now.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Yonggang Luo
5be128f67d
frontend/hgl: inherit pipe_frontend_drawable instead of allocating separately
...
This is required by st/mesa now.
Reviewed-by: Marek Olšák <marek.olsak@amd.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
3ba24ad153
gallium: rename st_framebuffer_iface -> pipe_frontend_drawable, etc.
...
Also rename:
iface -> drawable
stfb -> drawable (where it means dri_drawable and not st_framebuffer)
stfbi -> drawable or pdrawable (if drawable exists)
pipe_frontend_drawable* is really just dri_drawable* for DRI, and WGL/GLX
have their own variants. This makes it easier to understand what kind of
object is being used.
I always wondered what st_framebuffer_iface, iface, stfbi, iface_stamp,
and iface_ID actually mean. Now those terms are gone forever.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
279dfeff1d
gallium: remove pipe_frontend_screen::destroy callback, call it directly
...
This is the only one implemented by mesa/state_tracker.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
ab7a86a0ee
gallium: clean up comments in api.h, cosmetic changes
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
e7a1cce4ee
gallium: remove st_framebuffer_iface::st_manager_private
...
It's always equal to self.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
4f376f3239
frontend/glx: inherit st_framebuffer_iface instead of allocating separately
...
All other frontends do it like this. This enables the next cleanup.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
e51cb3ae20
gallium: remove unused ST_CONTEXT_ERROR_*
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
ab281457aa
gallium: rename st_manager_private -> st_screen
...
Oh you didn't know that st_context had a screen object too?
Yeah, this code is full of surprises.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
8543dcb275
gallium: remove st_profile_type in favor of gl_api, move out st_context_attribs
...
st_context_attribs is moved into st_context.h.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
81020faf20
gallium: remove unnecessary ST_PROFILE_*_MASK definitions
...
This didn't do anything.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
9fdb0ce755
gallium: use PIPE_CONTEXT_* flags instead of ST_CONTEXT_FLAG_*
...
where PIPE_CONTEXT_* flags are available
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
0122a67c81
gallium: move st function declarations from api.h into st_context.h
...
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
be8f1d685e
gallium: remove enum st_texture_type
...
just use GLenum
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
59c9e62f48
st/mesa: remove st_context callbacks for dri/glx/wgl frontends
...
Use direct calls.
Other changes:
- kopper called thread_finish twice in the same function.
Remove the second call.
- Context creation had no-op initializations of cso_context and pipe.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
263dc7b605
gallium: remove st_context_iface, use st_context directly
...
st_context_iface was the base class that st_context inherited.
Just use st_context.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
c61aa8fa81
gallium/pp: don't use st_context_iface, use an explicit callback
...
st_context_iface will be removed.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
fdec352903
gallium/hud: don't use st_context_iface, use an explicit callback
...
st_context_iface will be removed.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
64ee8d2430
gallium: rename st_context_iface::st_manager_private to frontend_context
...
It's really dri_context for DRI.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
ec564cf043
gallium: remove duplicated st_context_iface::st_context_private
...
It's equal to fscreen, which is almost next to it.
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Marek Olšák
cf2d71ec06
gallium: rename st_manager to pipe_frontend_screen (think dri_screen)
...
st_manager is really the base class of dri_screen, so let's call it
pipe_frontend_screen. That's a much better name than the vague "st_manager".
Reviewed-by: Emma Anholt <emma@anholt.net >
Reviewed-by: Adam Jackson <ajax@redhat.com >
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20027 >
2022-12-09 13:14:03 +00:00
Erik Faye-Lund
597b2648d2
zink: do not leave needless shader temps around
...
This used to not matter, but since we started emitting shader-temps
properly, this causes issues where we end up with samplers and images as
shader-temps. That causes asserts while emitting them.
So let's remove the unused vars as well.
This fixes a piglit regression that somehow went unnoticed on CI.
Fixes: 85964945e7 ("zink: emit vars with nir_var_shader_temp mode")
Tested-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20227 >
2022-12-09 12:47:26 +00:00
Kenneth Graunke
8c2448d4e6
intel/compiler: Delete sampler key handling for planar format stuff
...
i965 used these, but Gallium drivers do this lowering via a separate
nir_lower_tex call from st/mesa. Vulkan drivers don't use these at all.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223 >
2022-12-09 10:18:25 +00:00
Kenneth Graunke
88918baf5c
intel/compiler: Delete key->msaa_16
...
None of the drivers have used this since we dropped i965, and BLORP
no longer uses it as of the previous commit. We can also drop the
former compressed_multisample_tex_mask (now padding) field so that
things remain 64-bit aligned.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223 >
2022-12-09 10:18:25 +00:00
Kenneth Graunke
5d2a290cc7
intel/blorp: Set key->msaa_16 unconditionally on Gfx9+
...
This will result in us using the TXF_CMS_W message rather than the
TXF_CMS message on Skylake through Tigerlake for 2/4/8x MSAA blits,
which is technically slightly worse. However, it shouldn't be that
much worse: the TXF_CMS message was removed altogether on Alchemist.
iris and anv set key->msaa_16 unconditionally, to avoid paying the
cost of shader recompiles for a miniscule gain. crocus and hasvk
don't need to set it as they don't support 16x MSAA. BLORP already
recompiles based on the sample count, so it could easily keep doing
this for the minor benefit. But avoiding it will let us drop the
entire msaa_16 key field out of the compiler, which is nice.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223 >
2022-12-09 10:18:25 +00:00
Kenneth Graunke
584e18863e
intel: Drop compressed_multisample_layout_mask from the compiler keys
...
The compiler looks at this key field to determine whether to perform
an MCS fetch for a txf_ms or samples_identical texture message, if a
nir_tex_src_ms_mcs_intel source wasn't provided. If it isn't set,
it instead uses constant 0 (nothing is compressed).
All of the drivers (iris, crocus, anv, hasvk) unconditionally set this
to ~0 because we don't want to pay for costly shader recompiles (which
can cause nasty stuttering). Most textures are compressed anyway, and
the hardware ignores the l2dms MCS parameter if MCS is disabled.
The only user was BLORP, which sets the key field based on whether the
texture's aux usage has MCS. But if it has MCS, it also does the MCS
fetch itself and supplies it directly. Otherwise, it relies on the
compiler to fill in the 0 value. But it could easily just provide the
0 value itself in that case and not rely on the compiler at all.
With that fixed, we can just drop the key fields entirely. We leave
them as padding for now to avoid repacking structures; we won't need
to after the next commits anyway.
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com >
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20223 >
2022-12-09 10:18:25 +00:00
Jianxun Zhang
5c62f526a4
intel/common: use format struct in aux mapping
...
Refactor aux mapping with the new format struct and helpers.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00
Jianxun Zhang
8ad9549677
intel/common: initialize format of aux mapping on GFX12
...
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00
Jianxun Zhang
cf3ee73f8f
intel/common: fix style of some comments in intel_aux_map.h
...
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00
Jianxun Zhang
d0520430aa
intel/common: Add a new struct to describe AUX mapping format
...
The new struct and some helper functions are for further
refactoring.
Reworks:
* Jordan: Refactor code around aux format array
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00
Jianxun Zhang
6b3740f359
intel/common: Add an enum of formats of AUX mapping
...
The new enum allows us to support multiple formats in the future.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com >
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com >
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20167 >
2022-12-09 09:49:42 +00:00