-
a30a465c
by Eric Engestrom at 2025-08-20T16:19:05+02:00
docs: add sha sum for 25.2.1
-
a932dd04
by Eric Engestrom at 2025-09-03T12:08:47+02:00
.pick_status.json: Update to c0e51bcf24c7905a2fdc272194744a5fdfe8c345
-
ba48da6b
by Eric Engestrom at 2025-09-03T12:08:47+02:00
.pick_status.json: Mark 85310e912c5a2fc542618a11b9e38ea9c433ed18 as denominated
-
199ee1ba
by Eric Engestrom at 2025-09-03T12:08:47+02:00
.pick_status.json: Mark a34756bbedacdf2558c966466a71bfd3715fa295 as denominated
-
8eddb8e4
by Nataraj Deshpande at 2025-09-03T12:08:47+02:00
anv: add feature flags for linearly tiled ASTC images
In case of emulated ASTC on supported platforms, currently returning
0 for linear tiled images causes vpGetPhysicalDeviceProfileSupport
failure during AndroidBaselineProfile test. The patch handles it
similar to linearly-tiled images that are used for transfers.
Fixes android.graphics.cts.VulkanFeaturesTest#testAndroidBaselineProfile2021Support.
Cc: mesa-stable
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36798>
(cherry picked from commit f67edacf8b4217606d6ad9b5938a2ea6dd10d2db)
-
8639a38b
by Antonio Ospite at 2025-09-03T12:08:47+02:00
nak/nouveau: silence errors about never used methods
When building nvk for Android the rust compiler emits the following
errors:
-----------------------------------------------------------------------
error: methods `get_pred_src`, `get_u32_bnot_src`, `get_carry_src`, `set_pred_dst`, and `set_carry_dst` are never used
--> ../src/nouveau/compiler/nak/ir.rs:1371:12
|
1370 | impl OpFoldData<'_> {
| ------------------- methods in this implementation
1371 | pub fn get_pred_src(&self, op: &impl SrcsAsSlice, src: &Src) -> bool {
| ^^^^^^^^^^^^
...
1404 | pub fn get_u32_bnot_src(&self, op: &impl SrcsAsSlice, src: &Src) -> u32 {
| ^^^^^^^^^^^^^^^^
...
1413 | pub fn get_carry_src(&self, op: &impl SrcsAsSlice, src: &Src) -> bool {
| ^^^^^^^^^^^^^
...
1446 | pub fn set_pred_dst(&mut self, op: &impl DstsAsSlice, dst: &Dst, b: bool) {
| ^^^^^^^^^^^^
...
1450 | pub fn set_carry_dst(&mut self, op: &impl DstsAsSlice, dst: &Dst, b: bool) {
| ^^^^^^^^^^^^^
|
= note: `-D dead-code` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(dead_code)]`
error: method `eval` is never used
--> ../src/nouveau/compiler/nak/ir.rs:1523:12
|
1522 | impl PredSetOp {
| -------------- method in this implementation
1523 | pub fn eval(&self, a: bool, b: bool) -> bool {
| ^^^^
error: method `to_mask` is never used
--> ../src/nouveau/compiler/nak/ir.rs:5625:12
|
5614 | impl SuClampRound {
| ----------------- method in this implementation
...
5625 | pub fn to_mask(&self) -> u32 {
| ^^^^^^^
error: method `cast` is never used
--> ../src/nouveau/compiler/nak/ir.rs:6041:8
|
6006 | impl IMadSpSrcType {
| ------------------ method in this implementation
...
6041 | fn cast(&self, v: u32) -> i64 {
| ^^^^
-----------------------------------------------------------------------
Add `#[allow(dead_code)]` to silence the errors, as suggested by the
compiler.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
(cherry picked from commit 5c019bdee5483f5c5b72af17c1c7b0d3cad328f1)
-
d7fcc766
by Antonio Ospite at 2025-09-03T12:08:47+02:00
compiler/rust: fix errors about hiding elided lifetime
In some setups the rust compiler emits errors like the following:
-----------------------------------------------------------------------
error: hiding a lifetime that's elided elsewhere is confusing
--> ../subprojects/proc-macro2-1.0.86/src/parse.rs:125:25
|
125 | fn block_comment(input: Cursor) -> PResult<&str> {
| ^^^^^^ -------------
| | | |
| | | the same lifetime is elided here
| | the same lifetime is hidden here
| the lifetime is hidden here
|
= help: the same lifetime is referred to in inconsistent ways, making the signature confusing
= note: `-D mismatched-lifetime-syntaxes` implied by `-D warnings`
= help: to override `-D warnings` add `#[allow(mismatched_lifetime_syntaxes)]`
help: use `'_` for type paths
|
125 | fn block_comment(input: Cursor<'_>) -> PResult<'_, &str> {
| ++++ +++
-----------------------------------------------------------------------
Follow the solution suggested by the compiler to silence the errors, for
all the observed occurrences.
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
(cherry picked from commit 8f84ae7de7897078e9f414518c94f0b068402648)
-
5cb6fbb4
by Faith Ekstrand at 2025-09-03T12:08:47+02:00
subprojects: Stop calling add_languages() in paste-1-rs/meson.build
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36849>
(cherry picked from commit 291ccffd3d423b36f8db65f94b26816d48b80300)
-
1c3c022f
by Iván Briano at 2025-09-03T12:08:47+02:00
anv: fix capture/replay of sparse images with descriptor buffer
We were not implementing vkGetImageOpaqueCaptureDescriptorDataEXT,
relying on the common implementation that does nothing. That works well
enough for regular images because the fixed address needed for
capture/replay is handled by the memory allocation path, but for sparse
images we initialize the sparse bindings at image creation time.
Here we implement the function to retrieve the addresses of all the
used bindings for the image, then use all of them at creation time.
Also, set the correct alloc_flags for this to work.
Fixes: 43b57ee8a56 ("anv: add capture/replay support for image with descriptor buffers")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/35872>
(cherry picked from commit 20f546d6c17d1df62fc8c0dcc1c434a69c43f3c2)
-
97ecc0d4
by Job Noorman at 2025-09-03T12:08:47+02:00
ir3: don't vectorize nir_op_sdot_4x8_iadd[_sat]
They don't support being repeated.
Fixes a compiler crash in Hogwarts Legacy.
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: 58d18bc7a81 ("ir3: lower vectorized NIR instructions")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36886>
(cherry picked from commit b53682f41bf52a2bd6f573568d77cca864d716dd)
-
f9881a9e
by Lionel Landwerlin at 2025-09-03T12:08:47+02:00
brw: fix analysis dirtying with pulled constants
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 5c17299084 ("brw: enable A64 pulling of push constants")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36455>
(cherry picked from commit df37c7ca743f6407cee4cc6cde7a33fdfe8ed3b7)
-
6a750484
by Georg Lehmann at 2025-09-03T12:08:47+02:00
nir/uub: fix exclusive scans
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36874>
(cherry picked from commit a2e48d2ede89e44c56534fb238d6c408ccc3fea6)
-
e281b37c
by Samuel Pitoiset at 2025-09-03T12:08:47+02:00
radv: dirty some states from graphics pipeline earlier
This might actually fixes a couple of things because needed dynamic
states are computed before radv_emit_graphics_pipeline(), so dirtying
them too late doesn't make much sense.
This doesn't fix anything known.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36900>
(cherry picked from commit d40e841cc4c81f6bd07d22a846420a8023674dcf)
-
04fc414e
by Lionel Landwerlin at 2025-09-03T12:08:47+02:00
anv: fix uninitialized return value
We don't go through the loop when there are no queues.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 884df891d7 ("anv: allow device creation with no queue")
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36910>
(cherry picked from commit 1bab95551a348173aba950bfc7696deecff1b9a1)
-
ac602c97
by Caio Oliveira at 2025-09-03T12:08:48+02:00
brw: Fix folding case for MAD instruction with all immediates
Fixes: b605f76b2a6 ("brw/algebraic: Constant fold multiplicands of MAD")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36867>
(cherry picked from commit 74a4e7dd4b53e2b4407af089e46ef86aa12cb60a)
-
b6e59297
by Job Noorman at 2025-09-03T12:08:48+02:00
ir3: emit descriptor prefetch in block dominated by its sources
Descriptor prefetches may be generated for instructions in control flow.
This means we cannot simply emit prefetches at the end of the preamble
because that may not be dominated by all their sources. This commit uses
the helpers introduced by e7ac1094f69 ("ir3: rematerialize preamble defs
in block dominated by sources") to find the correct block to insert
prefetches.
Fixes NIR validation errors in Dying Light 2.
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: 4e2a0a5ad09 ("ir3: Add descriptor prefetching optimization on a7xx")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36885>
(cherry picked from commit 24cdb0b636dc6b6a7eee4e9175c61459b0bc88dd)
-
cbd43cd9
by Jianxun Zhang at 2025-09-03T12:08:48+02:00
anv: No compression on host memory allocation (xe2)
The Xe kernel driver doesn't allow vm_bind on compressed bo
if it has user pointer. And we probably shouldn't enable CCS
compression on memory in any case.
This change is necessary to prevent failures once we adjust the
priority of compression PAT entries in a following commit:
Vulkan CTS:
dEQP-VK.api.buffer_marker.compute.external_host_mem.top_of_pipe.
memory_dep.buffer_copy
dEQP-VK.memory.external_memory_host.simple_allocation.
minImportedHostPointerAlignment_x3
anv_kmd_backend.c:308: xe_vm_bind_op: Assertion
`errno_ != EINVAL' failed.
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36275>
(cherry picked from commit c7665869571d456f9259c0ab45655b6879921c7a)
-
9b8fdca8
by Jianxun Zhang at 2025-09-03T12:08:48+02:00
anv: Fix PAT entry in importing (xe2)
If a compressed bo is imported, we should set the corresponding
compressed PAT.
Fixes video corruption in gamescope:
gamescope --force-composition -- vkcube
Close: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13442
Signed-off-by: Jianxun Zhang <jianxun.zhang@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: Nanley Chery <nanley.g.chery@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36275>
(cherry picked from commit 8d98bf289d5fb9cb50e4c64a54b89201e936b95a)
-
836891ad
by Jarrett Johnson at 2025-09-03T12:08:48+02:00
nir: tag cls variable as maybe unused
Windows release builds strips asserts resulting in variable
seen as unused (/we4189)
Co-authored-by: Georg Lehmann <dadschoorse@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36915>
-
e048d620
by David Rosca at 2025-09-03T12:08:48+02:00
radeonsi/vcn: Disable H264 encode 8x8 transform when CABAC is disabled
VCN5 only supports it with CABAC enabled.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13029
Fixes: e509139f61a ("radeonsi/vcn: Add support for H264 8x8 transform on VCN5")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36881>
(cherry picked from commit 2e400fc09936a9e40d45562dce8869a69bb1c707)
-
6750c5f7
by David Rosca at 2025-09-03T12:08:48+02:00
radv/video: Disable H264 encode 8x8 transform when CABAC is disabled
VCN5 only supports it with CABAC enabled.
Fixes: 960f63596fe ("radv/video: Add VCN5 encode support")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36881>
(cherry picked from commit 8ac9a9afee8ef687df3d7033dbda91465412be3d)
-
ba43727a
by Robert Mader at 2025-09-03T12:08:48+02:00
gallium: Set and count all extra samplers
After the commit mentioned below the `extra` variable only holds the
last added extra sampler. For 3-plane formats this results in one extra
sampler being leaked.
Add the bits for each extra sampler instead.
Fixes: abcd02a07db (gallium: Properly handle non-contiguous used sampler view indexes)
Signed-off-by: Robert Mader <robert.mader@collabora.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Tested-by: Matthias Reichl <hias@horus.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36870>
(cherry picked from commit 25fe82630a629d0fb2e86a32124af4ff41ba1086)
-
7c4b2007
by Daniel Schürmann at 2025-09-03T12:08:48+02:00
aco/ra: don't clear lateKill operands in get_reg_create_vector()
Fixes: 08f088479a40b2f8c76064f4f9939c53a6d03a9b ('aco/ra: set late-kill for operands of temporary p_create_vector')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36871>
(cherry picked from commit 219c53e6fca818e42ee5837c4e7f6e5253ea989f)
-
8f23dba1
by Yiwei Zhang at 2025-09-03T12:08:48+02:00
panvk: ensure wsi memory is bound at offset 0
No apps or tests have hit the spec corner case yet, but in theory they
could pass invalid offset and expect the impl to ignore it for wsi alias
binding. This change ensures the offset is zero, which aligns with
common wsi side binding as well as obeying the dedicated allocation
requirement.
Fixes: 187956bd51a ("panvk: adopt wsi_common_get_memory")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Acked-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36603>
(cherry picked from commit 2f54020f293f388def106e7729664407f412108a)
-
f8765dcc
by Jesse Natalie at 2025-09-03T12:08:48+02:00
nir: Add missing #include for c99_alloca.h
Fixes: 3dd9a978 ("nir: add new pass nir_lower_io_indirect_loads")
Reviewed-by: Yonggang Luo <luoyonggang@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36940>
(cherry picked from commit 5b3756f231ba3e3bd214189954da9622b1e384e3)
-
45f79c7e
by Yiwei Zhang at 2025-09-03T12:08:48+02:00
vulkan/android: amend a missing case for IMPLEMENTATION_DEFINED AHB
An AHB with IMPLEMENTATION_DEFINED format is commonly backed by NV12 or
XBGR8888. The former is the usual pick for camera <-> GPU interop, while
the latter is mostly only seen in Android CTS. Ideally, we can rely on
the queried fourcc to resolve everything instead of being on the
fallback path, but keeping this a minimal fix is easy for porting.
Cc: mesa-stable
Reviewed-by: Lucas Fryzek <lfryzek@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36866>
(cherry picked from commit 25a8e124e0991fea11dcf287aad11a02e6c2ef65)
-
e8db3a75
by Pohsiang (John) Hsu at 2025-09-03T12:08:48+02:00
gallium/pipebuffer: fix multithread issue on pb_slab_manager_create_buffer
This is an issue found in testing multiple mediafoundation MFT
concurrently. Thanks to Jesse for the fix.
cc: mesa-stable
Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Sil Vilerino <sivileri@microsoft.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36923>
(cherry picked from commit e76e95e084f4bc1d4ddbe8a38d86df7d14e619dd)
-
049afa43
by Mary Guillemard at 2025-09-03T12:08:48+02:00
nouveau/headers: Fix nv_push rust push_inline_data implementation
Signed-off-by: Mary Guillemard <mary@mary.zone>
Fixes: 66954d997d8 ("nouveau/headers: Add an nv_push crate in Rust")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36093>
(cherry picked from commit c64d8a05481fa81d11cc84714a7e42bce1142050)
-
4fdc7e99
by Karol Herbst at 2025-09-03T12:08:48+02:00
aux/trace: move fence_server calls outside the locked area
Multiple contexts can use those causing deadlocks if e.g. fence_get_fd
gets called before fence_server_signal on another thread on the same
pipe_fence_handle.
Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36819>
(cherry picked from commit d9c3bbb08c0f4bba36536f25ec61d16f468e86d1)
-
a93b1275
by Connor Abbott at 2025-09-03T12:08:48+02:00
vulkan/queue: Fix VkTimelineSemaphoreSubmitInfo sanitization
We're supposed to completely ignore VkTimelineSemaphoreSubmitInfo if
there aren't any timeline semaphores, including the array lengths, which
is made clear by the various VUs already cited by the code. The
vkQueueSubmit() path correctly handled this when asserting but still
dereferenced pWaitSemaphoreValues unconditionally, which could lead to
dereferencing an invalid pointer if waitSemaphoreValueCount is less than
waitSemaphoreCount. The vkQueueSparseBind() path didn't even assert
correctly. Bring vkQueueSparseBind() in line with vkQueueSubmit()
and make both only dereference the wait/signal array once we've
determined it must be present. While we're here, also fix the assert in
vkQueueSubmit() to disallow a waitSemaphoreValueCount of 0 if there are
timeline semaphores present, which conversely is not allowed.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36989>
(cherry picked from commit bef37336fb08aaee0bd54d359a9e7fbecbf88b86)
-
af83e46d
by Mike Blumenkrantz at 2025-09-03T12:08:48+02:00
zink: break out unflushed batch waiting into separate function/mechanism
this is useful on its own
no functional changes
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36954>
(cherry picked from commit c9746103f5e5b532188a5e172e1adab27507d60b)
-
6bf190f7
by Mike Blumenkrantz at 2025-09-03T12:08:48+02:00
zink: pass ctx to sparse bind functions
no functional changes
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36954>
(cherry picked from commit 2cf626d17d6d8d14067986681d44a4bddf08e7b3)
-
e12c95c4
by Mike Blumenkrantz at 2025-09-03T12:08:48+02:00
zink: when sparse unbinding, always wait on main timeline semaphore
this ensures synchronization between gfx/compute work and the sparse queue
fixes KHR-GL46.sparse_buffer_tests.BufferStorageTest_cases_*. on turnip
cc: mesa-stable
Closes: #13747
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36954>
(cherry picked from commit 39ffc3f629b9f75e1d128ac380f3617c5bc77273)
-
654efa44
by Pierre-Eric Pelloux-Prayer at 2025-09-03T12:08:49+02:00
mesa/st: always use base_serialized_nir for draw
f2f640f35 introduces base variants, so we get 2 NIR shaders:
glsl-to-nir -> base_serialized_nir
-> serialized_nir
Then, depending on who is using the shader the right one would be picked:
* draw uses base_serialized_nir
* hw driver uses serialized_nir
ef0c9231a75 made sure that base wasn't used when the shader is loaded from
the cache because it's missing, so in this case, glsl-to-nir does:
glsl-to-nir -> from-cache -> serialized_nir
The problem is that if draw tries to use this shader it may fail, for
the same reason as the referenced commits were introduced: draw may not
be compatible with some NIR passes used by the driver.
To fix this we need to serialize both NIR shaders, and pick the right
one depending on the user.
Fixes: ef0c9231a75 ("mesa/st: don't use serialized_nir for cached shaders")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36411>
(cherry picked from commit 0e3ec9e82ca27844dac7b1ce4aff7a65332181f2)
-
4f7345f2
by Pierre-Eric Pelloux-Prayer at 2025-09-03T12:08:49+02:00
nir/opt_varyings: fix build with PRINT_RELOCATE_SLOT
Fixes: e3d122ed7b0 ("nir/opt_varyings: completely exclude mediump from type changes")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36411>
(cherry picked from commit e92638b6bf35a15e0837df322879b64ba21dc2a0)
-
4b433fd3
by Josh Simmons at 2025-09-03T12:08:49+02:00
util: Fix `BITSET_EXTRACT` out-of-bounds read
In some situations the implementation of `BITSET_EXTRACT` would read
beyond the size of the bitset due to an unconditional + 1 in the address
calculation.
Reviewed-by: Georg Lehmann <dadschoorse@gmail.com>
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Fixes: 0cc9443e9b5 ("util: Add BITSET_EXTRACT")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34605>
(cherry picked from commit 922c3c53ceb77c0c51a6ed2937860dc812059c01)
-
8f2c41c8
by Qiang Yu at 2025-09-03T12:08:49+02:00
mesa: fix glTexPageCommitmentARB and glTexturePageCommitmentEXT level check
gl_texture_object._MaxLevel is not set at this point. Follow the level
check of texsubimage_error_check() now.
Fixes: 90415c1a3a4 ("mesa: implement glTexPageCommitmentARB/glTexturePageCommitmentEXT")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13730
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36865>
(cherry picked from commit c1b93964036ff5f98ad8ff9b7859ca309314d73b)
-
7d73389a
by Samuel Pitoiset at 2025-09-03T12:08:49+02:00
radv: add missing L2 invalidate cache flush for non-coherent images
Images aren't always coherent with L2 and AMD generations have
different rules, see radv_image_is_l2_coherent() for the full picture.
This fixes a rendering issue on GFX9 because depth/stencil images
aren't coherent, but this also affects color images.
This also fixes a cache coherency issue with an ongoing extension.
Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/12274
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36815>
(cherry picked from commit 99b287bde583906280e721569ddfa46c71060314)
-
9e77cb74
by Georg Lehmann at 2025-09-03T12:08:49+02:00
aco: fix ra validation for flat/global/scratch/ds load sbyte_d16
Fixes: 18a53230eb5 ("aco: don't check dst_bitsize in apply_load_extract")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36964>
(cherry picked from commit 791a57805c53b2120c1d8e3637f2fa3036212361)
-
26fe8475
by David Rosca at 2025-09-03T12:08:49+02:00
radeonsi/vcn: Disable H264/5 constrained intra pred with rate control
There is a FW issue when using constrained intra prediction with rate
control enabled, causing unexpected quality degradation.
Disable it until FW fix is available.
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36837>
(cherry picked from commit 51d5c0d53797cfcc25ac654f4dc643fe21d9aa5e)
-
734d42d7
by David Rosca at 2025-09-03T12:08:49+02:00
radeonsi/vcn: Fix compatibility with old FW for encode
The interface version can't be higher than the FW version, otherwise
FW will reject all encode jobs.
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36845>
(cherry picked from commit e945bb3649543bfbcd2e683e308acb989d50b5e8)
-
3b265094
by David Rosca at 2025-09-03T12:08:49+02:00
radeonsi/vcn: Fix HEVC encode cu_qp_delta with old FW
VCN2 needs interface version bump to enable it.
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36845>
(cherry picked from commit 26fc4798c1656a08727248c59d6e888b86976657)
-
5ce967c7
by David Rosca at 2025-09-03T12:08:49+02:00
radeonsi/vcn: Fix HEVC encode transform_skip with old FW
Cc: mesa-stable
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36845>
(cherry picked from commit e1fcc403d4ddbe2555fd8c28c552103b2e64ef1a)
-
b7b7f74e
by Sagar Ghuge at 2025-09-03T12:08:49+02:00
anv: Add missing ACCELERATION_STRUCTURE_READ in barrier handling
Cc: mesa-stable
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36952>
(cherry picked from commit 75d770b4f8c8ed3298a0d380296244e01bb1f90e)
-
4f1f8afe
by Sagar Ghuge at 2025-09-03T12:08:49+02:00
anv: Enable CS stall for ACCELERATION_STRUCTURE_COPY stage
Cc: mesa-stable
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36952>
(cherry picked from commit 4473e21e2f8ef0e7c4c12c4ba48e2696b137d2b2)
-
cfadaadc
by Sagar Ghuge at 2025-09-03T12:08:49+02:00
anv: Add missing L3 flushes
We are reading out some of the parameters from IR data structure those
have been written previously, on some platforms L3 is not coherent, so
explicitly add those flushes.
Cc: mesa-stable
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36952>
(cherry picked from commit 2cd564c1def281631bf6d12045a65a7b9f80ddd0)
-
517e9449
by Connor Abbott at 2025-09-03T12:08:49+02:00
tu: Fix CmdBindTransformFeedbackBuffersEXT size handling
According to the spec and as implemented by other drivers, this should
use the size of the buffer instead of the size of the VkDeviceMemory
it's bound to when VK_WHOLE_SIZE is specified or pSizes is NULL. The
current behavior doesn't make sense at all for sparse buffers which are
not bound to a single VkDeviceMemory. Just use the common helper that
already does the right thing, copied from anv.
Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32533>
(cherry picked from commit 460ed359164105f7ea9d50e7909500d786f7ca27)
-
1da029bc
by Mark Collins at 2025-09-03T12:08:49+02:00
freedreno/drm: Only initialize memory data source when Perfetto is active
FdMemoryDataSource was being registered as a Perfetto data source
unconditionally which led to anything calling fd_device_new(...)
attempting to do this even when they might not have Perfetto
initialized which is done as a part of util_perfetto_init, without
which trying to register the event causes a SEGFAULT.
Fixes: c7045e3e6331 ("perfetto: unify init")
Signed-off-by: Mark Collins <mark@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36993>
(cherry picked from commit 098521559d5e6978f1c51c33dd1807864f336a02)
-
387a1c2c
by Samuel Pitoiset at 2025-09-03T12:08:49+02:00
radv: fix hashing graphics pipeline when no stages are compiled
It's possible with GPL.
This fixes a NULL pointer dereference with updated pipeline binaries
tests in VKCTS.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36999>
(cherry picked from commit 944e26eae771d75a8f59b21294e30d27a15f916c)
-
8395d77c
by Lionel Landwerlin at 2025-09-03T12:08:49+02:00
brw: remove uniform from opt_offsets
Those are for push constants, no point in doing that because :
- there is no HW constant offsets in push constants (payload
delivery), it's just register offset calculation
- if we have an dynamic value it's already using MOV_INDIRECT
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: e103afe7be ("brw: run the nir_opt_offsets pass and set the maximum offset size")
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36958>
(cherry picked from commit 27c69acb6a34d4a492a7bbd933ff759d2441e8d6)
-
8c04110b
by Eric R. Smith at 2025-09-03T12:08:49+02:00
mesa: fix off by one in MSRTT handling
The actual number of samples chosen is allowed to equal the number
requested, but currently we just check for sample counts greater
than the request.
Fixes: 894b37e0609 ("mesa: fix sample count handling for MSRTT")
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36878>
(cherry picked from commit 095d1b6bcc328d551948fd27acf9369a4157a9c2)
-
66fdba6e
by Boris Brezillon at 2025-09-03T12:08:50+02:00
panvk: Fix disjoint image memory binding
Right now, we store the last VkDeviceMemory object bound to an image in
panvk_image::mem, but this doesn't work for disjoint images where the mem
object can differ on each plane.
Move panvk_image::mem to panvk_image_plane::mem and prefix the offset
field with mem_, so it's clear the offset refers to the mem object.
Note this should only fix host copy on disjoint images, since the GPU
address was already properly set at bind time.
Fixes: 1cd61ee94875 ("panvk: implement VK_EXT_host_image_copy for linear color images")
Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Olivia Lee <olivia.lee@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36926>
(cherry picked from commit d0126f5ced922ba5516f789173d482644cbf024f)
-
b8c30ec7
by Erik Faye-Lund at 2025-09-03T12:08:50+02:00
pan/lib: clamp format size to 4
When using formats with less than 32-bits per pixel, we pad the
tile-buffer to a multiple of 32-bits so we can store additional bits
used by dithering.
Account for this when computing the max MSAA setting.
Fixes: 329568b5ebd ("panfrost: add color-attachment and msaa helpers")
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/35755>
(cherry picked from commit 6a831937711302e88e1ed48d918cc818e5df0530)
-
bb7baeae
by Eric R. Smith at 2025-09-03T12:08:50+02:00
panvk: revised occlusion query pointer fix
It turns out that the `occlusion_query.syncobj` is used to set
state that later code relies on, and setting it to NULL causes
some Vulkan CTS tests to fail. Instead, we should explicitly check
for the mode being `MALI_OCCLUSION_MODE_DISABLED` to avoid using
an invalid `ptr` field.
Fixes: 24c692c9816 ("panvk: fix a NULL pointer dereference in occlusion queries")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36794>
(cherry picked from commit 9b4eb81162d946a967ec818a90ecfa29c198e108)
-
ec112a35
by Faith Ekstrand at 2025-09-03T12:08:50+02:00
nak: Add a nak_qmd_size_B() query
Also add a #define NAK_QMD_ALIGN_B for alignments. The alignment is
always 256B and there's no evidence of that changing.
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Backport-to: 25.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36995>
(cherry picked from commit 02ef6a51587b6a57039515c8b6dbc4f90cc94e2f)
-
5939ff09
by Faith Ekstrand at 2025-09-03T12:08:50+02:00
nak/hw_runner: Allow for variable sized QMDs
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Backport-to: 25.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36995>
(cherry picked from commit 238534e069298b1eb134c66019a69661d1a60249)
-
55914689
by Faith Ekstrand at 2025-09-03T12:08:50+02:00
nvk: Allow for larger QMDs
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Backport-to: 25.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36995>
(cherry picked from commit 0e268dad00c2538cb5938a28a72b5a920e46c998)
-
df0a1e7e
by Faith Ekstrand at 2025-09-03T12:08:50+02:00
nak/qmd: QMD versions 4.0 and 5.0 are both 384B
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Backport-to: 25.2
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36995>
(cherry picked from commit 00a845a698e3a86b71f0eb7a6ddf1d611826151e)
-
7b09f7d1
by Faith Ekstrand at 2025-09-03T12:08:50+02:00
nak: NAK_MAX_QMD_SIZE_B should be 384
Also add a static assert so we don't miss this again.
Fixes: 00a845a698e3 ("nak/qmd: QMD versions 4.0 and 5.0 are both 384B")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37015>
(cherry picked from commit 0a14ce7f501f70d9796270b5715dbecc36522102)
-
1cfa5a47
by Faith Ekstrand at 2025-09-03T12:08:50+02:00
compiler/rust: Fix the DFS loop detection algorithm
The previous algorithm just looked at the dominator's loop header.
However, if you have multiple consecutive loops like:
function_impl {
loop {
// Stuff
}
loop {
// Other stuff
}
}
then it will look like the second loop is contained in the first loop
because the first loop's header dominates the second loop. This isn't
actually what we want. Instead, we want a node N to be considered part
of a loop with header H if H dominates N and H is reachable from N.
Fixes: 741f7067f1fb ("nak: Add loop detection to the CFG")
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36524>
(cherry picked from commit a1d5e8bfdbfd8686ee9eca1a30085338a6a5dec9)
-
a245b6cd
by Julia Zhang at 2025-09-03T12:08:50+02:00
pps: init driver in OnSetup
Initialization of driver has been moved to register_data_source() from
OnSetup() by: a739889789f4 ("pps: Report available counters when
gpu.counters* data source is registered")
With above change, pps will destroy driver when collecting data stops
(pps may keep running) then the driver will become nullptr when user try
to collect data again. This will cause segmentation fault in OnSetup().
So this remove driver = nullptr in OnStop() and init driver in OnSetup()
to make sure driver exists when pps-producer run more than once.
Fixes: a739889789f ("pps: Report available counters when gpu.counters*
data source is registered")
Signed-off-by: Julia Zhang <Julia.Zhang@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36548>
(cherry picked from commit 20b809f1f09b45a64846b3d4d8748150cbd8bc9d)
-
c95d55e9
by Georg Lehmann at 2025-09-03T12:08:50+02:00
aco/optimizer: don't apply packed clamp to v_fma_mix
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13758
Fixes: 345bf8a2f28 ("aco/optimizer: remove label_vop3p")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36963>
(cherry picked from commit 8903bb4618da772d06413e0cfaa433a67525352d)
-
5d863336
by Georg Lehmann at 2025-09-03T12:08:50+02:00
aco/optimizer: don't create undef copies from p_create_vector
p_create_vector allows undef operands, p_parallelcopy doesn't.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13765
Fixes: 01d20680e2e ("aco/optimizer: generalize p_create_vector of split vector opt")
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36963>
(cherry picked from commit 635ac758c9daa8be72bea39eaba09465c8c338c9)
-
f6227baf
by Georg Lehmann at 2025-09-03T12:08:50+02:00
ac/nir: do not assume mesh cull flag is 1bit
It will no longer be 1bit after a nir/lower_io bug is fixed.
Cc: mesa-stable
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36966>
(cherry picked from commit 13a9f2743209cf297c81ca5963be509c1c72d86a)
-
4468a08a
by Georg Lehmann at 2025-09-03T12:08:50+02:00
nir/lower_io: fix boolean output stores
Stores don't have a definition, we have to check the bit size of the source.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13762
Fixes: c217ee8d35f ("nir: Insert b2b1s around booleans in nir_lower_to")
Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
Reviewed-by: Mary Guillemard <mary@mary.zone>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36966>
(cherry picked from commit e270a7480bdcb789087fd44bb44521222b5062fd)
-
dedaef83
by Mike Blumenkrantz at 2025-09-03T12:08:50+02:00
zink: trigger fb unbind barrier on resolve images too
these are likely to be used as fs textures, therefore always
pre-sync them in tiler mode
Fixes: a71b6ac41a1 ("tc: also inline depth resolves")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37012>
(cherry picked from commit 8c1519318fe9336a8bb881b5b17b9be81cb1d226)
-
9a65828a
by Mike Blumenkrantz at 2025-09-03T12:08:50+02:00
zink: fix sizing on resolve resource array
let the compiler figure it out instead of mis-sizing it
Fixes: a71b6ac41a1 ("tc: also inline depth resolves")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37012>
(cherry picked from commit 92f2ef5a72342e2b7c041ccd8c81dcc8f95e7e31)
-
13ade98b
by Mike Blumenkrantz at 2025-09-03T12:08:50+02:00
zink: update resized swapchain depth buffer layout while blitting
this otherwise will not be set for the renderpass
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37024>
(cherry picked from commit c6062e8463b60089b84e70fcdac89bd84ef81fde)
-
6838ea2b
by Mike Blumenkrantz at 2025-09-03T12:08:50+02:00
zink: unify/fix clear flushing
this ensures the blitting/queries_disabled flags are always set/unset
and the layouts are too
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37024>
(cherry picked from commit b122c3eaa9eff5c5c778d7dd7e06614b21a8c55b)
-
c4dd465e
by Lionel Landwerlin at 2025-09-03T12:08:51+02:00
brw: fix INTEL_DEBUG=spill_fs
We need to dirty the instruction BRW_DEPENDENCY_INSTRUCTIONS &
BRW_DEPENDENCY_VARIABLES if anything was spilled.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: a6b0783375 ("brw: Use brw_ip_ranges in scheduling / regalloc")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13233
Reviewed-by: Caio Oliveira <caio.oliveira@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36925>
(cherry picked from commit e6ca709a4ee42bbb5b9c4db289867918162c6e9e)
-
fbfb88a6
by Lionel Landwerlin at 2025-09-03T12:08:51+02:00
brw: fix broadcast opcode
The problem with the current code is that there is a disconnect between :
- the virtual register size allocated
- the dispatch size
- the size_written value
Only the last 2 are in sync and this confuses the spiller that only
looks at the destination register allocation & dispatch size to figure
out how much to spill.
The solution in this change is to make BROADCAST more like
MOV_INDIRECT, so that you can do a BROADCAST(8) that actually reads a
SIMD32 register. We put the size of the register read into src2.
Now the spiller sees correct read/write sizes just looking at the
destination register & dispatch size.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 662339a2ff ("brw/build: Use SIMD8 temporaries in emit_uniformize")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13614
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36564>
(cherry picked from commit 93996c07e2230711a862b01a39a795d300298583)
-
355d9ecf
by Caio Oliveira at 2025-09-03T12:08:51+02:00
brw: Fix checking sources of wrong instruction in opt_address_reg_load
Fixes: 8ac7802ac83 ("brw: move final send lowering up into the IR")
Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37019>
(cherry picked from commit 1c933b6511de6c48ac49db8a1d04a8519251e877)
-
b5e53a49
by Rob Clark at 2025-09-03T12:08:51+02:00
drirc: Work around ANGLE brokeness
ANGLE is completely broken on certain vendors, see
https://issues.angleproject.org/u/1/issues/431097618
Work around this by spoofing gl vendor.
Cc: mesa-stable
Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36540>
(cherry picked from commit b82e49f64494f96121174fe5aace33a449b50f65)
-
ecd14fc3
by Philipp Zabel at 2025-09-03T12:08:51+02:00
rusticl: Fix hidden lifetime warnings
Fix the following warning, and others that are similar, as rustc
suggests:
warning: hiding a lifetime that's elided elsewhere is confusing
--> ../src/gallium/frontends/rusticl/mesa/compiler/nir.rs:282:22
|
282 | pub fn variables(&mut self) -> ExecListIter<nir_variable> {
| ^^^^^^^^^ -------------------------- the same lifetime is hidden here
| |
| the lifetime is elided here
= help: the same lifetime is referred to in inconsistent ways, making the signature confusing
= note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
|
282 | pub fn variables(&mut self) -> ExecListIter<'_, nir_variable> {
| +++
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37059>
(cherry picked from commit 0e6b24451df5c05aa5a4ed945ea6fdbecde8d733)
-
65cf417c
by Mike Blumenkrantz at 2025-09-03T12:08:51+02:00
zink: also set msrtss stencil
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37057>
(cherry picked from commit 817077276a6f20e6fed19b6a39d1e28e990eae56)
-
139ca719
by Mike Blumenkrantz at 2025-09-03T12:08:51+02:00
zink: always flush clears when doing single-aspect blit to avoid data loss
if doing e.g., clear(DEPTH|STENCIL) -> blit(DEPTH), the stencil clear would
previously have been discarded
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37057>
(cherry picked from commit e83c7f2912c1c1fdb854e905cbf2a17a1b9cb528)
-
2f81ead7
by Hans-Kristian Arntzen at 2025-09-03T12:08:51+02:00
nvk: Return 0 for opaque memory capture replay.
If implementation does not actually replay the VA, it must return 0
to not violate:
"If the memory object was allocated with a non-zero value of
opaqueCaptureAddress, the return value must be the same address."
Fixes RenderDoc capture replay, which asserts on the this spec rule
being followed.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Fixes: ed6d5c33 ("nvk: Implement VK_EXT/KHR_buffer_device_address")
Reviewed-by: Mohamed Ahmed <mohamedahmedegypt2001@gmail.com>
Closes #13784
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37047>
(cherry picked from commit 6fbe2be7a7719d6013312165769f6fafe140c2be)
-
ad369558
by Mike Blumenkrantz at 2025-09-03T12:08:51+02:00
zink: fix some weird indentation in update_binds_for_samplerviews()
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37066>
(cherry picked from commit 57399b5b8b3deeb67ad919604e68a776e98a0147)
-
63a7145d
by Mike Blumenkrantz at 2025-09-03T12:08:51+02:00
zink: flag resources for layout eval in update_binds_for_samplerviews()
this ensures the used layout is in sync with the expected descriptor layout
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37066>
(cherry picked from commit 0bae67b02b331a5de581703947dbab1258c915cd)
-
6f684657
by Faith Ekstrand at 2025-09-03T12:08:51+02:00
lavapipe: Always use dma-buf for external memory when we can
This makes lavapipe act like other DRM drivers whenever we have udmabuf
and just make everything a dma-buf even if it doesn't strictly have to
be. Without this we can end up in weird cases if the client asks to
allocate a memory object with multiple export types. Before, if this
happened, we would allocate a memfd and then return that when the client
calls GetMemoryFd() even if they asked for a dma-buf. In theory, we
could add additional plumbing to allow for using the memfd itself for
OPAQUE_FD and only wrap in a udmabuf if DMA_BUF is requested but this is
simpler and more in line with what hardware DRM drivers do.
Fixes: c1657de63c23 ("lavapipe: support VK_EXTERNAL_MEMORY_HANDLE_TYPE_DMA_BUF_BIT_EXT")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13798
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37067>
(cherry picked from commit 31f0d0732ece8ae59f4b1776f502527cc76d8558)
-
1dfd07ed
by Faith Ekstrand at 2025-09-03T12:08:51+02:00
nir: Add an option to make lower_phis_to_regs_block() less clever
Right now it tries to place reg_write instructions as far up the
predecessor chain as possible. This is useful for a bunch of the passes
that call it since it ensures they don't get placed in dead blocks or in
single successors and things like that. But it screws up NAK's control
flow lowering so we need the option to turn it off and make the pass
place the reg_write instructions in the most obvious place possible.
Fixes: b013d54e4ff9 ("nak/lower_cf: Flag phis as convergent when possible")
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36914>
(cherry picked from commit 26e32417b954f63a812bb93644a213997fa5c031)
-
49ec2f3d
by Faith Ekstrand at 2025-09-03T12:08:51+02:00
nak,nir: Use a simpler version of phis_to_regs_block in lower_cf
The original lower_phis_to_regs_block() is a little too clever. It
crawls up the predecessor tree until it finds a cross edge and places
the register writes as deep as it can. This breaks nak_nir_lower_cf().
Say you have a shader like...
con %0 = load_uniform()
con loop {
if div {
} else {
}
break;
}
con %1 = phi %0
The original lower_phis_to_regs_block() will turn it into
con %0 = load_uniform()
con %r = decl_reg();
con loop {
if div {
reg_store(%r, %0)
} else {
reg_store(%r, %0)
}
break;
}
con %1 = reg_load(%r)
We then convert it into unstructured control-flow and run regs_to_ssa()
to get our phis back, which lowers each of the registers we inserted to
a phi tree. When we try to recover divergence information on phis by
looking at their sources, this works fine if each source maps directly
to a reg_store() whic maps directly to a phi in the original IR.
However, because the reg_store() instructions are placed deeper, it may
introduce false divergence.
Switch to the simple version of nir_lower_phis_to_regs_block() which
places reg writes directly in phi predecessor blocks. We could probably
be more conservative and just avoid placing writes to uniform regs in
divergent control-flow but it's more robust to make the load/store_reg
intrinsics match the original phis directly.
This fixes some shaders in Horizon: Zero Dawn Remastered
Fixes: b013d54e4ff9 ("nak/lower_cf: Flag phis as convergent when possible")
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36914>
(cherry picked from commit c6e831ac44e46e6359b5b11bca43852e8d9e90f0)
-
755703a7
by Lionel Landwerlin at 2025-09-03T12:08:51+02:00
anv: temporary disable KHR_maintenance8
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Fixes: 47cfc77085 ("anv: expose VK_KHR_maintenance8 support")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37050>
(cherry picked from commit d0e1dffcb716482b59e167a007ef7881b729dc93)
-
3afca5d9
by Lionel Landwerlin at 2025-09-03T12:08:51+02:00
Revert "anv: enable non uniform texture offset lowering"
This reverts commit 23de5abcb5370a28f42e1423321ed881591c0c1b.
Fixes: 23de5abcb5 ("anv: enable non uniform texture offset lowering")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37050>
(cherry picked from commit 1f279e6a084f53c3844c1ffb9e9ad10d5a131bb7)
-
35d59516
by Lionel Landwerlin at 2025-09-03T12:08:51+02:00
Revert "brw: move texture offset packing to NIR"
This reverts commit 4346210ae622d059560971a50e8ece000215cdcb.
Fixes: 4346210ae6 ("brw: move texture offset packing to NIR")
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37050>
(cherry picked from commit 23a4aef14ad309c4d023c929f52739e16d7f9b75)
-
91047682
by Ashley Smith at 2025-09-03T12:08:52+02:00
mesa: Fix support for GL_EXT_shader_clock
Missing 32-bit entry point in GLSL
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Mary Guillemard <mary.guillemard@collabora.com>
Fixes: 2ce20170 ("mesa: Add support for GL_EXT_shader_clock")
Signed-off-by: Ashley Smith <ashley.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36041>
(cherry picked from commit d9b388af277239e45f972b1ef1f5c600323a0164)
-
aaca1b0e
by Aleksi Sapon at 2025-09-03T12:08:52+02:00
draw: fix missing line viewport transformation
Fixes: 00627b4f ("aux/draw: add guardband clipping for lines")
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Roland Scheidegger <roland.scheidegger@broadcom.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36653>
(cherry picked from commit 1eef08771f861625c0e181a69ae98b4486babfec)
-
f40b9bfd
by Mary Guillemard at 2025-09-03T12:08:52+02:00
hk: Return 0 for opaque memory capture replay
If implementation does not actually replay the VA, it must return 0
to not violate:
"If the memory object was allocated with a non-zero value of
opaqueCaptureAddress, the return value must be the same address."
Fixes RenderDoc capture replay, which asserts on the this spec rule
being followed.
Signed-off-by: Mary Guillemard <mary@mary.zone>
Fixes: 5bc828481630 ("hk: add Vulkan driver for Apple GPUs")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37090>
(cherry picked from commit b7a0f0215f909b2ac0c35dce35785b82bf2a64e8)
-
70e2427b
by Sagar Ghuge at 2025-09-03T12:08:52+02:00
anv: Apply pipe flushes for outstanding PC bits
Apply any outstanding accumulated PC bits before we proceed on building
Acceleration Structure.
2 reasons for this :
- some of the data accessed by the build might need to be flushed
as a result of a previous barrier
- the scratch buffer might get reused between builds
Cc: mesa-stable
Closes: #13711
Signed-off-by: Sagar Ghuge <sagar.ghuge@intel.com>
Tested-by: Caleb Callaway <caleb.callaway@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36951>
(cherry picked from commit 90daa80d1d1b7a1185f1dfffa25d07e434a3c251)
-
11e1e501
by Karol Herbst at 2025-09-03T12:08:52+02:00
rusticl/event: fix create_and_queue for deps in error states
Cc: mesa-stable
Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36007>
(cherry picked from commit 5d29acf23d029aaadc3bae742f6115f3f790b822)
-
4fa2b8b8
by Yiwei Zhang at 2025-09-03T12:08:52+02:00
vulkan: handle wsi private data properly
On Android, Vulkan loader implements KHR_swapchain and owns both surface
and swapchain handles. On non-Android, common wsi implements the same and
owns the same. So for both cases, the drivers are unable to handle
vkGet/SetPrivateData call on either a surface or a swapchain.
Inspired by https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37043
Cc: mesa-stable
Acked-by: Yonggang Luo <luoyonggang@gmail.com>
Acked-by: Ryan Zhang <ryan.zhang@nxp.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37064>
(cherry picked from commit 6e1c2e4d8338da6e36cf9cc1148af9f93d8f99a2)
-
b11a042c
by Valentine Burley at 2025-09-03T12:08:52+02:00
ci/crosvm: Retry all curl errors when downloading kernel
`--retry-connrefused` didn’t catch cases where the download started but
failed midway. `--retry-all-errors` will cover those too.
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13800
Fixes: d527da301f6 ("ci: Don't include the kernel in test-base image")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37109>
(cherry picked from commit 3fc973f6caa0eeaafe895b0f9d00f67e2b77dd3f)
-
84ba9994
by Job Noorman at 2025-09-03T12:08:52+02:00
ir3/cf: don't swap signedness of (sat) instructions
Signed and unsigned saturation give different results.
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: e894e83e478 ("ir3/cf: Rewrite pass")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37105>
(cherry picked from commit 0c1ebc63ca26980cf5ee445ddb5bcfb94f78fab7)
-
d203fcd1
by Robert Mader at 2025-09-03T12:08:52+02:00
nir: Fixup 10/12 bit SW decoder YCbCr formats
The highest possible values that can be represented with
16/12/10 bits are 65535/4095/1023, not 65536/4096/1024.
In order to ensure 1023 maps to 65535 in the Sx10 case
we thus need to multiply by 65535 / 1023 ~= 64.06158
instead of 64.
Fixes: a166d7609fb ("gles: Add support for 10/12/16 bit SW decoder YCbCr formats")
Suggested-by: Benjamin Otte <otte@redhat.com>
Signed-off-by: Robert Mader <robert.mader@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37077>
(cherry picked from commit 177238030712e70cef2f1c8913b60d0cbb7fd6b2)
-
00145624
by David Rosca at 2025-09-03T12:08:52+02:00
radv/video: Fix VP9 loop filter and segmentation params
Fixes: b8ac2d47e79 ("radv/video: add KHR_video_decode_vp9 support.")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13801
Reviewed-by: Dave Airlie <airlied@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37080>
(cherry picked from commit 3f317348c2966c03de238806343ff6a47695efe4)
-
b44c5250
by Tapani Pälli at 2025-09-03T12:08:52+02:00
anv: change some image qualifiers as coherent for Last Of Us
This fixes graphics artifacts happening with particular shader.
This 'heuristic' hits few very similar shaders but should provide better
performance than current fix to turn off caching from all shaders.
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/35929>
(cherry picked from commit 4035520ca954bf7b74ac10eabe0bc35e7f0d81b9)
-
247dfb2c
by Job Noorman at 2025-09-03T12:08:52+02:00
ir3: use nir_lower_bit_size for 8-bit bit_count
8-bit bit_count cannot simply use the masked result of a 16-bit
bit_count. Make sure it is properly lowered to a 16-bit bit_count.
Signed-off-by: Job Noorman <jnoorman@igalia.com>
Fixes: 8aa2cad5df5 ("ir3: lower relevant 8-bit ALU ops in nir_lower_bit_size")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37116>
(cherry picked from commit 603d6fe24096c2a2bd4341747500adfd5fdd5dd3)
-
3d8eb5b3
by Hans-Kristian Arntzen at 2025-09-03T12:08:52+02:00
nvk: Avoid passing garbage data in descriptor buffers for UBOs.
With the existing union setup, only the first 8 bytes are initialized
properly for UBOs, yet the UBO size is 16, and all 16 bytes are copied
to applications. This leads to broken capture-replay since the
descriptor payload is no longer invariant.
Fix this by ensuring all union members are 16 bytes, which then get
properly initialized with the designated initializers.
Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Fixes: 8b5835af31f5 ("nvk: Use bindless cbufs on Turing+")
Reviewed-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37053>
(cherry picked from commit f28f72a5a2bfa8718f2cc1ac16732c6c9f58509f)
-
e70d8ec9
by Mike Blumenkrantz at 2025-09-03T12:08:52+02:00
zink: zero db offset on batch reset
seems weird this hasn't been caught before
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
(cherry picked from commit fbddc97b9e1cb807d266040a56af198e94c7898f)
-
da4961f1
by Mike Blumenkrantz at 2025-09-03T12:08:52+02:00
zink: don't increase db scale when resizing a db up to the current scale
this otherwise triggers infinite db scaling
cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37068>
(cherry picked from commit 4971b58c967b65fe11d80e5c6330265699b7f9a6)
-
9fa878f0
by Alyssa Ross at 2025-09-03T12:08:52+02:00
gfxstream: guest: don't use transitional LFS64 API
musl removed the LFS64 APIs like mmap64(), which were intended to be a
transitional measure multiple decades ago, causing a build failure
here. Since virtio-gpu sizes and offsets are 64-bit, we do still want
to make sure that we're using 64-bit mmap here, so I've added
-D_FILE_OFFSET_BITS=64, which will ensure that off_t is always 64-bit
in gfxstream guest, and which is generally the modern solution here.
With this change, I am able to build gfxstream with musl.
Fixes: fec8e296a35 ("Make VirtGpu* interfaces")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37086>
(cherry picked from commit 6f8cdd8a3c0923b90b4f1851a9458b16aad65b7f)
-
399bbef8
by Mike Blumenkrantz at 2025-09-03T12:08:52+02:00
kopper: unwrap screen before checking cpu flag
this otherwise may access the trace screen and return garbage
Fixes: 316bf3bd8a9 ("kopper, dri: remove trace_screen_unwrap")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37140>
(cherry picked from commit b536e38607dfb2065056e237a0bea2f75dbde836)
-
a48b8266
by Lionel Landwerlin at 2025-09-03T12:08:52+02:00
anv: fix pipeline barriers with pre-rasterization stages
Pre-rasterization stages need a CS stall if they need to wait on the
flushes from a PIPE_CONTROL.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: mesa-stable
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37132>
(cherry picked from commit f262865a90c947cbc66dfc26baf78987d396d408)
-
bc010c72
by Samuel Pitoiset at 2025-09-03T12:08:52+02:00
radv/rt: fix a potential issue with RADV_PERFTEST=dmashaders
Shaders must be synchronized before doing anything.
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37126>
(cherry picked from commit 3cb77cb14492504618575dc38cfa773af1d03ca1)
-
30541bac
by Trigger Huang at 2025-09-03T12:08:52+02:00
virtio/vdrm: add ENABLE_DRM_AMDGPU for c_args
ENABLE_DRM_AMDGPU must be defined when amdgpu_virtio is enabled;
otherwise, vdrm and amdgpu_virtio will have different definitions of
struct virgl_renderer_capset_drm. As a result, on amdgpu_virtio side,
the content of struct vdrm_device will be corrupted.
Thanks Honglei Huang <honglei1.huang@amd.com> for pointing out the
different definitions of struct virgl_renderer_capset_drm.
Cc: mesa-stable
Signed-off-by: Trigger Huang <Trigger.Huang@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37023>
(cherry picked from commit 57362807307d487ea29afb4d7db1f83edcc88707)
-
d0f24343
by Yiwei Zhang at 2025-09-03T12:08:53+02:00
anv: fix broken utrace
The non-compute end flag should be INTEL_DS_TRACEPOINT_FLAG_END_OF_PIPE.
This fixes the broken anv utrace for anything non-compute that can
potentially overlap (execute in parallel).
Fixes: 6281b207db9 ("anv: add tracepoints timestamp mode for empty dispatches")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37155>
(cherry picked from commit c0e51bcf24c7905a2fdc272194744a5fdfe8c345)
-
4c175b46
by Eric Engestrom at 2025-09-03T13:13:56+02:00
docs: add release notes for 25.2.2
-
22ded5f2
by Eric Engestrom at 2025-09-03T13:13:56+02:00
VERSION: bump for 25.2.2
-
d47903da
by Timo Aaltonen at 2025-09-04T08:35:17+03:00
changelog update
-
f422ece7
by Timo Aaltonen at 2025-09-04T08:35:24+03:00
Merge branch 'upstream-unstable' into debian-unstable
-
0954f11d
by Timo Aaltonen at 2025-09-04T08:37:06+03:00
version bump
-
40be9d3a
by Timo Aaltonen at 2025-09-04T08:39:54+03:00
patches: Fix FTBFS with glibc 2.42.
-
2be97251
by Timo Aaltonen at 2025-09-04T08:45:35+03:00
releasing package mesa version 25.2.2-1