Thank you JeGX, I see improvement. I don't see hang anymore both on NVidia and Intel.
On Intel I still see flicker (not so often as before) and not on all tests. Torus from CapsViewer flickers, torus from demo pack does not.
On version GeeXLab_0.29.8.1_FREE_win64
When I run:
GeeXLab.exe /no_menubar /demofile="./demopack-vk/torus/vk/main.xml"
with khronos validation (1.1.126.0), I get a single error repeated multiple times (probably every frame).
[...]
UNASSIGNED-CoreValidation-DrawState-QueueForwardProgress(ERROR / SPEC): msgNum: 0 - VkQueue 0x2b820bde2a8[] is waiting on VkSemaphore 0x3047930000000016[] that has no way to be signaled.
Objects: 1
[0] 0, type: 6, name: NULL
[...]
If I copy torus example form 1.43.1.0, I get flicker on Intel, and some new errors too:
GeeXLab.exe /no_menubar /demofile="./gxldemos_capsViewer/vk-lighting/main2.xml"
UNASSIGNED-CoreValidation-DrawState-QueueForwardProgress(ERROR / SPEC): msgNum: 0 - VkQueue 0x1fd665efa98[] is waiting on VkSemaphore 0x3047930000000016[] that has no way to be signaled.
Objects: 1
[0] 0, type: 6, name: NULL
VUID-vkBeginCommandBuffer-commandBuffer-00049(ERROR / SPEC): msgNum: 0 - Calling vkBeginCommandBuffer() on active VkCommandBuffer 0x1fd6b26ca68[] before it has completed. You must check command buffer fence before this call. The Vulkan spec states: commandBuffer must not be in the recording or pending state. (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkBeginCommandBuffer-commandBuffer-00049)
Objects: 1
[0] 0x1fd6b26ca68, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-QueueForwardProgress(ERROR / SPEC): msgNum: 0 - VkQueue 0x1fd665efa98[] is waiting on VkSemaphore 0x3047930000000016[] that has no way to be signaled.
Objects: 1
[0] 0, type: 6, name: NULL
VUID-vkBeginCommandBuffer-commandBuffer-00049(ERROR / SPEC): msgNum: 0 - Calling vkBeginCommandBuffer() on active VkCommandBuffer 0x1fd6b26ca68[] before it has completed. You must check command buffer fence before this call. The Vulkan spec states: commandBuffer must not be in the recording or pending state. (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkBeginCommandBuffer-commandBuffer-00049)
Objects: 1
[0] 0x1fd6b26ca68, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-QueueForwardProgress(ERROR / SPEC): msgNum: 0 - VkQueue 0x1fd665efa98[] is waiting on VkSemaphore 0x3047930000000016[] that has no way to be signaled.
Objects: 1
[0] 0, type: 6, name: NULL
[...]
Multiple UNASSIGNED-CoreValidation-DrawState-QueueForwardProgress
[...]
UNASSIGNED-CoreValidation-DrawState-QueueForwardProgress(ERROR / SPEC): msgNum: 0 - VkQueue 0x1fd665efa98[] is waiting on VkSemaphore 0x3047930000000016[] that has no way to be signaled.
Objects: 1
[0] 0, type: 6, name: NULL
VUID-vkFreeCommandBuffers-pCommandBuffers-00047(ERROR / SPEC): msgNum: 0 - Attempt to free VkCommandBuffer 0x1fd6b26ca68[] which is in use. The Vulkan spec states: All elements of pCommandBuffers must not be in the pending state (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkFreeCommandBuffers-pCommandBuffers-00047)
Objects: 1
[0] 0x1fd6b26ca68, type: 6, name: NULL
VUID-vkDestroyFramebuffer-framebuffer-00892(ERROR / SPEC): msgNum: 0 - Cannot call vkDestroyFramebuffer on VkFramebuffer 0xedbd50000000010[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to framebuffer must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyFramebuffer-framebuffer-00892)
Objects: 1
[0] 0xedbd50000000010, type: 24, name: NULL
VUID-vkDestroyFramebuffer-framebuffer-00892(ERROR / SPEC): msgNum: 0 - Cannot call vkDestroyFramebuffer on VkFramebuffer 0x1f91b40000000011[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to framebuffer must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyFramebuffer-framebuffer-00892)
Objects: 1
[0] 0x1f91b40000000011, type: 24, name: NULL
VUID-vkDestroyImageView-imageView-01026(ERROR / SPEC): msgNum: 0 - Cannot call vkDestroyImageView on VkImageView 0x948acd0000000008[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to imageView must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026)
Objects: 1
[0] 0x948acd0000000008, type: 14, name: NULL
VUID-vkDestroyImageView-imageView-01026(ERROR / SPEC): msgNum: 0 - Cannot call vkDestroyImageView on VkImageView 0xa540ac0000000009[] that is currently in use by a command buffer. The Vulkan spec states: All submitted commands that refer to imageView must have completed execution (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-vkDestroyImageView-imageView-01026)
Objects: 1
[0] 0xa540ac0000000009, type: 14, name: NULL
I haven't analyzed api_dump yet.