blob: 5b39b1cba56653312f5f371c322616742f1fd528 [file] [log] [blame]
spv.shortCircuit.frag
Warning, version 400 is not yet complete; most version-specific features are present, but some are missing.
Linked fragment stage:
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 147
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 12 24 34 113 140 142
ExecutionMode 4 OriginUpperLeft
Source GLSL 400
Name 4 "main"
Name 8 "foo("
Name 12 "of1"
Name 24 "of4"
Name 27 "ub"
Name 34 "ui"
Name 44 "uba"
Name 113 "uf"
Name 140 "uiv4"
Name 142 "uv4"
Name 145 "ub41"
Name 146 "ub42"
Decorate 34(ui) Flat
Decorate 140(uiv4) Flat
2: TypeVoid
3: TypeFunction 2
6: TypeBool
7: TypeFunction 6(bool)
10: TypeFloat 32
11: TypePointer Output 10(float)
12(of1): 11(ptr) Variable Output
14: 10(float) Constant 1065353216
17: 10(float) Constant 1092616192
21: 10(float) Constant 0
22: TypeVector 10(float) 4
23: TypePointer Output 22(fvec4)
24(of4): 23(ptr) Variable Output
25: 22(fvec4) ConstantComposite 21 21 21 21
26: TypePointer Private 6(bool)
27(ub): 26(ptr) Variable Private
32: TypeInt 32 1
33: TypePointer Input 32(int)
34(ui): 33(ptr) Variable Input
36: 32(int) Constant 2
44(uba): 26(ptr) Variable Private
112: TypePointer Input 10(float)
113(uf): 112(ptr) Variable Input
116: 10(float) Constant 1082130432
138: TypeVector 32(int) 4
139: TypePointer Input 138(ivec4)
140(uiv4): 139(ptr) Variable Input
141: TypePointer Input 22(fvec4)
142(uv4): 141(ptr) Variable Input
143: TypeVector 6(bool) 4
144: TypePointer Private 143(bvec4)
145(ub41): 144(ptr) Variable Private
146(ub42): 144(ptr) Variable Private
4(main): 2 Function None 3
5: Label
Store 12(of1) 21
Store 24(of4) 25
28: 6(bool) Load 27(ub)
29: 6(bool) LogicalNot 28
SelectionMerge 31 None
BranchConditional 29 30 31
30: Label
35: 32(int) Load 34(ui)
37: 6(bool) SGreaterThan 35 36
Branch 31
31: Label
38: 6(bool) Phi 28 5 37 30
SelectionMerge 40 None
BranchConditional 38 39 40
39: Label
41: 10(float) Load 12(of1)
42: 10(float) FAdd 41 14
Store 12(of1) 42
Branch 40
40: Label
43: 6(bool) Load 27(ub)
45: 6(bool) Load 44(uba)
46: 6(bool) LogicalNot 45
47: 6(bool) LogicalAnd 43 46
SelectionMerge 49 None
BranchConditional 47 48 49
48: Label
50: 10(float) Load 12(of1)
51: 10(float) FAdd 50 14
Store 12(of1) 51
Branch 49
49: Label
52: 6(bool) Load 27(ub)
53: 6(bool) LogicalNot 52
SelectionMerge 55 None
BranchConditional 53 54 55
54: Label
56: 6(bool) FunctionCall 8(foo()
Branch 55
55: Label
57: 6(bool) Phi 52 49 56 54
SelectionMerge 59 None
BranchConditional 57 58 59
58: Label
60: 10(float) Load 12(of1)
61: 10(float) FAdd 60 14
Store 12(of1) 61
Branch 59
59: Label
62: 6(bool) Load 27(ub)
SelectionMerge 64 None
BranchConditional 62 63 64
63: Label
65: 6(bool) FunctionCall 8(foo()
Branch 64
64: Label
66: 6(bool) Phi 62 59 65 63
SelectionMerge 68 None
BranchConditional 66 67 68
67: Label
69: 10(float) Load 12(of1)
70: 10(float) FAdd 69 14
Store 12(of1) 70
Branch 68
68: Label
71: 6(bool) FunctionCall 8(foo()
72: 6(bool) Load 27(ub)
73: 6(bool) LogicalOr 71 72
SelectionMerge 75 None
BranchConditional 73 74 75
74: Label
76: 10(float) Load 12(of1)
77: 10(float) FAdd 76 14
Store 12(of1) 77
Branch 75
75: Label
78: 6(bool) FunctionCall 8(foo()
79: 6(bool) Load 27(ub)
80: 6(bool) LogicalAnd 78 79
SelectionMerge 82 None
BranchConditional 80 81 82
81: Label
83: 10(float) Load 12(of1)
84: 10(float) FAdd 83 14
Store 12(of1) 84
Branch 82
82: Label
85: 6(bool) Load 27(ub)
86: 6(bool) LogicalNot 85
SelectionMerge 88 None
BranchConditional 86 87 88
87: Label
89: 10(float) Load 12(of1)
90: 10(float) FAdd 89 14
Store 12(of1) 90
91: 6(bool) FOrdGreaterThan 90 14
Branch 88
88: Label
92: 6(bool) Phi 85 82 91 87
SelectionMerge 94 None
BranchConditional 92 93 94
93: Label
95: 22(fvec4) Load 24(of4)
96: 22(fvec4) CompositeConstruct 14 14 14 14
97: 22(fvec4) FAdd 95 96
Store 24(of4) 97
Branch 94
94: Label
98: 10(float) Load 12(of1)
99: 10(float) FAdd 98 14
Store 12(of1) 99
100: 6(bool) FOrdGreaterThan 99 14
101: 6(bool) Load 27(ub)
102: 6(bool) LogicalOr 100 101
SelectionMerge 104 None
BranchConditional 102 103 104
103: Label
105: 22(fvec4) Load 24(of4)
106: 22(fvec4) CompositeConstruct 14 14 14 14
107: 22(fvec4) FAdd 105 106
Store 24(of4) 107
Branch 104
104: Label
108: 6(bool) Load 27(ub)
109: 6(bool) LogicalNot 108
SelectionMerge 111 None
BranchConditional 109 110 111
110: Label
114: 10(float) Load 113(uf)
115: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 114
117: 10(float) FMul 115 116
118: 10(float) Load 12(of1)
119: 6(bool) FOrdGreaterThan 117 118
Branch 111
111: Label
120: 6(bool) Phi 108 104 119 110
SelectionMerge 122 None
BranchConditional 120 121 122
121: Label
123: 10(float) Load 12(of1)
124: 10(float) FAdd 123 14
Store 12(of1) 124
Branch 122
122: Label
125: 6(bool) Load 27(ub)
SelectionMerge 127 None
BranchConditional 125 126 127
126: Label
128: 10(float) Load 113(uf)
129: 10(float) ExtInst 1(GLSL.std.450) 13(Sin) 128
130: 10(float) FMul 129 116
131: 10(float) Load 12(of1)
132: 6(bool) FOrdGreaterThan 130 131
Branch 127
127: Label
133: 6(bool) Phi 125 122 132 126
SelectionMerge 135 None
BranchConditional 133 134 135
134: Label
136: 10(float) Load 12(of1)
137: 10(float) FAdd 136 14
Store 12(of1) 137
Branch 135
135: Label
Return
FunctionEnd
8(foo(): 6(bool) Function None 7
9: Label
13: 10(float) Load 12(of1)
15: 10(float) FAdd 13 14
Store 12(of1) 15
16: 10(float) Load 12(of1)
18: 6(bool) FOrdGreaterThan 16 17
ReturnValue 18
FunctionEnd