mesa/src/amd/vulkan
Samuel Pitoiset af2a96bb37 radv: stop skip emitting CB states when there is no color attachment
This is actually wrong. For example, if there is a DCC decompress
draw followed by a draw without any color attachments,
CB_COLOR_CONTROL.MODE is still CB_DCC_DECOMPRESS but it should be
CB_DISABLED. For some reasons, this hangs on RDNA3 (VM faults are also
reported through dmesg).

This fixes GPU hangs with Resident Evil 6, Star Wars The Old Republic
and probably more games on RDNA3.

Strictly speaking, I don't think this dynamic state optimization is
worth a try, even for other states, and I think it would be safer to
remove it completely.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9335
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/8327
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/9878
Fixes: c08082e861 ("radv: ignore all CB dynamic states when there is no color attachments")
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25402>
2023-09-28 13:32:35 +00:00
..
bvh radv/bvh: Treat instances with mask == 0 as inactive 2023-09-20 13:00:03 +00:00
layers radv: emit relocation for mesh/task shaders 2023-09-14 07:19:26 +00:00
meta radv: fix interactions with primitives generated queries and pipeline stats 2023-09-07 08:06:40 +00:00
nir radv: enable lowering of mesh/task shader queries when enabled 2023-09-26 07:50:16 +00:00
radix_sort amd: fix typos 2023-04-13 23:08:22 +00:00
winsys radv/amdgpu: Use rwlock to protect access to virtual BOs. 2023-09-08 18:53:37 +00:00
.clang-format clang-format: Disable formatting by default 2023-08-13 16:48:49 +02:00
.editorconfig radv: Update editorconfig. 2021-04-10 03:31:58 +02:00
meson.build meson: Remove unnecessary inc_compiler mentions 2023-09-22 14:52:50 +00:00
radv_acceleration_structure.c radv: Perform multiple sorts in parallel 2023-09-14 15:12:44 +00:00
radv_aco_shader_info.h aco,radv,radeonsi: rename is_monolithic to merged_shader_compiled_separately 2023-09-04 10:53:44 +08: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 VkBufferUsageFlags2CreateInfoKHR 2023-08-10 03:05:02 +00:00
radv_check_va.py
radv_cmd_buffer.c radv: remove absolute_depth_bias workaround 2023-09-19 07:53:51 +00:00
radv_constants.h radv: add GDS counters offset for mesh/task queries 2023-09-26 07:50:16 +00:00
radv_cp_reg_shadowing.c radv: skip DGC calls when the indirect sequence count is zero with a predicate 2023-09-07 22:51:51 +00:00
radv_cs.h radv: enable the PKT3 CAM bit for some SPM register writes 2023-09-14 14:17:18 +00:00
radv_debug.c radv: Fix dumping vertex descriptors with RADV_DEBUG=hang. 2023-09-07 11:50:32 +00:00
radv_debug.h radv: pass submit info to radv_check_gpu_hangs() 2023-07-25 06:50:33 +00:00
radv_descriptor_set.c radv: use vk_sampler 2023-08-08 10:24:54 +00:00
radv_descriptor_set.h radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00
radv_device.c radv: enable lowering of mesh/task shader queries when enabled 2023-09-26 07:50:16 +00:00
radv_device_generated_commands.c radv: Use a double jump to limit nops in DGC for dynamic sequence count. 2023-09-08 00:41:34 +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 radv: disable 64-bit color attachments 2023-08-16 18:38:24 +00:00
radv_image.c radv/video: take db alignment into account when allocating images. 2023-09-14 01:48:49 +00:00
radv_instance.c radv: remove absolute_depth_bias workaround 2023-09-19 07:53:51 +00:00
radv_llvm_helper.cpp radv: reformat according to its .clang-format 2023-06-16 19:59:52 +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: add SPM support for GFX11 2023-09-25 09:05:58 +02:00
radv_physical_device.c radv: Don't advertise features requiring PS epilogs with LLVM 2023-09-14 15:39:39 +00:00
radv_pipeline.c radv: vectorize scratch access 2023-08-16 19:11:26 +00:00
radv_pipeline_cache.c radv/rt: Store NIR shaders separately 2023-09-10 11:40:12 +00:00
radv_pipeline_compute.c radv: Only generate debug info if required 2023-09-01 07:23:33 +00:00
radv_pipeline_graphics.c radv: stop skip emitting CB states when there is no color attachment 2023-09-28 13:32:35 +00:00
radv_pipeline_rt.c radv/rt: Handle stages without nir properly 2023-09-14 16:07:46 +00:00
radv_private.h radv: enable lowering of mesh/task shader queries when enabled 2023-09-26 07:50:16 +00:00
radv_query.c radv: fix interactions with primitives generated queries and pipeline stats 2023-09-07 08:06:40 +00:00
radv_queue.c radv: skip DGC calls when the indirect sequence count is zero with a predicate 2023-09-07 22:51:51 +00:00
radv_radeon_winsys.h radv: skip DGC calls when the indirect sequence count is zero with a predicate 2023-09-07 22:51:51 +00:00
radv_rmv.c radv/rmv: remove unused pipeline create flags when logging pipelines 2023-08-10 03:05:02 +00:00
radv_rra.c radv: add support for VkBufferUsageFlags2CreateInfoKHR 2023-08-10 03:05:02 +00:00
radv_rt_common.c radv/ray_queries: Skip cull_mask handling if it is FF 2023-09-20 13:00:03 +00:00
radv_rt_common.h radv/ray_queries: Skip cull_mask handling if it is FF 2023-09-20 13:00:03 +00:00
radv_rt_shader.c radv/rt: Skip cull_mask handling if it is FF 2023-09-20 13:00:03 +00:00
radv_sampler.c radv: use vk_sampler 2023-08-08 10:24:54 +00:00
radv_sdma_copy_image.c radv/sdma: use correct limits for gfx10.3 2023-09-08 09:15:20 +00:00
radv_shader.c radv: enable lowering of mesh/task shader queries when enabled 2023-09-26 07:50:16 +00:00
radv_shader.h radv: enable lowering of mesh/task shader queries when enabled 2023-09-26 07:50:16 +00:00
radv_shader_args.c radv: declare shader_query_state for mesh/task shaders 2023-09-26 07:50:16 +00:00
radv_shader_args.h radv: add a new shader argument for non-monolithic shaders PC 2023-08-25 07:22:03 +00:00
radv_shader_info.c radv: enable lowering of mesh/task shader queries when enabled 2023-09-26 07:50:16 +00:00
radv_spm.c radv: add SPM support for GFX11 2023-09-25 09:05:58 +02:00
radv_sqtt.c radv: add SPM support for GFX11 2023-09-25 09:05:58 +02:00
radv_video.c radv/video: take db alignment into account when allocating images. 2023-09-14 01:48:49 +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: emit PA_SC_SCREEN_SCISSOR_BR with the actual fb extent 2023-06-30 06:38:53 +00:00
vk_format.h radv: reformat according to its .clang-format 2023-06-16 19:59:52 +00:00