[Mesa-dev] [PATCH 1/3] glsl: Add support for parsing #version 140.

Eric Anholt eric at anholt.net
Fri Mar 9 13:27:19 PST 2012


---
 src/glsl/glsl_parser.yy         |    3 +++
 src/glsl/glsl_parser_extras.cpp |    2 ++
 src/glsl/glsl_parser_extras.h   |    1 +
 src/mesa/main/getstring.c       |    2 ++
 4 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy
index d5e85ab..64506b6 100644
--- a/src/glsl/glsl_parser.yy
+++ b/src/glsl/glsl_parser.yy
@@ -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;
diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
index 2a72ba1..21c3c6e 100644
--- a/src/glsl/glsl_parser_extras.cpp
+++ b/src/glsl/glsl_parser_extras.cpp
@@ -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
diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h
index ee8f71b..55676f5 100644
--- a/src/glsl/glsl_parser_extras.h
+++ b/src/glsl/glsl_parser_extras.h
@@ -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;
 
diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c
index dbf6c3f..666df57 100644
--- a/src/mesa/main/getstring.c
+++ b/src/mesa/main/getstring.c
@@ -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()");
-- 
1.7.9.1



More information about the mesa-dev mailing list