hlsl.conditional.frag
Shader version: 500
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' ( in 4-component vector of float)
0:?     Sequence
0:3      Sequence
0:3        move second child to first child ( temp int)
0:3          'a' ( temp int)
0:3          Constant:
0:3            5 (const int)
0:4      Sequence
0:4        move second child to first child ( temp int)
0:4          'b' ( temp int)
0:4          Constant:
0:4            6 (const int)
0:5      Sequence
0:5        move second child to first child ( temp int)
0:5          'c' ( temp int)
0:5          Constant:
0:5            7 (const int)
0:6      Sequence
0:6        move second child to first child ( temp int)
0:6          'd' ( temp int)
0:6          Constant:
0:6            7 (const int)
0:7      Sequence
0:7        move second child to first child ( temp 4-component vector of float)
0:7          'ret' ( temp 4-component vector of float)
0:9          add ( temp 4-component vector of float)
0:8            add ( temp 4-component vector of float)
0:7              add ( temp 4-component vector of float)
0:7                vector-scale ( temp 4-component vector of float)
0:7                  Convert int to float ( temp float)
0:7                    'a' ( temp int)
0:7                  'input' ( in 4-component vector of float)
0:8                vector-scale ( temp 4-component vector of float)
0:8                  Convert int to float ( temp float)
0:8                    'b' ( temp int)
0:8                  'input' ( in 4-component vector of float)
0:9              vector-scale ( temp 4-component vector of float)
0:9                Convert int to float ( temp float)
0:9                  'c' ( temp int)
0:9                'input' ( in 4-component vector of float)
0:10            vector-scale ( temp 4-component vector of float)
0:10              Convert int to float ( temp float)
0:10                'd' ( temp int)
0:10              'input' ( in 4-component vector of float)
0:12      Comma ( temp int)
0:12        move second child to first child ( temp int)
0:12          'e' ( temp int)
0:12          move second child to first child ( temp int)
0:12            'a' ( temp int)
0:12            Test condition and select ( temp int)
0:12              Condition
0:12              Convert int to bool ( temp bool)
0:12                'b' ( temp int)
0:12              true case
0:12              move second child to first child ( temp int)
0:12                'c' ( temp int)
0:12                'd' ( temp int)
0:12              false case
0:12              Constant:
0:12                10 (const int)
0:12        move second child to first child ( temp int)
0:12          'b' ( temp int)
0:12          Test condition and select ( temp int)
0:12            Condition
0:12            Convert int to bool ( temp bool)
0:12              'a' ( temp int)
0:12            true case
0:12            move second child to first child ( temp int)
0:12              'd' ( temp int)
0:12              'c' ( temp int)
0:12            false case
0:12            Constant:
0:12              11 (const int)
0:14      move second child to first child ( temp 4-component vector of float)
0:14        'f' ( temp 4-component vector of float)
0:14        Test condition and select ( temp 4-component vector of float)
0:14          Condition
0:14          Compare Less Than ( temp bool)
0:14            direct index ( temp float)
0:14              'ret' ( temp 4-component vector of float)
0:14              Constant:
0:14                0 (const int)
0:14            direct index ( temp float)
0:14              'input' ( in 4-component vector of float)
0:14              Constant:
0:14                1 (const int)
0:14          true case
0:14          vector-scale ( temp 4-component vector of float)
0:14            Convert int to float ( temp float)
0:14              'c' ( temp int)
0:14            'input' ( in 4-component vector of float)
0:14          false case
0:14          vector-scale ( temp 4-component vector of float)
0:14            Convert int to float ( temp float)
0:14              'd' ( temp int)
0:14            'input' ( in 4-component vector of float)
0:15      Branch: Return with expression
0:15        add ( temp 4-component vector of float)
0:15          vector-scale ( temp 4-component vector of float)
0:15            Convert int to float ( temp float)
0:15              'e' ( temp int)
0:15            'ret' ( temp 4-component vector of float)
0:15          'f' ( temp 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 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
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: 500
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' ( in 4-component vector of float)
0:?     Sequence
0:3      Sequence
0:3        move second child to first child ( temp int)
0:3          'a' ( temp int)
0:3          Constant:
0:3            5 (const int)
0:4      Sequence
0:4        move second child to first child ( temp int)
0:4          'b' ( temp int)
0:4          Constant:
0:4            6 (const int)
0:5      Sequence
0:5        move second child to first child ( temp int)
0:5          'c' ( temp int)
0:5          Constant:
0:5            7 (const int)
0:6      Sequence
0:6        move second child to first child ( temp int)
0:6          'd' ( temp int)
0:6          Constant:
0:6            7 (const int)
0:7      Sequence
0:7        move second child to first child ( temp 4-component vector of float)
0:7          'ret' ( temp 4-component vector of float)
0:9          add ( temp 4-component vector of float)
0:8            add ( temp 4-component vector of float)
0:7              add ( temp 4-component vector of float)
0:7                vector-scale ( temp 4-component vector of float)
0:7                  Convert int to float ( temp float)
0:7                    'a' ( temp int)
0:7                  'input' ( in 4-component vector of float)
0:8                vector-scale ( temp 4-component vector of float)
0:8                  Convert int to float ( temp float)
0:8                    'b' ( temp int)
0:8                  'input' ( in 4-component vector of float)
0:9              vector-scale ( temp 4-component vector of float)
0:9                Convert int to float ( temp float)
0:9                  'c' ( temp int)
0:9                'input' ( in 4-component vector of float)
0:10            vector-scale ( temp 4-component vector of float)
0:10              Convert int to float ( temp float)
0:10                'd' ( temp int)
0:10              'input' ( in 4-component vector of float)
0:12      Comma ( temp int)
0:12        move second child to first child ( temp int)
0:12          'e' ( temp int)
0:12          move second child to first child ( temp int)
0:12            'a' ( temp int)
0:12            Test condition and select ( temp int)
0:12              Condition
0:12              Convert int to bool ( temp bool)
0:12                'b' ( temp int)
0:12              true case
0:12              move second child to first child ( temp int)
0:12                'c' ( temp int)
0:12                'd' ( temp int)
0:12              false case
0:12              Constant:
0:12                10 (const int)
0:12        move second child to first child ( temp int)
0:12          'b' ( temp int)
0:12          Test condition and select ( temp int)
0:12            Condition
0:12            Convert int to bool ( temp bool)
0:12              'a' ( temp int)
0:12            true case
0:12            move second child to first child ( temp int)
0:12              'd' ( temp int)
0:12              'c' ( temp int)
0:12            false case
0:12            Constant:
0:12              11 (const int)
0:14      move second child to first child ( temp 4-component vector of float)
0:14        'f' ( temp 4-component vector of float)
0:14        Test condition and select ( temp 4-component vector of float)
0:14          Condition
0:14          Compare Less Than ( temp bool)
0:14            direct index ( temp float)
0:14              'ret' ( temp 4-component vector of float)
0:14              Constant:
0:14                0 (const int)
0:14            direct index ( temp float)
0:14              'input' ( in 4-component vector of float)
0:14              Constant:
0:14                1 (const int)
0:14          true case
0:14          vector-scale ( temp 4-component vector of float)
0:14            Convert int to float ( temp float)
0:14              'c' ( temp int)
0:14            'input' ( in 4-component vector of float)
0:14          false case
0:14          vector-scale ( temp 4-component vector of float)
0:14            Convert int to float ( temp float)
0:14              'd' ( temp int)
0:14            'input' ( in 4-component vector of float)
0:15      Branch: Return with expression
0:15        add ( temp 4-component vector of float)
0:15          vector-scale ( temp 4-component vector of float)
0:15            Convert int to float ( temp float)
0:15              'e' ( temp int)
0:15            'ret' ( temp 4-component vector of float)
0:15          'f' ( temp 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 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:2        Function Call: @PixelShaderFunction(vf4; ( temp 4-component vector of float)
0:?           'input' ( temp 4-component vector of float)
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 102

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 95 98
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 11  "@PixelShaderFunction(vf4;"
                              Name 10  "input"
                              Name 15  "a"
                              Name 17  "b"
                              Name 19  "c"
                              Name 21  "d"
                              Name 22  "ret"
                              Name 42  "e"
                              Name 64  "f"
                              Name 93  "input"
                              Name 95  "input"
                              Name 98  "@entryPointOutput"
                              Name 99  "param"
                              Decorate 95(input) Location 0
                              Decorate 98(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeFunction 7(fvec4) 8(ptr)
              13:             TypeInt 32 1
              14:             TypePointer Function 13(int)
              16:     13(int) Constant 5
              18:     13(int) Constant 6
              20:     13(int) Constant 7
              45:             TypeBool
              46:             TypeInt 32 0
              47:     46(int) Constant 0
              53:     13(int) Constant 10
              62:     13(int) Constant 11
              66:             TypePointer Function 6(float)
              69:     46(int) Constant 1
              94:             TypePointer Input 7(fvec4)
       95(input):     94(ptr) Variable Input
              97:             TypePointer Output 7(fvec4)
98(@entryPointOutput):     97(ptr) Variable Output
4(PixelShaderFunction):           2 Function None 3
               5:             Label
       93(input):      8(ptr) Variable Function
       99(param):      8(ptr) Variable Function
              96:    7(fvec4) Load 95(input)
                              Store 93(input) 96
             100:    7(fvec4) Load 93(input)
                              Store 99(param) 100
             101:    7(fvec4) FunctionCall 11(@PixelShaderFunction(vf4;) 99(param)
                              Store 98(@entryPointOutput) 101
                              Return
                              FunctionEnd
11(@PixelShaderFunction(vf4;):    7(fvec4) Function None 9
       10(input):      8(ptr) FunctionParameter
              12:             Label
           15(a):     14(ptr) Variable Function
           17(b):     14(ptr) Variable Function
           19(c):     14(ptr) Variable Function
           21(d):     14(ptr) Variable Function
         22(ret):      8(ptr) Variable Function
           42(e):     14(ptr) Variable Function
              43:     14(ptr) Variable Function
              55:     14(ptr) Variable Function
           64(f):      8(ptr) Variable Function
              65:      8(ptr) Variable Function
                              Store 15(a) 16
                              Store 17(b) 18
                              Store 19(c) 20
                              Store 21(d) 20
              23:     13(int) Load 15(a)
              24:    6(float) ConvertSToF 23
              25:    7(fvec4) Load 10(input)
              26:    7(fvec4) VectorTimesScalar 25 24
              27:     13(int) Load 17(b)
              28:    6(float) ConvertSToF 27
              29:    7(fvec4) Load 10(input)
              30:    7(fvec4) VectorTimesScalar 29 28
              31:    7(fvec4) FAdd 26 30
              32:     13(int) Load 19(c)
              33:    6(float) ConvertSToF 32
              34:    7(fvec4) Load 10(input)
              35:    7(fvec4) VectorTimesScalar 34 33
              36:    7(fvec4) FAdd 31 35
              37:     13(int) Load 21(d)
              38:    6(float) ConvertSToF 37
              39:    7(fvec4) Load 10(input)
              40:    7(fvec4) VectorTimesScalar 39 38
              41:    7(fvec4) FAdd 36 40
                              Store 22(ret) 41
              44:     13(int) Load 17(b)
              48:    45(bool) INotEqual 44 47
                              SelectionMerge 50 None
                              BranchConditional 48 49 52
              49:               Label
              51:     13(int)   Load 21(d)
                                Store 19(c) 51
                                Store 43 51
                                Branch 50
              52:               Label
                                Store 43 53
                                Branch 50
              50:             Label
              54:     13(int) Load 43
                              Store 15(a) 54
                              Store 42(e) 54
              56:     13(int) Load 15(a)
              57:    45(bool) INotEqual 56 47
                              SelectionMerge 59 None
                              BranchConditional 57 58 61
              58:               Label
              60:     13(int)   Load 19(c)
                                Store 21(d) 60
                                Store 55 60
                                Branch 59
              61:               Label
                                Store 55 62
                                Branch 59
              59:             Label
              63:     13(int) Load 55
                              Store 17(b) 63
              67:     66(ptr) AccessChain 22(ret) 47
              68:    6(float) Load 67
              70:     66(ptr) AccessChain 10(input) 69
              71:    6(float) Load 70
              72:    45(bool) FOrdLessThan 68 71
                              SelectionMerge 74 None
                              BranchConditional 72 73 79
              73:               Label
              75:     13(int)   Load 19(c)
              76:    6(float)   ConvertSToF 75
              77:    7(fvec4)   Load 10(input)
              78:    7(fvec4)   VectorTimesScalar 77 76
                                Store 65 78
                                Branch 74
              79:               Label
              80:     13(int)   Load 21(d)
              81:    6(float)   ConvertSToF 80
              82:    7(fvec4)   Load 10(input)
              83:    7(fvec4)   VectorTimesScalar 82 81
                                Store 65 83
                                Branch 74
              74:             Label
              84:    7(fvec4) Load 65
                              Store 64(f) 84
              85:     13(int) Load 42(e)
              86:    6(float) ConvertSToF 85
              87:    7(fvec4) Load 22(ret)
              88:    7(fvec4) VectorTimesScalar 87 86
              89:    7(fvec4) Load 64(f)
              90:    7(fvec4) FAdd 88 89
                              ReturnValue 90
                              FunctionEnd
