After construction, the Loop is effectively const. This perturbs the IDs in SPIR-V tests because the body block is created before generating any of the loop code, rather than only when the body is first referenced.
61 lines
2.6 KiB
Plaintext
61 lines
2.6 KiB
Plaintext
spv.for-simple.vert
|
|
|
|
Linked vertex stage:
|
|
|
|
|
|
// Module Version 99
|
|
// Generated by (magic number): 51a00bb
|
|
// Id's are bound by 26
|
|
|
|
Source ESSL 300
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint Vertex 4
|
|
Name 4 "main"
|
|
Name 9 "i"
|
|
Name 18 "j"
|
|
Name 24 "gl_VertexID"
|
|
Name 25 "gl_InstanceID"
|
|
Decorate 9(i) PrecisionHigh
|
|
Decorate 18(j) PrecisionHigh
|
|
Decorate 24(gl_VertexID) PrecisionHigh
|
|
Decorate 24(gl_VertexID) BuiltIn VertexId
|
|
Decorate 24(gl_VertexID) NoStaticUse
|
|
Decorate 25(gl_InstanceID) PrecisionHigh
|
|
Decorate 25(gl_InstanceID) BuiltIn InstanceId
|
|
Decorate 25(gl_InstanceID) NoStaticUse
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
7: TypeInt 32 1
|
|
8: TypePointer Function 7(int)
|
|
10: 7(int) Constant 0
|
|
15: 7(int) Constant 10
|
|
16: TypeBool
|
|
19: 7(int) Constant 12
|
|
21: 7(int) Constant 1
|
|
23: TypePointer Input 7(int)
|
|
24(gl_VertexID): 23(ptr) Variable Input
|
|
25(gl_InstanceID): 23(ptr) Variable Input
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
9(i): 8(ptr) Variable Function
|
|
18(j): 8(ptr) Variable Function
|
|
Store 9(i) 10
|
|
Branch 11
|
|
11: Label
|
|
14: 7(int) Load 9(i)
|
|
17: 16(bool) SLessThan 14 15
|
|
LoopMerge 12 None
|
|
BranchConditional 17 13 12
|
|
13: Label
|
|
Store 18(j) 19
|
|
20: 7(int) Load 9(i)
|
|
22: 7(int) IAdd 20 21
|
|
Store 9(i) 22
|
|
Branch 11
|
|
12: Label
|
|
Branch 6
|
|
6: Label
|
|
Return
|
|
FunctionEnd
|