Commit graph

218263 commits

Author SHA1 Message Date
Rhys Perry
ec74e34672 aco: add return address to call_clobbered_regs
It's better for handle_call() to make sure these SGPRs are clear.

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39590>
2026-02-06 09:49:18 +00:00
Rhys Perry
837afd7faf aco: use Program::stack_ptr instead of Program::static_scratch_rsrc
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39590>
2026-02-06 09:49:17 +00:00
Rhys Perry
a6502b4a29 aco: use ABI::numClobbered() more
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39590>
2026-02-06 09:49:17 +00:00
Valentine Burley
541401c494 tu: Simplify cmd_buffer allocation
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Use the regular vk_zalloc/free functions without the redundant device
allocator fallback. vk_command_pool_init() always sets alloc to either
the user provided one or the device one.

Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39714>
2026-02-06 08:44:59 +00:00
Valentine Burley
a0404ed41e tu: Free cmd_buffer from its pool
Fixes: 4ecd2b136f ("tu: Allocate cmd_buffer from its pool")
Signed-off-by: Valentine Burley <valentine.burley@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39714>
2026-02-06 08:44:58 +00:00
Samuel Pitoiset
695cf07f8a radv: remove occurrences of VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR
This layout is illegal without VK_KHR_shared_presentable_image which
RADV doesn't support.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39717>
2026-02-06 07:37:23 +00:00
Samuel Pitoiset
f2d7d998a2 radv: track redundant PA_SC_VRS_OVERRIDE_CNTL register writes
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39675>
2026-02-06 07:15:10 +00:00
Samuel Pitoiset
f8153a7c20 radv: emit the VRS surface as part of the framebuffer state on GFX11+
No need to delay this and it slightly better for CPU overhead in the
hot draw path.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39675>
2026-02-06 07:15:10 +00:00
Georg Lehmann
5e2f28e723 nir: remove split unpack_half opcodes
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
9c80f3ae34 r600/sfn: remove unpack_half support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
e267a3cda2 r600/sfn: lower unpack_half to f2f32
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
e5e7fc17f9 r600/sfn: implement minimal 16bit f2f32 support
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
c45bcc2ba7 panfrost/compiler/bi: remove unpack_half support
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
ae4b34b9bd nouveau/codegen: remove support for unpack_half
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
81e3162cf8 microsoft/compiler: switch to a backend specific unpack half opcode
Sadly, just f2f32 isn't enough for dxil.

Reviewed-by: Jesse Natalie <jenatali@microsoft.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
d71db17e53 elk: remove unpack_half support
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
d8391d70fe elk/lower_storage_image: use f2f32 instead of unpack_half
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
e5f1e08f3e brw: remove unpack_half support
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
caf982218d brw/lower_storage_image: use f2f32 instead of unpack_half
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
1ee9eb8f82 asahi/compiler: remove unpack_half support
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
f414132399 broadcom/compiler: remove unpack_half support
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
d50f5387b4 broadcom/compiler: use f2f32 when lowering image load
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
36417f016e kk/compiler: remove unpack_half support
Acked-by: Arcady Goldmints-Orlov <arcady@lunarg.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
6f811a3d0f nak: remove unpack_half support
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
5dd35bf67e ac/llvm: remove unpack_half support
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
146779d16d aco: remove unpack_half support
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
45cb1d3b6f nir/opt_algebraic: remove unpack_half_2x16_split
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
5a2ef27f7d nir/format_convert: use f2f32 instead of unpack_half
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
a3bd2ae465 nir/opt_16bit_tex_image: remove unpack_half support
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
6f7d4cd75b nir/lower_tex: use f2f32 instead of unpack_half
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
609c46cf23 nir/lower_alu_width: emit f2f32 for unpack_half_2x16
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Georg Lehmann
b18d9c1b33 nir/opt_algebraic: optimize unpack_32_2x16 of extract
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39511>
2026-02-06 06:12:36 +00:00
Martin Roukala (né Peres)
b4b1aa6eb8 Revert "ci: disable the valve-kws farm"
This reverts commit c5b6ca794de14c0e16229c14b9172e66b9c1da1c now that
the network has apparently recovered.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39727>
2026-02-06 07:45:41 +02:00
Caio Oliveira
06251fcc24 brw/print: Don't print extra space at the end
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Caleb Callaway <caleb.callaway@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39597>
2026-02-06 01:00:31 +00:00
Dmitry Osipenko
2bcd7e0fcd crocus: Support virtio-gpu native context
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Add virtio-gpu native context support to Crocus driver.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29870>
2026-02-06 00:15:37 +00:00
Dmitry Osipenko
335d142dad crocus: Use intel_ioctl() consistently
Prepare Crocus code for addition of virtio native context support by
open-coding drm prime ioctls instead of using libdrm helpers and using the
intel_ioctl() helper. This is needed by virtio to be able to override the
ioctls implementation.

Suggested-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29870>
2026-02-06 00:15:37 +00:00
Dmitry Osipenko
7aa0917626 anv: Support virtio-gpu native context
Add virtio-gpu native context support to ANV driver.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29870>
2026-02-06 00:15:37 +00:00
Dmitry Osipenko
d6f36224eb iris: Support virtio-gpu native context
Add virtio-gpu native context support to Iris driver.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29870>
2026-02-06 00:15:37 +00:00
Dmitry Osipenko
652e33b829 iris: Open-code drm prime ioctls
Prepare Iris code for addition of virtio native context support by
open-coding drm prime ioctls instead of using libdrm helpers. This
is needed by virtio to be able to override the ioctls implementation.

Suggested-by: José Roberto de Souza <jose.souza@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Acked-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29870>
2026-02-06 00:15:37 +00:00
Dmitry Osipenko
b06d759a93 intel: Add virtio-gpu native context
Add virtio-intel native DRM context base preparatory code. Virtio-intel
works by passing ioctl's from guest to host for execution, utilizing
available VirtIO-GPU infrastructure.

This patch adds initial experimental native context support using i915
KMD UAPI.

Compile Mesa with -Dintel-virtio-experimental=true to enable virtio-intel
native context support.

Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Acked-by: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29870>
2026-02-06 00:15:37 +00:00
Dmitry Osipenko
59fc94ffd2 intel: Check for userptr UAPI presence
Check whether userptr UAPI presents and disable userptr features if not.
Kernel i915 driver has config option that disables userptr ioctl. The
ioctl also may not present in a case of virtio native context driver.

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29870>
2026-02-06 00:15:36 +00:00
Mauro Rossi
4d39741119 lavapipe: Fix gnu-empty-initializer error in NV_cooperative_matrix2 reductions
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Fixes the following building errors happening with clang:

FAILED: src/gallium/frontends/lavapipe/liblavapipe_st.a.p/nir_lvp_nir_lower_cooperative_matrix.c.o
...
../src/gallium/frontends/lavapipe/nir/lvp_nir_lower_cooperative_matrix.c:457:45: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   nir_def *comps[NIR_MAX_VEC_COMPONENTS] = {};
                                            ^
../src/gallium/frontends/lavapipe/nir/lvp_nir_lower_cooperative_matrix.c:506:45: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   nir_def *comps[NIR_MAX_VEC_COMPONENTS] = {};
                                            ^
2 errors generated.

Fixes: 2db1a624 ("lavapipe: add NV_cooperative_matrix2 reductions support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39652>
2026-02-05 23:59:12 +00:00
Mauro Rossi
2457e0caf3 lavapipe: Fix gnu-empty-initializer error in NV_cooperative_matrix2 conversions
Fixes the following building errors happening with clang:

FAILED: src/gallium/frontends/lavapipe/liblavapipe_st.a.p/nir_lvp_nir_lower_cooperative_matrix.c.o
...
../src/gallium/frontends/lavapipe/nir/lvp_nir_lower_cooperative_matrix.c:113:45: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   nir_def *comps[NIR_MAX_VEC_COMPONENTS] = {};
                                            ^
../src/gallium/frontends/lavapipe/nir/lvp_nir_lower_cooperative_matrix.c:114:49: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
   nir_def *out_comps[NIR_MAX_VEC_COMPONENTS] = {};
                                                ^
2 errors generated.

Fixes: 58f7fa3f ("lavapipe: add NV_cooperative_matrix2 conversions support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39652>
2026-02-05 23:59:12 +00:00
Timothy Arceri
da6c3ad237 nir: speedup nir_find_inlinable_uniforms()
Here we speedup nir_find_inlinable_uniforms() by making sure we only
check a src is inlinable once.

If we have a bunch of nested if-statements where the conditions keep
building on the alu chains of previous conditions we can end up
with exponential processing times due to repeatedly processing the
same srcs over and over.

A big cause of the exponential grow seems to be instructions like
`ffma %594, %594, %599` or `fmul %600, %600` where each essentially
causes us to process the entire previous part of the chain
twice.

Shaders such as that in issue #14663 took multiple minutes to
compile previously, calling collect_src_uniforms billions of times
and now compile within a second with this change.

Closes: mesa/mesa#14663

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39664>
2026-02-05 23:19:29 +00:00
Timothy Arceri
aaea962808 nir: update asserts in inline uniforms
collect_src_uniforms() is now only called internally and uni_offsets
should never be NULL.

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39664>
2026-02-05 23:19:29 +00:00
Timothy Arceri
0410377b63 nir: make nir_add_inlinable_uniforms() private
Hasn't been used externally since e93592dc62

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39664>
2026-02-05 23:19:28 +00:00
Timothy Arceri
257875034d nir: make nir_collect_src_uniforms() private
Hasn't been used externally since e93592dc62

Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39664>
2026-02-05 23:19:28 +00:00
Rudi Heitbaum
1acc96b8cb mesa: retain const qualifier from pointer
Since glibc-2.43:

For ISO C23, the functions bsearch, memchr, strchr, strpbrk, strrchr, strstr, wcschr, wcspbrk, wcsrchr, wcsstr and wmemchr that return pointers into their input arrays now have definitions as macros that return a pointer to a const-qualified type when the input argument is a pointer to a const-qualified type.

https://lists.gnu.org/archive/html/info-gnu/2026-01/msg00005.html

Resolves the following warnings:
    src/mesa/glapi/glapi/gen/enums.c: In function '_mesa_enum_to_string':
    src/mesa/glapi/glapi/gen/enums.c:7799:8: warning: assignment discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
     7799 |    elt = bsearch(& nr, enum_string_table_offsets,
          |        ^

    ../src/egl/main/egldispatchstubs.c: In function 'FindProcIndex':
    ../src/egl/main/egldispatchstubs.c:52:7: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
       52 |       bsearch(name, __EGL_DISPATCH_FUNC_NAMES, __EGL_DISPATCH_COUNT,
          |       ^~~~~~~

Signed-off-by: Rudi Heitbaum <rudi@heitbaum.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39707>
2026-02-05 22:01:56 +00:00
Rob Clark
7e8a61cd7b freedreno/decode: Emulate CP_MEM_WRITE
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
This will let us see actual cmdstream, in cases like FDM where
CP_MEM_WRITE is used for cmdstream patching.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39704>
2026-02-05 21:47:47 +00:00
Rob Clark
017d453525 freedreno/decode: Allow raw access to pm4 packets
In some cases, like CP_MEM_WRITE, the rest of the payload is just
dwords, not described in xml.  Allow raw access.

Signed-off-by: Rob Clark <rob.clark@oss.qualcomm.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39704>
2026-02-05 21:47:46 +00:00