8ee9d7c424973dc6399c989e2f4cb6f6d7a26351
[platform/upstream/glslang.git] / Test / baseResults / hlsl.switch.frag.out
1 hlsl.switch.frag
2 Shader version: 450
3 gl_FragCoord origin is upper left
4 0:? Sequence
5 0:2  Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
6 0:2    Function Parameters: 
7 0:2      'input' ( in 4-component vector of float)
8 0:2      'c' ( in int)
9 0:2      'd' ( in int)
10 0:?     Sequence
11 0:3      'c' ( in int)
12 0:7      switch
13 0:7      condition
14 0:7        'c' ( in int)
15 0:7      body
16 0:7        Sequence
17 0:9          default: 
18 0:7          Sequence
19 0:7            Branch: Break
20 0:12      switch
21 0:12      condition
22 0:12        'c' ( in int)
23 0:12      body
24 0:12        Sequence
25 0:13          case:  with expression
26 0:13            Constant:
27 0:13              1 (const int)
28 0:?           Sequence
29 0:14            Pre-Increment ( temp 4-component vector of float)
30 0:14              'input' ( in 4-component vector of float)
31 0:15            Branch: Break
32 0:16          case:  with expression
33 0:16            Constant:
34 0:16              2 (const int)
35 0:?           Sequence
36 0:17            Pre-Decrement ( temp 4-component vector of float)
37 0:17              'input' ( in 4-component vector of float)
38 0:18            Branch: Break
39 0:21      switch
40 0:21      condition
41 0:21        'c' ( in int)
42 0:21      body
43 0:21        Sequence
44 0:22          case:  with expression
45 0:22            Constant:
46 0:22              1 (const int)
47 0:?           Sequence
48 0:23            Pre-Increment ( temp 4-component vector of float)
49 0:23              'input' ( in 4-component vector of float)
50 0:24            Branch: Break
51 0:25          case:  with expression
52 0:25            Constant:
53 0:25              2 (const int)
54 0:?           Sequence
55 0:26            switch
56 0:26            condition
57 0:26              'd' ( in int)
58 0:26            body
59 0:26              Sequence
60 0:27                case:  with expression
61 0:27                  Constant:
62 0:27                    2 (const int)
63 0:?                 Sequence
64 0:28                  add second child into first child ( temp 4-component vector of float)
65 0:28                    'input' ( in 4-component vector of float)
66 0:28                    Constant:
67 0:28                      2.000000
68 0:29                  Branch: Break
69 0:30                case:  with expression
70 0:30                  Constant:
71 0:30                    3 (const int)
72 0:?                 Sequence
73 0:31                  add second child into first child ( temp 4-component vector of float)
74 0:31                    'input' ( in 4-component vector of float)
75 0:31                    Constant:
76 0:31                      3.000000
77 0:32                  Branch: Break
78 0:34            Branch: Break
79 0:35          default: 
80 0:?           Sequence
81 0:36            add second child into first child ( temp 4-component vector of float)
82 0:36              'input' ( in 4-component vector of float)
83 0:36              Constant:
84 0:36                4.000000
85 0:39      switch
86 0:39      condition
87 0:39        'c' ( in int)
88 0:39      body
89 0:39        Sequence
90 0:40          case:  with expression
91 0:40            Constant:
92 0:40              1 (const int)
93 0:39          Sequence
94 0:39            Branch: Break
95 0:43      switch
96 0:43      condition
97 0:43        'c' ( in int)
98 0:43      body
99 0:43        Sequence
100 0:44          case:  with expression
101 0:44            Constant:
102 0:44              1 (const int)
103 0:45          case:  with expression
104 0:45            Constant:
105 0:45              2 (const int)
106 0:46          case:  with expression
107 0:46            Constant:
108 0:46              3 (const int)
109 0:?           Sequence
110 0:47            Pre-Increment ( temp 4-component vector of float)
111 0:47              'input' ( in 4-component vector of float)
112 0:48            Branch: Break
113 0:49          case:  with expression
114 0:49            Constant:
115 0:49              4 (const int)
116 0:50          case:  with expression
117 0:50            Constant:
118 0:50              5 (const int)
119 0:?           Sequence
120 0:51            Pre-Decrement ( temp 4-component vector of float)
121 0:51              'input' ( in 4-component vector of float)
122 0:54      Branch: Return with expression
123 0:54        'input' ( in 4-component vector of float)
124 0:2  Function Definition: PixelShaderFunction( ( temp void)
125 0:2    Function Parameters: 
126 0:?     Sequence
127 0:2      move second child to first child ( temp 4-component vector of float)
128 0:?         'input' ( temp 4-component vector of float)
129 0:?         'input' (layout( location=0) in 4-component vector of float)
130 0:2      move second child to first child ( temp int)
131 0:?         'c' ( temp int)
132 0:?         'c' (layout( location=1) in int)
133 0:2      move second child to first child ( temp int)
134 0:?         'd' ( temp int)
135 0:?         'd' (layout( location=2) in int)
136 0:2      move second child to first child ( temp 4-component vector of float)
137 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
138 0:2        Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
139 0:?           'input' ( temp 4-component vector of float)
140 0:?           'c' ( temp int)
141 0:?           'd' ( temp int)
142 0:?   Linker Objects
143 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
144 0:?     'input' (layout( location=0) in 4-component vector of float)
145 0:?     'c' (layout( location=1) in int)
146 0:?     'd' (layout( location=2) in int)
147
148
149 Linked fragment stage:
150
151
152 Shader version: 450
153 gl_FragCoord origin is upper left
154 0:? Sequence
155 0:2  Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
156 0:2    Function Parameters: 
157 0:2      'input' ( in 4-component vector of float)
158 0:2      'c' ( in int)
159 0:2      'd' ( in int)
160 0:?     Sequence
161 0:3      'c' ( in int)
162 0:7      switch
163 0:7      condition
164 0:7        'c' ( in int)
165 0:7      body
166 0:7        Sequence
167 0:9          default: 
168 0:7          Sequence
169 0:7            Branch: Break
170 0:12      switch
171 0:12      condition
172 0:12        'c' ( in int)
173 0:12      body
174 0:12        Sequence
175 0:13          case:  with expression
176 0:13            Constant:
177 0:13              1 (const int)
178 0:?           Sequence
179 0:14            Pre-Increment ( temp 4-component vector of float)
180 0:14              'input' ( in 4-component vector of float)
181 0:15            Branch: Break
182 0:16          case:  with expression
183 0:16            Constant:
184 0:16              2 (const int)
185 0:?           Sequence
186 0:17            Pre-Decrement ( temp 4-component vector of float)
187 0:17              'input' ( in 4-component vector of float)
188 0:18            Branch: Break
189 0:21      switch
190 0:21      condition
191 0:21        'c' ( in int)
192 0:21      body
193 0:21        Sequence
194 0:22          case:  with expression
195 0:22            Constant:
196 0:22              1 (const int)
197 0:?           Sequence
198 0:23            Pre-Increment ( temp 4-component vector of float)
199 0:23              'input' ( in 4-component vector of float)
200 0:24            Branch: Break
201 0:25          case:  with expression
202 0:25            Constant:
203 0:25              2 (const int)
204 0:?           Sequence
205 0:26            switch
206 0:26            condition
207 0:26              'd' ( in int)
208 0:26            body
209 0:26              Sequence
210 0:27                case:  with expression
211 0:27                  Constant:
212 0:27                    2 (const int)
213 0:?                 Sequence
214 0:28                  add second child into first child ( temp 4-component vector of float)
215 0:28                    'input' ( in 4-component vector of float)
216 0:28                    Constant:
217 0:28                      2.000000
218 0:29                  Branch: Break
219 0:30                case:  with expression
220 0:30                  Constant:
221 0:30                    3 (const int)
222 0:?                 Sequence
223 0:31                  add second child into first child ( temp 4-component vector of float)
224 0:31                    'input' ( in 4-component vector of float)
225 0:31                    Constant:
226 0:31                      3.000000
227 0:32                  Branch: Break
228 0:34            Branch: Break
229 0:35          default: 
230 0:?           Sequence
231 0:36            add second child into first child ( temp 4-component vector of float)
232 0:36              'input' ( in 4-component vector of float)
233 0:36              Constant:
234 0:36                4.000000
235 0:39      switch
236 0:39      condition
237 0:39        'c' ( in int)
238 0:39      body
239 0:39        Sequence
240 0:40          case:  with expression
241 0:40            Constant:
242 0:40              1 (const int)
243 0:39          Sequence
244 0:39            Branch: Break
245 0:43      switch
246 0:43      condition
247 0:43        'c' ( in int)
248 0:43      body
249 0:43        Sequence
250 0:44          case:  with expression
251 0:44            Constant:
252 0:44              1 (const int)
253 0:45          case:  with expression
254 0:45            Constant:
255 0:45              2 (const int)
256 0:46          case:  with expression
257 0:46            Constant:
258 0:46              3 (const int)
259 0:?           Sequence
260 0:47            Pre-Increment ( temp 4-component vector of float)
261 0:47              'input' ( in 4-component vector of float)
262 0:48            Branch: Break
263 0:49          case:  with expression
264 0:49            Constant:
265 0:49              4 (const int)
266 0:50          case:  with expression
267 0:50            Constant:
268 0:50              5 (const int)
269 0:?           Sequence
270 0:51            Pre-Decrement ( temp 4-component vector of float)
271 0:51              'input' ( in 4-component vector of float)
272 0:54      Branch: Return with expression
273 0:54        'input' ( in 4-component vector of float)
274 0:2  Function Definition: PixelShaderFunction( ( temp void)
275 0:2    Function Parameters: 
276 0:?     Sequence
277 0:2      move second child to first child ( temp 4-component vector of float)
278 0:?         'input' ( temp 4-component vector of float)
279 0:?         'input' (layout( location=0) in 4-component vector of float)
280 0:2      move second child to first child ( temp int)
281 0:?         'c' ( temp int)
282 0:?         'c' (layout( location=1) in int)
283 0:2      move second child to first child ( temp int)
284 0:?         'd' ( temp int)
285 0:?         'd' (layout( location=2) in int)
286 0:2      move second child to first child ( temp 4-component vector of float)
287 0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
288 0:2        Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
289 0:?           'input' ( temp 4-component vector of float)
290 0:?           'c' ( temp int)
291 0:?           'd' ( temp int)
292 0:?   Linker Objects
293 0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
294 0:?     'input' (layout( location=0) in 4-component vector of float)
295 0:?     'c' (layout( location=1) in int)
296 0:?     'd' (layout( location=2) in int)
297
298 // Module Version 10000
299 // Generated by (magic number): 80001
300 // Id's are bound by 106
301
302                               Capability Shader
303                1:             ExtInstImport  "GLSL.std.450"
304                               MemoryModel Logical GLSL450
305                               EntryPoint Fragment 4  "PixelShaderFunction" 88 92 95 98
306                               ExecutionMode 4 OriginUpperLeft
307                               Name 4  "PixelShaderFunction"
308                               Name 15  "@PixelShaderFunction(vf4;i1;i1;"
309                               Name 12  "input"
310                               Name 13  "c"
311                               Name 14  "d"
312                               Name 86  "input"
313                               Name 88  "input"
314                               Name 90  "c"
315                               Name 92  "c"
316                               Name 94  "d"
317                               Name 95  "d"
318                               Name 98  "@entryPointOutput"
319                               Name 99  "param"
320                               Name 101  "param"
321                               Name 103  "param"
322                               Decorate 88(input) Location 0
323                               Decorate 92(c) Location 1
324                               Decorate 95(d) Location 2
325                               Decorate 98(@entryPointOutput) Location 0
326                2:             TypeVoid
327                3:             TypeFunction 2
328                6:             TypeFloat 32
329                7:             TypeVector 6(float) 4
330                8:             TypePointer Function 7(fvec4)
331                9:             TypeInt 32 1
332               10:             TypePointer Function 9(int)
333               11:             TypeFunction 7(fvec4) 8(ptr) 10(ptr) 10(ptr)
334               27:    6(float) Constant 1065353216
335               49:    6(float) Constant 1073741824
336               54:    6(float) Constant 1077936128
337               61:    6(float) Constant 1082130432
338               87:             TypePointer Input 7(fvec4)
339        88(input):     87(ptr) Variable Input
340               91:             TypePointer Input 9(int)
341            92(c):     91(ptr) Variable Input
342            95(d):     91(ptr) Variable Input
343               97:             TypePointer Output 7(fvec4)
344 98(@entryPointOutput):     97(ptr) Variable Output
345 4(PixelShaderFunction):           2 Function None 3
346                5:             Label
347        86(input):      8(ptr) Variable Function
348            90(c):     10(ptr) Variable Function
349            94(d):     10(ptr) Variable Function
350        99(param):      8(ptr) Variable Function
351       101(param):     10(ptr) Variable Function
352       103(param):     10(ptr) Variable Function
353               89:    7(fvec4) Load 88(input)
354                               Store 86(input) 89
355               93:      9(int) Load 92(c)
356                               Store 90(c) 93
357               96:      9(int) Load 95(d)
358                               Store 94(d) 96
359              100:    7(fvec4) Load 86(input)
360                               Store 99(param) 100
361              102:      9(int) Load 90(c)
362                               Store 101(param) 102
363              104:      9(int) Load 94(d)
364                               Store 103(param) 104
365              105:    7(fvec4) FunctionCall 15(@PixelShaderFunction(vf4;i1;i1;) 99(param) 101(param) 103(param)
366                               Store 98(@entryPointOutput) 105
367                               Return
368                               FunctionEnd
369 15(@PixelShaderFunction(vf4;i1;i1;):    7(fvec4) Function None 11
370        12(input):      8(ptr) FunctionParameter
371            13(c):     10(ptr) FunctionParameter
372            14(d):     10(ptr) FunctionParameter
373               16:             Label
374               17:      9(int) Load 13(c)
375                               SelectionMerge 19 None
376                               Switch 17 18
377               18:               Label
378                                 Branch 19
379               19:             Label
380               22:      9(int) Load 13(c)
381                               SelectionMerge 25 None
382                               Switch 22 25 
383                                      case 1: 23
384                                      case 2: 24
385               23:               Label
386               26:    7(fvec4)   Load 12(input)
387               28:    7(fvec4)   CompositeConstruct 27 27 27 27
388               29:    7(fvec4)   FAdd 26 28
389                                 Store 12(input) 29
390                                 Branch 25
391               24:               Label
392               31:    7(fvec4)   Load 12(input)
393               32:    7(fvec4)   CompositeConstruct 27 27 27 27
394               33:    7(fvec4)   FSub 31 32
395                                 Store 12(input) 33
396                                 Branch 25
397               25:             Label
398               36:      9(int) Load 13(c)
399                               SelectionMerge 40 None
400                               Switch 36 39 
401                                      case 1: 37
402                                      case 2: 38
403               39:               Label
404               62:    7(fvec4)   Load 12(input)
405               63:    7(fvec4)   CompositeConstruct 61 61 61 61
406               64:    7(fvec4)   FAdd 62 63
407                                 Store 12(input) 64
408                                 Branch 40
409               37:               Label
410               41:    7(fvec4)   Load 12(input)
411               42:    7(fvec4)   CompositeConstruct 27 27 27 27
412               43:    7(fvec4)   FAdd 41 42
413                                 Store 12(input) 43
414                                 Branch 40
415               38:               Label
416               45:      9(int)   Load 14(d)
417                                 SelectionMerge 48 None
418                                 Switch 45 48 
419                                        case 2: 46
420                                        case 3: 47
421               46:                 Label
422               50:    7(fvec4)     Load 12(input)
423               51:    7(fvec4)     CompositeConstruct 49 49 49 49
424               52:    7(fvec4)     FAdd 50 51
425                                   Store 12(input) 52
426                                   Branch 48
427               47:                 Label
428               55:    7(fvec4)     Load 12(input)
429               56:    7(fvec4)     CompositeConstruct 54 54 54 54
430               57:    7(fvec4)     FAdd 55 56
431                                   Store 12(input) 57
432                                   Branch 48
433               48:               Label
434                                 Branch 40
435               40:             Label
436               66:      9(int) Load 13(c)
437                               SelectionMerge 68 None
438                               Switch 66 68 
439                                      case 1: 67
440               67:               Label
441                                 Branch 68
442               68:             Label
443               71:      9(int) Load 13(c)
444                               SelectionMerge 74 None
445                               Switch 71 74 
446                                      case 1: 72
447                                      case 2: 72
448                                      case 3: 72
449                                      case 4: 73
450                                      case 5: 73
451               72:               Label
452               75:    7(fvec4)   Load 12(input)
453               76:    7(fvec4)   CompositeConstruct 27 27 27 27
454               77:    7(fvec4)   FAdd 75 76
455                                 Store 12(input) 77
456                                 Branch 74
457               73:               Label
458               79:    7(fvec4)   Load 12(input)
459               80:    7(fvec4)   CompositeConstruct 27 27 27 27
460               81:    7(fvec4)   FSub 79 80
461                                 Store 12(input) 81
462                                 Branch 74
463               74:             Label
464               83:    7(fvec4) Load 12(input)
465                               ReturnValue 83
466                               FunctionEnd