*** VULKAN VALIDATION ERROR MESSAGE ***
Severity : ERROR
Type : [VALIDATION]
Objects : [0]: <UNNAMED OBJECT>
[1]: <UNNAMED OBJECT>
Message : vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x2a000000002a) is being signaled by VkQueue 0x555555c0e4c0, but it may still be in use by VkSwapchainKHR 0x40000000004.
Most recently acquired image indices: [0], 1.
(Brackets mark the last use of VkSemaphore 0x2a000000002a in a presentation operation.)
Swapchain image 0 was presented but was not re-acquired, so VkSemaphore 0x2a000000002a may still be in use and cannot be safely reused with image index 1.
Vulkan insight: See https://docs.vulkan.org/guide/latest/swapchain_semaphore_reuse.html for details on swapchain semaphore reuse. Examples of possible approaches:
a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.
b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.
The Vulkan spec states: Each binary semaphore element of the pSignalSemaphores member of any element of pSubmits must be unsignaled when the semaphore signal operation it defines is executed on the device (https://vulkan.lunarg.com/doc/view/1.4.335.0/linux/antora/spec/latest/chapters/cmdbuffers.html#VUID-vkQueueSubmit-pSignalSemaphores-00067)
vk_timeline_semaphore: /usr/local/google/home/hitchens/git/bigwheels/src/ppx/grfx/vk/vk_instance.cpp:115: VkBool32 ppx::grfx::vk::DebugUtilsMessengerCallback(VkDebugUtilsMessageSeverityFlagBitsEXT, VkDebugUtilsMessageTypeFlagsEXT, const VkDebugUtilsMessengerCallbackDataEXT *, void *): Assertion `false' failed.
gLinux, clang, debug, SDK 1.4.335.0