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

Ian Romanick idr at freedesktop.org
Thu Jul 11 14:11:18 PDT 2013


On 07/11/2013 10:13 AM, Matt Turner 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".

I believe this is a candidate for stable.  You should mail it to 
mesa-stable after it lands.  It will be fun to test that new path. :)

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

> ---
>   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);
>



More information about the mesa-dev mailing list