Reorganize tests into a real spec suite

This commit is contained in:
2024-08-04 19:18:43 -03:00
parent 57c160173c
commit e7c2053222
693 changed files with 136 additions and 116 deletions

View File

@ -0,0 +1,72 @@
---input---
alias a=ptr<function,i32>;
alias b=ptr<private,i32>;
alias c=ptr<workgroup,i32>;
alias d=ptr<uniform,i32>;
alias e=ptr<storage,i32>;
---tokens---
'alias' Keyword
' ' Text.Whitespace
'a' Name
'=' Operator
'ptr' Name.Builtin
'<' Operator
'function' Name.Builtin
',' Punctuation
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'b' Name
'=' Operator
'ptr' Name.Builtin
'<' Operator
'private' Name.Builtin
',' Punctuation
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'c' Name
'=' Operator
'ptr' Name.Builtin
'<' Operator
'workgroup' Name.Builtin
',' Punctuation
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'd' Name
'=' Operator
'ptr' Name.Builtin
'<' Operator
'uniform' Name.Builtin
',' Punctuation
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'e' Name
'=' Operator
'ptr' Name.Builtin
'<' Operator
'storage' Name.Builtin
',' Punctuation
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,87 @@
---input---
@id(0) override x:i32 = 1;
@ id(1) override y:i32 = 2;
@//comment
id(1) override z:i32 = 3;
@must_use fn foo() -> i32 { return 32; }
---tokens---
'@' Name.Decorator
'id' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'override' Keyword.Declaration
' ' Text.Whitespace
'x' Name
':' Punctuation
'i32' Name.Builtin
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1' Literal.Number.Integer
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
' ' Text.Whitespace
'id' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'override' Keyword.Declaration
' ' Text.Whitespace
'y' Name
':' Punctuation
'i32' Name.Builtin
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'2' Literal.Number.Integer
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'//comment\n' Comment.Single
'id' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'override' Keyword.Declaration
' ' Text.Whitespace
'z' Name
':' Punctuation
'i32' Name.Builtin
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'3' Literal.Number.Integer
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'must_use' Name.Decorator
' ' Text.Whitespace
'fn' Keyword
' ' Text.Whitespace
'foo' Name
'(' Punctuation
')' Punctuation
' ' Text.Whitespace
'->' Punctuation
' ' Text.Whitespace
'i32' Name.Builtin
' ' Text.Whitespace
'{' Punctuation
' ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'32' Literal.Number.Integer
';' Punctuation
' ' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,34 @@
---input---
/**/
/*block with newline
*/
/*block with line
ending comment// */
/* nested /*
*/
*/
---tokens---
' ' Text.Whitespace
'/*' Comment.Multiline
'*/' Comment.Multiline
'\n ' Text.Whitespace
'/*' Comment.Multiline
'block with newline\n ' Comment.Multiline
'*/' Comment.Multiline
'\n ' Text.Whitespace
'/*' Comment.Multiline
'block with line\n ending comment' Comment.Multiline
'/' Comment.Multiline
'/' Comment.Multiline
' ' Comment.Multiline
'*/' Comment.Multiline
'\n ' Text.Whitespace
'/*' Comment.Multiline
' nested ' Comment.Multiline
'/*' Comment.Multiline
'\n ' Comment.Multiline
'*/' Comment.Multiline
'\n ' Comment.Multiline
'*/' Comment.Multiline
'\n' Text.Whitespace

View File

@ -0,0 +1,47 @@
---input---
alias boolean=bool;
alias bvec2=vec2<bool>;
alias bvec3=vec3<bool>;
alias bvec4=vec4<bool>;
---tokens---
'alias' Keyword
' ' Text.Whitespace
'boolean' Name
'=' Operator
'bool' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'bvec2' Name
'=' Operator
'vec2' Name.Builtin
'<' Operator
'bool' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'bvec3' Name
'=' Operator
'vec3' Name.Builtin
'<' Operator
'bool' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'bvec4' Name
'=' Operator
'vec4' Name.Builtin
'<' Operator
'bool' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,549 @@
---input---
const a = 0;
const au = 0u;
const ai = 0i;
const b = 12345;
const bu = 12345u;
const bi= 12345i;
const c = 0x0;
const cu = 0x0u;
const ci = 0x0i;
const d = 0x12345;
const di = 0x12345i;
const du = 0x12345u;
const eh = 0h;
const ef = 0f;
const f = 1.;
const fh = 1.h;
const ff = 1.f;
const g = .1;
const gh = .1h;
const gf = .1f;
const g = 1e1;
const gh = 1e1h;
const gf = 1e1f;
const h = 1e+1;
const hh = 1e+1h;
const hf = 1e+1f;
const i = 1e-1;
const ih = 1e-1h;
const if = 1e-1f;
const j = 1.0e+1;
const jh = 1.0e+1h;
const jf= 1.0e+1f;
const k = 1.0e-1;
const kh = 1.0e-1h;
const kf= 1.0e-1f;
const l = 0x1p1;
const lh = 0x1p1h;
const lf = 0x1p1f;
const m = 0x1p+1;
const mh = 0x1p+1h;
const mf = 0x1p+1f;
const n = 0x1p-1;
const nh = 0x1p-1h;
const nf = 0x1p-1f;
const o = 0x1.p1;
const oh = 0x1.p1h;
const of = 0x1.p1f;
const p = 0x.1p1;
const ph = 0x.1p1h;
const pf = 0x.1p1f;
---tokens---
'const' Keyword.Declaration
' ' Text.Whitespace
'a' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0' Literal.Number.Integer
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'au' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0u' Literal.Number.Integer
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'ai' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0i' Literal.Number.Integer
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'b' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'12345' Literal.Number.Integer
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'bu' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'12345u' Literal.Number.Integer
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'bi' Name
'=' Operator
' ' Text.Whitespace
'12345i' Literal.Number.Integer
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'c' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x0' Literal.Number.Hex
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'cu' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x0u' Literal.Number.Hex
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'ci' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x0i' Literal.Number.Hex
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'd' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x12345' Literal.Number.Hex
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'di' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x12345i' Literal.Number.Hex
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'du' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x12345u' Literal.Number.Hex
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'eh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'ef' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'f' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1.' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'fh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1.h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'ff' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1.f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'g' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'.1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'gh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'.1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'gf' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'.1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'g' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1e1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'gh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1e1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'gf' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1e1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'h' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1e+1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'hh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1e+1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'hf' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1e+1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'i' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1e-1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'ih' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1e-1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'if' Keyword
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1e-1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'j' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1.0e+1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'jh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1.0e+1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'jf' Name
'=' Operator
' ' Text.Whitespace
'1.0e+1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'k' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1.0e-1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'kh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'1.0e-1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'kf' Name
'=' Operator
' ' Text.Whitespace
'1.0e-1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'l' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1p1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'lh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1p1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'lf' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1p1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'm' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1p+1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'mh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1p+1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'mf' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1p+1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'n' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1p-1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'nh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1p-1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'nf' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1p-1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'o' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1.p1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'oh' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1.p1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'of' Keyword.Reserved
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x1.p1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'p' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x.1p1' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'ph' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x.1p1h' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace
'const' Keyword.Declaration
' ' Text.Whitespace
'pf' Name
' ' Text.Whitespace
'=' Operator
' ' Text.Whitespace
'0x.1p1f' Literal.Number.Float
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,97 @@
---input---
@group(0) @binding(1) var texture_depth_2d;
@group(0) @binding(2) var texture_depth_2d_array;
@group(0) @binding(4) var texture_depth_cube;
@group(0) @binding(5) var texture_depth_cube_array;
@group(0) @binding(5) var texture_depth_multisampled_2d;
---tokens---
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_depth_2d' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'2' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_depth_2d_array' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'4' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_depth_cube' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'5' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_depth_cube_array' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'5' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_depth_multisampled_2d' Name.Builtin
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,21 @@
---input---
@group(0) @binding(5) var texture_external;
---tokens---
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'5' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_external' Name.Builtin
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,13 @@
---input---
// this is a line-ending comment
//* embed a bock comment start, after a space
// /* embed a bock comment start, v2
---tokens---
' ' Text.Whitespace
'// this is a line-ending comment\n' Comment.Single
' ' Text.Whitespace
'//* embed a bock comment start, after a space\n' Comment.Single
'// /* embed a bock comment start, v2\n' Comment.Single

View File

@ -0,0 +1,24 @@
---input---
@group(0) @binding(5) var texture_multisampled_2d<f32>;
---tokens---
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'5' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_multisampled_2d' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,642 @@
---input---
enable f16;
alias int=i32;
alias uint=u32;
alias float=f32;
alias half=f16;
alias ivec2=vec2i;
alias uvec2=vec2u;
alias vec2=vec2f;
alias ivec3=vec3i;
alias uvec3=vec3u;
alias vec3=vec3f;
alias ivec4=vec4i;
alias uvec4=vec4u;
alias ivec2_=vec2<i32>;
alias uvec2_=vec2<u32>;
alias vec2_=vec2<f32>;
alias ivec3_=vec3<i32>;
alias uvec3_=vec3<u32>;
alias vec3_=vec3<f32>;
alias ivec4_=vec4<i32>;
alias uvec4_=vec4<u32>;
alias vec4_=vec4<f32>;
alias hvec2=vec2h;
alias hvec3=vec3h;
alias hvec4=vec4h;
alias hvec4_=vec4<f16>;
alias m22=mat2x2f;
alias m23=mat2x3f;
alias m24=mat2x4f;
alias m32=mat3x2f;
alias m33=mat3x3f;
alias m34=mat3x4f;
alias m42=mat4x2f;
alias m43=mat4x3f;
alias m44=mat4x4f;
alias m22_=mat2x2<f32>;
alias m23_=mat2x3<f32>;
alias m24_=mat2x4<f32>;
alias m32_=mat3x2<f32>;
alias m33_=mat3x3<f32>;
alias m34_=mat3x4<f32>;
alias m42_=mat4x2<f32>;
alias m43_=mat4x3<f32>;
alias m44_=mat4x4<f32>;
alias m22=mat2x2h;
alias m23=mat2x3h;
alias h24=mat2x4h;
alias h32=mat3x2h;
alias h33=mat3x3h;
alias h34=mat3x4h;
alias h42=mat4x2h;
alias h43=mat4x3h;
alias h44=mat4x4h;
alias h22_=mat2x2<f16>;
alias h23_=mat2x3<f16>;
alias h24_=mat2x4<f16>;
alias h32_=mat3x2<f16>;
alias h33_=mat3x3<f16>;
alias h34_=mat3x4<f16>;
alias h42_=mat4x2<f16>;
alias h43_=mat4x3<f16>;
alias h44_=mat4x4<f16>;
---tokens---
'enable' Keyword
' ' Text.Whitespace
'f16' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'int' Name
'=' Operator
'i32' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'uint' Name
'=' Operator
'u32' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'float' Name
'=' Operator
'f32' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'half' Name
'=' Operator
'f16' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'ivec2' Name
'=' Operator
'vec2i' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'uvec2' Name
'=' Operator
'vec2u' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'vec2' Name.Builtin
'=' Operator
'vec2f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'ivec3' Name
'=' Operator
'vec3i' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'uvec3' Name
'=' Operator
'vec3u' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'vec3' Name.Builtin
'=' Operator
'vec3f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'ivec4' Name
'=' Operator
'vec4i' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'uvec4' Name
'=' Operator
'vec4u' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'ivec2_' Name
'=' Operator
'vec2' Name.Builtin
'<' Operator
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'uvec2_' Name
'=' Operator
'vec2' Name.Builtin
'<' Operator
'u32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'vec2_' Name
'=' Operator
'vec2' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'ivec3_' Name
'=' Operator
'vec3' Name.Builtin
'<' Operator
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'uvec3_' Name
'=' Operator
'vec3' Name.Builtin
'<' Operator
'u32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'vec3_' Name
'=' Operator
'vec3' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'ivec4_' Name
'=' Operator
'vec4' Name.Builtin
'<' Operator
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'uvec4_' Name
'=' Operator
'vec4' Name.Builtin
'<' Operator
'u32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'vec4_' Name
'=' Operator
'vec4' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'hvec2' Name
'=' Operator
'vec2h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'hvec3' Name
'=' Operator
'vec3h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'hvec4' Name
'=' Operator
'vec4h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'hvec4_' Name
'=' Operator
'vec4' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm22' Name
'=' Operator
'mat2x2f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm23' Name
'=' Operator
'mat2x3f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm24' Name
'=' Operator
'mat2x4f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm32' Name
'=' Operator
'mat3x2f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm33' Name
'=' Operator
'mat3x3f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm34' Name
'=' Operator
'mat3x4f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm42' Name
'=' Operator
'mat4x2f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm43' Name
'=' Operator
'mat4x3f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm44' Name
'=' Operator
'mat4x4f' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm22_' Name
'=' Operator
'mat2x2' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm23_' Name
'=' Operator
'mat2x3' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm24_' Name
'=' Operator
'mat2x4' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm32_' Name
'=' Operator
'mat3x2' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm33_' Name
'=' Operator
'mat3x3' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm34_' Name
'=' Operator
'mat3x4' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm42_' Name
'=' Operator
'mat4x2' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm43_' Name
'=' Operator
'mat4x3' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm44_' Name
'=' Operator
'mat4x4' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm22' Name
'=' Operator
'mat2x2h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'm23' Name
'=' Operator
'mat2x3h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h24' Name
'=' Operator
'mat2x4h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h32' Name
'=' Operator
'mat3x2h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h33' Name
'=' Operator
'mat3x3h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h34' Name
'=' Operator
'mat3x4h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h42' Name
'=' Operator
'mat4x2h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h43' Name
'=' Operator
'mat4x3h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h44' Name
'=' Operator
'mat4x4h' Name.Builtin
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h22_' Name
'=' Operator
'mat2x2' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h23_' Name
'=' Operator
'mat2x3' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h24_' Name
'=' Operator
'mat2x4' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h32_' Name
'=' Operator
'mat3x2' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h33_' Name
'=' Operator
'mat3x3' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h34_' Name
'=' Operator
'mat3x4' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h42_' Name
'=' Operator
'mat4x2' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h43_' Name
'=' Operator
'mat4x3' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'h44_' Name
'=' Operator
'mat4x4' Name.Builtin
'<' Operator
'f16' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,134 @@
---input---
@group(0) @binding(0) var texture_1d<f32>;
@group(0) @binding(1) var texture_2d<f32>;
@group(0) @binding(2) var texture_2d_array<f32>;
@group(0) @binding(3) var texture_3d<f32>;
@group(0) @binding(4) var texture_cube<f32>;
@group(0) @binding(5) var texture_cube_array<f32>;
---tokens---
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_1d' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_2d' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'2' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_2d_array' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'3' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_3d' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'4' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_cube' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'5' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_cube_array' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,98 @@
---input---
@group(0) @binding(0) var texture_storage_1d<rgba8unorm,write>;
@group(0) @binding(1) var texture_storage_2d<rgba8unorm,write>;
@group(0) @binding(2) var texture_storage_2d_array<rgba8unorm,write>;
@group(0) @binding(3) var texture_storage_3d<rgba8unorm,write>;
---tokens---
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_1d' Name.Builtin
'<' Operator
'rgba8unorm' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba8unorm' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'2' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d_array' Name.Builtin
'<' Operator
'rgba8unorm' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'3' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_3d' Name.Builtin
'<' Operator
'rgba8unorm' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,410 @@
---input---
@group(0) @binding(0) var texture_storage_2d<rgba8unorm,write>;
@group(0) @binding(1) var texture_storage_2d<rgba8snorm,write>;
@group(0) @binding(2) var texture_storage_2d<rgba8uint,write>;
@group(0) @binding(3) var texture_storage_2d<rgba8sint,write>;
@group(0) @binding(4) var texture_storage_2d<rgba16uint,write>;
@group(0) @binding(5) var texture_storage_2d<rgba16sint,write>;
@group(0) @binding(6) var texture_storage_2d<rgba16float,write>;
@group(0) @binding(7) var texture_storage_2d<r32uint,write>;
@group(0) @binding(8) var texture_storage_2d<r32sint,write>;
@group(0) @binding(9) var texture_storage_2d<r32float,write>;
@group(1) @binding(0) var texture_storage_2d<rg32uint,write>;
@group(1) @binding(1) var texture_storage_2d<rg32sint,write>;
@group(1) @binding(2) var texture_storage_2d<rg32float,write>;
@group(1) @binding(3) var texture_storage_2d<rgba32uint,write>;
@group(1) @binding(4) var texture_storage_2d<rgba32sint,write>;
@group(1) @binding(5) var texture_storage_2d<rgba32float,write>;
@group(1) @binding(6) var texture_storage_2d<bgra8unorm,write>;
---tokens---
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba8unorm' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba8snorm' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'2' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba8uint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'3' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba8sint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'4' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba16uint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'5' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba16sint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'6' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba16float' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'7' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'r32uint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'8' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'r32sint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'9' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'r32float' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rg32uint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rg32sint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'2' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rg32float' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'3' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba32uint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'4' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba32sint' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'5' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'rgba32float' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'@' Name.Decorator
'group' Name.Decorator
'(' Punctuation
'1' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'binding' Name.Decorator
'(' Punctuation
'6' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'var' Keyword.Declaration
' ' Text.Whitespace
'texture_storage_2d' Name.Builtin
'<' Operator
'bgra8unorm' Name.Builtin
',' Punctuation
'write' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,105 @@
---input---
@vertex
fn vmain(@location(0) v: vec4<f32>) -> @builtin(position) vec4f {
return v;
}
@fragment
fn fmain(@builtin(position) pos: vec4f) -> @location(0) vec4f {
return vec4f(0.25,0.25,1.0,1.0);
}
---tokens---
'@' Name.Decorator
'vertex' Name.Decorator
'\n' Text.Whitespace
'fn' Keyword
' ' Text.Whitespace
'vmain' Name
'(' Punctuation
'@' Name.Decorator
'location' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'v' Name
':' Punctuation
' ' Text.Whitespace
'vec4' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
')' Punctuation
' ' Text.Whitespace
'->' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'builtin' Name.Decorator
'(' Punctuation
'position' Name.Builtin
')' Punctuation
' ' Text.Whitespace
'vec4f' Name.Builtin
' ' Text.Whitespace
'{' Punctuation
'\n ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'v' Name
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n\n' Text.Whitespace
'@' Name.Decorator
'fragment' Name.Decorator
'\n' Text.Whitespace
'fn' Keyword
' ' Text.Whitespace
'fmain' Name
'(' Punctuation
'@' Name.Decorator
'builtin' Name.Decorator
'(' Punctuation
'position' Name.Builtin
')' Punctuation
' ' Text.Whitespace
'pos' Name
':' Punctuation
' ' Text.Whitespace
'vec4f' Name.Builtin
')' Punctuation
' ' Text.Whitespace
'->' Punctuation
' ' Text.Whitespace
'@' Name.Decorator
'location' Name.Decorator
'(' Punctuation
'0' Literal.Number.Integer
')' Punctuation
' ' Text.Whitespace
'vec4f' Name.Builtin
' ' Text.Whitespace
'{' Punctuation
'\n ' Text.Whitespace
'return' Keyword
' ' Text.Whitespace
'vec4f' Name.Builtin
'(' Punctuation
'0.25' Literal.Number.Float
',' Punctuation
'0.25' Literal.Number.Float
',' Punctuation
'1.0' Literal.Number.Float
',' Punctuation
'1.0' Literal.Number.Float
')' Punctuation
';' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace

View File

@ -0,0 +1,43 @@
---input---
// Test predeclared type generators, other than vector, matrix, and texture.
alias a=array<f32>;
alias b=atomic<i32>;
alias c=ptr<function,i32>;
---tokens---
'// Test predeclared type generators, other than vector, matrix, and texture.\n' Comment.Single
'alias' Keyword
' ' Text.Whitespace
'a' Name
'=' Operator
'array' Name.Builtin
'<' Operator
'f32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'b' Name
'=' Operator
'atomic' Name.Builtin
'<' Operator
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace
'alias' Keyword
' ' Text.Whitespace
'c' Name
'=' Operator
'ptr' Name.Builtin
'<' Operator
'function' Name.Builtin
',' Punctuation
'i32' Name.Builtin
'>' Operator
';' Punctuation
'\n' Text.Whitespace