hlsl.namespace.frag
Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:5  Function Definition: N1::getVec( ( temp 4-component vector of float)
0:5    Function Parameters: 
0:?     Sequence
0:5      Branch: Return with expression
0:5        'v1' ( global 4-component vector of float)
0:10  Function Definition: N2::getVec( ( temp 4-component vector of float)
0:10    Function Parameters: 
0:?     Sequence
0:10      Branch: Return with expression
0:10        'v2' ( global 4-component vector of float)
0:12  Function Definition: N2::N3::getVec( ( temp 4-component vector of float)
0:12    Function Parameters: 
0:?     Sequence
0:12      Branch: Return with expression
0:12        'v2' ( global 4-component vector of float)
0:15  Function Definition: N2::N3::C1::getVec( ( temp 4-component vector of float)
0:15    Function Parameters: 
0:15      '@this' ( temp structure{})
0:?     Sequence
0:15      Branch: Return with expression
0:15        'v2' ( global 4-component vector of float)
0:21  Function Definition: @main( ( temp 4-component vector of float)
0:21    Function Parameters: 
0:?     Sequence
0:22      Branch: Return with expression
0:22        add ( temp 4-component vector of float)
0:22          add ( temp 4-component vector of float)
0:22            add ( temp 4-component vector of float)
0:22              Function Call: N1::getVec( ( temp 4-component vector of float)
0:22              Function Call: N2::getVec( ( temp 4-component vector of float)
0:22            Function Call: N2::N3::getVec( ( temp 4-component vector of float)
0:22          vector-scale ( temp 4-component vector of float)
0:22            Function Call: N2::N3::C1::getVec( ( temp 4-component vector of float)
0:22            'N2::gf' ( global float)
0:21  Function Definition: main( ( temp void)
0:21    Function Parameters: 
0:?     Sequence
0:21      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:21        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'v1' ( global 4-component vector of float)
0:?     'v2' ( global 4-component vector of float)
0:?     'N2::gf' ( global float)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)


Linked fragment stage:


Shader version: 500
gl_FragCoord origin is upper left
0:? Sequence
0:5  Function Definition: N1::getVec( ( temp 4-component vector of float)
0:5    Function Parameters: 
0:?     Sequence
0:5      Branch: Return with expression
0:5        'v1' ( global 4-component vector of float)
0:10  Function Definition: N2::getVec( ( temp 4-component vector of float)
0:10    Function Parameters: 
0:?     Sequence
0:10      Branch: Return with expression
0:10        'v2' ( global 4-component vector of float)
0:12  Function Definition: N2::N3::getVec( ( temp 4-component vector of float)
0:12    Function Parameters: 
0:?     Sequence
0:12      Branch: Return with expression
0:12        'v2' ( global 4-component vector of float)
0:15  Function Definition: N2::N3::C1::getVec( ( temp 4-component vector of float)
0:15    Function Parameters: 
0:15      '@this' ( temp structure{})
0:?     Sequence
0:15      Branch: Return with expression
0:15        'v2' ( global 4-component vector of float)
0:21  Function Definition: @main( ( temp 4-component vector of float)
0:21    Function Parameters: 
0:?     Sequence
0:22      Branch: Return with expression
0:22        add ( temp 4-component vector of float)
0:22          add ( temp 4-component vector of float)
0:22            add ( temp 4-component vector of float)
0:22              Function Call: N1::getVec( ( temp 4-component vector of float)
0:22              Function Call: N2::getVec( ( temp 4-component vector of float)
0:22            Function Call: N2::N3::getVec( ( temp 4-component vector of float)
0:22          vector-scale ( temp 4-component vector of float)
0:22            Function Call: N2::N3::C1::getVec( ( temp 4-component vector of float)
0:22            'N2::gf' ( global float)
0:21  Function Definition: main( ( temp void)
0:21    Function Parameters: 
0:?     Sequence
0:21      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' (layout( location=0) out 4-component vector of float)
0:21        Function Call: @main( ( temp 4-component vector of float)
0:?   Linker Objects
0:?     'v1' ( global 4-component vector of float)
0:?     'v2' ( global 4-component vector of float)
0:?     'N2::gf' ( global float)
0:?     '@entryPointOutput' (layout( location=0) out 4-component vector of float)

error: SPIRV-Tools Validation Errors
error: OpFunctionCall Function <id>'s parameter count does not match the argument count.
  %43 = OpFunctionCall %v4float %N2__N3__C1__getVec_

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 52
                              ExecutionMode 4 OriginUpperLeft
                              Source HLSL 500
                              Name 4  "main"
                              Name 9  "N1::getVec("
                              Name 11  "N2::getVec("
                              Name 13  "N2::N3::getVec("
                              Name 15  "C1"
                              Name 19  "N2::N3::C1::getVec("
                              Name 18  "@this"
                              Name 21  "@main("
                              Name 24  "v1"
                              Name 28  "v2"
                              Name 45  "N2::gf"
                              Name 52  "@entryPointOutput"
                              Decorate 52(@entryPointOutput) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeFunction 7(fvec4)
          15(C1):             TypeStruct
              16:             TypePointer Function 15(C1)
              17:             TypeFunction 7(fvec4) 16(ptr)
              23:             TypePointer Private 7(fvec4)
          24(v1):     23(ptr) Variable Private
          28(v2):     23(ptr) Variable Private
              44:             TypePointer Private 6(float)
      45(N2::gf):     44(ptr) Variable Private
              51:             TypePointer Output 7(fvec4)
52(@entryPointOutput):     51(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
              53:    7(fvec4) FunctionCall 21(@main()
                              Store 52(@entryPointOutput) 53
                              Return
                              FunctionEnd
  9(N1::getVec():    7(fvec4) Function None 8
              10:             Label
              25:    7(fvec4) Load 24(v1)
                              ReturnValue 25
                              FunctionEnd
 11(N2::getVec():    7(fvec4) Function None 8
              12:             Label
              29:    7(fvec4) Load 28(v2)
                              ReturnValue 29
                              FunctionEnd
13(N2::N3::getVec():    7(fvec4) Function None 8
              14:             Label
              32:    7(fvec4) Load 28(v2)
                              ReturnValue 32
                              FunctionEnd
19(N2::N3::C1::getVec():    7(fvec4) Function None 17
       18(@this):     16(ptr) FunctionParameter
              20:             Label
              35:    7(fvec4) Load 28(v2)
                              ReturnValue 35
                              FunctionEnd
      21(@main():    7(fvec4) Function None 8
              22:             Label
              38:    7(fvec4) FunctionCall 9(N1::getVec()
              39:    7(fvec4) FunctionCall 11(N2::getVec()
              40:    7(fvec4) FAdd 38 39
              41:    7(fvec4) FunctionCall 13(N2::N3::getVec()
              42:    7(fvec4) FAdd 40 41
              43:    7(fvec4) FunctionCall 19(N2::N3::C1::getVec()
              46:    6(float) Load 45(N2::gf)
              47:    7(fvec4) VectorTimesScalar 43 46
              48:    7(fvec4) FAdd 42 47
                              ReturnValue 48
                              FunctionEnd
