hlsl.switch.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
0:2    Function Parameters: 
0:2      'input' ( in 4-component vector of float)
0:2      'c' ( in int)
0:2      'd' ( in int)
0:?     Sequence
0:3      'c' ( in int)
0:7      switch
0:7      condition
0:7        'c' ( in int)
0:7      body
0:7        Sequence
0:9          default: 
0:7          Sequence
0:7            Branch: Break
0:12      switch
0:12      condition
0:12        'c' ( in int)
0:12      body
0:12        Sequence
0:13          case:  with expression
0:13            Constant:
0:13              1 (const int)
0:?           Sequence
0:14            Pre-Increment ( temp 4-component vector of float)
0:14              'input' ( in 4-component vector of float)
0:15            Branch: Break
0:16          case:  with expression
0:16            Constant:
0:16              2 (const int)
0:?           Sequence
0:17            Pre-Decrement ( temp 4-component vector of float)
0:17              'input' ( in 4-component vector of float)
0:18            Branch: Break
0:21      switch: DontFlatten
0:21      condition
0:21        'c' ( in int)
0:21      body
0:21        Sequence
0:22          case:  with expression
0:22            Constant:
0:22              1 (const int)
0:?           Sequence
0:23            Pre-Increment ( temp 4-component vector of float)
0:23              'input' ( in 4-component vector of float)
0:24            Branch: Break
0:25          case:  with expression
0:25            Constant:
0:25              2 (const int)
0:?           Sequence
0:26            switch
0:26            condition
0:26              'd' ( in int)
0:26            body
0:26              Sequence
0:27                case:  with expression
0:27                  Constant:
0:27                    2 (const int)
0:?                 Sequence
0:28                  add second child into first child ( temp 4-component vector of float)
0:28                    'input' ( in 4-component vector of float)
0:28                    Constant:
0:28                      2.000000
0:29                  Branch: Break
0:30                case:  with expression
0:30                  Constant:
0:30                    3 (const int)
0:?                 Sequence
0:31                  add second child into first child ( temp 4-component vector of float)
0:31                    'input' ( in 4-component vector of float)
0:31                    Constant:
0:31                      3.000000
0:32                  Branch: Break
0:34            Branch: Break
0:35          default: 
0:?           Sequence
0:36            add second child into first child ( temp 4-component vector of float)
0:36              'input' ( in 4-component vector of float)
0:36              Constant:
0:36                4.000000
0:39      switch
0:39      condition
0:39        'c' ( in int)
0:39      body
0:39        Sequence
0:40          case:  with expression
0:40            Constant:
0:40              1 (const int)
0:39          Sequence
0:39            Branch: Break
0:43      switch
0:43      condition
0:43        'c' ( in int)
0:43      body
0:43        Sequence
0:44          case:  with expression
0:44            Constant:
0:44              1 (const int)
0:45          case:  with expression
0:45            Constant:
0:45              2 (const int)
0:46          case:  with expression
0:46            Constant:
0:46              3 (const int)
0:?           Sequence
0:47            Pre-Increment ( temp 4-component vector of float)
0:47              'input' ( in 4-component vector of float)
0:48            Branch: Break
0:49          case:  with expression
0:49            Constant:
0:49              4 (const int)
0:50          case:  with expression
0:50            Constant:
0:50              5 (const int)
0:?           Sequence
0:51            Pre-Decrement ( temp 4-component vector of float)
0:51              'input' ( in 4-component vector of float)
0:54      Branch: Return with expression
0:54        'input' ( in 4-component vector of float)
0:2  Function Definition: PixelShaderFunction( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:2      move second child to first child ( temp int)
0:?         'c' ( temp int)
0:?         'c' (layout( location=1) flat in int)
0:2      move second child to first child ( temp int)
0:?         'd' ( temp int)
0:?         'd' (layout( location=2) flat in int)
0:2      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2        Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?           'c' ( temp int)
0:?           'd' ( temp int)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)
0:?     'c' (layout( location=1) flat in int)
0:?     'd' (layout( location=2) flat in int)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
0:2    Function Parameters: 
0:2      'input' ( in 4-component vector of float)
0:2      'c' ( in int)
0:2      'd' ( in int)
0:?     Sequence
0:3      'c' ( in int)
0:7      switch
0:7      condition
0:7        'c' ( in int)
0:7      body
0:7        Sequence
0:9          default: 
0:7          Sequence
0:7            Branch: Break
0:12      switch
0:12      condition
0:12        'c' ( in int)
0:12      body
0:12        Sequence
0:13          case:  with expression
0:13            Constant:
0:13              1 (const int)
0:?           Sequence
0:14            Pre-Increment ( temp 4-component vector of float)
0:14              'input' ( in 4-component vector of float)
0:15            Branch: Break
0:16          case:  with expression
0:16            Constant:
0:16              2 (const int)
0:?           Sequence
0:17            Pre-Decrement ( temp 4-component vector of float)
0:17              'input' ( in 4-component vector of float)
0:18            Branch: Break
0:21      switch: DontFlatten
0:21      condition
0:21        'c' ( in int)
0:21      body
0:21        Sequence
0:22          case:  with expression
0:22            Constant:
0:22              1 (const int)
0:?           Sequence
0:23            Pre-Increment ( temp 4-component vector of float)
0:23              'input' ( in 4-component vector of float)
0:24            Branch: Break
0:25          case:  with expression
0:25            Constant:
0:25              2 (const int)
0:?           Sequence
0:26            switch
0:26            condition
0:26              'd' ( in int)
0:26            body
0:26              Sequence
0:27                case:  with expression
0:27                  Constant:
0:27                    2 (const int)
0:?                 Sequence
0:28                  add second child into first child ( temp 4-component vector of float)
0:28                    'input' ( in 4-component vector of float)
0:28                    Constant:
0:28                      2.000000
0:29                  Branch: Break
0:30                case:  with expression
0:30                  Constant:
0:30                    3 (const int)
0:?                 Sequence
0:31                  add second child into first child ( temp 4-component vector of float)
0:31                    'input' ( in 4-component vector of float)
0:31                    Constant:
0:31                      3.000000
0:32                  Branch: Break
0:34            Branch: Break
0:35          default: 
0:?           Sequence
0:36            add second child into first child ( temp 4-component vector of float)
0:36              'input' ( in 4-component vector of float)
0:36              Constant:
0:36                4.000000
0:39      switch
0:39      condition
0:39        'c' ( in int)
0:39      body
0:39        Sequence
0:40          case:  with expression
0:40            Constant:
0:40              1 (const int)
0:39          Sequence
0:39            Branch: Break
0:43      switch
0:43      condition
0:43        'c' ( in int)
0:43      body
0:43        Sequence
0:44          case:  with expression
0:44            Constant:
0:44              1 (const int)
0:45          case:  with expression
0:45            Constant:
0:45              2 (const int)
0:46          case:  with expression
0:46            Constant:
0:46              3 (const int)
0:?           Sequence
0:47            Pre-Increment ( temp 4-component vector of float)
0:47              'input' ( in 4-component vector of float)
0:48            Branch: Break
0:49          case:  with expression
0:49            Constant:
0:49              4 (const int)
0:50          case:  with expression
0:50            Constant:
0:50              5 (const int)
0:?           Sequence
0:51            Pre-Decrement ( temp 4-component vector of float)
0:51              'input' ( in 4-component vector of float)
0:54      Branch: Return with expression
0:54        'input' ( in 4-component vector of float)
0:2  Function Definition: PixelShaderFunction( ( temp void)
0:2    Function Parameters: 
0:?     Sequence
0:2      move second child to first child ( temp 4-component vector of float)
0:?         'input' ( temp 4-component vector of float)
0:?         'input' (layout( location=0) in 4-component vector of float)
0:2      move second child to first child ( temp int)
0:?         'c' ( temp int)
0:?         'c' (layout( location=1) flat in int)
0:2      move second child to first child ( temp int)
0:?         'd' ( temp int)
0:?         'd' (layout( location=2) flat in int)
0:2      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2        Function Call: @PixelShaderFunction(vf4;i1;i1; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
0:?           'c' ( temp int)
0:?           'd' ( temp int)
0:?   Linker Objects
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:?     'input' (layout( location=0) in 4-component vector of float)
0:?     'c' (layout( location=1) flat in int)
0:?     'd' (layout( location=2) flat in int)

// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 106

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 88 92 95 98
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 15  "@PixelShaderFunction(vf4;i1;i1;"
                              Name 12  "input"
                              Name 13  "c"
                              Name 14  "d"
                              Name 86  "input"
                              Name 88  "input"
                              Name 90  "c"
                              Name 92  "c"
                              Name 94  "d"
                              Name 95  "d"
                              Name 98  "@entryPointOutput"
                              Name 99  "param"
                              Name 101  "param"
                              Name 103  "param"
                              Decorate 88(input) Location 0
                              Decorate 92(c) Flat
                              Decorate 92(c) Location 1
                              Decorate 95(d) Flat
                              Decorate 95(d) Location 2
                              Decorate 98(@entryPointOutput) Location 0
               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) 10(ptr) 10(ptr)
              27:    6(float) Constant 1065353216
              49:    6(float) Constant 1073741824
              54:    6(float) Constant 1077936128
              61:    6(float) Constant 1082130432
              87:             TypePointer Input 7(fvec4)
       88(input):     87(ptr) Variable Input
              91:             TypePointer Input 9(int)
           92(c):     91(ptr) Variable Input
           95(d):     91(ptr) Variable Input
              97:             TypePointer Output 7(fvec4)
98(@entryPointOutput):     97(ptr) Variable Output
4(PixelShaderFunction):           2 Function None 3
               5:             Label
       86(input):      8(ptr) Variable Function
           90(c):     10(ptr) Variable Function
           94(d):     10(ptr) Variable Function
       99(param):      8(ptr) Variable Function
      101(param):     10(ptr) Variable Function
      103(param):     10(ptr) Variable Function
              89:    7(fvec4) Load 88(input)
                              Store 86(input) 89
              93:      9(int) Load 92(c)
                              Store 90(c) 93
              96:      9(int) Load 95(d)
                              Store 94(d) 96
             100:    7(fvec4) Load 86(input)
                              Store 99(param) 100
             102:      9(int) Load 90(c)
                              Store 101(param) 102
             104:      9(int) Load 94(d)
                              Store 103(param) 104
             105:    7(fvec4) FunctionCall 15(@PixelShaderFunction(vf4;i1;i1;) 99(param) 101(param) 103(param)
                              Store 98(@entryPointOutput) 105
                              Return
                              FunctionEnd
15(@PixelShaderFunction(vf4;i1;i1;):    7(fvec4) Function None 11
       12(input):      8(ptr) FunctionParameter
           13(c):     10(ptr) FunctionParameter
           14(d):     10(ptr) FunctionParameter
              16:             Label
              17:      9(int) Load 13(c)
                              SelectionMerge 19 None
                              Switch 17 18
              18:               Label
                                Branch 19
              19:             Label
              22:      9(int) Load 13(c)
                              SelectionMerge 25 None
                              Switch 22 25 
                                     case 1: 23
                                     case 2: 24
              23:               Label
              26:    7(fvec4)   Load 12(input)
              28:    7(fvec4)   CompositeConstruct 27 27 27 27
              29:    7(fvec4)   FAdd 26 28
                                Store 12(input) 29
                                Branch 25
              24:               Label
              31:    7(fvec4)   Load 12(input)
              32:    7(fvec4)   CompositeConstruct 27 27 27 27
              33:    7(fvec4)   FSub 31 32
                                Store 12(input) 33
                                Branch 25
              25:             Label
              36:      9(int) Load 13(c)
                              SelectionMerge 40 DontFlatten 
                              Switch 36 39 
                                     case 1: 37
                                     case 2: 38
              39:               Label
              62:    7(fvec4)   Load 12(input)
              63:    7(fvec4)   CompositeConstruct 61 61 61 61
              64:    7(fvec4)   FAdd 62 63
                                Store 12(input) 64
                                Branch 40
              37:               Label
              41:    7(fvec4)   Load 12(input)
              42:    7(fvec4)   CompositeConstruct 27 27 27 27
              43:    7(fvec4)   FAdd 41 42
                                Store 12(input) 43
                                Branch 40
              38:               Label
              45:      9(int)   Load 14(d)
                                SelectionMerge 48 None
                                Switch 45 48 
                                       case 2: 46
                                       case 3: 47
              46:                 Label
              50:    7(fvec4)     Load 12(input)
              51:    7(fvec4)     CompositeConstruct 49 49 49 49
              52:    7(fvec4)     FAdd 50 51
                                  Store 12(input) 52
                                  Branch 48
              47:                 Label
              55:    7(fvec4)     Load 12(input)
              56:    7(fvec4)     CompositeConstruct 54 54 54 54
              57:    7(fvec4)     FAdd 55 56
                                  Store 12(input) 57
                                  Branch 48
              48:               Label
                                Branch 40
              40:             Label
              66:      9(int) Load 13(c)
                              SelectionMerge 68 None
                              Switch 66 68 
                                     case 1: 67
              67:               Label
                                Branch 68
              68:             Label
              71:      9(int) Load 13(c)
                              SelectionMerge 74 None
                              Switch 71 74 
                                     case 1: 72
                                     case 2: 72
                                     case 3: 72
                                     case 4: 73
                                     case 5: 73
              72:               Label
              75:    7(fvec4)   Load 12(input)
              76:    7(fvec4)   CompositeConstruct 27 27 27 27
              77:    7(fvec4)   FAdd 75 76
                                Store 12(input) 77
                                Branch 74
              73:               Label
              79:    7(fvec4)   Load 12(input)
              80:    7(fvec4)   CompositeConstruct 27 27 27 27
              81:    7(fvec4)   FSub 79 80
                                Store 12(input) 81
                                Branch 74
              74:             Label
              83:    7(fvec4) Load 12(input)
                              ReturnValue 83
                              FunctionEnd
