Daniel Schürmann
e5bd9cbf90
nir/opt_load_store_vectorize: use linear allocator instead of ralloc
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39373 >
2026-02-06 10:16:49 +00:00
Rhys Perry
53ed863b88
aco/insert_waitcnt: improve s_setpc_b64/s_swappc_b64/end_with_regs a bit
...
Don't wait for any events which don't involve registers.
fossil-db (navi31):
Totals from 210 (0.25% of 84369) affected shaders:
Instrs: 106932 -> 106677 (-0.24%)
CodeSize: 604164 -> 603144 (-0.17%)
Latency: 726405 -> 720433 (-0.82%)
InvThroughput: 102048 -> 101504 (-0.53%); split: -0.54%, +0.00%
Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-by: Daniel Schürmann <daniel@schuermann.dev>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39590 >
2026-02-06 09:49:20 +00:00
Rhys Perry
63b18e9e5b
aco: move return address to a clobbered register
...
It's placed in the preserved registers, but the p_call clobbers it, so
this change removes some special casing.
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:19 +00:00
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
...
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
...
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
...
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
...
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
...
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