mesa/src/amd/vulkan/layers
Samuel Pitoiset f0b3a6f9d4 radv: rework command buffer emission with begin/end sequences
A begin/end sequence is something like (it's all macros based):

   radeon_begin(cs);
   radeon_emit(PKT3(PKT3_DRAW_INDEX_AUTO, 1, cmd_buffer->state.predicating));
   radeon_emit(vertex_count);
   radeon_emit(V_0287F0_DI_SRC_SEL_AUTO_INDEX | use_opaque);
   radeon_end();

This is loosely based on RadeonSI (see !8653 (a0978fff)) and it seems
indeed faster overall.

The main goal of this rework is to re-use the same logic as RadeonSI
for paired packets on GFX12 (also GFX11 dGPUs) because it's supposed
to be way faster, especially on GFX12 where the CP is slow. The other
goal is to share more cmdbuf emission between both drivers in the near
future.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34229>
2025-04-01 06:18:28 +00:00
..
meson.build build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
radv_annotate_layer_gen.py radv: don't use python 3.9 feature in radv_annotate_layer_gen.py 2024-04-23 22:45:51 +00:00
radv_ctx_roll_layer.c radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_metro_exodus.c radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_quantic_dream.c radv: promote VK_KHR_map_memory2 to core 1.4 API 2024-12-03 10:21:55 +00:00
radv_rage2.c radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_rmv_layer.c radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_rra_layer.c vulkan/runtime: rely on vk_buffer::device_address 2025-03-13 14:44:06 +00:00
radv_sqtt_layer.c radv: rework command buffer emission with begin/end sequences 2025-04-01 06:18:28 +00:00