From 17fc7b20b11def49e3dfece2369583c65b75b465 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Fri, 13 May 2022 23:22:30 +0300 Subject: [PATCH] anv: fix primitives generated queries values Numbers in some situations are incorrect because we don't stall properly before capturing the register value. Signed-off-by: Lionel Landwerlin Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6412 Fixes: a468f26ca5ee ("anv: implement VK_EXT_primitives_generated_query") Reviewed-by: Jason Ekstrand Part-of: --- src/intel/vulkan/genX_query.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/intel/vulkan/genX_query.c b/src/intel/vulkan/genX_query.c index 094e837fe09..ef2520b6853 100644 --- a/src/intel/vulkan/genX_query.c +++ b/src/intel/vulkan/genX_query.c @@ -932,6 +932,10 @@ void genX(CmdBeginQueryIndexedEXT)( break; case VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT: + anv_batch_emit(&cmd_buffer->batch, GENX(PIPE_CONTROL), pc) { + pc.CommandStreamerStallEnable = true; + pc.StallAtPixelScoreboard = true; + } mi_store(&b, mi_mem64(anv_address_add(query_addr, 8)), mi_reg64(GENX(CL_INVOCATION_COUNT_num))); break;