glslang -> SPV: translate the source profile to the SPV source language.
[platform/upstream/glslang.git] / Test / baseResults / spv.switch.frag.out
1 spv.switch.frag\r
2 WARNING: 0:121: 'switch' : last case/default label not followed by statements \r
3 \r
4 \r
5 \r
6 Linked fragment stage:\r
7 \r
8 \r
9 \r
10 // Module Version 99\r
11 // Generated by (magic number): 51a00bb\r
12 // Id's are bound by 249\r
13 \r
14                               Source ESSL 300\r
15                1:             ExtInstImport  "GLSL.std.450"\r
16                               MemoryModel Logical GLSL450\r
17                               EntryPoint Fragment 4\r
18                               Name 4  "main"\r
19                               Name 16  "foo1(vf4;vf4;i1;"\r
20                               Name 13  "v1"\r
21                               Name 14  "v2"\r
22                               Name 15  "i1"\r
23                               Name 21  "foo2(vf4;vf4;i1;"\r
24                               Name 18  "v1"\r
25                               Name 19  "v2"\r
26                               Name 20  "i1"\r
27                               Name 59  "local"\r
28                               Name 61  "c"\r
29                               Name 72  "f"\r
30                               Name 74  "x"\r
31                               Name 128  "d"\r
32                               Name 154  "i"\r
33                               Name 172  "j"\r
34                               Name 222  "color"\r
35                               Name 228  "v"\r
36                               Name 229  "param"\r
37                               Name 231  "param"\r
38                               Name 233  "param"\r
39                               Name 239  "param"\r
40                               Name 241  "param"\r
41                               Name 243  "param"\r
42                               Decorate 59(local) PrecisionMedium \r
43                               Decorate 61(c) PrecisionMedium \r
44                               Decorate 72(f) PrecisionMedium \r
45                               Decorate 74(x) PrecisionMedium \r
46                               Decorate 74(x) Smooth \r
47                               Decorate 128(d) PrecisionMedium \r
48                               Decorate 154(i) PrecisionMedium \r
49                               Decorate 172(j) PrecisionMedium \r
50                               Decorate 222(color) PrecisionMedium \r
51                               Decorate 228(v) PrecisionMedium \r
52                2:             TypeVoid\r
53                3:             TypeFunction 2 \r
54                7:             TypeFloat 32\r
55                8:             TypeVector 7(float) 4\r
56                9:             TypePointer Function 8(fvec4)\r
57               10:             TypeInt 32 1\r
58               11:             TypePointer Function 10(int)\r
59               12:             TypeFunction 8(fvec4) 9(ptr) 9(ptr) 11(ptr)\r
60               37:    7(float) Constant 0\r
61               38:    8(fvec4) ConstantComposite 37 37 37 37\r
62               48:    7(float) Constant 1065353216\r
63               49:    8(fvec4) ConstantComposite 48 48 48 48\r
64               60:             TypePointer UniformConstant 10(int)\r
65            61(c):     60(ptr) Variable UniformConstant \r
66               64:     10(int) Constant 1\r
67               71:             TypePointer Function 7(float)\r
68               73:             TypePointer Input 7(float)\r
69            74(x):     73(ptr) Variable Input \r
70           128(d):     60(ptr) Variable UniformConstant \r
71              155:     10(int) Constant 0\r
72              159:     10(int) Constant 10\r
73              160:             TypeBool\r
74              173:     10(int) Constant 20\r
75              177:     10(int) Constant 30\r
76              183:    7(float) Constant 1120429670\r
77              203:    7(float) Constant 1079739679\r
78              221:             TypePointer Output 7(float)\r
79       222(color):    221(ptr) Variable Output \r
80              227:             TypePointer UniformConstant 8(fvec4)\r
81           228(v):    227(ptr) Variable UniformConstant \r
82          4(main):           2 Function None 3\r
83                5:             Label\r
84        59(local):     11(ptr) Variable Function \r
85            72(f):     71(ptr) Variable Function \r
86           154(i):     11(ptr) Variable Function \r
87           172(j):     11(ptr) Variable Function \r
88       229(param):      9(ptr) Variable Function \r
89       231(param):      9(ptr) Variable Function \r
90       233(param):     11(ptr) Variable Function \r
91       239(param):      9(ptr) Variable Function \r
92       241(param):      9(ptr) Variable Function \r
93       243(param):     11(ptr) Variable Function \r
94               62:     10(int) Load 61(c) \r
95                               Store 59(local) 62 \r
96               63:     10(int) Load 59(local) \r
97               65:     10(int) IAdd 63 64\r
98                               Store 59(local) 65 \r
99               66:     10(int) Load 61(c) \r
100                               SelectionMerge 70 None\r
101                               Switch 66 69 \r
102                                      case 1: 67\r
103                                      case 2: 68\r
104               67:               Label\r
105               75:    7(float)   Load 74(x) \r
106               76:    7(float)   ExtInst 1(GLSL.std.450) 10(sin) 75\r
107                                 Store 72(f) 76 \r
108                                 Branch 70\r
109               68:               Label\r
110               78:    7(float)   Load 74(x) \r
111               79:    7(float)   ExtInst 1(GLSL.std.450) 11(cos) 78\r
112                                 Store 72(f) 79 \r
113                                 Branch 70\r
114               69:               Label\r
115               81:    7(float)   Load 74(x) \r
116               82:    7(float)   ExtInst 1(GLSL.std.450) 12(tan) 81\r
117                                 Store 72(f) 82 \r
118                                 Branch 70\r
119               70:             Label\r
120               84:     10(int) Load 61(c) \r
121                               SelectionMerge 88 None\r
122                               Switch 84 87 \r
123                                      case 1: 85\r
124                                      case 2: 86\r
125               85:               Label\r
126               89:    7(float)   Load 74(x) \r
127               90:    7(float)   ExtInst 1(GLSL.std.450) 10(sin) 89\r
128               91:    7(float)   Load 72(f) \r
129               92:    7(float)   FAdd 91 90\r
130                                 Store 72(f) 92 \r
131                                 Branch 86\r
132               86:               Label\r
133               93:    7(float)   Load 74(x) \r
134               94:    7(float)   ExtInst 1(GLSL.std.450) 11(cos) 93\r
135               95:    7(float)   Load 72(f) \r
136               96:    7(float)   FAdd 95 94\r
137                                 Store 72(f) 96 \r
138                                 Branch 88\r
139               87:               Label\r
140               98:    7(float)   Load 74(x) \r
141               99:    7(float)   ExtInst 1(GLSL.std.450) 12(tan) 98\r
142              100:    7(float)   Load 72(f) \r
143              101:    7(float)   FAdd 100 99\r
144                                 Store 72(f) 101 \r
145                                 Branch 88\r
146               88:             Label\r
147              103:     10(int) Load 61(c) \r
148                               SelectionMerge 106 None\r
149                               Switch 103 106 \r
150                                      case 1: 104\r
151                                      case 2: 105\r
152              104:               Label\r
153              107:    7(float)   Load 74(x) \r
154              108:    7(float)   ExtInst 1(GLSL.std.450) 10(sin) 107\r
155              109:    7(float)   Load 72(f) \r
156              110:    7(float)   FAdd 109 108\r
157                                 Store 72(f) 110 \r
158                                 Branch 106\r
159              105:               Label\r
160              112:    7(float)   Load 74(x) \r
161              113:    7(float)   ExtInst 1(GLSL.std.450) 11(cos) 112\r
162              114:    7(float)   Load 72(f) \r
163              115:    7(float)   FAdd 114 113\r
164                                 Store 72(f) 115 \r
165                                 Branch 106\r
166              106:             Label\r
167              118:     10(int) Load 61(c) \r
168                               SelectionMerge 122 None\r
169                               Switch 118 121 \r
170                                      case 1: 119\r
171                                      case 2: 120\r
172              119:               Label\r
173              123:    7(float)   Load 74(x) \r
174              124:    7(float)   ExtInst 1(GLSL.std.450) 10(sin) 123\r
175              125:    7(float)   Load 72(f) \r
176              126:    7(float)   FAdd 125 124\r
177                                 Store 72(f) 126 \r
178                                 Branch 122\r
179              120:               Label\r
180              129:     10(int)   Load 128(d) \r
181                                 SelectionMerge 132 None\r
182                                 Switch 129 132 \r
183                                        case 1: 130\r
184                                        case 2: 131\r
185              130:                 Label\r
186              133:    7(float)     Load 74(x) \r
187              134:    7(float)     Load 74(x) \r
188              135:    7(float)     FMul 133 134\r
189              136:    7(float)     Load 74(x) \r
190              137:    7(float)     FMul 135 136\r
191              138:    7(float)     Load 72(f) \r
192              139:    7(float)     FAdd 138 137\r
193                                   Store 72(f) 139 \r
194                                   Branch 132\r
195              131:                 Label\r
196              141:    7(float)     Load 74(x) \r
197              142:    7(float)     Load 74(x) \r
198              143:    7(float)     FMul 141 142\r
199              144:    7(float)     Load 72(f) \r
200              145:    7(float)     FAdd 144 143\r
201                                   Store 72(f) 145 \r
202                                   Branch 132\r
203              132:               Label\r
204                                 Branch 122\r
205              121:               Label\r
206              149:    7(float)   Load 74(x) \r
207              150:    7(float)   ExtInst 1(GLSL.std.450) 12(tan) 149\r
208              151:    7(float)   Load 72(f) \r
209              152:    7(float)   FAdd 151 150\r
210                                 Store 72(f) 152 \r
211                                 Branch 122\r
212              122:             Label\r
213                               Store 154(i) 155 \r
214                               Branch 156\r
215              156:             Label\r
216              158:     10(int) Load 154(i) \r
217              161:   160(bool) SLessThan 158 159\r
218                               LoopMerge 157 None\r
219                               BranchConditional 161 162 157 \r
220              162:               Label\r
221              163:     10(int)   Load 61(c) \r
222                                 SelectionMerge 167 None\r
223                                 Switch 163 166 \r
224                                        case 1: 164\r
225                                        case 2: 165\r
226              164:                 Label\r
227              168:    7(float)     Load 74(x) \r
228              169:    7(float)     ExtInst 1(GLSL.std.450) 10(sin) 168\r
229              170:    7(float)     Load 72(f) \r
230              171:    7(float)     FAdd 170 169\r
231                                   Store 72(f) 171 \r
232                                   Store 172(j) 173 \r
233                                   Branch 174\r
234              174:                 Label\r
235              176:     10(int)     Load 172(j) \r
236              178:   160(bool)     SLessThan 176 177\r
237                                   LoopMerge 175 None\r
238                                   BranchConditional 178 179 175 \r
239              179:                   Label\r
240              180:    7(float)       Load 72(f) \r
241              181:    7(float)       FAdd 180 48\r
242                                     Store 72(f) 181 \r
243              182:    7(float)       Load 72(f) \r
244              184:   160(bool)       FOrdLessThan 182 183\r
245                                     SelectionMerge 186 None\r
246                                     BranchConditional 184 185 186 \r
247              185:                     Label\r
248                                       Branch 175\r
249              186:                   Label\r
250              188:     10(int)       Load 172(j) \r
251              189:     10(int)       IAdd 188 64\r
252                                     Store 172(j) 189 \r
253                                     Branch 174\r
254              175:                 Label\r
255                                   Branch 167\r
256              165:                 Label\r
257              191:    7(float)     Load 74(x) \r
258              192:    7(float)     ExtInst 1(GLSL.std.450) 11(cos) 191\r
259              193:    7(float)     Load 72(f) \r
260              194:    7(float)     FAdd 193 192\r
261                                   Store 72(f) 194 \r
262                                   Branch 167\r
263              166:                 Label\r
264              197:    7(float)     Load 74(x) \r
265              198:    7(float)     ExtInst 1(GLSL.std.450) 12(tan) 197\r
266              199:    7(float)     Load 72(f) \r
267              200:    7(float)     FAdd 199 198\r
268                                   Store 72(f) 200 \r
269                                   Branch 167\r
270              167:               Label\r
271              202:    7(float)   Load 72(f) \r
272              204:   160(bool)   FOrdLessThan 202 203\r
273                                 SelectionMerge 206 None\r
274                                 BranchConditional 204 205 206 \r
275              205:                 Label\r
276                                   Branch 157\r
277              206:               Label\r
278              208:     10(int)   Load 154(i) \r
279              209:     10(int)   IAdd 208 64\r
280                                 Store 154(i) 209 \r
281                                 Branch 156\r
282              157:             Label\r
283              210:     10(int) Load 61(c) \r
284                               SelectionMerge 213 None\r
285                               Switch 210 213 \r
286                                      case 1: 211\r
287                                      case 2: 212\r
288              211:               Label\r
289              214:    7(float)   Load 74(x) \r
290              215:    7(float)   ExtInst 1(GLSL.std.450) 10(sin) 214\r
291              216:    7(float)   Load 72(f) \r
292              217:    7(float)   FAdd 216 215\r
293                                 Store 72(f) 217 \r
294                                 Branch 213\r
295              212:               Label\r
296                                 Branch 213\r
297              213:             Label\r
298              223:    7(float) Load 72(f) \r
299              224:     10(int) Load 59(local) \r
300              225:    7(float) ConvertSToF 224\r
301              226:    7(float) FAdd 223 225\r
302                               Store 222(color) 226 \r
303              230:    8(fvec4) Load 228(v) \r
304                               Store 229(param) 230 \r
305              232:    8(fvec4) Load 228(v) \r
306                               Store 231(param) 232 \r
307              234:     10(int) Load 61(c) \r
308                               Store 233(param) 234 \r
309              235:    8(fvec4) FunctionCall 16(foo1(vf4;vf4;i1;) 229(param) 231(param) 233(param)\r
310              236:    7(float) CompositeExtract 235 1\r
311              237:    7(float) Load 222(color) \r
312              238:    7(float) FAdd 237 236\r
313                               Store 222(color) 238 \r
314              240:    8(fvec4) Load 228(v) \r
315                               Store 239(param) 240 \r
316              242:    8(fvec4) Load 228(v) \r
317                               Store 241(param) 242 \r
318              244:     10(int) Load 61(c) \r
319                               Store 243(param) 244 \r
320              245:    8(fvec4) FunctionCall 21(foo2(vf4;vf4;i1;) 239(param) 241(param) 243(param)\r
321              246:    7(float) CompositeExtract 245 2\r
322              247:    7(float) Load 222(color) \r
323              248:    7(float) FAdd 247 246\r
324                               Store 222(color) 248 \r
325                               Branch 6\r
326                6:             Label\r
327                               Return\r
328                               FunctionEnd\r
329 16(foo1(vf4;vf4;i1;):    8(fvec4) Function None 12\r
330           13(v1):      9(ptr) FunctionParameter\r
331           14(v2):      9(ptr) FunctionParameter\r
332           15(i1):     11(ptr) FunctionParameter\r
333               17:             Label\r
334               23:     10(int) Load 15(i1) \r
335                               SelectionMerge 27 None\r
336                               Switch 23 27 \r
337                                      case 0: 24\r
338                                      case 2: 25\r
339                                      case 1: 25\r
340                                      case 3: 26\r
341               24:               Label\r
342               28:    8(fvec4)   Load 13(v1) \r
343                                 ReturnValue 28\r
344               25:               Label\r
345               30:    8(fvec4)   Load 14(v2) \r
346                                 ReturnValue 30\r
347               26:               Label\r
348               32:    8(fvec4)   Load 13(v1) \r
349               33:    8(fvec4)   Load 14(v2) \r
350               34:    8(fvec4)   FMul 32 33\r
351                                 ReturnValue 34\r
352               27:             Label\r
353                               ReturnValue 38\r
354                               FunctionEnd\r
355 21(foo2(vf4;vf4;i1;):    8(fvec4) Function None 12\r
356           18(v1):      9(ptr) FunctionParameter\r
357           19(v2):      9(ptr) FunctionParameter\r
358           20(i1):     11(ptr) FunctionParameter\r
359               22:             Label\r
360               40:     10(int) Load 20(i1) \r
361                               SelectionMerge 45 None\r
362                               Switch 40 45 \r
363                                      case 0: 41\r
364                                      case 2: 42\r
365                                      case 1: 43\r
366                                      case 3: 44\r
367               41:               Label\r
368               46:    8(fvec4)   Load 18(v1) \r
369                                 ReturnValue 46\r
370               42:               Label\r
371                                 ReturnValue 49\r
372               43:               Label\r
373               51:    8(fvec4)   Load 19(v2) \r
374                                 ReturnValue 51\r
375               44:               Label\r
376               53:    8(fvec4)   Load 18(v1) \r
377               54:    8(fvec4)   Load 19(v2) \r
378               55:    8(fvec4)   FMul 53 54\r
379                                 ReturnValue 55\r
380               45:             Label\r
381                               ReturnValue 38\r
382                               FunctionEnd\r