Module: Mesa
Branch: 7.9
Commit: df033be3f7d7ac314ad60958d10c4b4cf28be7f7
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=df033be3f7d7ac314ad60958d10c4b4cf28be7f7

Author: Ian Romanick <[email protected]>
Date:   Fri Jan  7 16:03:48 2011 -0800

glsl: Add version_string containing properly formatted GLSL version
(cherry picked from commit eebdfdfbcf2721349d2c2cafe2d81fd83cade9b9)

---

 src/glsl/glsl_parser.ypp      |   27 +++++++++++++--------------
 src/glsl/glsl_parser_extras.h |    1 +
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/src/glsl/glsl_parser.ypp b/src/glsl/glsl_parser.ypp
index 209e180..8be6893 100644
--- a/src/glsl/glsl_parser.ypp
+++ b/src/glsl/glsl_parser.ypp
@@ -230,6 +230,11 @@ version_statement:
           case 130:
              /* FINISHME: Check against implementation support versions. */
              state->language_version = $2;
+             state->version_string =
+                talloc_asprintf(state, "GLSL%s %d.%02d",
+                                state->es_shader ? " ES" : "",
+                                state->language_version / 100,
+                                state->language_version % 100);
              break;
           default:
              _mesa_glsl_error(& @2, state, "Shading language version"
@@ -248,11 +253,8 @@ pragma_statement:
        {
           if (state->language_version < 120) {
              _mesa_glsl_warning(& @1, state,
-                                "pragma `invariant(all)' not supported in "
-                                "GLSL%s %d.%02d",
-                                state->es_shader ? " ES" : "",
-                                state->language_version / 100,
-                                state->language_version % 100);
+                                "pragma `invariant(all)' not supported in %s",
+                                state->version_string);
           } else {
              state->all_invariant = true;
           }
@@ -1167,10 +1169,9 @@ precision_qualifier:
                     if (!state->es_shader && state->language_version < 130)
                        _mesa_glsl_error(& @1, state,
                                         "precision qualifier forbidden "
-                                        "in GLSL %d.%d (1.30 or later "
+                                        "in %s (1.30 or later "
                                         "required)\n",
-                                        state->language_version / 100,
-                                        state->language_version % 100);
+                                        state->version_string);
 
                     $$ = ast_precision_high;
                  }
@@ -1178,10 +1179,9 @@ precision_qualifier:
                     if (!state->es_shader && state->language_version < 130)
                        _mesa_glsl_error(& @1, state,
                                         "precision qualifier forbidden "
-                                        "in GLSL %d.%d (1.30 or later "
+                                        "in %s (1.30 or later "
                                         "required)\n",
-                                        state->language_version / 100,
-                                        state->language_version % 100);
+                                        state->version_string);
 
                     $$ = ast_precision_medium;
                  }
@@ -1189,10 +1189,9 @@ precision_qualifier:
                     if (!state->es_shader && state->language_version < 130)
                        _mesa_glsl_error(& @1, state,
                                         "precision qualifier forbidden "
-                                        "in GLSL %d.%d (1.30 or later "
+                                        "in %s (1.30 or later "
                                         "required)\n",
-                                        state->language_version / 100,
-                                        state->language_version % 100);
+                                        state->version_string);
 
                     $$ = ast_precision_low;
                  }
diff --git a/src/glsl/glsl_parser_extras.h b/src/glsl/glsl_parser_extras.h
index 10de536..8e4fcc9 100644
--- a/src/glsl/glsl_parser_extras.h
+++ b/src/glsl/glsl_parser_extras.h
@@ -70,6 +70,7 @@ struct _mesa_glsl_parse_state {
 
    bool es_shader;
    unsigned language_version;
+   const char *version_string;
    enum _mesa_glsl_parser_targets target;
 
    /**

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to