mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-20 11:18:11 +02:00
If you look at the sampler message header on Gfx9+, you'll see that we mostly only use 2 dwords (dw2 & dw3). DW2 has a bunch of sampler parameters, DW3 is the sampler handle. On Gfx9 we can micro optimize by copying r0 into the header because the HW mostly doesn't care about other DWs. We just have to clear dw2 on non VS/FS stages. On Gfx11+, we always have to do a careful copy of the r0.3 bits to mask out the bottom unrelated bits. So there, just clearing the entire header makes more sense. On Xe2+, the dw4 of the header references the sampler feedback surface handle and bit0 is a boolean to know whether to use that surface or not. So it *REALLY* matters to have that as 0. If we copy r0, we'll get random bits in dw4, leading to enable that surface. Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com> Cc: mesa-stable Reviewed-by: Rohan Garg <rohan.garg@intel.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/28082> |
||
|---|---|---|
| .. | ||
| blorp | ||
| ci | ||
| common | ||
| compiler | ||
| decoder | ||
| dev | ||
| ds | ||
| genxml | ||
| isl | ||
| nullhw-layer | ||
| perf | ||
| shaders | ||
| tools | ||
| vulkan | ||
| vulkan_hasvk | ||
| meson.build | ||