hlsl.void.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:1  Function Definition: foo1( ( temp void)
0:1    Function Parameters: 
0:2  Function Definition: foo2( ( temp void)
0:2    Function Parameters: 
0:5  Function Definition: @PixelShaderFunction(vf4; ( temp void)
0:5    Function Parameters: 
0:5      'input' ( in 4-component vector of float)
0:?     Sequence
0:6      Function Call: foo1( ( temp void)
0:7      Function Call: foo2( ( temp void)
0:8      Branch: Return
0:5  Function Definition: PixelShaderFunction( ( temp void)
0:5    Function Parameters: 
0:?     Sequence
0:5      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:5      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:1  Function Definition: foo1( ( temp void)
0:1    Function Parameters: 
0:2  Function Definition: foo2( ( temp void)
0:2    Function Parameters: 
0:5  Function Definition: @PixelShaderFunction(vf4; ( temp void)
0:5    Function Parameters: 
0:5      'input' ( in 4-component vector of float)
0:?     Sequence
0:6      Function Call: foo1( ( temp void)
0:7      Function Call: foo2( ( temp void)
0:8      Branch: Return
0:5  Function Definition: PixelShaderFunction( ( temp void)
0:5    Function Parameters: 
0:?     Sequence
0:5      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:5      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): 80008
// Id's are bound by 27

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "PixelShaderFunction" 22
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "PixelShaderFunction"
                              Name 6  "foo1("
                              Name 8  "foo2("
                              Name 15  "@PixelShaderFunction(vf4;"
                              Name 14  "input"
                              Name 20  "input"
                              Name 22  "input"
                              Name 24  "param"
                              Decorate 22(input) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
              10:             TypeFloat 32
              11:             TypeVector 10(float) 4
              12:             TypePointer Function 11(fvec4)
              13:             TypeFunction 2 12(ptr)
              21:             TypePointer Input 11(fvec4)
       22(input):     21(ptr) Variable Input
4(PixelShaderFunction):           2 Function None 3
               5:             Label
       20(input):     12(ptr) Variable Function
       24(param):     12(ptr) Variable Function
              23:   11(fvec4) Load 22(input)
                              Store 20(input) 23
              25:   11(fvec4) Load 20(input)
                              Store 24(param) 25
              26:           2 FunctionCall 15(@PixelShaderFunction(vf4;) 24(param)
                              Return
                              FunctionEnd
        6(foo1():           2 Function None 3
               7:             Label
                              Return
                              FunctionEnd
        8(foo2():           2 Function None 3
               9:             Label
                              Return
                              FunctionEnd
15(@PixelShaderFunction(vf4;):           2 Function None 13
       14(input):     12(ptr) FunctionParameter
              16:             Label
              17:           2 FunctionCall 6(foo1()
              18:           2 FunctionCall 8(foo2()
                              Return
                              FunctionEnd
