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

Default context creation fails on AMD FirePro W5100

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P2: Important P2: Important
    • None
    • 5.10.1
    • GUI: OpenGL
    • None
    • Windows

      On Windows 10 on AMD FirePro W5100 graphics card the software mode OpenGL settings:

      QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts);
      QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL);

      fails to initialize rendering target for QGuiApplication.

      This starts on qguiapplication.cpp - line 1458 - ctx-create();
      Then goes to: qwindowsglcontext.cpp - line 1130 - m_pixelFormat =
      ARB::choosePixelFormat(hdc, *m_staticContext, format,
      requestedAdditional, &m_obtainedPixelFormatDescriptor);

      Then on line 589 it chooses the valid format for HW accelerated (switched to software OpenGL) DLL: const bool valid =
      staticContext.wglChoosePixelFormatARB(hdc, iAttributes, 0, 1,
      &pixelFormat, &numFormats)

      However line 618 then rejects it if (!isAcceptableFormat(additional, *obtainedPfd, true)) on the basis that chosen pfd (pixel format description) does allow overlays, but overlay wasn't requested - line 323: const bool overlayOk = hasGLOverlay(pfd) == testFlag(additional.formatFlags, QWindowsGLOverlay);

      However that is non-sense and that's why you are likely experiencing problems with professional ATI graphic card series in software mode. If it additionally supports overlay, but overlay wasn't requested it should be still accepted (at least if that's the only one format matching the criteria provided).

       

       

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

            lagocs Laszlo Agocs
            filousov Pavel Celba
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated:

                There is 1 open Gerrit change