hlsl.discard.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:2  Function Definition: foo(f1; ( temp void)
0:2    Function Parameters: 
0:2      'f' ( in float)
0:?     Sequence
0:3      Test condition and select ( temp void)
0:3        Condition
0:3        Compare Less Than ( temp bool)
0:3          'f' ( in float)
0:3          Constant:
0:3            1.000000
0:3        true case
0:4        Branch: Kill
0:8  Function Definition: @PixelShaderFunction(vf4; ( temp void)
0:8    Function Parameters: 
0:8      'input' ( in 4-component vector of float)
0:?     Sequence
0:9      Function Call: foo(f1; ( temp void)
0:9        direct index ( temp float)
0:9          'input' ( in 4-component vector of float)
0:9          Constant:
0:9            2 (const int)
0:10      Test condition and select ( temp void)
0:10        Condition
0:10        Convert float to bool ( temp bool)
0:10          direct index ( temp float)
0:10            'input' ( in 4-component vector of float)
0:10            Constant:
0:10              0 (const int)
0:10        true case
0:11        Branch: Kill
0:12      Sequence
0:12        move second child to first child ( temp float)
0:12          'f' ( temp float)
0:12          direct index ( temp float)
0:12            'input' ( in 4-component vector of float)
0:12            Constant:
0:12              0 (const int)
0:13      Branch: Kill
0:8  Function Definition: PixelShaderFunction( ( temp void)
0:8    Function Parameters: 
0:?     Sequence
0:8      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:8      Function Call: @PixelShaderFunction(vf4; ( temp void)
0:?         'input' ( temp 4-component vector of float)
0:?   Linker Objects
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: foo(f1; ( temp void)
0:2    Function Parameters: 
0:2      'f' ( in float)
0:?     Sequence
0:3      Test condition and select ( temp void)
0:3        Condition
0:3        Compare Less Than ( temp bool)
0:3          'f' ( in float)
0:3          Constant:
0:3            1.000000
0:3        true case
0:4        Branch: Kill
0:8  Function Definition: @PixelShaderFunction(vf4; ( temp void)
0:8    Function Parameters: 
0:8      'input' ( in 4-component vector of float)
0:?     Sequence
0:9      Function Call: foo(f1; ( temp void)
0:9        direct index ( temp float)
0:9          'input' ( in 4-component vector of float)
0:9          Constant:
0:9            2 (const int)
0:10      Test condition and select ( temp void)
0:10        Condition
0:10        Convert float to bool ( temp bool)
0:10          direct index ( temp float)
0:10            'input' ( in 4-component vector of float)
0:10            Constant:
0:10              0 (const int)
0:10        true case
0:11        Branch: Kill
0:12      Sequence
0:12        move second child to first child ( temp float)
0:12          'f' ( temp float)
0:12          direct index ( temp float)
0:12            'input' ( in 4-component vector of float)
0:12            Constant:
0:12              0 (const int)
0:13      Branch: Kill
0:8  Function Definition: PixelShaderFunction( ( temp void)
0:8    Function Parameters: 
0:?     Sequence
0:8      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:8      Function Call: @PixelShaderFunction(vf4; ( temp void)
0:?         'input' ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'input' (layout( location=0) in 4-component vector of float)

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 45
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 10  "foo(f1;"
                              Name 9  "f"
                              Name 16  "@PixelShaderFunction(vf4;"
                              Name 15  "input"
                              Name 25  "param"
                              Name 39  "f"
                              Name 43  "input"
                              Name 45  "input"
                              Name 47  "param"
                              Decorate 45(input) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Function 6(float)
               8:             TypeFunction 2 7(ptr)
              12:             TypeVector 6(float) 4
              13:             TypePointer Function 12(fvec4)
              14:             TypeFunction 2 13(ptr)
              19:    6(float) Constant 1065353216
              20:             TypeBool
              26:             TypeInt 32 0
              27:     26(int) Constant 2
              31:     26(int) Constant 0
              34:    6(float) Constant 0
              44:             TypePointer Input 12(fvec4)
       45(input):     44(ptr) Variable Input
4(PixelShaderFunction):           2 Function None 3
               5:             Label
       43(input):     13(ptr) Variable Function
       47(param):     13(ptr) Variable Function
              46:   12(fvec4) Load 45(input)
                              Store 43(input) 46
              48:   12(fvec4) Load 43(input)
                              Store 47(param) 48
              49:           2 FunctionCall 16(@PixelShaderFunction(vf4;) 47(param)
                              Return
                              FunctionEnd
     10(foo(f1;):           2 Function None 8
            9(f):      7(ptr) FunctionParameter
              11:             Label
              18:    6(float) Load 9(f)
              21:    20(bool) FOrdLessThan 18 19
                              SelectionMerge 23 None
                              BranchConditional 21 22 23
              22:               Label
                                Kill
              23:             Label
                              Return
                              FunctionEnd
16(@PixelShaderFunction(vf4;):           2 Function None 14
       15(input):     13(ptr) FunctionParameter
              17:             Label
       25(param):      7(ptr) Variable Function
           39(f):      7(ptr) Variable Function
              28:      7(ptr) AccessChain 15(input) 27
              29:    6(float) Load 28
                              Store 25(param) 29
              30:           2 FunctionCall 10(foo(f1;) 25(param)
              32:      7(ptr) AccessChain 15(input) 31
              33:    6(float) Load 32
              35:    20(bool) FOrdNotEqual 33 34
                              SelectionMerge 37 None
                              BranchConditional 35 36 37
              36:               Label
                                Kill
              37:             Label
              40:      7(ptr) AccessChain 15(input) 31
              41:    6(float) Load 40
                              Store 39(f) 41
                              Kill
                              FunctionEnd