glslang/Test/baseResults/hlsl.multiEntry.vert.out
John Kessenich d3f1122a44 Whole stack: Fix stale types in the AST linker object nodes, fixing #557.
Rationalizes the entire tracking of the linker object nodes, effecting
GLSL, HLSL, and SPIR-V, to allow tracked objects to be fully edited before
their type snapshot for linker objects.

Should only effect things when the rest of the AST contained no reference to
the symbol, because normal AST nodes were not stale. Also will only effect such
objects when their types were edited.
2016-11-05 10:22:33 -06:00

112 lines
4.9 KiB
Plaintext
Executable File

hlsl.multiEntry.vert
Shader version: 450
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 samplerBuffer)
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 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; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
Linked vertex stage:
Shader version: 450
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 samplerBuffer)
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 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; (temp 4-component vector of float)
0:10 'Index' (in uint VertexIndex)
0:10 Branch: Return
0:? Linker Objects
0:? '@entryPointOutput' (out 4-component vector of float Position)
0:? 'Index' (in uint VertexIndex)
0:? 'Position' (layout(rgba32f ) uniform samplerBuffer)
// 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:Rgba32f
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