[Mesa-dev] [PATCH v2] mesa: fix up GLSL version when computing GL version

Brian Paul brianp at vmware.com
Mon Apr 27 12:53:29 PDT 2015


On 04/27/2015 12:11 PM, Ilia Mirkin wrote:
> In some situations it is convenient for a driver to expose a higher GLSL
> version while some extensions are still incomplete. However in that
> situation, it would report a GLSL version that was higher than the GL
> version. Avoid that situation by limiting the GLSL version to the GL
> version.
>
> Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
> ---
>
> v1 -> v2:
>    do work in _mesa_compute_version, not in compute_version
>    only fix up core profile (easier and this situation doesn't come up for compat)
>
>   src/mesa/main/version.c | 11 +++++++++++
>   1 file changed, 11 insertions(+)
>
> diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
> index da255b2..6024dc8 100644
> --- a/src/mesa/main/version.c
> +++ b/src/mesa/main/version.c
> @@ -483,6 +483,17 @@ _mesa_compute_version(struct gl_context *ctx)
>
>      ctx->Version = _mesa_get_version(&ctx->Extensions, &ctx->Const, ctx->API);
>
> +   /* Make sure that the GLSL version lines up with the GL version. In some
> +    * cases it can be too high, e.g. if an extension is missing.
> +    */
> +   if (ctx->API == API_OPENGL_CORE) {
> +      switch (ctx->Version) {
> +      case 31: ctx->Const.GLSLVersion = 140; break;
> +      case 32: ctx->Const.GLSLVersion = 150; break;
> +      default: ctx->Const.GLSLVersion = ctx->Version * 10; break;
> +      }

Would you mind formatting this like other switch/cases:

case 31:
    ctx->Const.GLSLVersion = 140;
    break;

> +   }
> +
>      switch (ctx->API) {
>      case API_OPENGL_COMPAT:
>      case API_OPENGL_CORE:
>

Looks OK otherwise.
Reviewed-by: Brian Paul <brianp at vmware.com>




More information about the mesa-dev mailing list