[Mesa-dev] [PATCH 1/2] st/wgl: Honour request of 3.1 contexts through core profile where available.

Brian Paul brianp at vmware.com
Wed May 7 07:33:15 PDT 2014


On 05/07/2014 07:11 AM, jfonseca at vmware.com wrote:
> From: José Fonseca <jfonseca at vmware.com>
>
> 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 <brianp at vmware.com>



More information about the mesa-dev mailing list