Skip to content

Commit fe64fb4

Browse files
committed
[wgsl] update validation rules
1 parent 30a0da1 commit fe64fb4

File tree

1 file changed

+6
-10
lines changed

1 file changed

+6
-10
lines changed

wgsl/index.bs

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3513,22 +3513,16 @@ Each validation item will be given a unique ID and a test must be provided
35133513
when the validation is added. The tests will reference the validation ID in
35143514
the test name.
35153515

3516+
* v-0001: A declaration must not introduce a name when that name is already in scope at the start
3517+
of the the declaration.
35163518
* v-0002: Non-void functions must end with a return statement.
35173519
* v-0003: At least one of vertex, fragment or compute shader must be present.
35183520
* v-0004: Recursion is not allowed.
3519-
* v-0005: Functions must be declared before use.
3520-
* v-0006: Variables must be defined before use.
35213521
* v-0007: Structures must be defined before use.
35223522
* v-0008: switch statements must have exactly one default clause.
3523-
* v-0009: break is only permitted in loop and switch constructs.
3523+
* v-0009: Break is only permitted in loop and switch constructs.
35243524
* v-0010: continue is only permitted in loop.
3525-
* v-0011: Global variable names must be unique.
3526-
* v-0012: Structure names must be unique.
3527-
* v-0013: Variables declared in a function must be unique between that function
3528-
and any global variables.
3529-
* v-0014: Variables declared in a function must have unique names.
35303525
* v-0015: Runtime arrays may only appear as the last member of a struct.
3531-
* v-0016: Function names must be unique.
35323526
* v-0017: Builtin decorations must have the correct types.
35333527
* v-0018: Builtin decorations must be used with the correct shader type and
35343528
storage class.
@@ -3542,7 +3536,9 @@ the test name.
35423536
* v-0026: The case selector values must have the same type as the selector expression.
35433537
* v-0027: A literal value must not appear more than once in the case selectors for a switch statement.
35443538
* v-0028: A fallthrough statement must not appear as the last statement in last clause of a switch.
3545-
3539+
* v-0029: Return must come last in its block.
3540+
* v-0030: The storage type of a struct containing a runtime-sized array must be a of storage class
3541+
35463542

35473543
# Built-in variables # {#builtin-variables}
35483544

0 commit comments

Comments
 (0)