glsl2: Eliminate tokens for square matrix short names
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 13 Aug 2010 16:26:01 +0000 (09:26 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 13 Aug 2010 16:29:39 +0000 (09:29 -0700)
MAT2 and MAT2X2, for example, are treated identically by the parser.
The language version based error checking (becuase mat2x2 is not
available in GLSL 1.10) is already done in the lexer.

src/glsl/glsl_lexer.lpp
src/glsl/glsl_parser.ypp

index 7ef537b2487678f6c226f9b0d82ea220e7dd4d41..a96078e481aadf7bd089a773852dd1cdde51ec6a 100644 (file)
@@ -151,9 +151,9 @@ ivec4               return IVEC4;
 vec2           return VEC2;
 vec3           return VEC3;
 vec4           return VEC4;
-mat2           return MAT2;
-mat3           return MAT3;
-mat4           return MAT4;
+mat2           return MAT2X2;
+mat3           return MAT3X3;
+mat4           return MAT4X4;
 mat2x2         TOKEN_OR_IDENTIFIER(120, MAT2X2);
 mat2x3         TOKEN_OR_IDENTIFIER(120, MAT2X3);
 mat2x4         TOKEN_OR_IDENTIFIER(120, MAT2X4);
index 7c5dc017d894e9a1e40a4d6e834bd674f41edceb..30c43d247498721532364b1c52d5eef0d4733832 100644 (file)
@@ -80,7 +80,7 @@
 %token ATTRIBUTE CONST_TOK BOOL FLOAT INT UINT
 %token BREAK CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT
 %token BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 UVEC2 UVEC3 UVEC4 VEC2 VEC3 VEC4
-%token MAT2 MAT3 MAT4 CENTROID IN OUT INOUT UNIFORM VARYING
+%token CENTROID IN OUT INOUT UNIFORM VARYING
 %token NOPERSPECTIVE FLAT SMOOTH
 %token MAT2X2 MAT2X3 MAT2X4
 %token MAT3X2 MAT3X3 MAT3X4
@@ -1101,9 +1101,6 @@ basic_type_specifier_nonarray:
        | UVEC2                 { $$ = ast_uvec2; }
        | UVEC3                 { $$ = ast_uvec3; }
        | UVEC4                 { $$ = ast_uvec4; }
-       | MAT2                  { $$ = ast_mat2; }
-       | MAT3                  { $$ = ast_mat3; }
-       | MAT4                  { $$ = ast_mat4; }
        | MAT2X2                { $$ = ast_mat2; }
        | MAT2X3                { $$ = ast_mat2x3; }
        | MAT2X4                { $$ = ast_mat2x4; }