mesa/src
Iván Briano cb8a069e24 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>
(cherry picked from commit 5b48805b42)
2026-01-28 16:17:59 +01:00
..
amd aco: disable DPP for rev integer subs and shifts 2026-01-28 16:17:59 +01:00
android_stub android_stub: fix missing prototypes issues 2025-12-02 20:03:02 +00:00
asahi hk: Handle unbound sets that contain dynamic buffers 2026-01-28 16:17:57 +01:00
broadcom v3dv: improve barrier handling for secondary command buffers 2026-01-21 07:37:49 +00:00
c11 c11/threads: fix build on c23 2025-11-10 07:01:50 +10:00
compiler brw: fix local_invocation_index with quad derivaties on mesh/task shaders 2026-01-28 16:17:59 +01:00
drm-shim drm-shim: handle DRM_CAP_ADDFB2_MODIFIERS 2025-11-24 12:34:08 +00:00
egl egl/surfaceless,device: Support RGB[A]16_UNORM formats for pbuffers. 2026-01-21 12:29:03 +00:00
etnaviv etnaviv/ci: Add gitlab-ci-inc.yml to file list 2026-01-19 20:46:38 +00:00
freedreno tu: handle DS_DEPTH_BOUNDS_TEST_BOUNDS state under TU_DYNAMIC_STATE_RB_DEPTH_CNTL 2026-01-28 16:17:58 +01:00
gallium iris: Use the CLEAR state on Xe2+ for MCS 2026-01-28 16:17:59 +01:00
gbm gbm: Make documentation for gbm_bo_map more explicit 2025-12-29 10:05:38 +00:00
getopt
gfxstream gfxstream: Add VK_EXT_frame_boundary support 2026-01-20 20:27:10 +00:00
glx driconf: add a way to override GLX_CONTEXT_RESET_ISOLATION_BIT_ARB 2025-12-17 23:35:24 +00:00
gtest
imagination pvr: Temporarily disable the buffer device address extension 2026-01-28 16:17:58 +01:00
imgui imgui: Silence build warnings for imgui 2025-09-16 06:16:19 +00:00
intel brw: fix local_invocation_index with quad derivaties on mesh/task shaders 2026-01-28 16:17:59 +01:00
kosmickrisp nir/lower_blend: Move the format to nir_lower_blend_rt 2026-01-19 21:33:14 +00:00
loader loader: fix UB in wayland helper code. 2026-01-03 07:56:38 +00:00
mesa mesa: Require at least 512 variable invocations for ARB_compute_variable_group_size 2026-01-21 17:24:56 +00:00
microsoft vk: descriptors: sort bindings along with flags 2026-01-20 15:55:47 +00:00
nouveau nvk: Disable large pages for now 2026-01-28 16:17:59 +01:00
panfrost panvk: fix sparse image non-opaque binds 2026-01-28 16:17:59 +01:00
poly panvk/csf: implement VK_EXT_primitives_generated_query primitive restart 2026-01-21 09:03:34 +00:00
tool pps/meson: minor refactor for pps_deps 2025-11-08 18:39:00 -08:00
util radv: add a workaround for a synchronization bug in Strange Brigade Vulkan 2026-01-28 16:17:59 +01:00
virtio venus: refactor Android ANB tracking to avoid confusions with WSI 2026-01-28 16:17:58 +01:00
vulkan vulkan: Avoid NAN in the IR BVH 2026-01-28 16:17:59 +01:00
x11 treewide: strip unneeded inc_gallium inc_gallium_aux 2025-11-13 22:01:43 +00:00
.clang-format util: Add sparse bitset data structure 2025-11-06 21:34:33 +00:00
meson.build kk: Add KosmicKrisp 2025-10-20 17:46:38 +00:00