mesa/src/intel
Caio Oliveira c88e30f0e4
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
anv, brw: Use previous shader VUE map for FS input layout when available
The FS compilation needs the VUE map from the previous stage when the FS
has more inputs than SBE_SWIZ can remap.  Recomputing a VUE map just
from FS inputs loses certain slots like multiview slots and extra
position slots (for primitive replication), so high-numbered attributes
can read the wrong source.

When available, pass the previous stage VUE map to the FS compilation
and use it.  Make sure that the payload is sized based on what is read,
in case the previous stage has more outputs than FS reads.

Bugs did not surface when there were just 16 or fewer varying inputs,
because the driver can program SBE_SWIZ to translate the positions in
the previous shader VUE into what the FS wants.  For more inputs, this
mapping is not used, and the FS must use the exact same slots.

Note this is not a problem for pipeline libraries because they use
a different fixed layout.  This is also not an issue with
EXT_shader_object because multiview draws are not allowed with that
extension.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41747>
2026-05-23 05:17:37 +00:00
..
blorp brw: Move key and prog_data to base compile params 2026-05-22 00:57:20 -07:00
ci Uprev Piglit to 6fd29fe44f8857b876a67bee962919635f22ecc8 2026-05-20 21:37:44 +00:00
common meson: Add Soong compatibility compiler flags to Vulkan drivers 2026-05-22 07:09:49 +00:00
compiler anv, brw: Use previous shader VUE map for FS input layout when available 2026-05-23 05:17:37 +00:00
decoder meson: Add Soong compatibility compiler flags to Vulkan drivers 2026-05-22 07:09:49 +00:00
dev intel: switch shader hash to 64bit value 2026-05-22 15:05:30 +00:00
ds intel: switch shader hash to 64bit value 2026-05-22 15:05:30 +00:00
executor intel/executor: Add performance counter support 2026-05-21 16:46:35 -07:00
genxml anv, iris: fix MOCS Index setting of EXECUTE_INDIRECT_* commands 2026-05-19 22:41:53 +00:00
isl meson: Add Soong compatibility compiler flags to Vulkan drivers 2026-05-22 07:09:49 +00:00
mda meson: Add Soong compatibility compiler flags to Vulkan drivers 2026-05-22 07:09:49 +00:00
nullhw-layer build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
perf meson: Add Soong compatibility compiler flags to Vulkan drivers 2026-05-22 07:09:49 +00:00
shaders anv: add Gfx9 support VK_EXT_device_generated_commands 2026-05-06 09:49:52 +00:00
tools intel: define type for std::max in eu stall viewer 2026-05-13 20:57:29 +00:00
vulkan anv, brw: Use previous shader VUE map for FS input layout when available 2026-05-23 05:17:37 +00:00
vulkan_hasvk hasvk: add a driver section for drirc 2026-05-22 06:32:39 +00:00
meson.build brw: Move into a new src/intel/compiler/brw subdirectory 2025-10-09 07:01:47 +00:00