mesa/src/amd/vulkan
Konstantin Seurer 658ce711d5 radv/rt: Lower ray payloads to registers
This should allow for cross stage optimizations and it reduces latency
caused by scratch access.

Totals from 44 (9.69% of 454) affected shaders:
MaxWaves: 432 -> 436 (+0.93%)
Instrs: 2740662 -> 1610327 (-41.24%); split: -41.24%, +0.00%
CodeSize: 14616932 -> 8573620 (-41.34%)
VGPRs: 4880 -> 4816 (-1.31%)
SpillSGPRs: 464 -> 294 (-36.64%)
Latency: 18548886 -> 11465281 (-38.19%); split: -38.19%, +0.00%
InvThroughput: 5195964 -> 3066729 (-40.98%); split: -40.98%, +0.00%
VClause: 99672 -> 55611 (-44.21%)
SClause: 65827 -> 38697 (-41.21%)
Copies: 231231 -> 137676 (-40.46%); split: -40.47%, +0.01%
Branches: 111379 -> 65865 (-40.86%); split: -40.87%, +0.00%
PreSGPRs: 3854 -> 3812 (-1.09%); split: -1.19%, +0.10%
PreVGPRs: 4518 -> 4439 (-1.75%); split: -1.84%, +0.09%

Reviewed-by: Friedrich Vock <friedrich.vock@gmx.de>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26431>
2024-01-09 13:02:11 +00:00
..
bvh radv: Remove the BVH depth heuristics 2024-01-09 09:00:24 +00:00
layers radv/sqtt: Avoid duplicate stage check 2024-01-07 21:28:26 +01:00
meta radv: Implement T2T scanline copy workaround. 2024-01-08 16:00:15 +01:00
nir radv/rt: Lower ray payloads to registers 2024-01-09 13:02:11 +00:00
radix_sort amd: fix typos 2023-04-13 23:08:22 +00:00
tests radv: Add radv_nir_lower_hit_attrib_derefs_tests 2023-11-02 15:48:36 +00:00
winsys ac,radeonsi: require DRM 3.27+ (kernel 4.20+) same as RADV 2023-12-13 16:26:17 +00:00
.clang-format radv/clang-format: Do not indent C++ modifiers 2023-11-02 15:48:36 +00:00
.editorconfig radv: Update editorconfig. 2021-04-10 03:31:58 +02:00
meson.build radv: move radv_rt_{common,shader} files to nir/ 2024-01-03 09:40:29 +00:00
radv_acceleration_structure.c radv: Remove the BVH depth heuristics 2024-01-09 09:00:24 +00:00
radv_aco_shader_info.h aco: correctly set min/max_subgroup_size for wave32-as-wave64 2024-01-05 17:35:48 +00:00
radv_android.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_buffer.c radv: add support for VkBindMemoryStatusKHR 2024-01-03 11:24:27 +00:00
radv_buffer_view.c radv: move buffer view related code to radv_buffer_view.c 2023-12-19 09:48:35 +00:00
radv_check_va.py radv: add a Python script to check if a VA was ever valid 2020-12-30 08:40:21 +01:00
radv_cmd_buffer.c radv: don't emit cp dma packets on video rings. 2024-01-09 07:39:52 +00:00
radv_constants.h radv: move SI_GS_PER_ES to radv_constants.h 2023-12-19 09:48:35 +00:00
radv_cp_reg_shadowing.c radv: correctly return oom from the device when failing to create a cs 2023-10-27 15:29:32 +00:00
radv_cs.h ac: Remove CIK prefix from SDMA opcodes. 2023-11-18 17:11:00 +01:00
radv_debug.c radv/rt: Use radv_shader for compiled shaders 2024-01-07 21:28:19 +01:00
radv_debug.h radv: Expose transfer queues, hidden behind a perftest flag. 2024-01-08 16:00:19 +01:00
radv_descriptor_set.c util: Add align_uintptr and use it treewide to replace ALIGN that works on size_t and uintptr_t 2024-01-05 21:54:35 +00:00
radv_descriptor_set.h radv: move more descriptor related declarations to radv_descriptor_set.h 2023-12-19 09:48:34 +00:00
radv_device.c radv: drop si_ prefix from all functions 2024-01-04 08:40:37 +00:00
radv_device_generated_commands.c radv: add support for version 2 of all descriptor binding commands 2024-01-03 11:24:27 +00:00
radv_device_memory.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_event.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_formats.c Revert "radv: disable DCC with signedness reinterpretation on GFX11" 2024-01-08 08:02:58 +00:00
radv_image.c radv: stop disabling DCC for mutable with 0 formats on GFX11 2024-01-08 08:02:58 +00:00
radv_image_view.c radv: drop si_ prefix from all functions 2024-01-04 08:40:37 +00:00
radv_instance.c radv: Expose transfer queues, hidden behind a perftest flag. 2024-01-08 16:00:19 +01:00
radv_llvm_helper.cpp radv/clang-format: Do not indent C++ modifiers 2023-11-02 15:48:36 +00:00
radv_llvm_helper.h radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_nir_to_llvm.c radv: Rename radv_nir_compiler_options::robust_buffer_access to robust_buffer_access_llvm 2023-07-04 21:04:21 +01:00
radv_perfcounter.c radv: drop si_ prefix from all functions 2024-01-04 08:40:37 +00:00
radv_physical_device.c radv: Expose transfer queues, hidden behind a perftest flag. 2024-01-08 16:00:19 +01:00
radv_pipeline.c radv/rt: Use radv_shader for compiled shaders 2024-01-07 21:28:19 +01:00
radv_pipeline_cache.c radv/rt: Use radv_shader for compiled shaders 2024-01-07 21:28:19 +01:00
radv_pipeline_compute.c radv: remove unused code for compiling PS epilogs as part of pipelines 2023-12-06 08:01:46 +00:00
radv_pipeline_graphics.c radv: drop si_ prefix from all functions 2024-01-04 08:40:37 +00:00
radv_pipeline_rt.c radv/rt: Lower ray payloads to registers 2024-01-09 13:02:11 +00:00
radv_private.h radv: Remove the BVH depth heuristics 2024-01-09 09:00:24 +00:00
radv_query.c radv: drop si_ prefix from all functions 2024-01-04 08:40:37 +00:00
radv_queue.c radv: drop si_ prefix from all functions 2024-01-04 08:40:37 +00:00
radv_radeon_winsys.h radv/amdgpu: Separate the concept of residency from use_global_list. 2023-12-13 12:03:20 +00:00
radv_rmv.c radv/rmv: Fix tracing ray tracing pipelines 2024-01-08 19:29:13 +00:00
radv_rra.c radv/rra: Recognize LPDDR memory 2023-10-23 18:08:02 +00:00
radv_sampler.c radv: add radv_disable_trunc_coord option 2023-11-17 15:15:27 +00:00
radv_sdma.c radv: Implement T2T scanline copy workaround. 2024-01-08 16:00:15 +01:00
radv_sdma.h radv: Implement T2T scanline copy workaround. 2024-01-08 16:00:15 +01:00
radv_shader.c radv: enable msad_4x8 2024-01-05 18:55:22 +00:00
radv_shader.h radv/rt: Lower ray payloads to registers 2024-01-09 13:02:11 +00:00
radv_shader_args.c radv: add support for MRT compaction with PS epilogs 2023-12-14 09:51:26 +01:00
radv_shader_args.h radv,aco: declare PS epilog VGPR arguments for depth/stencil/samplemask 2023-12-06 11:49:31 +00:00
radv_shader_info.c radv: remove radv_shader_info's cs.subgroup_size 2024-01-05 17:35:48 +00:00
radv_spm.c radv: add SPM support for GFX11 2023-09-25 09:05:58 +02:00
radv_sqtt.c radv: drop si_ prefix from all functions 2024-01-04 08:40:37 +00:00
radv_video.c radv: drop si_ prefix from all functions 2024-01-04 08:40:37 +00:00
radv_wsi.c radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
si_cmd_buffer.c radv: drop si_ prefix from all functions 2024-01-04 08:40:37 +00:00
vk_format.h radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00