Commit graph

223998 commits

Author SHA1 Message Date
Caio Oliveira
0aff5e006c jay: Handle dpas_intel intrinsic
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41913>
2026-06-09 17:33:23 +00:00
Caio Oliveira
0f309dbfe5 jay: Add helpers for managing unordered instructions
In addition to the general predicates, add wrappers to set
and get the SBID, since they are in the extra struct of
each instruction.  This is a preparation for adding DPAS.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41913>
2026-06-09 17:33:23 +00:00
Sid Pranjale
f6dd632b31 v3dv: drop legacy CPU queue fallback paths
We now require kernel side CPU queue support (introduced via
DRM_V3D_PARAM_SUPPORTS_CPU_QUEUE). If the underlying kernel lacks
this support i.e. is older than kernel 6.8, physical device
initialization will now fail.

With this requirement guaranteed, we can remove the userspace
fallback paths that manually managed and stalled on indirect
CSD dispatches and query resets.

Reviewed-by: Maíra Canal <mcanal@igalia.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42087>
2026-06-09 16:53:48 +00:00
Maíra Canal
37ef45a8c0 v3dv: Drop legacy comments about single-sync support
After commit 16c96b0e93 ("v3dv: drop single sync kernel interface"), we
no longer use V3DV_QUEUE_ANY. Therefore, drop it and also remove the
legacy comments about single-sync support.

Signed-off-by: Maíra Canal <mcanal@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42119>
2026-06-09 16:34:47 +00:00
Samuel Pitoiset
156752feb5 radv/ci: skip all WSI tests on GFX1201
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
They cause random kernel NULL pointer dereferences. Seems pretty
recent but skipping them is definitely more reliable.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42123>
2026-06-09 16:06:31 +00:00
Lakshman Chandu Kondreddy
0752d8b08d zink: Set can_do_invalid_linear_modifier workaround for QCOM blob driver
As QCOM blob driver handles invalid <-> linear modifier conversion,
set can_do_invalid_linear_modifier workaround to true.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42116>
2026-06-09 15:40:15 +00:00
Tapani Pälli
93476c6299 anv: fix a null pointer access with isl_mod_info
It is possible for isl_mod_info to be NULL if no drm modifier was
given, layout transition on external queue can hit this condition.

Fixes: 11f8f333e2 ("anv: set a private binding when the image is not externally shared")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42015>
2026-06-09 15:20:02 +00:00
Calder Young
864bee8d49 nir: Do not mask helper lanes of writes if ACCESS_INCLUDE_HELPERS is set
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes: 586da7b ("nir: Add nir_lower_helper_writes pass")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42031>
2026-06-09 12:57:04 +00:00
Alyssa Rosenzweig
09df2ee2ba nir/opt_sink: sink more Intel block instructions
Results on my jay branch

SIMD16:
   Totals from 1456 (55.01% of 2647) affected shaders:
   Instrs: 2119110 -> 2116320 (-0.13%); split: -0.23%, +0.10%
   CodeSize: 29561972 -> 29460340 (-0.34%); split: -0.47%, +0.13%

SIMD32:
   Totals from 1462 (55.23% of 2647) affected shaders:
   Instrs: 2421472 -> 2422930 (+0.06%); split: -0.20%, +0.26%
   CodeSize: 34434240 -> 34415840 (-0.05%); split: -0.33%, +0.28%
   Number of fill instructions: 29830 -> 29829 (-0.00%); split: -0.01%, +0.00%

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42102>
2026-06-09 12:16:57 +00:00
Sagar Ghuge
3da4653d46 jay: Implement halt
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Halt needs to be always in pair. First halt issued will mask off active
channels and second one will basically re-enable those masked off
channels.

Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42067>
2026-06-09 11:47:33 +00:00
Samuel Pitoiset
36f3175187 radv/amdgpu: defer allocating the NULL PRT BO
To avoid wasting VRAM when emulated sparse residency isn't used.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41883>
2026-06-09 11:13:35 +00:00
Samuel Pitoiset
887a390ec0 radv: advertise VK_KHR_shader_abort
Without VK_KHR_device_fault there is no way to get back the abort
messages.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40723>
2026-06-09 10:33:12 +00:00
Samuel Pitoiset
982f9312bd radv: implement VK_KHR_shader_abort
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40723>
2026-06-09 10:33:11 +00:00
Samuel Pitoiset
6fe7fdb100 aco: emit nir_jump_halt
To halt execution by setting FATAL_HALT.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40723>
2026-06-09 10:33:11 +00:00
squidbus
371ed09659 kk: Work around crash with multiple concurrent MTL4Compiler
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Using multiple `MTL4Compiler` instances concurrently may result in
the process crashing from within the Metal driver. Work around this
by maintaining one `MTL4Compiler` per `MTLDevice`.

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41842>
2026-06-09 02:47:38 -07:00
squidbus
6a25e3a0b0 kk: Migrate to Metal 4 pipelines
Enables using new features that are only available with Metal 4 pipelines,
and fixes Metal validation errors from depth/stencil format mismatches
between pipeline and render pass attachments due to differences in strictness
between Metal and Vulkan.

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41842>
2026-06-09 02:47:31 -07:00
squidbus
9cbda0fd60 kk: Enable shaderTessellationAndGeometryPointSize
Supported with the proper hardware vertex stage lowering.

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42020>
2026-06-09 09:07:03 +00:00
squidbus
9b587e5ff1 kk: Ensure some vertex lowerings happen on hardware stage
Lowerings like ensuring correct point size outputs, vertex position
output, and clip space control are expected to happen on the shader
stage which becomes the vertex stage on the actual hardware.

Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42020>
2026-06-09 09:07:03 +00:00
Ganesh Belgur Ramachandra
859a7f5436 amd/llvm: truncate const intergers to bitwidth
Fixes assertion checks in LLVM APInt's constructor
when value cannot fit the interger bitwidth

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41822>
2026-06-09 08:36:50 +00:00
Ganesh Belgur Ramachandra
bf3333156e amd/llvm: fix LLVM asserts for signed integer constants
After LLVM APInt's refactor, stricter checks for
integer signedness are imposed. If a sign extended
uint64_t is passed to LLVMConstInt(...) producing
a value much larger than uintNmax for N < 64,
then LLVM complains.

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41822>
2026-06-09 08:36:50 +00:00
Ganesh Belgur Ramachandra
7e7f6e79ec amd/llvm: fix target feature setting (DumpCode -> dumpcode)
Refer changes made to AMDGPU backend of llvm-project
in commit 4b1cfc5d7c606ece125d1e0ef6d13e0289553200

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41822>
2026-06-09 08:36:50 +00:00
squidbus
6b06f70af0 kk: Remove unused deprecated Metal APIs
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42096>
2026-06-09 07:17:29 +00:00
Collabora's Gfx CI Team
9c424edd2e Uprev VVL to 2ab77a01659e3e46d6ca8a25425b19b3425adb11
d2b091858d...2ab77a0165

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42010>
2026-06-09 06:33:06 +00:00
Yiwei Zhang
936ceed0a6 anv: amend missing shader dump finish upon device destruction
Fixes: 0a965c0bce ("anv: add a shader-dump debug option")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42095>
2026-06-09 06:00:14 +00:00
Emma Anholt
fbd9c67e2a drm-shim/freedreno: Fix VM_BIND support.
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
We need to initialize the out fence.  This was supposed to be in the
merged code, but I failed to force-push before marging.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42103>
2026-06-09 03:39:42 +00:00
Christian Meissl
9da4fb526a nir/lower_tex: skip external texture YUV lowering for query instructions
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Guard external texture lowering by !nir_tex_instr_is_query(), matching
the pattern already used by swizzle_result and lower_srgb.

Fixes textureSize() on samplerExternalOES on panfrost, which triggers
the assertion:

```
Invalid invariant idx.type == BI_INDEX_REGISTER:
	   r10 = TEX_SINGLE.rgb.2d.f32.zero_lod _.h00, ^r10, ^r11, sr_count:0
```

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41454>
2026-06-09 01:26:45 +00:00
Karol Herbst
9d858b6719 rusticl/program: implement CL_PROGRAM_BUILD_LOG without a copy
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:10 +00:00
Karol Herbst
fed9ea7aa7 rusticl/program: implement CL_PROGRAM_BUILD_OPTIONS without a copy
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:10 +00:00
Karol Herbst
23295a7f3e rusticl/program: store build options as CString
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:10 +00:00
Karol Herbst
6abe48d835 rusticl/program: set __OPENCL_C_VERSION__ ourselves
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:10 +00:00
Karol Herbst
7aa9a36ade rusticl/program: move -cl-std handling inside CompileOptions::get_clang_args
Also ignore empty options while at it, because that can now happen and
makes other part of the code upset.

Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:10 +00:00
Karol Herbst
d1482321ae rusticl/program: handle -create-library inside CompileOptions::new
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:09 +00:00
Karol Herbst
13511279c9 rusticl/program: turn iter map into loop inside CompileOptions::new
Otherwise error handling is going to be painful later on.

Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:08 +00:00
Karol Herbst
1e41c73cf5 rusticl/program: construct __OPENCL_VERSION__ inside CompileOptions::get_clang_args
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:08 +00:00
Karol Herbst
73b3d81a48 rusticl/program: add CompileOptions::get_clang_args
Soon we'll parse the options earlier where we don't target a specific
device yet, so we need to be able to generate the clang arguments on the
fly after parsing.

Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:08 +00:00
Karol Herbst
33f6c01caa rusticl/util: add CStrExt::from_ptr_or_empty
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:08 +00:00
Karol Herbst
23b0d9c6f7 rusticl/util: add CStrExt trait
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:08 +00:00
Karol Herbst
890a51c207 rusticl/program: print compiler output as Rust string
The CString Debug implementation does not handle new lines, so it gets all
printed as a single row, which is not what we want at all.

Fixes: 01de0ff26f ("rusticl/program: store log as a CString")
Reviewed-by: @LingMan
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42021>
2026-06-09 00:38:07 +00:00
Alyssa Rosenzweig
8150ce8531 anv: enable jay ray query
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42006>
2026-06-08 23:57:46 +00:00
Calder Young
4aca86b383 jay: Implement ray tracing trace intrinsics
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42006>
2026-06-08 23:57:46 +00:00
Calder Young
667a330512 jay: Implement ray tracing topology id intrinsics
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42006>
2026-06-08 23:57:46 +00:00
Calder Young
576fc784c9 jay: Disable SIMD32 if ray queries are used
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42006>
2026-06-08 23:57:46 +00:00
Alyssa Rosenzweig
773a0e71ce jay/lower_pre_ra: allow immediate on bfe
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42006>
2026-06-08 23:57:46 +00:00
Calder Young
03bff227db brw: Move topology id helper intrinsics to NIR
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42006>
2026-06-08 23:57:46 +00:00
Calder Young
9f2c6fdca4 brw: Move ray payload bitfield generation to NIR
This will save us the trouble of faking constant folding for the BVH level and
trace ray control values when we lower this intrinsic in the new backends.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42006>
2026-06-08 23:57:46 +00:00
Alyssa Rosenzweig
2a1588c09e bin: add drm-shim script
Add a script to run whatever you want under drm-shim given only a driver name,
CI job name or GPU model, plus the option to dump assembly with a common option.
This lets people debugging common code easily run shader-db or whatever with
whatever they want without needing to look up a million driver specific
options/paths/etc.

Must run inside a meson devenv. Example usage (path symlinked):

  drm-shim --disasm glk ./run shaders/glmark/1-1.shader_test
  drm-shim --disasm asahi ./run shaders/glmark/1-1.shader_test
  drm-shim --disasm panfrost-t860 ./run shaders/glmark/1-1.shader_test
  drm-shim --disasm zink-radv-navi31-valve ./run shaders/glmark/1-1.shader_test

Makes for a fun compilerexplorer like tool too

Reduces amount of docs needed for https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41959

Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42055>
2026-06-08 23:07:43 +00:00
Rob Clark
b340a00c29 tu: Un-open-code RB_A2D_PIXEL_CNTL
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: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42089>
2026-06-08 22:21:40 +00:00
Rob Clark
bc45a27323 freedreno/a6xx: Un-open-code RB_A2D_PIXEL_CNTL
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42089>
2026-06-08 22:21:39 +00:00
Rob Clark
b13abd08f2 freedreno/registers: Add RB_RESOLVE_CNTL_0.YUV_PLANE_ID
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42089>
2026-06-08 22:21:39 +00:00
Rob Clark
aea956a25f freedreno/registers: Improve A2D docs
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/42089>
2026-06-08 22:21:39 +00:00