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

"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:
bbc23bed by Eric Engestrom at 2026-04-03T11:31:41+02:00
docs: add sha sum for 26.0.4

- - - - -
41ca0dd7 by Eric Engestrom at 2026-04-14T15:27:44+02:00
.pick_status.json: Update to 7e163fb79377c0fdf6d4e99ca4775fa7e1a4299e

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

- - - - -
eb6df9c8 by Eric Engestrom at 2026-04-14T15:27:44+02:00
.pick_status.json: Mark 9ff879441f91a8296891e2e13264a7a015a11a7d as denominated

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

- - - - -
b3b0c900 by Eric Engestrom at 2026-04-14T15:27:44+02:00
.pick_status.json: Mark 4b3bd6b0b54d998a31356bf049911004683ea64f as denominated

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

- - - - -
46aea87a by Samuel Pitoiset at 2026-04-14T15:27:44+02:00
spirv: fix OpUntypedVariableKHR with optional data type parameter

This would read OOB and crash because data type is optional per the
SPIRV spec.

Original patch by Faith Ekstrand <[email protected]>.

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

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

- - - - -
e1455799 by Ahmed Hesham at 2026-04-14T15:27:44+02:00
rusticl: fix flag validation when creating an image

>From the OpenCL specification:
    `CL_MEM_KERNEL_READ_AND_WRITE`: This flag is only used by
    clGetSupportedImageFormats to query image formats that may be both
    read from and written to by the same kernel instance. To create a
    memory object that may be read from and written to use
    CL_MEM_READ_WRITE.

If an application follows the instructions above, i.e. query a list of
supported image formats, using `CL_MEM_KERNEL_READ_AND_WRITE` as
input, and then attempts to create an image using one of the supported
image formats, by calling `clCreateImage` and passing
`CL_MEM_READ_WRITE`, the call to the image creation entry point should
succeed. This instead fails on Mali devices with the error
`CL_IMAGE_FORMAT_NOT_SUPPORTED`.

Rusticl fails when validating the image format against its supported
flags. Formats that support `PIPE_BIND_SHADER_IMAGE` have their
supported flags set as `CL_MEM_WRITE_ONLY` and
`CL_MEM_KERNEL_READ_AND_WRITE`.

This changes the supported CL flags to be `CL_MEM_WRITE_ONLY` for
`PIPE_BIND_SHADER_IMAGE` and `CL_MEM_READ_WRTE |
CL_MEM_KERNEL_READ_AND_WRITE` for `PIPE_BIND_SAMPLER_VIEW |
PIPE_BIND_SHADER_IMAGE`.

Fixes: 3386e142 (rusticl: support read_write images)

Fixes OpenCL-CTS test: `test_image_streams` on Mali. Invocation:
```
test_image_streams write 1D CL_RGB CL_SIGNED_INT8
```

Signed-off-by: Ahmed Hesham <[email protected]>
(cherry picked from commit e77c984cefbc8bb9d95e0dc47d36b069b1498a5a)

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

- - - - -
03475490 by Pavel Ondračka at 2026-04-14T15:27:45+02:00
st/bitmap: release the temporary bitmap sampler view

st_cb_bitmap appends a temporary bitmap sampler view to the sampler
view array passed to set_sampler_views().

1a5c660ef5b8 changed this path to only release the extra YUV views
returned by st_get_sampler_views(), but the temporary bitmap view is
created locally and is not part of extra_sampler_views. It therefore
stopped being released so release the temporary bitmap sampler view
explicitly after drawing the bitmap quad.

Fixes: 1a5c660ef5b8 ("st/bitmap: only release YUV samplerviews")
(cherry picked from commit 33864e569e3d8d977524d002b4453e1cb749007c)

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

- - - - -
97213d18 by Job Noorman at 2026-04-14T15:27:45+02:00
nir/opt_varyings: fix alu def cloning

nir_builder_alu_instr_finish_and_insert initialized the def's bit_size
and num_components so we should set them afterwards.

Signed-off-by: Job Noorman <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Emma Anholt <[email protected]>
Fixes: c66967b5cb7 ("nir: add nir_opt_varyings, new pass optimizing and compacting varyings")
(cherry picked from commit 273fd18b89fe97dd5adff12cf229dfa7e804cb96)

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

- - - - -
7745b469 by Job Noorman at 2026-04-14T15:27:45+02:00
nir/gather_info: clear interpolation qualifiers before gathering

Signed-off-by: Job Noorman <[email protected]>
Reviewed-by: Emma Anholt <[email protected]>
Fixes: 66740d9c91b ("nir: gather interpolation qualifiers")
(cherry picked from commit a72704d0fbd0dc594570ae2c97b7a8015a944b8e)

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

- - - - -
7b5ed90b by Timothy Arceri at 2026-04-14T15:27:45+02:00
radeonsi: add Gun Godz workaround

This is another game based on the old YoYo engine

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15209

Reviewed-by: Marek Olšák <[email protected]>
Reviewed-by: Pierre-Eric Pelloux-Prayer <[email protected]>
(cherry picked from commit 27b56314ee4eb044d378434f6ee84bcadd049ccb)

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

- - - - -
fa14f8e6 by Job Noorman at 2026-04-14T15:27:45+02:00
ir3: fix handle_partial_const with vectorized src

Signed-off-by: Job Noorman <[email protected]>
Fixes: 50a91fbf87c ("freedreno/ir3: cleanup "partially const" ubo srcs")
(cherry picked from commit c27f0406b04da824a25e47d4cdc255b39a7217a8)

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

- - - - -
7757ddb8 by Georg Lehmann at 2026-04-14T15:27:45+02:00
nir/opt_load_skip_helpers: don't skip helpers for store_scratch data

Scratch stores store data for helper lanes that might be used later by an
instruction that cares about helpers, or even by control flow.

Fixes: a65009e8087 ("nir: Add a nir_opt_tex_skip_helpers optimization")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14965
Reviewed-by: Rhys Perry <[email protected]>
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit fc19ce6c179b5a1f501a020e436daa8dd7fb89b3)

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

- - - - -
fc45812f by Karol Herbst at 2026-04-14T15:27:45+02:00
radeonsi: set valid_buffer_range for CL buffers

Seems like we never set the range for CL buffers which caused spurious
test fails in the CL CTS.

Cc: mesa-stable
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 02679a51fdde8745bbe7c724f4aa43a504b58c18)

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

- - - - -
28a32fe5 by Job Noorman at 2026-04-14T15:27:45+02:00
nir/opt_uniform_subgroup: fix ballot_bit_count components

ballot_bit_count_reduce expects the ballot to have 4 components causing
validation failures on targets where 1 < ballot_components < 4. Fix this
by padding the ballot to 4 components.

Signed-off-by: Job Noorman <[email protected]>
Fixes: ae66bd1c007 ("nir/opt_uniform_subgroup: use ballot_bit_count")
Reviewed-by: Georg Lehmann <[email protected]>
(cherry picked from commit cc6eec79c2bbb3cd0508a15baaa0d07655be7b23)

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

- - - - -
190c65eb by Natalie Vock at 2026-04-14T15:27:45+02:00
radv/rt: Don't enable midpoint sorting

Midpoint sorting is incompatible with how our traversal works.
Specifically, we change tMax when a hit is committed so we can skip over
BVH nodes that are guaranteed not to produce a closer hit. However,
changing tMax also changes the intersection interval of box nodes with
the ray, and thus, the midpoints of that interval. Stackless traversal
relies on getting nodes back in the exact same order as before, and if
that requirement is not met, traversal may incorrectly skip over nodes.

The likely benefit of midpoint sorting does not make up for the loss of
ability to skip over BVH nodes exceeding tMax, so simply disable
midpoint sorting.

This fixes geometry being visible behind other geometry when it
shouldn't be in various applications, including Half-Life 2 RTX.

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

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

- - - - -
7cf57ccd by Faith Ekstrand at 2026-04-14T15:27:45+02:00
pan/bi: Support more swizzle aliases in the bifrost pack code

Fixes: 82328a524519 ("pan/bi: Generate instruction packer for new IR")
Reviewed-by: Lorenzo Rossi <[email protected]>
(cherry picked from commit 3fffcf4338dfff7b9cdd5ade6eb69557b40cacf3)

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

- - - - -
ddf6c31b by Faith Ekstrand at 2026-04-14T15:27:45+02:00
pan/bi: Delete a few instruction encodings

The non-trivial non-replicate swizzles on IADD.v4x8 and ISUB.v4x8 are
either documented wrong or broken in hardware.  Instead of swizzling
b0101 and b2323, they swizzle b0011 and b2233 on G52.  This is either a
hardware bug or an issue with documentation.  In either case, it's
probably best not to trust it.  Those swizzles aren't all that useful
anyway.  We also weren't using any of them before (or they'd have
broken) so this isn't a performance regression.

Cc: mesa-stable
Reviewed-by: Lorenzo Rossi <[email protected]>
(cherry picked from commit 538b5c411eab0c03c298412f74594d33a0396a9a)

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

- - - - -
cb93fe85 by Faith Ekstrand at 2026-04-14T15:27:45+02:00
pan/bi/ra: Allow offsets on tied sources

The only real requirement here is that the destination offset is zero
and that the destination is big enough to hold the source.  The source
offset doesn't matter.

Fixes: bc17288697f8 ("pan/bi: Lower split/collect before RA")
Reviewed-by: Lorenzo Rossi <[email protected]>
(cherry picked from commit 05c5e52054ff41bfbe47c86d08d61246a40c899a)

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

- - - - -
e8955066 by Faith Ekstrand at 2026-04-14T15:27:45+02:00
pan/bi: Use bi_half() for texture MS indices

It feeds into a v2i16 so it needs to be 16-bit.

Fixes: ae79f6765a37 ("pan/bi: Emit Valhall texture instructions")
Reviewed-by: Lorenzo Rossi <[email protected]>
(cherry picked from commit e63713079482fa1e34099619effc7e66af54ee92)

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

- - - - -
871a933c by Xianzhong Li at 2026-04-14T15:27:45+02:00
panfrost: Fix GEM handle refcount leak in panfrost_bo_import

panfrost_bo_import() calls drmPrimeFDToHandle() then pan_kmod_bo_import(),
which also calls drmPrimeFDToHandle() internally. This double import causes
GEM handle refcount leaks because each drmPrimeFDToHandle() increments the
kernel's GEM handle refcount, but only one drmCloseBufferHandle() is called
during cleanup by panfrost_kmod_bo_free(or panthor_kmod_bo_free).

Fix by removing the redundant drmPrimeFDToHandle() and using
pan_kmod_bo_import() directly. On re-import of existing buffers, properly
release the extra pan_kmod_bo reference with pan_kmod_bo_put().

This ensures GEM handle refcount, pan_kmod_bo refcount, and panfrost_bo
refcount are all properly balanced.

Fixes: 5089a758dfb1 ("panfrost: Back panfrost_bo with pan_kmod_bo object")

Signed-off-by: Xianzhong Li <[email protected]>
Reviewed-by: Boris Brezillon <[email protected]>
Reviewed-by: Eric R. Smith <[email protected]>
(cherry picked from commit 248b0b47b74abf51fdda1ae10ca573cbab78c89a)

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

- - - - -
c72a0457 by Mixie at 2026-04-14T15:27:45+02:00
xlib: clear currentDpy when releasing the current context

After abe6d750e58d, glXDestroyContext() can defer destruction by marking
the context with xid == None while it is still current.

However, the release-current path did not clear current->currentDpy,
so a context that had already been marked for deletion could remain
associated with a display after unbinding.

Fixes: abe6d750e58d ("xlib: fix glXDestroyContext in Gallium frontends")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/14947
Reviewed-by: Adam Jackson <[email protected]>
(cherry picked from commit 447a1d2e8d5f8a58b6aef7b74d1f720a8a4b8c02)

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

- - - - -
a46e96fb by Ian Romanick at 2026-04-14T15:27:45+02:00
brw/const: Don't allow type changes when accumulators are involved

Integer accumulators and float accumulators do not occupy the same bits,
so the types cannot be arbitrarily changed.

No shader-db or fossil-db changes on any Intel platform.

v2: Use is_accumulator() instead if brw_reg_is_arf(). Add an extra test
to show the desired behavior when an accumulator is not
involved. Suggested by Caio.

Fixes: 64c251bb3af ("intel/fs: Combine constants for SEL instructions too")
Reviewed-by: Caio Oliveira <[email protected]>
(cherry picked from commit ffdc310bf17480f4d1b4381e7fccac4bca3602e9)

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

- - - - -
92bfcb20 by Ian Romanick at 2026-04-14T15:27:45+02:00
brw: brw_reg::nr for an accumulator is not part of the offset

Without this, reg_offset will return 1024 for acc0. This causes
has_invalid_dst_region to decide that the destination region is invalid
(because 1024 != 0), and the lowering code tries to treat the floating
point accumulators as integers. It's a mess.

v2: Add and use set_gfx_platform. Suggested by Caio.

Fixes: 937373eb25c ("i965/fs: Handle fixed HW GRF subnr in reg_offset().")
Reviewed-by: Caio Oliveira <[email protected]>
(cherry picked from commit cfdb3ddb93c02eb1e98e9f634263313fc87693c0)

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

- - - - -
eb4618b1 by Rhys Perry at 2026-04-14T15:27:46+02:00
util: fix UBSan error with _mesa_bfloat16_bits_to_float

runtime error: left shift of 65535 by 16 places cannot be represented in type 'int'

This fixes nir_opt_algebraic_pattern_test.bf2f.

Signed-off-by: Rhys Perry <[email protected]>
Fixes: ecd2d2cf46df ("util: Add functions to convert float to/from bfloat16")
Reviewed-by: Georg Lehmann <[email protected]>
(cherry picked from commit 72f2b8a034235ff0942fcca8646ad2bb66c8b454)

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

- - - - -
fa0abe95 by Icenowy Zheng at 2026-04-14T15:27:46+02:00
pvr: fix pvr_clear_vdm_state_get_size_in_dw() inverted feature condition

The pvr_clear_vdm_state_get_size_in_dw() wrongly think instance count
inputs are needed when doing RTA clear for cores without the
gs_rta_support feature. However, the instance ID is exploited to output
the target layer ID, which isn't supported at all for cores w/o that
feature, so it looks that the condition is inverted. In addition, the
pvr_pack_clear_vdm_state() function seems to have similar logic deciding
whether to emit instance_count, and the logic is opposite to the logic
in pvr_clear_vdm_state_get_size_in_dw() for the part checking the
gs_rta_support feature.

Invert the condition to take instance ID inputs for cores with the
gs_rta_support feature instead of those without this feature.

Fixes: b59eb30e8860 ("pvr: Fix cs corruption in pvr_pack_clear_vdm_state()")
Signed-off-by: Icenowy Zheng <[email protected]>
Reviewed-by: Luigi Santivetti <[email protected]>
(cherry picked from commit 3db93bbf344340f61ff2ba30c172129703477ce2)

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

- - - - -
599bb79f by Georg Lehmann at 2026-04-14T15:27:46+02:00
aco/optimizer: do not try to create 3 byte constant operands

Operand::get_const will assert.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15239
Reviewed-by: Daniel Schürmann <[email protected]>
Cc: mesa-stable
(cherry picked from commit d1ed4e1774913d800e351a0dd271d037dae9d1f4)

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

- - - - -
5447f81c by David Rosca at 2026-04-14T15:27:46+02:00
radeonsi: Set multi plane format also for imported textures

multi_plane_format is used to correctly copy all planes for staging texture
copies, otherwise only the first plane gets copied.
It's now also used in si_video_dec, which doesn't work when decoding into
imported surfaces if multi_plane_format is not set.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15232
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 3dbbd94ffd06ab5a19dd0b7cca141cdbdc262723)

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

- - - - -
6f6be136 by Marc Alcala Prieto at 2026-04-14T15:27:46+02:00
pan/cs: Fix cs_run_fragment() calls with swapped arguments

Fix non-functional issue where calls to cs_run_fragment() had swapped
tile_order and enable_tem arguments. Both arguments evaluate to 0.
Hence, no functional change.

Fixes: 53f780ec916 ("panfrost: Remove progress_increment from all CS builders")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <[email protected]>
Reviewed-by: Christian Gmeiner <[email protected]>
(cherry picked from commit 0d08b197f2f66b2cf080e8332f46387eb99e5d55)

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

- - - - -
52b549ab by Lionel Landwerlin at 2026-04-14T15:27:46+02:00
anv: don't relocate memory from blob

This could override data allocated by the application when shader code
is loaded from binary in vkCreateShaderObjectEXT().

Signed-off-by: Lionel Landwerlin <[email protected]>
Fixes: d39e443ef8 ("anv: add infrastructure for common vk_pipeline")
Reviewed-by: Ivan Briano <[email protected]>
(cherry picked from commit 21952ffb0767fa101502f3a841355c5757408cca)

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

- - - - -
a9a9bc41 by Valentine Burley at 2026-04-14T15:27:46+02:00
zink/ci: Move zink-tu-a618 to sc7180-trogdor-kingoftown

The sc7180-trogdor-lazor-limozeen devices are having issues, so move the
job to a different device with available capacity.

Signed-off-by: Valentine Burley <[email protected]>
(cherry picked from commit 17d38c9668ffe08eee984ae01032d56b8095254a)

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

- - - - -
2723eec3 by Valentine Burley at 2026-04-14T15:27:46+02:00
ci/freedreno: Move remaining lazor a618 jobs, retire device type

The sc7180-trogdor-lazor-limozeen devices have been dying off over the
past few weeks, so move the last two jobs to sc7180-trogdor-kingoftown
and retire the device type.

Signed-off-by: Valentine Burley <[email protected]>
(cherry picked from commit bbed00ac81c306b682b669ee74b42f3f3c39a133)

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

- - - - -
55916383 by Samuel Pitoiset at 2026-04-14T15:27:46+02:00
radv/meta: fix computing extent for image->image with both compressed formats

If both src and dst are compressed formats, adjusting the extent isn't
necessary because it's required that texel block extent matches. The
previous division was also wrong because it was truncating partial
blocks causing issues in some tests.

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

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

- - - - -
e0eb9bc6 by Icenowy Zheng at 2026-04-14T15:27:46+02:00
pvr: set has_usc_alu_roundingmode_rne for all B-series Rogue cores

All B-series Rogue cores seem to have USC rounding mode as RTE instead
of RTZ.

Set the has_usc_alu_roundingmode_rne feature flag for them (currently
only BXS-4-64 has it set).

Verified via testing on BXM-4-64 (36.52.104.182) by fixing CTS tests
dEQP-VK.spirv_assembly.instruction.*.float_controls.fp32.input_args.* ,
and via proprietary driver vulkaninfo result on BXE-2-32 (36.29.52.182),
BXE-4-32 (36.50.54.182) and BXM-4-64 (36.56.104.183) (checking
shaderRoundingModeRT?Float32 properties).

Fixes: 1db1038a61a9 ("pvr: add device info for BXM-4-64 (36.56.104.183)")
Fixes: e60e0c96ba75 ("pvr: add device info for BXE-2-32 (36.29.52.182)")
Fixes: 2743363a5765 ("pvr: add device info for BXM-4-64 (36.52.104.182)")
Fixes: ea28791d4032 ("pvr: add device info for BXE-4-32 (36.50.54.182)")
Signed-off-by: Icenowy Zheng <[email protected]>
Reviewed-by: Simon Perretta <[email protected]>
(cherry picked from commit 9b44def4e952ff863e51ad1201b90fd645ef041b)

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

- - - - -
6c5ec942 by Janne Grunau at 2026-04-14T15:27:46+02:00
hk: Increase maxFragmentCombinedOutputResources to HK_MAX_DESCRIPTORS

Backport-to: 26.0
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/15249 for hk
Signed-off-by: Janne Grunau <[email protected]>
(cherry picked from commit 564b06198147abec0074b142b751d5219592409b)

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

- - - - -
665974c9 by Olivia Lee at 2026-04-14T15:27:46+02:00
panfrost: don't try to emit varying shader stats on v12+

On v12+, IDVS no longer has separate position and varying variants, so
we only need to emit stats for one binary. Attempting to emit stats for
the nonexistent varying shader breaks shader-db.

Fixes: 7819b103fa7 ("pan/bi: Add support for IDVS2 on Avalon")
Signed-off-by: Olivia Lee <[email protected]>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <[email protected]>
Reviewed-by: Eric R. Smith <[email protected]>
(cherry picked from commit 31ddfe26ebc18aa83c86ef44b2aeeefd6dfab51b)

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

- - - - -
1067d277 by Faith Ekstrand at 2026-04-14T15:27:46+02:00
pan/bi: Add BI_SWIZZLE_NONE

Fixes: 82328a524519 ("pan/bi: Generate instruction packer for new IR")
Reviewed-by: Christoph Pillmayer <[email protected]>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <[email protected]>
Reviewed-by: Lorenzo Rossi <[email protected]>
(cherry picked from commit ab285efd1b88de188d4f73b3646c90aa2114b3a0)

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

- - - - -
7809c26b by Faith Ekstrand at 2026-04-14T15:27:46+02:00
pan/bi: Support all the swizzles in the packer

Add asserts this time that we don't miss any and that the buckets
actually match the enum in bifrost/compiler.h.

Fixes: 82328a524519 ("pan/bi: Generate instruction packer for new IR")
Reviewed-by: Christoph Pillmayer <[email protected]>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <[email protected]>
Reviewed-by: Lorenzo Rossi <[email protected]>
(cherry picked from commit fd5c6d12231b7ea16af8b479173edfe36d4e9fb1)

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

- - - - -
b4cfec49 by Daniel Schürmann at 2026-04-14T15:27:46+02:00
aco/lower_branches: Don't remove branches which jump over loops

Entering a loop with empty exec mask might lead to
not be able to execute the break condition and
lead to infinite loops.

Totals from 81 (0.04% of 202440) affected shaders: (Navi48)
Instrs: 3040566 -> 3040716 (+0.00%)
CodeSize: 17506768 -> 17507188 (+0.00%)
Latency: 16342966 -> 16345166 (+0.01%)
InvThroughput: 3112932 -> 3113286 (+0.01%)
Branches: 82229 -> 82365 (+0.17%)

Cc: mesa-stable
(cherry picked from commit 60b3e5b3f09a483603bde9d65ee0420705de905a)

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

- - - - -
18115a5d by Pavel Ondračka at 2026-04-14T15:27:46+02:00
gallium/u_blitter: remove unused CONST declaration when using IMM

The immediate fs_clear_color shader uses IMM[0] but still declares
CONST[0][0]. That can make drivers try to read a fragment constant
buffer even though one is never uploaded on this path. Only declare
CONST[0][0] when the shader actually uses a constant buffer.

Fixes: 2ff9fa8b728c ("gallium/u_blitter: add a new fs_color_clear variant")
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 79e3196320616ea3567a8465d283665a547030ba)

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

- - - - -
035be8e0 by Yuxuan Shui at 2026-04-14T15:27:47+02:00
wsi/display: initialize Xlib display connector property IDs in all cases

Usually connector property IDs are acquired in
wsi_display_get_connector, which is called by wsi_get_connectors, and in
turn by vkGetPhysicalDeviceDisplayProperties2KHR and
vkGetPhysicalDeviceDisplayPlanePropertiesKHR. Except if the drm fd is
not available when these functions are called. Which will be the case if
vkAcquireXlibDisplayEXT is not called first.

So it goes like this. First, the display is created in
vkGetRandROutputDisplayEXT. Then it's used in
vkGetPhysicalDeviceDisplayPlanePropertiesKHR, but since the drm fd is
not available at this point, connector property IDs are not initialized.
Later, this display is used in vkAcquireXlibDisplayEXT, which also
doesn't touch the property IDs. Finally in drm_atomic_commit, the
atomic commit fails with EINVAL, specifically because of the
uninitialized ID of the "CRTC_ID" property. Since it's one of the
properties drm_atomic_commit tries to set.

This commit makes sure that find_connector_properties is called in
vkAcquireXlibDisplayEXT to initialize the property IDs.

Fixes: 513ffea1d366 ("wsi/display: use atomic mode setting")
Signed-off-by: Yuxuan Shui <[email protected]>
(cherry picked from commit 37a1986691ff62fcc1ed88e3dc1038591f183a59)

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

- - - - -
392b4ab6 by Vinson Lee at 2026-04-14T15:27:47+02:00
d3d12: Fix MinGW cross-build error in resource_state_if_promoted

When cross-compiling with MinGW, d3d12_resource_state.cpp fails to
compile with:

  d3d12_resource_state.cpp:161:83: error: call to non-'constexpr'
  function 'D3D12_RESOURCE_STATES operator|(D3D12_RESOURCE_STATES,
  D3D12_RESOURCE_STATES)'
    161 |       D3D12_RESOURCE_STATE_ALL_SHADER_RESOURCE |
        |       D3D12_RESOURCE_STATE_COPY_SOURCE | D3D12_RESOURCE_STATE_COPY_DEST;
        |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  In file included from /usr/share/mingw-w64/include/minwindef.h:163,
                   from /usr/share/mingw-w64/include/windef.h:9,
                   from /usr/share/mingw-w64/include/windows.h:69,
                   from /usr/share/mingw-w64/include/rpc.h:16,
                   from /usr/share/mingw-w64/include/unknwn.h:7,
                   from ../subprojects/DirectX-Headers-1.0/include/wsl/winadapter.h:6,
                   from ../src/gallium/drivers/d3d12/d3d12_common.h:29,
                   from ../src/gallium/drivers/d3d12/d3d12_bufmgr.h:31,
                   from ../src/gallium/drivers/d3d12/d3d12_resource_state.cpp:24:
  ../subprojects/DirectX-Headers-1.0/include/directx/d3d12.h:3540:1:
  note: 'D3D12_RESOURCE_STATES operator|(D3D12_RESOURCE_STATES,
  D3D12_RESOURCE_STATES)' declared here
   3540 | DEFINE_ENUM_FLAG_OPERATORS( D3D12_RESOURCE_STATES )
        | ^~~~~~~~~~~~~~~~~~~~~~~~~~

The DEFINE_ENUM_FLAG_OPERATORS macro in the MinGW winnt.h header
defines operator| for D3D12_RESOURCE_STATES as inline but not
constexpr.  (The DirectX-Headers WSL stubs do define it as constexpr,
but when building with MinGW, windows.h is pulled in via winadapter.h
and its non-constexpr definition wins.)  Calling a non-constexpr
function to initialize a constexpr variable is ill-formed in C++.

Fix by changing static constexpr to static const, which avoids the
constexpr context while still giving the variable static storage
duration.

Fixes: fe48cd7c5a59 ("d3d12: Allow state promotion for non-simultaneous access textures")
Signed-off-by: Vinson Lee <[email protected]>
Reviewed-by: Jesse Natalie <[email protected]>
(cherry picked from commit 2443f3608ab7501ece7941e45030b7d32f81985a)

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

- - - - -
573d326b by Konstantin Seurer at 2026-04-14T15:27:47+02:00
radv/bvh: Prefer selecting quads as the first pair of a HW node

Is a single triangle is selected, it can be the case that the next iteration
can't merge any pair with the triangle. In that case, the HW node with a
single triangle will not have the highest hw_node_index, triggering an
assert.

Fixes: c18a7d0 ("radv: Emit compressed primitive nodes on GFX12")
Reviewed-by: Natalie Vock <[email protected]>
(cherry picked from commit db38d1a98c6c19176ec01d127782e7a6b840ead6)

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

- - - - -
6fa9e9b7 by Karol Herbst at 2026-04-14T15:27:47+02:00
radeonsi: properly report unified memory on APUs

This helps rusticl to properly advertise available global memory on APUs.

Cc: mesa-stable
Reviewed-by: Marek Olšák <[email protected]>
(cherry picked from commit 97ca375f517a529f290001b5ad60445050282dcd)

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

- - - - -
b2b54a01 by Karol Herbst at 2026-04-14T15:27:47+02:00
rusticl/kernel: implement CL_KERNEL_GLOBAL_WORK_SIZE for custom devices

Apparently we are supposed to support this on custom devices.

Cc: mesa-stable
(cherry picked from commit 97a137ac88cfa9b47fd07867232200c87e215eab)

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

- - - - -
1ed1dcb9 by Karol Herbst at 2026-04-14T15:27:47+02:00
rusticl/device: Fix reporting of global memory on mixed memory devices

AMD APUs are hitting this case where they have very small discrete VRAM,
but a lot of staging memory, which can be used additionally.

Fixes: 7487ac20463 ("rusticl/device: support query_memory_info to retrieve available memory")
(cherry picked from commit 58d45725c7cca54c02079566e0f0bb59b16a1e5d)

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

- - - - -
d6ef5d48 by Eric Guo at 2026-04-14T15:27:47+02:00
panfrost: disable round_to_nearest_even for NEAREST samplers

When round_to_nearest_even is enabled with NEAREST filtering, texture
coordinates near texel boundaries (e.g. 0.9999999404) can be incorrectly
rounded up to the next texel instead of being floor()'d.

According to OpenCL spec section 8.2, for CLK_FILTER_NEAREST:
  i = address_mode((int)floor(u))

Backport-to: *
Signed-off-by: Eric Guo <[email protected]>
Reviewed-by: Erik Faye-Lund <[email protected]>
(cherry picked from commit c4151344549ce3a238e6b0dd4ac78022a3aefccb)

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

- - - - -
ecdb0c15 by Wujian Sun at 2026-04-14T15:27:47+02:00
mesa: Fix inconsistent multisampled CopyTexImage checks

According to the GL_EXT_multisampled_render_to_texture specification,
copy operations should be allowed when the extension is supported.

Previously, glCopyTexImage* would unconditionally fail with
GL_INVALID_OPERATION when copying from any multisampled framebuffer
(samples > 0), even when using render-to-texture attachments.

Fixes: d7b9da2673a ("mesa/main: fix artifacts with GL_EXT_multisampled_render_to_texture")

Reviewed-by: Erik Faye-Lund <[email protected]>
Signed-off-by: Wujian Sun <[email protected]>
(cherry picked from commit 2e340d63d2b1fe13a23c607f93f83d04bdad0c9a)

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

- - - - -
dc1f5880 by Mary Guillemard at 2026-04-14T15:27:47+02:00
nvk: Adjust maxFragmentCombinedOutputResources to match max descriptors limit

This was set to the lowest allowed value by spec but it should really be
matching the max descriptors limit.

Cc: mesa-stable
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/15249 for NVK
Signed-off-by: Mary Guillemard <[email protected]>
Reviewed-by: Mel Henning <[email protected]>
(cherry picked from commit 13f98d8658e041b6761047db0ccafb585cfbd823)

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

- - - - -
d37fccbc by Mary Guillemard at 2026-04-14T15:27:47+02:00
hk: Add HK_MAX_RTS to maxFragmentCombinedOutputResources

The spec also mentions "output Location decorated color attachments".

Signed-off-by: Mary Guillemard <[email protected]>
Fixes: 564b06198147 ("hk: Increase maxFragmentCombinedOutputResources to HK_MAX_DESCRIPTORS")
Reviewed-by: Janne Grunau <[email protected]>
(cherry picked from commit 59d9bc7bee0e8bdc50191ebaa45855d1711c3364)

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

- - - - -
eb2cffbd by Lionel Landwerlin at 2026-04-14T15:27:47+02:00
brw: don't support frontfacing ternary optimization on != 32bit

Fix shader compilation on Crimson Desert :

  16    %1995 = b32csel %1992, %1993, %1994

Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <[email protected]>
(cherry picked from commit a84c12414c3681e0ac63e86ff4d0b6c3fe7c8b32)

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

- - - - -
0e192255 by Lionel Landwerlin at 2026-04-14T15:27:47+02:00
elk: don't support frontfacing ternary optimization on != 32bit

Signed-off-by: Lionel Landwerlin <[email protected]>
Cc: mesa-stable
Reviewed-by: Alyssa Rosenzweig <[email protected]>
(cherry picked from commit 4dfedcca45c960656cd7eb5e966fc72a5f6f0015)

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

- - - - -
6a2704a5 by Samuel Pitoiset at 2026-04-14T15:27:47+02:00
vulkan: mark RP attachments as invalid when no rendering create info

VkPipelineRenderingCreateInfo is only required in the fragment output
interface lib. For pre-rasterization shaders and fragment shader state
libs, only the view mask is used but it's optional.

If the attachments info isn't marked invalid merging renderpass info
during lib imports wouldn't work because it would assume that the first
lib has attachment info (eg. the pre-rasterization lib).

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

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

- - - - -
9b19409a by Rhys Perry at 2026-04-14T15:27:47+02:00
ir3/array_to_ssa: skip remove_trivial_phi for non-array phis

remove_trivial_phi() mostly does nothing for non-array phis, but it
rewrites sources if their definining instruction are trivial phis.

In the case of trivial phis in the loop continue block (for loops with
divergent non-trivial continues), we might need to keep those if they
write a shared register, because the source of the trivial phi will not be
reachable from the loop header phi.

In this example, the predecessors of the continue block should be block2,
but the physical predecessors are block2 and block3, requiring a phi in
the continue block which will then be lowered by ir3_lower_shared_phis.
loop {
   block1:
   a = phi 0, b
   if (divergent) {
      block2:
      b = a + 1
      continue;
   }
   block3:
   break;
}

Fixes RA validation error when compiling blackmythwukong/5645a84e669a6179
from radv_fossils.

Signed-off-by: Rhys Perry <[email protected]>
Backport-to: 26.0
(cherry picked from commit 4f0fb5784f61c38798dccfa6ae97e380ccd1519c)

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

- - - - -
fd9ffc06 by Rhys Perry at 2026-04-14T15:27:47+02:00
ir3/ra: fix copy-paste error

I don't entirely understand what this is all doing, but this looks like a
copy-paste error.

Signed-off-by: Rhys Perry <[email protected]>
Backport-to: 26.0
(cherry picked from commit a6b86d43d304897bc8ca7155039877deb68a483a)

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

- - - - -
9c4e5bbe by Eric Engestrom at 2026-04-15T16:20:41+02:00
docs: add release notes for 26.0.5

- - - - -
e4bd78e8 by Eric Engestrom at 2026-04-15T16:20:41+02:00
VERSION: bump for 26.0.5

- - - - -


64 changed files:

- .pick_status.json
- VERSION
- docs/relnotes.rst
- docs/relnotes/26.0.4.rst
- + docs/relnotes/26.0.5.rst
- src/amd/ci/radeonsi-raven-fails.txt
- src/amd/compiler/aco_lower_branches.cpp
- src/amd/compiler/aco_optimizer.cpp
- src/amd/vulkan/bvh/encode_triangles_gfx12.comp
- src/amd/vulkan/meta/radv_meta_copy.c
- src/amd/vulkan/nir/radv_nir_rt_common.c
- src/asahi/vulkan/hk_physical_device.c
- src/compiler/nir/nir_gather_info.c
- src/compiler/nir/nir_opt_load_skip_helpers.c
- src/compiler/nir/nir_opt_uniform_subgroup.c
- src/compiler/nir/nir_opt_varyings.c
- src/compiler/spirv/vtn_variables.c
- src/freedreno/ci/gitlab-ci-inc.yml
- src/freedreno/ci/gitlab-ci.yml
- src/freedreno/ir3/ir3_array_to_ssa.c
- src/freedreno/ir3/ir3_nir_analyze_ubo_ranges.c
- src/freedreno/ir3/ir3_shared_ra.c
- src/gallium/auxiliary/util/u_simple_shaders.c
- src/gallium/drivers/d3d12/d3d12_resource_state.cpp
- src/gallium/drivers/panfrost/pan_bo.c
- src/gallium/drivers/panfrost/pan_cmdstream.c
- src/gallium/drivers/panfrost/pan_csf.c
- src/gallium/drivers/panfrost/pan_shader.c
- src/gallium/drivers/radeonsi/si_compute.c
- src/gallium/drivers/radeonsi/si_get.c
- src/gallium/drivers/radeonsi/si_texture.c
- src/gallium/drivers/zink/ci/gitlab-ci.yml
- src/gallium/drivers/zink/ci/zink-radv-gfx1201-fails.txt
- src/gallium/drivers/zink/ci/zink-radv-navi10-fails.txt
- src/gallium/drivers/zink/ci/zink-radv-navi31-fails.txt
- src/gallium/drivers/zink/ci/zink-radv-polaris10-fails.txt
- src/gallium/drivers/zink/ci/zink-radv-vangogh-fails.txt
- src/gallium/frontends/glx/xlib/glx_api.c
- src/gallium/frontends/rusticl/api/kernel.rs
- src/gallium/frontends/rusticl/core/device.rs
- src/imagination/common/device_info/bxe-2-32.h
- src/imagination/common/device_info/bxe-4-32.h
- src/imagination/common/device_info/bxm-4-64.h
- src/imagination/vulkan/pvr_clear.h
- src/intel/compiler/brw/brw_from_nir.cpp
- src/intel/compiler/brw/brw_opt_combine_constants.cpp
- src/intel/compiler/brw/brw_reg.h
- src/intel/compiler/brw/test_helpers.h
- src/intel/compiler/brw/test_opt_combine_constants.cpp
- src/intel/compiler/elk/elk_fs_nir.cpp
- src/intel/vulkan/anv_private.h
- src/intel/vulkan/anv_shader.c
- src/mesa/main/teximage.c
- src/mesa/state_tracker/st_cb_bitmap.c
- src/nouveau/vulkan/nvk_physical_device.c
- src/panfrost/compiler/bifrost/bi_packer.c.py
- src/panfrost/compiler/bifrost/bi_ra.c
- src/panfrost/compiler/bifrost/bifrost/ISA.xml
- src/panfrost/compiler/bifrost/bifrost_compile.c
- src/panfrost/compiler/bifrost/compiler.h
- src/util/00-mesa-defaults.conf
- src/util/bfloat.h
- src/vulkan/runtime/vk_graphics_state.c
- src/vulkan/wsi/wsi_common_display.c


The diff was not included because it is too large.


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

-- 
View it on GitLab: https://salsa.debian.org/xorg-team/lib/mesa/-/compare/d9e5e36b1925d0a75f582b06075e374ab93abadc...e4bd78e80ad7178162bf0e138b93a2aa2eac0434
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.