Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-126224

Threading errors when using the same QQuickGraphicsDevice in multiple QQuickView

XMLWordPrintable

    • Icon: Suggestion Suggestion
    • Resolution: Unresolved
    • Icon: Not Evaluated Not Evaluated
    • None
    • 6.7.1
    • None
    • Windows

      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.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            lagocs Laszlo Agocs
            maximeduriez Maxime Duriez
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes