Showing results for 
Search instead for 
Did you mean: 

OpenGL & Vulkan

Adept I

Vulkan, RX 580, Windows 7 bug with interaction of timeline semaphores and swapchain

Hello! I noticed a bug that causes queue submissions to never finish executing on the GPU. This makes the application hang on either vkDeviceWaitIdle, vkAcquireNextImage or similar forms of synchronization. Nothing ever ends up displayed through the swapchain either. I came up with these minimal steps necessary for reproducing it:

  • Timeline semaphores must be enabled as a feature
  • At least one such timeline semaphore must be created, even if it's never used
  • A swapchain is created and used
  • The vkQueueSubmit command that waits on and signals the binary semaphores for synchronizing with the swapchain also has a VkTimelineSemaphoreSubmitInfo structure attached to pNext. It doesn't matter how this structure is filled out, it may even be empty.

Then the binary semaphore is never signaled and the application hangs. So far this could only be reproduced on an RX 580 on Windows 7 with the latest AMD drivers. There are no issues on a RX 480 on Windows 10, suggesting it might only be present on Win 7.

I have edited the cube.c example from the SDK to reproduce the bug:

Thanks in advance for an early resolution.

5 Replies

Hi @ Dolkar

You d'better upload a minimal test case instead of building from source


Hi Andrey.

Good point, thanks. Here is the executable built from the source above:

What you should see: A window with a spinning LunarG cube, just like the cube.exe that ships with Vulkan SDK

What you see due to the bug: The program hangs and becomes unresponsive, no cube is ever displayed. Note that we could only reproduce this on Windows 7


@Dolkar , this is working on Windows 10/AMD RX 650

I can test it on Windows 7, if you need 


@Dolkar, Yes you are right, i can reproduce bug on windows 7 x64 sp1, drivers 04.12.2020

Could I please get an update on this? Or whether this is not getting fixed because of win 7 EoL.