glslang/Test/baseResults/hlsl.structarray.flatten.geom.out
John Kessenich 02467d8d94 HLSL: Wrap the entry-point; need to write 'in' args, and support 'inout' args.
This needs some render testing, but is destined to be part of master.

This also leads to a variety of other simplifications.
 - IO are global symbols, so only need one list of linkage nodes (deferred)
 - no longer need parse-context-wide 'inEntryPoint' state, entry-point is localized
 - several parts of splitting/flattening are now localized
2017-02-06 22:58:32 -07:00

236 lines
15 KiB
Plaintext

hlsl.structarray.flatten.geom
Shader version: 450
invocations = -1
max_vertices = 4
input primitive = lines
output primitive = triangle_strip
0:? Sequence
0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void)
0:16 Function Parameters:
0:16 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:19 color: direct index for structure (temp 4-component vector of float)
0:19 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 Constant:
0:19 1 (const int)
0:19 color: direct index for structure (temp 4-component vector of float)
0:19 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 Constant:
0:19 1 (const int)
0:19 Constant:
0:19 1 (const int)
0:20 move second child to first child (temp 2-component vector of float)
0:20 uv: direct index for structure (temp 2-component vector of float)
0:20 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 Constant:
0:20 2 (const int)
0:20 uv: direct index for structure (temp 2-component vector of float)
0:20 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 Constant:
0:20 1 (const int)
0:20 Constant:
0:20 2 (const int)
0:21 move second child to first child (temp 4-component vector of float)
0:21 position: direct index for structure (temp 4-component vector of float)
0:21 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 Constant:
0:21 0 (const int)
0:21 position: direct index for structure (temp 4-component vector of float)
0:21 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 Constant:
0:21 1 (const int)
0:21 Constant:
0:21 0 (const int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 EmitVertex (temp void)
0:16 Function Definition: main( (temp void)
0:16 Function Parameters:
0:? Sequence
0:16 move second child to first child (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void)
0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream' (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Linker Objects
0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
Linked geometry stage:
Shader version: 450
invocations = 1
max_vertices = 4
input primitive = lines
output primitive = triangle_strip
0:? Sequence
0:16 Function Definition: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void)
0:16 Function Parameters:
0:16 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Sequence
0:19 move second child to first child (temp 4-component vector of float)
0:19 color: direct index for structure (temp 4-component vector of float)
0:19 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 Constant:
0:19 1 (const int)
0:19 color: direct index for structure (temp 4-component vector of float)
0:19 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:19 Constant:
0:19 1 (const int)
0:19 Constant:
0:19 1 (const int)
0:20 move second child to first child (temp 2-component vector of float)
0:20 uv: direct index for structure (temp 2-component vector of float)
0:20 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 Constant:
0:20 2 (const int)
0:20 uv: direct index for structure (temp 2-component vector of float)
0:20 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:20 Constant:
0:20 1 (const int)
0:20 Constant:
0:20 2 (const int)
0:21 move second child to first child (temp 4-component vector of float)
0:21 position: direct index for structure (temp 4-component vector of float)
0:21 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 Constant:
0:21 0 (const int)
0:21 position: direct index for structure (temp 4-component vector of float)
0:21 direct index (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 'vin' (in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:21 Constant:
0:21 1 (const int)
0:21 Constant:
0:21 0 (const int)
0:22 Sequence
0:22 move second child to first child (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'outStream' (out structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 'vout' (temp structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:22 EmitVertex (temp void)
0:16 Function Definition: main( (temp void)
0:16 Function Parameters:
0:? Sequence
0:16 move second child to first child (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:16 Function Call: @main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21; (temp void)
0:? 'vin' (temp 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? 'outStream' (temp structure{temp 4-component vector of float Position position, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Linker Objects
0:? 'vin' (layout(location=0 ) in 2-element array of structure{temp 4-component vector of float position, temp 4-component vector of float color, temp 2-component vector of float uv})
// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 55
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 48
ExecutionMode 4 InputLines
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 4
Name 4 "main"
Name 9 "VertexData"
MemberName 9(VertexData) 0 "position"
MemberName 9(VertexData) 1 "color"
MemberName 9(VertexData) 2 "uv"
Name 14 "PS_IN"
MemberName 14(PS_IN) 0 "position"
MemberName 14(PS_IN) 1 "color"
MemberName 14(PS_IN) 2 "uv"
Name 19 "@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;"
Name 17 "vin"
Name 18 "outStream"
Name 21 "PS_IN"
MemberName 21(PS_IN) 0 "position"
MemberName 21(PS_IN) 1 "color"
MemberName 21(PS_IN) 2 "uv"
Name 23 "vout"
Name 46 "vin"
Name 48 "vin"
Name 50 "outStream"
Name 51 "param"
Name 53 "param"
MemberDecorate 14(PS_IN) 0 BuiltIn Position
Decorate 48(vin) Location 0
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypeVector 6(float) 2
9(VertexData): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
10: TypeInt 32 0
11: 10(int) Constant 2
12: TypeArray 9(VertexData) 11
13: TypePointer Function 12
14(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
15: TypePointer Function 14(PS_IN)
16: TypeFunction 2 13(ptr) 15(ptr)
21(PS_IN): TypeStruct 7(fvec4) 7(fvec4) 8(fvec2)
22: TypePointer Function 21(PS_IN)
24: TypeInt 32 1
25: 24(int) Constant 1
26: TypePointer Function 7(fvec4)
30: 24(int) Constant 2
31: TypePointer Function 8(fvec2)
35: 24(int) Constant 0
47: TypePointer Input 12
48(vin): 47(ptr) Variable Input
4(main): 2 Function None 3
5: Label
46(vin): 13(ptr) Variable Function
50(outStream): 15(ptr) Variable Function
51(param): 13(ptr) Variable Function
53(param): 15(ptr) Variable Function
49: 12 Load 48(vin)
Store 46(vin) 49
52: 12 Load 46(vin)
Store 51(param) 52
54: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 51(param) 53(param)
Return
FunctionEnd
19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;): 2 Function None 16
17(vin): 13(ptr) FunctionParameter
18(outStream): 15(ptr) FunctionParameter
20: Label
23(vout): 22(ptr) Variable Function
27: 26(ptr) AccessChain 17(vin) 25 25
28: 7(fvec4) Load 27
29: 26(ptr) AccessChain 23(vout) 25
Store 29 28
32: 31(ptr) AccessChain 17(vin) 25 30
33: 8(fvec2) Load 32
34: 31(ptr) AccessChain 23(vout) 30
Store 34 33
36: 26(ptr) AccessChain 17(vin) 25 35
37: 7(fvec4) Load 36
38: 26(ptr) AccessChain 23(vout) 35
Store 38 37
39: 21(PS_IN) Load 23(vout)
40: 7(fvec4) CompositeExtract 39 0
41: 26(ptr) AccessChain 18(outStream) 35
Store 41 40
42: 7(fvec4) CompositeExtract 39 1
43: 26(ptr) AccessChain 18(outStream) 25
Store 43 42
44: 8(fvec2) CompositeExtract 39 2
45: 31(ptr) AccessChain 18(outStream) 30
Store 45 44
EmitVertex
Return
FunctionEnd