hlsl.if.frag
Shader version: 450
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: PixelShaderFunction(vf4; (temp 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        all (temp bool)
0:3          Equal (temp 4-component vector of 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        all (temp bool)
0:6          Equal (temp 4-component vector of 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        all (temp bool)
0:11          Equal (temp 4-component vector of 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        all (temp bool)
0:14          Equal (temp 4-component vector of 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        all (temp bool)
0:19          Equal (temp 4-component vector of 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        all (temp bool)
0:23          Equal (temp 4-component vector of 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; (temp 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        all (temp bool)
0:3          Equal (temp 4-component vector of 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        all (temp bool)
0:6          Equal (temp 4-component vector of 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        all (temp bool)
0:11          Equal (temp 4-component vector of 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        all (temp bool)
0:14          Equal (temp 4-component vector of 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        all (temp bool)
0:19          Equal (temp 4-component vector of 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        all (temp bool)
0:23          Equal (temp 4-component vector of 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
