Commit graph

217206 commits

Author SHA1 Message Date
Icenowy Zheng
2c770a8dce mesa: workaround GL_INVALID_OPERATION in GLES 2.0 draws
Mesa internally converts some draw calls to DrawArraysInstancedBaseInstance
or DrawElementsInstancedBaseVertexBaseInstance, which are only available
in GLES contexts via GL_EXT_base_instance, a GLES3-only extension.

Export these two functions into the internal namespace for GLES 2.0
contexts too.

This fixes black screen for `glmark2-es2 -b build:use-vbo=false` (which is
the first test item for glmark2 auto test sequence) on GLES 2 HW / GLES
3 HW with MESA_GLES_VERSION_OVERRIDE=2.0 .

Fixes: 7c1f8b63ad ("glthread: work around GL_INVALID_OPERATION with OpenGL ES 1.x draws")
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39092>
2026-01-17 07:27:46 +00:00
llyyr
c3763b12e2 vulkan/wsi/headless: implement vkReleaseSwapchainImagesKHR for headless
We need to support this if we advertise KHR_swapchain_maintenance1

Cc: mesa-stable
Signed-off-by: llyyr <llyyr.public@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39218>
2026-01-17 06:21:32 +00:00
llyyr
a1dd7eec87 vulkan/wsi/headless: add stub for VkSurfacePresentScalingCapabilitiesKHR
Similar to last MR, since we advertise support for
KHR_swapchain_maintenance1, we need to advertise this

Cc: mesa-stable
Signed-off-by: llyyr <llyyr.public@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39218>
2026-01-17 06:21:32 +00:00
llyyr
9cd5a4849a vulkan/wsi/headless: populate VkSurfacePresentModeCompatibilityKHR
Previously, we ignored this struct which caused VVL to treat the
compatible mode list as NULL, causing false positive validation errors
on headless applications.

Closes: #14622

Cc: mesa-stable
Signed-off-by: llyyr <llyyr.public@gmail.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39218>
2026-01-17 06:21:32 +00:00
Piotr Masłowski
28cda1732a lvp: promote VK_EXT_robustness2 to VK_KHR_robustness2
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:12 +00:00
Piotr Masłowski
559ef7342f tu: promote VK_EXT_robustness2 to VK_KHR_robustness2
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:12 +00:00
Piotr Masłowski
9ae075f38f nvk: promote VK_EXT_robustness2 to VK_KHR_robustness2
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:11 +00:00
Piotr Masłowski
4ef73da70e hasvk: promote VK_EXT_robustness2 to VK_KHR_robustness2
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:10 +00:00
Piotr Masłowski
c446d55b21 hk: promote VK_EXT_robustness2 to VK_KHR_robustness2
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39340>
2026-01-16 22:39:10 +00:00
Dave Airlie
475ec2ade3 lavapipe: add support for VK_KHR_cooperative_matrix.
This adds support for cooperative matrix to lavapipe.

It uses 8x8 matricies as the size, and loads the first row
of 8 values into a the subgroup.

It stores the B matrix transposed to make the matmul operation
a lot more subgroup friendly.

Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38935>
2026-01-16 21:49:34 +00:00
Alyssa Rosenzweig
a11aa3fc4e brw: combine peephole select calls
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39361>
2026-01-16 21:24:15 +00:00
Mike Blumenkrantz
1895762182 zink: move ntv shader info to single-use screen member
this is a bit cleaner

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39359>
2026-01-16 14:51:13 -05:00
Mike Blumenkrantz
4a2b4257d4 zink: use vk enum members for ntv util returns
fix c++ includes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39359>
2026-01-16 14:51:13 -05:00
Mike Blumenkrantz
7ab3fff68f zink: move the ntv sparse checks into ntv
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39359>
2026-01-16 14:51:13 -05:00
Mike Blumenkrantz
e5b291e310 zink: move ntv params into zink_shader_info
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39359>
2026-01-16 14:51:13 -05:00
Mike Blumenkrantz
c4a1408e30 zink: move xfb stride off zink_shader_info struct
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39359>
2026-01-16 14:51:13 -05:00
Mike Blumenkrantz
0b54463485 zink: flatten out params to nir_to_spirv()
no functional changes

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39359>
2026-01-16 14:51:13 -05:00
José Roberto de Souza
0c22a039e2 iris: Nuke iris_emit_execute_indirect_dispatch()
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Now that we are setting COMPUTE_WALKER_BODY once makes more sense to remove
iris_emit_execute_indirect_dispatch() and emit EXECUTE_INDIRECT_DISPATCH in
iris_upload_compute_walker().

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39326>
2026-01-16 19:15:35 +00:00
José Roberto de Souza
f522ed33b4 iris: Remove duplicated iris_measure_snapshot(INTEL_SNAPSHOT_COMPUTE)
We have this exacly line just a few lines above.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39326>
2026-01-16 19:15:35 +00:00
José Roberto de Souza
a6a8427b19 iris: Reduce COMPUTE_WALKER_BODY code duplication
Both functions setting COMPUTE_WALKER_BODY had almost the same code, the only
difference is that iris_emit_execute_indirect_dispatch() keeps
ThreadGroupIDX/Y/ZDimension set to 0.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39326>
2026-01-16 19:15:34 +00:00
Eric Engestrom
30c2e6dbf2 nir/meson: drop redundant --build-tests in favour of just checking if --out-tests is set
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39350>
2026-01-16 16:55:21 +00:00
Eric Engestrom
246095da49 nir/meson: only try to generate the nir_opt_algebraic tests when requested
Anything listed in a meson target's `output` is expected to exist once
the command has run. If it's missing, meson/ninja will run the command
again to try to generate it, resulting in a ton of files getting
re-generated/re-compiled for no reason.

Fixes: 4c30c44b75 ("nir: Generate unit tests for nir_opt_algebraic")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14667
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39350>
2026-01-16 16:55:21 +00:00
Utku Iseri
1c118b9319 zink: fix layer count with cubemaps
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
st already handles setting this to 6, we don't need to
do anything here.

Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39342>
2026-01-16 13:40:50 +00:00
Tapani Pälli
fcbe987e10 anv: fix setting emitted_flush_bits
Fixes a crash with:
   dEQP-VK.api.external.semaphore.opaque_fd.signal_export_import_wait_temporary

when driver calls genX(CmdSetEvent2) -> emit_apply_pipe_flushes with
having NULL in emitted_flush_bits.

Fixes: 8834ef8bcd ("anv: use flushing PIPE_CONTROL for event signaling")
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39343>
2026-01-16 13:19:06 +00:00
Georg Lehmann
b9908bb165 hasvk: create a new intrinsic for push constant to uniform load lowering
Just setting the intrinsic is bad practice and breaks when constant indices
no longer match.

Fixes: a6330ed4d0 ("nir: add ACCESS to load_uniforms")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14639
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39331>
2026-01-16 13:02:15 +00:00
Eric Engestrom
ddb3ae6df3 ci: run rustfmt on all rust files
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39347>
2026-01-16 12:21:57 +00:00
Eric Engestrom
6f6710eda5 etnaviv: run rustfmt
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39347>
2026-01-16 12:21:57 +00:00
Juan A. Suarez Romero
3183ce9af2 v3d/ci: add new fail in expected list
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: Juan A. Suarez Romero <jasuarez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39345>
2026-01-16 12:00:43 +00:00
Samuel Pitoiset
43eff522e9 ac/debug: add a function that dumps texture descriptors
In a human readable way. Useful for debugging.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39285>
2026-01-16 11:35:34 +00:00
Samuel Pitoiset
5555297121 radv/meta: always use mip level 0 for source image resolves
MSAA+mipmaps isn't a thing.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39285>
2026-01-16 11:35:34 +00:00
Samuel Pitoiset
cb57338d6f radv/meta: batch resolving all color image layers with compute
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39285>
2026-01-16 11:35:34 +00:00
Samuel Pitoiset
1199f91a2f radv/meta: use 2D array for color resolves with compute
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39285>
2026-01-16 11:35:34 +00:00
Valentine Burley
939eab79bb radeonsi/ci: Merge VA-API jobs
Combine the `radeonsi-raven-va` and `radeonsi-raven-vaapi-fluster` jobs
into one deqp-runner suite.
OOM kills no longer appear to be an issue.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39015>
2026-01-16 10:29:41 +00:00
Valentine Burley
7af687bd33 radeonsi/ci: Remove redundant radeonsi-vaapi-fluster-rules
The only difference was that these rules incorrectly added a second
-fluster suffix to the expectation files after a refactoring.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39015>
2026-01-16 10:29:41 +00:00
Valentine Burley
47d85dc568 radeonsi/ci: Convert libva-utils job to deqp-runner suite
Drop the custom gtest-runner.sh script and add a deqp-runner suite for
the `radeonsi-raven-va` job.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39015>
2026-01-16 10:29:41 +00:00
Valentine Burley
efcea3a6a4 ci: Update deqp-runner to pull in gtest suite support
This version notably also brings in vkd3d-proton support.
Also remove the redundant DEBIAN_TEST_ANDROID_TAG mention.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39015>
2026-01-16 10:29:40 +00:00
Rhys Perry
d2a9122cfa aco/tests: add function call regalloc tests
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>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
aa09335485 aco/ra: emit p_split_vector after p_parallelcopy
This fixes situations where the variable being split is a parallelcopy
definition.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
7caa0ab897 aco/ra: fix split_blocking_vectors with some subdword vectors
For example, v6b at byte=2 should be split into v2b,v1 instead of v1,v2b.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
667771950d aco/ra: update register file when recreating blocking vectors
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
5cf991ecfb aco/ra: use original name for blocking vectors rename
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
829e3a6a7d aco/ra: fix operands when recreating blocking vectors
It is likely that these have been moved.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
6e6e40ab5c aco/ra: discard tmp_file after get_regs_for_copies fails
get_regs_for_copies() might change tmp_file, so we need to create a new
one.

Recursively handle_call() with an modified register_file instead of
repeating get_regs_for_copies().

This also updates register_file for the caller.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
159154a741 aco/ra: remove dead code in split_blocking_vectors
collect_vars_from_bitset() from the caller should have already cleared
these.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
89d06f7db5 aco: add RA validation for p_call
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
d0801c9eb7 aco: always run RA validation during tests
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:43 +00:00
Rhys Perry
bf30a57440 aco/ra: omit renaming when necessary when moving copy definitions
This should resolve the FIXME.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:41 +00:00
Rhys Perry
8dcfce3587 aco/ra: refactor update_renames slightly
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38811>
2026-01-16 10:05:39 +00:00
Alyssa Rosenzweig
e4520b1dda agx: fix SSA repair with phis with constants
For large constants inlined into phis, this would overread the remap[] array,
which could crash. No CTS tests affected though.

Christoph found the bug and fixed it for Bifrost over in
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39305. I just did a
quick CTS run of the obvious AGX backport over this morning's breakfast.

Cc: mesa-stable
Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reported-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39313>
2026-01-16 09:45:40 +00:00
Calder Young
d69daf28d0 anv,brw: Add helper to get stack ids per dss for ray queries
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38778>
2026-01-16 09:21:50 +00:00