[Git][xorg-team/lib/mesa][upstream-unstable] 81 commits: docs: add sha sum for 26.0.1

"Timo Aaltonen (@tjaalton)" <[email protected]>
Newsgroups gmane.linux.debian.devel.x
Message-ID <[email protected]>

Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / lib / mesa


Commits:
51fe0aba by Eric Engestrom at 2026-02-25T17:35:18+01:00
docs: add sha sum for 26.0.1

- - - - -
b602b7f0 by Eric Engestrom at 2026-02-26T19:18:41+01:00
fixup! docs: add release notes for 26.0.1

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
67883363 by Eric Engestrom at 2026-03-11T23:21:07+01:00
.pick_status.json: Update to 73dba1e15173ff6109925de9615f9d9f5cccc2be

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
5a61e045 by Georg Lehmann at 2026-03-11T23:21:08+01:00
ci: disable debian-ppc64el and debian-s390x

They failed a lot today, no idea why. But having flakes in pre merge CI sucks.

(cherry picked from commit b05271f16c78010d32564ee307aad78dc7d58151)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
0486f6bf by Mike Blumenkrantz at 2026-03-11T23:21:08+01:00
zink: add TRANSFER_WRITE -> HOST_READ sync to end of batch

this is technically required by spec, even though at a practical level
it probably has no effect

cc: mesa-stable

(cherry picked from commit 3ba275aa70f716ca544afb71b371041d9c7541f6)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
f1a64582 by Mike Blumenkrantz at 2026-03-11T23:21:08+01:00
st/bitmap: only release YUV samplerviews

this is consistent with other callers of st_get_sampler_views() and
avoids desync in the sv cache

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14934
Fixes: 73da0dcddcb ("gallium: eliminate frontend refcounting from samplerviews")

Acked-by: Marek Olšák <[email protected]>
(cherry picked from commit 1a5c660ef5b881d4193566a777b150ef912a4f9a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
6c7f739b by Georg Lehmann at 2026-03-11T23:21:08+01:00
aco/insert_fp_mode: don't skip setting round for fract

fract(-FLT_MIN) is < 1.0 with rtz but 1.0 with rtne.

Fixes: 7212a75c5ef ("aco/insert_fp_mode: exclude some instructions that will never round")

Reviewed-by: Daniel Schürmann <[email protected]>
(cherry picked from commit 8f4de30d0581ed9bc6c289cc62eafc2253ef63a0)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
ec658ea3 by Luigi Santivetti at 2026-03-11T23:21:08+01:00
zink: fix format conversion logic for the alpha emulation case

cc: mesa-stable

Signed-off-by: Luigi Santivetti <[email protected]>
Fixes: 252bff0f ("zink: use real A8_UNORM when possible")
Reviewed-by: Mike Blumenkrantz <[email protected]>
(cherry picked from commit 640bc3bc53b6ec2ee7816f569e58baf24bcb54cd)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
98ec831d by Lionel Landwerlin at 2026-03-11T23:21:08+01:00
anv: add missing handling for attachment locations in secondaries

Fixes:
  dEQP-VK.renderpasses.dynamic_rendering.partial_secondary_cmd_buff.local_read.interaction_with_shader_object
  dEQP-VK.renderpasses.dynamic_rendering.partial_secondary_cmd_buff.local_read.remap_single_attachment_shader_object

Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: d2f7b6d5 ("anv: implement VK_KHR_dynamic_rendering_local_read")
Reviewed-by: Tapani Pälli <[email protected]>
(cherry picked from commit 095c470d253be9c6ce4e26f81d379558cd3560b1)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
5840bf0b by Connor Abbott at 2026-03-11T23:21:08+01:00
tu: Use HW offset 0 in 3d loads/clears with FDM

The HW uses ViewportIndex to select which GRAS_BIN_FOVEAT offset to use.
For normal 3d draws, either the ViewportIndex equals the view/layer or
we make the offset the same for all viewports/layers, but we aren't
aware of this in the 3d path and we always use viewport 0.

Use the HW offset 0 when subtracting the HW offset. This is a bit of a
hack, but it should work. This fixes LOAD_OP_LOAD with FDM.

Fixes: b34b089ca13 ("tu: Use GRAS bin offset registers")
(cherry picked from commit 68c0031f56c303644a72bc6387b39f6c26954650)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
ebfdb111 by Connor Abbott at 2026-03-11T23:21:08+01:00
ir3: Fix constlen trimming when more than one stage is trimmed

The logic is supposed to find the stage with the maximum constlen to
trim for each time we have to trim a stage. But by not resetting
max_constlen each time, we would "trim" the same stage repeatedly,
leaving us thinking the total is below the limit when it actually isn't.

Cc: mesa-stable
(cherry picked from commit ae8928b638dc42ca169c91293058cb98c1fe595e)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
3611d60c by Benjamin Cheng at 2026-03-11T23:21:08+01:00
radeonsi/vcn: Use full pitch for pre-encode input

In 1f83e731451, the pre-encode input picture size was also reduced.
However it was recently discovered that VCN FW uses the input picture
pitch as the pitch for this, which means that previous change broke
pre-encode.

Fixes: 1f83e731451 ("radeonsi/vcn: Reduce allocated size for pre-encode recon pics")
Reviewed-by: Ruijing Dong <[email protected]>
(cherry picked from commit 2b2b1d405a3213e25d41be7213223eb86df9e654)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
049caf16 by Icenowy Zheng at 2026-03-11T23:21:08+01:00
pvr: only specially handle gfx subcmd for BeginQuery

Among all subcommands, only gfx subcommands are bound to a query pool,
other subcommands seem to need no special handling.

In addition, if a ResetQuery is done before BeginQuery, the last
subcommand will be a event one, which fails the current assert that
assumes it's a gfx one.

Change the assertion of the subcommand being a gfx one to an addition
check of whether the subcommand is a gfx one.

This fixes crash of Vulkan CTS 1.4.5.1 test
dEQP-VK.query_pool.discard.normal.no_depth.none.discard .

Backport-to: 26.0
Signed-off-by: Icenowy Zheng <[email protected]>
Reviewed-by: Simon Perretta <[email protected]>
(cherry picked from commit 5a497316d4da5fe9217f8acc31b5098c1b896dba)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
195fbfb2 by Lionel Landwerlin at 2026-03-11T23:21:08+01:00
anv: dirty all push constant stages in simple shader

Above we're reprogramming push constants as well at a couple of
workarounds that require dirtying all stages.

cmd_buffer->state.gfx.push_constant_stages was already set in the
above function.

Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: 4fa1eddb4c ("anv: optimize binding table flushing")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14953
Reviewed-by: Tapani Pälli <[email protected]>
(cherry picked from commit 38ef732169c2b154e4c57151485a84a9e11509fb)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
020b960d by Mike Blumenkrantz at 2026-03-11T23:21:08+01:00
radv: fix multiview fast clears

this was only clearing layer0 because it was ignoring the viewmask

cc: mesa-stable

(cherry picked from commit b8ee6f3d30b305d50e2751a8e315a812781155ec)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
f1a3aa40 by Pierre-Eric Pelloux-Prayer at 2026-03-11T23:21:08+01:00
frontends/va: fix undefined ref error

When building with "-Dvideo-codecs=h264dec,h265dec,av1dec" va/encode.c
won't be built but it's still required because it's used from
picture.c

Fixes: c4f05bdf607 ("frontends/va: include picture_*.c based on selected codec")
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 82a51ba9b33260101c002c5ac893e32506d861b3)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
b1775f66 by Pavel Ondračka at 2026-03-11T23:21:08+01:00
r300: copy target when merging alpha output instruction

The alpha instruction always wrote to the same rendertarget as the rgb and the
original target was ignored (surprisingly the HW docs explicitly allows rgb and
alpha to write to different targets). This makes tesseract rendering a bit
better, but there are still some remaining issues.

Fixes: 1c2c4ddbd1 ("r300g: copy the compiler from r300c")
Reviewed-by: Filip Gawin <[email protected]>
(cherry picked from commit 87a881558f3ea8e46df8390b05d87d29e9c5d793)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
6f288303 by Patrick Lerda at 2026-03-11T23:21:08+01:00
r600: fix cs atomic operations when the shader is called multiple times

This change is useful when the compute shader is called multiple
times with the atomic operations enabled. It fixes some data
coherency issues. This is done by moving
evergreen_emit_atomic_buffer_setup() after r600_flush_emit().

This change is also a partial fix for compute_shader.pipeline-compute-chain.
In this specific case, it makes the memory barrier working.

This change was tested on cayman and barts; it makes these tests
fully deterministic:
khr-gl4[2-6]/shader_atomic_counters/advanced-usage-many-dispatches: fail pass
khr-gles31/core/shader_atomic_counters/advanced-usage-many-dispatches: fail pass
deqp-gles31/functional/synchronization/inter_call/without_memory_barrier/atomic_counter_dispatch_.*_calls_.*_invocations: fail pass

Cc: mesa-stable
Signed-off-by: Patrick Lerda <[email protected]>
(cherry picked from commit dad942b468b79a382771408319a28d6faa225462)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
6e5d08c8 by Erik Faye-Lund at 2026-03-11T23:21:08+01:00
gallium/dri: set LIBVA_DRIVERS_PATH in devenv

We're setting this in the non-DRI codepath, but this was missed when we
started embedding the VA driver into libgallium. This means we no longer
were able to use VA-API from meson devenv, like we could before.

Fixes: 212d57f7e67 ("targets/va: Build va driver into libgallium when building with dri")
(cherry picked from commit 7e4744909b5a82aef0c2b031f18b552f965a2be1)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
223af792 by Rhys Perry at 2026-03-11T23:21:08+01:00
aco: perform dce for blocks skipped for process_block()

We might need to DCE users of dead instructions removed by
process_block().

Signed-off-by: Rhys Perry <[email protected]>
Fixes: 9e8ba10447f0 ("aco/vn: remove dead instructions early")
Reviewed-by: Daniel Schürmann <[email protected]>
(cherry picked from commit 17b18496f6bd0e3a425b9ff09b6cf843de787b31)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
f1f583b3 by Samuel Pitoiset at 2026-03-11T23:21:09+01:00
radv: fix copying images with different swizzle modes on SDMA7

Swizzle modes must match on SDMA7 (GFX12), and the micro tile mode
doesn't exist.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit cc21e61e43aa2989125a2bdd9abae00e12a5f853)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
5bf2bcd8 by Jesse Natalie at 2026-03-11T23:21:09+01:00
d3d12: Fix importing external resources

Fixes: 97061dd7 ("d3d12: Add support for Xbox GDK.")
(cherry picked from commit 9e277ed2b6dfa79eb2c171f3887bed08ff5dd32a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
fb8f81a1 by Jose Maria Casanova Crespo at 2026-03-11T23:21:09+01:00
v3d: flush write jobs before BO replacement in DISCARD_WHOLE path

The DISCARD_WHOLE_RESOURCE path in v3d_map_usage_prep() replaces the
resource's BO with v3d_resource_bo_alloc(). As the RCL resolves
rsc->bo at job submit in emit_rcl() any pending write job would
store to the new BO instead of the old one, corrupting the new
written data.

This is adressed by flushing all pending write jobs affecting the
resource before replacing its BO.

This fixes multiple tests where data copied to a renderbuffer was
overwritten by a previos GPU clear. Test are from the subgroup:
dEQP-GLES31.functional.copy_image.non_compressed.viewclass_32_bits.*

Fixes: 45bb8f29571 ("broadcom: Add V3D 3.3 gallium driver called "vc5", for BCM7268.")
Reviewed-by: Iago Toral Quiroga <[email protected]>
(cherry picked from commit 1eaa46da09bc974325ddf027cb9b7d683a884952)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
7d25d214 by Jose Maria Casanova Crespo at 2026-03-11T23:21:09+01:00
vc4: flush write jobs before BO replacement in DISCARD_WHOLE path

The DISCARD_WHOLE_RESOURCE path in vc4_map_usage_prep() replaces the
resource's BO with vc4_resource_bo_alloc(). As the RCL resolves
rsc->bo at job submit in vc4_submit_setup_rcl_surface(), any pending
write job would store to the new BO instead of the old one, corrupting
the new written data.

This is the same bug that was fixed in v3d in the previous commit.

Fixes: 18ccda7b86b ("vc4: When asked to discard-map a whole resource, discard it.")
Reviewed-by: Iago Toral Quiroga <[email protected]>
(cherry picked from commit ecb6c5d555827fcd030159f788eb308ba47362bb)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
c001485f by David Rosca at 2026-03-11T23:21:09+01:00
vl: Also disable MPEG2 Main profile when mpeg12 decode is disabled

Fixes: f4959c16c82 ("meson: add mpeg12dec as a video-codec")
Reviewed-by: Benjamin Cheng <[email protected]>
(cherry picked from commit 55bab89951eb57740e33135674201a368aca419b)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
02f422a1 by Pavel Ondračka at 2026-03-11T23:21:09+01:00
r300: disable HiZ for PIPE_FUNC_ALWAYS

AMD docs support this:
R5xx Acceleration v1.5 says safest handling for ZFUNC changes is to disable
HiZ except specific LESS/LEQUAL and GREATER/GEQUAL transitions.
ATI OpenGL Programming and Optimization Guide advises avoiding ALWAYS when
trying to benefit from HiZ so that would imply fglrx also disables HiZ
there.

On RV530 this fixes the following dEQPs:
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.43
dEQP-GLES2.functional.fragment_ops.interaction.basic_shader.74

Fixes: 12dcbd595467 ("r300g: enable Hyper-Z by default on r500")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8093
(cherry picked from commit b0f019f8cfa42e638d54e3dc46f58083351d0ae1)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
734e53c9 by Timothy Arceri at 2026-03-11T23:21:09+01:00
glsl: relax precision matching on unused uniforms ES

0886be09 ("glsl: Allow precision mismatch on dead data with GLSL ES 1.00")
allowed precision mismatches on uniforms, however if you lower precision on
16-bit consts, then this error triggers instead.

So here we relax the type matching and just make sure we match int vs
float.

Fixes: 0886be09 ("glsl: Allow precision mismatch on dead data with GLSL ES 1.00")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5337
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 73bc604128b541c982fc0490e577923430d0da71)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
955a82bb by Christoph Pillmayer at 2026-03-11T23:21:09+01:00
pan/bi: Fix coupling spill placement

In the following arrangement the old logic leads to the following:
                       |
                       v
            +----------+------------+
            |block5                 |
            |m815 = PHI m1034, m860 |<-----------+
            |343 = FMA.f32 ...      |            |
            +----------+------------+            |
                       |                         |
        +--------------+                         |
        |              |                         |
        v              v                         |
     +-----+        +-----+                      |
     |b6   |        |b7,8 |                      |
     |     |        |     |                      |
     +-----+        +--+--+                      |
        |    +---+     |    +---+                |
        +----|b9 +-----+----|b10+---+            |
        v    +---+          +---+   v            |
+-------+-------------+     +-------+---------+  |
|block12              |     |block11          |  |
|m882 = PHI m815, m860|     |m860 = MEMMOV 343+--+
+---------+-----------+     +-----------------+
          v

The spill of / into m860 (corresponding to 343) ends up in block11 when
insert_coupling_code(succ=block5, pred=block11) because of the memory
phi in block5. Later, in insert_coupling_code(block12, block9), we
reject inserting the spill after ca9c9957. As a result, m860 is
undefined along block5 -> block7,8 -> block9 -> block12.

When the spill position is chosen first, ctx->block is block5 so
choose_spill_position falsely returns the fallback position. The issue
can be fixed by explicitly passing the "current block".

Fixes: ca9c9957 ("pan: Avoid some redundant SSA spills")
Reviewed-by: Eric R. Smith <[email protected]>
(cherry picked from commit 09e1ba28e5c697cc18075334a053bf9af65e7046)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
d6ea90b4 by Christoph Pillmayer at 2026-03-11T23:21:09+01:00
pan/bi: Move FAUs to memory for memory phis

We can have PHIs like this: m10 = PHI u2, 3.
For these, insert_coupling_code will spill the sources but that doesn't
work properly for FAU values before this commit because bi_index_as_mem
asserts that index.type == BI_INDEX_NORMAL and we also can't look up an
FAU index in ctx->S_exit or ctx->remat.

Fixes: 6c64ad93 ("panfrost: spill registers in SSA form")
Reviewed-by: Eric R. Smith <[email protected]>
(cherry picked from commit 8a4d8d490be25177fb3085724d1a33598c6a19c2)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
b299e032 by Pierre-Eric Pelloux-Prayer at 2026-03-11T23:21:09+01:00
mesa: don't wraparound st_context::work_counter

st->release_counter is initialized to 0, so if we happen to call
st_add_releasebuf with a non-NULL releasebuf when st->work_counter
is 0 due to wraparound in st_context_add_work, we might end up never
calling st_prune_releasebufs.

Since st_context_add_work and st_add_releasebuf both use work_counter
as a "some work was done" and don't care about the actual value, we
can remove the wraparound which will fix the buffer not being released
issue.

Fixes: b3133e250e1 ("gallium: add pipe_context::resource_release to eliminate buffer refcounting")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14955
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14499
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 10d32feae8037a3b3c2fc9c5e10b7df5b78a0e21)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
7ee55d3a by Boris Brezillon at 2026-03-11T23:21:09+01:00
pan/kmod: Allow mmap() on foreign buffers

If the BO comes from a different subsystem
(args.extra_flags & DRM_PANTHOR_BO_IS_IMPORTED), we should normally
add extra DMA_BUF_IOCTL_SYNC calls around CPU accesses to ensure the
CPU mapping consistency, but this is something we never worried about
(we've always assumed exporters were exposing uncached mappings with
NOP {begin,end}_cpu_access() implementations), and it worked fine until
now.

The long term plan is to hook up DMA_BUF_IOCTL_SYNC, but this requires
more work, and we need a quick fix that can be backported easily, hence
this revert+FIXME.

Fixes: b5e47ba89414 ("pan/kmod: Add new helpers to sync BO CPU mappings")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14963
Closes: https://gitlab.freedesktop.org/panfrost/mesa/-/issues/282
Closes: https://gitlab.freedesktop.org/wayland/weston/-/issues/1101
Signed-off-by: Boris Brezillon <[email protected]>
Reviewed-by: Yiwei Zhang <[email protected]>
Acked-by: Lars-Ivar Hesselberg Simonsen <[email protected]>
Acked-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Daniel Stone <[email protected]>
(cherry picked from commit 30f1d5bab94af1c187a5e533df1c64dced501625)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
3d8ff40d by Karol Herbst at 2026-03-11T23:21:09+01:00
nir: fix nir_alu_type_range_contains_type_range for fp16 to int

The special value "Inf" doesn't fit into an int and therefore we have to
clamp regardless of whether all the other values would fit. And because
f2u32 and f2u64 define out-of-range conversions as UB in nir, we need to
clamp.

This change should have no effect for non saturating conversions.

Fixes "conversions long_sat_*half" CL CTS tests

Cc: mesa-stable
Suggested-by: Rob Clark <[email protected]>
Reviewed-by: Rob Clark <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
(cherry picked from commit 8e8fb2ebaa3677352ad7dac0ff8b9e42aa18d2ea)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
d29063d4 by Karol Herbst at 2026-03-11T23:21:09+01:00
nir: fix nir_round_int_to_float for fp16

fp16 has quite the limited value range and with bigger integers
nir_round_int_to_float might return Inf where it shouldn't depending on
the rounding mode.

Fixes conversions half_rt[npz]_(u)?(int|long) CL CTS tests.

Cc: mesa-stable
Reviewed-by: Erik Faye-Lund <[email protected]>
Reviewed-by: Rob Clark <[email protected]>
(cherry picked from commit e1ed7de2748f82b29cffc5d23d6fc8ed1eb7d5e3)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
f7d391f8 by Marek Olšák at 2026-03-11T23:21:09+01:00
ac: set the correct number of Z planes for ALLOW_EXPCLEAR

This is an old driver bug that could cause Z corruption on gfx8-11.5.

v2: handle allow_expclear differently

Cc: mesa-stable

Reviewed-by: Timur Kristóf <[email protected]> (v1)
Reviewed-by: Samuel Pitoiset <[email protected]> (v2)
(cherry picked from commit 4cfe08e583893bed58879450d98d8627be78868f)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
31ea1923 by Jose Maria Casanova Crespo at 2026-03-11T23:21:09+01:00
v3d: reject fast TLB blit when RT formats don't match

v3d_tlb_blit_fast includes the blit onto a pending job that writes
to the source resource. The TLB data is already unpacked according to
the job's RT format, so storing it with a different RT format performs
a channel reinterpretation rather than a raw byte copy, corrupting the
data.

So when copying from RGB10_A2UI to RG16UI with glCopyImageSubData,
the copy_image path remaps both formats to R16G16_UNORM for a raw
32-bit copy. The fast TLB blit found the pending clear job
(RGB10_A2UI, 4 channels: 10-10-10-2) and stored its TLB data as RG16UI
(2 channels: 16-16), writing the unpacked 10-bit R and G channel values
into 16-bit fields instead of preserving the raw packed bits.

Previous internal_type/bpp check was insufficient: both RGB10_A2UI
and RG16UI share internal_type=16UI and the source bpp (64) exceeds
the destination bpp (32), but their channel layouts are different.

Add a check that the job's source surface RT format matches the blit
destination RT format before allowing the fast path.

Fixes: 66de8b4b5cbb ("v3d: add a faster TLB blit path")
Reviewed-by: Iago Toral Quiroga <[email protected]>
(cherry picked from commit 5454221cfb77bf2e4c1729e9867a1e14166becbc)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
f21bc439 by Ian Romanick at 2026-03-11T23:21:09+01:00
brw: Don't mark_invalid in update_for_reads for non-VGRF destination

This can occur if NULL or an accumulator is an explicit destination.
update_for_reads still needs to process the sources.

v2: Pass a brw_reg to ::mark_invalid, and do the VGRF check in that one
place.

Fixes: 0d144821f0f ("intel/brw: Add a new def analysis pass")
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit a548466186a8703264f335f626f3e1a8cbfd0df8)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
81569137 by Ian Romanick at 2026-03-11T23:21:09+01:00
brw: Use brw_reg_is_arf in update_for_reads

brw_reg::nr encodes both which ARF it is and which instance of that
ARF. In other words, nr for acc0 and acc2 have some bits that say
BRW_ARF_ACCUMULATOR and some bits that say 0 vs 2. The previous test
would only detect acc0.

Fixes: 0d144821f0f ("intel/brw: Add a new def analysis pass")
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 366410e913ac7f20032feaad50468c02ebd4f928)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
0d52c794 by Ian Romanick at 2026-03-11T23:21:10+01:00
brw: Also check for ADDRESS file in update_for_reads

Like accumulators and ARF address registers, the virtual address
registers are not tracked in a way the defs analysis can know
about. This could actually be fixed, but that is future work.

Fixes: b110b06447b ("brw: introduce a new register type for the address register")
Suggested-by: Lionel
Reviewed-by: Kenneth Graunke <[email protected]>
(cherry picked from commit 8624da56ee8a66b2767f7195422dca9a75a9c12d)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
1d66a995 by Rhys Perry at 2026-03-11T23:21:10+01:00
nir/range_analysis: set deleted key

If (uintptr_t)&deleted_key is small enough, inserting entries into the
hash table might not work correctly.

Signed-off-by: Rhys Perry <[email protected]>
Backport-to: 26.0
Reviewed-by: Georg Lehmann <[email protected]>
Reviewed-by: Emma Anholt <[email protected]>
Acked-by: Alyssa Rosenzweig <[email protected]>
(cherry picked from commit c0079e09cafaf7ddb80c804b84d64fe903e8104e)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
a66a9280 by Timothy Arceri at 2026-03-11T23:21:10+01:00
glsl: add workaround for MDK2 HD

Allows a shader to compile that uses an embedded struct declaration
which are not allowed in glsl 1.20+

Reviewed-by: Tapani Pälli <[email protected]>

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14986
(cherry picked from commit f109bfc3f1a79e47466f10564a0f9377fe23ec50)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
0775d0f1 by Caio Oliveira at 2026-03-11T23:21:10+01:00
spirv: Refactor ALU opcode translation to take bit sizes

Only used by Convert operations, so just pass 0 from callers that
are not Convert and clarify that in the code.

Backport-to: 26.0
Reviewed-by: Georg Lehmann <[email protected]>
(cherry picked from commit 1c3c987d5c4ea84a91702083e0ad397386bf182e)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
4588b025 by Caio Oliveira at 2026-03-11T23:21:10+01:00
spirv: Pull constant source fixup to the existing loop

Backport-to: 26.0
Reviewed-by: Georg Lehmann <[email protected]>
(cherry picked from commit b0c3b20bff4e6593f73fa554040fc6e6ede62e29)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
b2a34da8 by Caio Oliveira at 2026-03-11T23:21:10+01:00
spirv: Fix spec constant to handle Select for non-native floats

There was an assumption that if the instruction had non-native float
as a source, the first source would have such type.  This doesn't
hold for Select, and the code failed in two ways

- The boolean source of Select was being converted to the non-native
  float type.

- The loop that resolves the bit-size for unsized operands would
  trip at `assert(i == 0)` because Select has more than one source.

Re-organize the code to track the types of the sources independently,
and fix both issues above.

Fixes: 90e1b128903 ("spirv: Add bfloat16 support to SpecConstantOp")
Fixes: 51d3c4c8896 ("spirv: support float8 spec constant op")
Reviewed-by: Georg Lehmann <[email protected]>
(cherry picked from commit 6affcb43a7c765b19726ea82ec451a50714ba10e)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
0edb7039 by Timothy Arceri at 2026-03-11T23:21:10+01:00
mesa/st: use same path for setting state ref locations

After the fix in a6fcc2835ead we can now take the same path whether
allow_st_finalize_nir_twice is set or not.

Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit b59c3ac82a1cca599fc5e443207801f2f92d892a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
681de5a6 by Timothy Arceri at 2026-03-11T23:21:10+01:00
st/glsl_to_nir: update state var locations earlier

We need to update the state var locations before the
st_serialize_base_nir() calls otherwise
_mesa_optimize_state_parameters() can alter params such that
variants wont be able to find the correct match when calling
_mesa_lookup_state_param_idx().

Prior to 891d46f5 this worked because after failing to match
we would end up adding additional params back in that we had
just attempted to optimise.

Fixes: a6fcc2835ead ("
st/glsl_to_nir: make sure the variant has the correct locations set")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14837

Acked-by: Marek Olšák <[email protected]>
Reviewed-by: Mike Blumenkrantz <[email protected]>
(cherry picked from commit 6c60f423b38207b06259df0f850ac70e13198e36)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
8d313e5d by Lucas Fryzek at 2026-03-11T23:21:10+01:00
drisw: Properly mark shmid as -1 when alloc fails

Cc: mesa-stable
(cherry picked from commit b93bf19d9449f0f564907427e2f4c1bbe3b6ab5e)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
23b88ba2 by Lucas Fryzek at 2026-03-11T23:21:10+01:00
x11: Add helper util to check for xshm support

Cc: mesa-stable
(cherry picked from commit 9e1671dea92a65b7b71f17b2a0a642bc9f6a0845)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
2c4c7fbf by Lucas Fryzek at 2026-03-11T23:21:10+01:00
egl/dri: Check that xshm can be attached

Cc: mesa-stable
Co-authored-by: Carlos Lopez <[email protected]>
(cherry picked from commit 5f481dd89db04a2c3ae35402efdf2def005f4008)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
5f4eccf1 by Lucas Fryzek at 2026-03-11T23:21:10+01:00
glx: Check that xshm can be attached

Cc: mesa-stable
Co-authored-by: Carlos Lopez <[email protected]>
(cherry picked from commit a67af81944996551d12f9341a8a166aeb3b020d7)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
d7ee1e68 by Lucas Fryzek at 2026-03-11T23:21:10+01:00
vulkan/wsi: Check that xshm can be attached

Cc: mesa-stable
Co-authored-by: Carlos Lopez <[email protected]>
(cherry picked from commit 4933e60bc2355a098ca2b853a448fbb7ae8de6e5)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
b88c8f37 by Yiwei Zhang at 2026-03-11T23:21:10+01:00
pan: fix to not clear out of bitset range

Fixes: 617f0562bb1 ("pan: Use bitset instead of bool array in bi_find_loop_blocks")
Reviewed-by: Christoph Pillmayer <[email protected]>
(cherry picked from commit ec24d1afb624dcbd7bffe799fad1521a41b38873)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
9a361c38 by Connor Abbott at 2026-03-11T23:21:10+01:00
tu: Set polygon mode when blitting

Noticed by inspection.

Cc: mesa-stable
(cherry picked from commit 1d167ffe7738cc88b75dd10d813453ba20d42069)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
72562685 by Connor Abbott at 2026-03-11T23:21:10+01:00
tu: Fix setting will_be_resolved with MSRTSS

We were setting it on the user's attachments, which become
resolve/unresolve attachments, but it should be set on the color
and depth/stencil attachments.

Cc: mesa-stable
(cherry picked from commit d0be4ab2abfa9f323ef4c9248cd39a57833106a4)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
83556708 by Caio Oliveira at 2026-03-11T23:21:11+01:00
nir: Fix constant folding for iadd_sat

Use INT_MIN instead of INT_MAX for underflow.

Fixes: cc4b50b023c ("nir/opcodes: use u_overflow to fix incorrect checks")
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
(cherry picked from commit da57fbfb0742fcb0a9911d248fb9091ffd87d8bc)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
ace5f6c8 by Danylo Piliaiev at 2026-03-11T23:21:11+01:00
tu: Store gmem attachments after custom resolve in dyn RP

For dynamic renderpass we created a fake second subpass,
which would is used by CmdBeginCustomResolveEXT, however
CmdBeginCustomResolveEXT doesn't trigger tile stores, but
attachments didn't know they should be stored after fake
custom resolve subpass.

Fixes: 520e3f3a473 ("tu: Implement VK_EXT_custom_resolve")

Signed-off-by: Danylo Piliaiev <[email protected]>
(cherry picked from commit 67c54c44651016c914b8fc3d60c52a9d5b1a5d3c)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
4a4a8639 by Danylo Piliaiev at 2026-03-11T23:21:11+01:00
tu: Don't read .patch_input_gmem of unused attachment

There was duplicated code to set unscaled_input_fragcoord and a read
from VK_ATTACHMENT_UNUSED attachment, which incorrectly updated
builder->unscaled_input_fragcoord.

ubsan:
 tu_pipeline.cc:4734:44: runtime error: load of value 127, which is not a valid value for type 'bool'

Seen in:
 dEQP-VK.renderpasses.renderpass1.custom_resolve.monolithic.stencil_only_s8

Fixes: 97da0a77341 ("tu: Rewrite to use common Vulkan dynamic state")

Signed-off-by: Danylo Piliaiev <[email protected]>
(cherry picked from commit 81a76be861c3281d0fc227824c2b17401484c2c7)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
8f6c3dcc by Georg Lehmann at 2026-03-11T23:21:11+01:00
nir/opt_algebraic: fix frsq clamp pattern

This is not NaN correct.
And also make the pattern 32bit only because the constant is hard coded
FLT_MAX.

Fixes: 780b5c10374 ("nir/algebraic: Simplify some Inf and NaN avoidance code")
Reviewed-by: Alyssa Rosenzweig <[email protected]>
(cherry picked from commit ab773fc5d480d367191385bbd364993e16989752)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
60e29a07 by Mel Henning at 2026-03-11T23:21:11+01:00
driconf: force_vk_vendor on No Man's Sky + NVK

Cc: mesa-stable
Reviewed-by: Mary Guillemard <[email protected]>
(cherry picked from commit bfde63e4d81ae01d002875b961ae57ba747fb65b)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
2b6e7f0b by Yiwei Zhang at 2026-03-11T23:21:11+01:00
lvp: avoid advertising dmabuf support for kms_swrast

Lavapipe relies on true udmabuf support for dmabuf export allocation.
This changes aligns the behavior with both llvmpipe_allocate_memory_fd
and llvmpipe_import_memory_fd.

Fixes: 7d0a631f20d ("llvmpipe: export dmabuf caps for kms_swrast")
Reviewed-by: Lucas Fryzek <[email protected]>
(cherry picked from commit 5ab8c8a439ca764e00d83a0d27beb2bb1a513db5)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
f858d223 by Samuel Pitoiset at 2026-03-11T23:21:11+01:00
radv: fix a GPU hang with PS epilogs and secondary command buffers

If the secondary changes the fragment output state and if the same
PS epilog used before ExecuteCommands() is re-bind immediately after
that call, the PS epilog state wouldn't be re-emitted.

Apply the same change for VS prologs, although the logic is slightly
different and the bug shouldn't occur. The whole logic of secondaries
should be completely rewritten because it's definitely not robust.

This fixes a GPU hang in Where Winds Meet, see
https://github.com/doitsujin/dxvk/issues/5436.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 1a00587c44ecb97d9978cd6bed8e76e56c6697f5)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
ecb7bf7b by Samuel Pitoiset at 2026-03-11T23:21:11+01:00
radv: fix local invocation index for mesh/task and quad derivatives on GFX12

It must be lowered.

This fixes
dEQP-VK.spirv_assembly.instruction.compute.compute_shader_derivatives.{mesh,task}.*.

Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit 3c4cb16159ea7f9cf55d9e1b78891bd5cedd6e52)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
eea697b1 by Pavel Ondračka at 2026-03-11T23:21:11+01:00
r300: disable clip-discard watermark for triangles

Commit 0d4aa5f55ff introduced the watermark to optimize the guardband
state changes and always computed new_distance as MAX2(distance,
watermark).

That is correct for point/line paths where distance > 0, but it keeps a
non-zero discard distance alive when the next draw sets distance = 0
(triangles). This leaks wide point/line clip-discard state into later
triangle draws and can clip away large parts of geometry (as observed in
Sauerbraten). Only apply the watermark when distance > 0 and reset it to
zero otherwise so triangle draws disable clip-discard as intended.

Fixes: 0d4aa5f55ff ("r300: pop-free clipping")
Reviewed-by: Marek Olšák <[email protected]>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14959
(cherry picked from commit ce33f82f8359c48bed9057b38372210c844f5692)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
63a6e0ff by Eric R. Smith at 2026-03-11T23:21:11+01:00
pco: fix a typo in the check for optimization looping

The count isn't incremented anywhere else.

Signed-off-by: Eric R. Smith <[email protected]>
Reviewed-by: Simon Perretta <[email protected]>
Fixes: f1b24267d25 ("pco: rework nir processing and passes")
(cherry picked from commit 8521051cfa73b22469ec0ed2d58cf71557afd29d)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
829e5ccc by Ian Romanick at 2026-03-11T23:21:11+01:00
brw/algebraic: Don't optimize SEL.L.SAT or SEL.G.SAT

This optimization was added in October 2013, and the error was only just
now discovered. Removing the SEL.G.SAT optimization affected zero
shader-db shaders, and it affected 9 fossil-db shaders for instruction
size only.

I haven't checked to see if any of the hurt shaders are helped by
!39987.

shader-db:

All Intel platforms had similar results. (Lunar Lake shown)
total instructions in shared programs: 17093041 -> 17093055 (<.01%)
instructions in affected programs: 2072 -> 2086 (0.68%)
helped: 0 / HURT: 8

total cycles in shared programs: 876739578 -> 876739154 (<.01%)
cycles in affected programs: 18946 -> 18522 (-2.24%)
helped: 2 / HURT: 6

fossil-db:

Lunar Lake
Totals:
Instrs: 906230557 -> 906240487 (+0.00%); split: -0.00%, +0.00%
CodeSize: 14498856128 -> 14499003168 (+0.00%); split: -0.00%, +0.00%
Send messages: 40667184 -> 40667205 (+0.00%); split: -0.00%, +0.00%
Cycle count: 104068494103 -> 104068561943 (+0.00%); split: -0.00%, +0.00%
Max live registers: 189570192 -> 189570204 (+0.00%); split: -0.00%, +0.00%
Max dispatch width: 48157648 -> 48157552 (-0.00%)
Non SSA regs after NIR: 139823587 -> 139823016 (-0.00%); split: -0.00%, +0.00%

Totals from 9172 (0.46% of 1985212) affected shaders:
Instrs: 10774709 -> 10784639 (+0.09%); split: -0.00%, +0.09%
CodeSize: 177868384 -> 178015424 (+0.08%); split: -0.08%, +0.17%
Send messages: 311154 -> 311175 (+0.01%); split: -0.00%, +0.01%
Cycle count: 232471392 -> 232539232 (+0.03%); split: -0.15%, +0.18%
Max live registers: 1243549 -> 1243561 (+0.00%); split: -0.00%, +0.01%
Max dispatch width: 196672 -> 196576 (-0.05%)
Non SSA regs after NIR: 509663 -> 509092 (-0.11%); split: -0.19%, +0.08%

Test: piglit!1100
Reported-by: Georg Lehmann
Fixes: ca675b73d3a ("i965/fs: Optimize saturating SEL.L(E) with imm val >= 1.0.")
Reviewed-by: Caio Oliveira <[email protected]>
(cherry picked from commit 6c6c6ce054dcd3cd9de81a840b6f4443eba3085c)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
2a2dba1b by Ian Romanick at 2026-03-11T23:21:11+01:00
elk/algebraic: Don't optimize SEL.L.SAT or SEL.G.SAT

shader-db:

Broadwell
total instructions in shared programs: 18607516 -> 18607530 (<.01%)
instructions in affected programs: 2095 -> 2109 (0.67%)
helped: 0 / HURT: 8

total cycles in shared programs: 955704436 -> 955702925 (<.01%)
cycles in affected programs: 34299 -> 32788 (-4.41%)
helped: 2 / HURT: 6

All Haswell and older platforms had similar results. (Haswell shown)
total instructions in shared programs: 16989200 -> 16989201 (<.01%)
instructions in affected programs: 461 -> 462 (0.22%)
helped: 0 / HURT: 1

total cycles in shared programs: 946537070 -> 946537035 (<.01%)
cycles in affected programs: 16378 -> 16343 (-0.21%)
helped: 1 / HURT: 0

Test: piglit!1100
Reported-by: Georg Lehmann
Fixes: ca675b73d3a ("i965/fs: Optimize saturating SEL.L(E) with imm val >= 1.0.")
Reviewed-by: Caio Oliveira <[email protected]>
(cherry picked from commit 64c60582b54e6b8b25bb94835bf5ee17469ef5ca)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
836a22d1 by Iván Briano at 2026-03-11T23:21:11+01:00
anv: don't try to fast clear D/S with multiview

If multiview is enabled on the render pass, baseLayer and layerCount
will be 0 and 1 respectively and throw us off.
We can still fast clear if view_mask == 1, but anything else hits the
BLORP_BATCH_NO_EMIT_DEPTH_STENCIL restriction.

Fixes: e488773b29d ("anv: Fast clear depth/stencil surface in vkCmdClearAttachments")

Signed-off-by: Iván Briano <[email protected]>
Reviewed-by: Nanley Chery <[email protected]>
(cherry picked from commit 5d22f307d516f8e54b9536034ac83df648b4ebfa)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
b5304ffe by Timothy Arceri at 2026-03-11T23:21:11+01:00
glx: guard glx_screen frontend_screen member

Guards workaround code with the same conditions as glx_screen`s
frontend_screen member.

Reviewed-by: Marek Olšák <[email protected]>

Fixes: 67eeee43e07d ("driconf: add a way to override GLX_CONTEXT_RESET_ISOLATION_BIT_ARB")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/15021
(cherry picked from commit bd42f62b0fcca796990e4eeca7c1595563c0fd53)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
7b2af9e1 by Anna Maniscalco at 2026-03-11T23:21:11+01:00
zink: don't care about generated gs output primitive

Zink uses the output primitive of the last vertex stage when deciding
the raster primitive. When we generate the gs the output primitive
depends on the raster primitive.

Not only does the generated gs output primitive have no value in chosing
the raster primitive, it can also get us stuck with the last raster
primitve which is of course incorrect.

Ignore it for generated shaders.

Cc: mesa-stable
(cherry picked from commit d526bbc29b9bcdee415e93370cf81b3a1d0fb85f)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
f550eb19 by Mary Guillemard at 2026-03-11T23:21:11+01:00
vulkan: Do not override the shader_flags in case of no task shader

This should be doing a or and not an assign.
This fixes issues on NVK with mesh stages on DGC.

Signed-off-by: Mary Guillemard <[email protected]>
Fixes: 9308e8d90d2 ("vulkan: Add generic graphics and compute VkPipeline implementations")
Reviewed-by: Lionel Landwerlin <[email protected]>
(cherry picked from commit 8f2eeee7bacd40d9107eeaec609c8add44f2a077)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
740734ac by Faith Ekstrand at 2026-03-11T23:21:12+01:00
etnaviv: Call lower_bool_to_int32 not to_bitsize

It calls both for some reason but never handles any other booleans than
32-bit.  This was probably a mistake.

Fixes: e63a7882a0ae ("etnaviv: call nir_lower_bool_to_bitsize")
Acked-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Christoph Pillmayer <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit 6fb39956597101881cf36cb15169416c00f95ea9)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
9c2b1921 by Faith Ekstrand at 2026-03-11T23:21:12+01:00
nir/lower_bool_to_bitsize: Make all bN_csel sources match

Previously, we assumed that the selector for bcsel could be whatever,
regardless of the bit sizes of the data and we'd just fix it in the
back-end.  This works okay for scalars but falls over the moment we
vectorize because all our vector handling assumes bit sizes match.
Since matching bit sizes is what the hardware wants anyway, it's better
to do the right thing in NIR and hope copy-propagation can fold in
conversions if needed.

Unfortunately, copy prop isn't that smart yet so this does hurt a bit:

    Instrs: 1193679 -> 1198086 (+0.37%); split: -0.06%, +0.43%
    CodeSize: 11915136 -> 11950592 (+0.30%); split: -0.05%, +0.34%
    Full: 160985 -> 160941 (-0.03%); split: -0.04%, +0.01%
    Estimated normalized CVT cycles: 4456.938557000181 -> 4480.876069000186 (+0.54%); split: -0.13%, +0.67%
    Estimated normalized SFU cycles: 6350.9375 -> 6392.21875 (+0.65%)
    Estimated normalized Load/Store cycles: 205773.0 -> 205795.0 (+0.01%)
    Maximum number of threads: 12864 -> 12863 (-0.01%)
    Number of spill instructions: 22487 -> 22489 (+0.01%)
    Number of fill instructions: 52179 -> 52219 (+0.08%)

Hurt shaders:

    google-meet-clvk/BgBlur
    google-meet-clvk/Relight
    parallel-rdp/small_subgroup
    parallel-rdp/small_uber_subgroup

The proper solution here is to teach copy-prop about this stuff so that
it can propagate swizzles into ALU ops when they're supported:
https://gitlab.freedesktop.org/panfrost/mesa/-/issues/265

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14945
Cc: mesa-stable
Acked-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Christoph Pillmayer <[email protected]>
(cherry picked from commit 3fd471dca5d2dfc2415b568db8b1a7458d9c93f6)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
7054ea6d by Faith Ekstrand at 2026-03-11T23:21:12+01:00
pan/bi: Be more careful about bit sizes in b2f lowering

Fixes: 21bdee7bccd2 ("pan/bi: Switch to lower_bool_to_bitsize")
Reviewed-by: Christoph Pillmayer <[email protected]>
(cherry picked from commit 08c437f64412f4fbdfac06bc567ce5c04231853f)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
77add2d8 by Tapani Pälli at 2026-03-11T23:21:12+01:00
intel/dev: update mesa_defs.json from workaround database

Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
(cherry picked from commit c75309c8f1740486c9de21d0766e1f0d47667c46)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
446fab4a by Tapani Pälli at 2026-03-11T23:21:12+01:00
anv: add handling for Wa_14026600921

This is the Xe3 version of the earlier workaround.

Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Lionel Landwerlin <[email protected]>
(cherry picked from commit 840e6e855bcafa52180a5beb6cfe9e4abd1f8367)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
ada713b3 by Sagar Ghuge at 2026-03-11T23:21:12+01:00
anv: Fix Wa_14021821874, Wa_14018813551, Wa_14026600921

WA states that we need to allocate maximum number of stackIDs per DSS
from RT_DISPATCH_GLOBALS to 2048.

We can still throttle/control the CFE_STATE::StackID to be in range
specified by the field.

This does impact performance having CFE_STATE::stackIDs capped to 2K
by default. More the outstanding ray queries, larger the working set and
have more impact on cache hit rate.

This affect performance on Xe2+ onwards:
* Boundary Benchmark:            36.2%
* Solar Bay extreme:             9.8%
* Hitman world of assassination: 3.9%

Fixes: c1a44e8d4317 ("anv: force StackIDControl value for Wa_14021821874")
Signed-off-by: Sagar Ghuge <[email protected]>
Reviewed-by: Tapani Pälli <[email protected]>
(cherry picked from commit cb423ee63608551e0d20d9f1fe36598c9e8883fa)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
0e31cb83 by Samuel Pitoiset at 2026-03-11T23:21:12+01:00
radv: fix missing L2 cache invalidation with streamout on GFX12

COPY_DATA emitted from the CP isn't coherent with L2, in case the
buffer filled size needs to be copied.

This fixes rare and random flickering with Mafia 3 Definitive Edition
on RDNA4.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14697
Cc: mesa-stable
Signed-off-by: Samuel Pitoiset <[email protected]>
(cherry picked from commit d9420eed9ecad6a3a1cb37718cf8bff06872041d)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
d78e309e by Job Noorman at 2026-03-11T23:21:12+01:00
ir3: update context builder after ir3_get_predicate

If we are currently inserting instructions after the src of the
predicate conversion, uses of the predicate will be inserted before its
def (the conversion). Fix this by updating the context builder to point
to after the conversion.

Signed-off-by: Job Noorman <[email protected]>
Fixes: fda91b49d71 ("ir3: refactor builders to use ir3_builder API")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/15043
(cherry picked from commit f88e8b778d9566ff5510bba8ea35973920def878)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
1f89a0fb by Job Noorman at 2026-03-11T23:21:12+01:00
ir3: don't predicate vote_all/vote_any

These get lowered to control flow which isn't allowed inside predicated
blocks.

Signed-off-by: Job Noorman <[email protected]>
Fixes: 39088571f08 ("ir3: add support for predication")
(cherry picked from commit 5e4a7d01fe3dab598ebf2df528aea1d253c08144)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
5cf88188 by Mike Blumenkrantz at 2026-03-11T23:21:12+01:00
egl/device: fix the fix for explicit sw rejection in non-sw EGL_PLATFORM=device

"explicit sw" means llvmpipe, which cannot be a real drm device. this requires also
returning only a single device so as to avoid leaking non-sw drivers

should fix LIBGL_ALWAYS_SOFTWARE=1 eglinfo

Fixes: 8a339cdebcc ("egl: fix sw fallback rejection in non-sw EGL_PLATFORM=device")
(cherry picked from commit c9b298660774291478323c5ef148362d9b136c3b)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40359>

- - - - -
3646899f by Eric Engestrom at 2026-03-12T12:56:33+01:00
docs: add release notes for 26.0.2

- - - - -
efd5b779 by Eric Engestrom at 2026-03-12T12:56:33+01:00
VERSION: bump for 26.0.2

- - - - -


108 changed files:

- .gitlab-ci/build/gitlab-ci.yml
- .pick_status.json
- VERSION
- docs/relnotes.rst
- docs/relnotes/26.0.1.rst
- + docs/relnotes/26.0.2.rst
- src/amd/ci/radeonsi-mendocino-fails.txt
- src/amd/ci/radeonsi-raven-fails.txt
- src/amd/ci/radeonsi-stoney-fails.txt
- src/amd/ci/radeonsi-vangogh-fails.txt
- src/amd/common/ac_descriptors.c
- src/amd/compiler/aco_insert_fp_mode.cpp
- src/amd/compiler/aco_opt_value_numbering.cpp
- src/amd/vulkan/meta/radv_meta_clear.c
- src/amd/vulkan/radv_cmd_buffer.c
- src/amd/vulkan/radv_sdma.c
- src/amd/vulkan/radv_shader.c
- src/broadcom/ci/broadcom-rpi3-fails.txt
- src/broadcom/ci/broadcom-rpi4-fails.txt
- src/broadcom/ci/broadcom-rpi5-fails.txt
- src/compiler/glsl/ast_to_hir.cpp
- src/compiler/glsl/gl_nir_linker.c
- src/compiler/glsl/glsl_parser_extras.cpp
- src/compiler/glsl/glsl_parser_extras.h
- src/compiler/glsl_types.h
- src/compiler/nir/nir_conversion_builder.h
- src/compiler/nir/nir_lower_bool_to_bitsize.c
- src/compiler/nir/nir_opcodes.py
- src/compiler/nir/nir_opt_algebraic.py
- src/compiler/nir/nir_range_analysis.c
- src/compiler/spirv/spirv_to_nir.c
- src/compiler/spirv/vtn_alu.c
- src/compiler/spirv/vtn_cmat.c
- src/compiler/spirv/vtn_private.h
- src/egl/drivers/dri2/platform_device.c
- src/egl/drivers/dri2/platform_x11.c
- src/egl/main/egldevice.c
- src/freedreno/ir3/ir3_compiler_nir.c
- src/freedreno/ir3/ir3_context.c
- src/freedreno/ir3/ir3_shader.c
- src/freedreno/vulkan/tu_clear_blit.cc
- src/freedreno/vulkan/tu_pass.cc
- src/freedreno/vulkan/tu_pipeline.cc
- src/gallium/auxiliary/pipe-loader/driinfo_gallium.h
- src/gallium/auxiliary/util/u_driconf.c
- src/gallium/auxiliary/vl/vl_codec.c
- src/gallium/drivers/d3d12/d3d12_resource.cpp
- src/gallium/drivers/etnaviv/etnaviv_compiler_nir.c
- src/gallium/drivers/r300/compiler/radeon_pair_schedule.c
- src/gallium/drivers/r300/r300_hyperz.c
- src/gallium/drivers/r300/r300_state.c
- src/gallium/drivers/r600/ci/r600-turks-fails.txt
- src/gallium/drivers/r600/ci/r600-turks-flakes.txt
- src/gallium/drivers/r600/evergreen_compute.c
- src/gallium/drivers/radeonsi/ci/gfx11-navi31-fail.csv
- src/gallium/drivers/radeonsi/ci/gfx12-gfx1200-fail.csv
- src/gallium/drivers/radeonsi/ci/gfx8-polaris11-fail.csv
- src/gallium/drivers/radeonsi/ci/gfx9-raven-fail.csv
- src/gallium/drivers/radeonsi/radeon_vcn_enc.c
- src/gallium/drivers/v3d/v3d_blit.c
- src/gallium/drivers/v3d/v3d_resource.c
- src/gallium/drivers/vc4/vc4_resource.c
- src/gallium/drivers/zink/zink_batch.c
- src/gallium/drivers/zink/zink_program.c
- src/gallium/drivers/zink/zink_screen.c
- src/gallium/frontends/lavapipe/lvp_device.c
- src/gallium/frontends/lavapipe/lvp_formats.c
- src/gallium/frontends/va/va_private.h
- src/gallium/include/frontend/api.h
- src/gallium/targets/dri/meson.build
- src/gallium/winsys/sw/dri/dri_sw_winsys.c
- src/glx/create_context.c
- src/glx/drisw_glx.c
- src/imagination/pco/pco_nir.c
- src/imagination/vulkan/pvr_arch_cmd_query.c
- src/intel/compiler/brw/brw_analysis.h
- src/intel/compiler/brw/brw_analysis_def.cpp
- src/intel/compiler/brw/brw_opt_algebraic.cpp
- src/intel/compiler/brw/brw_rt.h
- src/intel/compiler/brw/meson.build
- + src/intel/compiler/brw/test_def_analysis.cpp
- src/intel/compiler/brw/test_opt_algebraic.cpp
- src/intel/compiler/elk/elk_fs.cpp
- src/intel/dev/mesa_defs.json
- src/intel/vulkan/anv_blorp.c
- src/intel/vulkan/genX_cmd_buffer.c
- src/intel/vulkan/genX_cmd_compute.c
- src/intel/vulkan/genX_simple_shader.c
- src/mesa/main/consts_exts.h
- src/mesa/state_tracker/st_cb_bitmap.c
- src/mesa/state_tracker/st_context.h
- src/mesa/state_tracker/st_extensions.c
- src/mesa/state_tracker/st_glsl_to_nir.cpp
- src/mesa/state_tracker/st_nir.h
- src/mesa/state_tracker/st_program.c
- src/panfrost/ci/panfrost-g610-fails.txt
- src/panfrost/compiler/bifrost/bi_spill_ssa.c
- src/panfrost/compiler/bifrost/bifrost_compile.c
- src/panfrost/compiler/bifrost/bifrost_nir_algebraic.py
- src/panfrost/lib/kmod/panfrost_kmod.c
- src/panfrost/lib/kmod/panthor_kmod.c
- src/util/00-mesa-defaults.conf
- src/util/driconf.h
- src/util/half_float.h
- src/vulkan/runtime/vk_pipeline.c
- src/vulkan/wsi/wsi_common_x11.c
- src/x11/x11_display.c
- src/x11/x11_display.h


The diff was not included because it is too large.


View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/-/compare/bf5998be6ec465f5200a7a9303eb73cdae918142...efd5b779da45f81d56753ae52527600670245364

-- 
View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/-/compare/bf5998be6ec465f5200a7a9303eb73cdae918142...efd5b779da45f81d56753ae52527600670245364
You're receiving this email because of your account on salsa.debian.org.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.