From 68bba1539f79eb6a1e616c767ae4a409a35f173a Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Tue, 11 Apr 2023 21:15:13 +0300 Subject: [PATCH] anv: exclude performance queries from blorp clears The query buffer contains a batch to implement the multi pass replay/accumulation of results. So we can't clear it with a memset. An optimization for later would be to move the batches to the very end of the query buffer so we can clear the query data without touching the batches. Signed-off-by: Lionel Landwerlin Fixes: 4dc7256bf962 ("anv: reset query pools using blorp") Reviewed-by: Felix DeGrood Part-of: --- src/intel/vulkan/genX_query.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/intel/vulkan/genX_query.c b/src/intel/vulkan/genX_query.c index 0f913c5..fdfd105 100644 --- a/src/intel/vulkan/genX_query.c +++ b/src/intel/vulkan/genX_query.c @@ -784,7 +784,8 @@ void genX(CmdResetQueryPool)( ANV_FROM_HANDLE(anv_query_pool, pool, queryPool); struct anv_physical_device *pdevice = cmd_buffer->device->physical; - if (queryCount >= pdevice->instance->query_clear_with_blorp_threshold) { + if (queryCount >= pdevice->instance->query_clear_with_blorp_threshold && + pool->type != VK_QUERY_TYPE_PERFORMANCE_QUERY_KHR) { anv_cmd_buffer_fill_area(cmd_buffer, anv_query_address(pool, firstQuery), queryCount * pool->stride, -- 2.7.4