mesa/src/amd/vulkan
Samuel Pitoiset 4c99d6ff54 radv: flush L2 for images affected by the pipe misaligned issue on GFX10+
In some rare cases, L2 needs to be flushed if an image is affected
by the pipe misaligned issue. This is roughly based on AMDVLK.

I confirmed that disabling TC-compat HTILE, and respectively DCC,
for the relevant images also fixes the regressions below.

This fixes some regressions introduced with L2 coherency for
dEQP-VK.renderpass2.depth_stencil_resolve.image_2d_* and for
dEQP-VK.renderpass2.suballocation.multisample_resolve.*.

Fixes: 4a783a3c78 ("radv: Use L2 coherency on GFX9+.")
Co-Authored-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8557>
2021-01-19 19:51:44 +00:00
..
layers ac/sqtt: move rgp/sqtt def to ac 2021-01-07 10:09:57 +01:00
winsys radv/winsys: Fix offset in range merging. 2021-01-11 12:01:34 +00:00
.editorconfig amd: add .editorconfig 2017-08-29 01:08:58 +03:00
Android.mk android: radv: add libcutils shared dependency 2020-12-07 23:54:25 +01:00
Makefile.sources ac/radv: move radv_rgp.c to ac 2021-01-07 10:09:49 +01:00
meson.build wsi/x11: Always link against xcb-xrandr 2021-01-07 14:57:45 +01:00
radv_android.c radv/android: Remove unused variable 2020-08-05 18:08:07 +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: flush L2 for images affected by the pipe misaligned issue on GFX10+ 2021-01-19 19:51:44 +00:00
radv_constants.h radv: Remove RANGE_SIZE usage 2020-05-05 00:28:00 +00:00
radv_cs.h radv: Fix emitting SQTT userdata. 2020-09-28 15:46:08 +00:00
radv_debug.c radv: dump VA ranges history when a GPU hang is detected 2020-12-30 08:40:19 +01:00
radv_debug.h radv: add RADV_DEBUG=invariantgeom 2021-01-12 15:11:49 +00:00
radv_descriptor_set.c radv: Implement VK_VALVE_mutable_descriptor_type. 2020-12-07 15:25:17 +00:00
radv_descriptor_set.h radv: Do not access set layout during vkCmdBindDescriptorSets. 2020-10-28 03:06:20 +00:00
radv_device.c radv: flush L2 for images affected by the pipe misaligned issue on GFX10+ 2021-01-19 19:51:44 +00:00
radv_entrypoints_gen.py Switch from cElementTree to ElementTree. 2020-06-05 23:42:54 -07:00
radv_extensions.py radv: Add a trivial implementation of VK_KHR_deferred_host_operation 2021-01-19 01:25:38 +01:00
radv_formats.c radv: mark VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT as unsupported on GFX6-7 2021-01-11 17:17:42 +00:00
radv_icd.py python: Specify the JSON separators 2018-07-05 12:52:38 +01:00
radv_image.c radv: enable TC-compat HTILE for D16S8 on GFX9+ 2021-01-19 18:16:35 +00:00
radv_llvm_helper.cpp radv/gfx10: use the correct target machine for Wave32 2019-08-02 09:37:38 +02:00
radv_meta.c radv: implement VK_KHR_fragment_shading_rate 2020-12-14 16:22:38 +00:00
radv_meta.h radv: make sure FMASK compression is enabled for MSAA copies 2020-12-23 11:25:34 +00:00
radv_meta_blit.c radv: Add option to disable DCC in renderpasses without layout. 2020-12-21 18:32:24 +00:00
radv_meta_blit2d.c radv: Disable DCC explicitly for incompatible copies. 2020-12-21 18:32:24 +00:00
radv_meta_buffer.c radv: restore invalidating the vector cache for internal meta operations 2021-01-19 19:15:39 +00:00
radv_meta_bufimage.c radv: Disable DCC explicitly for incompatible copies. 2020-12-21 18:32:24 +00:00
radv_meta_clear.c radv: restore invalidating the vector cache for internal meta operations 2021-01-19 19:15:39 +00:00
radv_meta_copy.c radv: Disable DCC explicitly for incompatible copies. 2020-12-21 18:32:24 +00:00
radv_meta_decompress.c radv: Add option to disable DCC in renderpasses without layout. 2020-12-21 18:32:24 +00:00
radv_meta_fast_clear.c radv: restore invalidating the vector cache for internal meta operations 2021-01-19 19:15:39 +00:00
radv_meta_fmask_expand.c radv: Use access helpers for flushing with meta operations. 2021-01-13 16:27:19 +00:00
radv_meta_resolve.c radv: add a comment explaining the micro tile mode resolve 2021-01-19 18:52:43 +01:00
radv_meta_resolve_cs.c radv: restore invalidating the vector cache for internal meta operations 2021-01-19 19:15:39 +00:00
radv_meta_resolve_fs.c radv: Use access helpers for flushing with meta operations. 2021-01-13 16:27:19 +00:00
radv_nir_lower_ycbcr_textures.c radv: use common nir_convert_ycbcr 2020-04-20 22:01:43 +00:00
radv_nir_to_llvm.c radv/llvm,aco: always split typed vertex buffer loads on GFX6 and GFX10+ 2021-01-07 17:28:00 +00:00
radv_pass.c radv: destroy the base object if VkCreateRenderPass*() failed 2020-07-15 13:53:21 +02:00
radv_pipeline.c radv: vectorize 16bit instructions 2021-01-13 17:46:56 +00:00
radv_pipeline_cache.c radv: Replace pthread mutex with mtx_t 2020-12-02 11:27:01 +00:00
radv_private.h radv: flush L2 for images affected by the pipe misaligned issue on GFX10+ 2021-01-19 19:51:44 +00:00
radv_query.c radv: Use access helpers for flushing with meta operations. 2021-01-13 16:27:19 +00:00
radv_radeon_winsys.h radv: Use VRAM for upload buffers if entire VRAM is CPU-visible. 2021-01-04 13:10:15 +00:00
radv_shader.c nir/loop_unroll: unroll more aggressively if it can improve load scheduling 2021-01-13 18:54:18 +00:00
radv_shader.h radv: track if VRS is enabled to apply a workaround on GFX10.3 2020-12-14 16:22:38 +00:00
radv_shader_args.c ac: unify shader arguments that are duplicated 2020-12-09 20:13:25 +00:00
radv_shader_args.h util+treewide: container_of() cleanup 2020-12-10 16:48:36 +00:00
radv_shader_helper.h radv/gfx10: use the correct target machine for Wave32 2019-08-02 09:37:38 +02:00
radv_shader_info.c nir,spirv: add sparse image loads 2021-01-06 20:36:38 +00:00
radv_sqtt.c ac/sqtt: move radv_get_expected_buffer_size to ac 2021-01-07 10:10:16 +01:00
radv_util.c radv: report errors back to the application via VK_EXT_debug_report 2020-08-10 14:09:21 +02:00
radv_util.h
radv_wsi.c vulkan/wsi: add sw support. (v2) 2020-08-17 14:30:50 +10:00
radv_wsi_display.c radv: Fix asserts using assign instead of compare. 2020-10-03 01:04:28 +00:00
radv_wsi_wayland.c
radv_wsi_x11.c vulkan: drop always-true param 2018-10-26 18:33:11 +01:00
si_cmd_buffer.c radv: flush L2 metadata as part of CB/DB flush instead of CS_DONE on GFX9 2021-01-19 07:47:34 +01:00
vk_format.h radv: Wrap pragmas with __GNUC__ to fix MSVC 2020-12-02 11:27:01 +00:00
vk_format_layout.csv radv: Implement VK_EXT_4444_formats 2020-08-03 19:27:37 +01:00
vk_format_parse.py radv: Add logic for multisample format descriptions. 2019-04-25 19:56:20 +00:00
vk_format_table.py util: rename PIPE_ARCH_*_ENDIAN to UTIL_ARCH_*_ENDIAN 2019-11-05 16:39:55 +00:00
vulkan.sym radv: Add Android module info to linker script. 2021-01-12 20:17:52 +00:00