Title: Semaphore signalling issue with Win32 · vsg-dev/VulkanSceneGraph · Discussion #1620 · GitHub
Open Graph Title: Semaphore signalling issue with Win32 · vsg-dev/VulkanSceneGraph · Discussion #1620
X Title: Semaphore signalling issue with Win32 · vsg-dev/VulkanSceneGraph · Discussion #1620
Description: Semaphore signalling issue with Win32
Open Graph Description: Hello, I'm looking to migrate an OSG based windows application to VSG, and as a starting point I'm attempting to create a minimal sandbox application roughly following the vsgwin32 example. VSG cre...
X Description: Hello, I'm looking to migrate an OSG based windows application to VSG, and as a starting point I'm attempting to create a minimal sandbox application roughly following the vsgwin32 example....
Opengraph URL: https://github.com/vsg-dev/VulkanSceneGraph/discussions/1620
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"QAPage","mainEntity":{"@type":"Question","name":"Semaphore signalling issue with Win32","text":"Hello,
\nI'm looking to migrate an OSG based windows application to VSG, and as a starting point I'm attempting to create a minimal sandbox application roughly following the vsgwin32 example.
\nVSG creates a window and gets as far as the first frame, but then runs into a semaphore signalling issue:
\nValidation Error: [ VUID-vkQueueSubmit-pSignalSemaphores-00067 ] | MessageID = 0x539277af\nvkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x30000000003) is being signaled by VkQueue 0x17b7c8bf778, but it may still be in use by VkSwapchainKHR 0x200000000020.\nHere are the most recently acquired image indices: [0], 1.\n(brackets mark the last use of VkSemaphore 0x30000000003 in a presentation operation)\nSwapchain image 0 was presented but was not re-acquired, so VkSemaphore 0x30000000003 may still be in use and cannot be safely reused with image index 1.\nVulkan insight: One solution is to assign each image its own semaphore. Here are some common methods to ensure that a semaphore passed to vkQueuePresentKHR is not in use and can be safely reused:\n a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.\n b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.\nThe 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.321.1/windows/antora/spec/latest/chapters/cmdbuffers.html#VUID-vkQueueSubmit-pSignalSemaphores-00067)\nObjects: 2\n [0] VkSemaphore 0x30000000003\n [1] VkQueue 0x17b7c8bf778\n\nValidation Error: [ VUID-vkQueueSubmit-pSignalSemaphores-00067 ] | MessageID = 0x539277af\nvkQueueSubmit(): pSubmits[0].pSignalSemaphores[0] (VkSemaphore 0x30000000003) is being signaled by VkQueue 0x17b7c8bf778, but it may still be in use by VkSwapchainKHR 0x200000000020.\nHere are the most recently acquired image indices: 0, [1], 2.\n(brackets mark the last use of VkSemaphore 0x30000000003 in a presentation operation)\nSwapchain image 1 was presented but was not re-acquired, so VkSemaphore 0x30000000003 may still be in use and cannot be safely reused with image index 2.\nVulkan insight: One solution is to assign each image its own semaphore. Here are some common methods to ensure that a semaphore passed to vkQueuePresentKHR is not in use and can be safely reused:\n a) Use a separate semaphore per swapchain image. Index these semaphores using the index of the acquired image.\n b) Consider the VK_KHR_swapchain_maintenance1 extension. It allows using a VkFence with the presentation operation.\nThe 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.321.1/windows/antora/spec/latest/chapters/cmdbuffers.html#VUID-vkQueueSubmit-pSignalSemaphores-00067)\nObjects: 2\n [0] VkSemaphore 0x30000000003\n [1] VkQueue 0x17b7c8bf778\n
\nI'd appreciate any advice about what I've missed. I haven't implemented any custom window classes or event handling as it wasn't needed with OSG, are extra steps needed for VSG?
","upvoteCount":1,"answerCount":3,"acceptedAnswer":{"@type":"Answer","text":"This is known issue with some drivers, it's more of validation issue than a bug that causes runtime issues, as I've never known any runtime problems to be traced back to validation issue, so for now you'll probably get on just fine ignoring it.
\nThis issue has a few potential ways to quieten this validation issue but I haven't yet had a chance to sit down a explore these. Once I've got some time I'll dive into the topic and will likely be making calls for testing across different OS, builds and hardware systems to make sure any changes don't introduce new problems.
","upvoteCount":1,"url":"https://github.com/vsg-dev/VulkanSceneGraph/discussions/1620#discussioncomment-15198982"}}}
| route-pattern | /_view_fragments/Voltron::DiscussionsFragmentsController/show/:user_id/:repository/:discussion_number/discussion_layout(.:format) |
| route-controller | voltron_discussions_fragments |
| route-action | discussion_layout |
| fetch-nonce | v2:b723d6b7-9cb6-12d9-0dd5-e8502dd1951c |
| current-catalog-service-hash | 9f0abe34da433c9b6db74bffa2466494a717b579a96b30a5d252e5090baea7be |
| request-id | 8692:12D09:A277CAA:D7AE8BE:698C16F0 |
| html-safe-nonce | 9afbb755a5a827ef2731a4ee85fa391c6142fdb9d766d5e55afaf89b548a772f |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NjkyOjEyRDA5OkEyNzdDQUE6RDdBRThCRTo2OThDMTZGMCIsInZpc2l0b3JfaWQiOiIxMTAzNTE0MDkyMzkwMDYxODA4IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 5555024990f91502f94d57d5a3aabfb9ed78020cb360a74beb58dc7f91c85cb5 |
| hovercard-subject-tag | discussion:9224108 |
| github-keyboard-shortcuts | repository,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/Voltron::DiscussionsFragmentsController/show/vsg-dev/VulkanSceneGraph/1620/discussion_layout |
| twitter:image | https://opengraph.githubassets.com/3d6e714f94853091a97eefde02aaa112da4eddd4c12551f20bc44330652ab0b2/vsg-dev/VulkanSceneGraph/discussions/1620 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/3d6e714f94853091a97eefde02aaa112da4eddd4c12551f20bc44330652ab0b2/vsg-dev/VulkanSceneGraph/discussions/1620 |
| og:image:alt | Hello, I'm looking to migrate an OSG based windows application to VSG, and as a starting point I'm attempting to create a minimal sandbox application roughly following the vsgwin32 example. VSG cre... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 640eeb7b6ff4d8d106235d228c0c286e82592d4d2403227b5b2b4fc5832297a4 |
| turbo-cache-control | no-preview |
| go-import | github.com/vsg-dev/VulkanSceneGraph git https://github.com/vsg-dev/VulkanSceneGraph.git |
| octolytics-dimension-user_id | 44898258 |
| octolytics-dimension-user_login | vsg-dev |
| octolytics-dimension-repository_id | 148609004 |
| octolytics-dimension-repository_nwo | vsg-dev/VulkanSceneGraph |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 148609004 |
| octolytics-dimension-repository_network_root_nwo | vsg-dev/VulkanSceneGraph |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 3d444f0a47beeeac94cddbb51c91ab408befe8d4 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width