From b48c6af0bf9414616f1cdc8cfa98e29439066814 Mon Sep 17 00:00:00 2001 From: Mary Guillemard Date: Tue, 5 May 2026 11:37:56 +0200 Subject: [PATCH] nvk: Handle zero queries in CmdCopyQueryPoolResults and CmdResetQueryPool Nothing disallow it by spec, let's avoid doing anything in that case. Signed-off-by: Mary Guillemard Reviewed-by: Mel Henning --- src/nouveau/vulkan/nvk_query_pool.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/nouveau/vulkan/nvk_query_pool.c b/src/nouveau/vulkan/nvk_query_pool.c index e5b583efa13..0d0ab24f35b 100644 --- a/src/nouveau/vulkan/nvk_query_pool.c +++ b/src/nouveau/vulkan/nvk_query_pool.c @@ -322,6 +322,10 @@ nvk_CmdResetQueryPool(VkCommandBuffer commandBuffer, { VK_FROM_HANDLE(nvk_cmd_buffer, cmd, commandBuffer); VK_FROM_HANDLE(nvk_query_pool, pool, queryPool); + + if (unlikely(!queryCount)) + return; + const struct nvk_device *dev = nvk_cmd_buffer_device(cmd); const struct nvk_physical_device *pdev = nvk_device_physical(dev); @@ -1051,6 +1055,9 @@ nvk_CmdCopyQueryPoolResults(VkCommandBuffer commandBuffer, VK_FROM_HANDLE(nvk_query_pool, pool, queryPool); VK_FROM_HANDLE(nvk_buffer, dst_buffer, dstBuffer); + if (unlikely(!queryCount)) + return; + if (flags & VK_QUERY_RESULT_WAIT_BIT) { for (uint32_t i = 0; i < queryCount; i++) { uint64_t avail_addr = nvk_query_available_addr(pool, firstQuery + i);