diff options
author | Eric Anholt <[email protected]> | 2010-07-28 16:11:26 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-07-28 17:32:11 -0700 |
commit | 192b57df8c451c7ae39e5471124a9bab36ec17f8 (patch) | |
tree | 84b636e7435ef73cd79fc7d3923474d7499c97d2 /src/glsl/glsl_lexer.lpp | |
parent | 35cc8b98ec4d898417de5b820dcbcf62c74b3599 (diff) |
glsl2: Make lowp, mediump, highp, and precision identifiers pre-1.20.
Fixes glsl-precision-110.
Diffstat (limited to 'src/glsl/glsl_lexer.lpp')
-rw-r--r-- | src/glsl/glsl_lexer.lpp | 36 |
1 files changed, 32 insertions, 4 deletions
diff --git a/src/glsl/glsl_lexer.lpp b/src/glsl/glsl_lexer.lpp index ebfea37597d..702e79a363e 100644 --- a/src/glsl/glsl_lexer.lpp +++ b/src/glsl/glsl_lexer.lpp @@ -318,10 +318,38 @@ namespace return NAMESPACE; using return USING; /* Additional reserved words in GLSL 1.20. */ -lowp return LOWP; -mediump return MEDIUMP; -highp return HIGHP; -precision return PRECISION; +lowp { + if (yyextra->language_version >= 120){ + return LOWP; + } else { + yylval->identifier = strdup(yytext); + return IDENTIFIER; + } + } +mediump { + if (yyextra->language_version >= 120){ + return MEDIUMP; + } else { + yylval->identifier = strdup(yytext); + return IDENTIFIER; + } + }return MEDIUMP; +highp { + if (yyextra->language_version >= 120){ + return HIGHP; + } else { + yylval->identifier = strdup(yytext); + return IDENTIFIER; + } + } +precision { + if (yyextra->language_version >= 120){ + return PRECISION; + } else { + yylval->identifier = strdup(yytext); + return IDENTIFIER; + } + } [_a-zA-Z][_a-zA-Z0-9]* { struct _mesa_glsl_parse_state *state = yyextra; |