Observed the following behavior in the binary semaphore version however, the situation is similar for timeline semaphore version too (controlled by #define _VK_TIMELINE_SEMAPHORE
in VulkanBaseApp.h).
When I comment out the cudaSignalExternalSemaphoresAsync() call (which signals the m_cudaSignalSemaphore), in VulkanCudaSineWave::drawFrame() I expect the program to hang since the Vulkan pipeline waits for the m_vkWaitSemaphore (m_cudaSignalSemaphore is the exported version of m_vkWaitSemaphore), but it does NOT; validation is quiet on this too.
I don’t think this is how semaphores supposed to work; what would be an explanation for this behavior?