On 05/07/2014 07:11 AM, [email protected] wrote:
From: José Fonseca <[email protected]>

Port 5f493eed69f6fb11239c04119d602f1c23a68cbd from GLX.
---
  src/gallium/state_trackers/wgl/stw_context.c | 17 +++++++++++++++--
  1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/gallium/state_trackers/wgl/stw_context.c 
b/src/gallium/state_trackers/wgl/stw_context.c
index 3a93091..43186fa 100644
--- a/src/gallium/state_trackers/wgl/stw_context.c
+++ b/src/gallium/state_trackers/wgl/stw_context.c
@@ -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,


For both:
Reviewed-by: Brian Paul <[email protected]>

_______________________________________________
mesa-dev mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to