hlsl.multiEntry.vert
Shader version: 500
0:? Sequence
0:4  Function Definition: FakeEntrypoint(u1; ( temp 4-component vector of float)
0:4    Function Parameters: 
0:4      'Index' ( in uint)
0:?     Sequence
0:5      Branch: Return with expression
0:5        textureFetch ( temp 4-component vector of float)
0:5          'Position' (layout( rgba32f) uniform textureBuffer)
0:5          Convert uint to int ( temp int)
0:5            'Index' ( in uint)
0:9  Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:9    Function Parameters: 
0:9      'Index' ( in uint)
0:?     Sequence
0:10      Branch: Return with expression
0:10        Function Call: FakeEntrypoint(u1; ( temp 4-component vector of float)
0:10          'Index' ( in uint)
0:9  Function Definition: RealEntrypoint( ( temp void)
0:9    Function Parameters: 
0:?     Sequence
0:9      move second child to first child ( temp uint)
0:?         'Index' ( temp uint)
0:?         'Index' ( in uint VertexIndex)
0:9      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' ( out 4-component vector of float Position)
0:9        Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:?           'Index' ( temp uint)
0:?   Linker Objects
0:?     'Position' (layout( rgba32f) uniform textureBuffer)
0:?     '@entryPointOutput' ( out 4-component vector of float Position)
0:?     'Index' ( in uint VertexIndex)


Linked vertex stage:


Shader version: 500
0:? Sequence
0:4  Function Definition: FakeEntrypoint(u1; ( temp 4-component vector of float)
0:4    Function Parameters: 
0:4      'Index' ( in uint)
0:?     Sequence
0:5      Branch: Return with expression
0:5        textureFetch ( temp 4-component vector of float)
0:5          'Position' (layout( rgba32f) uniform textureBuffer)
0:5          Convert uint to int ( temp int)
0:5            'Index' ( in uint)
0:9  Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:9    Function Parameters: 
0:9      'Index' ( in uint)
0:?     Sequence
0:10      Branch: Return with expression
0:10        Function Call: FakeEntrypoint(u1; ( temp 4-component vector of float)
0:10          'Index' ( in uint)
0:9  Function Definition: RealEntrypoint( ( temp void)
0:9    Function Parameters: 
0:?     Sequence
0:9      move second child to first child ( temp uint)
0:?         'Index' ( temp uint)
0:?         'Index' ( in uint VertexIndex)
0:9      move second child to first child ( temp 4-component vector of float)
0:?         '@entryPointOutput' ( out 4-component vector of float Position)
0:9        Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
0:?           'Index' ( temp uint)
0:?   Linker Objects
0:?     'Position' (layout( rgba32f) uniform textureBuffer)
0:?     '@entryPointOutput' ( out 4-component vector of float Position)
0:?     'Index' ( in uint VertexIndex)

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

                              Capability Shader
                              Capability SampledBuffer
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "RealEntrypoint" 34 37
                              Source HLSL 500
                              Name 4  "RealEntrypoint"
                              Name 12  "FakeEntrypoint(u1;"
                              Name 11  "Index"
                              Name 15  "@RealEntrypoint(u1;"
                              Name 14  "Index"
                              Name 19  "Position"
                              Name 27  "param"
                              Name 32  "Index"
                              Name 34  "Index"
                              Name 37  "@entryPointOutput"
                              Name 38  "param"
                              Decorate 19(Position) DescriptorSet 0
                              Decorate 19(Position) Binding 0
                              Decorate 34(Index) BuiltIn VertexIndex
                              Decorate 37(@entryPointOutput) BuiltIn Position
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypePointer Function 6(int)
               8:             TypeFloat 32
               9:             TypeVector 8(float) 4
              10:             TypeFunction 9(fvec4) 7(ptr)
              17:             TypeImage 8(float) Buffer sampled format:Rgba32f
              18:             TypePointer UniformConstant 17
    19(Position):     18(ptr) Variable UniformConstant
              22:             TypeInt 32 1
              33:             TypePointer Input 6(int)
       34(Index):     33(ptr) Variable Input
              36:             TypePointer Output 9(fvec4)
37(@entryPointOutput):     36(ptr) Variable Output
4(RealEntrypoint):           2 Function None 3
               5:             Label
       32(Index):      7(ptr) Variable Function
       38(param):      7(ptr) Variable Function
              35:      6(int) Load 34(Index)
                              Store 32(Index) 35
              39:      6(int) Load 32(Index)
                              Store 38(param) 39
              40:    9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 38(param)
                              Store 37(@entryPointOutput) 40
                              Return
                              FunctionEnd
12(FakeEntrypoint(u1;):    9(fvec4) Function None 10
       11(Index):      7(ptr) FunctionParameter
              13:             Label
              20:          17 Load 19(Position)
              21:      6(int) Load 11(Index)
              23:     22(int) Bitcast 21
              24:    9(fvec4) ImageFetch 20 23
                              ReturnValue 24
                              FunctionEnd
15(@RealEntrypoint(u1;):    9(fvec4) Function None 10
       14(Index):      7(ptr) FunctionParameter
              16:             Label
       27(param):      7(ptr) Variable Function
              28:      6(int) Load 14(Index)
                              Store 27(param) 28
              29:    9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 27(param)
                              ReturnValue 29
                              FunctionEnd
