vsg-dev / VulkanSceneGraph

Vulkan & C++17 based Scene Graph Project
http://www.vulkanscenegraph.org
MIT License
1.32k stars 212 forks source link

Validation error when unminimising a window on Windows #1258

Open AnyOldName3 opened 3 months ago

AnyOldName3 commented 3 months ago

I've not yet confirmed whether this happens on other platforms, but it's at least not caused by the other Win32 window changes.

VUID-vkQueueSubmit-pCommandBuffers-00065(ERROR / SPEC): msgNum: 1901485743 - Validation Error: [ VUID-vkQueueSubmit-pCommandBuffers-00065 ] Object 0: handle = 0xead9370000000008, type = VK_OBJECT_TYPE_SEMAPHORE; Object 1: handle = 0x1ec3a9dbb00, type = VK_OBJECT_TYPE_QUEUE; Object 2: handle = 0x1ec3a9dbb00, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0x71565eaf | vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0xead9370000000008[]) is being signaled by VkQueue 0x1ec3a9dbb00[], but it was previously signaled by VkQueue 0x1ec3a9dbb00[] and has not since been waited on. The Vulkan spec states: Any calls to vkCmdSetEvent, vkCmdResetEvent or vkCmdWaitEvents that have been recorded into any of the command buffer elements of the pCommandBuffers member of any element of pSubmits, must not reference any VkEvent that is referenced by any of those commands in a command buffer that has been submitted to another queue and is still in the pending state (https://vulkan.lunarg.com/doc/view/1.3.283.0/windows/1.3-extensions/vkspec.html#VUID-vkQueueSubmit-pCommandBuffers-00065)
    Objects: 3
        [0] 0xead9370000000008, type: 5, name: NULL
        [1] 0x1ec3a9dbb00, type: 4, name: NULL
        [2] 0x1ec3a9dbb00, type: 4, name: NULL
robertosfield commented 3 months ago

Just tried, on my Kubuntu 22.04 + AMD 5700G system minimizing the window with the following vsgviewer usage:

vsgviewer models/lz.vsgt -d

This is with my experimental Compile_Using_TransferData branch, but there isn't any functional changes yet so should be same as VSG master, this what I see on the console after minimizing the window then opening it again:

UNASSIGNED-CoreValidation-DrawState-QueueForwardProgress(ERROR / SPEC): msgNum: -400166253 - Validation Error: [ UNASSIGNED-CoreValidation-DrawState-QueueForwardProgress ] Object 0: handle = 0x80000000008, type = VK_OBJECT_TYPE_SEMAPHORE; Object 1: handle = 0x559bcf55c610, type = VK_OBJECT_TYPE_QUEUE; Object 2: handle = 0x559bcf55c610, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0xe825f293 | vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] is signaling VkQueue 0x559bcf55c610[] (VkSemaphore 0x80000000008[]) that was previously signaled by VkQueue 0x559bcf55c610[] but has not since been waited on by any queue.
    Objects: 3
        [0] 0x80000000008, type: 5, name: NULL
        [1] 0x559bcf55c610, type: 4, name: NULL
        [2] 0x559bcf55c610, type: 4, name: NULL

I haven't investigated yet, but at least it looks like a general issue rather than a platform specific one. I will continue focusing on the compile side for now and return to this if no one else gets to resolve it before I do.