Details
-
Suggestion
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
6.7.1
-
None
Description
I need to create multiple QQuickView using the same QQuickGraphicsDevice and which are updated continuously using a QTimer.
The issue is that I am getting random Validation errors such as:
Validation Error: [ UNASSIGNED-Threading-MultipleThreads-Write ] Object 0: handle = 0x1dd2658ffc0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0xa05b236e | vkQueueSubmit(): THREADING ERROR : object of type VkQueue is simultaneously used in current thread 8992 and thread 3908
and
Validation Error: [ UNASSIGNED-Threading-MultipleThreads-Write ] Object 0: handle = 0x1dd2658ffc0, type = VK_OBJECT_TYPE_QUEUE; | MessageID = 0xa05b236e | vkQueuePresentKHR(): THREADING ERROR : object of type VkQueue is simultaneously used in current thread 3908 and thread 8992
According to the Vulkan specs, some Vulkan functions such as vkQueueSubmit() and vkQueuePresentKHR() must be explicitly synchronized on the CPU, meaning they must not be called at the same time from multiple threads.
It looks like Qt is missing some synchronization when multiple windows share the same device.