1hlsl.switch.frag
2Shader version: 500
3gl_FragCoord origin is upper left
40:? Sequence
50:2  Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
60:2    Function Parameters:
70:2      'input' ( in 4-component vector of float)
80:2      'c' ( in int)
90:2      'd' ( in int)
100:?     Sequence
110:3      'c' ( in int)
120:7      switch
130:7      condition
140:7        'c' ( in int)
150:7      body
160:7        Sequence
170:9          default:
180:7          Sequence
190:7            Branch: Break
200:12      switch
210:12      condition
220:12        'c' ( in int)
230:12      body
240:12        Sequence
250:13          case:  with expression
260:13            Constant:
270:13              1 (const int)
280:?           Sequence
290:14            Pre-Increment ( temp 4-component vector of float)
300:14              'input' ( in 4-component vector of float)
310:15            Branch: Break
320:16          case:  with expression
330:16            Constant:
340:16              2 (const int)
350:?           Sequence
360:17            Pre-Decrement ( temp 4-component vector of float)
370:17              'input' ( in 4-component vector of float)
380:18            Branch: Break
390:21      switch: DontFlatten
400:21      condition
410:21        'c' ( in int)
420:21      body
430:21        Sequence
440:22          case:  with expression
450:22            Constant:
460:22              1 (const int)
470:?           Sequence
480:23            Pre-Increment ( temp 4-component vector of float)
490:23              'input' ( in 4-component vector of float)
500:24            Branch: Break
510:25          case:  with expression
520:25            Constant:
530:25              2 (const int)
540:?           Sequence
550:26            switch
560:26            condition
570:26              'd' ( in int)
580:26            body
590:26              Sequence
600:27                case:  with expression
610:27                  Constant:
620:27                    2 (const int)
630:?                 Sequence
640:28                  add second child into first child ( temp 4-component vector of float)
650:28                    'input' ( in 4-component vector of float)
660:28                    Constant:
670:28                      2.000000
680:29                  Branch: Break
690:30                case:  with expression
700:30                  Constant:
710:30                    3 (const int)
720:?                 Sequence
730:31                  add second child into first child ( temp 4-component vector of float)
740:31                    'input' ( in 4-component vector of float)
750:31                    Constant:
760:31                      3.000000
770:32                  Branch: Break
780:34            Branch: Break
790:35          default:
800:?           Sequence
810:36            add second child into first child ( temp 4-component vector of float)
820:36              'input' ( in 4-component vector of float)
830:36              Constant:
840:36                4.000000
850:39      switch
860:39      condition
870:39        'c' ( in int)
880:39      body
890:39        Sequence
900:40          case:  with expression
910:40            Constant:
920:40              1 (const int)
930:39          Sequence
940:39            Branch: Break
950:43      switch
960:43      condition
970:43        'c' ( in int)
980:43      body
990:43        Sequence
1000:44          case:  with expression
1010:44            Constant:
1020:44              1 (const int)
1030:45          case:  with expression
1040:45            Constant:
1050:45              2 (const int)
1060:46          case:  with expression
1070:46            Constant:
1080:46              3 (const int)
1090:?           Sequence
1100:47            Pre-Increment ( temp 4-component vector of float)
1110:47              'input' ( in 4-component vector of float)
1120:48            Branch: Break
1130:49          case:  with expression
1140:49            Constant:
1150:49              4 (const int)
1160:50          case:  with expression
1170:50            Constant:
1180:50              5 (const int)
1190:?           Sequence
1200:51            Pre-Decrement ( temp 4-component vector of float)
1210:51              'input' ( in 4-component vector of float)
1220:54      Branch: Return with expression
1230:54        'input' ( in 4-component vector of float)
1240:2  Function Definition: PixelShaderFunction( ( temp void)
1250:2    Function Parameters:
1260:?     Sequence
1270:2      move second child to first child ( temp 4-component vector of float)
1280:?         'input' ( temp 4-component vector of float)
1290:?         'input' (layout( location=0) in 4-component vector of float)
1300:2      move second child to first child ( temp int)
1310:?         'c' ( temp int)
1320:?         'c' (layout( location=1) flat in int)
1330:2      move second child to first child ( temp int)
1340:?         'd' ( temp int)
1350:?         'd' (layout( location=2) flat in int)
1360:2      move second child to first child ( temp 4-component vector of float)
1370:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1380:2        Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
1390:?           'input' ( temp 4-component vector of float)
1400:?           'c' ( temp int)
1410:?           'd' ( temp int)
1420:?   Linker Objects
1430:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
1440:?     'input' (layout( location=0) in 4-component vector of float)
1450:?     'c' (layout( location=1) flat in int)
1460:?     'd' (layout( location=2) flat in int)
147
148
149Linked fragment stage:
150
151
152Shader version: 500
153gl_FragCoord origin is upper left
1540:? Sequence
1550:2  Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
1560:2    Function Parameters:
1570:2      'input' ( in 4-component vector of float)
1580:2      'c' ( in int)
1590:2      'd' ( in int)
1600:?     Sequence
1610:3      'c' ( in int)
1620:7      switch
1630:7      condition
1640:7        'c' ( in int)
1650:7      body
1660:7        Sequence
1670:9          default:
1680:7          Sequence
1690:7            Branch: Break
1700:12      switch
1710:12      condition
1720:12        'c' ( in int)
1730:12      body
1740:12        Sequence
1750:13          case:  with expression
1760:13            Constant:
1770:13              1 (const int)
1780:?           Sequence
1790:14            Pre-Increment ( temp 4-component vector of float)
1800:14              'input' ( in 4-component vector of float)
1810:15            Branch: Break
1820:16          case:  with expression
1830:16            Constant:
1840:16              2 (const int)
1850:?           Sequence
1860:17            Pre-Decrement ( temp 4-component vector of float)
1870:17              'input' ( in 4-component vector of float)
1880:18            Branch: Break
1890:21      switch: DontFlatten
1900:21      condition
1910:21        'c' ( in int)
1920:21      body
1930:21        Sequence
1940:22          case:  with expression
1950:22            Constant:
1960:22              1 (const int)
1970:?           Sequence
1980:23            Pre-Increment ( temp 4-component vector of float)
1990:23              'input' ( in 4-component vector of float)
2000:24            Branch: Break
2010:25          case:  with expression
2020:25            Constant:
2030:25              2 (const int)
2040:?           Sequence
2050:26            switch
2060:26            condition
2070:26              'd' ( in int)
2080:26            body
2090:26              Sequence
2100:27                case:  with expression
2110:27                  Constant:
2120:27                    2 (const int)
2130:?                 Sequence
2140:28                  add second child into first child ( temp 4-component vector of float)
2150:28                    'input' ( in 4-component vector of float)
2160:28                    Constant:
2170:28                      2.000000
2180:29                  Branch: Break
2190:30                case:  with expression
2200:30                  Constant:
2210:30                    3 (const int)
2220:?                 Sequence
2230:31                  add second child into first child ( temp 4-component vector of float)
2240:31                    'input' ( in 4-component vector of float)
2250:31                    Constant:
2260:31                      3.000000
2270:32                  Branch: Break
2280:34            Branch: Break
2290:35          default:
2300:?           Sequence
2310:36            add second child into first child ( temp 4-component vector of float)
2320:36              'input' ( in 4-component vector of float)
2330:36              Constant:
2340:36                4.000000
2350:39      switch
2360:39      condition
2370:39        'c' ( in int)
2380:39      body
2390:39        Sequence
2400:40          case:  with expression
2410:40            Constant:
2420:40              1 (const int)
2430:39          Sequence
2440:39            Branch: Break
2450:43      switch
2460:43      condition
2470:43        'c' ( in int)
2480:43      body
2490:43        Sequence
2500:44          case:  with expression
2510:44            Constant:
2520:44              1 (const int)
2530:45          case:  with expression
2540:45            Constant:
2550:45              2 (const int)
2560:46          case:  with expression
2570:46            Constant:
2580:46              3 (const int)
2590:?           Sequence
2600:47            Pre-Increment ( temp 4-component vector of float)
2610:47              'input' ( in 4-component vector of float)
2620:48            Branch: Break
2630:49          case:  with expression
2640:49            Constant:
2650:49              4 (const int)
2660:50          case:  with expression
2670:50            Constant:
2680:50              5 (const int)
2690:?           Sequence
2700:51            Pre-Decrement ( temp 4-component vector of float)
2710:51              'input' ( in 4-component vector of float)
2720:54      Branch: Return with expression
2730:54        'input' ( in 4-component vector of float)
2740:2  Function Definition: PixelShaderFunction( ( temp void)
2750:2    Function Parameters:
2760:?     Sequence
2770:2      move second child to first child ( temp 4-component vector of float)
2780:?         'input' ( temp 4-component vector of float)
2790:?         'input' (layout( location=0) in 4-component vector of float)
2800:2      move second child to first child ( temp int)
2810:?         'c' ( temp int)
2820:?         'c' (layout( location=1) flat in int)
2830:2      move second child to first child ( temp int)
2840:?         'd' ( temp int)
2850:?         'd' (layout( location=2) flat in int)
2860:2      move second child to first child ( temp 4-component vector of float)
2870:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2880:2        Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
2890:?           'input' ( temp 4-component vector of float)
2900:?           'c' ( temp int)
2910:?           'd' ( temp int)
2920:?   Linker Objects
2930:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
2940:?     'input' (layout( location=0) in 4-component vector of float)
2950:?     'c' (layout( location=1) flat in int)
2960:?     'd' (layout( location=2) flat in int)
297
298// Module Version 10000
299// Generated by (magic number): 80007
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                              Source HLSL 500
308                              Name 4  "PixelShaderFunction"
309                              Name 15  "@PixelShaderFunction(vf4;i1;i1;"
310                              Name 12  "input"
311                              Name 13  "c"
312                              Name 14  "d"
313                              Name 86  "input"
314                              Name 88  "input"
315                              Name 90  "c"
316                              Name 92  "c"
317                              Name 94  "d"
318                              Name 95  "d"
319                              Name 98  "@entryPointOutput"
320                              Name 99  "param"
321                              Name 101  "param"
322                              Name 103  "param"
323                              Decorate 88(input) Location 0
324                              Decorate 92(c) Flat
325                              Decorate 92(c) Location 1
326                              Decorate 95(d) Flat
327                              Decorate 95(d) Location 2
328                              Decorate 98(@entryPointOutput) Location 0
329               2:             TypeVoid
330               3:             TypeFunction 2
331               6:             TypeFloat 32
332               7:             TypeVector 6(float) 4
333               8:             TypePointer Function 7(fvec4)
334               9:             TypeInt 32 1
335              10:             TypePointer Function 9(int)
336              11:             TypeFunction 7(fvec4) 8(ptr) 10(ptr) 10(ptr)
337              27:    6(float) Constant 1065353216
338              49:    6(float) Constant 1073741824
339              54:    6(float) Constant 1077936128
340              61:    6(float) Constant 1082130432
341              87:             TypePointer Input 7(fvec4)
342       88(input):     87(ptr) Variable Input
343              91:             TypePointer Input 9(int)
344           92(c):     91(ptr) Variable Input
345           95(d):     91(ptr) Variable Input
346              97:             TypePointer Output 7(fvec4)
34798(@entryPointOutput):     97(ptr) Variable Output
3484(PixelShaderFunction):           2 Function None 3
349               5:             Label
350       86(input):      8(ptr) Variable Function
351           90(c):     10(ptr) Variable Function
352           94(d):     10(ptr) Variable Function
353       99(param):      8(ptr) Variable Function
354      101(param):     10(ptr) Variable Function
355      103(param):     10(ptr) Variable Function
356              89:    7(fvec4) Load 88(input)
357                              Store 86(input) 89
358              93:      9(int) Load 92(c)
359                              Store 90(c) 93
360              96:      9(int) Load 95(d)
361                              Store 94(d) 96
362             100:    7(fvec4) Load 86(input)
363                              Store 99(param) 100
364             102:      9(int) Load 90(c)
365                              Store 101(param) 102
366             104:      9(int) Load 94(d)
367                              Store 103(param) 104
368             105:    7(fvec4) FunctionCall 15(@PixelShaderFunction(vf4;i1;i1;) 99(param) 101(param) 103(param)
369                              Store 98(@entryPointOutput) 105
370                              Return
371                              FunctionEnd
37215(@PixelShaderFunction(vf4;i1;i1;):    7(fvec4) Function None 11
373       12(input):      8(ptr) FunctionParameter
374           13(c):     10(ptr) FunctionParameter
375           14(d):     10(ptr) FunctionParameter
376              16:             Label
377              17:      9(int) Load 13(c)
378                              SelectionMerge 19 None
379                              Switch 17 18
380              18:               Label
381                                Branch 19
382              19:             Label
383              22:      9(int) Load 13(c)
384                              SelectionMerge 25 None
385                              Switch 22 25
386                                     case 1: 23
387                                     case 2: 24
388              23:               Label
389              26:    7(fvec4)   Load 12(input)
390              28:    7(fvec4)   CompositeConstruct 27 27 27 27
391              29:    7(fvec4)   FAdd 26 28
392                                Store 12(input) 29
393                                Branch 25
394              24:               Label
395              31:    7(fvec4)   Load 12(input)
396              32:    7(fvec4)   CompositeConstruct 27 27 27 27
397              33:    7(fvec4)   FSub 31 32
398                                Store 12(input) 33
399                                Branch 25
400              25:             Label
401              36:      9(int) Load 13(c)
402                              SelectionMerge 40 DontFlatten
403                              Switch 36 39
404                                     case 1: 37
405                                     case 2: 38
406              39:               Label
407              62:    7(fvec4)   Load 12(input)
408              63:    7(fvec4)   CompositeConstruct 61 61 61 61
409              64:    7(fvec4)   FAdd 62 63
410                                Store 12(input) 64
411                                Branch 40
412              37:               Label
413              41:    7(fvec4)   Load 12(input)
414              42:    7(fvec4)   CompositeConstruct 27 27 27 27
415              43:    7(fvec4)   FAdd 41 42
416                                Store 12(input) 43
417                                Branch 40
418              38:               Label
419              45:      9(int)   Load 14(d)
420                                SelectionMerge 48 None
421                                Switch 45 48
422                                       case 2: 46
423                                       case 3: 47
424              46:                 Label
425              50:    7(fvec4)     Load 12(input)
426              51:    7(fvec4)     CompositeConstruct 49 49 49 49
427              52:    7(fvec4)     FAdd 50 51
428                                  Store 12(input) 52
429                                  Branch 48
430              47:                 Label
431              55:    7(fvec4)     Load 12(input)
432              56:    7(fvec4)     CompositeConstruct 54 54 54 54
433              57:    7(fvec4)     FAdd 55 56
434                                  Store 12(input) 57
435                                  Branch 48
436              48:               Label
437                                Branch 40
438              40:             Label
439              66:      9(int) Load 13(c)
440                              SelectionMerge 68 None
441                              Switch 66 68
442                                     case 1: 67
443              67:               Label
444                                Branch 68
445              68:             Label
446              71:      9(int) Load 13(c)
447                              SelectionMerge 74 None
448                              Switch 71 74
449                                     case 1: 72
450                                     case 2: 72
451                                     case 3: 72
452                                     case 4: 73
453                                     case 5: 73
454              72:               Label
455              75:    7(fvec4)   Load 12(input)
456              76:    7(fvec4)   CompositeConstruct 27 27 27 27
457              77:    7(fvec4)   FAdd 75 76
458                                Store 12(input) 77
459                                Branch 74
460              73:               Label
461              79:    7(fvec4)   Load 12(input)
462              80:    7(fvec4)   CompositeConstruct 27 27 27 27
463              81:    7(fvec4)   FSub 79 80
464                                Store 12(input) 81
465                                Branch 74
466              74:             Label
467              83:    7(fvec4) Load 12(input)
468                              ReturnValue 83
469                              FunctionEnd
470