summaryrefslogtreecommitdiffstats
path: root/src/compiler/glsl/glsl_parser.yy
diff options
context:
space:
mode:
authorDave Airlie <[email protected]>2016-06-09 06:38:57 +1000
committerIan Romanick <[email protected]>2017-01-20 15:41:23 -0800
commit8ce53d4a2f3f44b8fa00a6a04ec0816f38d788db (patch)
treef3a9e5801ddaad1c85a304f90a282d2e93ab41ab /src/compiler/glsl/glsl_parser.yy
parente90830bb8eb6b143551152916ad9eafbee7731b5 (diff)
glsl: Add basic ARB_gpu_shader_int64 types
This adds the builtins and the lexer support. To avoid too many warnings, it adds basic support to the type in a few other places in mesa, mostly in the trivial places. It also adds a query to be used later for if a type is an integer 32 or 64. Signed-off-by: Dave Airlie <[email protected]> Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Matt Turner <[email protected]>
Diffstat (limited to 'src/compiler/glsl/glsl_parser.yy')
-rw-r--r--src/compiler/glsl/glsl_parser.yy9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/compiler/glsl/glsl_parser.yy b/src/compiler/glsl/glsl_parser.yy
index 519e35b6d53..734dc499cca 100644
--- a/src/compiler/glsl/glsl_parser.yy
+++ b/src/compiler/glsl/glsl_parser.yy
@@ -136,6 +136,7 @@ static bool match_layout_qualifier(const char *s1, const char *s2,
%token ATTRIBUTE CONST_TOK BOOL_TOK FLOAT_TOK INT_TOK UINT_TOK DOUBLE_TOK
%token BREAK BUFFER CONTINUE DO ELSE FOR IF DISCARD RETURN SWITCH CASE DEFAULT
%token BVEC2 BVEC3 BVEC4 IVEC2 IVEC3 IVEC4 UVEC2 UVEC3 UVEC4 VEC2 VEC3 VEC4 DVEC2 DVEC3 DVEC4
+%token INT64 UINT64 I64VEC2 I64VEC3 I64VEC4 U64VEC2 U64VEC3 U64VEC4
%token CENTROID IN_TOK OUT_TOK INOUT_TOK UNIFORM VARYING SAMPLE
%token NOPERSPECTIVE FLAT SMOOTH
%token MAT2X2 MAT2X3 MAT2X4
@@ -2304,6 +2305,14 @@ basic_type_specifier_nonarray:
| UIMAGE2DMS { $$ = "uimage2DMS"; }
| UIMAGE2DMSARRAY { $$ = "uimage2DMSArray"; }
| ATOMIC_UINT { $$ = "atomic_uint"; }
+ | INT64 { $$ = "int64_t"; }
+ | I64VEC2 { $$ = "i64vec2"; }
+ | I64VEC3 { $$ = "i64vec3"; }
+ | I64VEC4 { $$ = "i64vec4"; }
+ | UINT64 { $$ = "uint64_t"; }
+ | U64VEC2 { $$ = "u64vec2"; }
+ | U64VEC3 { $$ = "u64vec3"; }
+ | U64VEC4 { $$ = "u64vec4"; }
;
precision_qualifier: