Skip to content

Devices, Send/Sync #500

Closed Answered by nickkuk
pmathia0 asked this question in Q&A
Nov 23, 2021 · 1 comments · 1 reply
Discussion options

You must be logged in to vote

ash::vk::Device is just 64-bit Vulkan handle; ash::Device is ash::vk::Device plus addresses of loaded functions.

In Vulkan spec chapter Threading Behavior you can see that in Vulkan only parameters of some functions must be externally synchronized. For VkDevice it is only vkDestroyDevice and while using ash you must do this synchronization yourself, e.g. just create impl Drop for your device wrapper (which also can implement Send and Sync).

Replies: 1 comment 1 reply

Comment options

You must be logged in to vote
1 reply
@pmathia0
Comment options

Answer selected by pmathia0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants