From: Samuel Pitoiset Date: Fri, 2 Nov 2018 11:20:48 +0000 (+0100) Subject: radv: remove useless sync after copying query results with compute X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=dc3419195cb57a9fa041c61fd92727cb0a81f36b;p=mesa.git radv: remove useless sync after copying query results with compute 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." VK_PIPELINE_STAGE_TRANSFER_BIT will wait for compute to be idle, while VK_ACCESS_TRANSFER_WRITE_BIT will invalidate both L1 vector caches and L2. So, it's useless to set those flags internally. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c index 57ea22fb847..4153dc2f679 100644 --- a/src/amd/vulkan/radv_query.c +++ b/src/amd/vulkan/radv_query.c @@ -755,10 +755,6 @@ static void radv_query_shader(struct radv_cmd_buffer *cmd_buffer, radv_unaligned_dispatch(cmd_buffer, count, 1, 1); - cmd_buffer->state.flush_bits |= RADV_CMD_FLAG_INV_GLOBAL_L2 | - RADV_CMD_FLAG_INV_VMEM_L1 | - RADV_CMD_FLAG_CS_PARTIAL_FLUSH; - radv_meta_restore(&saved_state, cmd_buffer); }