From 655b7c464a0394084596a79d75d99dc7817ad083 Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Tue, 17 Dec 2024 21:17:46 -0800 Subject: [PATCH] panvk/csf: no need to flush caches after query copy The spec says vkCmdCopyQueryPoolResults is considered to be a transfer operation, and its writes to buffer memory must be synchronized using VK_PIPELINE_STAGE_TRANSFER_BIT and VK_ACCESS_TRANSFER_WRITE_BIT before using the results. While STORE_MULTIPLE is not exactly VK_PIPELINE_STAGE_TRANSFER_BIT / VK_ACCESS_TRANSFER_WRITE_BIT, we can still rely on user barriers to do the right thing (e.g., flush caches for host access). Signed-off-by: Chia-I Wu Reviewed-by: Boris Brezillon Reviewed-by: Lars-Ivar Hesselberg Simonsen Part-of: --- src/panfrost/vulkan/csf/panvk_vX_cmd_query.c | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/panfrost/vulkan/csf/panvk_vX_cmd_query.c b/src/panfrost/vulkan/csf/panvk_vX_cmd_query.c index a3d301d0da0..0244434ce46 100644 --- a/src/panfrost/vulkan/csf/panvk_vX_cmd_query.c +++ b/src/panfrost/vulkan/csf/panvk_vX_cmd_query.c @@ -168,15 +168,6 @@ panvk_copy_occlusion_query_results(struct panvk_cmd_buffer *cmd, cs_wait_slot(b, SB_ID(LS), false); } } - - struct cs_index flush_id = cs_scratch_reg32(b, 0); - cs_move32_to(b, flush_id, 0); - - /* Finally flush the cache to ensure everything is visible to - * everyone */ - cs_flush_caches(b, MALI_CS_FLUSH_MODE_CLEAN, MALI_CS_FLUSH_MODE_CLEAN, false, - flush_id, cs_defer(SB_IMM_MASK, SB_ID(IMM_FLUSH))); - cs_wait_slot(b, SB_ID(IMM_FLUSH), false); } VKAPI_ATTR void VKAPI_CALL