Commit graph

222138 commits

Author SHA1 Message Date
Rob Clark
f694b2ac6f tu: Fix preemption latency selector values
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
I suspect this was unnoticed because write_preempt_counters_to_iova()
would overwrite the selectors.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41315>
2026-05-06 21:37:16 +00:00
Rob Clark
b430ca522e freedreno/ds: Split a6xx/a7xx counters out
Split gen specific derived counter setup to it's own files.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41315>
2026-05-06 21:37:16 +00:00
Rob Clark
5ca8c2107e freedreno/ds: Use gpu timestamps
This will simplify things for PERFCNTR_CONFIG, where we will be getting
GPU timestamps along with the sampled counter values.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41315>
2026-05-06 21:37:16 +00:00
Rob Clark
e4b77237ac pps: Re-emit time clock_sync more regularly
1sec between clock snapshots is too much of a gap in time for perfetto
to reasonably interpolate between clock timelines.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41315>
2026-05-06 21:37:15 +00:00
Pavel Ondračka
0f75fa5bfd nir/tests: add partial unroll OOB tests
Assisted-by: OpenAI Codex (GPT-5.5)
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41203>
2026-05-06 20:08:13 +00:00
Pavel Ondračka
e517e3da0b nir/tests: add helpers for counting used/unused instructions
Assisted-by: OpenAI Codex (GPT-5.5)
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41203>
2026-05-06 20:08:12 +00:00
Pavel Ondračka
959f59b3f0 nir: fix partial loop unroll OOB check for loops not starting at 0
is_access_out_of_bounds() decides whether the residual loop (created
by partial_unroll) will access arrays out of bounds by checking whether
array_length is less than or equal to trip_count. That assumes the
induction variable starts at 0. For example glamor gradient shader
shader-db/shaders/glamor/4.shader_test:

   uniform float stops[18];
   for (i = 1; i < n_stop; i++)
      if (stop_len < stops[i]) break;

trip_count is guessed as 17 from the array indexing, so the residual
loop's index begins at 18, out of bounds for the 18-element array, yet
18 <= 17 is false, so the OOB removal is skipped and the residual loop
is not eliminated.

Correctly consider the start value for the OOB check. This lets glamor
gradient shaders with loops starting at i=1 unroll the same way as i=0
loops.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41203>
2026-05-06 20:08:12 +00:00
Louis Montagne
04055256ec meson: allow DRI on darwin to enable Zink + EGL builds
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Mesa already sets `with_dri_platform = 'apple'` when the host system is
darwin (line 412), but the gating on `with_dri` itself only enables DRI
when `system_has_kms_drm` is true (or for the kgsl/Zink combo). Darwin
has no KMS/DRM, so DRI ends up disabled and Zink targeting EGL surfaceless
cannot be built.

Extend the existing `kgsl + zink` exception to also cover darwin: enable
DRI on darwin only when zink is the gallium driver in use. This factors
the exception under the `with_gallium_zink` umbrella, which leaves the
old appledri X11 / GLX path completely untouched on darwin builds that
do not enable zink.

Validated on macOS 15.2 / Apple Silicon with Mesa 26.x targeting Zink
over the KosmicKrisp Vulkan ICD: OpenGL 4.6 surfaceless contexts work
end to end.

Suggested-by: QwertyChouskie
Signed-off-by: Louis Montagne <louis@askem.eu>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41359>
2026-05-06 19:18:08 +00:00
Yiwei Zhang
d15e1fd108 android_stub: sync Android 16 headers
Acked-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41373>
2026-05-06 18:40:02 +00:00
Yiwei Zhang
4193314295 android_stub: avoid vending in unused headers
Drop the redundant headers from libsystem and libnativewindow:
- include/android_stub/android/hdr_metadata.h
- include/android_stub/system/camera.h
- include/android_stub/system/radio.h
- include/android_stub/system/thread_defs.h

Acked-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41373>
2026-05-06 18:40:02 +00:00
Yiwei Zhang
9a01a5590a android_stub: fix libhardware source include path
Acked-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41373>
2026-05-06 18:40:02 +00:00
Yiwei Zhang
b9028f379b android_stub: fix update-android-headers.sh for libbacktrace
libbacktrace is gone in Android 14. If needed, one could add support for
libunwindstack going forward.

Acked-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41373>
2026-05-06 18:40:02 +00:00
Rhys Perry
02c1f657a0 radv: remove family from cache key
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: Rhys Perry <pendingchaos02@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/4182
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41340>
2026-05-06 17:41:32 +00:00
Rhys Perry
268dba8c48 radv: don't pass GPU name to disk_cache_create
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41340>
2026-05-06 17:41:32 +00:00
Rhys Perry
6e06012825 radv,ac: make rembrandt and vangogh cache compatible
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41340>
2026-05-06 17:41:31 +00:00
Rhys Perry
ec59b59b97 nir: rename nir_src_parent_instr to nir_src_use_instr
sed -i "s/nir_src_parent_instr/nir_src_use_instr/" `find ./ -type f`
sed -i "s/nir_src_parent_if/nir_src_use_if/" `find ./ -type f`
sed -i "s/nir_src_set_parent/nir_src_set_use/" `find ./ -type f`

There are two kinds of "parent" in relation to a src/def:
- the instruction where the def or src's def is defined
- the instruction which the src is a part of and where the def is used

Clarify that the parent here is where the src's def is used, not where
it's defined.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Acked-by: Ian Romanick <ian.d.romanick@intel.com>
Acked-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41344>
2026-05-06 17:09:22 +00:00
Samuel Pitoiset
e33489420c ci: uprev vkd3d
This contains more tests for the SMEM PRT workaround that we implemented
on RADV. VKCTS already has some coverage but it doesn't hurt to have
more.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41356>
2026-05-06 15:44:31 +00:00
Valentine Burley
fc4c44b09d ci/android: Remove CtsDeqpTestCases from Android CTS
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
CtsDeqpTestCases was originally added to run WSI tests on Android.
This is now covered by the command-line dEQP executable, which produces
comparable results and is much, much faster thanks to multithreading via
deqp-runner.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41314>
2026-05-06 15:51:28 +02:00
Valentine Burley
11720e1b58 venus/ci: Enable WSI testing on Android
We can now run dEQP-VK.wsi.android.* and more EGL tests with ANGLE in the
deqp-runner suite.

The regular VKCTS test set had to be reduced to fit within the time
limit.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41314>
2026-05-06 15:51:28 +02:00
Valentine Burley
99f4ec7255 turnip/ci: Enable WSI testing on Android
We can now run dEQP-VK.wsi.android.* and more EGL tests with ANGLE in the
deqp-runner suite.

The regular VKCTS test set had to be reduced to fit within the time
limit.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41314>
2026-05-06 15:51:28 +02:00
Valentine Burley
71800d456e lavapipe/ci: Enable WSI testing on Android
We can now run dEQP-VK.wsi.android.* and more EGL tests with ANGLE in the
deqp-runner suite.

This shows a Lavapipe bug.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41314>
2026-05-06 15:51:28 +02:00
Valentine Burley
06816dbdbc ci/deqp: Add Android WSI support
This is implement with a headless WSI fallback using AImageReader, which
allows running EGL and Vulkan WSI tests from the command-line executable
(DEQP_ANDROID_EXE) on Android.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41314>
2026-05-06 15:51:27 +02:00
Valentine Burley
1eb9eed8ea ci/android: Update Cuttlefish build
- gralloc0: fix the FRONT_RENDERING_BIT private query in minigbm
  - Fixes enabling VK_KHR_shared_presentable_image
- Update Mesa to latest main, 117f3cb1fc ("gfxstream: allow
  VK_KHR_maintenance extensions")
  - Fixes a Turnip crash before the driver is replaced in the CI pipeline

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41314>
2026-05-06 15:50:50 +02:00
Valentine Burley
d7c3362752 ci/android: Fix intermittent adb root failures
The combined $ADB wait-for-device root command can be flaky with
Cuttlefish, sometimes failing with:
"adb: unable to connect for root: closed"

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41314>
2026-05-06 15:50:50 +02:00
Valentine Burley
f34c18cb4f ci/android: Remove SurfaceFlinger wait in get_surfaceflinger_pid
The dumpsys check doesn't seem necessary and avoids infinite loops.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41314>
2026-05-06 15:50:49 +02:00
Jon Turney
2b9e491b67 ddebug: Fix use of alloca() without #include "c99_alloca.h"
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes: 6fe6c18c12 ("util: add/use new os_mkdir() function")
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41389>
2026-05-06 13:08:05 +01:00
Lionel Landwerlin
0d39d4e99e anv: expose VK_KHR_maintenance11
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>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41334>
2026-05-06 11:21:28 +00:00
Samuel Pitoiset
8a1c9a614f vulkan: stop forcing independent sets for shader object
VK_KHR_maintenance11 added a new flag for ESO, forcing it shouldn't
be required anymore.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41377>
2026-05-06 10:43:56 +00:00
Samuel Pitoiset
9764225ff1 vulkan: replace VK_SHADER_CREATE_INDEPENDENT_SETS_BIT_MESA with the maint11 flag
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41377>
2026-05-06 10:43:56 +00:00
Christian Gmeiner
567a65bbbf etnaviv: Use shader R/B swap for LINEAR_PE shared resources
On LINEAR_PE GPUs, shared linear resources are render-compatible so
no render shadow exists - the PE renders directly into the shared
buffer. Rather than adding a dedicated flush-time blit to swap R/B
(which would introduce bandwidth that doesn't exist today), use the
frag_rb_swap shader key to swap channels at render time.

In etna_draw_vbo, detect LINEAR_PE + shared + linear + RB_SWAP format
and set the per-RT frag_rb_swap bits. Track shared_native_order so
etna_flush_resource can skip the dedicated blit when the shader
already produced correct byte order.

Fixes: a5766e75e48 ("etnaviv: Use BGRA-internal texture format with BLT/RS R/B swizzle")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40029>
2026-05-06 10:26:58 +00:00
Christian Gmeiner
99bf43dd08 etnaviv: Add per-RT frag_rb_swap shader key and NIR lowering
Add a per-RT bitmask to the shader key that triggers R/B channel
swapping in the fragment shader output. Handles scalar through vec4
outputs by widening to vec4 first, then swapping channels 0 and 2
with adjusted writemask.

Preparation for LINEAR_PE GPUs where shared linear resources have no
render shadow, so the shader must produce correct byte order directly.

No functional change - nothing sets frag_rb_swap yet.

Fixes: a5766e75e48 ("etnaviv: Use BGRA-internal texture format with BLT/RS R/B swizzle")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40029>
2026-05-06 10:26:58 +00:00
Christian Gmeiner
cfa8deaad9 etnaviv: Select texture format dynamically for shared RB_SWAP resources
The previous patches statically remapped the texture format at sampler
view creation time (A8R8G8B8 -> A8B8G8R8) for shared resources with
RB_SWAP formats. This is correct when the shared buffer holds
externally-produced RGBA data (import) or after flush_resource has done
the R<->B swap.

However, if the PE renders directly to a shared buffer (LINEAR_PE, no
render shadow), the data becomes BGRA. The static A8B8G8R8 format then
reads BGRA as RGBA - R and B are swapped.

Fix this by tracking whether the shared buffer holds native (RGBA) or
PE-internal (BGRA) byte order via a new shared_native_order flag, and
selecting the texture format dynamically at emit time.

The flag is set to true on import and export (data is native byte order
at that point), cleared when the PE renders directly to a shared buffer
without a render shadow, and set back to true after flush_resource
performs the R<->B swap.

Both the state-based and descriptor-based texture paths pre-compute the
native format variant at sampler view creation time, avoiding any
per-frame overhead beyond a single branch in the emit path.

Fixes: a5766e75e48 ("etnaviv: Use BGRA-internal texture format with BLT/RS R/B swizzle")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40029>
2026-05-06 10:26:58 +00:00
Christian Gmeiner
4172e9a918 etnaviv: Convert PE-internal BGRA to RGBA when flushing shared resources
The PE renders RB_SWAP formats (e.g. R8G8B8A8_UNORM) using the A8R8G8B8
hardware format, which stores data in BGRA byte order internally. For
shared/dmabuf resources, external consumers expect the byte order
mandated by the DRM FourCC.

Hook into flush_resource to apply an R<->B swap during the existing
shadow-to-base copy, using the BLT dest swizzle or RS SWAP_RB.

Fixes: a5766e75e48 ("etnaviv: Use BGRA-internal texture format with BLT/RS R/B swizzle")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40029>
2026-05-06 10:26:58 +00:00
Christian Gmeiner
377f2ec49c etnaviv: Bypass BGRA-internal optimization for shared resources
The rb-swap rework (commit a5766e75e48) uses A8R8G8B8 as the texture
format for RB_SWAP pipe formats and performs R<->B conversion during
transfer blits. This breaks dmabuf import/export: external producers
write RGBA bytes, but A8R8G8B8 interprets them as BGRA; transfer blits
incorrectly swap R<->B on data already in the correct byte order.

For shared/imported resources, bypass the optimization: use the native
texture format (A8B8G8R8) so the sampler reads RGBA bytes correctly in
both the descriptor and state-based texture paths, skip the R<->B
swizzle in BLT and RS transfer blits since shared resources already
store data in standard byte order, and re-enable the texture shadow
shortcut for shared RB_SWAP resources since the BLT swap is no longer
applied.

Internal-only resources continue using the BGRA-internal optimization
unchanged.

Fixes: a5766e75e48 ("etnaviv: Use BGRA-internal texture format with BLT/RS R/B swizzle")
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40029>
2026-05-06 10:26:57 +00:00
Lionel Landwerlin
fee5106b53 anv: add Gfx9 support VK_EXT_device_generated_commands
This platform just needs a bit more care around vertex buffer state
emission.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:52 +00:00
Lionel Landwerlin
afabf6e350 anv: add a device generated command debug option
It prints out the constant of the generated commands.

$ ANV_DEBUG=dgc-dump ./deqp-vk -n dEQP-VK.dgc.ext.compute.smoke.4_sequences_device_local_from_host_preprocess_state_same_universal_queue

Test case 'dEQP-VK.dgc.ext.compute.smoke.4_sequences_device_local_from_host_preprocess_state_same_universal_queue'..
call from 0xffffeffeffe04694
0x0000000400000000: MI_STORE_DATA_IMM
   0x10000403 0x00000178 0x00000004 0xffe047b8 0xffffeffe
0x0000000400000014: MI_BATCH_BUFFER_START
   0x18800101 0x00000020 0x00000004
0x0000000400000020: MI_ARB_CHECK
   0x02800100
0x0000000400000024: MEDIA_CURBE_LOAD
   0x70010002 0x00000000 0x00000020 0x40000180
0x0000000400000034: GPGPU_WALKER
   0x7105000d 0x00000000 0x00000000 0x00000000 0x40000003 0x00000000 0x00000000 0x00000001
   0x00000000 0x00000000 0x0000004c 0x00000000 0x00000001 0x0000ffff 0xffffffff
0x0000000400000070: MEDIA_STATE_FLUSH
   0x70040000 0x00000000
0x0000000400000078: MEDIA_CURBE_LOAD
   0x70010002 0x00000000 0x00000020 0x40001400
0x0000000400000088: GPGPU_WALKER
   0x7105000d 0x00000000 0x00000000 0x00000000 0x40000003 0x00000000 0x00000000 0x00000017
   0x00000000 0x00000000 0x00000001 0x00000000 0x00000001 0x0000ffff 0xffffffff
0x00000004000000c4: MEDIA_STATE_FLUSH
   0x70040000 0x00000000
0x00000004000000cc: MEDIA_CURBE_LOAD
   0x70010002 0x00000000 0x00000020 0x40002680
0x00000004000000dc: GPGPU_WALKER
   0x7105000d 0x00000000 0x00000000 0x00000000 0x40000003 0x00000000 0x00000000 0x00000001
   0x00000000 0x00000000 0x00000001 0x00000000 0x000000d5 0x0000ffff 0xffffffff
0x0000000400000118: MEDIA_STATE_FLUSH
   0x70040000 0x00000000
0x0000000400000120: MEDIA_CURBE_LOAD
   0x70010002 0x00000000 0x00000020 0x40003900
0x0000000400000130: GPGPU_WALKER
   0x7105000d 0x00000000 0x00000000 0x00000000 0x40000003 0x00000000 0x00000000 0x00000001
   0x00000000 0x00000000 0x000000dc 0x00000000 0x00000001 0x0000ffff 0xffffffff
  Pass (Pass)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:52 +00:00
Lionel Landwerlin
50aee34651 anv: expose VK_EXT_device_generated_commands by default on Gfx12.5+
Prior generations are kept under experimental until we implement a
more memory efficient preprocess buffer solution.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14890
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/12380
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:51 +00:00
Lionel Landwerlin
e69062f8c9 anv: track generated commands work with perfetto
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:50 +00:00
Lionel Landwerlin
badcfc164d anv: handle preprocess buffer creation on <= Gfx12.0
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:48 +00:00
Lionel Landwerlin
d1ef313466 anv: add barrier flags handling for preprocess buffers
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:48 +00:00
Lionel Landwerlin
71732d79ac anv: implement generated preprocess & execute
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:48 +00:00
Lionel Landwerlin
80bb2ddb77 anv: handle descriptor binding with DGC
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:47 +00:00
Lionel Landwerlin
08c5e2854a anv: enable generation shader calls
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:47 +00:00
Lionel Landwerlin
5c3deebd6f anv: allow simple shader spilling for complex ones
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:46 +00:00
Lionel Landwerlin
068351f848 anv: add unspecified internal kernel send count support
Some kernel will be to large and potentially change too often to
really have a consistent count.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:46 +00:00
Lionel Landwerlin
fb26ed6bf7 anv: add indirect command layout support
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:45 +00:00
Lionel Landwerlin
68885511d2 anv: add support for indirect execution set
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:45 +00:00
Lionel Landwerlin
c6dc2df9e5 vulkan: add pipeline helper to retrieve scratch-size/ray-queries
Signed-off-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/31384>
2026-05-06 09:49:45 +00:00
Lionel Landwerlin
35b0d3569e anv: program relative push set offset for descriptor buffers device bindable shaders
Up to now all push descriptor accesses where going through the binding
table. That's not going to be the case anymore with descriptor buffers
device bindable shaders. Those will do A64 messages to read the
descriptor buffer (for example when build a bounded 64bit address for
storage buffers, or 64bit image format atomic emulation, etc...)

We need to have the offset relative to the push descriptor heap
(internal_state_heap in this case).

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:45 +00:00
Lionel Landwerlin
4960e103ef anv: add a helper to flush the descriptors for indirect compute execution
When we don't know what shader is executed. We'll still have the bind
map from the indirect execution set.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31384>
2026-05-06 09:49:44 +00:00