[Mesa-dev] [PATCH] glsl: Mark "row_major" as not a reserved word in GLSL ES 3.0.

Anuj Phogat anuj.phogat at gmail.com
Thu Jul 11 10:57:27 PDT 2013


On Thu, Jul 11, 2013 at 10:13 AM, Matt Turner <mattst88 at gmail.com> wrote:
> We mark ARB_uniform_buffer_object as enabled under ES 3 since it
> contains that functionality, which tricked the compiler into tokenizing
> "row_major".
> ---
>  src/glsl/glsl_lexer.ll | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/glsl/glsl_lexer.ll b/src/glsl/glsl_lexer.ll
> index 008ef30..e66ce7b 100644
> --- a/src/glsl/glsl_lexer.ll
> +++ b/src/glsl/glsl_lexer.ll
> @@ -72,7 +72,7 @@ static int classify_identifier(struct _mesa_glsl_parse_state *, const char *);
>                           alt_expr, token)                              \
>     do {                                                                        \
>        if (yyextra->is_version(allowed_glsl, allowed_glsl_es)           \
> -          || alt_expr) {                                               \
> +          || (alt_expr)) {                                             \
>          return token;                                                  \
>        } else if (yyextra->is_version(reserved_glsl,                    \
>                                       reserved_glsl_es)) {              \
> @@ -522,7 +522,7 @@ image2DArrayShadow KEYWORD(130, 300, 0, 0, IMAGE2DARRAYSHADOW);
>  imageBuffer    KEYWORD(130, 300, 0, 0, IMAGEBUFFER);
>  iimageBuffer   KEYWORD(130, 300, 0, 0, IIMAGEBUFFER);
>  uimageBuffer   KEYWORD(130, 300, 0, 0, UIMAGEBUFFER);
> -row_major      KEYWORD_WITH_ALT(130, 0, 140, 0, yyextra->ARB_uniform_buffer_object_enable, ROW_MAJOR);
> +row_major      KEYWORD_WITH_ALT(130, 0, 140, 0, yyextra->ARB_uniform_buffer_object_enable && !yyextra->es_shader, ROW_MAJOR);
>
>      /* Additional reserved words in GLSL 1.40 */
>  isampler2DRect KEYWORD(140, 300, 140, 0, ISAMPLER2DRECT);
> --
> 1.8.1.5
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Acked-by: Anuj Phogat <anuj.phogat at gmail.com>


More information about the mesa-dev mailing list