From dad80eadb2815727ece2827ca29dd648ab1adbb1 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Wed, 9 Oct 2019 14:30:49 +0200 Subject: [PATCH] radv: sync before resetting query pools if timestamps have been written Otherwise, the GPU might write timestamp queries after the reset operation. This is similar to other query operations. Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen --- src/amd/vulkan/radv_query.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/amd/vulkan/radv_query.c b/src/amd/vulkan/radv_query.c index ba9723244ee..cafe0253864 100644 --- a/src/amd/vulkan/radv_query.c +++ b/src/amd/vulkan/radv_query.c @@ -1773,5 +1773,15 @@ void radv_CmdWriteTimestamp( } query_va += pool->stride; } + + cmd_buffer->active_query_flush_bits |= RADV_CMD_FLAG_PS_PARTIAL_FLUSH | + RADV_CMD_FLAG_CS_PARTIAL_FLUSH | + RADV_CMD_FLAG_INV_L2 | + RADV_CMD_FLAG_INV_VCACHE; + if (cmd_buffer->device->physical_device->rad_info.chip_class >= GFX9) { + cmd_buffer->active_query_flush_bits |= RADV_CMD_FLAG_FLUSH_AND_INV_CB | + RADV_CMD_FLAG_FLUSH_AND_INV_DB; + } + assert(cmd_buffer->cs->cdw <= cdw_max); } -- 2.30.2