[Git][xorg-team/lib/mesa][debian-experimental] 141 commits: docs: add sha sum for 26.2.0
"Timo Aaltonen (@tjaalton)" <[email protected]>
| Newsgroups | gmane.linux.debian.devel.x |
|---|---|
| Message-ID | <[email protected]> |
Timo Aaltonen pushed to branch debian-experimental at X Strike Force / lib / mesa
Commits:
aacd123e by Eric Engestrom at 2026-08-05T23:36:00+02:00
docs: add sha sum for 26.2.0
- - - - -
1a979a7f by Samuel Pitoiset at 2026-08-07T17:34:13+02:00
ac/gpu_info: fix detecting AMD BC250 as RDNA1
Previously, ac_fill_hw_ip_info() was skipped for unexisting queues
but since the commit mentioned below, they are no longer skipped.
That was causing AMD BC250 (GFX1013) to be detected as GFX10.3 instead
of GFX10.
Fixes: ddbdc982634 ("radeonsi/vcn: Add vcn_5_0_2 support")
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit e3ac5454af48e9e5c78b68c933c15481206b9b5f)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
1934f1c7 by Eric Engestrom at 2026-08-18T16:03:26+02:00
[26.2 only] document a test as flaky
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
4202d4ce by Eric Engestrom at 2026-08-19T21:56:32+02:00
.pick_status.json: Update to 6609a0e7a66288ee338e6ef0e5622d33923755e7
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f59fbbcf by Jose Maria Casanova Crespo at 2026-08-19T21:56:32+02:00
v3d: cap CL BO growth when doubling
Doubling the CL BO size on every replacement let a single job with a
huge number of queued draws grow its indirect CL to hundreds of MBs
(the doubling also keeps the job BO handle count low, so the flush
threshold in v3d_draw_vbo() based on it stops being effective). Cap
the doubled size; jobs needing more keep allocating capped chunks and
accumulate BO handles like before.
The limit is defined in the common v3d_limits.h so the v3dv Vulkan
driver can share it.
Fixes: de6e76f253a1 ("v3d: increase BO allocation size when growing CLs")
Reviewed-by: Maíra Canal <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>
(cherry picked from commit 9cf991b03d267499ef0b80bedf9193679c671ac5)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
c900ad1a by Jose Maria Casanova Crespo at 2026-08-19T21:56:32+02:00
v3dv: cap CL BO growth when doubling
Same rationale as the v3d gallium change: doubling on every growth lets
a command buffer with a huge number of draws grow its CL BOs unbounded.
Cap the doubled size using the shared V3D_CL_MAX_GROW_SIZE limit;
larger command buffers keep allocating capped chunks.
Fixes: 332595064810 ("v3dv: increase BO allocation size when growing CLs")
Reviewed-by: Maíra Canal <[email protected]>
Reviewed-by: Iago Toral Quiroga <[email protected]>
(cherry picked from commit ab9632da84408217d643b61affd69e7e1163103a)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
75ff9cdb by Christian Gmeiner at 2026-08-19T21:56:32+02:00
etnaviv: Turn the sampler parameter loads into constants
load_texture_scale(..), load_texture_size_etna(..) and
load_sampler_lod_parameters(..) got resolved into a uniform when a
source was emitted, so lower_alu(..) did not see them as constants. Any
instruction combining such a load with another constant ended up reading
two different uniforms, which a core without ETNA_FEATURE_SH_NO_ONECONST_LIMIT
cannot do. A shader using textureOffset(..) hits this, as the offset gets
scaled by the texture size.
Fold the three loads into a load_const like the other uniform loads
instead, so the existing one constant per instruction handling covers
them. They also stop taking part in register allocation this way.
Fixes the sampler3d cases of
dEQP-GLES3.functional.shaders.texture_functions.textureoffset and
.textureprojoffset on imx8mp.
Cc: mesa-stable
Signed-off-by: Christian Gmeiner <[email protected]>
Reviewed-by: Lucas Stach <[email protected]>
(cherry picked from commit 93a1ab86ffa11f65a0906244b31260f50f4a0dbd)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
7bd6535e by Dylan Baker at 2026-08-19T21:56:32+02:00
nir: Add an unreachable default to generated switch statement
Coverity notices that there's no requirement that the bit_size must be 64, 32,
or 16. While currently this unreachable cannot be reached, it seems better to
have something here to catch a theoritcal float8 or float128 than to let it
silently fall through.
Fixes: 32e91a74675 ("nir: add new float multiply-add opcodes")
CID: 1696245
Reviewed-by: Karol Herbst <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit db1325d214f4f045ab37f119398cbccdd32a8eeb)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f92496c1 by Dmitry Baryshkov at 2026-08-19T21:56:32+02:00
panfrost/drm-shim: go through uintptr_t when casting a query pointer
The panthor dev_query handlers cast the uAPI's __u64 pointer field
straight to a struct pointer. On a 32-bit host that is a cast to a
pointer of different size, and with -Werror it breaks the build --
which starts to matter once the arm32 CI build compiles drm-shim:
panfrost_noop.c:168:10: error: cast to pointer from integer of
different size [-Werror=int-to-pointer-cast]
and the same at the csif, timestamp and group priorities queries.
Cast through uintptr_t, as the DRM uAPI user pointer convention wants.
Fixes: 76397f76c944 ("panfrost: Add support for Panthor in drm-shim")
Fixes: 6a6a8c6cffa9 ("panfrost: add support for DRM_PANTHOR_DEV_QUERY_TIMESTAMP_INFO on drm-shim")
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <[email protected]>
(cherry picked from commit 80be7e22191ee2fc3f3512abe608704ef7c654f1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
d6b1418a by Dmitry Baryshkov at 2026-08-19T21:56:32+02:00
nouveau/drm-shim: use a 64 bit constant for the VRAM BAR size
1L << 34 is a shift past the width of long on a 32-bit host, an error
with -Werror once the arm32 CI build compiles drm-shim:
nouveau_noop.c:233:22: error: left shift count >= width of type
The getparam value field is 64 bit; shift a ULL constant.
Fixes: 6fc211335ab6 ("nouveau/drm-shim: Implement new getparam values")
Assisted-by: Claude:claude-fable-5
Signed-off-by: Dmitry Baryshkov <[email protected]>
(cherry picked from commit 5da48049efd3115cbcbccffafac9ded89ec2110c)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f2589d6a by Yiwei Zhang at 2026-08-19T21:56:32+02:00
venus: amend VK_EXT_ycbcr_image_array advertisement
Fixes: af1b4f61b53 ("venus: added passthrough extension support - Part V")
(cherry picked from commit 41a7155bba80218d6fde9c14cf4acfc360dbd9ad)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
c2c2c817 by Lionel Landwerlin at 2026-08-19T21:56:32+02:00
anv: fix descriptor heap with non buffer aligned addresses pre Gfx12.5
Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: 247afa047e ("anv: enable VK_EXT_descriptor_heap by default")
Acked-by: Ivan Briano <[email protected]>
(cherry picked from commit 7c32b01df300feadf65d72555760b570cdfdccef)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
7c4c0650 by Lucas Stach at 2026-08-19T21:56:32+02:00
etnaviv: drm: don't skip submit if there is a in_fence
If there is an active in_fence we must execute the submit in
order to not lose this dependency for future fence waits in
our context.
Cc: mesa-stable
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit b5ad9c428018e059e7192ee682f587cc99bb147c)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
c8b0b165 by Lucas Stach at 2026-08-19T21:56:32+02:00
etnaviv: discard in_fence fd after flush
The in_fence fd is used to synchronize the execution of the cmdstream
submitted at flush time. Keeping the fd means we either oversync due
to new fences being merged into the existing fd before the submit gets
to execute on the GPU (potentially even creating invalid fence loops)
or undersync as having an existing in_fence disables implicit sync
for the submit.
Discard the in_fence after it has been attached to a submit, so we
get a proper new one for the next submissions.
CC: mesa-stable
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit e184d0a77df9fa0c5cbd58ee34ba72182c634391)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
89085f3c by Lucas Stach at 2026-08-19T21:56:33+02:00
etnaviv: resume active queries after pending resources has been reset
Resuming a query will add the query result buffer resource to the pending
resources table so we know when to flush when waiting for a query result.
Obviously this should be done after the pending resources table has been
reset or the tracked status is lost.
CC: mesa-stable
Signed-off-by: Lucas Stach <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit d6221f22d3370d30ff976a554394c3222655c6f6)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
2d0d9e6d by Christian Gmeiner at 2026-08-19T21:56:33+02:00
etnaviv: Derive the shadow compare shader key from current sampler state
The fragment shader key is rebuilt from scratch for every draw, but the
shadow compare state was only derived from the bound samplers when the
sampler dirty bits were set. A draw with clean sampler state produced a
key without has_sample_tex_compare, binding a shader variant without the
compare lowering.
Fixes dEQP-GLES3.functional.texture.shadow.* failures with emulated
depth32f textures on imx8mp.
Fixes: be5b0e08fa4 ("etnaviv: make use of nir_lower_tex_shadow")
Cc: mesa-stable
Signed-off-by: Christian Gmeiner <[email protected]>
Reviewed-by: Lucas Stach <[email protected]>
(cherry picked from commit fa63afe272482cc8c6a1fad6f006d740173d09ca)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
3e9596ec by Lionel Landwerlin at 2026-08-19T21:56:33+02:00
vulkan/runtime: reindex internal bits
New extensions have eaten those bits.
Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: mesa-stable
Reviewed-by: Ivan Briano <[email protected]>
(cherry picked from commit fa3add2979df393b9773eea73a3b9de97a22a0b1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
142a5561 by Lionel Landwerlin at 2026-08-19T21:56:33+02:00
brw: fix non register aligned MOV_INDIRECT source
Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: mesa-stable
Reviewed-by: Ivan Briano <[email protected]>
(cherry picked from commit c8b71cd1526bd3d1c9246b2b8ed49229a62532cb)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
eb28dad7 by Samuel Pitoiset at 2026-08-19T21:56:33+02:00
wsi/display: fix a memleak when swapchain creation failed
The first image must also be destroyed in case of failures.
Found with ASAN in
dEQP-VK.api.array.oversized_array.wsi.direct_drm.get_physical_device_surface_present_modes.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit b38af44f5c04324f204008950304a2383cce50f3)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
0b40bd1c by Samuel Pitoiset at 2026-08-19T21:56:33+02:00
wsi/display: free the previous display name when EDID is parsed
The EDID can be parsed more than once and display_name is re-allocated
every time without beeing freed.
Found with ASAN in
dEQP-VK.api.array.oversized_array.wsi.direct_drm.get_physical_device_surface_present_modes.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 61656d744be6101fe2e807ee6feca9d61724f2bc)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
7f868f63 by Benjamin Cheng at 2026-08-19T21:56:33+02:00
radv/video: Fix interaction with KHR_extended_flags
The vkGetPhysicalDeviceVideoFormatProperties call needs to also handle
the extended outputs.
Fixes: d9a4ad18071 ("radv: implement VK_KHR_extended_flags")
Signed-off-by: Benjamin Cheng <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 8d8160f204ef3566392f40537c5093600c47f0d6)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
5f9ed76f by Mel Henning at 2026-08-19T21:56:33+02:00
nak: Serialize carry access in instr_sched_prepass
Fixes: b55b8da0 ("nak: Add a prepass instruction scheduler")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15989
Reviewed-by: Karol Herbst <[email protected]>
Reviewed-by: Mary Guillemard <[email protected]>
(cherry picked from commit 0138d2e800fcec8b65dc92a2e519cdf4c1a8c8fa)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
843a5f0f by Linermao at 2026-08-19T21:56:33+02:00
virgl: Close winsys fd after destroying screen
virgl_drm_screen_destroy() closes the winsys fd before invoking the
original screen destroy callback. The callback destroys the DRM winsys
and flushes its resource cache. Releasing cached hardware resources uses
qdws->fd to issue DRM_IOCTL_GEM_CLOSE.
Defer closing the fd until the screen destroy callback has completed.
A VirGL GBM/EGL teardown test creates and releases a VBO and texture
before destroying the EGL context and GBM device. With the unpatched
driver, strace shows DRM_IOCTL_GEM_CLOSE returning EBADF after the
winsys fd has been closed. With this change, all GEM_CLOSE calls complete
successfully before the fd is closed.
Fixes: 250fffac152f ("virgl: close drm fd when destroying virgl screen." MR !564)
(cherry picked from commit 057132b93b6c1b0d4da2efac1b285e75e9aa0e29)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
3f88d07e by Utku Iseri at 2026-08-19T21:56:33+02:00
pan: allow CRC with AFBC
There's nothing stopping CRC + sparse-AFBC from working,
this condition was wrongly changed as we believed the comment
above it rather than the code.
There's no reason to have a check here for sparseness at all,
as non-sparse-AFBC (aka AFBC-P) cannot be render targets
and we should never end up here for them.
Fixes: 2ff34486325 ("pan/crc: Fix CRC check for sparse AFBC images")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <[email protected]>
(cherry picked from commit 6a87757de5ef92c7d4b5770a47b2a9836eaf373c)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
c7e793bf by Rob Clark at 2026-08-19T21:56:33+02:00
nir: Add missing lower_io case
Fixes an assert with load/store_global_offset in CL CTS.
Fixes: 355c9b88f721 ("nir: add some helpers for dealing with offset_shift")
Signed-off-by: Rob Clark <[email protected]>
(cherry picked from commit 2376e45acbf67dcb97bcb36ca5377115456b4e0e)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
2343f352 by Caio Oliveira at 2026-08-19T21:56:33+02:00
anv: Pass the correct RT shader key pointers
The internal RT shader cache keys wrap the compiler prog_key with a
name. Pass the full wrapped key to anv_rt_debug_archiver_open(),
matching the size. This avoids out-of-bounds read while hashing.
Since we are here, make sure we pass the right pointer to jay_compile(),
previously we were passing a pointer to a pointer.
Fixes: 97108842afd4 ("anv: Compile init RT shader with Jay")
Reviewed-by: Sagar Ghuge <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 7da2a920f2c1bd0c8a993a2a573c5882e6ba1004)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
66629a81 by Lionel Landwerlin at 2026-08-19T21:56:33+02:00
anv: fix CmdWaitEvents2 dependencyFlags usage
Need to check the flag for each element of the pDependencyInfos[]
array.
Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: 3520abf8a3 ("anv: use RESOURCE_BARRIER for event waiting when possible")
Related-to: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16038
Reviewed-by: Tapani Pälli <[email protected]>
(cherry picked from commit e3643643941e154b44e00e94bdaef7f7bb40c360)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
7f5e0ca7 by JaeHoon Lee at 2026-08-19T21:56:33+02:00
v3dv: check for a failed default attribute values allocation
v3dX(create_default_attribute_values) returns NULL both when the hardware
does not need the BO at all (V3D 7.x returns early) and when the BO
allocation or its map fails. vkCreateDevice stores the result without a
check because it cannot tell the two apart, so a failed allocation can be
kept as a NULL BO and reach the shader record as address 0.
Add v3d_device_needs_default_attribute_values() next to the other device
feature predicates, ask it before allocating, and treat NULL as a failure
on the hardware that needs the BO.
Found by code inspection, not by a CTS or application failure.
Fixes: ce9896727424 ("v3dv: define a default attribute values with float type")
Assisted-by: Claude Code (Claude Opus 5)
Reviewed-by: Alejandro Piñeiro <[email protected]>
(cherry picked from commit 87590c0f4db6e18b0ab12794f97e73e295820558)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
37684949 by Mary Guillemard at 2026-08-19T21:56:33+02:00
nak: Do not encode a RZ for src2 on FMNMX
On SM90+, NVIDIA is reusing bit 65 for .IS_A and this cause it to be
always enabled as we encode RZ (0xff).
This thankfully have no impact currently as we also override the
dst predicate reg that start at bit 66 because of the src2 encoding.
This patch fix this by not encoding anything for src2 and document .IS_A
behavior.
Signed-off-by: Mary Guillemard <[email protected]>
Backport-to: *
Reviewed-by: Mel Henning <[email protected]>
Reviewed-by: Karol Herbst <[email protected]>
(cherry picked from commit 61a2e907f1d6e4a8432d91d0fde5d439a875fbbe)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
c78a62d2 by Benjamin Cheng at 2026-08-19T21:56:33+02:00
ac/video: Don't take codec level from kernel
The kernel values for the max_level aren't always there, and our values
in {uvd,uvd_enc,vce,vcn}_caps are more accurate.
Fixes: 280cb489aec ("radv/video: Use new video codec caps")
Signed-off-by: Benjamin Cheng <[email protected]>
Reviewed-by: David Rosca <[email protected]>
(cherry picked from commit e008ac18a0dd8adc12a40c3605b5fc9fda307b32)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
e008f7d9 by Karol Herbst at 2026-08-19T21:56:33+02:00
clc: move open_clc_data below map_clc_data and close_clc_data
Backport-to: *
(cherry picked from commit 3e632bc962d7491f3e2dd947a9117c2ca2b52d68)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
dc2c02ff by Karol Herbst at 2026-08-19T21:56:33+02:00
clc: use the libclc file size from stat instead of seeking
Backport-to: *
(cherry picked from commit 8c625da1b989c322341cd2c75ae02a55245efaf0)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
6b33a663 by Karol Herbst at 2026-08-19T21:56:33+02:00
clc: map the libclc early
Backport-to: *
(cherry picked from commit 49ac39efb29e755bbaf9bf8e3b45dfabace8f3e2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
27abf225 by Karol Herbst at 2026-08-19T21:56:33+02:00
clc: stop using the mtime as it is not reliable
Apparently some build systems can outsmart us and use identical mtimes of
files across package builds.
Very annoying
Backport-to: *
Reviewed-by: Eric Engestrom <[email protected]>
(cherry picked from commit b9019bb0c2da69487be8a748ec32976ff4e25913)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
92a682e0 by Samuel Pitoiset at 2026-08-19T21:56:33+02:00
radv: fix computing BC formats in texels for HIC
Even when RowLength/ImageHeight are non-zero it should be in texels.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15935
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 7860fcf6a16e54859759e391c0732b4d87822480)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
2f47c118 by Benjamin Cheng at 2026-08-19T21:56:33+02:00
ac: Fix guardband calculation for large viewports
GFX12 raised the max viewport size to 64K, which spans the whole
coordinate range. A viewport that fills the range, or whose center goes
negative after a y-flip (and so can't be recentered by the hw_screen_offset),
has no room for a guardband and computes a < 1 value, tripping the now
removed assert. Clamp to 1 so that the guardband is basically disabled.
Assisted-by: Claude Opus 4.8
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15010
Cc: mesa-stable
Signed-off-by: Benjamin Cheng <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit aebd9a0a2327aaaabb9d10be6cca8e5d1ed1fc85)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
8bfb1e8c by Connor Abbott at 2026-08-19T21:56:33+02:00
tu: Use correct pointer for vis stream patchpoint cs fence
We weren't getting the correct pointer to the fence, which means that
CS's were never getting recycled and therefore there was a leak with
games that reused the same BO and used SIMULTANEOUS_USE_BIT. Fix it.
Fixes: 50aa66a7c1d ("tu: Rewrite visibility stream allocation")
(cherry picked from commit 74d4e41b2bb1e77ef4e022a6a1329d6cc782c4c6)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
2050b246 by Maaz Mombasawala at 2026-08-19T21:56:33+02:00
svga: Pass buffer handle for fd handles for resource_from_handle()
Currently we pass surface handles to the kernel in drmPrimeFDToHandle, and
this gives us an fd for a surface. This causes problems with kwin which imports
the handle expecting it to be a gem handle and attempts to close it with the
gem_close() ioctl.
The way vmwgfx kernel driver processes handle_to_fd, for surface handles,
it always gives surface fd, for gem buffers, it will give the gem buffer fd
for dumb buffers and buffers that don't back a surface, and a surface fd
for buffers that do back a surface.
Pass the gem buffer handle instead of the surface handle. For kwin dealing
with plain or dumb buffers, it gives an fd which can be imported as a gem
buffer, so kwin can close it with gem_close(). For other applications
dealing with surfaces, they will continue to get a surface fd, so will not see
any change in behaviour.
This fixes a memory leak seen on kde desktop.
Signed-off-by: Maaz Mombasawala <[email protected]>
Reviewed-by: Neha Bhende <[email protected]>
(cherry picked from commit b460cff22a56043e48e9ba083a8314b9a52840b4)
Backport-to: *
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
e2303298 by Caio Oliveira at 2026-08-19T21:56:33+02:00
brw: Respect execution mask when resetting GS control data
Use the active execution mask to preserve pending cut bits from inactive
invocations when another invocation reaches a 32-vertex control-data
boundary. This fixes black triangles on some terrain tiles in the map grid
rendered by CaptureAge: Definitive Edition (CA:DE).
Cc: mesa-stable
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit b587ce63f66f0a6b5136bd5d27d6f793410629ad)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
c260cfef by Felix DeGrood at 2026-08-19T21:56:33+02:00
util/u_debug: add unsigned_option
Signed-off-by: Felix DeGrood <[email protected]>
Reviewed-by: Michael Cheng <[email protected]>
(cherry picked from commit 07af2f469330b7bc2503fa5791643ea2d36cee81)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
2088f58e by Caio Oliveira at 2026-08-19T21:56:33+02:00
intel: Preserve 64-bit hashes in shader dump filter
Fixes: fd11e4b4d31a ("intel: switch shader hash to 64bit value")
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 3010172160d3fcfe8c2d81c87829727f4c8e0aa9)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
1c934f4e by Caio Oliveira at 2026-08-19T21:56:33+02:00
anv: Close shader dump archive on device destruction
Fixes: 0a965c0bcef5 ("anv: add a shader-dump debug option")
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
(cherry picked from commit 62585e8940a6ccb920e7b5bd8bc1235e6cabedc2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
99850685 by Gyeyoung Baek at 2026-08-19T21:56:33+02:00
drm-shim: remove the BO's `offset_map` entry on free
Fixes: c4b5ebe1fc91 ("drm-shim: Better mmap offsets")
Signed-off-by: Gyeyoung Baek <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 643438faa37a9b81b9b58674f44418bd88704501)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
17e63e43 by Gyeyoung Baek at 2026-08-19T21:56:33+02:00
pvr/drm-shim: fix BO refcount leak
Fixes: ba104d3e923a ("pvr: add support for drm-shim")
Signed-off-by: Gyeyoung Baek <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit b7e0d3ecf91e6c9007be1bb60feab50ffa3819a7)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
4ff9556d by Gyeyoung Baek at 2026-08-19T21:56:33+02:00
panfrost/drm-shim: fix BO refcount leak
Fixes: 56ea259b42e2 ("panfrost: drm-shim support")
Fixes: 76397f76c944 ("panfrost: Add support for Panthor in drm-shim")
Signed-off-by: Gyeyoung Baek <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit c16008e37b260a75bb8eab4cb7b5f5d3c2735d45)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
84fdfb3d by Gyeyoung Baek at 2026-08-19T21:56:33+02:00
lima/drm-shim: fix BO refcount leak
Fixes: 1976f4980c0f ("lima: Add a noop drm-shim")
Signed-off-by: Gyeyoung Baek <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit e9508085702db283b7e5bf213454ae3882fe524a)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
e53dc00b by Gyeyoung Baek at 2026-08-19T21:56:33+02:00
radeon/drm-shim: fix BO refcount leak
Fixes: d4b6d03408a8 ("r300/r600: Add drm-shim support.")
Signed-off-by: Gyeyoung Baek <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit dcb6115955dc83cefe56f727eb6222cb14513b6d)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
6b12495e by Gyeyoung Baek at 2026-08-19T21:56:33+02:00
amdgpu/drm-shim: fix BO refcount leak
Fixes: df387306d6be ("amd/drm-shim: add amdgpu drm-shim")
Signed-off-by: Gyeyoung Baek <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 641945db83ac216a06d5ae6de7604c159d44faf1)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
74b75ff8 by Gyeyoung Baek at 2026-08-19T21:56:33+02:00
intel/drm-shim: fix BO refcount leak
Fixes: ff44547ea443 ("intel/stub: Implement shell versions of DRM_I915_GEM_GET_TILING and DRM_I915_SEM_GET_TILING")
Fixes: 0f4f1d70bfe9 ("intel: add stub_gpu tool")
Fixes: 00d8fcee1038 ("intel/drm-shim: update shim to support DG2")
Signed-off-by: Gyeyoung Baek <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 5c97d9d69c9a60d163a5450b2f34d6b5f0aebf79)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f174233c by Gyeyoung Baek at 2026-08-19T21:56:33+02:00
drm-shim: fix inverted BO refcounting
drm_shim_bo_put() returned when the refcount reached zero instead of
freeing the object. and drm_shim_bo_init() never took an initial
reference.
Fix this by making drm_shim_bo_init() take the initial reference and
freeing the object when the refcount reaches zero in drm_shim_bo_put().
Fixes: 82bf1979d7b7 ("v3d: Introduce a DRM shim for calling out to the simulator.")
Signed-off-by: Gyeyoung Baek <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 6347bff12949e19c08946c7d5cf3a6c210afa337)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
5257961c by Samuel Pitoiset at 2026-08-19T21:56:34+02:00
radv: add a workaround for broken multi viewport with UE5
UE5 (reproduced with 5.4 but it seems all 5.x versions are affected)
implements multi viewport incorrectly. See the comment below for more
explanations.
This has been reported in the SteamOS tracker here
https://gitlab.steamos.cloud/holo-team/tasks/-/work_items/2253.
This has been uncovered since 9a07ccbc897 ("radv: fix emitting dynamic
viewports/scissors when the count is static") but it's definitely an
application bug.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 0df67d43c8159854ef5e1b45155542a977666b72)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
86d5e96a by Jose Maria Casanova Crespo at 2026-08-19T21:56:34+02:00
broadcom/compiler: restrict fsat_signed/fclamp_pos to 32-bit
These lower to FMOV with the SAT/NSAT/MAX0 f32 input unpacks, which
misinterpret the bits of a 16-bit float source. Since 4c5b0fa7f42
kept fmin/fmax native at 16-bit on V3D 7.1, the rules match 16-bit
patterns and silently corrupt fp16 results.
Fixes: 4c5b0fa7f42 ("v3d: emit packed-f16 ALU ops natively on V3D 7.1")
Assisted-by: Claude Opus 5
Reviewed-by: Alejandro Piñeiro <[email protected]>
(cherry picked from commit d8cd3147e0613cf010f33195644828e65b9c6ded)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
13db7465 by Jose Maria Casanova Crespo at 2026-08-19T21:56:34+02:00
broadcom/compiler: handle 16-bit fsat
The SAT input unpack saturates a 32-bit float, so applying it to a
16-bit fsat operand would misinterpret the f16 bits, like the
fsat_signed/fclamp_pos case fixed in the previous commit.
A 16-bit fsat normally gets widened by nir_lower_bit_size, but
nir_opt_algebraic can form one from the fmin/fmax ops that stay
native 16-bit on V3D 7.1 after the last bit-size lowering: loop
unrolling only happens in the late optimization loop, so a [0,1]
clamp whose min/max halves sit in different iterations of a small
loop turns into fsat past that point.
Fixes: 4c5b0fa7f42 ("v3d: emit packed-f16 ALU ops natively on V3D 7.1")
Assisted-by: Claude Opus 5
Reviewed-by: Alejandro Piñeiro <[email protected]>
(cherry picked from commit 4e66d3ca29458c0c749c199255e348b09e81c514)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
bd4a4688 by Christian Gmeiner at 2026-08-19T21:56:34+02:00
st/mesa: Only drop ARB_depth_buffer_float on desktop GL
compute_version_es2(..) requires the ARB_depth_buffer_float bit for
OpenGL ES 3.0, so clearing it also took ES 3.0 away from drivers that
just emulate the fp32 depth formats.
Fixes: bafa1cd897f ("gallium: Add native_fp32_depth cap to gate ARB_depth_buffer_float")
Signed-off-by: Christian Gmeiner <[email protected]>
Acked-by: Erik Faye-Lund <[email protected]>
(cherry picked from commit c95c27078e54cd1334cb150d9c4591c0dcdc6a36)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
92a3605d by Zan Dobersek at 2026-08-19T21:56:34+02:00
tu: fix R64 image clears via non-generic clear code path
Like in Turnip's generic clear code path, R64 formats should be
adjusted to R32G32 as a supported color format. This avoids an
assert in tu6_format_color() and keeps clears for these color
formats functional.
Signed-off-by: Zan Dobersek <[email protected]>
Fixes: 9e56c7bd8f4 ("tu: Support transfer commands for R64 formats")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15438
Reviewed-by: Valentine Burley <[email protected]>
(cherry picked from commit a933c4fc2682aeac82e33731167d94855a59b7db)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
245fe323 by Rhys Perry at 2026-08-19T21:56:34+02:00
ac/nir/lower_tex_coords: fix moving vector FS inputs loads
RADV usually lowers these to scalar, but they can happen with
VK_PIPELINE_CREATE_2_DISABLE_OPTIMIZATION_BIT.
Signed-off-by: Rhys Perry <[email protected]>
Fixes: ac33f82d54b ("ac/nir/lower_tex_coords: move input loads instead of cloning them")
Reviewed-by: Georg Lehmann <[email protected]>
(cherry picked from commit 78e5e841bee9fba45676b6ea9e18afb3ccb1d6e9)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
08102af8 by Benjamin Cheng at 2026-08-19T21:56:34+02:00
ac/uvd_dec: Only send SESSION_CONTEXT_BUFFER if needed
On parts < POLARIS10, there is no SESSION_CONTEXT_BUFFER required, and
sending it causes kernel to reject the IB due to "invalid UVD command
5".
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16044
Fixes: 4d06fb9acd1 ("ac: Add UVD ac_video_dec implementation")
Signed-off-by: Benjamin Cheng <[email protected]>
Reviewed-by: David Rosca <[email protected]>
(cherry picked from commit 8efc749775ea43474a2f1f7ebb93d1c8bf34ae46)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
b608df6c by Valentine Burley at 2026-08-19T21:56:34+02:00
tu: Fix pDependencyInfos indexing and barrier emission in CmdWaitEvents2
Only the dependencyFlags of the first element in the pDependencyInfos
array was checked, but each element needs to be checked.
Additionally, for symmetric events, tu_CmdSetEvent2 already handles the
required barriers and flushes before signaling the event. Only invoke
tu_barrier() where VK_DEPENDENCY_ASYMMETRIC_EVENT_BIT_KHR is set to avoid
redundant barriers.
Fixes: 7171c3dd718 ("tu: Optimize sync2 event handling in the non-asymmetric case")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16038
Signed-off-by: Valentine Burley <[email protected]>
(cherry picked from commit 6bd12eec8885385bef057def6c6457a3d7f5b355)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f4123df6 by Aitor Camacho at 2026-08-19T21:56:34+02:00
kk: Fix host imported buffer offsets
Fixes: 94295fda67e ("kk: Support VK_EXT_external_memory_host")
Signed-off-by: Aitor Camacho <[email protected]>
(cherry picked from commit 380c6579f3d8349a938dfc1590afcdf0169440ae)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
ef851764 by David Rosca at 2026-08-19T21:56:34+02:00
radeonsi/mm: Don't use HEVC per slice loop filter across slices on old FW
Old FW doesn't code slice_loop_filter_across_slices_enabled_flag when
disabled, so we can't switch it on a slice basis and instead must always
use the value from PPS.
Fixes HEVC encoding with ffmpeg on Deck + SteamOS.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15959
Reviewed-by: Benjamin Cheng <[email protected]>
(cherry picked from commit 5af4976e23a6dd361f5a1e0d26595b47d228c191)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
b377b54c by Danylo Piliaiev at 2026-08-19T21:56:34+02:00
tu: Fix vkResetQueryPool for pipeline statistics query
If only a single pipeline statistic is being enabled, get_result_count
would return 1, but the idx of the statistic in this case depends on
pool->vk.pipeline_statistics.
Cc: mesa-stable
Signed-off-by: Danylo Piliaiev <[email protected]>
(cherry picked from commit ff1c5c3587c60cada3cc9012808ef24c9f2b4862)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
b3082297 by Samuel Pitoiset at 2026-08-19T21:56:34+02:00
radv: fix blitting for 2D array to 3D with a Z flip
It must select the correct source layer.
This fixes new VKCTS coverage
dEQP-VK.api.copy_and_blit.*.blit_image.simple_tests.*reverse_blit*.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit ac2f18a914963e203db17de12e4f59ce28c22afe)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
fdf0e4ad by Benjamin Cheng at 2026-08-19T21:56:34+02:00
vtn: Mark Location decorated variables with explicit_location
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16043
Cc: mesa-stable
Signed-off-by: Benjamin Cheng <[email protected]>
Reviewed-by: Alejandro Piñeiro <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit e6df791052489503918802b52611f79009a096b3)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
cbf790ca by Benjamin Cheng at 2026-08-19T21:56:34+02:00
glsl: Set location to -1 for SPIR-V built-ins
Built-ins should be the only SPIR-V variable without explicit_location
set, and GL spec (7.3.1.1 Naming Active Resources) says:
Not all active variables are assigned valid location; the following
variables will have an effective location of -1:
[...]
- built-in inputs, outputs, and uniforms (starting with gl_)
[...]
Cc: mesa-stable
Signed-off-by: Benjamin Cheng <[email protected]>
Reviewed-by: Alejandro Piñeiro <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 44f2ec754ee4358b2bfd5a0d082f863f11b97348)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
47a72aae by Benjamin Cheng at 2026-08-19T21:56:34+02:00
mesa/shader_query: Handle SPIR-V built-ins in validate_io
Since SPIR-V programs do not have names, is_gl_identifier does not work
for SPIR-V shaders, and undergo validation which would segfault in strcmp.
Cc: mesa-stable
Signed-off-by: Benjamin Cheng <[email protected]>
Reviewed-by: Alejandro Piñeiro <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit c5138d5f2bfbb41b787ab6cf87525b6dbe2d6cdc)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f1129f57 by Danylo Piliaiev at 2026-08-19T21:56:34+02:00
tu: Fix condition for implicit dep of separate DS resolve
Seem to be a copy-paste error.
Fixes: ddb3d30d474 ("turnip: Enable VK_KHR_separate_depth_stencil_layouts")
Signed-off-by: Danylo Piliaiev <[email protected]>
(cherry picked from commit 5ece56a815c9fc341ec92add086eeec1b2d358e9)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
4be02041 by Gyeyoung Baek at 2026-08-19T21:56:34+02:00
pvr: fix sampler handle dereference with immutable samplers
`dEQP-VK.ycbcr.format.g8_b8r8_2plane_420_unorm.vertex_optimal` fails on a
MESA_DEBUG=1 build.
With immutable samplers VkDescriptorImageInfo::sampler is undefined, and
vk_object_base_assert_valid() in VK_FROM_HANDLE() dereferences it inside
an assert.
Fixes: eb04027350e5 ("pvr: preliminary support for combined image samplers")
Signed-off-by: Gyeyoung Baek <[email protected]>
Reviewed-by: Frank Binns <[email protected]>
(cherry picked from commit e2c33e79025d7bc2eb6cdce21353cee71bb63491)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
55311734 by Danylo Piliaiev at 2026-08-19T21:56:34+02:00
tu: Fix CmdSetRenderingInputAttachmentIndices with custom resolve
Otherwise custom resolve subpass may think there are fewer input
attachments than there actually are.
Fixes: 520e3f3a473 ("tu: Implement VK_EXT_custom_resolve")
Signed-off-by: Danylo Piliaiev <[email protected]>
(cherry picked from commit 536fe0f04f36077617b3bc4f54669e37438e6de8)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
367dd1ac by Danylo Piliaiev at 2026-08-19T21:56:34+02:00
tu: Resuming dynamic rendering should re-emit attachments state
>From the Vulkan 1.4.357 spec:
This [VkRenderingAttachmentLocationInfo] state is reset whenever
vkCmdBeginRendering is called.
This [VkRenderingInputAttachmentIndexInfo] state is reset whenever
vkCmdBeginRendering is called.
We forgot to re-emit the draw state of both.
Also, since we now call tu_emit_rendering_attachment_locations on RP
resume, we should disable LRZ writes in trivial case when all color
attachments are enabled.
Cc: mesa-stable
Signed-off-by: Danylo Piliaiev <[email protected]>
(cherry picked from commit 5cb6e8cb88855f2098d33bb4d1d6df55072c95ea)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f7ee8f8c by mmes at 2026-08-19T21:56:34+02:00
anv: fix upload of shader kernels spanning more than one heap BO
anv_shader_heap_upload() walks the BOs an allocation covers and copies each
BO's share of the kernel into it. Two things are wrong for every BO after
the first:
const uint32_t data_offset =
upload_addr - (heap->bos[i].addr + bo_offset);
...
memcpy(heap->bos[i].bo->map + bo_offset, data, copy_size);
data_offset is meant to be how far into "data" this BO's chunk starts, but
the operands are the wrong way round. On the first BO, bo_offset absorbs the
difference and the expression is 0 -- correct, and enough to hide the bug.
On every later BO, bos[i].addr > upload_addr and bo_offset is 0, so the
subtraction goes negative and truncates into a uint32_t as roughly 4GiB.
"size - data_offset" then wraps, so copy_size stops being clamped by the
amount of kernel left and collapses to the destination BO's full size.
And the source pointer is never advanced by data_offset, so every BO is
handed the *head* of the kernel.
For a kernel spanning two BOs the second BO therefore receives the first
bytes of the kernel instead of its tail, overwriting whatever else is already
resident in that BO past the end of this allocation. The kernel's own tail
is never written at all, so the EUs execute whatever happened to land there.
Compute the offset in the direction it is used, in 64 bits, and advance the
source pointer by it.
Fixes: 1fa327ac321 ("anv: Add VMA allocator for shader binaries")
Cc: mesa-stable
(cherry picked from commit 769b2d6ab13ca509487ff38f12a0bdb892343c17)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
c2b3fa93 by Kenneth Graunke at 2026-08-19T21:56:34+02:00
nir: Set info->fs.color_is_dual_source for DUAL_SRC_BLEND var locations
During lowering, we turn vars with location = FRAG_RESULT_DATA0 and
index = 1 into FRAG_RESULT_DUAL_SRC_BLEND. We should detect this and
still flag color_is_dual_source = true, otherwise nir_shader_gather_info
will incorrectly reset it.
Using the color_is_dual_source bit is still useful for conveying that
the shader declared dual source blending outputs even if there isn't
an actual store_output intrinsic for one of them (i.e. it's undefined).
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Faith Ekstrand <[email protected]>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16066
Cc: mesa-stable
(cherry picked from commit 175e1f3cf5347c8a9a104dfcd64d32d7583642b2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
823b352c by Mel Henning at 2026-08-19T21:56:34+02:00
subprojects: Use CDN URLs for crates.io
Follows the recommendation from
https://github.com/rust-lang/crates.io/issues/13482#issuecomment-4304855751
Via sed:
sed s_https://crates.io/api/v1/crates/_https://static.crates.io/crates/_ -i subprojects/*.wrap
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16075
Backport-to: *
(cherry picked from commit ac021d175341483cd267111d5cc160a4a8fa7c16)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f6c893d7 by Samuel Pitoiset at 2026-08-19T21:56:34+02:00
radv: fix cmdbuf alignment with DGC when queues aren't enabled
This fixes more crashes with assertions enabled on AMD BC250 because
the compute queue is disabled.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 15fd588bae91a937a96ed3af6432ccf9ee6e891a)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
6afe8a1f by Lionel Landwerlin at 2026-08-19T21:56:34+02:00
anv: flush L1/L2 caches on end of command buffer
Works around the Xe kernel driver flushing only HDC after a command
buffer and likely an application bug as well missing a barrier between
2 command buffers.
Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16030
Reviewed-by: Ian Romanick <[email protected]>
(cherry picked from commit 771ade18e3f5068e59a523d7a5538b0160acb750)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
4ec5451d by Juan A. Suarez Romero at 2026-08-19T21:56:34+02:00
v3d: fix data in get UBO size
Unlike QUNIFORM_UBO_ADDR, data here is not a v3d_unit_data, but a NIR
UBO index. And it must be also shifted because slot 0 is used to bind
the default uniform buffer, so Gallium binds UBO n in slot n+1.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15883
Assisted-by: Claude Code (Opus 5)
Backport-to: *
Signed-off-by: Juan A. Suarez Romero <[email protected]>
Reviewed-by: Alejandro Piñeiro <[email protected]>
(cherry picked from commit 70fec0194d4a271003182f806ee06eb159967ce0)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
0f89d5fe by Samuel Pitoiset at 2026-08-19T21:56:34+02:00
radv: reset color remapping states when CmdBeginRendering() is called
It's required by the spec and it was missing. Custom resolves aren't
supposed to reset these states, so it needs a small refactoring.
This fixes an issue in new VKCTS coverage
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.custom_resolve.shader_objects.suspend_resume.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit cf1ec78418e3301c365e6be6993dabbc64518333)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
8554e820 by Pierre-Eric Pelloux-Prayer at 2026-08-19T21:56:34+02:00
radeonsi: fix typo in barrier flag check
Fixes: 15e320e9705 ("radeonsi: don't sync VS and PS if they are idle")
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit db39fafc92f73853011fb2676ddfa4dc91203826)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
87d7c070 by Pierre-Eric Pelloux-Prayer at 2026-08-19T21:56:34+02:00
radeonsi/sqtt: fix barrier flags for <= gfx8
get_reduced_barrier_flags will clear sctx->barrier_flags, so the
correct value to use is flags (same as done in gfx10_emit_barrier).
Fixes: 0adea53a6aa ("radeonsi: consolidate code around unsetting barrier_flags in emit_barrier")
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit d48361c46f583da3cfde9b7005615ea84346be18)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
b08e7e8e by Pierre-Eric Pelloux-Prayer at 2026-08-19T21:56:34+02:00
radeonsi: fix typo in descriptors bitmask
The _ALL variant should be used to mask the set bits, not
the _SHIFT one.
Fixes: 4bc8c2590e5 ("radeonsi: rebind a buffer only in shader stages where it's been bound")
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 685dfc6e9560ac7e9f49204ce0055c69bdb6478c)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
5ee21acd by Pierre-Eric Pelloux-Prayer at 2026-08-19T21:56:34+02:00
radeonsi: fix off-by-one cs shader indexing
cs_clear_image_dcc_single has 3 entries but set_work_size returns
1, 2 or 3 so the proper index is "wg_dim - 1".
Fixes: 86131c25a14 ("radeonsi/gfx11: implement DCC clear to "single" for fast non-0/1 clears")
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 1a708f9d074394c34371fe973506f31baf6c6ba4)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
8510e432 by Hans-Kristian Arntzen at 2026-08-19T21:56:35+02:00
radv: Prefer STRUCTURED OOB over STRUCTURED_OFFSET for texel buffers.
Works around a game bug in IL-2: Korea that works on D3D12 AMD native
drivers. Also aligns OOB behavior with pre-gfx10 which is useful to
avoid implementation variance when debugging games.
Signed-off-by: Hans-Kristian Arntzen <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
Cc: mesa-stable
(cherry picked from commit 2c9073912232b93eb9b60486edbd72d53e5f3d26)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
be2e0e6e by Danylo Piliaiev at 2026-08-19T21:56:35+02:00
tu: Fix gmem not being disabled for some non-fb-space stages with sync2
framebuffer_space_stages being 32b resulted in `~framebuffer_space_stages`
being done in 32b, then zero extended to 64b.
Fixes: 59259a01671 ("tu: Convert to sync2 entrypoints")
Signed-off-by: Danylo Piliaiev <[email protected]>
(cherry picked from commit df87847722c00d0b5a33db3a9e8fefca6be57f0b)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
53f0237c by Robert Mader at 2026-08-19T21:56:35+02:00
llvmpipe: Pass size to displaytarget_create_mapped()
This will allow us to set the actual allocation size instead of
calculating it manually in follow-up commits.
Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <[email protected]>
(cherry picked from commit aef497d66998e760f2fa5af9351051e1ee9443fc)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
9d06839f by Robert Mader at 2026-08-19T21:56:35+02:00
kms-dri-sw: Use size and offset from whandle in create_mapped()
Now that the whandle size is set correctly, let's use it. Also pass on
the offset so get_plane() can properly check the size.
This will prevent issues with multi-plane formats going forward.
Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <[email protected]>
(cherry picked from commit b1a3049b35ea0d267830920c501e5134ab36c84d)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
c825d0c2 by Robert Mader at 2026-08-19T21:56:35+02:00
dri-sw: Use size and offset from whandle in create_mapped()
Now that the whandle size is set correctly, let's use it. Also check that
it's big enough, similar to like we already do in
kms_sw_displaytarget_create_mapped()->get_plane().
This will prevent issues with multi-plane formats going forward.
Cc: mesa-stable
Reviewed-By: Mike Blumenkrantz <[email protected]>
(cherry picked from commit 8613a718f2ae2d17ecab84eef8868e997b4d4d73)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
1e0d8e85 by Jianxun Zhang at 2026-08-19T21:56:35+02:00
iris: Fix an assertion when importing dmabuf
Fixes: 1149f1c5a18 (iris: Choose PAT entry on imported buffers (xe2))
Cc: mesa-stable
Signed-off-by: Jianxun Zhang <[email protected]>
Reviewed-by: Nanley Chery <[email protected]>
(cherry picked from commit 739dd33f5d06986296a402d0b6b885aa4da819ef)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
b4dc72dd by Jianxun Zhang at 2026-08-19T21:56:35+02:00
anv: Refactor check on CCS modifiers
We don't have to call the same helper function multiple
times for the same modifier check. We will aslo add
another case in the following change.
Cc: mesa-stable
Signed-off-by: Jianxun Zhang <[email protected]>
Reviewed-by: Nanley Chery <[email protected]>
(cherry picked from commit 7dcaacd3d06eb6b458aeb3d965ef45b95d2b5c79)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
2f0d9ed2 by Jianxun Zhang at 2026-08-19T21:56:35+02:00
anv: Set dedicated_only feature bit for CCS modifiers
We rely on dedicated allocation as a hint of compression state
for CCS modifiers and implemented the requirement in
anv_image_get_memory_requirements(). But to make sure apps
pass down the VkMemoryDedicatedRequirements struct to query the
info, we need to set this bit.
Cc: mesa-stable
Signed-off-by: Jianxun Zhang <[email protected]>
Reviewed-by: Nanley Chery <[email protected]>
(cherry picked from commit 04aad29500b65c02d3e7c1856fa10db732344ea2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
ab0267cf by Zhang, Jianxun at 2026-08-19T21:56:35+02:00
anv: Require dedicated allocation query on scanout images from WSI
This ensures application to query the dedicated allocation on these
images.
Cc: mesa-stable
Signed-off-by: Zhang, Jianxun <[email protected]>
Reviewed-by: Nanley Chery <[email protected]>
(cherry picked from commit 944ef80b85da5a98ca92b2f9a616151cc562de0c)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
7a78c0b5 by Lars-Ivar Hesselberg Simonsen at 2026-08-19T21:56:35+02:00
panvk/v10+: Fix unbound LD_ATTR.auto32
An issue was found where LD_ATTR.auto32 against a NullDescriptor would
intermittently return unexpected results (zero_zero_zero_one rather than
zero_zero_zero_zero).
The issue appears to be in the interaction between .auto32 and the
default format descriptor used for NullDescriptors or
AttributeDescriptors containing an invalid format.
To avoid this, set up specialized AttributeDescriptors for unused
attributes that contain a valid format and ensure out-of-bounds
behavior by pointing to the non-existent table 17.
Another workaround would be to avoid the use of .auto32, but that breaks
a GL test checking for bit exact copies from both signed and unsigned
integer attributes pointing to the same underlying data.
Cc: mesa-stable
Reviewed-by: Eric R. Smith <[email protected]>
Reviewed-by: Lorenzo Rossi <[email protected]>
(cherry picked from commit 6eccd73966b9d4a348aa7cff8db2b64b68556117)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
e9c7e88d by JaeHoon Lee at 2026-08-19T21:56:35+02:00
v3dv: report correct TMU spill and fill counts
A ggml workload exposed that both counts used the spill buffer size.
Fixes: 43392c2ea0fb ("v3dv: implement vkGetPipelineExecutableStatisticsKHR")
Assisted-by: Codex (GPT-5)
Reviewed-by: Alejandro Piñeiro <[email protected]>
(cherry picked from commit 32daa04241fb09ce28f52b703549b82e2fb1a949)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
a4c5e9a3 by Sebastian Wick at 2026-08-19T21:56:35+02:00
kms-dri-sw: Remove always-true whandle check and simplify control flow
In b1a3049b35e ("kms-dri-sw: Use size and offset from whandle in
create_mapped()") we started relying on whandle being non-NULL already
but it left the check in place. Add an assert for the pre-condition,
remove the check and clean up the control flow.
Signed-off-by: Sebastian Wick <[email protected]>
Cc: mesa-stable
Reviewed-By: Robert Mader <[email protected]>
Reviewed-By: Mike Blumenkrantz <[email protected]>
(cherry picked from commit c28ff3b5ebacd19d37e639f1d22b74e1dd3e7c04)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
05ee0179 by Sebastian Wick at 2026-08-19T21:56:35+02:00
kms-dri-sw: Handle drmPrimeFDToHandle errors in create_mapped()
The same way we handle the error in the non-mapped crate case.
Signed-off-by: Sebastian Wick <[email protected]>
Cc: mesa-stable
Reviewed-By: Robert Mader <[email protected]>
Reviewed-By: Mike Blumenkrantz <[email protected]>
(cherry picked from commit c27af9c5a13b58ef6534344cac15083484bdb1c0)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
cf602cc0 by Sebastian Wick at 2026-08-19T21:56:35+02:00
kms-dri-sw: Move find_and_ref() to make it available to create_mapped()
Signed-off-by: Sebastian Wick <[email protected]>
Cc: mesa-stable
Reviewed-By: Robert Mader <[email protected]>
Reviewed-By: Mike Blumenkrantz <[email protected]>
(cherry picked from commit ecb8792f9cff15db8796b63cd6fae49e12aecf38)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
76b047f1 by Sebastian Wick at 2026-08-19T21:56:35+02:00
kms-dri-sw: Deduplicate displaytargets by handle in create_mapped()
When a DMA-BUF is imported via create_mapped() with a whandle,
drmPrimeFDToHandle() returns the existing GEM handle if the object is
already open on this fd. Without deduplication, a second displaytarget
is created for the same handle, each with an independent ref_count.
Destroying either one calls DESTROY_DUMB on the shared handle,
invalidating it for the other.
This causes drmModeAddFB to fail with ENOENT or SIGSEGV in llvmpipe
workers when a Wayland compositor imports the same client buffer for
both rendering (EGL) and direct scanout (KMS), since both paths share
the same pipe_screen and winsys.
Fix this by resolving the handle before allocation and checking
find_and_ref, matching what add_from_prime() already does.
Fixes: 5cc0d1b681b ("kms-dri-sw: Implement create_mapped()")
Signed-off-by: Sebastian Wick <[email protected]>
Cc: mesa-stable
Reviewed-By: Robert Mader <[email protected]>
Reviewed-By: Mike Blumenkrantz <[email protected]>
(cherry picked from commit 81d8a64ba81a97fefc08c8e88288b6ea1463689e)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
038ec70a by Pierre-Eric Pelloux-Prayer at 2026-08-19T21:56:35+02:00
radeonsi: fix AMD_DEBUG=usellvm usage
This flag is part of shader_debug_flags not debug_flags.
Fixes: 996c0af482c ("radeonsi: fix use aco/llvm debug options")
Reviewed-by: Benjamin Cheng <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 8cafe2c1a7db42c2972eb44e83becd14a9c532bb)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
0baa6f56 by Tupili Krishna Gowtham Reddy at 2026-08-19T21:56:35+02:00
tu: Don't force R32_UINT when clearing MSAA E5B9G9R9 images
clear_image_cp_blit() clears VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 images by
substituting PIPE_FORMAT_R32_UINT and pre-packing the clear value into
RGB9E5 bits in software.
Only apply the substitution when using r2d, matching the same check
already used for clearing sysmem attachments.
Fixes: 9dc3410512d ("tu: Add support for VK_FORMAT_E5B9G9R9_UFLOAT_PACK32 color attachments")
Signed-off-by: Tupili Krishna Gowtham Reddy <[email protected]>
(cherry picked from commit cf2c11b5eeab86eb4a4650051cb3586350abc684)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
587faa6c by David Rosca at 2026-08-19T21:56:35+02:00
radv/video: Fix out of bounds reads of AV1 tile params
Fixes: 6aed9064104 ("radv/video: Use ac_video_dec for decode")
Reviewed-by: Samuel Pitoiset <[email protected]>
Reviewed-by: Benjamin Cheng <[email protected]>
(cherry picked from commit f413ab8ccd882b27738667ddedc078b0e6a697f9)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
04e04490 by Connor Abbott at 2026-08-19T21:56:35+02:00
tu: Add missing WFI to tu6_clear_lrz()
We need to wait to wait for the cache clean to land before writing LRZ
via the CCU.
Cc: mesa-stable
(cherry picked from commit 99fed09b0b6cf9dbe3f18b62915714812adc245b)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
15052ef2 by Dominique Belhachemi at 2026-08-19T21:56:35+02:00
gallivm: orcjit: fix use-after-free in remove_jd() during exit
Any Vulkan program that creates a VkDevice via lavapipe and lets
the device be destroyed from an atexit handler crashes with SIGSEGV
inside llvm::orc::ExecutionSession::removeJITDylib.
Fix: check that the LPJit singleton hasn't already been destroyed before
touching it in remove_jd(), and clear the static pointer immediately
after deleting it in lpjit_exit(), so that check is meaningful instead
of racing against a dangling pointer.
Reproduced and verified fixed on real riscv64 hardware (JH7110) with a
minimal VkInstance+VkDevice teardown reproducer.
Fixes: 5f22e152ade9 ("gallivm: orcjit: use atexit to release LPJit singleton at exit")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15946
(cherry picked from commit efeda58bb23294b848e846219c37fe95c6d939b8)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
8c560967 by David Rosca at 2026-08-19T21:56:35+02:00
radeonsi/mm: Use correct feedback size for VCE
This was always wrong, but since we used to disable suballocation
for all video buffers, using smaller size would just write into
the unused padding memory.
With suballocated buffers this can now write into a region that
belongs to a different buffer, causing invalid data being read
from feedback.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16087
Reviewed-by: Benjamin Cheng <[email protected]>
(cherry picked from commit 5842099c6db8f91f91fb4f2e454ebba4139da5f2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f2cc4a45 by Timur Kristóf at 2026-08-19T21:56:35+02:00
ac/nir/clear_copy_buffer: Fix last thread byte count
Use modulo division of bytes per thread instead of 4.
For example when we are doing a copy of 4 bytes and the number
of dwords per thread is set to 2 (8 bytes per thread), we need
to copy those 4 bytes on the last thread.
This fixes some Vulkan CTS test failures when using this meta
shader with RADV. (Although RADV doesn't use this shader
yet, it's important to fix this bug before it does.)
Cc: mesa-stable
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit ecc2d55a1bfadc24810cc9347821182dc8d94027)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
82f19203 by Timur Kristóf at 2026-08-19T21:56:35+02:00
aco/isel: Only allow first load to write the dst
For example, it can happen that we want to load 8 bytes from
an unaligned address. In this case we want to emit two loads:
(1) 1 byte from an unaligned address
(2) 7 bytes from an aligned address
The second load will select buffer_load_dwordx2 whose destination
register class matches that of the destination, so the MUBUF load
callback chooses to write the destination with the second load,
which is incorrect.
Instead, after the first load is emitted, change the info passed
to the callback to have an empty Temp() to prevent it from
writing the actual destination.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Georg Lehmann <[email protected]>
(cherry picked from commit 73a5152ba0e0ef1d03cbb57e3062604c24ee88c9)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
ccb81616 by Christoph Pillmayer at 2026-08-19T21:56:35+02:00
pan/bi: Fix vector phis from spilling
Spilling, or more specifically bi_repair_ssa, can create vector phis
that are not trivial and remain after spill lowering. For example in
dEQP-VK.glsl.indexing.matrix_subscript.mat4_dynamic_loop_write_dynamic_read_vertex
we end up with the following after bi_lower_spill:
block0 {
32x4 %93 = COLLECT.i32 %17, %19, %21, %12
STORE.i128.tl %93, tls_ptr, tls_ptr[1], byte_offset:80
}
block10 {
32x4 %153 = LOAD.i128.tl tls_ptr, tls_ptr[1], byte_offset:80
}
block12 {
32 %169 = PHI.table1 %153, %93
}
Note the "table1" on the PHI indicating that we think the width of the
PHI is 1, which is obviously wrong.
Fix this by expanding the usage of the bi_instr::table sidechannel to
all phis during spill lowering. It's intentionally still part of the
spill lowering since those PHIs are created from spilling and we don't
want to fully support vector PHIs everywhere now when kraid is around
the corner.
Fixes: 7606854f439 ("pan/compiler: fix spilling for 64-bit values")
Acked-by: Lorenzo Rossi <[email protected]>
Reviewed-by: Jakob Sinclair <[email protected]>
Reviewed-by: Eric R. Smith <[email protected]>
(cherry picked from commit d00b719c453d504b9b2a525aa1a68034059b0b67)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
8e81a62e by David Rosca at 2026-08-19T21:56:35+02:00
radv/video: Fix AV1 decode qmatrix params
There's been a FW change and the high 4 bits are no longer ignored.
Cc: mesa-stable
Reviewed-by: Benjamin Cheng <[email protected]>
(cherry picked from commit d298e30ad819e92680c3b098c261e9642a4b1602)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
a1fb650c by David Rosca at 2026-08-19T21:56:35+02:00
radeonsi/mm: Fix AV1 decode qmatrix params
There's been a FW change and the high 4 bits are no longer ignored.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16090
Reviewed-by: Benjamin Cheng <[email protected]>
(cherry picked from commit 3c4d3e46d19f2f4e951f3ae059543b03592f7944)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
d6f34809 by Samuel Pitoiset at 2026-08-19T21:56:35+02:00
radv: set radv_disable_aniso_single_level=true for Wolfenstein II: The New Colossus
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16092
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 9f6f53a9b10a2f9de5397e4c9e88e884e6fd7aea)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
ed2598c4 by Jan Meisel at 2026-08-19T21:56:35+02:00
nir/search: reset FP state for commutative match attempts
Each commutative direction is an independent match attempt. variables_seen is
already reset between attempts, but fp_math_ctrl was initialized only once
and accumulated flags from failed directions.
This can incorrectly mark replacement instructions exact or otherwise
restrict their FP behavior. Reset fp_math_ctrl together with the other
per-attempt state and add a regression test where the first direction
descends through an exact instruction before the second direction succeeds
without it.
Cc: mesa-stable
Reviewed-by: Georg Lehmann <[email protected]>
Assisted-by: Codex
Signed-off-by: Jan Meisel <[email protected]>
(cherry picked from commit e1c6bf8d20713261c2cba57b59b93cc5e75d08e4)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
66b78b52 by Timur Kristóf at 2026-08-19T21:56:35+02:00
radv: Use GL2_BYPASS flag for GFX preamble
Same reasons why we use GL2_BYPASS for other CS buffers.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 5bf5a3ccdb1971ab2c82ac65cb79adac5df5e82f)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
b6842fd4 by Timur Kristóf at 2026-08-19T21:56:35+02:00
radv: Use preemptable wait in gang preamble
When the gang members wait for the gang leader to start,
use a preemptable wait. This helps in case multiple
gang compute jobs are scheduled on different compute
queues that belong to the same compute pipe, because
it allows the pipe to preempt a gang compute IB that
is waiting for its graphics queue counterpart, thus
prevents a potential deadlock.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 20788d3f440e04d090e779ac6c265d8e3223555e)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
2ce5b797 by Timur Kristóf at 2026-08-19T21:56:35+02:00
radv: Use PFP for gang postamble wait and write
When the gang leader is graphics, make sure to use the PFP to
wait and write the semaphore. Previously this was done by the ME
which meant that the PFP could in theory move forward and process
packets that come after the current submission, before the ACE
IB is finished.
Waiting with PFP is safer because it prevents PFP from prefetching
or doing other things while the wait hasn't finished.
Inter-queue synchronization should always be done in PFP.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 5c7a8cd6393fe88f04831a83a5cd8df622a38bde)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
0bee5b28 by Timur Kristóf at 2026-08-19T21:56:35+02:00
radv: Wait for L2 cache writeback on ACE for SDMA+ACE gangs
For transfer queues, we use ACE (Async Compute Engine) as
fallback for transfer operations not supported by SDMA.
Unfortunately, SDMA doesn't use the GL2 cache by default
so it isn't coherent with compute shader memory writes.
Let's make sure to wait for L2 writeback when SDMA waits
for ACE and at the end of command buffers if there is
a pending operation on ACE.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 85d08fe5557c755e628e36ff31c242499c749c96)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
2afa972c by Dave Airlie at 2026-08-19T21:56:35+02:00
mesa/get: fix luid size and driver callback.
This was reported as a security bug, it definitely is a bug,
it doesn't seem like a security one.
a) fix the UUID vs LUID mixup
b) check the callback before calling it.
Reviewed-by: Jesse Natalie <[email protected]>
Cc: mesa-stable
(cherry picked from commit b09b90f2072e4c5b6512a701f756bb5091aa613b)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
a9b0d69c by Samuel Pitoiset at 2026-08-19T21:56:35+02:00
radv/meta: fix using aspects for blits
It can be a subset of the image aspects. It's also supposed to use the
ones passed via vkCmdBlitImage, so use the image views.
I think it just worked by accident but it was broken with two
consecutive blits one with depth-only and the second with stencil-only
due to the key being similar.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit f38b05eaaf2d4f570fa417c6ac3fe80939d71c47)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
262d20be by Georg Lehmann at 2026-08-19T21:56:36+02:00
radv: disable nir_opt_reassociate_for_fma for VS if it's not the last pre FS shader
Invariant position doesn't cover generic VS outputs used
to compute position in later stages.
Foz-DB Navi48:
Totals from 1382 (0.66% of 209079) affected shaders:
MaxWaves: 39716 -> 39784 (+0.17%); split: +0.23%, -0.06%
Instrs: 1073096 -> 1078247 (+0.48%); split: -0.01%, +0.49%
CodeSize: 5312796 -> 5326488 (+0.26%); split: -0.04%, +0.30%
VGPRs: 78816 -> 78252 (-0.72%); split: -0.76%, +0.05%
Latency: 9499280 -> 9516170 (+0.18%); split: -0.01%, +0.18%
InvThroughput: 1859682 -> 1863445 (+0.20%); split: -0.00%, +0.20%
VClause: 14081 -> 14136 (+0.39%); split: -0.01%, +0.40%
SClause: 15515 -> 15566 (+0.33%); split: -0.05%, +0.38%
Copies: 74653 -> 74788 (+0.18%); split: -0.22%, +0.40%
PreSGPRs: 53221 -> 53213 (-0.02%)
PreVGPRs: 62840 -> 61985 (-1.36%); split: -1.38%, +0.02%
VALU: 513364 -> 517815 (+0.87%); split: -0.01%, +0.88%
SALU: 247709 -> 247755 (+0.02%); split: -0.00%, +0.02%
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16049
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/16086
Fixes: fb774cf7a1e ("radv: run nir_opt_reassociate_for_fma for VS/GS too")
Reviewed-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 1a12d7188b46703d433f4d909b0e8e0d6c5bbe5d)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
19f215cd by Ryan Zhang at 2026-08-19T21:56:36+02:00
panvk/utrace: add dynamic alloc for utrace clone buffer
The utrace clone CS builder is given an empty root buffer and a
.alloc_buffer callback, so every CS chunk (including the first) is
allocated on demand from the utrace copy heap. Each allocated chunk
is tracked in a per-submit dynarray and freed together with the flush
data, replacing the previous fixed single-chunk root buffer that could
silently overflow.
The chunks are sub-allocated from the pre-created utrace copy heap BO
via a util_vma_heap, not from a fresh BO per chunk, so on-demand growth
is just a cheap virtual-address bump and does not incur the cost of
allocating and mapping a new kernel buffer object.
Fixes: 05006c2 ("panvk/utrace: Alloc utrace copy buf from userspace heap")
Signed-off-by: Ryan Zhang <[email protected]>
Reviewed-by: Christoph Pillmayer <[email protected]>
(cherry picked from commit d0aaa25a5a9fb00ebc4f7df7f4dfb6b5565530f2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
58c98f3a by Ryan Zhang at 2026-08-19T21:56:36+02:00
panvk/utrace: skip clone copy when timestamp buffer allocation fails
u_trace_clone_append() stores a NULL buffer when the copy heap is
exhausted and still calls back. Guard utrace_copy_buffer/read_ts/get_data
against NULL so affected trace points report no timestamp/data.
Fixes: 05006c2 ("panvk/utrace: Alloc utrace copy buf from userspace heap")
Signed-off-by: Ryan Zhang <[email protected]>
Reviewed-by: Christoph Pillmayer <[email protected]>
(cherry picked from commit 4388fafa1b2c43abdf057ee05911cb737972b92a)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
6a543918 by Ryan Zhang at 2026-08-19T21:56:36+02:00
panvk/utrace: guard delete_buffer against NULL on clone alloc failure
u_trace_fini() calls delete_buffer for the NULL container stored when a
clone timestamp allocation failed. Skip freeing when the buffer is NULL.
Fixes: 05006c2 ("panvk/utrace: Alloc utrace copy buf from userspace heap")
Signed-off-by: Ryan Zhang <[email protected]>
Reviewed-by: Christoph Pillmayer <[email protected]>
(cherry picked from commit 51e21610dcf40be0d6a04ffcde404c191d9cd26a)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
7710efbc by Ryan Zhang at 2026-08-19T21:56:36+02:00
panvk/utrace: handle clone CS heap exhaustion gracefully
The clone CS heap can be exhausted, making an on-demand chunk allocation
return NULL and leaving the clone CS builder invalid. Detect this with
cs_is_valid() and flush the original u_trace instead of submitting a
broken CS.
Fixes: 05006c2 ("panvk/utrace: Alloc utrace copy buf from userspace heap")
Signed-off-by: Ryan Zhang <[email protected]>
Reviewed-by: Christoph Pillmayer <[email protected]>
(cherry picked from commit d22b355f035c57d2051575cd93c05bb98dbb455e)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f7132bdd by Juan A. Suarez Romero at 2026-08-19T21:56:36+02:00
broadcom/compiler: flip varyings replaced through COORD_REPLACE
Point coord is flipped through lower_pntc_ytransform. But this
lowering does not flip varyings replaced through GL_COORD_REPLACE, so
we do it in the compiler
Assisted-by: Claude Code (Opus 5)
Backport-to: *
Signed-off-by: Juan A. Suarez Romero <[email protected]>
Reviewed-by: Alejandro Piñeiro <[email protected]>
(cherry picked from commit ce21d3eed95d28ce2abb3ad854d2f08353802d35)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
28010eaa by Juan A. Suarez Romero at 2026-08-19T21:56:36+02:00
broadcom/compiler: set full texture coordinates for sprite points
Gallium requires the texture coordinatae for rendering sprite points to
be of the form (s, t, 0, 1), not only (s,t).
This is correctly done in vc4, but not in v3d.
Assisted-by: Claude Code (Opus 5)
Backport-to: *
Signed-off-by: Juan A. Suarez Romero <[email protected]>
Reviewed-by: Alejandro Piñeiro <[email protected]>
(cherry picked from commit d85d3f760e822d0b8ffe95ccccd84f812e79e667)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
b2a6d40e by Paul Grandperrin at 2026-08-19T21:56:36+02:00
wsi/wayland: move wsi_wl_surface_get_present_modes() higher in file
to prepare for the next commit that will need to call this function
from wsi_wl_surface_get_capabilities2().
Signed-off-by: Paul Grandperrin <[email protected]>
Reviewed-and-tested-by: Hans-Kristian Arntzen <[email protected]>
(cherry picked from commit 94cbaaad02951a0b0271c71ad63b055b3ff8a429)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
de965953 by Paul Grandperrin at 2026-08-19T21:56:36+02:00
wsi/wayland: send tearing hints when present mode changes to IMMEDIATE
If we want clients to be able to change the present mode to IMMEDIATE at
present commit time, we first need to expose all the compatible present
modes in order to allow the client to setup the swap-chain properly.
This part is inspired by what's already being done in X11's WSI.
The only real difference is that we need to call
wsi_wl_surface_get_present_modes in order to get the list of available
present modes.
Then, instead of only sending the tearing hints at the swap-chain
creation, we also send them, when needed, at present commit time in
wsi_wl_swapchain_set_present_mode().
Fixes: ad71d584 ("wsi/common: Add function to modify present mode.")
Assisted-by: pi (DeepSeek V4 Flash 0731)
Signed-off-by: Paul Grandperrin <[email protected]>
Reviewed-and-tested-by: Hans-Kristian Arntzen <[email protected]>
(cherry picked from commit 0b1b8798d81cb4da8c181c7d81076a0541006853)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
75b23b69 by Rob Clark at 2026-08-19T21:56:36+02:00
Revert "freedreno: Don't re-bind global buffers"
pctx->set_global_binding() only guarantees that the global bindings are
valid in the next pctx->launch_grid() call(s). It doesn't need to
remain valid across other state binds.
Fixes timing related crashes in OpenCL-CTS test_buffers and test_events.
This reverts commit 9892e333d008834398aece726bdddf169b6e9fc0.
Signed-off-by: Rob Clark <[email protected]>
(cherry picked from commit d4e515de85a0637a6b272246d5b4ce8ff8f33443)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
ce8a5fb5 by Connor Abbott at 2026-08-19T21:56:36+02:00
tu: Set MSM_SUBMIT_SYNCOBJ_* when there are only internal syncobjs
Otherwise the kernel will ignore our internal syncobj if there are no
user syncobjs.
Fixes: 0cc0e786e09 ("tu/drm: Emulate combined gfx/sparse queues")
(cherry picked from commit fe1491b758fe6aec57f5109a12821accd2d5efce)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
ebe53ae5 by Rhys Perry at 2026-08-19T21:56:36+02:00
nir/cf: add nir_cf_list_detach_ssa
Signed-off-by: Rhys Perry <[email protected]>
Reviewed-by: Georg Lehmann <[email protected]>
Backport-to: *
Reviewed-by: Daniel Schürmann <[email protected]>
(cherry picked from commit 471d48f8195a7367bfadc69179f9346ae959e4e0)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
148387f3 by Rhys Perry at 2026-08-19T21:56:36+02:00
nir/simplify_loops: lower ssa to registers if it might be necessary
No fossil-db changes.
Signed-off-by: Rhys Perry <[email protected]>
Fixes: 31af989270f ("nir/lower_continue_constructs: Simplify loops before lowering continue constructs")
Reviewed-by: Georg Lehmann <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
(cherry picked from commit d1f184ac6c13390e6b315d039048b8100061d744)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
b63d28b3 by Rhys Perry at 2026-08-19T21:56:36+02:00
nir/simplify_loops: fix predication of an empty cf list
Signed-off-by: Rhys Perry <[email protected]>
Fixes: 31af989270f ("nir/lower_continue_constructs: Simplify loops before lowering continue constructs")
Reviewed-by: Georg Lehmann <[email protected]>
Reviewed-by: Daniel Schürmann <[email protected]>
(cherry picked from commit 4bc7286d17ee7454e3ee0ea45036cd2cf368a965)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
73e6093f by Connor Abbott at 2026-08-19T21:56:36+02:00
nir: Don't allow peephole_select on read_invocation
read_invocation and quad_broadcast take an invocation argument which
must be uniform across the subgroup/quad. Flattening the if can make
this become non-uniform. This was even tested by CTS, however
the way the test was written, implementations which silently did
read_first_invocation on the invocation would happen to pass. On turnip
we don't always do read_first_invocation, and the HW helpfully hangs
when the invocation to read_invocation is non-uniform, but we happened
to not flatten the if, and fixing the underlying cause of that exposed
this bug.
Cc: mesa-stable
Reviewed-by: Timur Kristóf <[email protected]>
Reviewed-by: Georg Lehmann <[email protected]>
Signed-off-by: Connor Abbott <[email protected]>
(cherry picked from commit 5f1c5da39ef00e4393e1ab1203c661dc079c30bd)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
7a4e65b5 by Christian Gmeiner at 2026-08-19T21:56:36+02:00
etnaviv: drm: Do not return a stale fence fd
etna_cmd_stream_flush(..) copied req.fence_fd to the caller
unconditionally. A flush with frontend noop enabled skips the submit
ioctl even when an out-fence is requested, and a failed submit produces
no fence. In both cases req.fence_fd was never written by the kernel,
so the caller received a stale value, either 0 or a copy of the
in-fence fd, which the fence code later closes. Initialize the
returned fd to -1 and take req.fence_fd only after a successful
submit.
Cc: mesa-stable
Signed-off-by: Christian Gmeiner <[email protected]>
Reviewed-by: Lucas Stach <[email protected]>
(cherry picked from commit 398d84e3c8f46d5209cae62b0091e8bf2dc9cf17)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
3a9cdbd0 by Kajal Kajal at 2026-08-19T21:56:36+02:00
rusticl: fix wrong destination offset in Image::copy_to_buffer
dst_offset is passed into Image::copy_to_buffer already converted to
bytes, by both callers:
- clEnqueueCopyImageToBuffer passes its dst_offset argument straight
through, and the OpenCL spec defines it as a byte offset.
- clEnqueueCopyImage, when copying into an image backed by a buffer,
converts dst_origin (a pixel coordinate) into bytes itself before
calling in, using CLVec::calc_offset() against a bpp-scaled pitch.
The destination write landed at dst_offset * bpp instead
of dst_offset. This was invisible for 8-bit-per-channel formats
(bpp == 1, so the extra multiply is a no-op) but corrupted every
other format.
Backport-to: *
Signed-off-by: Kajal Kajal <[email protected]>
Reviewed-by: Karol Herbst <[email protected]>
(cherry picked from commit 7cee821cdec35e68d46c5313db19488b9bbe116e)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
2785f37f by Caio Oliveira at 2026-08-19T21:56:36+02:00
brw: Fix scalar image coordinate payloads
MEMORY_LOGICAL_ADDRESS is a vector base. Selecting channel zero in
get_nir_src() gives convergent coordinate vectors stride zero, so LSC payload
lowering steps through SIMD lanes instead of vector components. A 2D
coordinate (x, 0, ...) may consequently become (x, x).
Pass the full vector to preserve its component layout. Since this leaves a
contiguous scalar vector, make LSC lowering expand scalar addresses to the
send execution width, which may differ from the scalar allocation width.
SPIR-V with extra values in the coordinate vector or NIR transformations
could hit this issue.
Fixes: d5d7ae22ae4d ("brw/nir: Fix up handling of sources that might be convergent vectors")
Assisted-by: Pi coding agent
Reviewed-by: Ian Romanick <[email protected]>
(cherry picked from commit b494a038cbaa6776f939bc9bba35dc429b68af15)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
e1505a74 by Maaz Mombasawala at 2026-08-19T21:56:36+02:00
svga: Remove erroneous else-if in surface_get_handle()
My previous commit introduced a subtle error for fd handles where for vmwgfx
versions < 2.21 and surfaces without a backing buffer, the function
vmw_drm_surface_get_handle() would do nothing.
Change the else-if to a plain else to fix the issue.
Fixes: b460cff22a5 ("svga: Pass buffer handle for fd handles for resource_from_handle()")
Signed-off-by: Maaz Mombasawala <[email protected]>
Backport-to: *
(cherry picked from commit 357f02d2413304e03e0e64fbbe388ca141025ab0)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
34a6e0e3 by Yiwei Zhang at 2026-08-19T21:56:36+02:00
vulkan/android: undo forcing linear for mutable format
The prior fix is too aggressive and has regressed ANGLE performance.
Fixes: d02b25157c6 ("vulkan/android: force linear for mutable format")
Reviewed-by: Juston Li <[email protected]>
Reviewed-by: Valentine Burley <[email protected]>
(cherry picked from commit 491bb61a48c0b8d4d1084e944989b6977a76ae0d)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
40bc494d by Vandomas at 2026-08-19T21:56:36+02:00
wsi/metal: fix memoryTypeIndex in image memory allocation
memoryTypeBits is a mask, memoryTypeIndex is an index. With a single
memory type the mask value 0x1 selects nonexistent type 1 instead of
type 0, so pick a proper type with wsi_select_device_memory_type()
found while bringing up the vulkan swapchain path of the Beyond All
Reason macos port on kosmickrisp
Fixes: 39a7d65113c ("wsi/metal: Backend addition for drivers built on top of Metal")
Reviewed-by: Aitor Camacho <[email protected]>
(cherry picked from commit e08319d7316331b39aa2e401dbb88a36749e018e)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
3166618d by Yi Ding at 2026-08-19T21:56:36+02:00
panfrost: clear shader image mask on trailing unbinds
panfrost_set_shader_images() releases resources for count plus
unbind_num_trailing_slots when unbinding shader images, but only cleared
count bits from image_mask.
If Gallium asks to unbind only trailing slots, the resource pointer can be
cleared while the mask still says the image is bound. Descriptor emission can
then dereference a NULL image resource.
Clear the full affected range so image_mask stays in sync with the image
slots.
Fixes: 72ff66c3d73 ("gallium: add unbind_num_trailing_slots to set_shader_images")
Reviewed-by: Iago Toral Quiroga <[email protected]>
Assisted-by: OpenAI Codex (GPT-5.5)
(cherry picked from commit 632e69b6a34aad25cddb06be5b0c159f5e529ff5)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/43884>
- - - - -
f468b30a by Eric Engestrom at 2026-08-20T10:57:39+02:00
docs: add release notes for 26.2.1
- - - - -
da14d65e by Eric Engestrom at 2026-08-20T10:57:40+02:00
VERSION: bump for 26.2.1
- - - - -
4208981c by Timo Aaltonen at 2026-08-20T14:18:43+03:00
Merge branch 'upstream-unstable' into debian-experimental
- - - - -
98603129 by Timo Aaltonen at 2026-08-20T14:20:18+03:00
version bump
- - - - -
c72bd7e4 by Timo Aaltonen at 2026-08-20T15:18:44+03:00
releasing package mesa version 26.2.1-1
- - - - -
166 changed files:
- .pick_status.json
- VERSION
- debian/changelog
- docs/relnotes.rst
- docs/relnotes/26.2.0.rst
- + docs/relnotes/26.2.1.rst
- + src/amd/ci/radv-navi10-vkd3d-skips.txt
- src/amd/common/ac_gpu_info.c
- src/amd/common/ac_guardband.c
- src/amd/common/ac_uvd_dec.c
- src/amd/common/ac_video.c
- src/amd/common/nir/ac_nir_lower_tex_coords.c
- src/amd/common/nir/ac_nir_meta_cs_clear_copy_buffer.c
- src/amd/compiler/instruction_selection/aco_select_nir_intrinsics.cpp
- src/amd/drm-shim/amdgpu_noop_drm_shim.c
- src/amd/drm-shim/radeon_noop_drm_shim.c
- src/amd/vulkan/00-radv-defaults.conf
- src/amd/vulkan/layers/radv_app_workarounds.c
- src/amd/vulkan/layers/radv_app_workarounds.h
- src/amd/vulkan/meta/radv_meta_blit.c
- src/amd/vulkan/radv_buffer_view.c
- src/amd/vulkan/radv_cmd_buffer.c
- src/amd/vulkan/radv_device.c
- src/amd/vulkan/radv_dgc.c
- src/amd/vulkan/radv_host_image_copy.c
- src/amd/vulkan/radv_queue.c
- src/amd/vulkan/radv_shader.c
- src/amd/vulkan/radv_video.c
- src/broadcom/ci/broadcom-rpi4-fails.txt
- src/broadcom/ci/broadcom-rpi5-fails.txt
- src/broadcom/ci/traces-broadcom.yml
- src/broadcom/common/v3d_device_info.h
- src/broadcom/common/v3d_limits.h
- src/broadcom/compiler/nir_to_vir.c
- src/broadcom/compiler/v3d_nir_lower_algebraic.py
- src/broadcom/vulkan/v3dv_cl.c
- src/broadcom/vulkan/v3dv_device.c
- src/broadcom/vulkan/v3dv_pipeline.c
- src/compiler/clc/nir_load_libclc.c
- src/compiler/glsl/gl_nir_linker.c
- src/compiler/nir/nir.c
- src/compiler/nir/nir_constant_expressions.py
- src/compiler/nir/nir_control_flow.c
- src/compiler/nir/nir_control_flow.h
- src/compiler/nir/nir_gather_info.c
- src/compiler/nir/nir_lower_continue_constructs.c
- src/compiler/nir/nir_lower_io.c
- src/compiler/nir/nir_opt_peephole_select.c
- src/compiler/nir/nir_search.c
- src/compiler/nir/tests/algebraic_tests.cpp
- src/compiler/spirv/vtn_variables.c
- src/drm-shim/device.c
- src/etnaviv/drm/etnaviv_cmd_stream.c
- src/freedreno/ci/freedreno-a750-fails.txt
- src/freedreno/vulkan/tu_clear_blit.cc
- src/freedreno/vulkan/tu_cmd_buffer.cc
- src/freedreno/vulkan/tu_event.cc
- src/freedreno/vulkan/tu_knl_drm_msm.cc
- src/freedreno/vulkan/tu_pass.cc
- src/freedreno/vulkan/tu_query_pool.cc
- src/freedreno/vulkan/tu_queue.cc
- src/gallium/auxiliary/gallivm/lp_bld_init_orc.cpp
- src/gallium/drivers/etnaviv/etnaviv_compiler_nir.c
- src/gallium/drivers/etnaviv/etnaviv_compiler_nir.h
- src/gallium/drivers/etnaviv/etnaviv_context.c
- src/gallium/drivers/freedreno/freedreno_resource.c
- src/gallium/drivers/freedreno/freedreno_resource.h
- src/gallium/drivers/freedreno/freedreno_state.c
- src/gallium/drivers/iris/iris_bufmgr.c
- src/gallium/drivers/lima/drm-shim/lima_noop.c
- src/gallium/drivers/llvmpipe/lp_texture.c
- src/gallium/drivers/panfrost/pan_context.c
- src/gallium/drivers/radeonsi/gfx/si_compute_blit.c
- src/gallium/drivers/radeonsi/gfx/si_gfx_screen.c
- src/gallium/drivers/radeonsi/gfx/si_shader_info.c
- src/gallium/drivers/radeonsi/mm/radeon_vce.c
- src/gallium/drivers/radeonsi/mm/radeon_vcn_enc.c
- src/gallium/drivers/radeonsi/mm/radeon_vcn_enc.h
- src/gallium/drivers/radeonsi/mm/si_video_dec.c
- src/gallium/drivers/radeonsi/si_barrier.c
- src/gallium/drivers/radeonsi/si_descriptors.c
- src/gallium/drivers/v3d/v3d_cl.c
- src/gallium/drivers/v3d/v3d_program.c
- src/gallium/drivers/v3d/v3d_uniforms.c
- src/gallium/drivers/zink/ci/traces-zink.yml
- src/gallium/drivers/zink/ci/zink-lavapipe-flakes.txt
- src/gallium/frontends/rusticl/core/memory.rs
- src/gallium/winsys/svga/drm/vmw_buffer.c
- src/gallium/winsys/svga/drm/vmw_buffer.h
- src/gallium/winsys/svga/drm/vmw_screen.h
- src/gallium/winsys/svga/drm/vmw_screen_dri.c
- src/gallium/winsys/svga/drm/vmw_screen_ioctl.c
- src/gallium/winsys/sw/dri/dri_sw_winsys.c
- src/gallium/winsys/sw/kms-dri/kms_dri_sw_winsys.c
- src/gallium/winsys/virgl/drm/virgl_drm_winsys.c
- src/imagination/drm-shim/pvr_noop.c
- src/imagination/vulkan/pvr_arch_descriptor_set.c
- src/intel/compiler/brw/brw_from_nir.cpp
- src/intel/compiler/brw/brw_lower_logical_sends.cpp
- src/intel/compiler/brw/brw_private.h
- src/intel/compiler/brw/brw_shader.cpp
- src/intel/dev/intel_debug.c
- src/intel/tools/intel_noop_drm_shim.c
- src/intel/vulkan/anv_formats.c
- src/intel/vulkan/anv_nir_lower_descriptor_heap.c
- src/intel/vulkan/anv_shader.c
- src/intel/vulkan/anv_shader_heap.c
- src/intel/vulkan/anv_util.c
- src/intel/vulkan/genX_cmd_buffer.c
- src/kosmickrisp/vulkan/kk_buffer.c
- src/kosmickrisp/vulkan/kk_buffer.h
- src/kosmickrisp/vulkan/kk_buffer_view.c
- src/kosmickrisp/vulkan/kk_cmd_copy.c
- src/mesa/main/shader_query.cpp
- src/mesa/main/version.c
- src/mesa/state_tracker/st_extensions.c
- src/nouveau/compiler/nak/ir.rs
- src/nouveau/compiler/nak/opt_instr_sched_prepass.rs
- src/nouveau/compiler/nak/sm70_encode.rs
- src/nouveau/drm-shim/nouveau_noop.c
- src/panfrost/compiler/bifrost/bi_lower_spill.c
- src/panfrost/drm-shim/panfrost_noop.c
- src/panfrost/lib/pan_desc.c
- src/panfrost/vulkan/csf/panvk_vX_cmd_draw.c
- src/panfrost/vulkan/csf/panvk_vX_gpu_queue.c
- src/panfrost/vulkan/csf/panvk_vX_utrace.c
- src/panfrost/vulkan/panvk_utrace.c
- src/panfrost/vulkan/panvk_utrace.h
- src/util/u_debug.c
- src/util/u_debug.h
- src/virtio/vulkan/vn_physical_device.c
- src/vulkan/runtime/vk_android.c
- src/vulkan/util/vk_internal_exts.h
- src/vulkan/wsi/wsi_common_display.c
- src/vulkan/wsi/wsi_common_metal.c
- src/vulkan/wsi/wsi_common_wayland.c
- subprojects/bitflags-2-rs.wrap
- subprojects/cfg-if-1-rs.wrap
- subprojects/equivalent-1-rs.wrap
- subprojects/errno-0.3-rs.wrap
- subprojects/hashbrown-0.14-rs.wrap
- subprojects/indexmap-2-rs.wrap
- subprojects/libc-0.2-rs.wrap
- subprojects/log-0.4-rs.wrap
- subprojects/once_cell-1-rs.wrap
- subprojects/paste-1-rs.wrap
- subprojects/pest-2-rs.wrap
- subprojects/pest_derive-2-rs.wrap
- subprojects/pest_generator-2-rs.wrap
- subprojects/pest_meta-2-rs.wrap
- subprojects/proc-macro2-1-rs.wrap
- subprojects/quote-1-rs.wrap
- subprojects/remain-0.2-rs.wrap
- subprojects/roxmltree-0.20-rs.wrap
- subprojects/rustc-hash-2-rs.wrap
- subprojects/rustix-1-rs.wrap
- subprojects/syn-2-rs.wrap
- subprojects/thiserror-2-rs.wrap
- subprojects/thiserror-impl-2-rs.wrap
- subprojects/ucd-trie-0.1-rs.wrap
- subprojects/unicode-ident-1-rs.wrap
- subprojects/windows-link-0.2-rs.wrap
- subprojects/windows-sys-0.6-rs.wrap
- subprojects/xml-rs.wrap
- subprojects/zerocopy-0.8-rs.wrap
- subprojects/zerocopy-derive-0.8-rs.wrap
The diff was not included because it is too large.
View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/-/compare/416e05d626d2d218c7c6102cf1eda6d92cd194c0...c72bd7e45fe810923763dcc1e12843b9f42e35fa
--
View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/-/compare/416e05d626d2d218c7c6102cf1eda6d92cd194c0...c72bd7e45fe810923763dcc1e12843b9f42e35fa
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help