hlsl.entry-inout.vert
Shader version: 500
0:? Sequence
0:1  Function Definition: @main(vf4;vf2; ( temp void)
0:1    Function Parameters: 
0:1      'pos' ( inout 4-component vector of float)
0:1      'uv' ( inout 2-component vector of float)
0:1  Function Definition: main( ( temp void)
0:1    Function Parameters: 
0:?     Sequence
0:1      move second child to first child ( temp 4-component vector of float)
0:?         'pos' ( temp 4-component vector of float)
0:?         'pos' (layout( location=0) in 4-component vector of float)
0:1      move second child to first child ( temp 2-component vector of float)
0:?         'uv' ( temp 2-component vector of float)
0:?         'uv' (layout( location=1) in 2-component vector of float)
0:1      Function Call: @main(vf4;vf2; ( temp void)
0:?         'pos' ( temp 4-component vector of float)
0:?         'uv' ( temp 2-component vector of float)
0:1      move second child to first child ( temp 4-component vector of float)
0:?         'pos' ( out 4-component vector of float Position)
0:?         'pos' ( temp 4-component vector of float)
0:1      move second child to first child ( temp 2-component vector of float)
0:?         'uv' (layout( location=0) out 2-component vector of float)
0:?         'uv' ( temp 2-component vector of float)
0:?   Linker Objects
0:?     'pos' (layout( location=0) in 4-component vector of float)
0:?     'uv' (layout( location=1) in 2-component vector of float)
0:?     'pos' ( out 4-component vector of float Position)
0:?     'uv' (layout( location=0) out 2-component vector of float)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:1  Function Definition: @main(vf4;vf2; ( temp void)
0:1    Function Parameters: 
0:1      'pos' ( inout 4-component vector of float)
0:1      'uv' ( inout 2-component vector of float)
0:1  Function Definition: main( ( temp void)
0:1    Function Parameters: 
0:?     Sequence
0:1      move second child to first child ( temp 4-component vector of float)
0:?         'pos' ( temp 4-component vector of float)
0:?         'pos' (layout( location=0) in 4-component vector of float)
0:1      move second child to first child ( temp 2-component vector of float)
0:?         'uv' ( temp 2-component vector of float)
0:?         'uv' (layout( location=1) in 2-component vector of float)
0:1      Function Call: @main(vf4;vf2; ( temp void)
0:?         'pos' ( temp 4-component vector of float)
0:?         'uv' ( temp 2-component vector of float)
0:1      move second child to first child ( temp 4-component vector of float)
0:?         'pos' ( out 4-component vector of float Position)
0:?         'pos' ( temp 4-component vector of float)
0:1      move second child to first child ( temp 2-component vector of float)
0:?         'uv' (layout( location=0) out 2-component vector of float)
0:?         'uv' ( temp 2-component vector of float)
0:?   Linker Objects
0:?     'pos' (layout( location=0) in 4-component vector of float)
0:?     'uv' (layout( location=1) in 2-component vector of float)
0:?     'pos' ( out 4-component vector of float Position)
0:?     'uv' (layout( location=0) out 2-component vector of float)

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 37

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 18 22 32 35
                              Source HLSL 500
                              Name 4  "main"
                              Name 14  "@main(vf4;vf2;"
                              Name 12  "pos"
                              Name 13  "uv"
                              Name 16  "pos"
                              Name 18  "pos"
                              Name 20  "uv"
                              Name 22  "uv"
                              Name 24  "param"
                              Name 26  "param"
                              Name 32  "pos"
                              Name 35  "uv"
                              Decorate 18(pos) Location 0
                              Decorate 22(uv) Location 1
                              Decorate 32(pos) BuiltIn Position
                              Decorate 35(uv) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypePointer Function 7(fvec4)
               9:             TypeVector 6(float) 2
              10:             TypePointer Function 9(fvec2)
              11:             TypeFunction 2 8(ptr) 10(ptr)
              17:             TypePointer Input 7(fvec4)
         18(pos):     17(ptr) Variable Input
              21:             TypePointer Input 9(fvec2)
          22(uv):     21(ptr) Variable Input
              31:             TypePointer Output 7(fvec4)
         32(pos):     31(ptr) Variable Output
              34:             TypePointer Output 9(fvec2)
          35(uv):     34(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
         16(pos):      8(ptr) Variable Function
          20(uv):     10(ptr) Variable Function
       24(param):      8(ptr) Variable Function
       26(param):     10(ptr) Variable Function
              19:    7(fvec4) Load 18(pos)
                              Store 16(pos) 19
              23:    9(fvec2) Load 22(uv)
                              Store 20(uv) 23
              25:    7(fvec4) Load 16(pos)
                              Store 24(param) 25
              27:    9(fvec2) Load 20(uv)
                              Store 26(param) 27
              28:           2 FunctionCall 14(@main(vf4;vf2;) 24(param) 26(param)
              29:    7(fvec4) Load 24(param)
                              Store 16(pos) 29
              30:    9(fvec2) Load 26(param)
                              Store 20(uv) 30
              33:    7(fvec4) Load 16(pos)
                              Store 32(pos) 33
              36:    9(fvec2) Load 20(uv)
                              Store 35(uv) 36
                              Return
                              FunctionEnd
14(@main(vf4;vf2;):           2 Function None 11
         12(pos):      8(ptr) FunctionParameter
          13(uv):     10(ptr) FunctionParameter
              15:             Label
                              Return
                              FunctionEnd
