mesa/src/amd/vulkan
Tatsuyuki Ishi 0cde42a506 radv: Wait for shader uploads asynchronously.
This introduces tracking of the required semaphore values in pipelines,
which is then propagated to cmd_buffers on bind. Each queue also keeps
track the maximum count it has waited for, so that we can avoid the waiting
overhead once all the shaders are loaded and referenced.

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16271>
2023-03-16 18:02:57 +00:00
..
bvh radv/bvh: Add a shader for filling the header 2023-02-24 15:14:40 +00:00
layers radv: Wait for shader uploads asynchronously. 2023-03-16 18:02:57 +00:00
radix_sort meson: do not use source_root() when possible 2022-11-22 06:11:07 +00:00
winsys radv/amdgpu: only set a new pstate if the current one is different 2023-02-17 11:36:06 +00:00
.editorconfig radv: Update editorconfig. 2021-04-10 03:31:58 +02:00
meson.build radv: move device memory related code to radv_device_memory.c 2023-03-08 16:21:10 +00:00
radv_acceleration_structure.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_aco_shader_info.h aco, radv: Remove VS IO information from ACO. 2023-03-15 14:54:28 +00:00
radv_android.c vulkan: Use static_assert for check HWVULKAN_DISPATCH_MAGIC == ICD_LOADER_MAGIC 2023-02-10 07:21:31 +00:00
radv_buffer.c radv: move buffer related code to radv_buffer.c 2023-03-08 16:21:10 +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: Wait for shader uploads asynchronously. 2023-03-16 18:02:57 +00:00
radv_constants.h radv: Upload shaders to invisible VRAM on small BAR systems. 2023-03-16 18:02:57 +00:00
radv_cp_reg_shadowing.c radv: add support for register shadowing 2023-01-25 04:53:34 +00:00
radv_cs.h amd: massively simplify how info->spi_cu_en is applied 2023-03-03 00:41:48 +00:00
radv_debug.c radv: Replace radv_trap_handler_shader with radv_shader. 2023-03-01 05:12:10 +00:00
radv_debug.h radv: Upload shaders to invisible VRAM on small BAR systems. 2023-03-16 18:02:57 +00:00
radv_descriptor_set.c radv: do not add descriptor BOs on update when the global BO list is used 2023-03-07 07:30:29 +00:00
radv_descriptor_set.h radv: Use common ycbcr conversion lowering 2023-02-06 18:36:29 +00:00
radv_device.c radv: Upload shaders to invisible VRAM on small BAR systems. 2023-03-16 18:02:57 +00:00
radv_device_generated_commands.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_device_memory.c radv: set RADEON_FLAG_GTT_WC for external mem on vram 2023-03-09 22:21:09 +00:00
radv_event.c radv: move event related code to radv_event.c 2023-03-08 16:21:10 +00:00
radv_formats.c radv: disable DCC with signedness reinterpretation on GFX11 2023-03-08 11:53:25 +00:00
radv_image.c radv: set RADEON_SURF_NO_TEXTURE flag in radv_get_surface_flags() 2023-03-15 12:25:33 +00:00
radv_instance.c radv: Upload shaders to invisible VRAM on small BAR systems. 2023-03-16 18:02:57 +00:00
radv_llvm_helper.cpp radv: Rename radv_shader_helper.h to radv_llvm_helper.h 2021-10-01 10:40:18 +02:00
radv_llvm_helper.h radv: Rename radv_shader_helper.h to radv_llvm_helper.h 2021-10-01 10:40:18 +02:00
radv_meta.c radv: Pre-compile BVH build shaders if there is a cache 2023-02-17 17:04:47 +00:00
radv_meta.h radv: Force ACO for BVH build shaders 2023-02-17 17:04:47 +00:00
radv_meta_blit.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_blit2d.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_buffer.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_bufimage.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_clear.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_copy.c radv: Use radeon_cmdbuf for sdma_copy_image. 2023-03-16 18:02:56 +00:00
radv_meta_copy_vrs_htile.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_dcc_retile.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_decompress.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_etc_decode.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_fast_clear.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_fmask_copy.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_fmask_expand.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_resolve.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_resolve_cs.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_meta_resolve_fs.c radv: remove is_internal pipeline creation parameter 2023-03-02 16:48:09 +00:00
radv_nir_apply_pipeline_layout.c radv: load ssbo_atomic_fadd descriptor 2023-01-17 17:39:15 +00:00
radv_nir_lower_abi.c radv: Emulate VGT_ESGS_ITEMSIZE in shaders on GFX9+. 2023-03-03 20:15:10 +00:00
radv_nir_lower_ray_queries.c radv/rt: Pre shift cull_mask 2023-02-26 12:58:13 +00:00
radv_nir_lower_vs_inputs.c radv: Apply swizzle and alpha adjust in radv_nir_lower_vs_inputs. 2023-03-15 14:54:27 +00:00
radv_nir_to_llvm.c radv: Remove VS inputs code from LLVM backend. 2023-03-15 14:54:28 +00:00
radv_perfcounter.c radv: Fixes prototypes 2022-11-11 05:38:19 +00:00
radv_physical_device.c radv: move physical device related code to radv_physical_device.c 2023-03-08 16:21:10 +00:00
radv_pipeline.c radv: Wait for shader uploads asynchronously. 2023-03-16 18:02:57 +00:00
radv_pipeline_cache.c radv/rt: Use vk_pipeline_hash_shader_stage for RT stages 2023-03-12 13:18:15 +00:00
radv_pipeline_rt.c radv/rt: use prolog for raytracing shaders 2023-03-16 01:40:30 +00:00
radv_private.h radv: Wait for shader uploads asynchronously. 2023-03-16 18:02:57 +00:00
radv_query.c radv: fix incorrect stride for primitives generated query with GDS 2023-03-07 10:15:35 +01:00
radv_queue.c radv: Wait for shader uploads asynchronously. 2023-03-16 18:02:57 +00:00
radv_radeon_winsys.h radv: Change radeon_cmdbuf counters to uint64_t to make alias analysis optimize radeon_emit better 2023-01-27 15:05:03 +00:00
radv_rmv.c radv: restore uploading shaders individually instead of consecutively 2023-02-10 13:42:14 +00:00
radv_rra.c radv: Move the geometry infos before the BVH 2023-02-24 15:14:40 +00:00
radv_rt_common.c radv/rt: Pre shift cull_mask 2023-02-26 12:58:13 +00:00
radv_rt_common.h radv: Use correct watermark for early loop exit. 2022-12-11 18:51:29 +00:00
radv_rt_shader.c radv/rt: use prolog for raytracing shaders 2023-03-16 01:40:30 +00:00
radv_sampler.c radv: move sampler related code to radv_sampler.c 2023-03-08 16:21:10 +00:00
radv_sdma_copy_image.c radv: Introduce sdma_copy_buffer for GFX7+. 2023-03-16 18:02:56 +00:00
radv_shader.c radv: Wait for shader uploads asynchronously. 2023-03-16 18:02:57 +00:00
radv_shader.h radv: Wait for shader uploads asynchronously. 2023-03-16 18:02:57 +00:00
radv_shader_args.c radv: Fix returning an expression from a void function 2023-03-16 16:07:14 +00:00
radv_shader_args.h radv: add RT shader args 2023-03-16 01:40:29 +00:00
radv_shader_info.c radv: handle RT stages in radv_nir_shader_info_pass() 2023-03-16 01:40:29 +00:00
radv_spm.c radv: move ac_perfcounters to physical_device. 2022-07-09 12:29:05 +00:00
radv_sqtt.c radv: implement a workaround for SQTT on GFX11 2023-02-21 07:28:49 +00:00
radv_video.c radv/video: fix h265 decoding sizes. 2023-03-15 05:08:49 +00:00
radv_wsi.c vulkan/wsi: switch to using an options struct for last param 2023-02-27 13:21:21 +00:00
si_cmd_buffer.c radv: Emulate VGT_ESGS_ITEMSIZE in shaders on GFX9+. 2023-03-03 20:15:10 +00:00
vk_format.h vulkan: Common vk_format_get_component_bits 2022-07-18 22:14:06 +00:00