On 02/06/2015 06:56 AM, Ilia Mirkin wrote: > From: Dave Airlie <airl...@gmail.com> > > Signed-off-by: Dave Airlie <airl...@redhat.com> > --- > src/glsl/glsl_lexer.ll | 29 +++++++++++++++++++++++++---- > 1 file changed, 25 insertions(+), 4 deletions(-) > > diff --git a/src/glsl/glsl_lexer.ll b/src/glsl/glsl_lexer.ll > index 57c46be..d8bdaa7 100644 > --- a/src/glsl/glsl_lexer.ll > +++ b/src/glsl/glsl_lexer.ll > @@ -458,6 +458,15 @@ layout { > return FLOATCONSTANT; > } > > +[0-9]+\.[0-9]+([eE][+-]?[0-9]+)?(lf|LF) | > +\.[0-9]+([eE][+-]?[0-9]+)?(lf|LF) | > +[0-9]+\.([eE][+-]?[0-9]+)?(lf|LF) | > +[0-9]+[eE][+-]?[0-9]+(lf|LF) | > +[0-9]+(lf|LF) {
This last one is not correct. We used to allow this for float constants, but we fixed it. See commit 9d8aa88. With that fixed, this patch is Reviewed-by: Ian Romanick <ian.d.roman...@intel.com> > + yylval->dreal = _mesa_strtod(yytext, NULL); > + return DOUBLECONSTANT; > + } > + > true { > yylval->n = 1; > return BOOLCONSTANT; > @@ -489,7 +498,7 @@ external KEYWORD(110, 100, 0, 0, EXTERNAL); > interface KEYWORD(110, 100, 0, 0, INTERFACE); > long KEYWORD(110, 100, 0, 0, LONG_TOK); > short KEYWORD(110, 100, 0, 0, SHORT_TOK); > -double KEYWORD(110, 100, 400, 0, DOUBLE_TOK); > +double KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DOUBLE_TOK); > half KEYWORD(110, 100, 0, 0, HALF); > fixed KEYWORD(110, 100, 0, 0, FIXED_TOK); > unsigned KEYWORD(110, 100, 0, 0, UNSIGNED); > @@ -498,9 +507,21 @@ output KEYWORD(110, 100, 0, 0, OUTPUT); > hvec2 KEYWORD(110, 100, 0, 0, HVEC2); > hvec3 KEYWORD(110, 100, 0, 0, HVEC3); > hvec4 KEYWORD(110, 100, 0, 0, HVEC4); > -dvec2 KEYWORD(110, 100, 400, 0, DVEC2); > -dvec3 KEYWORD(110, 100, 400, 0, DVEC3); > -dvec4 KEYWORD(110, 100, 400, 0, DVEC4); > +dvec2 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DVEC2); > +dvec3 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DVEC3); > +dvec4 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DVEC4); > +dmat2 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT2X2); > +dmat3 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT3X3); > +dmat4 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT4X4); > +dmat2x2 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT2X2); > +dmat2x3 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT2X3); > +dmat2x4 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT2X4); > +dmat3x2 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT3X2); > +dmat3x3 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT3X3); > +dmat3x4 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT3X4); > +dmat4x2 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT4X2); > +dmat4x3 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT4X3); > +dmat4x4 KEYWORD_WITH_ALT(110, 100, 400, 0, > yyextra->ARB_gpu_shader_fp64_enable, DMAT4X4); > fvec2 KEYWORD(110, 100, 0, 0, FVEC2); > fvec3 KEYWORD(110, 100, 0, 0, FVEC3); > fvec4 KEYWORD(110, 100, 0, 0, FVEC4); > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev