radv: Fix missing VK_ACCESS_2_SHADER_SAMPLED_READ_BIT.

Cannot be used for SSBO, so ignore SCACHE invalidation.

Signed-off-by: Hans-Kristian Arntzen <post@arntzen-software.no>
Fixes: 8df17163c7 ("radv: implement vkCmdWaitEvents2KHR")
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21271>
This commit is contained in:
Hans-Kristian Arntzen 2023-02-12 16:02:26 +01:00 committed by Marge Bot
parent 97aa8d9547
commit 7efabfbbe4

View file

@ -5426,12 +5426,13 @@ radv_dst_access_flush(struct radv_cmd_buffer *cmd_buffer, VkAccessFlags2 dst_fla
case VK_ACCESS_2_SHADER_BINDING_TABLE_READ_BIT_KHR:
case VK_ACCESS_2_SHADER_READ_BIT:
case VK_ACCESS_2_SHADER_STORAGE_READ_BIT:
flush_bits |= RADV_CMD_FLAG_INV_VCACHE;
/* Unlike LLVM, ACO uses SMEM for SSBOs and we have to
* invalidate the scalar cache. */
if (!cmd_buffer->device->physical_device->use_llvm && !image)
flush_bits |= RADV_CMD_FLAG_INV_SCACHE;
FALLTHROUGH;
case VK_ACCESS_2_SHADER_SAMPLED_READ_BIT:
flush_bits |= RADV_CMD_FLAG_INV_VCACHE;
if (has_CB_meta || has_DB_meta)
flush_bits |= RADV_CMD_FLAG_INV_L2_METADATA;
if (!image_is_coherent)