1hlsl.multiEntry.vert
2Shader version: 500
30:? Sequence
40:4  Function Definition: FakeEntrypoint(u1; ( temp 4-component vector of float)
50:4    Function Parameters:
60:4      'Index' ( in uint)
70:?     Sequence
80:5      Branch: Return with expression
90:5        textureFetch ( temp 4-component vector of float)
100:5          'Position' (layout( rgba32f) uniform textureBuffer)
110:5          Convert uint to int ( temp int)
120:5            'Index' ( in uint)
130:9  Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
140:9    Function Parameters:
150:9      'Index' ( in uint)
160:?     Sequence
170:10      Branch: Return with expression
180:10        Function Call: FakeEntrypoint(u1; ( temp 4-component vector of float)
190:10          'Index' ( in uint)
200:9  Function Definition: RealEntrypoint( ( temp void)
210:9    Function Parameters:
220:?     Sequence
230:9      move second child to first child ( temp uint)
240:?         'Index' ( temp uint)
250:?         'Index' ( in uint VertexIndex)
260:9      move second child to first child ( temp 4-component vector of float)
270:?         '@entryPointOutput' ( out 4-component vector of float Position)
280:9        Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
290:?           'Index' ( temp uint)
300:?   Linker Objects
310:?     'Position' (layout( rgba32f) uniform textureBuffer)
320:?     '@entryPointOutput' ( out 4-component vector of float Position)
330:?     'Index' ( in uint VertexIndex)
34
35
36Linked vertex stage:
37
38
39Shader version: 500
400:? Sequence
410:4  Function Definition: FakeEntrypoint(u1; ( temp 4-component vector of float)
420:4    Function Parameters:
430:4      'Index' ( in uint)
440:?     Sequence
450:5      Branch: Return with expression
460:5        textureFetch ( temp 4-component vector of float)
470:5          'Position' (layout( rgba32f) uniform textureBuffer)
480:5          Convert uint to int ( temp int)
490:5            'Index' ( in uint)
500:9  Function Definition: @RealEntrypoint(u1; ( temp 4-component vector of float)
510:9    Function Parameters:
520:9      'Index' ( in uint)
530:?     Sequence
540:10      Branch: Return with expression
550:10        Function Call: FakeEntrypoint(u1; ( temp 4-component vector of float)
560:10          'Index' ( in uint)
570:9  Function Definition: RealEntrypoint( ( temp void)
580:9    Function Parameters:
590:?     Sequence
600:9      move second child to first child ( temp uint)
610:?         'Index' ( temp uint)
620:?         'Index' ( in uint VertexIndex)
630:9      move second child to first child ( temp 4-component vector of float)
640:?         '@entryPointOutput' ( out 4-component vector of float Position)
650:9        Function Call: @RealEntrypoint(u1; ( temp 4-component vector of float)
660:?           'Index' ( temp uint)
670:?   Linker Objects
680:?     'Position' (layout( rgba32f) uniform textureBuffer)
690:?     '@entryPointOutput' ( out 4-component vector of float Position)
700:?     'Index' ( in uint VertexIndex)
71
72// Module Version 10000
73// Generated by (magic number): 80007
74// Id's are bound by 41
75
76                              Capability Shader
77                              Capability SampledBuffer
78               1:             ExtInstImport  "GLSL.std.450"
79                              MemoryModel Logical GLSL450
80                              EntryPoint Vertex 4  "RealEntrypoint" 34 37
81                              Source HLSL 500
82                              Name 4  "RealEntrypoint"
83                              Name 12  "FakeEntrypoint(u1;"
84                              Name 11  "Index"
85                              Name 15  "@RealEntrypoint(u1;"
86                              Name 14  "Index"
87                              Name 19  "Position"
88                              Name 27  "param"
89                              Name 32  "Index"
90                              Name 34  "Index"
91                              Name 37  "@entryPointOutput"
92                              Name 38  "param"
93                              Decorate 19(Position) DescriptorSet 0
94                              Decorate 34(Index) BuiltIn VertexIndex
95                              Decorate 37(@entryPointOutput) BuiltIn Position
96               2:             TypeVoid
97               3:             TypeFunction 2
98               6:             TypeInt 32 0
99               7:             TypePointer Function 6(int)
100               8:             TypeFloat 32
101               9:             TypeVector 8(float) 4
102              10:             TypeFunction 9(fvec4) 7(ptr)
103              17:             TypeImage 8(float) Buffer sampled format:Rgba32f
104              18:             TypePointer UniformConstant 17
105    19(Position):     18(ptr) Variable UniformConstant
106              22:             TypeInt 32 1
107              33:             TypePointer Input 6(int)
108       34(Index):     33(ptr) Variable Input
109              36:             TypePointer Output 9(fvec4)
11037(@entryPointOutput):     36(ptr) Variable Output
1114(RealEntrypoint):           2 Function None 3
112               5:             Label
113       32(Index):      7(ptr) Variable Function
114       38(param):      7(ptr) Variable Function
115              35:      6(int) Load 34(Index)
116                              Store 32(Index) 35
117              39:      6(int) Load 32(Index)
118                              Store 38(param) 39
119              40:    9(fvec4) FunctionCall 15(@RealEntrypoint(u1;) 38(param)
120                              Store 37(@entryPointOutput) 40
121                              Return
122                              FunctionEnd
12312(FakeEntrypoint(u1;):    9(fvec4) Function None 10
124       11(Index):      7(ptr) FunctionParameter
125              13:             Label
126              20:          17 Load 19(Position)
127              21:      6(int) Load 11(Index)
128              23:     22(int) Bitcast 21
129              24:    9(fvec4) ImageFetch 20 23
130                              ReturnValue 24
131                              FunctionEnd
13215(@RealEntrypoint(u1;):    9(fvec4) Function None 10
133       14(Index):      7(ptr) FunctionParameter
134              16:             Label
135       27(param):      7(ptr) Variable Function
136              28:      6(int) Load 14(Index)
137                              Store 27(param) 28
138              29:    9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 27(param)
139                              ReturnValue 29
140                              FunctionEnd
141