mesa/src/amd/vulkan
Samuel Pitoiset a47952d495 radv: upload and emit dynamic descriptors separately from push constants
Dynamic descriptors are rarely used and this will allow to do more
optimizations for push constants, like gathering the size from shaders
themselves instead of using the pipeline layout.

fossils-db (GFX1201):
Totals from 21740 (27.30% of 79646) affected shaders:
Instrs: 11186407 -> 11192061 (+0.05%); split: -0.05%, +0.10%
CodeSize: 59842068 -> 59864412 (+0.04%); split: -0.04%, +0.08%
Latency: 56333136 -> 56325208 (-0.01%); split: -0.03%, +0.02%
InvThroughput: 8576452 -> 8576516 (+0.00%); split: -0.00%, +0.00%
SClause: 279186 -> 279713 (+0.19%); split: -0.06%, +0.25%
Copies: 577854 -> 581735 (+0.67%); split: -0.28%, +0.95%
PreSGPRs: 867163 -> 866409 (-0.09%)
SALU: 1391187 -> 1395055 (+0.28%); split: -0.12%, +0.39%

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/37768>
2025-10-14 15:34:43 +00:00
..
bvh radv/bvh: Encode empty AS bounds as NaN 2025-10-01 14:27:15 +00:00
layers radv/sqtt: Ensure that present fence gets signalled. 2025-09-18 14:58:39 +00:00
meta radv: Clarify image and image/buffer copy helper functions 2025-10-14 12:33:12 +00:00
nir radv: upload and emit dynamic descriptors separately from push constants 2025-10-14 15:34:43 +00:00
tests build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
winsys radv: enable the global BO list by default 2025-10-14 08:12:36 +00:00
.clang-format radv/clang-format: Do not indent C++ modifiers 2023-11-02 15:48:36 +00:00
.editorconfig
meson.build radv: lower embedded/immutable samplers earlier 2025-10-07 09:25:28 +00:00
radv_acceleration_structure.c radv,vulkan: Avoid a useless barrier in radv_update_bind_pipeline 2025-09-10 08:35:50 +00:00
radv_aco_shader_info.h aco, radv: remove line duplicate 2025-09-10 06:34:43 +00:00
radv_android.c radv: use AHARDWAREBUFFER_USAGE_CAMERA_MASK 2025-07-09 03:47:06 +00:00
radv_android.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_buffer.c Revert "radv,driconf: Add radv_force_64k_sparse_alignment config" 2025-06-13 06:43:47 +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: upload and emit dynamic descriptors separately from push constants 2025-10-14 15:34:43 +00:00
radv_cmd_buffer.h radv: upload and emit dynamic descriptors separately from push constants 2025-10-14 15:34:43 +00:00
radv_constants.h radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_cp_dma.c radv: Flush L2 before CP DMA copy/fill when CP DMA doesn't use L2 2025-09-13 05:18:28 +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: Add amd_ip_type to radv_cmd_stream 2025-10-14 12:33:13 +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 radv: Remove qf argument from radv_cs_emit_cache_flush 2025-10-14 12:33:18 +00:00
radv_cs.h radv: Remove qf argument from radv_cs_write_data (and _head) 2025-10-14 12:33:18 +00:00
radv_debug.c radv: replace radeon_cmdbuf by ac_cmdbuf completely 2025-10-08 18:00:15 +00:00
radv_debug.h radv: enable the global BO list by default 2025-10-14 08:12:36 +00:00
radv_debug_nir.c radv: Add RADV_DEBUG=validatevas for address validation in nir 2025-08-15 10:32:35 +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: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_descriptor_pool.h radv: move descriptor pool implementation to radv_descriptor_pool.c/h 2025-06-27 07:55:35 +00:00
radv_descriptor_set.c radv: reduce the combined image/sampler desc size on GFX11+ 2025-08-14 06:47:30 +00:00
radv_descriptor_set.h radv: split descriptor set and descriptor utils in separate files 2025-06-27 07:55:37 +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: Add amd_ip_type to radv_cmd_stream 2025-10-14 12:33:13 +00:00
radv_device.h radv: Use extra context for video encode queue with multiple VCN instances 2025-09-01 10:56:31 +00:00
radv_device_memory.c radv: Allocate BOs as implicit sync even if the WSI is doing implicit sync. 2025-10-10 19:17:04 +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 radv: Add amd_ip_type to radv_cmd_stream 2025-10-14 12:33:13 +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: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_event.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_formats.c radv: always return optimalDeviceAccess=TRUE for block-compressed formats 2025-10-14 10:14:45 +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,ac: Split has_tc_compat_zrange_bug into Z and ZS, document it 2025-10-02 08:29:49 +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 vulkan: Drop the driver_internal from vk_image_view_init/create() 2025-09-05 23:34:14 +00:00
radv_image_view.h radv: add a function to create an image view for HiZ surfaces 2025-08-12 13:48:09 +00:00
radv_instance.c radv: enable the global BO list by default 2025-10-14 08:12:36 +00:00
radv_instance.h radv: disable radv_disable_hiz_his_gfx12 for Mafia Definition Edition 2025-09-11 15:21:50 +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: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_nir_to_llvm.c ac/llvm: remove unused ballot size 2025-09-14 13:21:20 +00:00
radv_nir_to_llvm.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_perfcounter.c radv: Remove qf from radv_spm/sqtt/perfcounter where applicable 2025-10-14 12:33:20 +00:00
radv_perfcounter.h radv: Remove qf from radv_spm/sqtt/perfcounter where applicable 2025-10-14 12:33:20 +00:00
radv_physical_device.c radv: fix expected disk cache size for meta shaders 2025-10-07 12:50:41 +00:00
radv_physical_device.h radv: allow to select a different HiZ workaround on GFX12 2025-09-01 07:02:24 +00:00
radv_pipeline.c radv: move nir_opt_algebraic loop for NGG culling earlier 2025-10-08 08:54:11 +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 build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
radv_pipeline_binary.h radv: add initial support for pipeline binaries 2024-09-10 08:19:52 +00:00
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: rename indirect_descriptor_sets to indirect_descriptors 2025-10-10 13:22:03 +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: fix shaders memleak when importing pipeline binaries with GPL 2025-10-14 06:54:02 +00:00
radv_pipeline_graphics.h radv: pre-compute vgt_outprim_type 2025-09-15 19:10:39 +00:00
radv_pipeline_layout.c radv: move pipeline layout implementation to radv_pipeline_layout.c/h 2025-06-25 07:52:12 +00:00
radv_pipeline_layout.h radv: move pipeline layout implementation to radv_pipeline_layout.c/h 2025-06-25 07:52:12 +00:00
radv_pipeline_rt.c radv: Fixes warning implicit conversion from enum type 2025-08-20 11:39:19 +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: Remove qf argument from radv_cp_wait_mem 2025-10-14 12:33:16 +00:00
radv_query.h radv: re-run clang-format 2025-07-16 09:10:33 +02:00
radv_queue.c radv: Remove qf argument from radv_cs_write_data (and _head) 2025-10-14 12:33:18 +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: replace radeon_cmdbuf by ac_cmdbuf completely 2025-10-08 18:00:15 +00:00
radv_rmv.c radv: remove unnecessary radv_graphics_pipeline::is_ngg 2025-09-02 06:18:05 +00:00
radv_rmv.h radv/rmv: fix image binds logging for disjoint images 2024-04-10 11:23:40 +00:00
radv_rra.c build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +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: Store parent node IDs inside nodes on GFX12 2025-08-15 13:00:32 +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: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_sdma.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_shader.c radv: declare a new user SGPR for dynamic descriptors 2025-10-14 15:34:43 +00:00
radv_shader.h radv: rename indirect_descriptor_sets to indirect_descriptors 2025-10-10 13:22:03 +00:00
radv_shader_args.c radv: declare a new user SGPR for dynamic descriptors 2025-10-14 15:34:43 +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: upload and emit dynamic descriptors separately from push constants 2025-10-14 15:34:43 +00:00
radv_shader_info.h radv: rename indirect_descriptor_sets to indirect_descriptors 2025-10-10 13:22:03 +00:00
radv_shader_object.c radv: add varying subgroup size to shader stage key 2025-09-14 13:21:20 +00:00
radv_shader_object.h all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08:00
radv_spm.c radv: Remove qf from radv_spm/sqtt/perfcounter where applicable 2025-10-14 12:33:20 +00: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 radv: Remove qf from radv_spm/sqtt/perfcounter where applicable 2025-10-14 12:33:20 +00:00
radv_sqtt.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_video.c radv/video: Report extra image usages 2025-10-06 21:27:48 +00:00
radv_video.h radv/video: Fix waiting on encode feedback query 2025-10-06 10:32:54 +00:00
radv_video_enc.c radv/video: Fix waiting on encode feedback query 2025-10-06 10:32:54 +00:00
radv_wsi.c vulkan/wsi: Make get_blit_queue return a struct vk_queue * 2025-08-22 23:05:03 +00:00
radv_wsi.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00