hlsl.if.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2    Function Parameters: 
0:2      'input' (layout(location=0 ) in 4-component vector of float)
0:?     Sequence
0:3      Test condition and select (temp void)
0:3        Condition
0:3        Compare Equal (temp bool)
0:3          'input' (layout(location=0 ) in 4-component vector of float)
0:3          'input' (layout(location=0 ) in 4-component vector of float)
0:3        true case
0:4        Sequence
0:4          move second child to first child (temp 4-component vector of float)
0:?             '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:4            'input' (layout(location=0 ) in 4-component vector of float)
0:4          Branch: Return
0:6      Test condition and select (temp void)
0:6        Condition
0:6        Compare Equal (temp bool)
0:6          'input' (layout(location=0 ) in 4-component vector of float)
0:6          'input' (layout(location=0 ) in 4-component vector of float)
0:6        true case
0:7        Sequence
0:7          move second child to first child (temp 4-component vector of float)
0:?             '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7            'input' (layout(location=0 ) in 4-component vector of float)
0:7          Branch: Return
0:6        false case
0:9        Sequence
0:9          move second child to first child (temp 4-component vector of float)
0:?             '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9            Negate value (temp 4-component vector of float)
0:9              'input' (layout(location=0 ) in 4-component vector of float)
0:9          Branch: Return
0:11      Test condition and select (temp void)
0:11        Condition
0:11        Compare Equal (temp bool)
0:11          'input' (layout(location=0 ) in 4-component vector of float)
0:11          'input' (layout(location=0 ) in 4-component vector of float)
0:11        true case is null
0:14      Test condition and select (temp void)
0:14        Condition
0:14        Compare Equal (temp bool)
0:14          'input' (layout(location=0 ) in 4-component vector of float)
0:14          'input' (layout(location=0 ) in 4-component vector of float)
0:14        true case is null
0:19      Test condition and select (temp void)
0:19        Condition
0:19        Compare Equal (temp bool)
0:19          'input' (layout(location=0 ) in 4-component vector of float)
0:19          'input' (layout(location=0 ) in 4-component vector of float)
0:19        true case
0:?         Sequence
0:20          Sequence
0:20            move second child to first child (temp 4-component vector of float)
0:?               '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:20              'input' (layout(location=0 ) in 4-component vector of float)
0:20            Branch: Return
0:23      Test condition and select (temp void)
0:23        Condition
0:23        Compare Equal (temp bool)
0:23          'input' (layout(location=0 ) in 4-component vector of float)
0:23          'input' (layout(location=0 ) in 4-component vector of float)
0:23        true case
0:?         Sequence
0:24          Sequence
0:24            move second child to first child (temp 4-component vector of float)
0:?               '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:24              'input' (layout(location=0 ) in 4-component vector of float)
0:24            Branch: Return
0:23        false case
0:?         Sequence
0:26          Sequence
0:26            move second child to first child (temp 4-component vector of float)
0:?               '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:26              Negate value (temp 4-component vector of float)
0:26                'input' (layout(location=0 ) in 4-component vector of float)
0:26            Branch: Return
0:30      Test condition and select (temp void)
0:30        Condition
0:30        move second child to first child (temp float)
0:30          'ii' (temp float)
0:30          direct index (temp float)
0:30            'input' (layout(location=0 ) in 4-component vector of float)
0:30            Constant:
0:30              2 (const int)
0:30        true case
0:31        Pre-Increment (temp float)
0:31          'ii' (temp float)
0:32      Pre-Increment (temp int)
0:32        'ii' (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)


Linked fragment stage:


Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: PixelShaderFunction(vf4; (global 4-component vector of float)
0:2    Function Parameters: 
0:2      'input' (layout(location=0 ) in 4-component vector of float)
0:?     Sequence
0:3      Test condition and select (temp void)
0:3        Condition
0:3        Compare Equal (temp bool)
0:3          'input' (layout(location=0 ) in 4-component vector of float)
0:3          'input' (layout(location=0 ) in 4-component vector of float)
0:3        true case
0:4        Sequence
0:4          move second child to first child (temp 4-component vector of float)
0:?             '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:4            'input' (layout(location=0 ) in 4-component vector of float)
0:4          Branch: Return
0:6      Test condition and select (temp void)
0:6        Condition
0:6        Compare Equal (temp bool)
0:6          'input' (layout(location=0 ) in 4-component vector of float)
0:6          'input' (layout(location=0 ) in 4-component vector of float)
0:6        true case
0:7        Sequence
0:7          move second child to first child (temp 4-component vector of float)
0:?             '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:7            'input' (layout(location=0 ) in 4-component vector of float)
0:7          Branch: Return
0:6        false case
0:9        Sequence
0:9          move second child to first child (temp 4-component vector of float)
0:?             '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:9            Negate value (temp 4-component vector of float)
0:9              'input' (layout(location=0 ) in 4-component vector of float)
0:9          Branch: Return
0:11      Test condition and select (temp void)
0:11        Condition
0:11        Compare Equal (temp bool)
0:11          'input' (layout(location=0 ) in 4-component vector of float)
0:11          'input' (layout(location=0 ) in 4-component vector of float)
0:11        true case is null
0:14      Test condition and select (temp void)
0:14        Condition
0:14        Compare Equal (temp bool)
0:14          'input' (layout(location=0 ) in 4-component vector of float)
0:14          'input' (layout(location=0 ) in 4-component vector of float)
0:14        true case is null
0:19      Test condition and select (temp void)
0:19        Condition
0:19        Compare Equal (temp bool)
0:19          'input' (layout(location=0 ) in 4-component vector of float)
0:19          'input' (layout(location=0 ) in 4-component vector of float)
0:19        true case
0:?         Sequence
0:20          Sequence
0:20            move second child to first child (temp 4-component vector of float)
0:?               '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:20              'input' (layout(location=0 ) in 4-component vector of float)
0:20            Branch: Return
0:23      Test condition and select (temp void)
0:23        Condition
0:23        Compare Equal (temp bool)
0:23          'input' (layout(location=0 ) in 4-component vector of float)
0:23          'input' (layout(location=0 ) in 4-component vector of float)
0:23        true case
0:?         Sequence
0:24          Sequence
0:24            move second child to first child (temp 4-component vector of float)
0:?               '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:24              'input' (layout(location=0 ) in 4-component vector of float)
0:24            Branch: Return
0:23        false case
0:?         Sequence
0:26          Sequence
0:26            move second child to first child (temp 4-component vector of float)
0:?               '@entryPointOutput' (layout(location=0 ) out 4-component vector of float)
0:26              Negate value (temp 4-component vector of float)
0:26                'input' (layout(location=0 ) in 4-component vector of float)
0:26            Branch: Return
0:30      Test condition and select (temp void)
0:30        Condition
0:30        move second child to first child (temp float)
0:30          'ii' (temp float)
0:30          direct index (temp float)
0:30            'input' (layout(location=0 ) in 4-component vector of float)
0:30            Constant:
0:30              2 (const int)
0:30        true case
0:31        Pre-Increment (temp float)
0:31          'ii' (temp float)
0:32      Pre-Increment (temp int)
0:32        'ii' (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)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 9 19
                              ExecutionMode 4 OriginUpperLeft
                              Name 4  "PixelShaderFunction"
                              Name 9  "input"
                              Name 19  "@entryPointOutput"
                              Name 67  "ii"
                              Name 80  "ii"
                              Decorate 9(input) Location 0
                              Decorate 19(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Input 7(fvec4)
        9(input):      8(ptr) Variable Input
              12:             TypeBool
              13:             TypeVector 12(bool) 4
              18:             TypePointer Output 7(fvec4)
19(@entryPointOutput):     18(ptr) Variable Output
              66:             TypePointer Function 6(float)
              68:             TypeInt 32 0
              69:     68(int) Constant 2
              70:             TypePointer Input 6(float)
              76:    6(float) Constant 1065353216
              78:             TypeInt 32 1
              79:             TypePointer Function 78(int)
              82:     78(int) Constant 1
4(PixelShaderFunction):           2 Function None 3
               5:             Label
          67(ii):     66(ptr) Variable Function
          80(ii):     79(ptr) Variable Function
              10:    7(fvec4) Load 9(input)
              11:    7(fvec4) Load 9(input)
              14:   13(bvec4) FOrdEqual 10 11
              15:    12(bool) All 14
                              SelectionMerge 17 None
                              BranchConditional 15 16 17
              16:               Label
              20:    7(fvec4)   Load 9(input)
                                Store 19(@entryPointOutput) 20
                                Return
              17:             Label
              22:    7(fvec4) Load 9(input)
              23:    7(fvec4) Load 9(input)
              24:   13(bvec4) FOrdEqual 22 23
              25:    12(bool) All 24
                              SelectionMerge 27 None
                              BranchConditional 25 26 30
              26:               Label
              28:    7(fvec4)   Load 9(input)
                                Store 19(@entryPointOutput) 28
                                Return
              30:               Label
              31:    7(fvec4)   Load 9(input)
              32:    7(fvec4)   FNegate 31
                                Store 19(@entryPointOutput) 32
                                Return
              27:             Label
              34:    7(fvec4) Load 9(input)
              35:    7(fvec4) Load 9(input)
              36:   13(bvec4) FOrdEqual 34 35
              37:    12(bool) All 36
                              SelectionMerge 39 None
                              BranchConditional 37 38 39
              38:               Label
                                Branch 39
              39:             Label
              40:    7(fvec4) Load 9(input)
              41:    7(fvec4) Load 9(input)
              42:   13(bvec4) FOrdEqual 40 41
              43:    12(bool) All 42
                              SelectionMerge 45 None
                              BranchConditional 43 44 45
              44:               Label
                                Branch 45
              45:             Label
              46:    7(fvec4) Load 9(input)
              47:    7(fvec4) Load 9(input)
              48:   13(bvec4) FOrdEqual 46 47
              49:    12(bool) All 48
                              SelectionMerge 51 None
                              BranchConditional 49 50 51
              50:               Label
              52:    7(fvec4)   Load 9(input)
                                Store 19(@entryPointOutput) 52
                                Return
              51:             Label
              54:    7(fvec4) Load 9(input)
              55:    7(fvec4) Load 9(input)
              56:   13(bvec4) FOrdEqual 54 55
              57:    12(bool) All 56
                              SelectionMerge 59 None
                              BranchConditional 57 58 62
              58:               Label
              60:    7(fvec4)   Load 9(input)
                                Store 19(@entryPointOutput) 60
                                Return
              62:               Label
              63:    7(fvec4)   Load 9(input)
              64:    7(fvec4)   FNegate 63
                                Store 19(@entryPointOutput) 64
                                Return
              59:             Label
              71:     70(ptr) AccessChain 9(input) 69
              72:    6(float) Load 71
                              Store 67(ii) 72
                              SelectionMerge 74 None
                              BranchConditional 72 73 74
              73:               Label
              75:    6(float)   Load 67(ii)
              77:    6(float)   FAdd 75 76
                                Store 67(ii) 77
                                Branch 74
              74:             Label
              81:     78(int) Load 80(ii)
              83:     78(int) IAdd 81 82
                              Store 80(ii) 83
                              Return
                              FunctionEnd
