Split loop header from condition testing for for/while loops.
This commit is contained in:
@@ -5,78 +5,80 @@ Linked vertex stage:
|
||||
|
||||
// Module Version 10000
|
||||
// Generated by (magic number): 80001
|
||||
// Id's are bound by 43
|
||||
// Id's are bound by 44
|
||||
|
||||
Capability Shader
|
||||
1: ExtInstImport "GLSL.std.450"
|
||||
MemoryModel Logical GLSL450
|
||||
EntryPoint Vertex 4 "main" 41 42
|
||||
EntryPoint Vertex 4 "main" 42 43
|
||||
Source ESSL 300
|
||||
Name 4 "main"
|
||||
Name 8 "i"
|
||||
Name 18 "A"
|
||||
Name 26 "B"
|
||||
Name 28 "C"
|
||||
Name 38 "D"
|
||||
Name 41 "gl_VertexID"
|
||||
Name 42 "gl_InstanceID"
|
||||
Decorate 41(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 42(gl_InstanceID) BuiltIn InstanceId
|
||||
Name 19 "A"
|
||||
Name 27 "B"
|
||||
Name 29 "C"
|
||||
Name 39 "D"
|
||||
Name 42 "gl_VertexID"
|
||||
Name 43 "gl_InstanceID"
|
||||
Decorate 42(gl_VertexID) BuiltIn VertexId
|
||||
Decorate 43(gl_InstanceID) BuiltIn InstanceId
|
||||
2: TypeVoid
|
||||
3: TypeFunction 2
|
||||
6: TypeInt 32 1
|
||||
7: TypePointer Function 6(int)
|
||||
9: 6(int) Constant 0
|
||||
15: 6(int) Constant 10
|
||||
16: TypeBool
|
||||
19: 6(int) Constant 1
|
||||
21: 6(int) Constant 2
|
||||
30: 6(int) Constant 5
|
||||
39: 6(int) Constant 3
|
||||
40: TypePointer Input 6(int)
|
||||
41(gl_VertexID): 40(ptr) Variable Input
|
||||
42(gl_InstanceID): 40(ptr) Variable Input
|
||||
16: 6(int) Constant 10
|
||||
17: TypeBool
|
||||
20: 6(int) Constant 1
|
||||
22: 6(int) Constant 2
|
||||
31: 6(int) Constant 5
|
||||
40: 6(int) Constant 3
|
||||
41: TypePointer Input 6(int)
|
||||
42(gl_VertexID): 41(ptr) Variable Input
|
||||
43(gl_InstanceID): 41(ptr) Variable Input
|
||||
4(main): 2 Function None 3
|
||||
5: Label
|
||||
8(i): 7(ptr) Variable Function
|
||||
18(A): 7(ptr) Variable Function
|
||||
26(B): 7(ptr) Variable Function
|
||||
28(C): 7(ptr) Variable Function
|
||||
38(D): 7(ptr) Variable Function
|
||||
19(A): 7(ptr) Variable Function
|
||||
27(B): 7(ptr) Variable Function
|
||||
29(C): 7(ptr) Variable Function
|
||||
39(D): 7(ptr) Variable Function
|
||||
Store 8(i) 9
|
||||
Branch 10
|
||||
10: Label
|
||||
14: 6(int) Load 8(i)
|
||||
17: 16(bool) SLessThan 14 15
|
||||
LoopMerge 12 13 None
|
||||
BranchConditional 17 11 12
|
||||
Branch 14
|
||||
14: Label
|
||||
15: 6(int) Load 8(i)
|
||||
18: 17(bool) SLessThan 15 16
|
||||
BranchConditional 18 11 12
|
||||
11: Label
|
||||
Store 18(A) 19
|
||||
20: 6(int) Load 8(i)
|
||||
22: 6(int) SMod 20 21
|
||||
23: 16(bool) IEqual 22 9
|
||||
SelectionMerge 25 None
|
||||
BranchConditional 23 24 25
|
||||
24: Label
|
||||
Store 26(B) 21
|
||||
Store 19(A) 20
|
||||
21: 6(int) Load 8(i)
|
||||
23: 6(int) SMod 21 22
|
||||
24: 17(bool) IEqual 23 9
|
||||
SelectionMerge 26 None
|
||||
BranchConditional 24 25 26
|
||||
25: Label
|
||||
Store 27(B) 22
|
||||
Branch 13
|
||||
25: Label
|
||||
29: 6(int) Load 8(i)
|
||||
31: 6(int) SMod 29 30
|
||||
32: 16(bool) IEqual 31 9
|
||||
SelectionMerge 34 None
|
||||
BranchConditional 32 33 34
|
||||
33: Label
|
||||
Store 26(B) 21
|
||||
26: Label
|
||||
30: 6(int) Load 8(i)
|
||||
32: 6(int) SMod 30 31
|
||||
33: 17(bool) IEqual 32 9
|
||||
SelectionMerge 35 None
|
||||
BranchConditional 33 34 35
|
||||
34: Label
|
||||
Store 27(B) 22
|
||||
Branch 12
|
||||
34: Label
|
||||
36: 6(int) Load 8(i)
|
||||
37: 6(int) IAdd 36 19
|
||||
Store 8(i) 37
|
||||
35: Label
|
||||
37: 6(int) Load 8(i)
|
||||
38: 6(int) IAdd 37 20
|
||||
Store 8(i) 38
|
||||
Branch 13
|
||||
13: Label
|
||||
Branch 10
|
||||
12: Label
|
||||
Store 38(D) 39
|
||||
Store 39(D) 40
|
||||
Return
|
||||
FunctionEnd
|
||||
|
||||
Reference in New Issue
Block a user