Details
-
Suggestion
-
Resolution: Done
-
P2: Important
-
None
-
None
-
macOS Sierra
-
-
8b8578a155b7932a79049174f913eea3379c0f28
Description
Currently, when requesting an OpenGL 4.1 context on macOS, the Qt implementation will use the NSOpenGLProfileVersion3_2Core attribute, instead of NSOpenGLProfileVersion4_1Core. macOS will return the highest version context it can, which for modern macs is 4.1.
Other libraries for cross platform context creation, such as glfw, will use the NSOpenGLProfileVersion4_1Core attribute when requesting a 4.1 context. This leads to a failure when attempting to create a 4.1 Qt context that is shared with an externally created glfw 4.1 context.
Ideally Qt should specify the NSOpenGLProfileVersion4_1Core attribute when a 4.1 context is requested.
The issue can be worked around by requesting a 3.2 context in glfw, as it will also return a 4.1 context on the right hardware, however this solution is not ideal and is counter-intuitive.