st/wgl: Honour request of 3.1 contexts through core profile where available.
Port 5f493eed69 from GLX.
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
@@ -205,10 +205,23 @@ stw_create_context_attribs(
|
||||
*
|
||||
* "The default value for WGL_CONTEXT_PROFILE_MASK_ARB is
|
||||
* WGL_CONTEXT_CORE_PROFILE_BIT_ARB."
|
||||
*
|
||||
* The spec also says:
|
||||
*
|
||||
* "If version 3.1 is requested, the context returned may implement
|
||||
* any of the following versions:
|
||||
*
|
||||
* * Version 3.1. The GL_ARB_compatibility extension may or may not
|
||||
* be implemented, as determined by the implementation.
|
||||
* * The core profile of version 3.2 or greater."
|
||||
*
|
||||
* and because Mesa doesn't support GL_ARB_compatibility, the only chance to
|
||||
* honour a 3.1 context is through core profile.
|
||||
*/
|
||||
attribs.profile = ST_PROFILE_DEFAULT;
|
||||
if ((majorVersion > 3 || (majorVersion == 3 && minorVersion >= 2))
|
||||
&& ((profileMask & WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB) == 0))
|
||||
if (((majorVersion > 3 || (majorVersion == 3 && minorVersion >= 2))
|
||||
&& ((profileMask & WGL_CONTEXT_COMPATIBILITY_PROFILE_BIT_ARB) == 0)) ||
|
||||
(majorVersion == 3 && minorVersion == 1))
|
||||
attribs.profile = ST_PROFILE_OPENGL_CORE;
|
||||
|
||||
ctx->st = stw_dev->stapi->create_context(stw_dev->stapi,
|
||||
|
||||
Reference in New Issue
Block a user