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

QSGGuiThreadRenderLoop uses single context for all windows

    XMLWordPrintable

Details

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

    Description

      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.

      Attachments

        Issue Links

          For Gerrit Dashboard: QTBUG-80508
          # Subject Branch Project Status CR V

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes