Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.10.1
-
None
Description
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).
Attachments
Issue Links
- relates to
-
QTBUG-68407 SoftwareGL crashes or fails on some systems
- Reported
Gerrit Reviews
For Gerrit Dashboard: QTBUG-70383 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
467723,1 | WIP: windows: gl: overlay flag | dev | qt/qtbase | Status: NEW | -2 | 0 |