-
091da82d
by Eric Engestrom at 2025-11-12T19:07:46+01:00
docs: add sha sum for 25.2.7
-
355872d8
by David Rosca at 2025-11-13T11:08:57+01:00
radv/video: Fix enabling video encode
Backporting 96db490318f ("radv/video: Don't require encode FW version >= interface version")
to 25.2 wasn't correct. There isn't a check for write_memory support to
enable video encode, like there is in 25.3. The FW interface version check
was the only condition to enable video encode and it was removed.
Bring back the FW version check to enable video encode.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14285
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38417>
-
f666cfe7
by Eric Engestrom at 2025-12-03T11:34:44+01:00
.pick_status.json: Update to df19ec302093b5e47c0d7556ea41af47d2b7af67
-
63766cd7
by Eric Engestrom at 2025-12-03T11:34:44+01:00
.pick_status.json: Mark fa1fd2413f5a8a24959664e284372135b3deac83 as denominated
-
b97ca1e8
by Eric Engestrom at 2025-12-03T11:34:44+01:00
.pick_status.json: Mark b2b5e83894a4e1dec0cd62f73f5598dd4e50c264 as denominated
-
dfaae6fe
by Valentine Burley at 2025-12-03T11:34:44+01:00
intel/ci: Drop timeout overrides for pre-merge jobs
LAVA jobs already have a global 1h timeout in GitLab. This exists because
GitLab jobs must start before we can determine whether a device is
available for testing.
Jobs themselves do not normally run that long, most of the delay comes
from waiting in the LAVA queue.
Dropping these overrides for pre-merge jobs fixes cases where the LAVA
job isn't picked up in time.
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38395>
(cherry picked from commit 13a20f6571b4d965caa92764ef2822a8c6b0e8d2)
-
11e7b717
by Christian Gmeiner at 2025-12-03T11:34:45+01:00
meson: require sysprof-capture-4 >= 4.49.0
When Mesa is compiled with sysprof support, applications can crash with a
segfault during shutdown. This happens because sysprof_collector_mark()
registers thread-local storage destructors that get called after the library
containing the destructor code has been unloaded.
The problem was fixed in sysprof https://gitlab.gnome.org/GNOME/sysprof/-/merge_requests/152
CC: mesa-stable
Closes: mesa/mesa#13571
Signed-off-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38347>
(cherry picked from commit e9341568fa9e4af1084db6702174ed4b4881bc73)
-
ac707080
by Timur Kristóf at 2025-12-03T11:34:45+01:00
ac/nir/ngg: Fix scratch space for NGG GS streamout
For GS streamout, we need the following LDS scratch space:
- Repacking streamout vertices takes 1 dword per 4 waves per stream
(max 16 bytes for Wave64, max 32 bytes for Wave32)
- 1 dword per stream for buffer info
(16 bytes)
- 1 dword per buffer for buffer info
(16 bytes)
Previously, the space used for buffer info aliased with the
space for repacking the output vertices in ngg_gs_finale(),
and there was no barrier in between, which caused a race
condition, resulting in random failure.
Fix this by allocating a few more LDS dwords so that aliasing
is not required, which also allows us to remove an extra
workgroup barrier.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12705
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38364>
(cherry picked from commit 8f99d736d09a88713b2aac969a793c3461e6f759)
-
872ab957
by Joshua Simmons at 2025-12-03T11:34:45+01:00
vtn: Fix OpCopyLogical destination type
Previously the type info for nested values was copied from the source
operand, rather than propagating the new type from the destination
operand.
Fixes: 4c363acf94a ("vtn: Allow for OpCopyLogical with different but compatible types")
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38248>
(cherry picked from commit 7ac1f7777d21587e401727cf3218978aed30ec96)
-
a5be5113
by Gert Wollny at 2025-12-03T11:34:45+01:00
r600/sfn: Don't start a new ALU-CF if LDS pipeline loads are pending
Fixes: e57643cf (r600/sfn: Add handling for R600 indirect access alias handling)
Signed-off-by: Gert Wollny <gert.wollny@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38398>
(cherry picked from commit 79e4323cf0c258cf48d7ace96a35c8812e01b39b)
-
07e8fc30
by Mario Kleiner at 2025-12-03T11:34:45+01:00
wsi/wayland: Zero min_luminance, max_luminance HDR light levels are valid.
CTA-861-G section 6.9.1 Static Metadata Type 1 declares that zero values
for different groups of HDR Metadata properties are allowed, including
zero nits values for max display mastering luminance, max content light
level, max frame-average light level and min display mastering luminance.
A zero value is meant to be treated by the video sink as "undefined" /
"unknown", and handled accordingly. This is common for dynamically
generated visual content.
The is_hdr_metadata_legal() function in the Vulkan/WSI/Wayland HDR backend
currently declares HDR light level metadata as invalid if the mastering
display min_luminance and max_luminance light levels are set to the legal
level of zero nits. This causes valid HDR metadata as set by the client
via vkSetHdrMetadata() to be not sent to the compositor.
Fix this by skipping checks that don't apply if min_luminance or
max_luminance are zero. If max_luminance is zero then we skip sending
of mastering display min/max luminance to Wayland, as sending a a
max_luminance <= min_luminance would trigger a protocol error. All
other valid data is still send, ie. color primaries, white-point,
content light levels.
Fixes: cb7726bb2cf ("vulkan/wsi: validate HDR metadata to not cause protocol errors")
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Co-authored-by: Michel Dänzer <michel@daenzer.net>
Reviewed-by: Xaver Hugl <xaver.hugl@kde.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38326>
(cherry picked from commit 490f05f82ced94d0a2893946aad96083447cac38)
-
39d9f0ea
by Benjamin Cheng at 2025-12-03T11:34:45+01:00
radv/video: Align each layer of encode DPB to 256
VCN requires the luma/chroma VAs to be 256 aligned. On VCN5, the
collocated buffer was not 256 aligned which can cause these VAs to be
unaligned.
This fixes VVL PositiveVideoEncodeH264.Basic on VCN5.
Fixes: 37e71a5cb24 ("radv/video: add support for AV1 encoding")
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38408>
(cherry picked from commit 884849587569919b7ef40021da70e6858d93cbe9)
-
e221a718
by Yiwei Zhang at 2025-12-03T11:34:45+01:00
venus: use seq_cst for ring cs and tail update ordering
To avoid incompatibility between the compiler implementations used by
the driver and the renderer, seq_cst ordering is picked here, which has
required a full mfence instruction. Then the renderer side acquire is
ensured to be ordered after the cache flush of ring cs updates.
Perf wise, there's no regression in headless vkmark runs. In theory,
the overhead introduced here weighs trivially as compared to the ring
cs encode/decode part. So we should go for better robustness.
Test: venus on windows guest works with renderer on Linux
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14277
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38435>
(cherry picked from commit 07d059f3e20179266c12d5a59bde6a8249306bd2)
-
afa8e72b
by Timur Kristóf at 2025-12-03T11:34:45+01:00
radv: Disable sparse mapping when unsupported by VM
Also disable the sparse binding queue and other related features.
Using sparse on GFX6-8 can cause GPU hangs at the moment.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38304>
(cherry picked from commit 1c8881fc605936d403d95426d813cced66d003c2)
-
ab2fd691
by Timur Kristóf at 2025-12-03T11:34:45+01:00
ac/gpu_info: Disable sparse VM mappings pre-Polaris, for now
Disable sparse mappings on GFX7-8 due to GPU hangs in the VK CTS,
except Polaris where it happens to work "well enough" to pass
the VK CTS and run some games already.
Cc: mesa-stable
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38304>
(cherry picked from commit 567e1b56ef9de920401f834a3f595faf978f9bc0)
-
c50c0eb7
by Daniel Schürmann at 2025-12-03T11:34:45+01:00
nir/opt_large_constants: Fix dead deref instructions accessing lowered variables
It could happen that unused derefs weren't removed
if DCE wasn't called prior to nir_opt_large_constants.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38367>
(cherry picked from commit 0d70716c8a5e4a4dddf777a0c9529ada69f8aee1)
-
186b47f2
by David Rosca at 2025-12-03T11:34:45+01:00
vulkan/video: Fix coding AV1 seq_choose_screen_content_tools = 1
Fixes: 724655bfc6b ("vulkan/video: add support for AV1 encoding to runtime")
Reviewed-by: Hyunjun Ko <zzoon@igalia.com>
Reviewed-by: Benjamin Cheng <benjamin.cheng@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38371>
(cherry picked from commit 22803f0d503065c1e7756c076ec0440f6626dd82)
-
75b93094
by David Rosca at 2025-12-03T11:34:46+01:00
radv/video: Fix coding allow_screen_content_tools and force_integer_mv
This was copied from radeonsi which expected seq_force_screen_content_tools = 2
and seq_force_integer_mv = 2.
Fixes: 37e71a5cb24 ("radv/video: add support for AV1 encoding")
Reviewed-by: Benjamin Cheng <benjamin.cheng@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38371>
(cherry picked from commit 3858a6a696dfa4106ff81f69f99cc0662e58679f)
-
7782d78b
by Christoph Pillmayer at 2025-12-03T11:34:46+01:00
nir: Fix preseved metadata in sort_unstructured_blocks
Fixes: c859ea5783b ("nir: Add a sort_unstructured_blocks() helper")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38354>
(cherry picked from commit 8db66767a9f0243bcd0da32891a005db548ab126)
-
497e588b
by David Rosca at 2025-12-03T11:34:46+01:00
radv/video: Fix coding used_by_curr_pic_lt_flag
Fixes: d68a1fc0d43 ("radv/video: port hevc slice header encoding from radeonsi")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14301
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38475>
(cherry picked from commit 3abb2707e2dee5975fd453f2026c615d2a2d6f1a)
-
5d5c3030
by Patrick Lerda at 2025-12-03T11:34:46+01:00
r600: fix rv770 read scratch compatibility
The flag mega_fetch should be set on rv770 for a
read scratch operation (as written in the r700
documentation p357). Without this flag, read scratch
does not work and a gpu hang could be triggered.
Here are the tests fixed:
shaders/glsl-predication-on-large-array: fail pass
spec/glsl-1.10/execution/temp-array-indexing/glsl-fs-giant-temp-array: fail pass
spec/glsl-1.10/execution/temp-array-indexing/glsl-vs-giant-temp-array: fail pass
spec/glsl-1.30/execution/fs-large-local-array: fail pass
spec/glsl-1.30/execution/fs-large-local-array-vec2: fail pass
spec/glsl-1.30/execution/fs-large-local-array-vec3: fail pass
spec/glsl-1.30/execution/fs-large-local-array-vec4: fail pass
spec/glsl-1.30/execution/fs-multiple-large-local-arrays: fail pass
Fixes: 9c48a139b08f ("r600g: Support emitting scratch ops")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38353>
(cherry picked from commit f8de09a811fc1f5b8733e1a36bafd55c778139be)
-
5fe7b283
by David Rosca at 2025-12-03T11:34:46+01:00
radeonsi/vce: Add workaround for unaligned input surface
VCE requires 16x16 aligned input surface. Blit into an internal
scratch surface when input surface is not 16 aligned.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14270
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38392>
(cherry picked from commit 17c015c2de7f4a8c5a2459e332424030f2e89ecc)
-
a779d889
by Lionel Landwerlin at 2025-12-03T11:34:46+01:00
brw: fix workaround fence rlen field
send.ugm (1|M0) r125 r0 null:0 0x0 0x0200651F {$9} // wr:1+0, rd:0; fence invalid flush type scoped to tile
When destination of Send(s) is not null, the response length must not be 0.
Should only affect DG2 products.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38478>
(cherry picked from commit 4816318887d63dddca16480cd953e336662324ad)
-
e13bdce1
by Olivia Lee at 2025-12-03T11:34:46+01:00
panvk/csf: fix uninitialized read in draw context
We check fn_set_fbds_provoking_vertex_stride == 0 to determine whether a
previous function variant has already been allocated, so this value must
be initialized to zero before we start the loop. We could fix this by
explicitly initializing just that field, but I figure it's simpler and
safer to just zero-initialize the whole struct.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Fixes: 885805560f9 ("panvk/csf: fix case where vk_meta is used before PROVOKING_VERTEX_MODE_LAST")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38458>
(cherry picked from commit e899bc8be8cb725ca7a4a76ffccf2888db3db751)
-
c6b7a0b1
by Olivia Lee at 2025-12-03T11:34:46+01:00
panvk/csf: explicitly set ls_sb_slot in set_fbds_provoking_vertex
SB_ID(LS) is currently equal to zero, so this is not a behavior change,
but worth setting it explicitly for clarity and in case the sb
assignments change.
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Fixes: 885805560f9 ("panvk/csf: fix case where vk_meta is used before PROVOKING_VERTEX_MODE_LAST")
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38458>
(cherry picked from commit ebbf05f9d2f98bb0d93a527f660195200fd0ba61)
-
7d6acd1d
by Lionel Landwerlin at 2025-12-03T11:34:46+01:00
brw: fix SIMD lowering of sampler messages with fp16 data
We need to make sure the data part returned by sampler messages is
always aligned to a physical register. Just like the residency data
lives in a single physical register after the data.
Lowering a vec3 16bits per components led to a half a physical
register allocation which then confused the descriptor lowering
(expecting physical register units).
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 295734bf88 ("intel/fs: fix residency handling on Xe2")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12794
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34008>
(cherry picked from commit 61d6aea401743177e30d286ce6946525f30c8df9)
-
ac592d19
by Calder Young at 2025-12-03T11:34:46+01:00
brw: fix SIMD lowering of fp16 sampler message data with multiple components
Fixes: 61d6aea4 ("brw: fix SIMD lowering of sampler messages with fp16 data")
Closes: mesa/mesa#13149
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38455>
(cherry picked from commit d6fbbfef5ca656a6344346c785dc409024ede32e)
-
cec045c1
by Lionel Landwerlin at 2025-12-03T11:34:46+01:00
anv: ensure slab allocated memory matches image requirements
The VMA of VkDeviceMemory has to accomodate all the resources that can
be bound to it. For sparse images it's 64KiB alignment, for other
tiled images it's 4KiB. But we also have a workaround that requires a
64KiB alignment for Tile4 images.
The initial version of the slab allocator missed the 4KiB alignment.
This fix adds the workaround handling too.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: dabb012423 ("anv: Implement anv_slab_bo and enable memory pool")
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38480>
(cherry picked from commit 401b2066b053ab4882d90a76628e3edfd70be936)
-
efc655b0
by Timothy Arceri at 2025-12-03T11:34:47+01:00
mesa: fix _mesa_update_texture_matrices()
_math_matrix_is_dirty() should only be used to decide if we need to
run _math_matrix_analyse(). We already decided that we had a new
texture matrix when we called _mesa_update_texture_matrices() so
we need to set _TexMatEnabled correctly otherwise we might
incorrectly return _NEW_FF_VERT_PROGRAM | _NEW_FF_FRAG_PROGRAM in
the following if-statement.
Fixes: ec978e002f59 ("mesa: only update fixed-func programs on texture matrix enablement changes")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14286
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38473>
(cherry picked from commit b0047be0c253d1fdaf8ba015704deb5380ce7fc3)
-
1b53c0e1
by Lionel Landwerlin at 2025-12-03T11:34:47+01:00
anv: fixup load_ubo lowering
Use ult like nir_lower_explicit_io.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
(cherry picked from commit 775f8ec105c77c0d294e62d1a76e8e1165ad4ca2)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38524>
-
aff89963
by Lionel Landwerlin at 2025-12-03T11:34:47+01:00
brw: fixup 64bit atomics emulation on 2D array images
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: ce7208c3ee ("brw: add support for texel address lowering")
Acked-by: Nanley Chery <nanley.g.chery@intel.com>
(cherry picked from commit b3cc54731f1952c2eab05826be5a4dbca07fadf4)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38526>
-
8b603b8f
by Paulo Zanoni at 2025-12-03T11:34:47+01:00
anv/sparse: we can support R64 and other atomics emulated formats
We set sparseImageInt64Atomics to false on these formats, so there's
no need for the software detiling. Thus, we can not set the flag,
which will make ISL pick Tile64 for these formats, and things will
work.
Thanks to Lionel for pointing the fix here.
Testcase: dEQP-VK.api.info.image_format_properties.*d.optimal.r64_*int
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Iván Briano <ivan.briano@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
(cherry picked from commit a1628aba1fa77e37054664f05fe28ad6536cc8fe)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38526>
-
dcf8d0cd
by Lionel Landwerlin at 2025-12-03T11:34:47+01:00
anv: consider 64bit atomics on similar formats with mutable images
vkd3d-proton uses a R32G32_UINT image with MUTABLE
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: ed77f67e44 ("anv: add emulated 64bit integer storage support")
Acked-by: Nanley Chery <nanley.g.chery@intel.com>
(cherry picked from commit 73bf51dba087bb30378a5773c59033099254db42)
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38526>
-
0b149a94
by Karol Herbst at 2025-12-03T11:34:47+01:00
rusticl/kernel: fix clGetKernelSuggestedLocalWorkSizeKHR implementation
There were two issues:
1. The global_work_offset parameter is optional but we errored on NULL
2. We didn't return the reqd_work_group_size when set on the kernel.
Fixes: 376d1e6667a ("rusticl: implement cl_khr_suggested_local_work_size")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38375>
(cherry picked from commit 810dca450cde704f9ba9238963d94b6860acf08a)
-
142f853e
by Karol Herbst at 2025-12-03T11:34:47+01:00
rusticl/kernel: Do not run kernels with a workgroup size beyond work_dim
When no workgroup size is specified we try to run with the most optimal one
possible. However we didn't take into account that we shouldn't run a
workgroup of higher dimensionality than requested by the application.
Fixes: 376d1e6667a ("rusticl: implement cl_khr_suggested_local_work_size")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38375>
(cherry picked from commit d46be8fbf2cf784c2c940c3524b4cf5fcc020853)
-
c02588e4
by Natalie Vock at 2025-12-03T11:34:47+01:00
aco/insert_nops: Consider s_setpc target susceptible to VALUReadSGPRHazard
Some GPU hangs witnessed in the wild on RDNA4 in Control and Arc Raiders
seem to point towards closest-hit shaders reading a stale value for the
SGPR pair containing the currently-executing shader's address.
This SGPR pair was read by VALU in the preceding traversal shader,
making it susceptible to VALUReadSGPRHazard. Inserting
VALUReadSGPRHazard mitigations before accessing the s_setpc target seems
to fix the hang. We don't have conclusive proof that this is hazardous,
but given that all signs point towards it and we have a reasonably
simple workaround, let's roll with this for now to mitigate the hangs.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38290>
(cherry picked from commit 1243d575a576881b463a0b1dff92a09e429f095b)
-
dc944279
by Erik Faye-Lund at 2025-12-03T11:34:47+01:00
mesa/main: correct formatquery error-handling
Most of the time, we remember to check for both extensions. But in one
case, it seems we forgot the GLES extension. Whoops.
Let's switch to a helper here, so we don't have to repeat the logic over
and over again.
Fixes: b4c0c514b10 ("mesa: add OES_texture_buffer and EXT_texture_buffer support")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38162>
(cherry picked from commit 9d5e0c1ad27102f496161bee4ee0011d0f5c4b3b)
-
f96d8726
by Erik Faye-Lund at 2025-12-03T11:34:47+01:00
mesa/st: do not enable EXT_texture_buffer_object with rgba only
GL_EXT_texture_buffer_object requires support for alpha, luminance,
luminance-alpha and intensity formats. If we can't support those, we
can't enable the extension.
Fixes: 45ca7798dc3 ("glsl: handle interactions between EXT_gpu_shader4 and texture extensions")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38162>
(cherry picked from commit 6f2b8c3f615af6a38b3da3fb5094b8b4390e64f2)
-
c49a441b
by Jianxun Zhang at 2025-12-03T11:34:47+01:00
isl: Disable BMG Modifier (xe2)
This change disables BMG modifier effectively on and vulkan
driver. Iris has its own modifier selection and we haven't
had such failures in GL so far.
LNL platform doens't seem affected.
It workarounds issues with these signatures on 25.2.x:
1) Color strips, text misrendering on Gnome applications like
ptyxis. A GPU hang also occurs with the misrendering.
2) Applying INTEL_DEBUG=noccs makes these issues disappear.
3) Reverting a9aad4565f3d8241f2609ae4d707f7cf0699bb19 makes
these issues disappear too.
Troubleshooting similar issues on BMG would be easier with this
revert:
https://gitlab.freedesktop.org/mesa/mesa/-/issues/13759
https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/6097
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13868
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Acked-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38415>
-
00c1f3ae
by David Rosca at 2025-12-03T11:34:47+01:00
radeonsi/vcn: Reduce allocated size for pre-encode recon pics
We use 4x downscale for pre-encode, so we don't need full size
pre-encode reconstructed pictures.
Cc: mesa-stable
Reviewed-by: Benjamin Cheng <benjamin.cheng@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38303>
(cherry picked from commit 1f83e731451b84b16cc1fa2f04b46a71a66e43ff)
[Eric: zero-initialised the two new vars, as per
https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38303#note_3201571]
-
5236fb16
by Eric R. Smith at 2025-12-03T11:34:48+01:00
pan: fix a bifrost disassembly assert failure
We were overflowing an array during bifrost disassembly. This was
only a problem if the user explicitly set an environment variable,
so unlikely to occur in casual use, and also only could be triggered
in very specific, dense code. But we still should get this right!
The specific CTS test that caused the assert is:
'dEQP-VK.graphicsfuzz.stable-quicksort-for-loop-with-injection'
with environment variable `BIFROST_MESA_DEBUG=shaders`. One of the
shaders has a clause with 6 constants (the maximum) and this overflowed
the array because we assume we always have an extra slot (used for
modifier processing).
Cc: mesa-stable
Reviewed-by: Christoph Pillmayer <christoph.pillmayer@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38501>
(cherry picked from commit 65ba14519ea23193c85cc20729dd31194a49382c)
-
2a99b939
by Mel Henning at 2025-12-03T11:34:48+01:00
zink: Return zink_device in create_logical_device
Fixes: 015eda4a4186c ("zink: deduplicate VkDevice and VkInstance")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38414>
(cherry picked from commit f0dc8c0224fce3c2288ee30a4ec4bed088e06c72)
-
9d81ccd4
by Mel Henning at 2025-12-03T11:34:48+01:00
zink: Make screen->queue_lock a pointer
Fixes: 015eda4a4186c ("zink: deduplicate VkDevice and VkInstance")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38414>
(cherry picked from commit dff1b9d4e9f0b66dc60ddafdd0f6726adfa8b47d)
-
bdfbd3f3
by Mel Henning at 2025-12-03T11:34:48+01:00
zink: Create one queue lock per device
We currently only create one queue per queue family on the device. The
device can be shared between multiple zink_screens, so having one lock
per screen can still lead to multiple locks per queue. Fix this by
allocating queue_lock along with the device.
This fixes an issue that was causing crashes with nvk+zink and
QtWebEngine with QTWEBENGINE_FORCE_USE_GBM=1 This can be reproduced by
resizing the window in either:
* anki - https://apps.ankiweb.net/ or
* Qt's simplebrowser example
https://doc.qt.io/qt-6/qtwebengine-webenginewidgets-simplebrowser-example.html
which would then cause this dmesg error:
nouveau 0000:01:00.0: anki[92007]: Failed to find syncobj (-> in): handle=40
along with a context loss.
With VK_LOADER_LAYERS_ENABLE=VK_LAYER_KHRONOS_validation we would additionally
get warnings like:
Validation Error: [ UNASSIGNED-Threading-MultipleThreads-Write ] | MessageID = 0xa05b236e
vkQueueSubmit(): THREADING ERROR : object of type VkQueue is simultaneously used in current thread 139824449189568 and thread 139823901816512
Objects: 1
[0] VkQueue 0x557a666783e0
Fixes: 015eda4a4186c ("zink: deduplicate VkDevice and VkInstance")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38414>
(cherry picked from commit 9acce36652b4c56948a5333c729d3b5646190b3d)
-
dfab270c
by Mel Henning at 2025-12-03T11:34:48+01:00
zink: Lock queue_lock in zink_destroy_screen
Fixes: 015eda4a4186c ("zink: deduplicate VkDevice and VkInstance")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38414>
(cherry picked from commit 018178842efafda13344e2726901f22d470fce1b)
-
cb76136f
by Mel Henning at 2025-12-03T11:34:48+01:00
zink: Lock around screen_debug_marker_{begin,end}
vkQueueBeginDebugUtilsLabelEXT and vkQueueEndDebugUtilsLabelEXT
require queue to be externally synchronized, which means these functions
require the lock. Unfortunately, there's no guarantee that the debug
markers will be matched in the multithreaded case, but I suppose this is
better than crashing.
Fixes: 015eda4a4186c ("zink: deduplicate VkDevice and VkInstance")
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38414>
(cherry picked from commit 80db8171debdf68edcc64ddd73280a95fb1a8367)
-
9766bc29
by Yiwei Zhang at 2025-12-03T11:34:48+01:00
venus: fix racy semaphore feedback counter update
Previously, we update the sfb dst slot upon vn_SignalSemaphore so that
vn_GetSemaphoreCounterValue can poll just the feedback slot itself.
However, that can race with pending sfb cmds that are going to update
the slot value, ending up with stuck sync progression.
This change fixes it by disallowing vn_SignalSemaphore to touch the sfb
dst slot. To ensure counter query being monotonic, vn_GetSemaphoreCounterValue
now takes the greater of signaled counter and the sfb counter read.
Test with dEQP-VK.synchronization* group:
- w/o this: stuck shows up within 2 min with 8 parallel deqp runs
- with this: no stuck for multiple full runs of the same
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14304
Fixes: 5c7e60362cb ("venus: enable timeline semaphore feedback")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38516>
(cherry picked from commit 829bd406c04566962268138195ecb2c4d78da5cf)
-
e2cb355e
by Lionel Landwerlin at 2025-12-03T11:34:48+01:00
anv: Wa_18040903259 only applies to RCS when in GPGPU mode
Sadly this probably won't change anything in terms of perf as the CCS
engine has a bunch of other restrictions.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 243c01c703 ("anv/iris: implement Wa_18040903259")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38484>
(cherry picked from commit 07b7de35cca7142948e435697b1da1e69a67f747)
-
0a416fb9
by Pierre-Eric Pelloux-Prayer at 2025-12-03T11:34:48+01:00
radeonsi/sqtt: clear out sqtt bo on resize
If the resizing fails, we shouldn't use the destroyed bo anymore.
Fixes: 5794a86f191 ("radeonsi/sqtt: support sqtt buffer auto-resizing")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38529>
(cherry picked from commit bac9d17ead01467258e706973fdf193b9da26062)
-
23be36fc
by Matt Turner at 2025-12-03T11:34:48+01:00
meson: Fix sysprof-capture-4 dependency
The versioning scheme changed in v45.0 (the previous version was
3.48.0). As such, this version check would wrongly accept e.g. 48.0.
Fixes: e9341568fa9 ("meson: require sysprof-capture-4 >= 4.49.0")
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38557>
(cherry picked from commit ad149423002363b2ebd6fb225851febeb4039b1b)
-
0f909636
by Daniel Schürmann at 2025-12-03T11:34:49+01:00
radv/shader_info: rename gs_ring_info -> legacy_gs_info and use union with ngg_info
Reduces the size of radv_shader_info from 784 bytes to 760 bytes.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37931>
(cherry picked from commit e1bcbbf3dda3c00676f714dd7710bccc93de4f0b)
-
bc639539
by Anna Maniscalco at 2025-12-03T11:34:49+01:00
radv: recalculate legacy_gs_info on bind
Previously legacy_gs_info calculated based on
gs_info->legacy_gs_info.esgs_itemsize which is calculated based on gs
input varyings.
However, when using ESO vs/tes can have outputs not read by gs, which
leads to underestimating LDS usage.
Cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38514>
(cherry picked from commit 5e8885a339d6d04a0da004fac1ae190d7e46f937)
-
a4350c69
by Rob Clark at 2025-12-03T11:34:49+01:00
freedreno/a6xx: Fix UB in convert_color()
Swizzle can include PIPE_SWIZZLE_0/_1 (4 and 5) which result in indexing
beyond the channel array.
Reported-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Fixes: 76e350671f3b ("freedreno/a6xx: Sysmem clear fixes")
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38593>
(cherry picked from commit f0465ced7f9924d0be8e219ed0afe907994bd516)
-
0cbf8cc0
by Eric Engestrom at 2025-12-03T11:34:49+01:00
meson: auto-disable `amd-use-llvm` when `llvm=disabled`
The option's description is:
> Whether to use LLVM for the AMD drivers, if LLVM is included.
Let's disable it right away if LLVM is disabled, to avoid configurations
like the one in the issue below from failing.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14306
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38558>
(cherry picked from commit 69bb927ebfc40b81b30e38a59c1aa4b0593f73e8)
-
6872db98
by Eric Engestrom at 2025-12-03T11:34:49+01:00
meson: auto-disable `draw-use-llvm` when `llvm=disabled`
The option's description is:
> Whether to use LLVM for the Gallium draw module, if LLVM is included.
Let's disable it right away if LLVM is disabled, to avoid some
configurations from failing.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38558>
(cherry picked from commit 37c7d19e46a4863c120186a99ac0344c2dd31260)
-
adbaaf29
by Dave Airlie at 2025-12-03T11:34:49+01:00
dozen: return INCOMPATIBLE_DRIVER on instance create failure
When probing on generic Linux platforms, the loading of d3d12 and
the first init of could fail, but the error returned causes a
loader warning to be printed.
Use the correct error return to stop this.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38611>
(cherry picked from commit c00b66fa71aba9dd980a3568239576f1ef9a8cd7)
-
b017ebd4
by Lionel Landwerlin at 2025-12-03T11:34:49+01:00
brw: compute final copy propagation resulting source
Fixes this test on Xe2+:
INTEL_DEBUG=no32 ./deqp-vk -n dEQP-VK.spirv_assembly.instruction.maint9_vectorization.bit_field_u_extract.result_v16i-base_v16i-offset_s64u-count_s16i
Generate invalid code for that platform:
and(16) g37<1>UW g65<16,4,4>UW 0x000fUW { align1 1H I@5 };
ERROR: Invalid register region for source 0. See special restrictions section.
Several helpers like has_subdword_integer_region_restriction() do not
see the final type of the source, so compute it early.
Maybe new_src could be used in more cases. Being conservative for now.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Francisco Jerez <currojerez@riseup.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38548>
(cherry picked from commit 8f9acc0150439dd21e2004967425701bd4a8a523)
-
e05a6d76
by Patrick Lerda at 2025-12-03T11:34:49+01:00
r600: fix error filters compatibility
The shader-db functionality was interfering with the error
filters.
Two new options are added: R600_DEBUG=shaderdb and
R600_DEBUG=precompile. The option precompile is added
to maintain the compatibility with the shader-db repository.
This change fixes 22 of these tests:
deqp-gles31/functional/debug/error_filters/case_.*: warn pass
deqp-gles31/functional/debug/error_groups/case_.*: warn pass
Fixes: 28d6a5af252f ("r600: Add shader precompile and shader-db support.")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38485>
(cherry picked from commit f005c0b5adc975c247effb250798a4eba625e1ef)
-
a8388e6e
by Ian Forbes at 2025-12-03T11:34:49+01:00
svga: Check if Stencil buffer is NULL
Fixes a nullptr dereference on older HW versions.
Fixes: f29d9398242 ("svga: rework framebuffer state")
Signed-off-by: Ian Forbes <ian.forbes@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38623>
(cherry picked from commit 4e16a5b68bbec9351a524e369176a3e62c7e72f5)
-
007cefe5
by Tapani Pälli at 2025-12-03T11:34:49+01:00
drirc/iris: add drirc to disable threaded context
Cc: mesa-stable
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38567>
(cherry picked from commit 4daabf76b4fad4ba1e8fd6cfc700f5faaf35f62c)
-
17f6c783
by Tapani Pälli at 2025-12-03T11:34:49+01:00
drirc: set intel_disable_threaded_context for Amnesia The Bunker
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14084
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38567>
(cherry picked from commit 21f646d19696e12fd771d35165414530bbd71c5e)
-
4e1069e7
by Faith Ekstrand at 2025-12-03T11:34:50+01:00
vulkan/drm-syncobj: Stop returning early waiting for sync files
In the WAIT_ALL case in spin_wait_for_sync_file(), we were returning the
moment we saw the first success. However, this isn't a wait-all, it's a
bad wait-any. We should instead just continue on to check the next sync
until we've ensured that every sync in the array has a sync file. The
only reason this wasn't blowing up in our face is because it only
affects non-timeline drivers (pretty rare these days) and because most
of the places where we use WAIT_PENDING on non-timeline drivers is to
guard a sync file export and those typically have only a single sync in
the array.
Cc: mesa-stable
Reviewed-by: Gurchetan Singh <gurchetansingh@google.com>
Reviewed-by: Emma Anholt <emma@anholt.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38635>
(cherry picked from commit e4e619d68532c882e6d1ececb8b4a6d3e5a48b0d)
-
0b4e4c42
by Samuel Pitoiset at 2025-12-03T11:34:50+01:00
radv: fix per-submit RGP captures on video queues
SQTT user data packets aren't supported either.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38575>
(cherry picked from commit af461de0265734b0989074d6f9d615621a0e3231)
-
b3a0fa30
by Valentine Burley at 2025-12-03T11:34:50+01:00
egl: Disable kopper on Android
Kopper is not supported on Android, and attempting to use it breaks zink
on the platform.
Disable kopper automatically when running on Android, fixing zink without
`LIBGL_KOPPER_DISABLE`.
Fixes: 3294cad3415 ("egl: Rename dri2_detect_swrast() and also detect kopper")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14331
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Antonio Ospite <antonio.ospite@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38626>
(cherry picked from commit 8a1ea724b49f0f18a8d4609e9f7ee191a084d718)
-
1febe35f
by Sushma Venkatesh Reddy at 2025-12-03T11:34:50+01:00
drirc: Add anv_assume_full_subgroups for Detroit: Become Human
Add workaround to assume full 32-thread subgroups. This fixes rendering
corruption when running the Detriot: Become Human game using anv driver.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14120
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38670>
(cherry picked from commit 36d7cd0514b4adae424fbc84f46024660e2ab78b)
-
21043e33
by Lionel Landwerlin at 2025-12-03T11:34:50+01:00
nir: fix lower_printf with no arguments
SPIRV generated printf with no arguments have an undef source (not the
expected deref).
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38638>
(cherry picked from commit 6940b8fcd714a1b596cc672935e36b2c59c53f33)
-
1951e601
by Lionel Landwerlin at 2025-12-03T11:34:50+01:00
spirv: fix printf generation
Not having the uses_printf will drop the printf info in serialization.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38638>
(cherry picked from commit 67faf6dfbdadfc9d19859bcb9fe6dfc77d2edb78)
-
235e72ca
by Lionel Landwerlin at 2025-12-03T11:34:50+01:00
nir/lower_printf: fix array alignment
The pointer arithmetic doesn't need a 4byte alignment, otherwise
everything is broken.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38638>
(cherry picked from commit d24633023fce91f15a76041aa0e32b98421a5e8c)
-
90c11540
by Lionel Landwerlin at 2025-12-03T11:34:50+01:00
nir/lower_printf: fix missing singleton add
If we're using the singleton, we need to add to it.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38638>
(cherry picked from commit 4b9aa9dc91c5deb18c4e5b4e0c2e50012a8663d1)
-
3047d4ab
by Natalie Vock at 2025-12-03T11:34:50+01:00
radv/rt: Keep updated nodes always active
In updateable AS, we keep all nodes active even if they're
degenerate/NaN, because too many games ignore API rules about not
making inactive nodes active (and some vendor tips outright advise this
behavior). We also need to match this by keeping everything active in
the update side. The ALWAYS_ACTIVE macro has been long removed and
replaced by VK_BVH_BUILD_FLAG, too. Since updating only happens to
updateable AS, don't even check for the flag, just implement the
always-active handling.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38488>
(cherry picked from commit bc1eea90b961c8a3bb4dcf8124e850ef777c35a3)
-
c31904ab
by Natalie Vock at 2025-12-03T11:34:50+01:00
radv/rt: Correctly copy culling flags when updating to separate AS
This was missing and led to the field being uninitialized.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38488>
(cherry picked from commit b7f011e6535b118fc058441d4527cdd5f33e15ea)
-
53e9ba2b
by Ian Romanick at 2025-12-03T11:34:50+01:00
brw: Force allow_spilling when spill_all is set
This ensures that g0 is reserved for spilling since there is going to be
spilling.
Fixes: 8bca7e520ce ("intel/brw: Only force g0's liveness to be the whole program if spilling")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37827>
(cherry picked from commit 1fc2f52d36211c753bb94cd5d46ec1c4d3d0dd46)
-
300cb696
by Calder Young at 2025-12-03T11:34:50+01:00
anv: Fix ray query shadow stack buffer size
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38685>
(cherry picked from commit 09e8a540876877723d15fff0e511e9abc274254e)
-
701ee045
by Emma Anholt at 2025-12-03T11:34:51+01:00
tu: Fix leak of compute shader pipeline->base.executables_mem_ctx;
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14358
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38684>
(cherry picked from commit 89da258e71983d7f89f1f0b81552995a2c824ccc)
-
b87eb927
by Timothy Arceri at 2025-12-03T11:34:51+01:00
util/driconf: Add linux version of Penumbra fixes
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38563>
(cherry picked from commit d10036362f6fbcc164cbd68686fbc8b62df18e3c)
-
c0667129
by Tapani Pälli at 2025-12-03T11:34:51+01:00
anv: add furmark workaround layer
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14274
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38410>
(cherry picked from commit ba89826b750512b6ad0691fc2f970ae740e9ca52)
-
4ae7a2b3
by Calder Young at 2025-12-03T11:34:51+01:00
intel: Fix calculation of max_scratch_ids on fused devices
The subslice IDs provided by the SR0.0 EU register are not adjusted to account
for fusing, so the upper bound max_scratch_ids can vary from device to device
depending on what specific slices were fused during manufacturing.
Reviewed-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38689>
(cherry picked from commit c0d809820f35378928f719c1e2ddba9a41d5fbd9)
-
6619a8ad
by Benjamin Cheng at 2025-12-03T11:34:51+01:00
radv/video: Fix num_ref_idx_l{0,1} related overrides
Since we only support 1 L0/L1 ref, the default num refs in the PPS
should always be 0. With that there never any need to set the override
flag in the slice header (until more references are supported).
Also the ref pic list modifications should be clamped to the size of the
ref pic list.
This fixes an issue seen with dEQP-VK.video.encode.h264.i_p_b_13_*.
Cc: mesa-stable
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38686>
(cherry picked from commit 2e21eec921f6a854085e37fe1200e243d611fa1e)
-
540dd28a
by Benjamin Cheng at 2025-12-03T11:34:51+01:00
radv/video: Fix H264/H265 reference selection
The order of pReferenceSlots is not well-defined by spec. Instead we
need to look at the RefPicList0/1 which provides slot indices.
Cc: mesa-stable
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38686>
(cherry picked from commit ab56ce154bbb7fbec19ccffb40cf4c1e8085230d)
-
a72e8eef
by Benjamin Cheng at 2025-12-03T11:34:51+01:00
radv/video: Override direct_spatial_mv_pred to 1
VCN always uses spatial direct mode.
Cc: mesa-stable
Reviewed-by: David Rosca <david.rosca@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38686>
(cherry picked from commit 9e37969179f46bc90282dc3107175c93e9f45b29)
-
1846c7cc
by Natalie Vock at 2025-12-03T11:34:51+01:00
radv: Move VMID reservation to vkCreateDevice
DXVK's DXGI implementation can create extra instances used for
enumerating physical devices besides the games' instance. When reserving
VMIDs for SPM, the DXGI instances may snatch the VMID reservation early,
making VMID reservation for the instance that actually needs it fail.
This starts being a problem on kernels 6.18+ where only one user may
reserve a VMID at a time.
Move reserving VMIDs to SQTT initialization inside vkCreateDevice so
that only the instances that actually create logical devices try
reserving VMIDs.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38746>
(cherry picked from commit a7a4abc8d87a05279197ed5d8271656197399a98)
-
5153a5d8
by Aitor Camacho at 2025-12-03T11:34:51+01:00
vulkan/cmd_queue: Use vk_strdup and free allocated string memory
Fixes: 9082715ab01 ("vk/cmd_queue: generate copies for string struct members")
Reviewed-by: Karmjit Mahil <karmjit.mahil@igalia.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38634>
(cherry picked from commit 16c98f4f180203ba73ce4c1eab20eb666f3b3d2b)
-
8650b613
by Ian Romanick at 2025-12-03T11:34:51+01:00
lavapipe: fp16 flrp must also be lowered
Prevents failures with fp16 in lavapipe and Zink on lavapipe when
"nir/lower_flrp: Check and set shader_info::flrp_lowered" is
applied. Lowering with an incomplete mask on the first call to
nir_lower_flrp will prevent later calls (with the complete mask) from
doing anything.
Fixes: b38879f8c5f ("vallium: initial import of the vulkan frontend")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12526>
(cherry picked from commit 341e2d328336788e30e480000c46564d76a510d0)
-
99cd75fd
by Samuel Pitoiset at 2025-12-03T11:34:51+01:00
radv: reduce maxTexelBufferElements to 1<<29
It's the number of elements. RADV exposes VK_FORMAT_R64_{UINT,SINT}
formats for texel buffers, so the maximum is 1<<29 to fit in the
32-bit bounds checking.
Fixes KHR-GL46.texture_buffer_size_clamping.* with Zink and new VKCTS
dEQP-VK.texture.misc.max_elements.*.
Cc: mesa-stable.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38140>
(cherry picked from commit fda1262eedae057c715eba6a64b9d056aa41e678)
-
bbfd4afb
by Aitor Camacho at 2025-12-03T11:34:51+01:00
vulkan/wsi: Fix double destroy of present_id_timeline at swapchain create
Fixes: c888da3d48a ("vulkan/wsi: Add mechanism to wait for WSI semaphore unsignal.")
Reviewed-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Signed-off-by: Aitor Camacho <aitor@lunarg.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38754>
(cherry picked from commit df19ec302093b5e47c0d7556ea41af47d2b7af67)
-
f64c62f8
by Eric Engestrom at 2025-12-04T08:30:32+01:00
docs: add release notes for 25.2.8
-
f97d7dcc
by Eric Engestrom at 2025-12-04T08:30:32+01:00
VERSION: bump for 25.2.8