mesa/src/amd/vulkan
Friedrich Vock 0b251d4362 radv: Add driconf to always drain waves before writing timestamps
UE4's Vulkan backend uses vkCmdWriteTimestamp with TOP_OF_PIPE
to measure how long a workload took in the GPU Benchmark. This is wrong
and writes the timestamp before the workload is actually finished,
making it seem like the GPU is much faster than it actually is.
This caused subsequent benchmark passes to contain way too big workloads,
which caused soft hangs on slower GPUs.

Fixes GPU hangs with Splitgate during automatic settings configuration.

Cc: mesa-stable
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/22823>
2023-05-03 15:24:00 +00:00
..
bvh amd: fix typos in code 2023-04-13 23:08:22 +00:00
layers ac,radv,radeonsi: rename thread_trace to sqtt everywhere 2023-04-28 16:55:13 +00:00
meta radv/meta: rename dest to dst 2023-05-03 13:45:38 +00:00
nir radv: implement nir_load_barycentric_optimize_amd 2023-04-26 03:27:26 +00:00
radix_sort amd: fix typos 2023-04-13 23:08:22 +00:00
winsys radv: Add asserts in radeon_emit{,_array}. 2023-04-30 22:33:52 +02:00
.editorconfig radv: Update editorconfig. 2021-04-10 03:31:58 +02:00
meson.build radv: split radv_pipeline.c into radv_pipeline_{compute,graphics}.c 2023-04-12 11:18:45 +00:00
radv_acceleration_structure.c radv: Pack and encode geometry id and flags on the CPU 2023-04-11 07:57:34 +00:00
radv_aco_shader_info.h aco,radv: remove unused aco compile options 2023-04-26 03:27:26 +00:00
radv_android.c vulkan,anv,hasvk,radv: Unify Android hardware buffer creation 2023-03-31 14:57:03 +00:00
radv_buffer.c radv: fix invalid type for usage in radv_get_buffer_memory_requirements() 2023-05-03 13:45:38 +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: replace radv_get_levelCount() by vk_image_subresource_level_count() 2023-05-03 13:45:38 +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 amd: Rename INDIRECT_BUFFER_CIK to just INDIRECT_BUFFER. 2023-04-13 23:58:48 +00:00
radv_cs.h radv: Add stricter space checks. 2023-04-30 22:33:52 +02:00
radv_debug.c radv: debug: Update decode ring umr command 2023-04-20 17:26:43 +00:00
radv_debug.h radv: enable VK_EXT_graphics_pipeline_library by default 2023-04-10 10:02:32 +00:00
radv_descriptor_set.c amd: fix typos 2023-04-13 23:08:22 +00:00
radv_descriptor_set.h radv: Pre-compute descriptor set layout hash. 2023-04-03 08:46:08 +00:00
radv_device.c radv: enable RADV_THREAD_TRACE_CACHE_COUNTERS by default 2023-05-01 13:38:53 +00:00
radv_device_generated_commands.c radv: remove radv_graphics_pipeline::vb_desc_alloc_size 2023-03-30 11:21:19 +00:00
radv_device_memory.c radv: implement VK_KHR_map_memory2 2023-03-21 23:08:03 +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: fix usage flag for 3D compressed 128 bpp images on GFX9 2023-04-20 08:20:50 +00:00
radv_image.c radv: replace radv_get_layerCount by vk_image_subresource_layer_count() 2023-05-03 13:45:38 +00:00
radv_instance.c radv: Add driconf to always drain waves before writing timestamps 2023-05-03 15:24:00 +00:00
radv_llvm_helper.cpp amd: fix typos 2023-04-13 23:08:22 +00: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_nir_to_llvm.c aco,ac/llvm,radv,radeonsi: handle ps bc optimization in nir for radv 2023-04-26 03:27:26 +00:00
radv_perfcounter.c radv: Fixes prototypes 2022-11-11 05:38:19 +00:00
radv_physical_device.c vulkan: introduce supported_features parameter to vk_physical_device_init 2023-05-03 03:27:54 +00:00
radv_pipeline.c radv: fix bc optimization with POS_W_FLOAT_ENA(1) 2023-05-02 12:18:50 +00:00
radv_pipeline_cache.c radv/pipeline_cache: add NIR caching capabilities 2023-05-02 19:15:10 +00:00
radv_pipeline_compute.c radv: Add stricter space checks. 2023-04-30 22:33:52 +02:00
radv_pipeline_graphics.c radv: fix dynamic depth clamp enable support 2023-05-02 07:00:59 +00:00
radv_pipeline_rt.c radv/rt: Fix and improve VkPipelineCreationFeedback 2023-05-02 19:15:10 +00:00
radv_private.h radv: Add driconf to always drain waves before writing timestamps 2023-05-03 15:24:00 +00:00
radv_query.c radv: Add driconf to always drain waves before writing timestamps 2023-05-03 15:24:00 +00:00
radv_queue.c radv: Add stricter space checks. 2023-04-30 22:33:52 +02:00
radv_radeon_winsys.h radv: Add asserts in radeon_emit{,_array}. 2023-04-30 22:33:52 +02:00
radv_rmv.c radv/rmv: Fix import memory 2023-04-25 16:07:00 +00:00
radv_rra.c amd: fix typos 2023-04-13 23:08:22 +00:00
radv_rt_common.c amd: fix typos 2023-04-13 23:08:22 +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 precompiled stages to create RT shader 2023-05-02 19:15:10 +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: Fix dword alignment in SDMA buffer copy. 2023-04-20 00:46:01 +00:00
radv_shader.c radv: use lower_ballot_bit_count_to_mbcnt_amd 2023-05-03 10:39:20 +00:00
radv_shader.h radv/rt: use precompiled stages to create RT shader 2023-05-02 19:15:10 +00:00
radv_shader_args.c ac,radv: move ps arg compation to common place 2023-04-19 08:39:46 +00:00
radv_shader_args.h radv: Remove has_previous_stage 2023-04-11 06:24:17 +00:00
radv_shader_info.c radv: Don't hardcode LDS granularity in gfx9_get_gs_info. 2023-04-12 17:30:02 +00:00
radv_spm.c ac/spm: rename ac_spm_trace_data to ac_spm 2023-04-27 07:24:54 +00:00
radv_sqtt.c radv: Add stricter space checks. 2023-04-30 22:33:52 +02:00
radv_video.c radv/video: start adding gfx11 vcn decoder 2023-04-27 02:00:03 +00:00
radv_wsi.c radv: move radv_meta_* to a new folder 2023-03-27 06:27:49 +00:00
si_cmd_buffer.c radv: Add stricter space checks. 2023-04-30 22:33:52 +02:00
vk_format.h vulkan: Common vk_format_get_component_bits 2022-07-18 22:14:06 +00:00