mesa/src/amd/vulkan
Konstantin Seurer 405c93c665
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
radv: Optimize BVH4 acceleration structure updates
It is more efficient to compute the child index of the current node
inside the parent node and write the bounds when available. The previous
code could load up to 16 AABBs to compute the new ones. The new code
also only needs 1/7 of the previously used scratch memory. The new code
seems to be around 30% faster (0.5ms) in GOTG on a 6700XT.

Reviewed-by: Natalie Vock <natalie.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/39139>
2026-01-05 15:24:54 +00:00
..
bvh radv: Optimize BVH4 acceleration structure updates 2026-01-05 15:24:54 +00:00
layers radv: remove precomputed registers from radv_shader_binary 2025-12-17 08:16:06 +00:00
meta radv: Use compute for transfer operations unsupported by SDMA 2026-01-02 04:32:06 +00:00
nir radv: Lower 64-bit VS inputs to 32-bit 2026-01-01 17:44:40 -06:00
tests treewide: Use regexp to replace usage of setenv with os_set_option. 2025-11-27 18:22:34 +00:00
winsys/amdgpu radv/amdgpu: Add ability to pad BOs with a read-only VM page 2026-01-02 23:42:16 +00:00
.clang-format
.editorconfig
meson.build radv: eliminate unused FS output channels 2025-12-12 17:00:51 +00:00
radv_acceleration_structure.c radv: Optimize BVH4 acceleration structure updates 2026-01-05 15:24:54 +00:00
radv_aco_shader_info.h aco: add ac_cu_info to aco_compiler_options 2025-12-22 07:34:46 +00:00
radv_android.c radv: use AHARDWAREBUFFER_USAGE_CAMERA_MASK 2025-07-09 03:47:06 +00:00
radv_android.h
radv_buffer.c radv: Mitigate GFX6-7 SMEM bug for robust OOB access 2026-01-02 23:42:16 +00:00
radv_buffer.h radv: switch to device address from vk_buffer 2025-03-06 09:46:01 +00:00
radv_buffer_view.c radv: Remove offset parameter from radv_make_texel_buffer_descriptor. 2025-05-02 09:13:14 +00:00
radv_buffer_view.h radv: Remove offset parameter from radv_make_texel_buffer_descriptor. 2025-05-02 09:13:14 +00:00
radv_check_va.py radv: Add sparse mappings to radv_check_va.py. 2024-11-29 12:57:42 +00:00
radv_cmd_buffer.c radv: use ac_set_sx_downconvert_state_for_mrt 2026-01-02 16:46:20 +00:00
radv_cmd_buffer.h radv: Declare some gang submit functions in radv private header. 2025-12-23 12:14:59 +00:00
radv_constants.h radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_cp_dma.c radv: remove unreachable code for prefetch in radv_cs_emit_cp_dma() 2025-11-19 08:03:38 +00:00
radv_cp_dma.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_cp_reg_shadowing.c radv: use radv_buffer_get_va() more 2025-10-27 07:56:44 +00:00
radv_cp_reg_shadowing.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_cs.c ac,radv: add ac_cmdbuf::context_roll and use it 2025-12-17 15:09:26 +00:00
radv_cs.h ac,radv,radeonsi: add tracked register macros to common code 2025-12-17 15:09:26 +00:00
radv_debug.c radv: rename RADEON_FLAG_VA_UNCACHED to RADEON_FLAG_GL2_BYPASS 2025-12-16 07:17:08 +00:00
radv_debug.h radv: Mitigate GFX6-7 SMEM bug for NULL and mutable descriptors 2026-01-02 23:42:16 +00:00
radv_debug_nir.c treewide: use UTIL_DYNARRAY_INIT 2025-11-04 13:39:48 +00:00
radv_debug_nir.h radv: Add RADV_DEBUG=validatevas for address validation in nir 2025-08-15 10:32:35 +00:00
radv_descriptor_pool.c radv: fix resetting descriptor pool since the new descriptor sets allocator 2025-11-26 09:09:13 +00:00
radv_descriptor_pool.h radv: implement a new descriptor sets allocator 2025-10-24 06:25:17 +00:00
radv_descriptor_set.c radv: implement a new descriptor sets allocator 2025-10-24 06:25:17 +00:00
radv_descriptor_set.h radv: implement a new descriptor sets allocator 2025-10-24 06:25:17 +00:00
radv_descriptor_update_template.c radv: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_descriptor_update_template.h radv: move descriptor update implementation to radv_descriptor_update_template.c/h 2025-06-27 07:55:37 +00:00
radv_descriptors.c radv: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_descriptors.h radv: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_device.c radv: Mitigate GFX6-7 SMEM bug for NULL and mutable descriptors 2026-01-02 23:42:16 +00:00
radv_device.h radv: Use zero-filled BO for GFX6 and GFX10 null index buffer bug 2025-12-15 21:03:19 +00:00
radv_device_memory.c radv: rename RADEON_FLAG_VA_UNCACHED to RADEON_FLAG_GL2_BYPASS 2025-12-16 07:17:08 +00:00
radv_device_memory.h radv: add import and export handle_type in radv_alloc_memory 2025-03-03 08:26:51 +00:00
radv_dgc.c ac,radv,radeonsi: add functions to initialize tracked regs 2025-12-17 15:09:25 +00:00
radv_dgc.h radv: Remove unneeded forward declaration of qf from dgc header 2025-10-14 12:33:19 +00:00
radv_event.c radv: rename RADEON_FLAG_VA_UNCACHED to RADEON_FLAG_GL2_BYPASS 2025-12-16 07:17:08 +00:00
radv_event.h
radv_formats.c radv: Check RADV_PERFTEST=sparse for image formats and sparse queue 2025-11-26 13:12:27 +00:00
radv_formats.h build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
radv_host_image_copy.c radv: implement vkTransitionImageLayout() 2025-07-15 09:12:16 +00:00
radv_image.c radv: add new drirc radv_prefer_2d_swizzle_for_3d_storage 2026-01-02 09:54:29 +00:00
radv_image.h radv,ac: Split has_tc_compat_zrange_bug into Z and ZS, document it 2025-10-02 08:29:49 +00:00
radv_image_view.c radv: create descriptors for color/depth-stencil surfaces earlier 2025-12-17 11:11:18 +00:00
radv_image_view.h radv: create descriptors for color/depth-stencil surfaces earlier 2025-12-17 11:11:18 +00:00
radv_instance.c radv: Mitigate GFX6-7 SMEM bug for NULL and mutable descriptors 2026-01-02 23:42:16 +00:00
radv_instance.h radv: add new drirc radv_prefer_2d_swizzle_for_3d_storage 2026-01-02 09:54:29 +00:00
radv_llvm_helper.cpp amd,radeonsi: reduce legacy::PassManager use to only run backend passes 2024-10-05 09:10:06 +00:00
radv_llvm_helper.h
radv_nir_to_llvm.c radv: use CU mode when LDS is used 2025-10-15 13:37:48 +01:00
radv_nir_to_llvm.h
radv_perfcounter.c ac/gpu_info: move some CU information into separate struct ac_cu_info 2025-12-22 07:34:44 +00:00
radv_perfcounter.h ac,radv,radeonsi: add more SPM helpers to common code 2025-11-24 08:05:08 +00:00
radv_physical_device.c radv: Mitigate GFX6-7 SMEM bug for NULL and mutable descriptors 2026-01-02 23:42:16 +00:00
radv_physical_device.h radv: Mitigate GFX6-7 SMEM bug for NULL and mutable descriptors 2026-01-02 23:42:16 +00:00
radv_pipeline.c radv: Mitigate GFX6-7 SMEM bug for robust OOB access 2026-01-02 23:42:16 +00:00
radv_pipeline.h radv: rename indirect_descriptor_sets to indirect_descriptors 2025-10-10 13:22:03 +00:00
radv_pipeline_binary.c treewide: use UTIL_DYNARRAY_INIT 2025-11-04 13:39:48 +00:00
radv_pipeline_binary.h
radv_pipeline_cache.c radv: Add RADV_DEBUG=validatevas for address validation in nir 2025-08-15 10:32:35 +00:00
radv_pipeline_cache.h radv: remove unused forwarded declarations of pipeline layout 2025-08-18 07:25:34 +00:00
radv_pipeline_compute.c radv: gather push constant size from shaders for pipelines 2025-10-23 07:25:41 +00:00
radv_pipeline_compute.h radv: rename indirect_descriptor_sets to indirect_descriptors 2025-10-10 13:22:03 +00:00
radv_pipeline_graphics.c radv: Remove radv_remove_varyings. 2026-01-01 21:26:26 -06:00
radv_pipeline_graphics.h radv: pre-compute vgt_outprim_type 2025-09-15 19:10:39 +00:00
radv_pipeline_layout.c radv: remove radv_pipeline_layout::push_constant_size 2025-10-23 07:25:41 +00:00
radv_pipeline_layout.h radv: remove radv_pipeline_layout::push_constant_size 2025-10-23 07:25:41 +00:00
radv_pipeline_rt.c radv/rt: Refactor and split radv_nir_rt_shader.c 2025-12-08 18:29:49 +00:00
radv_pipeline_rt.h all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08:00
radv_query.c radv/video: Only use write_memory for encode feedback with full support 2025-11-03 08:39:59 +00:00
radv_query.h radv: re-run clang-format 2025-07-16 09:10:33 +02:00
radv_queue.c radv: Mitigate GFX6-7 SMEM bug for NULL and mutable descriptors 2026-01-02 23:42:16 +00:00
radv_queue.h radv: replace radeon_cmdbuf by ac_cmdbuf completely 2025-10-08 18:00:15 +00:00
radv_radeon_winsys.h radv/amdgpu: Add ability to pad BOs with a read-only VM page 2026-01-02 23:42:16 +00:00
radv_rmv.c amd: restrict radeon_info::marketing_name to 64 characters and copy it 2025-11-24 12:34:08 +00:00
radv_rmv.h
radv_rra.c amd: restrict radeon_info::marketing_name to 64 characters and copy it 2025-11-24 12:34:08 +00:00
radv_rra.h radv/rra: Increase rra_validation_context::location 2025-07-22 14:40:33 +00:00
radv_rra_gfx10_3.c radv/rra: Only write used BLAS 2025-07-22 14:40:33 +00:00
radv_rra_gfx12.c radv/rra/gfx12: Fix primitive/geometry index validation 2025-12-11 16:25:59 +00:00
radv_sampler.c radv: Actually fail custom border color sampler creation. 2025-10-10 14:25:54 +00:00
radv_sampler.h radv: fix capture/replay with sampler border color 2025-09-12 06:51:51 +00:00
radv_sdma.c radv: Use compute copy for emulated formats 2026-01-02 04:32:06 +00:00
radv_sdma.h radv: Add function to determine if SDMA supports an image. 2025-12-23 12:14:58 +00:00
radv_shader.c ac/gpu_info: move some CU information into separate struct ac_cu_info 2025-12-22 07:34:44 +00:00
radv_shader.h radv: remove precomputed registers from radv_shader_binary 2025-12-17 08:16:06 +00:00
radv_shader_args.c radv,aco: wait for all VMEM loads when the prolog loads large 64-bit attributes 2025-11-05 07:26:45 +00:00
radv_shader_args.h radv: declare a new user SGPR for dynamic descriptors 2025-10-14 15:34:43 +00:00
radv_shader_info.c radv: gather color0_written with scalar io correctly 2025-12-12 17:00:51 +00:00
radv_shader_info.h radv: remove precomputed registers from radv_shader_binary 2025-12-17 08:16:06 +00:00
radv_shader_object.c treewide: Replace calling to function ALIGN with align 2025-11-12 21:58:40 +00:00
radv_shader_object.h radv: gather push constant size from shaders for ESO 2025-10-23 07:25:41 +00:00
radv_spm.c radv: increase the reserved CS space size for SPM 2026-01-02 09:27:20 +01:00
radv_spm.h radv: Remove qf from radv_spm/sqtt/perfcounter where applicable 2025-10-14 12:33:20 +00:00
radv_sqtt.c amd,radv,radeonsi: add a new function to update windowed perf counters 2025-12-24 07:20:01 +00:00
radv_sqtt.h amd,radv,radeonsi: add ac_emit_cp_spi_config_cntl() 2025-10-23 08:29:27 +00:00
radv_video.c radv/video: Enable write combine for decode 2025-12-18 15:25:57 -05:00
radv_video.h radv/video: Move probability table filling to bind 2025-12-15 18:49:28 +00:00
radv_video_enc.c radv/video: Move probability table filling to bind 2025-12-15 18:49:28 +00:00
radv_wsi.c radv: fix race condition when getting the blit queue 2025-12-11 11:16:29 +00:00
radv_wsi.h