Commit graph

220713 commits

Author SHA1 Message Date
Dhruv Mark Collins
3433a90071 util/rand_xor: Add extern C for C++ compatibility
Signed-off-by: Dhruv Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37802>
2026-04-06 14:19:29 +00:00
Danylo Piliaiev
44564b966d tu/autotune: Improve RP hash
Makes RP hash more unique by using attachment IOVAs and considering
multiple instances of the same RP within a CB.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37802>
2026-04-06 14:19:29 +00:00
Dhruv Mark Collins
40ffc052af tu: Rewrite autotune in C++
Completely overhauls the autotuner in C++ with the functionality
being extended as well.

Signed-off-by: Dhruv Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37802>
2026-04-06 14:19:29 +00:00
Dhruv Mark Collins
bd88997c0a tu: Move tu_autotune_end_renderpass as late as possible
The tu_autotune_end_renderpass function collects timestamp data for
the renderpass and should be called as late as possible for the most
complete data.

Signed-off-by: Dhruv Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37802>
2026-04-06 14:19:29 +00:00
Dhruv Mark Collins
4897b6d606 tu: Increase clang-format ColumnLimit to 120
The existing column limit led to readability being affected due to
excessive line wrapping, especially in C++ code.

Signed-off-by: Dhruv Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37802>
2026-04-06 14:19:28 +00:00
Natalie Vock
5b76c1dd0c radv/rt: Don't combine config of unreachable shaders
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
These can pessimize register estimation for no good reason.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40455>
2026-04-06 11:32:47 +00:00
Natalie Vock
c1a7680d93 radv/rt: Don't enable midpoint sorting
Midpoint sorting is incompatible with how our traversal works.
Specifically, we change tMax when a hit is committed so we can skip over
BVH nodes that are guaranteed not to produce a closer hit. However,
changing tMax also changes the intersection interval of box nodes with
the ray, and thus, the midpoints of that interval. Stackless traversal
relies on getting nodes back in the exact same order as before, and if
that requirement is not met, traversal may incorrectly skip over nodes.

The likely benefit of midpoint sorting does not make up for the loss of
ability to skip over BVH nodes exceeding tMax, so simply disable
midpoint sorting.

This fixes geometry being visible behind other geometry when it
shouldn't be in various applications, including Half-Life 2 RTX.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40795>
2026-04-06 11:03:04 +00:00
Juan A. Suarez Romero
1be54acdee broadcom/cle: parse once the XML spec
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Instead of loading and parsing the XML spec everytime a CLIF is created,
do it once and cache for further calls.

This also avoids leaking the spec loading.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40747>
2026-04-06 09:17:15 +00:00
Juan A. Suarez Romero
d4646cd444 broadcom: use Mesa logging functions
Replace printf and nir_print_shaders by proper mesa_logX and
nir_log_shaderX functions, that provides better features (like logging
to a file, setting the logging verbosity, etc) and works better with
Android.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40434>
2026-04-06 07:40:55 +00:00
Juan A. Suarez Romero
1e82e72039 broadcom/compiler: make some dump functions return strings instead of printf
This will give better flexibility on how and where the dumps will be
done.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40434>
2026-04-06 07:40:55 +00:00
Juan A. Suarez Romero
d22ab89805 vc4: use Mesa logging functions
Replace printf and nir_print_shaders by proper mesa_logX and
nir_log_shaderX functions, that provides better features (like logging
to a file, setting the logging verbosity, etc) and works better with
Android.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40434>
2026-04-06 07:40:54 +00:00
Juan A. Suarez Romero
260e051187 vc4: make some dump functions return strings instead of printf
This will give better flexibility on how and where the dumps will be
done.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40434>
2026-04-06 07:40:54 +00:00
Juan A. Suarez Romero
4172100617 vc4: add dot on static QPU unpack strings
So all the fprintf() follow the same pattern.

Signed-off-by: Juan A. Suarez Romero <jasuarez@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40434>
2026-04-06 07:40:53 +00:00
Mauro Rossi
e34fa5951d radv: Fix gnu-empty-initializer error in radv_shader_object.c
Some checks failed
macOS-CI / macOS-CI (dri) (push) Has been cancelled
macOS-CI / macOS-CI (xlib) (push) Has been cancelled
Fixes the following building error happening with clang:

FAILED: src/amd/vulkan/libvulkan_radeon.so.p/radv_shader_object.c.o
...
../src/amd/vulkan/radv_shader_object.c:163:72: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
      struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {};
                                                                       ^
../src/amd/vulkan/radv_shader_object.c:164:53: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
      struct radv_shader_debug_info gs_copy_debug = {};
                                                    ^
../src/amd/vulkan/radv_shader_object.c:192:75: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
         struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {};
                                                                          ^
../src/amd/vulkan/radv_shader_object.c:193:56: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
         struct radv_shader_debug_info gs_copy_debug = {};
                                                       ^
../src/amd/vulkan/radv_shader_object.c:246:43: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   struct radv_shader_debug_info cs_dbg = {};
                                          ^
../src/amd/vulkan/radv_shader_object.c:465:69: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {};
                                                                    ^
../src/amd/vulkan/radv_shader_object.c:468:50: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   struct radv_shader_debug_info gs_copy_debug = {};
                                                 ^
7 errors generated.

Fixes: 06b9660b ("radv: move radv_shader_create out of radv_compute_pipeline_compile")
Fixes: 2260105b ("radv: move radv_shader_create out of radv_graphics_shaders_compile")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40772>
2026-04-04 19:33:33 +00:00
Mauro Rossi
f7698f2b4a radv: Fix gnu-empty-initializer error in radv_pipeline_compute.c
Fixes the following building error happening with clang:

FAILED: src/amd/vulkan/libvulkan_radeon.so.p/radv_pipeline_compute.c.o
...
../src/amd/vulkan/radv_pipeline_compute.c:213:43: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   struct radv_shader_debug_info cs_dbg = {};
                                          ^
1 error generated.

Fixes: 06b9660b ("radv: move radv_shader_create out of radv_compute_pipeline_compile")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40772>
2026-04-04 19:33:33 +00:00
Mauro Rossi
8fed67c1fe radv: Fix gnu-empty-initializer error in radv_pipeline_rt.c
Fixes the following building error happening with clang:

FAILED: src/amd/vulkan/libvulkan_radeon.so.p/radv_pipeline_rt.c.o
...
../src/amd/vulkan/radv_pipeline_rt.c:537:42: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   struct radv_shader_debug_info debug = {};
                                         ^
1 error generated.

Fixes: 4c3a74be ("radv: move radv_shader_create out of radv_rt_nir_to_asm")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40772>
2026-04-04 19:33:33 +00:00
Mauro Rossi
f63e83676d radv: Fix gnu-empty-initializer error in radv_pipeline_graphics.c
Fixes the following building error happening with clang:

FAILED: src/amd/vulkan/libvulkan_radeon.so.p/radv_pipeline_graphics.c.o
...
../src/amd/vulkan/radv_pipeline_graphics.c:3199:69: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   struct radv_shader_debug_info debug[MESA_VULKAN_SHADER_STAGES] = {};
                                                                    ^
../src/amd/vulkan/radv_pipeline_graphics.c:3200:50: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   struct radv_shader_debug_info gs_copy_debug = {};
                                                 ^
2 errors generated.

Fixes: 2260105b ("radv: move radv_shader_create out of radv_graphics_shaders_compile")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40772>
2026-04-04 19:33:33 +00:00
Mauro Rossi
1f6f978323 vulkan/runtime: Fix gnu-empty-initializer error in vk_shader.c
Fixes the following building error happening with clang:

FAILED: src/vulkan/runtime/libvulkan_runtime.a.p/vk_shader.c.o
...
../src/vulkan/runtime/vk_shader.c:622:63: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
            struct vk_sampler_state_array embedded_samplers = {};
                                                              ^
1 error generated.

Fixes: e8558de1 ("vulkan/shader: Call vk_nir_lower_descriptor_heaps()")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40772>
2026-04-04 19:33:33 +00:00
Job Noorman
cc6eec79c2 nir/opt_uniform_subgroup: fix ballot_bit_count components
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
ballot_bit_count_reduce expects the ballot to have 4 components causing
validation failures on targets where 1 < ballot_components < 4. Fix this
by padding the ballot to 4 components.

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: ae66bd1c00 ("nir/opt_uniform_subgroup: use ballot_bit_count")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40792>
2026-04-04 17:48:34 +00:00
Karol Herbst
02679a51fd radeonsi: set valid_buffer_range for CL buffers
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Seems like we never set the range for CL buffers which caused spurious
test fails in the CL CTS.

Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40683>
2026-04-04 14:54:40 +00:00
Georg Lehmann
8730c039bf nir/opt_algebraic: move some lower_lerp patterns
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
If we rely on the pattern order here, we don't need to duplicate per bit size.

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40730>
2026-04-04 10:44:09 +00:00
Georg Lehmann
f192fe99eb nir/opt_algebraic: update open coded flerp(..., b2f(c)) to bcsel patterns
We remove 1.0 - b2f(a) since 6a662a59b7.

Foz-DB Navi48:
Totals from 200 (0.10% of 205032) affected shaders:

Instrs: 410309 -> 409750 (-0.14%); split: -0.18%, +0.05%
CodeSize: 2140424 -> 2136956 (-0.16%); split: -0.21%, +0.05%
Latency: 5834394 -> 5834042 (-0.01%); split: -0.02%, +0.01%
InvThroughput: 906879 -> 906374 (-0.06%); split: -0.06%, +0.01%
VClause: 8247 -> 8244 (-0.04%)
SClause: 7721 -> 7723 (+0.03%); split: -0.03%, +0.05%
Copies: 20515 -> 20487 (-0.14%); split: -0.29%, +0.16%
PreVGPRs: 14510 -> 14481 (-0.20%)
VALU: 228703 -> 228235 (-0.20%); split: -0.28%, +0.07%
SALU: 62832 -> 62914 (+0.13%); split: -0.18%, +0.31%
VOPD: 929 -> 927 (-0.22%)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40730>
2026-04-04 10:44:09 +00:00
Georg Lehmann
fc19ce6c17 nir/opt_load_skip_helpers: don't skip helpers for store_scratch data
Scratch stores store data for helper lanes that might be used later by an
instruction that cares about helpers, or even by control flow.

Fixes: a65009e808 ("nir: Add a nir_opt_tex_skip_helpers optimization")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14965
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40770>
2026-04-04 09:41:00 +00:00
Vinson Lee
7f07783569 llvmpipe: fix build on macOS due to st_mtim
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
macOS struct stat uses st_mtimespec instead of st_mtim. Use
st_mtimespec on Apple platforms to get nanosecond file modification
time.

Fixes: e68a0dfb12 ("llvmpipe: Implement manual context resets")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40791>
2026-04-03 22:17:12 -07:00
Lionel Landwerlin
21952ffb07 anv: don't relocate memory from blob
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This could override data allocated by the application when shader code
is loaded from binary in vkCreateShaderObjectEXT().

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: d39e443ef8 ("anv: add infrastructure for common vk_pipeline")
Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40727>
2026-04-03 20:01:49 +00:00
Silvio Vilerino
283f07f13e mediafoundation: Use WaitForMultipleObjects for AUTO slices wait in sliced encode mode
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40764>
2026-04-03 17:24:25 +00:00
Silvio Vilerino
9246c66c61 d3d12: Implement pipe_screen::fence_get_win32_event
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40764>
2026-04-03 17:24:25 +00:00
Silvio Vilerino
47ac871e84 pipe: Add fence_get_win32_event since fence_get_fd return int type is smaller than HANDLE/void*
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40764>
2026-04-03 17:24:25 +00:00
Samuel Pitoiset
eff4c00112 vulkan: update spec to 1.4.348
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40774>
2026-04-03 16:03:02 +00:00
Robert Mader
e68a0dfb12 llvmpipe: Implement manual context resets
Make it possible to trigger a emulated GPU reset by creating a file at
the path of the `LP_CONTEXT_RESET_FILE` env var. All llvmpipe contexts
using the `LOSE_CONTEXT_ON_RESET` strategy that where created before
the that file will start returning `PIPE_UNKNOWN_CONTEXT_RESET` in
`get_device_reset_status()`, while newer contexts - most notably those
created by apps in reaction to the device reset - continue to return
`PIPE_NO_RESET`.

Note that, because we're dealing with files, rtime is used instead of
mtime as the later

Usage:
```
LP_CONTEXT_RESET_FILE=~/llvmpipe_reset LIBGL_ALWAYS_SOFTWARE=1
someapp
touch ~/llvmpipe_reset
```

Signed-off-by: Robert Mader <robert.mader@collabora.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40681>
2026-04-03 15:40:50 +00:00
Lionel Landwerlin
c32015da05 anv: bump MAX_SETS to 32
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/7684
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14677
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40744>
2026-04-03 15:12:05 +00:00
Lionel Landwerlin
e8c2491664 anv: use arrays instead of vectors for descriptor set mapping
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40744>
2026-04-03 15:12:05 +00:00
Aitor Camacho
24b14fd095 kk: Clean up gfx state flushing
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40763>
2026-04-03 14:54:14 +00:00
Aitor Camacho
fa240cec0b kk: Rework command buffers' graphics shader state tracking
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40763>
2026-04-03 14:54:14 +00:00
Aitor Camacho
2952ae2861 kk: Rework command buffers' compute shader state tracking
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40763>
2026-04-03 14:54:14 +00:00
Valentine Burley
8444723c6a pan/ci: Document recent flakes and timeouts
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
These have blocked Marge multiple times recently.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Acked-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40779>
2026-04-03 14:25:39 +00:00
Eric Engestrom
aa2d16c80a docs: add sha sum for 26.0.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40780>
2026-04-03 14:18:06 +00:00
Eric Engestrom
902f016612 docs: add release notes for 26.0.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40780>
2026-04-03 14:18:06 +00:00
Eric Engestrom
c4bd563e6e docs: update calendar for 26.0.4
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40780>
2026-04-03 14:18:06 +00:00
Arkady Shlykov
b1d379eeba anv: Add control over divergent atomics fusion opt via driconf
anv_enable_opt_divergent_atomics dricong option supported values:
   1 - fuse buffer divergent atomics
   2 - fuse image divergent atomics

Enabled for titles:
   Total War: WARHAMMER III
   The Elder Scrolls IV: Oblivion Remastered
   Call of Duty: Black Ops III

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40631>
2026-04-03 12:17:01 +00:00
Arkady Shlykov
7f7ba20cca brw: Implement divergent atomics fusion optimization (single message approach)
For an atomic with a divergent addr generates a CFG grouping the same addrs
values together and emits a single atomic with fused data covering
the subgroup. Lanes with other addr values perform a default atomic.

Co-authored-by: Jhanani Thiagarajan <jhanani.thiagarajan@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40631>
2026-04-03 12:17:01 +00:00
Lionel Landwerlin
fab6f84126 brw: make the program key available on pass_tracker
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40631>
2026-04-03 12:17:01 +00:00
Valentine Burley
d15ba8d14a turnip/ci: Add Android job with ANGLE on a618
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This is a Cuttlefish-based Android job running with DRM native context,
using Turnip and ANGLE.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
57d55f8c09 ci/android: Update Cuttlefish build
The new version updates the default Mesa version to 26.1.0-devel.
This is used for booting the VM, after which point the drivers are
replaced by the ones built in the Mesa CI pipeline.

Fixes GPU faults with ANGLE on Turnip.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
1b8018389b ci/android: Enable virtio freedreno KMD support
Enable the virtio freedreno kernel mode driver in the debian-android
build. This will be used by Cuttlefish virtual machines.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
d4cd93854a ci/android: Refactor replacing Vulkan drivers
Setting the VK_DRIVER variable for lavapipe jobs simplifies the driver
replacement logic while keeping all existing paths working.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
9548bf86f4 ci/android: Add 5-minute timeout to Cuttlefish launch
Cuttlefish usually boots within 2-3 minutes, and this ensures logs are
saved if the boot process hangs or fails.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Valentine Burley
338a96f0a0 venus/ci: Move android-angle-venus-tu-a618 to sc7180-trogdor-kingoftown
Huge thanks to Laura and Doug for updating the EC and AP firmware, and
for switching the network adapter across all trogdor Chromebooks,
enabling them to boot Cuttlefish.

Also limit the concurrency to 6 for now.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40010>
2026-04-03 09:25:14 +00:00
Lionel Landwerlin
30fda4488f nir: divergence analysis support for image_heap_load_param_intel
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 22b16d54ab ("nir: add heap variant of load_param_intel")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40777>
2026-04-03 07:49:24 +00:00
Job Noorman
893d3caf7b tu: use nir_opt_varyings_bulk for linking
Replace the use of nir_link_opt_varyings/nir_compact_varyings for
linking with the new nir_opt_varyings linker using the
nir_opt_varyings_bulk helper.

This moves all the NIR lowering up to nir_lower_io (tu_lower_nir) to the
pre-linking stage since nir_opt_varyings expects lowered IO.

Totals from 38233 (21.69% of 176258) affected shaders:
MaxWaves: 522636 -> 522578 (-0.01%); split: +0.14%, -0.15%
Instrs: 15111014 -> 15062812 (-0.32%); split: -0.71%, +0.39%
CodeSize: 31555448 -> 31530676 (-0.08%); split: -0.70%, +0.62%
NOPs: 2605163 -> 2582030 (-0.89%); split: -2.38%, +1.49%
MOVs: 519056 -> 511167 (-1.52%); split: -4.88%, +3.36%
COVs: 244091 -> 243317 (-0.32%); split: -0.55%, +0.23%
Full: 463796 -> 463307 (-0.11%); split: -0.47%, +0.36%
(ss): 390558 -> 386374 (-1.07%); split: -3.07%, +2.00%
(sy): 180298 -> 179347 (-0.53%); split: -1.55%, +1.02%
(ss)-stall: 1485337 -> 1473362 (-0.81%); split: -3.92%, +3.11%
(sy)-stall: 5441818 -> 5375690 (-1.22%); split: -2.99%, +1.78%
Preamble Instrs: 3707325 -> 3724339 (+0.46%); split: -0.38%, +0.84%
Early Preamble: 29397 -> 29392 (-0.02%); split: +0.10%, -0.12%
Cat0: 2883908 -> 2860585 (-0.81%); split: -2.16%, +1.35%
Cat1: 765447 -> 757066 (-1.09%); split: -3.46%, +2.36%
Cat2: 5664380 -> 5663562 (-0.01%); split: -0.51%, +0.49%
Cat3: 4393358 -> 4386474 (-0.16%); split: -0.27%, +0.12%
Cat4: 443624 -> 443546 (-0.02%); split: -0.03%, +0.01%
Cat5: 427389 -> 427239 (-0.04%); split: -0.27%, +0.24%
Cat6: 173632 -> 164362 (-5.34%); split: -5.36%, +0.02%
Cat7: 359276 -> 359978 (+0.20%); split: -1.33%, +1.53%

Signed-off-by: Job Noorman <jnoorman@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40651>
2026-04-03 08:18:08 +02:00