blob: 7612f5fd5eea789704c691951abb1f3af4589f7a [file] [log] [blame]
spv.switch.frag
WARNING: 0:121: 'switch' : last case/default label not followed by statements
WARNING: 0:134: 'switch' : last case/default label not followed by statements
WARNING: 0:139: 'switch' : last case/default label not followed by statements
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 275
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 68 81 135 233 239
ExecutionMode 4 OriginUpperLeft
Source ESSL 310
Name 4 "main"
Name 15 "foo1(vf4;vf4;i1;"
Name 12 "v1"
Name 13 "v2"
Name 14 "i1"
Name 20 "foo2(vf4;vf4;i1;"
Name 17 "v1"
Name 18 "v2"
Name 19 "i1"
Name 66 "local"
Name 68 "c"
Name 79 "f"
Name 81 "x"
Name 135 "d"
Name 161 "i"
Name 181 "j"
Name 233 "color"
Name 239 "v"
Name 240 "param"
Name 242 "param"
Name 244 "param"
Name 252 "param"
Name 254 "param"
Name 256 "param"
Decorate 15(foo1(vf4;vf4;i1;) RelaxedPrecision
Decorate 12(v1) RelaxedPrecision
Decorate 13(v2) RelaxedPrecision
Decorate 14(i1) RelaxedPrecision
Decorate 20(foo2(vf4;vf4;i1;) RelaxedPrecision
Decorate 17(v1) RelaxedPrecision
Decorate 18(v2) RelaxedPrecision
Decorate 19(i1) RelaxedPrecision
Decorate 22 RelaxedPrecision
Decorate 27 RelaxedPrecision
Decorate 29 RelaxedPrecision
Decorate 31 RelaxedPrecision
Decorate 32 RelaxedPrecision
Decorate 33 RelaxedPrecision
Decorate 38 RelaxedPrecision
Decorate 39 RelaxedPrecision
Decorate 42 RelaxedPrecision
Decorate 48 RelaxedPrecision
Decorate 52 RelaxedPrecision
Decorate 53 RelaxedPrecision
Decorate 55 RelaxedPrecision
Decorate 57 RelaxedPrecision
Decorate 58 RelaxedPrecision
Decorate 59 RelaxedPrecision
Decorate 62 RelaxedPrecision
Decorate 63 RelaxedPrecision
Decorate 66(local) RelaxedPrecision
Decorate 68(c) RelaxedPrecision
Decorate 68(c) Flat
Decorate 68(c) Location 0
Decorate 69 RelaxedPrecision
Decorate 70 RelaxedPrecision
Decorate 72 RelaxedPrecision
Decorate 73 RelaxedPrecision
Decorate 79(f) RelaxedPrecision
Decorate 81(x) RelaxedPrecision
Decorate 81(x) Location 2
Decorate 82 RelaxedPrecision
Decorate 83 RelaxedPrecision
Decorate 85 RelaxedPrecision
Decorate 86 RelaxedPrecision
Decorate 88 RelaxedPrecision
Decorate 89 RelaxedPrecision
Decorate 91 RelaxedPrecision
Decorate 96 RelaxedPrecision
Decorate 97 RelaxedPrecision
Decorate 98 RelaxedPrecision
Decorate 99 RelaxedPrecision
Decorate 100 RelaxedPrecision
Decorate 101 RelaxedPrecision
Decorate 102 RelaxedPrecision
Decorate 103 RelaxedPrecision
Decorate 105 RelaxedPrecision
Decorate 106 RelaxedPrecision
Decorate 107 RelaxedPrecision
Decorate 108 RelaxedPrecision
Decorate 110 RelaxedPrecision
Decorate 114 RelaxedPrecision
Decorate 115 RelaxedPrecision
Decorate 116 RelaxedPrecision
Decorate 117 RelaxedPrecision
Decorate 119 RelaxedPrecision
Decorate 120 RelaxedPrecision
Decorate 121 RelaxedPrecision
Decorate 122 RelaxedPrecision
Decorate 125 RelaxedPrecision
Decorate 130 RelaxedPrecision
Decorate 131 RelaxedPrecision
Decorate 132 RelaxedPrecision
Decorate 133 RelaxedPrecision
Decorate 135(d) RelaxedPrecision
Decorate 135(d) Flat
Decorate 135(d) Location 1
Decorate 136 RelaxedPrecision
Decorate 140 RelaxedPrecision
Decorate 141 RelaxedPrecision
Decorate 142 RelaxedPrecision
Decorate 143 RelaxedPrecision
Decorate 144 RelaxedPrecision
Decorate 145 RelaxedPrecision
Decorate 146 RelaxedPrecision
Decorate 148 RelaxedPrecision
Decorate 149 RelaxedPrecision
Decorate 150 RelaxedPrecision
Decorate 151 RelaxedPrecision
Decorate 152 RelaxedPrecision
Decorate 156 RelaxedPrecision
Decorate 157 RelaxedPrecision
Decorate 158 RelaxedPrecision
Decorate 159 RelaxedPrecision
Decorate 161(i) RelaxedPrecision
Decorate 168 RelaxedPrecision
Decorate 172 RelaxedPrecision
Decorate 177 RelaxedPrecision
Decorate 178 RelaxedPrecision
Decorate 179 RelaxedPrecision
Decorate 180 RelaxedPrecision
Decorate 181(j) RelaxedPrecision
Decorate 188 RelaxedPrecision
Decorate 191 RelaxedPrecision
Decorate 192 RelaxedPrecision
Decorate 193 RelaxedPrecision
Decorate 199 RelaxedPrecision
Decorate 200 RelaxedPrecision
Decorate 202 RelaxedPrecision
Decorate 203 RelaxedPrecision
Decorate 204 RelaxedPrecision
Decorate 205 RelaxedPrecision
Decorate 208 RelaxedPrecision
Decorate 209 RelaxedPrecision
Decorate 210 RelaxedPrecision
Decorate 211 RelaxedPrecision
Decorate 213 RelaxedPrecision
Decorate 219 RelaxedPrecision
Decorate 220 RelaxedPrecision
Decorate 221 RelaxedPrecision
Decorate 225 RelaxedPrecision
Decorate 226 RelaxedPrecision
Decorate 227 RelaxedPrecision
Decorate 228 RelaxedPrecision
Decorate 233(color) RelaxedPrecision
Decorate 233(color) Location 0
Decorate 234 RelaxedPrecision
Decorate 235 RelaxedPrecision
Decorate 236 RelaxedPrecision
Decorate 237 RelaxedPrecision
Decorate 239(v) RelaxedPrecision
Decorate 239(v) Location 3
Decorate 240(param) RelaxedPrecision
Decorate 241 RelaxedPrecision
Decorate 242(param) RelaxedPrecision
Decorate 243 RelaxedPrecision
Decorate 244(param) RelaxedPrecision
Decorate 245 RelaxedPrecision
Decorate 246 RelaxedPrecision
Decorate 249 RelaxedPrecision
Decorate 250 RelaxedPrecision
Decorate 251 RelaxedPrecision
Decorate 252(param) RelaxedPrecision
Decorate 253 RelaxedPrecision
Decorate 254(param) RelaxedPrecision
Decorate 255 RelaxedPrecision
Decorate 256(param) RelaxedPrecision
Decorate 257 RelaxedPrecision
Decorate 258 RelaxedPrecision
Decorate 260 RelaxedPrecision
Decorate 261 RelaxedPrecision
Decorate 262 RelaxedPrecision
Decorate 263 RelaxedPrecision
Decorate 270 RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
9: TypeInt 32 1
10: TypePointer Function 9(int)
11: TypeFunction 7(fvec4) 8(ptr) 8(ptr) 10(ptr)
36: 6(float) Constant 0
37: 7(fvec4) ConstantComposite 36 36 36 36
50: 6(float) Constant 1065353216
51: 7(fvec4) ConstantComposite 50 50 50 50
67: TypePointer Input 9(int)
68(c): 67(ptr) Variable Input
71: 9(int) Constant 1
78: TypePointer Function 6(float)
80: TypePointer Input 6(float)
81(x): 80(ptr) Variable Input
135(d): 67(ptr) Variable Input
162: 9(int) Constant 0
169: 9(int) Constant 10
170: TypeBool
182: 9(int) Constant 20
189: 9(int) Constant 30
194: 6(float) Constant 1120429670
214: 6(float) Constant 1079739679
232: TypePointer Output 6(float)
233(color): 232(ptr) Variable Output
238: TypePointer Input 7(fvec4)
239(v): 238(ptr) Variable Input
247: TypeInt 32 0
248: 247(int) Constant 1
259: 247(int) Constant 2
4(main): 2 Function None 3
5: Label
66(local): 10(ptr) Variable Function
79(f): 78(ptr) Variable Function
161(i): 10(ptr) Variable Function
181(j): 10(ptr) Variable Function
240(param): 8(ptr) Variable Function
242(param): 8(ptr) Variable Function
244(param): 10(ptr) Variable Function
252(param): 8(ptr) Variable Function
254(param): 8(ptr) Variable Function
256(param): 10(ptr) Variable Function
69: 9(int) Load 68(c)
Store 66(local) 69
70: 9(int) Load 66(local)
72: 9(int) IAdd 70 71
Store 66(local) 72
73: 9(int) Load 68(c)
SelectionMerge 77 None
Switch 73 76
case 1: 74
case 2: 75
76: Label
88: 6(float) Load 81(x)
89: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 88
Store 79(f) 89
Branch 77
74: Label
82: 6(float) Load 81(x)
83: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 82
Store 79(f) 83
Branch 77
75: Label
85: 6(float) Load 81(x)
86: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 85
Store 79(f) 86
Branch 77
77: Label
91: 9(int) Load 68(c)
SelectionMerge 95 None
Switch 91 94
case 1: 92
case 2: 93
94: Label
105: 6(float) Load 81(x)
106: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 105
107: 6(float) Load 79(f)
108: 6(float) FAdd 107 106
Store 79(f) 108
Branch 95
92: Label
96: 6(float) Load 81(x)
97: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 96
98: 6(float) Load 79(f)
99: 6(float) FAdd 98 97
Store 79(f) 99
Branch 93
93: Label
100: 6(float) Load 81(x)
101: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 100
102: 6(float) Load 79(f)
103: 6(float) FAdd 102 101
Store 79(f) 103
Branch 95
95: Label
110: 9(int) Load 68(c)
SelectionMerge 113 None
Switch 110 113
case 1: 111
case 2: 112
111: Label
114: 6(float) Load 81(x)
115: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 114
116: 6(float) Load 79(f)
117: 6(float) FAdd 116 115
Store 79(f) 117
Branch 113
112: Label
119: 6(float) Load 81(x)
120: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 119
121: 6(float) Load 79(f)
122: 6(float) FAdd 121 120
Store 79(f) 122
Branch 113
113: Label
125: 9(int) Load 68(c)
SelectionMerge 129 None
Switch 125 128
case 1: 126
case 2: 127
128: Label
156: 6(float) Load 81(x)
157: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 156
158: 6(float) Load 79(f)
159: 6(float) FAdd 158 157
Store 79(f) 159
Branch 129
126: Label
130: 6(float) Load 81(x)
131: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 130
132: 6(float) Load 79(f)
133: 6(float) FAdd 132 131
Store 79(f) 133
Branch 129
127: Label
136: 9(int) Load 135(d)
SelectionMerge 139 None
Switch 136 139
case 1: 137
case 2: 138
137: Label
140: 6(float) Load 81(x)
141: 6(float) Load 81(x)
142: 6(float) FMul 140 141
143: 6(float) Load 81(x)
144: 6(float) FMul 142 143
145: 6(float) Load 79(f)
146: 6(float) FAdd 145 144
Store 79(f) 146
Branch 139
138: Label
148: 6(float) Load 81(x)
149: 6(float) Load 81(x)
150: 6(float) FMul 148 149
151: 6(float) Load 79(f)
152: 6(float) FAdd 151 150
Store 79(f) 152
Branch 139
139: Label
Branch 129
129: Label
Store 161(i) 162
Branch 163
163: Label
LoopMerge 165 166 None
Branch 167
167: Label
168: 9(int) Load 161(i)
171: 170(bool) SLessThan 168 169
BranchConditional 171 164 165
164: Label
172: 9(int) Load 68(c)
SelectionMerge 176 None
Switch 172 175
case 1: 173
case 2: 174
175: Label
208: 6(float) Load 81(x)
209: 6(float) ExtInst 1(GLSL.std.450) 15(Tan) 208
210: 6(float) Load 79(f)
211: 6(float) FAdd 210 209
Store 79(f) 211
Branch 176
173: Label
177: 6(float) Load 81(x)
178: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 177
179: 6(float) Load 79(f)
180: 6(float) FAdd 179 178
Store 79(f) 180
Store 181(j) 182
Branch 183
183: Label
LoopMerge 185 186 None
Branch 187
187: Label
188: 9(int) Load 181(j)
190: 170(bool) SLessThan 188 189
BranchConditional 190 184 185
184: Label
191: 6(float) Load 79(f)
192: 6(float) FAdd 191 50
Store 79(f) 192
193: 6(float) Load 79(f)
195: 170(bool) FOrdLessThan 193 194
SelectionMerge 197 None
BranchConditional 195 196 197
196: Label
Branch 185
197: Label
Branch 186
186: Label
199: 9(int) Load 181(j)
200: 9(int) IAdd 199 71
Store 181(j) 200
Branch 183
185: Label
Branch 176
174: Label
202: 6(float) Load 81(x)
203: 6(float) ExtInst 1(GLSL.std.450) 14(Cos) 202
204: 6(float) Load 79(f)
205: 6(float) FAdd 204 203
Store 79(f) 205
Branch 176
176: Label
213: 6(float) Load 79(f)
215: 170(bool) FOrdLessThan 213 214
SelectionMerge 217 None
BranchConditional 215 216 217
216: Label
Branch 165
217: Label
Branch 166
166: Label
219: 9(int) Load 161(i)
220: 9(int) IAdd 219 71
Store 161(i) 220
Branch 163
165: Label
221: 9(int) Load 68(c)
SelectionMerge 224 None
Switch 221 224
case 1: 222
case 2: 223
222: Label
225: 6(float) Load 81(x)
226: 6(float) ExtInst 1(GLSL.std.450) 13(Sin) 225
227: 6(float) Load 79(f)
228: 6(float) FAdd 227 226
Store 79(f) 228
Branch 224
223: Label
Branch 224
224: Label
234: 6(float) Load 79(f)
235: 9(int) Load 66(local)
236: 6(float) ConvertSToF 235
237: 6(float) FAdd 234 236
Store 233(color) 237
241: 7(fvec4) Load 239(v)
Store 240(param) 241
243: 7(fvec4) Load 239(v)
Store 242(param) 243
245: 9(int) Load 68(c)
Store 244(param) 245
246: 7(fvec4) FunctionCall 15(foo1(vf4;vf4;i1;) 240(param) 242(param) 244(param)
249: 6(float) CompositeExtract 246 1
250: 6(float) Load 233(color)
251: 6(float) FAdd 250 249
Store 233(color) 251
253: 7(fvec4) Load 239(v)
Store 252(param) 253
255: 7(fvec4) Load 239(v)
Store 254(param) 255
257: 9(int) Load 68(c)
Store 256(param) 257
258: 7(fvec4) FunctionCall 20(foo2(vf4;vf4;i1;) 252(param) 254(param) 256(param)
260: 6(float) CompositeExtract 258 2
261: 6(float) Load 233(color)
262: 6(float) FAdd 261 260
Store 233(color) 262
263: 9(int) Load 68(c)
SelectionMerge 266 None
Switch 263 265
case 0: 264
265: Label
Branch 266
264: Label
Branch 266
266: Label
270: 9(int) Load 68(c)
SelectionMerge 272 None
Switch 270 271
271: Label
Branch 272
272: Label
Return
FunctionEnd
15(foo1(vf4;vf4;i1;): 7(fvec4) Function None 11
12(v1): 8(ptr) FunctionParameter
13(v2): 8(ptr) FunctionParameter
14(i1): 10(ptr) FunctionParameter
16: Label
38: 8(ptr) Variable Function
22: 9(int) Load 14(i1)
SelectionMerge 26 None
Switch 22 26
case 0: 23
case 2: 24
case 1: 24
case 3: 25
23: Label
27: 7(fvec4) Load 12(v1)
ReturnValue 27
24: Label
29: 7(fvec4) Load 13(v2)
ReturnValue 29
25: Label
31: 7(fvec4) Load 12(v1)
32: 7(fvec4) Load 13(v2)
33: 7(fvec4) FMul 31 32
ReturnValue 33
26: Label
Store 38 37
39: 7(fvec4) Load 38
ReturnValue 39
FunctionEnd
20(foo2(vf4;vf4;i1;): 7(fvec4) Function None 11
17(v1): 8(ptr) FunctionParameter
18(v2): 8(ptr) FunctionParameter
19(i1): 10(ptr) FunctionParameter
21: Label
52: 8(ptr) Variable Function
62: 8(ptr) Variable Function
42: 9(int) Load 19(i1)
SelectionMerge 47 None
Switch 42 47
case 0: 43
case 2: 44
case 1: 45
case 3: 46
43: Label
48: 7(fvec4) Load 17(v1)
ReturnValue 48
44: Label
Store 52 51
53: 7(fvec4) Load 52
ReturnValue 53
45: Label
55: 7(fvec4) Load 18(v2)
ReturnValue 55
46: Label
57: 7(fvec4) Load 17(v1)
58: 7(fvec4) Load 18(v2)
59: 7(fvec4) FMul 57 58
ReturnValue 59
47: Label
Store 62 37
63: 7(fvec4) Load 62
ReturnValue 63
FunctionEnd