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

QSGGuiThreadRenderLoop uses single context for all windows

XMLWordPrintable

    • All
    • 331e2effa7 (qt/qtdeclarative/dev)

      QSGGuiThreadRenderLoop::renderWindow uses a single shared QOpenGLContext for all windows, that is set up on first creation with:

              gl->setFormat(window->requestedFormat());
              gl->setScreen(window->screen());
      

      This is a problem is subsequent windows are rendered where the screen or surface format doesn't match. For example if the first window doesn't have an alpha, while the second window does, the GL context (on macOS e.g.) is setup without an NSOpenGLPFAAlphaSize, resulting in the second window not being transparent but instead black.

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

            lagocs Laszlo Agocs
            vestbo Tor Arne Vestbø
            Votes:
            7 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes