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

Reply via email to