Pierre-Eric Pelloux-Prayer
79ebbf587e
ac: remove ac_null_device
...
Prefer AMDGPU shim.
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40656 >
2026-04-14 12:06:12 +00:00
Samuel Pitoiset
d39d846cfa
radv/ci: set RADV_EXPERIMENTAL=heap
...
Current VKCTS main doesn't have any tests for that, but next uprev
should contain a bunch and using that envvar will allow us to catch
them easily.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:29 +00:00
Samuel Pitoiset
f4f2a966e3
radv: advertise VK_EXT_descriptor_heap with RADV_EXPERIMENTAL=heap
...
It's not yet enabled by default because it's quite a big extension
and I expect bugs because test coverage isn't very good. It will be
enabled by default in one or two Mesa releases when it's more stable.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:29 +00:00
Samuel Pitoiset
67ae52cdc2
radv: add support for DGC with descriptor heap
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
17ed105a9b
radv: flush caches with descriptor heap access flags
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
ef03ca8dab
radv: add support for inherited descriptor heap for secondaries
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
5df943629d
radv: add support for capture&replay with descriptor heap
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
7ebf99362d
radv: implement vkGetPhysicalDeviceDescriptorSizeEXT()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
d557f21bb6
radv: implement vkCmdPushDataEXT()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:28 +00:00
Samuel Pitoiset
5704ad905d
radv: add support for emitting descriptor heaps
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:27 +00:00
Samuel Pitoiset
86e8d171fc
radv: implement vkCmdBind{Resource,Sampler}HeapEXT()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:26 +00:00
Samuel Pitoiset
7e63a2050b
radv: implement vkWrite{Resource,Sampler}DescriptorsEXT()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:26 +00:00
Samuel Pitoiset
7da95418a5
radv: copy mapping info for graphics pipeline libraries
...
In case only SPIR-V only is imported.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:26 +00:00
Samuel Pitoiset
aeda29c8f7
radv: allow to create pipelines with a NULL pipeline layout
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:26 +00:00
Samuel Pitoiset
65415b1c89
radv: set descriptor heap sizes/alignments for VTN
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
652af97f8b
radv/nir: lower descriptor heap in radv_nir_lower_descriptors
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
8588ddf0df
radv/nir: rename radv_nir_apply_pipeline_layout
...
to radv_nir_lower_descriptors. This is more generic and descriptor
heap support will be added to the same pass.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
0f2f9a9045
radv/nir: adjust lowering of immediate samplers for descriptor heap
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
a44303ff11
radv/nir: adjust lowering of ycbcr tex instructions for descriptor heap
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:25 +00:00
Samuel Pitoiset
54e2a1d2e4
radv: call vk_nir_lower_descriptor_heaps()
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:24 +00:00
Samuel Pitoiset
eac2c1f141
radv: keep track of descriptor heap mapping in the shader layout
...
This will be used by the common lowering.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:24 +00:00
Samuel Pitoiset
cebac5a427
radv/rt: declare shader arguments for resource/sampler heaps
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:24 +00:00
Samuel Pitoiset
cdfb9a24ba
radv: declare shader arguments for resource/sampler heaps
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
b29743f91c
radv: add shader info about whether descriptor heap is used
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
62629d3e3c
radv: use 32-bit memory types for descriptor heap buffers
...
Descriptors must be allocated in the 32-bit addr space.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
e81c375b4a
radv: make radv_make_sampler_descriptor() non-static
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
1f15a71afe
radv: add support for custom border colors with descriptor heap
...
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:23 +00:00
Samuel Pitoiset
8da71ae5a2
radv: add a new helper to make a sampler descriptor
...
For future work.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:22 +00:00
Samuel Pitoiset
afd736bfd7
radv: zero-allocate graphics shader stages
...
This can prevent issues with unitialized memory. RT and compute
stages are already zero-initialized.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39483 >
2026-04-14 10:10:22 +00:00
Mike Blumenkrantz
9ff879441f
radv: handle null pCounterBuffers with xfb binds
...
this is legal
cc: mesa-stable
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40892 >
2026-04-13 14:59:55 +00:00
Georg Lehmann
8d52c3840b
radv: do not remove point size variable
...
This is now done later on lowered io.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40907 >
2026-04-13 10:58:01 +00:00
Georg Lehmann
e1e476e618
radv: remove point size in lowered io
...
We only need to deal with the fixed function last vertex stage case,
for prior stages nir_opt_varyings is enough.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40907 >
2026-04-13 10:58:01 +00:00
Georg Lehmann
21bdc7105d
radv: clarify that copy prop is required for correctness after D16 opt
...
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/work_items/14854
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40871 >
2026-04-12 17:54:48 +00:00
Georg Lehmann
51ba9b956a
aco: use no contract/reassoc instead of exact
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40872 >
2026-04-12 17:10:29 +00:00
Georg Lehmann
b0194d0416
aco/tests: fix med3 NaN tests
...
Reviewed-by: Rhys Perry <pendingchaos02@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40872 >
2026-04-12 17:10:28 +00:00
Konstantin Seurer
db38d1a98c
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 <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39655 >
2026-04-12 17:53:05 +02:00
Konstantin Seurer
01156c0697
vulkan: Init all update scratch at once
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39752 >
2026-04-11 13:04:39 +00:00
Konstantin Seurer
50b1becdde
vulkan: move internal_node_count to vk_acceleration_structure_build_state
...
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39752 >
2026-04-11 13:04:38 +00:00
Mauro Rossi
434e9ba847
radv: Fix gnu-empty-initializer error in prolog_stage
...
Fixes the following building error happening with clang:
FAILED: src/amd/vulkan/libvulkan_radeon.so.p/radv_pipeline_rt.c.o
...
../src/amd/vulkan/radv_pipeline_rt.c:1050:44: error: use of GNU empty initializer extension [-Werror,-Wgnu-empty-initializer]
struct radv_shader_stage prolog_stage = {};
^
1 error generated.
Fixes: afe51940 ("radv: Rewrite the RT prolog in NIR")
Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40893 >
2026-04-10 20:59:24 +00:00
David Rosca
33ab9087c8
radv/video: Remove unused function radv_vcn_sq_start
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
Not used since 19a8b7121e ("radv/video: Remove old VCN and UVD decode implementation")
Reviewed-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40888 >
2026-04-10 17:24:56 +00:00
Raviraj Uppal
c5423d3e27
ac/nir: Fixed OpenGL CTS transform feedback overflow detection test case
...
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
The ordered atomic commits the post-add offset to memory, but overflow was computed using the pre-add offset, causing partial overflows to be missed and counters to become corrupted.
Fixes: "KHR-GL46.transform_feedback_overflow_query_ARB.multiple-streams-one-buffer-per-stream" based on the postwrite buffer offset, rather than the offset before the current workgroups writes.
Reviewed-by: Marek Olsak <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40745 >
2026-04-10 15:43:21 +00:00
Rhys Perry
1619288a19
aco: ignore copykill+latekill operands in get_temp_reg_changes
...
This is possible with two vectors which share a temporary, though I don't
think it currently happens in practice.
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/40825 >
2026-04-10 10:34:45 +00:00
Daniel Schürmann
8cb8c710fb
aco: remove remaining occurences of block_kind_continue
...
It has no purpose anymore.
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40628 >
2026-04-10 08:51:39 +00:00
Daniel Schürmann
74661ccec2
aco/lower_branches: remove handling of block_kind_continue
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40628 >
2026-04-10 08:51:39 +00:00
Daniel Schürmann
7f0709cff5
aco/opt_value_numbering: remove handling of block_kind_continue
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40628 >
2026-04-10 08:51:39 +00:00
Daniel Schürmann
a8c4b9f100
aco/lower_phis: remove handling of block_kind_continue
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40628 >
2026-04-10 08:51:39 +00:00
Daniel Schürmann
16396f2ce6
aco/insert_exec_mask: remove handling of loop continues
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40628 >
2026-04-10 08:51:39 +00:00
Daniel Schürmann
495c7271a3
aco/isel: remove handling of nir_jump_continue
...
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40628 >
2026-04-10 08:51:39 +00:00
Daniel Schürmann
5e89be331f
aco/lower_branches: Fix try_rotate_latch_block()
...
Found by inspection.
Fixes: 97f095f6e0 ('aco/lower_branches: Add try_rotate_latch_block() optimization')
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40628 >
2026-04-10 08:51:39 +00:00
Daniel Schürmann
60b3e5b3f0
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
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/40628 >
2026-04-10 08:51:39 +00:00