mesa/src/amd/vulkan
Samuel Pitoiset ec09ac1501 radv: switch to the full HiZ workaround by default on GFX12
The full HiZ workaround is the only one that fixes the issue reliably.

Sadly, the performance results are mixed and sometimes it hurts. To
maintain performance, RADV will opt-in by selecting which workarounds
to apply from drirc.

As we can't know the full list of games that will be affected by a
potential performance regression, users are encouraged to try with
RADV_GFX12_HIZ_WA (see Mesa documentation for more explanations).

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36174>
2025-09-11 15:21:50 +00:00
..
bvh radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
layers radv: check if SQTT is enabled before calling radv_describe_draw() 2025-08-27 06:19:14 +00:00
meta radv: Use VK_IMAGE_VIEW_CREATE_DRIVER_INTERNAL_BIT_MESA 2025-09-05 23:34:12 +00:00
nir radv/nir/lower_cmat: clean up GFX11 ACC->B convert 2025-09-09 06:08:55 +00:00
tests build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
winsys radv: add RADV_DEBUG=bo_history 2025-09-11 06:03:15 +00:00
.clang-format
.editorconfig
meson.build radv: fix building with libdrm as a submodule 2025-08-28 18:08:20 +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: emit more push shader registers on GFX12 2025-09-11 06:47:40 +00:00
radv_cmd_buffer.h radv: rename RADV_CMD_DIRTY_FS_STATE to RADV_CMD_DIRTY_PS_STATE 2025-09-05 10:16:20 +00:00
radv_constants.h radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_cp_dma.c radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +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: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +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: Clean up use of RELEASE_MEM on GFX7 MEC 2025-09-05 13:42:56 +00:00
radv_cs.h radv: emit compute pipeline with buffered SH regs on GFX12 2025-08-19 18:01:21 +00:00
radv_debug.c all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08:00
radv_debug.h radv: add RADV_DEBUG=bo_history 2025-09-11 06:03:15 +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: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +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: Add RADV_DEBUG=validatevas for address validation in nir 2025-08-15 10:32:35 +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: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_dgc.h radv: gather push constant size from shaders for DGC 2025-08-18 10:28:09 +02: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/video: Support quantization map on VCN5 2025-09-08 10:52:06 +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: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +00:00
radv_image.h radv: initialize HiZ metadata during image layout transitions 2025-08-12 13:48:10 +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: replace RADV_GFX12_HIZ_WA by a drirc option 2025-09-11 15:21:50 +00:00
radv_instance.h radv: replace RADV_GFX12_HIZ_WA by a drirc option 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 all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08:00
radv_nir_to_llvm.h radv: use SPDX-License-Identifier 2024-04-08 07:17:31 +00:00
radv_perfcounter.c radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_perfcounter.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_physical_device.c radv: switch to the full HiZ workaround by default on GFX12 2025-09-11 15:21:50 +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 misc related drirc to radv_drirc::misc 2025-09-05 05:56:17 +00:00
radv_pipeline.h radv: remove unused radv_pipeline::user_data_0 2025-09-02 06:18:04 +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: determine if push constants need to be uploaded earlier 2025-08-18 07:25:34 +00:00
radv_pipeline_compute.h radv: fix skipping on-disk shaders cache when not useful 2024-11-20 10:01:26 +00:00
radv_pipeline_graphics.c radv: Don't set SWITCH_ON_EOI without tessellation 2025-09-05 13:42:56 +00:00
radv_pipeline_graphics.h radv: remove unnecessary radv_graphics_pipeline::is_ngg 2025-09-02 06:18:05 +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: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +00:00
radv_query.h radv: re-run clang-format 2025-07-16 09:10:33 +02:00
radv_queue.c radv: only expose permitted global queue priorities 2025-09-05 06:34:36 +00:00
radv_queue.h radv: only expose permitted global queue priorities 2025-09-05 06:34:36 +00:00
radv_radeon_winsys.h radv/amdgpu: add a function to query permitted context priorities 2025-09-05 06:34:36 +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: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +00:00
radv_sampler.h radv: rework initializing/finishing samplers 2025-07-01 08:58:02 +02: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: move debug related drirc to radv_drirc::debug 2025-09-05 05:56:17 +00:00
radv_shader.h radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_shader_args.c radv/rt: only use one user SGPR for the traversal shader addr 2025-09-03 05:53:41 +00:00
radv_shader_args.h radv: rename NGG culling user SGPRs 2025-09-01 08:52:55 +00:00
radv_shader_info.c radv: determine the push constant size from the shader itself 2025-08-18 10:28:09 +02:00
radv_shader_info.h radv: determine the push constant size from the shader itself 2025-08-18 10:28:09 +02:00
radv_shader_object.c all: rename gl_shader_stage to mesa_shader_stage 2025-08-06 10:28:40 +08: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: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_spm.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_sqtt.c radv: remove cs parameter for all opt context emit helpers 2025-08-11 08:30:42 +00:00
radv_sqtt.h radv: switch to radv_cmd_stream everywhere 2025-08-08 11:49:23 +00:00
radv_video.c radv: re-format using clang-format 2025-09-09 05:48:56 +00:00
radv_video.h radv/video: Support quantization map on VCN5 2025-09-08 10:52:06 +00:00
radv_video_enc.c radv: re-format using clang-format 2025-09-09 05:48:56 +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