zink: copy of query results never written to
If I run those 3 tests, zink will generate a command buffer in the last test that is trying to copy a query that was never written to with the WAIT_RESULT flag
KHR-GL46.shader_image_load_store.advanced-allMips
KHR-GL46.compute_shader.shared-indexing
KHR-GL46.compute_shader.conditional-dispatching
Just running the last test doesn't generate that error.
There is validation error for copying a query with WAIT_RESULT bit set when it was never written to (I filed a Khronos issue to get confirmation that this is intended or missing).
But zink is also running into another validation error because it copies beyond the destination buffer size :
VUID-vkCmdCopyQueryPoolResults-dstBuffer-00824(ERROR / SPEC): msgNum: -632402239 - Validation Error: [ VUID-vkCmdCopyQueryPoolResults-dstBuffer-00824 ] Object 0: handle = 0x5561ff34a1c0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0xda4e4ec1 | vkCmdCopyQueryPoolResults() storage required (0x10) equal to dstOffset + (queryCount * stride) is greater than the size (0x8) of buffer (VkBuffer 0xad00000000ad[]). The Vulkan spec states: dstBuffer must have enough storage, from dstOffset, to contain the result of each query, as described here (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkCmdCopyQueryPoolResults-dstBuffer-00824)