Commit graph

217515 commits

Author SHA1 Message Date
Valentine Burley
8e078fad2a tu: Assign stable unique_id to buffer objects
Add a unique_id field to struct tu_bo, to ensure that every bo has a
unique identifier.

On KGSL, importing the same dma-buf multiple times produces distinct GEM
handles, which violates the VK_EXT_device_memory_report requirement that
the object ID uniquely identifies the underlying memory.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39406>
2026-01-22 20:11:23 +00:00
Silvio Vilerino
4b366f8824 d3d12: Add HAVE_GALLIUM_D3D12_VIDEO guards for d3d12_video_encoder_set_max_async_queue_depth/d3d12_video_encoder_get_last_slice_completion_fence
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14709
Fixes: e55b2b5064 ("d3d12: Add get_video_enc_last_slice_completion_fence interop")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39457>
2026-01-22 19:16:53 +00:00
Silvio Vilerino
237313a243 d3d12: Add missing using Microsoft::WRL:ComPtr in d3d12_context_common
Fixes: b06b2fbaba ("d3d12: Remove Agility v717 guards for features now available in v618")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39457>
2026-01-22 19:16:52 +00:00
Dylan Baker
0380c1228e bin/pick: When the main widget is replaced, trigger a redraw
The docs clearly say this, and though it used to just work that seems to
have been a coincidence rather than being correct.

CC: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39459>
2026-01-22 19:11:21 +00:00
Eric Engestrom
21829c9f7e pick-ui: update for python 3.14 support
```
Traceback (most recent call last):
  File "bin/pick-ui.py", line 31, in <module>
    loop = urwid.MainLoop(u.render(), PALETTE, event_loop=evl, handle_mouse=False)
                          ~~~~~~~~^^
  File "bin/pick/ui.py", line 196, in render
    asyncio.ensure_future(self.update())
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.14/asyncio/tasks.py", line 730, in ensure_future
    loop = events.get_event_loop()
  File "/usr/lib64/python3.14/asyncio/events.py", line 715, in get_event_loop
    raise RuntimeError('There is no current event loop in thread %r.'
                       % threading.current_thread().name)
RuntimeError: There is no current event loop in thread 'MainThread'.
```

Of the 3 dependencies, only urwid actually needs to be updated, but
while at it let's pick the latest of each.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39452>
2026-01-22 19:04:02 +00:00
Lionel Landwerlin
21661f66fc iris: fix incorrect intrinsic usage on ELK
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: faa857a061 ("intel: rework push constant handling")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14708
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39443>
2026-01-22 18:35:42 +00:00
Nick Hamilton
3aacc324bc pvr: Temporarily disable the buffer device address extension
The extension is optional in Vulkan 1.2 and is causing crashes in
multiple CTS tests.

Signed-off-by: Nick Hamilton <nick.hamilton@imgtec.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Backport-to: 26.0
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39351>
2026-01-22 18:19:32 +00:00
Mel Henning
9cb4703c94 kk: Use pipeline_layout.dynamic_descriptor_offset
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/39411>
2026-01-22 17:04:19 +00:00
Mel Henning
c6e725de05 kk: Use layout->vk.dynamic_descriptor_count
Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39411>
2026-01-22 17:04:19 +00:00
Mel Henning
d14a3debb5 hk: Use pipeline_layout.dynamic_descriptor_offset
Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Tested-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39411>
2026-01-22 17:04:19 +00:00
Mel Henning
6f230049e7 hk: Use layout->vk.dynamic_descriptor_count
Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Tested-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39411>
2026-01-22 17:04:19 +00:00
Mel Henning
c8e47ab40c nvk: Use pipeline_layout.dynamic_descriptor_offset
Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Tested-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39411>
2026-01-22 17:04:18 +00:00
Mel Henning
25acd26a0f nvk: Use layout->vk.dynamic_descriptor_count
Reviewed-by: Aitor Camacho <aitor@lunarg.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Tested-by: Mary Guillemard <mary@mary.zone>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39411>
2026-01-22 17:04:18 +00:00
Aitor Camacho
cdbf7242f3 kk: Fix graphics pipeline serialization
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Bundles all graphics pipeline creation information required by Metal into
the vertex shader so we can later rebuild the pipeline. This allows us to
correctly create pipelines from caches that were loaded from files.

Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39454>
2026-01-22 15:50:31 +00:00
Aitor Camacho
99d8246d1c kk: Move gfx pipeline data to the info struct within kk_shader
Makes it easier to serialize and add data specific to the gfx pipeline.

Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39454>
2026-01-22 15:50:31 +00:00
Aitor Camacho
75f6f46c0f kk: Fix compute pipeline cache
When deserializing the compute shader from a blob, we need to recreate the
pipeline because the blob may have been loaded from file and therefore the
reference to the Metal resource will be invalid.

Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39454>
2026-01-22 15:50:30 +00:00
Aitor Camacho
622ebba476 kk: Correctly release pipeline handles at shader destroy
The condition to release Metal pipelines incorrectly checks which shader
stage we are destroying leading to leads when graphics pipelines had to
be released.

Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39454>
2026-01-22 15:50:30 +00:00
Aitor Camacho
15c0dd39fc kk: Fix shader uint32_t value serialization
We need to write with blob_write_uint32 if we are using blob_read_uint32

Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39454>
2026-01-22 15:50:29 +00:00
Aitor Camacho
b350f059f5 kk: Fill pipelineUUID
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39454>
2026-01-22 15:50:29 +00:00
Aitor Camacho
669a4dd56b kk: Use nir_opt_shrink_stores
Reviewed-by: Arcady Goldmints-Orlov <arcady@lunarg.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39301>
2026-01-22 15:32:43 +00:00
Aitor Camacho
4f7bdb1dde kk: Force frag output component count to match render targets'
Reviewed-by: Arcady Goldmints-Orlov <arcady@lunarg.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39301>
2026-01-22 15:32:43 +00:00
Aitor Camacho
8147ea59fe kk: Bundle nir_to_msl options into a struct for easier option addition
Reviewed-by: Arcady Goldmints-Orlov <arcady@lunarg.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39301>
2026-01-22 15:32:43 +00:00
Michel Dänzer
f35f50af72 ci: Drop a couple of -Wno-error stanzas from alpine-build-testing job
No warnings left.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39429>
2026-01-22 15:49:11 +01:00
Michel Dänzer
a9ea942ef0 ci: Drop most -Wno-error stanzas from debian-arm64 jobs
No warnings left.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39429>
2026-01-22 15:49:11 +01:00
Michel Dänzer
11d9a3958f ci: Drop half of -Wno-error stanzas from fedora-release job
No warnings left.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39429>
2026-01-22 15:49:11 +01:00
Michel Dänzer
b1f35512c9 ci: Drop -Wno-error stanzas from debian-no-libdrm job
No warnings left.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39429>
2026-01-22 15:49:11 +01:00
Michel Dänzer
1035868a41 ci: Drop some -Wno-error stanzas from the debian-android job
No warnings left.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39429>
2026-01-22 15:49:11 +01:00
Michel Dänzer
a5d35e29ca ci: Drop -Wno-error=stringop-overread from debian-release job
No warnings left.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39429>
2026-01-22 15:49:11 +01:00
Michel Dänzer
41eb24e4da ci: Drop remaining -Wno-error stanzas from debian-x86_64-asan/ubsan jobs
No warnings left.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39429>
2026-01-22 15:48:14 +01:00
Michel Dänzer
945da70d73 ci: Drop -Wno-error=vla-cxx-extension from debian-x86_64-msan job
No warnings left.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39429>
2026-01-22 15:48:14 +01:00
Michel Dänzer
a74ffd6900 Pass the destination buffer size minus one to strncpy
Copying the last byte was pointless, since the next line overwrites it,
and resulted in a compiler warning:

../src/intel/common/intel_measure.c: In function 'intel_measure_init':
../src/intel/common/intel_measure.c:68:7: warning: 'strncpy' specified bound 1024 equals destination size [-Wstringop-truncation]
   68 |       strncpy(env_copy, env, 1024);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~

This allows dropping -Wno-error=stringop-truncation from the
debian-x86_64-asan & debian-{arm64,x86_64}-ubsan CI jobs.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39429>
2026-01-22 15:44:09 +01:00
Simon Perretta
ed180a1c20 pvr: remove drm device config table
Drops the drm device config table in favour of just checking for the
presence of the appropriate device driver.

Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Reviewed-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39444>
2026-01-22 12:25:11 +00:00
Simon Perretta
c5b70dcb48 pco: update formatless skip check
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The skip check should only be checking the format rather than the entire
packed word.

Fixes: 52ddc40a75 ("pco: restrict shadow sampler comparator clamping to unorm formats")
Signed-off-by: Simon Perretta <simon.perretta@imgtec.com>
Acked-by: Frank Binns <frank.binns@imgtec.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39428>
2026-01-22 08:09:36 +00:00
Samuel Pitoiset
873008f274 vulkan: fix missing begin debug marker for HPLOC
This fixes capturing with RGP.

Fixes: 091b43b970 ("radv: Use HPLOC for TLAS builds")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39427>
2026-01-22 08:32:18 +01:00
Yiwei Zhang
481df22209 venus: refactor Android ANB tracking to avoid confusions with WSI
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
WSI used to track the similar for aliased wsi image creation, but later
got deprecated. So let's rename wsi.memory to wsi.anb_mem and drop
wsi.memory_owned to avoid confusions with common wsi related trackings.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39401>
2026-01-21 23:15:42 +00:00
Yiwei Zhang
849e3552e8 venus: properly handle wsi implicit in-fence
Vulkan is supposed to operate in explicit synchronization mode. However,
for legacy compositors that only support implicit fencing, we have to
extract the compositor implicit fence (release fence) and resolve it
properly.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39401>
2026-01-21 23:15:42 +00:00
Yiwei Zhang
211c21725c venus: refactor vn_AcquireNextImage2KHR
Prepare for valid implicit in-fence.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39401>
2026-01-21 23:15:42 +00:00
Yiwei Zhang
9718847dbf venus: add vn_renderer_bo_export_sync_file helper
...and a renderer internal helper shared by virtgpu and vtest backend
when supported.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39401>
2026-01-21 23:15:41 +00:00
Yiwei Zhang
3fca8423c9 venus: track dedicated image during mem alloc
Need this because the new common wsi interface only returns the wsi
memory from the acquired image index.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39401>
2026-01-21 23:15:41 +00:00
Yiwei Zhang
eb709cba47 venus: track prime blit dst buffer memory in the wsi image
This is to prepare for handling WSI implicit acquire fence.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39401>
2026-01-21 23:15:40 +00:00
Rob Clark
c6a4b8e9c7 ir3: Handle dual-wave reconvergence
With dual-wave dispatch, the hw needs (jp)s to also reflect where
co-issued waves might reconverge.  We should also consider this for
branchstack, but we do not need to consider it while generating
physical edges for uGPR (shared register) allocation.

Handle this by calling the reconvergence pass twice on devices with
dual-wave dispatch.  The first pass ignores the information we get
from nir about uniformity of branch conditions (because nir does not
distinguish between shader and warp level uniformity).  In this
first pass, we skip setting up physical edges, which is handled in
the second pass (since co-issued waves have their own uGPR resources).

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39442>
2026-01-21 22:53:23 +00:00
Rob Clark
4e28ac2870 ir3: Use fd_dev_info from ir3_compiler
Rather than copying an ever growing list of params from fd_dev_info to
ir3_compiler, just store the info pointer in the compiler and use that
directly.

Mechanical change.  But deletes code and removes an extra step from
adding compiler related dev info props.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39442>
2026-01-21 22:53:23 +00:00
Caio Oliveira
c8375c0f71 brw/scoreboard: Support local implicit out-of-order dependencies
In software scoreboard (Gfx12+) use information from previous
instructions to trim out-of-order dependencies.  For example, in

    send g1, g2     ($1)
    mov  g3, g1     ($1.dst)    // Depends on g1 (destination of $1)
    mov  g4, g2     ($1.src)    // Depends on g2 (source of $1)
    mov  g5, g1     ($1.dst)    // Depends on g1 (destination of $1)

only the first `mov` needs to be annotated, because the execution will
stall until that dependency is fulfilled, which in this case means the
`send` is done and `g1` was already written.

Note that while `$x.dst` implies `$x.src`, the reverse is not true, so
if the first `mov` did not exist, both second and third `mov` in the
example would have to keep their annotations.

This patch add resolution of implicit out-of-order dependencies that are
visible inside a block.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3526>
2026-01-21 22:29:28 +00:00
Caio Oliveira
ba317e14a0 brw: Provide ~ and &= operators for tgl_sbid_mode
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3526>
2026-01-21 22:29:28 +00:00
Caio Oliveira
2ebacbc78d brw/scoreboard: Add tests showing implicit unordered dependencies in SWSB
Mark tests as disabled for now.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3526>
2026-01-21 22:29:28 +00:00
Caio Oliveira
423916152e brw/scoreboard: Use std::vector when applicable
There's agreement now these are helpful and widely supported.  We can
always fallback to a custom vector class later if necessary.

Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/3526>
2026-01-21 22:29:27 +00:00
Kitlith
b18b52e61d pvr: Free drm device in can_present_on_device
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes: 6bda88bfdb ("pvr: copy WSI can_present_on_device function from PanVK")
Signed-off-by: Kitlith <kitlith@kitl.pw>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39415>
2026-01-21 21:50:42 +00:00
Kitlith
4de41bf27d panvk: Free drm device in can_present_on_device
Fixes: 08da41f2f1 ("panvk: override can_present_on_device")
Signed-off-by: Kitlith <kitlith@kitl.pw>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39415>
2026-01-21 21:50:42 +00:00
Connor Abbott
6a1c8d3a0c ir3, freedreno, turnip: Lower io earlier
On the gallium side, set the NIR option to leave IO lowered after
linking when using GLSL. On the turnip side, move up nir_lower_io to
as early as currently possible. Further turnip passes will have to be
converted to intrinsics before we can switch to using the new linker.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39328>
2026-01-21 20:54:21 +00:00
Connor Abbott
78f6c70304 ir3: Don't support indirect inputs in FS
We don't actually support it.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39328>
2026-01-21 20:54:21 +00:00