@@ -25,8 +25,9 @@ Tools and IntelliSense for GLSL and WGSL.
25
25
- [ BlockStatement] ( #blockstatement )
26
26
- [ DiscardStatement] ( #discardstatement )
27
27
- [ PreprocessorStatement] ( #preprocessorstatement )
28
- - [ PrecisionStatement] ( #precisionstatement )
29
- - [ InvariantStatement] ( #invariantstatement )
28
+ - [ PrecisionQualifierStatement] ( #precisionqualifierstatement )
29
+ - [ InvariantQualifierStatement] ( #invariantqualifierstatement )
30
+ - [ LayoutQualifierStatement] ( #layoutqualifierstatement )
30
31
- Control Flow
31
32
- [ ReturnStatement] ( #returnstatement )
32
33
- [ BreakStatement] ( #breakstatement )
@@ -44,7 +45,7 @@ Tools and IntelliSense for GLSL and WGSL.
44
45
- [ FunctionParameter] ( #functionparameter )
45
46
- [ VariableDeclaration] ( #variabledeclaration )
46
47
- [ VariableDeclarator] ( #variabledeclarator )
47
- - [ UniformDeclarationBlock ] ( #uniformdeclarationblock )
48
+ - [ StructuredBufferDeclaration ] ( #structuredbufferdeclaration )
48
49
- [ StructDeclaration] ( #structdeclaration )
49
50
- Expressions
50
51
- [ ArrayExpression] ( #arrayexpression )
@@ -395,29 +396,41 @@ interface PreprocessorStatement extends Node {
395
396
}
396
397
```
397
398
398
- ### PrecisionStatement
399
+ ### PrecisionQualifierStatement
399
400
400
- A GLSL precision statement.
401
+ A GLSL precision qualifier statement.
401
402
402
403
``` ts
403
- interface PrecisionStatement extends Node {
404
- type: ' PrecisionStatement '
404
+ interface PrecisionQualifierStatement extends Node {
405
+ type: ' PrecisionQualifierStatement '
405
406
precision: PrecisionQualifier
406
407
typeSpecifier: Identifier
407
408
}
408
409
```
409
410
410
- ### InvariantStatement
411
+ ### InvariantQualifierStatement
411
412
412
- A GLSL invariant statement.
413
+ A GLSL invariant qualifier statement.
413
414
414
415
``` ts
415
- interface InvariantStatement extends Node {
416
- type: ' InvariantStatement '
416
+ interface InvariantQualifierStatement extends Node {
417
+ type: ' InvariantQualifierStatement '
417
418
typeSpecifier: Identifier
418
419
}
419
420
```
420
421
422
+ ### LayoutQualifierStatement
423
+
424
+ A layout qualifier statement.
425
+
426
+ ``` ts
427
+ interface LayoutQualifierStatement extends Node {
428
+ type: ' LayoutQualifierStatement'
429
+ layout: Record <string , string | boolean >
430
+ qualifier: StorageQualifier
431
+ }
432
+ ```
433
+
421
434
### ReturnStatement
422
435
423
436
A return statement with an optional argument.
@@ -546,7 +559,7 @@ A function parameter within a function declaration.
546
559
``` ts
547
560
interface FunctionParameter extends Node {
548
561
type: ' FunctionParameter'
549
- id: Identifier
562
+ id: Identifier | null
550
563
qualifiers: (ConstantQualifier | ParameterQualifier | PrecisionQualifier )[]
551
564
typeSpecifier: Identifier | ArraySpecifier
552
565
}
@@ -578,15 +591,15 @@ interface VariableDeclarator extends Node {
578
591
}
579
592
```
580
593
581
- ### UniformDeclarationBlock
594
+ ### StructuredBufferDeclaration
582
595
583
- A uniform declaration block with optional layout and qualifiers.
596
+ A buffer interface declaration with optional layout and qualifiers.
584
597
585
598
``` ts
586
- interface UniformDeclarationBlock extends Node {
587
- type: ' UniformDeclarationBlock '
599
+ interface StructuredBufferDeclaration extends Node {
600
+ type: ' StructuredBufferDeclaration '
588
601
id: Identifier | null
589
- qualifiers: LayoutQualifier []
602
+ qualifiers: ( InterfaceStorageQualifier | MemoryQualifier | LayoutQualifier ) []
590
603
typeSpecifier: Identifier | ArraySpecifier
591
604
layout: Record <string , string | boolean > | null
592
605
members: VariableDeclaration []
0 commit comments