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

Matt Turner mattst88 at gmail.com
Thu Jul 11 10:13:29 PDT 2013


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



More information about the mesa-dev mailing list