glsl: Add support for parsing #version 140.
authorEric Anholt <eric@anholt.net>
Thu, 8 Mar 2012 21:38:31 +0000 (13:38 -0800)
committerEric Anholt <eric@anholt.net>
Thu, 15 Mar 2012 15:33:54 +0000 (08:33 -0700)
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/glsl/glsl_parser.yy
src/glsl/glsl_parser_extras.cpp
src/glsl/glsl_parser_extras.h
src/mesa/main/getstring.c

index d5e85abc021ad711de6ea6f96f32fbd03392fa69..64506b6358a1864f12d44b9d04df29ef1fabb4ae 100644 (file)
@@ -264,6 +264,9 @@ version_statement:
           case 130:
              supported = state->Const.GLSL_130;
              break;
+          case 140:
+             supported = state->Const.GLSL_140;
+             break;
           default:
              supported = false;
              break;
index 2a72ba1f6f96fbe705d9f15ef39baebe565f0ff8..21c3c6ec2bc28c74f6d627837d3fa50cd84a14b6 100644 (file)
@@ -94,6 +94,8 @@ _mesa_glsl_parse_state::_mesa_glsl_parse_state(struct gl_context *ctx,
       && (ctx->Const.GLSLVersion >= 120);
    this->Const.GLSL_130 = (ctx->API == API_OPENGL)
       && (ctx->Const.GLSLVersion >= 130);
+   this->Const.GLSL_140 = (ctx->API == API_OPENGL)
+      && (ctx->Const.GLSLVersion >= 140);
 
    const unsigned lowest_version =
       (ctx->API == API_OPENGLES2) || ctx->Extensions.ARB_ES2_compatibility
index ee8f71b82800c575298cfe9d19a8c6213ee99304..55676f5a9ecfa861d3ed56f79f3ab18e5b96673b 100644 (file)
@@ -132,6 +132,7 @@ struct _mesa_glsl_parse_state {
       unsigned GLSL_110:1;
       unsigned GLSL_120:1;
       unsigned GLSL_130:1;
+      unsigned GLSL_140:1;
       /*@}*/
    } Const;
 
index 90e0280552eb91a2cb9ddc3b48500fd8152e31bc..2f445aaf97df6e9a81ee72e33dc5ef831981af42 100644 (file)
@@ -53,6 +53,8 @@ shading_language_version(struct gl_context *ctx)
          return (const GLubyte *) "1.20";
       case 130:
          return (const GLubyte *) "1.30";
+      case 140:
+         return (const GLubyte *) "1.40";
       default:
          _mesa_problem(ctx,
                        "Invalid GLSL version in shading_language_version()");