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.
112 lines
4.9 KiB
Plaintext
Executable File
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
|