glslang/Test/baseResults/hlsl.multiEntry.vert.out
John Kessenich deb4940c17 HLSL: Register all entry-point in/out as part of the interface.
This makes the interface be invariant, whether or not individual
variables are used.
2016-09-12 11:55:47 -06:00

112 lines
4.8 KiB
Plaintext
Executable File

hlsl.multiEntry.vert
Shader version: 450
0:? Sequence
0:4 Function Definition: FakeEntrypoint(u1; (global 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 (global 4-component vector of float)
0:5 'Position' (uniform samplerBuffer)
0:5 Convert uint to int (temp int)
0:5 'Index' (in uint)
0:9 Function Definition: RealEntrypoint(u1; (global 4-component vector of float Position)
0:9 Function Parameters:
0:9 'Index' (in uint VertexIndex)
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:10 Function Call: FakeEntrypoint(u1; (global 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:? Linker Objects
0:? 'Position' (uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
Linked vertex stage:
Shader version: 450
0:? Sequence
0:4 Function Definition: FakeEntrypoint(u1; (global 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 (global 4-component vector of float)
0:5 'Position' (uniform samplerBuffer)
0:5 Convert uint to int (temp int)
0:5 'Index' (in uint)
0:9 Function Definition: RealEntrypoint(u1; (global 4-component vector of float Position)
0:9 Function Parameters:
0:9 'Index' (in uint VertexIndex)
0:? Sequence
0:10 Sequence
0:10 move second child to first child (temp 4-component vector of float)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:10 Function Call: FakeEntrypoint(u1; (global 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:? Linker Objects
0:? 'Position' (uniform samplerBuffer)
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 34
Capability Shader
Capability SampledBuffer
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Vertex 4 "RealEntrypoint" 27 29
Name 4 "RealEntrypoint"
Name 12 "FakeEntrypoint(u1;"
Name 11 "Index"
Name 17 "Position"
Name 27 "@entryPointOutput"
Name 29 "Index"
Name 30 "param"
Decorate 17(Position) DescriptorSet 0
Decorate 27(@entryPointOutput) BuiltIn Position
Decorate 29(Index) BuiltIn VertexIndex
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)
14: TypeImage 8(float) Buffer sampled format:Unknown
15: TypeSampledImage 14
16: TypePointer UniformConstant 15
17(Position): 16(ptr) Variable UniformConstant
20: TypeInt 32 1
26: TypePointer Output 9(fvec4)
27(@entryPointOutput): 26(ptr) Variable Output
28: TypePointer Input 6(int)
29(Index): 28(ptr) Variable Input
4(RealEntrypoint): 2 Function None 3
5: Label
30(param): 7(ptr) Variable Function
31: 6(int) Load 29(Index)
Store 30(param) 31
32: 9(fvec4) FunctionCall 12(FakeEntrypoint(u1;) 30(param)
Store 27(@entryPointOutput) 32
Return
FunctionEnd
12(FakeEntrypoint(u1;): 9(fvec4) Function None 10
11(Index): 7(ptr) FunctionParameter
13: Label
18: 15 Load 17(Position)
19: 6(int) Load 11(Index)
21: 20(int) Bitcast 19
22: 14 Image 18
23: 9(fvec4) ImageFetch 22 21
ReturnValue 23
FunctionEnd