Commit graph

72624 commits

Author SHA1 Message Date
Mike Blumenkrantz
d5a8b1aba9 zink: fix mixing of mesh descriptor bindings with gfx bindings
this is illegal, need separate everything

cc: mesa-stable

(cherry picked from commit 131eb49121)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:19 +02:00
Karol Herbst
7c78533e79 llvmpipe: never pass a NULL function name to LLVMAddFunction
LLVM seems to crash otherwise.

Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Acked-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 75d9cb0b32)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:18 +02:00
Karol Herbst
e9b5e3530f gallivm/nir/soa: use uint for booleans
Otherwise we'll hit a LLVM assert when handling load_const:
llvm/include/llvm/ADT/APInt.h:121: llvm::APInt::APInt(unsigned int, uint64_t, bool, bool): Assertion `llvm::isIntN(BitWidth, val) && "Value is not an N-bit signed value"' failed.

Cc: mesa-stable
Reviewed-by: Dave Airlie <airlied@redhat.com>
Acked-by: Adam Jackson <ajax@redhat.com>
(cherry picked from commit 4bad47e991)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:18 +02:00
Mike Blumenkrantz
97ce385200 lavapipe: fix setting colormasks when attachments get remapped
this requires blend state updates

cc: mesa-stable

(cherry picked from commit 2e9e8e9a36)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:18 +02:00
Mike Blumenkrantz
fa31e5e295 lavapipe: unset attachment remap state if pColorAttachmentLocations==NULL
cc: mesa-stable

(cherry picked from commit abc6f351b1)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:18 +02:00
Mike Blumenkrantz
72b5aad56d lavapipe: update cbuf count when remapping attachments
handle cases where attachments are remapped to higher indices than
the renderpass was created with

fixes:
dEQP-VK.renderpasses.dynamic_rendering.primary_cmd_buff.local_read.mapping_*_attachments_to_locs_from_*

cc: mesa-stable

(cherry picked from commit 563259eaa9)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:18 +02:00
Jon Turney
9be16393a6 ddebug: Fix use of alloca() without #include "c99_alloca.h"
Fixes: 6fe6c18c12 ("util: add/use new os_mkdir() function")
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
(cherry picked from commit 2b9e491b67)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:18 +02:00
Mike Blumenkrantz
fbf0ec0426 llvmpipe: always set view_index for linear rasterizer
if this is unset, the view index is garbage and any shader accessing it
will read garbage

this is the source of all lavapipe flakes.

cc: mesa-stable

Reviewed-by: Konstantin Seurer <konstantin.seurer@gmail.com>
(cherry picked from commit 099933f004)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:18 +02:00
Louis Montagne
e33fee1e14 zink: relax build-id length assertion for Mach-O
`disk_cache_init` asserts `build_id_len == BUILD_ID_EXPECTED_HASH_LENGTH`
(20, the size of a GNU build-id SHA1 on ELF). Mach-O has no GNU
build-id; the closest equivalent is `LC_UUID`, which is 16 bytes.
`build_id_length()` therefore returns a non-20 value on macOS and the
assert fires as soon as `ENABLE_SHADER_CACHE` is on.

Relax the assertion to `<=` so any non-empty build id of acceptable
length is accepted while still catching impossibly long ones. The hash
only needs *some* unique-per-build identifier; the actual byte count
hashed is whatever `build_id_length()` returned.

Cc: mesa-stable
Suggested-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Signed-off-by: Louis Montagne <louis@askem.eu>
(cherry picked from commit 14992361a4)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:18 +02:00
Dave Airlie
63e10b7be1 lavapipe: treat NULL pColorAttachmentLocations as no handles
this fixes a crash seen in:
dEQP-VK.renderpasses.dynamic_rendering.partial_secondary_cmd_buff.local_read.interaction_with_color_write_enable

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

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Mike Blumenkrantz
9e1bd0a030 lavapipe: allow fbfetch with shader objects
required by DRLR

cc: mesa-stable

(cherry picked from commit 547dc7a131)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Mike Blumenkrantz
90a31051f5 lavapipe: rework immutable samplers
samplers can be destroyed whenever, which makes it problematic to store
the pointers into descriptor layouts for embedded samplers. instead,
directly store the descriptor info into the layout, since this is all
constant data which is unaffected by object lifetimes

cc: mesa-stable

(cherry picked from commit 1da8528bbc)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Mike Blumenkrantz
ab5864a688 lavapipe: use the right type for DGC mesh draws
cc: mesa-stable

(cherry picked from commit 965beb520c)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Mike Blumenkrantz
0f499aab47 lavapipe: fix pushconst data updating
in a sequence like:
* CmdPushConstants
* CmdBindPipeline (doesn't use push constants)
* CmdDispatch
* CmdBindPipeline (uses push constants)
* CmdDispatch

the previous code would never update pushconsts and the second dispatch
would have no valid data

cc: mesa-stable

(cherry picked from commit f4461b66b6)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Mike Blumenkrantz
3c8d2ae5fb lavapipe: fix indirect memory copies
this was using the wrong size for the copy

cc: mesa-stable

(cherry picked from commit 87764963f2)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Eric R. Smith
3a7b05dbb0 panfrost: add helper function for checking for active queries
Add a convenience helper function, and use this for checking
whether queries are active. This fixes a bug where we were
basically always using a software fallback for indirect
rendering rather than the CSF hardware loop.

Cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
(cherry picked from commit 80e6b468f4)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Eric R. Smith
7650063040 panfrost: make sure INDEX_OFFSET is cleared
Ensure the INDEX_OFFSET CSF register is set to 0 before an ordinary
draw. This is normally the case, but indirect draws can change it.

Cc: mesa-stable
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
(cherry picked from commit 2b10a6c37f)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Dave Airlie
70546eeb08 gallivm: handle llvm 22 scatter/gather intrinsic changes.
The intrinsics moved alignment to an attribute on the pointer.

Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
(cherry picked from commit 645de2b433)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Dave Airlie
ec048c1aaf gallivm: handle llvm 22 coroutine end change
the coroutine end changed return value.

Cc: mesa-stable
Acked-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
(cherry picked from commit 469270b914)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
Mike Blumenkrantz
2c934e2020 llvmpipe: fix min_samples + A2C
running a2c in its usual loop fails to update the mask for the current
sample, which breaks successive operations BUT ONLY WHEN RUNNING PER-SAMPLE

cc: mesa-stable

(cherry picked from commit d998456d21)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:17 +02:00
David Rosca
cb4cbcad6e frontends/va: Add missing NULL check for additional output surface
Fixes: efc6d27fd4 ("frontends/va: Add support for decode/encode processing")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
(cherry picked from commit 3d16845e9a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:16 +02:00
David Rosca
eda2a46f1f frontends/va: Fix setting output color properties from color standard
Fixes: 6e8a8d8ee7 ("frontends/va: Stop using vpp colors standard")
Reviewed-by: Ruijing Dong <ruijing.dong@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
(cherry picked from commit 69db546936)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:16 +02:00
Rohit Athavale
a44df654b7 mediafoundation: Test compile steps v/s step , and set build flag
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15244
Backport-to: *

Reviewed-by: Pohsiang (John) Hsu <pohhsu@microsoft.com>
(cherry picked from commit c5b184a02a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41540>
2026-05-13 15:39:16 +02:00
David Rosca
3b276be9e5 frontends/va: Fix finding LTRs from POCs in HEVC decode
This should only consider valid entries, not loop over the entire array.
In addition the array size was wrong before.

Fixes: 779edc0759 ("frontends/va: Correctly derive HEVC StCurrBefore, StCurrAfter and LtCurr")
Reviewed-by: Benjamin Cheng <benjamin.cheng@amd.com>
(cherry picked from commit c2a4fa33b8)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:43 +02:00
Pavel Ondračka
b07b674765 r300: dirty VS state when switching variants
When r300_pick_vertex_shader switches to a WPOS variant, it only dirtied
rs_block_state, leaving vs_state with a stale code size. This caused
cs_count warnings (offset of -4 for one extra VS instruction) but was
mostly harmless since the emitted packet stream still used the current
shader.

Factor the VS code dirtying out of r300_bind_vs_state into a helper and
call it when selecting a new variant too.

Fixes: 806dcf9db7 ("r300: only output wpos in vertex shaders when needed")
(cherry picked from commit cc7be8433a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:43 +02:00
Jesse Natalie
4083a34188 wgl: Use an hwnd xor hdc for framebuffers
It seems maybe hdcs can get recycled?

Fixes: 28058221 ("wgl: Support contexts created from non-window DCs")
(cherry picked from commit 3f35e65253)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:43 +02:00
Pavel Ondračka
d87649d8be r300: fix MSAA resolve COLORPITCH tiling after pipe_surface de-pointerization
r300_simple_msaa_resolve used to patch srcsurf->pitch with the resolve
destination's tiling bits before passing the surface to the blitter.
That worked when set_framebuffer_state kept the same pipe_surface
pointer, so r300_get_nonnull_cb returned the patched object.

After the de-pointerization, r300_framebuffer_init creates a fresh
r300_surface from the pipe_surface template, discarding the pitch
modification. The hardware then uses the MSAA source tiling for
R300_RB3D_COLORPITCH0, leading to corruption.

Move the tiling override into r300_emit_fb_state and override the tiling
bits of COLORPITCH from the destination surface at emit time.

Fixes: 2eb45daa9c ("gallium: de-pointerize pipe_surface")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15303
(cherry picked from commit 416da54cce)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:43 +02:00
Derek Lesho
7294206e88 zink: Guard bo map/unmap on map_count.
Otherwise zink_bo_map can return cpu_ptr being destroyed by zink_bo_unmap.

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

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:43 +02:00
Dave Airlie
05ed5acd07 nouveau: drop sector promotion.
Just like the fix for nvk, just drop this in the GL driver as well.

Cc: mesa-stable
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Mel Henning <mhenning@darkrefraction.com>
(cherry picked from commit 3f5d54ab8c)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:43 +02:00
GKraats
286c245e98 crocus: Fix shader precompilation on Gen6 and higher
By default crocus precompiles shaders, to avoid stuttering at screens,
caused by compiling shaders at the drawing phase.
Unfortunately at intel Gen 6 and higher the precompiled version of the
fragment shaders is not used and every fragment shader is compiled twice.
These double fragment shaders also are added to the memory cache
and disk cache.
This is caused by setting wrong values to variables at the key during
precompiling at routine crocus_create_fs_state() at src/gallium/drivers/crocus/crocus_program.c,
which differ from values at crocus_populate_fs_key() at src/gallium/drivers/crocus/crocus_state.c.

This commit solves 3 problems:

it adjusts the predicted value 'input_slots_valid' at Gen 6
it adjusts the predicted value 'ignore_sample_mask_out' at Gen 6 and higher
it predicts the value 'multisample_fbo' , which helps if samplemask is used

Cc: mesa-stable
Signed-off-by: GKraats <vd.kraats@hccnet.nl>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
(cherry picked from commit 686266d2f1)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:43 +02:00
Valentine Burley
8a4dc04589 zink/ci: Remove Cezanne job
The devices will be repurposed for a different job.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
(cherry picked from commit 4e4207e639)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:43 +02:00
Erik Faye-Lund
b7ce708f01 radeonsi: remove old, unsupported cap
This hasn't been supported for a long time.

Fixes: 420fe1e7f9 ("radeonsi: remove TGSI")
Reviewed-by: Marek Olšák <maraeo@gmail.com>
(cherry picked from commit 261cb0e9bf)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:42 +02:00
Erik Faye-Lund
63faa0d700 nouveau: do not report unsupported feature
This hasn't been supported since the TGSI envvar was ripped out. When
converted to NIR, we don't see these instructions at all.

Fixes: c3cbe610df ("nouveau: Delete the NV50_PROG_USE_TGSI env var.")
Reviewed-by: Marek Olšák <maraeo@gmail.com>
(cherry picked from commit b062062430)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:42 +02:00
Patrick Lerda
ead15a5202 r600: fix atomic_counter_post_dec
This change was tested on plam and cayman. Here are the tests fixed:
spec/arb_gl_spirv/execution/uniform/atomic-uint-aoa-cs: fail pass
spec/arb_gl_spirv/execution/uniform/atomic-uint-aoa-fs: fail pass
spec/arb_gl_spirv/execution/uniform/atomic-uint-array-cs: fail pass
spec/arb_gl_spirv/execution/uniform/atomic-uint-array-fs: fail pass
spec/arb_gl_spirv/execution/uniform/atomic-uint-cs: fail pass
spec/arb_gl_spirv/execution/uniform/atomic-uint-fs: fail pass

Cc: mesa-stable
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
(cherry picked from commit 0deac18581)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:42 +02:00
Patrick Lerda
af76112ed9 r600: update vertex emit_varying_pos
This change adds a minimal support for gl_PointSize to
be used alongside gl_ClipDistance/gl_CullDistance.

This change was tested on palm and cayman. Here is the test fixed:
khr-gl4[5-6]/gl_spirv/spirv_validation_builtin_variable_decorations_test: fail pass

Cc: mesa-stable
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
(cherry picked from commit 032a2bdc1e)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:42 +02:00
Patrick Lerda
c785514d5e r600: fix atomic buffer offset
The atomic offset implementation was incomplete.

This change was tested on cayman, it fixes all the
variants of this test:
khr-gl4[2-6]/shader_atomic_counters/advanced-usage-multi-stage: fail pass
khr-gles31/core/shader_atomic_counters/advanced-usage-multi-stage: fail pass

Fixes: 06993e4ee3 ("r600: add support for hw atomic counters. (v3)")
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
(cherry picked from commit 48902771ad)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:42 +02:00
Patrick Lerda
5ec6772843 r600: fix alpha-to-coverage and alpha-to-one used together
This change is inspired by b56f47611a ("radeonsi: fix
alpha-to-coverage + alpha-to-one used together for
gfx6-10.3") and implements the same algorithm.

This change was tested on rv770, palm and cayman. Here are the tests fixed:
spec/arb_framebuffer_object/execution/msaa-alpha-to-coverage_alpha-to-one: fail pass
spec/arb_framebuffer_object/execution/msaa-alpha-to-coverage_alpha-to-one_write-z: fail pass

Cc: mesa-stable
Signed-off-by: Patrick Lerda <patrick9876@free.fr>
(cherry picked from commit 7513f48edf)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:42 +02:00
David Rosca
342f9fb5da d3d12: Use HEVC RefPicSet order from frontend
It is correctly sorted in frontend since 779edc0759 ("frontends/va: Correctly derive HEVC StCurrBefore, StCurrAfter and LtCurr")

This fixes RefPicSetLtCurr order which was incorrectly sorted here.

Cc: mesa-stable
(cherry picked from commit 7a8721e95c)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:41 +02:00
Janne Grunau
64f8339209 nir/gather_info: clear interpolation qualifiers only in fragment stage
Asahi wants the the interpolation qualifiers from the shader info in the
vertex shader. Clear them only in the fragment stage so they can
propagate back.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/15288
Backport-to: 26.0
Fixes: a72704d0fb ("nir/gather_info: clear interpolation qualifiers before gathering")
Signed-off-by: Janne Grunau <j@jannau.net>
(cherry picked from commit 98a97cb413)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:41 +02:00
Vinson Lee
9dca8146b2 zink: remove unused variable in zink_instance.py
src/gallium/drivers/zink/zink_instance.c:34:9: warning: variable 'have_moltenvk_layer' set but not used [-Wunused-but-set-variable]

Fixes: 2b4fcf0a06 ("zink: generate instance creation code with a python script")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
(cherry picked from commit 5982deb48b)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41269>
2026-04-29 17:54:41 +02:00
Eric Guo
d6ef5d4882 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 <eric.guo@nxp.com>
Reviewed-by: Erik Faye-Lund <erik.faye-lund@collabora.com>
(cherry picked from commit c415134454)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:47 +02:00
Karol Herbst
1ed1dcb9db 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: 7487ac2046 ("rusticl/device: support query_memory_info to retrieve available memory")
(cherry picked from commit 58d45725c7)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:47 +02:00
Karol Herbst
b2b54a0194 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 97a137ac88)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:47 +02:00
Karol Herbst
6fa9e9b757 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 <marek.olsak@amd.com>
(cherry picked from commit 97ca375f51)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:47 +02:00
Vinson Lee
392b4ab6b2 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: fe48cd7c5a ("d3d12: Allow state promotion for non-simultaneous access textures")
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
(cherry picked from commit 2443f3608a)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:47 +02:00
Pavel Ondračka
18115a5df5 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: 2ff9fa8b72 ("gallium/u_blitter: add a new fs_color_clear variant")
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
(cherry picked from commit 79e3196320)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:46 +02:00
Olivia Lee
665974c934 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: 7819b103fa ("pan/bi: Add support for IDVS2 on Avalon")
Signed-off-by: Olivia Lee <olivia.lee@collabora.com>
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Eric R. Smith <eric.smith@collabora.com>
(cherry picked from commit 31ddfe26eb)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:46 +02:00
Samuel Pitoiset
55916383fc 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 <samuel.pitoiset@gmail.com>
(cherry picked from commit 4e00e1c3d0)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:46 +02:00
Valentine Burley
a9a9bc41c0 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 <valentine.burley@collabora.com>
(cherry picked from commit 17d38c9668)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:46 +02:00
Marc Alcala Prieto
6f6be1368a 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: 53f780ec91 ("panfrost: Remove progress_increment from all CS builders")
Reviewed-by: Lars-Ivar Hesselberg Simonsen <lars-ivar.simonsen@arm.com>
Reviewed-by: Christian Gmeiner <cgmeiner@igalia.com>
(cherry picked from commit 0d08b197f2)

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40979>
2026-04-14 15:27:46 +02:00