I’m trying to allocate descriptor sets in my application with the method “
However this method crashes, and the validation layer indicate that I must use valid
I created descriptorSetLayout by using “
vkCreateDescriptorSetLayout”, and this method returned a
VK_SUCCESS, and I have no warning at all in the validation layer.
After a lot of investigation about this issue, I noticed that the issue seems to come because of multithreading.
vkCreateDescriptorSetLayout” is called in main thread, and “
vkAllocateDescriptorSets” in another one.
The second thread start only after the “
vkCreateDescriptorSetLayout”, so I’m sure that the
descriptorSetLayout is ready. To be really sure, I delayed the second thread by 10 seconds, with the same issue.
If I put the two methods in the same thread, I don’t have any issue.
So my question is: Is it mandatory to have the two methods in the same thread? If yes, how should I know it? The documentation doesn’t speak about it.
I could have done an error in my code, but days of research didn’t lead to anything, so I’m stuck with the impress that i face a limitation of Vulkan about that.
Thank you for your help.