mesa/src/intel/compiler
Iván Briano 5b48805b42 brw: fix local_invocation_index with quad derivaties on mesh/task shaders
For mesh/task shaders, the thread payload provides a local invocation
index, but it's always linear so it doesn't give the correct value when
quad derivatives are in use.
The lowering pass where all of this is done correctly for compute
shaders assumes load_local_invocation_index will be lowered in the
backend for mesh/task, calculates the values for the quads correctly but
then avoid replacing the original intrinsic and we remain with the wrong
results.

Add an intel specific intrinsic and always lower the generic one to that
(or whatever else was calculated) to avoid ambiguities and fix the value
for quad derivatives.

Fixes future CTS tests using mesh/task shaders under:
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.*

Fixes: d89bfb1ff7 ("intel/brw: Reorganize lowering of LocalID/Index to handle Mesh/Task")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39276>
2026-01-27 22:28:19 +00:00
..
brw brw: fix local_invocation_index with quad derivaties on mesh/task shaders 2026-01-27 22:28:19 +00:00
elk intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
brw_device_sha1_gen_c.py intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
brw_list.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_gfx_ver_enum.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir.c intel/compiler: Use nir_split_conversions() 2025-04-07 17:45:21 -05:00
intel_nir.h brw: add support for separate tessellation shader compilation 2025-09-05 07:46:17 +00:00
intel_nir_blockify_uniform_loads.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_clamp_image_1d_2d_array_sizes.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_clamp_per_vertex_loads.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_lower_non_uniform_barycentric_at_sample.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_lower_non_uniform_resource_intel.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_lower_printf.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_lower_shading_rate_output.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_lower_sparse.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_opt_peephole_ffma.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_opt_peephole_imul32x16.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_nir_tcs_workarounds.c intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_prim.h intel/compiler: Use SPDX annotations 2026-01-24 20:37:31 +00:00
intel_shader_enums.h intel: Replace signed char with int8_t 2025-12-16 00:58:32 +00:00
meson.build brw: Move into a new src/intel/compiler/brw subdirectory 2025-10-09 07:01:47 +00:00