From fdf3106d434c271b1e6fcc22f3ebd3c8f6de2ec5 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Thu, 27 Jun 2024 15:02:00 +0200 Subject: [PATCH] radv: fix incorrect cache flushes before decompressing DCC on compute Found by luck. Cc: mesa-stable Signed-off-by: Samuel Pitoiset Part-of: (cherry picked from commit bc52e77397670c7aceb0bc5dae87b70be6bd7e67) [Eric: add back WRITE_BIT, to set both] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29940#note_2476173 --- .pick_status.json | 2 +- src/amd/vulkan/meta/radv_meta_fast_clear.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 2ee357b4e1d..7fc24099163 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -564,7 +564,7 @@ "description": "radv: fix incorrect cache flushes before decompressing DCC on compute", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/amd/vulkan/meta/radv_meta_fast_clear.c b/src/amd/vulkan/meta/radv_meta_fast_clear.c index 024c4150c16..0a6f91a47cf 100644 --- a/src/amd/vulkan/meta/radv_meta_fast_clear.c +++ b/src/amd/vulkan/meta/radv_meta_fast_clear.c @@ -672,7 +672,8 @@ radv_decompress_dcc_compute(struct radv_cmd_buffer *cmd_buffer, struct radv_imag struct radv_image_view load_iview = {0}; struct radv_image_view store_iview = {0}; - cmd_buffer->state.flush_bits |= radv_dst_access_flush(cmd_buffer, VK_ACCESS_2_SHADER_WRITE_BIT, image); + cmd_buffer->state.flush_bits |= + radv_dst_access_flush(cmd_buffer, VK_ACCESS_2_SHADER_READ_BIT | VK_ACCESS_2_SHADER_WRITE_BIT, image); if (!device->meta_state.fast_clear_flush.cmask_eliminate_pipeline) { VkResult ret = radv_device_init_meta_fast_clear_flush_state_internal(device);