Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.2.1
-
None
-
Windows 7, AMD Radeon R9 200 Series, Driver version 13.251.0.0 (Date 12/6/2013)
-
d8281a92b8eb1c5fa3e430c296f22a713cbe1808
Description
Tested with GPU "AMD Radeon R9 200 Series" and driver version 13.251.0.0 on Windows 7.
The driver does not return a context with a QSurfaceFormat::CompatibilityProfile when QSurfaceFormat::DeprecatedFunctions are not requested as well, i.e. when WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB is set.
If the issue exists on a specific system it can be reproduced with the attached sample code. It is important to request a context with a version >= 0x0300 (see qwindowsglcontext.cpp, ll. 503ff).
According to the OpenGL wiki, one should "should never use the forward compatibility bit" (better is probably "hardly ever", see [1] at the very bottom).
QGLFormat does not support DeprecatedFunctions, only QSurfaceFormat does. The default behavior of QSurfaceFormat is to not set the DeprecatedFunctions flag, which is contrary to what is suggested in [1]. As a consequence, it is currently not possible to request/configure a default context via QGLFormat::setDefaultFormat which supports OpenGL version >= 0x0300 and the CompatibilityProfile on some graphics cards.
[1] http://www.opengl.org/wiki/Core_And_Compatibility_in_Contexts
Attachments
For Gerrit Dashboard: QTBUG-37909 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
82369,2 | Do not set fwdcompat on AMD for compatibility profile | stable | qt/qtbase | Status: ABANDONED | -1 | 0 |
82374,1 | Do not set fwdcompat bit for a compatibility profile QGLFormat | stable | qt/qtbase | Status: MERGED | +2 | 0 |