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
