Commit graph

217215 commits

Author SHA1 Message Date
Lakshman Chandu Kondreddy
ffb5d5d224 dri: Add R32F,RG32F,RGBA32F format mappings for DRIImage
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Add pipe format to sized internal format mappings for R32F,
RG32F and RGBA32F in the DRIImage format table. This fixes shader
image store operations on EGL images imported from DMA-BUF with
respective DRM formats.

Without these mappings, DMA-BUF imported textures received base internal
formats instead of sized internal formats, causing shader image unit
validation to fail and DispatchCompute write zeroes on compute shader
imageStore operation.

Fixes: 6d3f266406 ("dri: Add additional 16/32b float/int formats")
Signed-off-by: Lakshman Chandu Kondreddy <lkondred@qti.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39004>
2026-01-18 15:48:34 +00:00
Yiwei Zhang
c2c9266fed venus: workaround to consider ALIAS for image mem req cache
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
ANV can return different memory requirements with and w/o the ALIAS bit.
See https://gitlab.freedesktop.org/mesa/mesa/-/issues/14671 for details.

Meanwhile, venus has a driver side cache for image memory requirements.
As blessed per spec for memory aliasing, venus strips the ALIAS bit when
populating the cache key. Because of the use of imageless mem req query,
the ALIAS mem req now can hit the cache first, leaving a smaller/relaxed
requirement in the cache...busted.

Venus is unable to fix ANV behavior behind the scene, so this workaround
is only to align Venus behavior with ANV to not suffer from Venus-only
rendering artifacts.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39368>
2026-01-18 08:48:01 +00:00
Yiwei Zhang
fea23746ce venus: amend missing logs for image format cache dump
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39339>
2026-01-18 08:10:53 +00:00
Yiwei Zhang
c57659c9a3 venus: cache VkBufferUsageFlags2CreateInfo
Proton has widely used this struct.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39339>
2026-01-18 08:10:53 +00:00
Yiwei Zhang
a16ae2f684 venus: refactor vn_buffer_get_cache_index
Prepare to handle VkBufferUsageFlags2CreateInfo.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39339>
2026-01-18 08:10:53 +00:00
Yiwei Zhang
25970096d4 venus: only preserve 12 bits for VkBufferCreateFlagBits
Save more bits to prepare for VkBufferUsageFlags2CreateInfo.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39339>
2026-01-18 08:10:52 +00:00
Mauro Rossi
197cb437cd radv/rt: Fix gnu-empty-initializer error in radv_pipeline_rt.c
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
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:934:38: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   struct nir_function raygen_stub = {};
                                     ^
1 error generated.

Fixes: 0a1911b2 ("radv,aco: Use function call structure for RT programs")
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39370>
2026-01-17 17:13:05 +01:00
Icenowy Zheng
ba43568f4b mesa: fix GL_INVALID_OPERATION when releasing buffer in GLES1/2 ctx
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The Function glInternalReleaseBufferMESA is called whenever a
intermediate buffer is used by MESA internal and being released, however
it's only exported for GLES3, which leads to drawing w/o VBO not
operational for GLES1/2.

Fixes invalid operation warning in `glmark2-es2 -b build:use-vbo=false` for
GLES2 HW / any HW with MESA_GLES_VERSION_OVERRIDE=2.0 .

VBO-less drawing is possible for GLES 1.0 too, so this function is also
exported with GLES1. Tested on GLES1 with mesa-demos gears demo with
VBO allocation commented out.

Fixes: ae75b59cb5 ("glthread, tc: Fix buffer release with glthread and tc")
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39092>
2026-01-17 07:27:47 +00:00
Icenowy Zheng
f1d199285a mesa: fix GL_INVALID_OPERATION with GLES1/2 + Kopper
Kopper draw codepath calls an internal helper called
InternalInvalidateFramebufferAncillaryMESA, which is currently only
exported for GLES3 contexts.

This leads to a warning when the underlying Vulkan driver capability
isn't enough for GLES3 or GLES version number is forced to 2.0 or the
program is a GLES1 one.

Export this internal helper for GLES1/2 too.

Fixes: 0c7994bb2d ("mapi: add InternalInvalidateFramebufferAncillaryMESA")
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
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