#3567·bgfx

Vulkan swapchain semaphore reuse issue

Author: attilazCreated Jan 30, 2026Updated Mar 25, 2026

We get validation errors like this with latest Vulkan SDK 1.4.335.0:

D:\Development\github\bgfx\src\renderer_vk.cpp (740): BGFX ---E-           Semaphore, Validation, 0: vkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x1d000000001d[m_renderDoneSemaphore[7]]) is being signaled by VkQueue 0x2057f574c30, but it may still be in use by VkSwapchainKHR 0x90000000009[m_swapChain].
Most recently acquired image indices: 0, 0, 0, 0, 0, 0, 0, 0.
(Brackets mark the last use of VkSemaphore 0x1d000000001d[m_renderDoneSemaphore[7]] in a presentation operation.)
Swapchain image 1 was presented but was not re-acquired, so VkSemaphore 0x1d000000001d[m_renderDoneSemaphore[7]] may still be in use and cannot be safely reused with image index 0.
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://docs.vulkan.org/spec/latest/chapters/cmdbuffers.html#VUID-vkQueueSubmit-pSignalSemaphores-00067)

I havent't seen this with old sdk, so don't know if this is a false positive or a new validation check. We get this with our current project, and I can reproduce this with 2 bgfx examples on my machine. It is somehow related to gpu frametime, maybe when gpu framerate suddenly changes?

In the examples.exe 05-instancing: move the slider grid side size. and the reportcb triggers. 26-occlusion: I simply start this example with combobox, and it triggers error.

This is on windows11 with nvidia geforce gtx 1650, with latest driver (32.0.15.9186)