Mesa (master): glsl: Mark "row_major" as not a reserved word in GLSL ES 3.0 .

Matt Turner mattst88 at kemper.freedesktop.org
Thu Jul 11 23:22:03 UTC 2013


Module: Mesa
Branch: master
Commit: 14ed9018de1e8816f3b99165a6e2afb1acc1d5d7
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=14ed9018de1e8816f3b99165a6e2afb1acc1d5d7

Author: Matt Turner <mattst88 at gmail.com>
Date:   Thu Jul 11 10:11:18 2013 -0700

glsl: Mark "row_major" as not a reserved word in GLSL ES 3.0.

We mark ARB_uniform_buffer_object as enabled under ES 3 since it
contains that functionality, which tricked the compiler into tokenizing
"row_major".

Acked-by: Anuj Phogat <anuj.phogat at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

---

 src/glsl/glsl_lexer.ll |    4 ++--
 1 files 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-commit mailing list