mesa: fix glsl version mismatch in compat profile
authorTimothy Arceri <tarceri@itsqueeze.com>
Tue, 10 Apr 2018 11:40:11 +0000 (21:40 +1000)
committerTimothy Arceri <tarceri@itsqueeze.com>
Tue, 10 Apr 2018 22:05:19 +0000 (08:05 +1000)
Drivers that only support compat 3.0 were reporting GLSL 1.40
support. This fixes issues with the menu of Dawn of War II.

Fixes: a0c8b49284ef "mesa: enable OpenGL 3.1 with ARB_compatibility"
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=105807

src/mesa/main/version.c

index 0a4e7630da6e7898ea2b95ba237be8abf6241864..84babd69e2f0bf53be1c56f7f225159e089cddd2 100644 (file)
@@ -620,8 +620,11 @@ _mesa_compute_version(struct gl_context *ctx)
    /* 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 (_mesa_is_desktop_gl(ctx) && ctx->Version >= 31) {
+   if (_mesa_is_desktop_gl(ctx)) {
       switch (ctx->Version) {
+      case 30:
+         ctx->Const.GLSLVersion = 130;
+         break;
       case 31:
          ctx->Const.GLSLVersion = 140;
          break;
@@ -629,7 +632,8 @@ _mesa_compute_version(struct gl_context *ctx)
          ctx->Const.GLSLVersion = 150;
          break;
       default:
-         ctx->Const.GLSLVersion = ctx->Version * 10;
+         if (ctx->Version >= 33)
+            ctx->Const.GLSLVersion = ctx->Version * 10;
          break;
       }
    }