blob: 619dccf6a0e020a4197fca624dbf1b2a26a7e89f [file] [log] [blame]
hlsl.structarray.flatten.geom
Shader version: 500
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, 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 Sequence
0:22 move second child to first child ( temp 4-component vector of float)
0:? 'outStream.position' ( out 4-component vector of float Position)
0:22 position: direct index for structure ( temp 4-component vector of float)
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 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 4-component vector of float)
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
0:22 color: direct index for structure ( temp 4-component vector of float)
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 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp 2-component vector of float)
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
0:22 uv: direct index for structure ( temp 2-component vector of float)
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 Constant:
0:22 2 (const int)
0:22 EmitVertex ( temp void)
0:16 Function Definition: main( ( temp void)
0:16 Function Parameters:
0:? Sequence
0:16 Sequence
0:16 move second child to first child ( temp 4-component vector of float)
0:16 position: direct index for structure ( temp 4-component vector of float)
0:16 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:? '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:16 Constant:
0:16 0 (const int)
0:16 Constant:
0:16 0 (const int)
0:16 direct index (layout( location=0) in 4-component vector of float)
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:16 Constant:
0:16 0 (const int)
0:16 move second child to first child ( temp 4-component vector of float)
0:16 color: direct index for structure ( temp 4-component vector of float)
0:16 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:? '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:16 Constant:
0:16 0 (const int)
0:16 Constant:
0:16 1 (const int)
0:16 direct index (layout( location=1) in 4-component vector of float)
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:16 Constant:
0:16 0 (const int)
0:16 move second child to first child ( temp 2-component vector of float)
0:16 uv: direct index for structure ( temp 2-component vector of float)
0:16 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:? '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:16 Constant:
0:16 0 (const int)
0:16 Constant:
0:16 2 (const int)
0:16 direct index (layout( location=2) in 2-component vector of float)
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:16 Constant:
0:16 0 (const int)
0:16 move second child to first child ( temp 4-component vector of float)
0:16 position: direct index for structure ( temp 4-component vector of float)
0:16 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:? '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:16 Constant:
0:16 1 (const int)
0:16 Constant:
0:16 0 (const int)
0:16 direct index (layout( location=0) in 4-component vector of float)
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:16 Constant:
0:16 1 (const int)
0:16 move second child to first child ( temp 4-component vector of float)
0:16 color: direct index for structure ( temp 4-component vector of float)
0:16 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:? '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:16 Constant:
0:16 1 (const int)
0:16 Constant:
0:16 1 (const int)
0:16 direct index (layout( location=1) in 4-component vector of float)
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:16 Constant:
0:16 1 (const int)
0:16 move second child to first child ( temp 2-component vector of float)
0:16 uv: direct index for structure ( temp 2-component vector of float)
0:16 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:? '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:16 Constant:
0:16 1 (const int)
0:16 Constant:
0:16 2 (const int)
0:16 direct index (layout( location=2) in 2-component vector of float)
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:16 Constant:
0:16 1 (const int)
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, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Linker Objects
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:? 'outStream.position' ( out 4-component vector of float Position)
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
Linked geometry stage:
Shader version: 500
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, 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 Sequence
0:22 move second child to first child ( temp 4-component vector of float)
0:? 'outStream.position' ( out 4-component vector of float Position)
0:22 position: direct index for structure ( temp 4-component vector of float)
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 Constant:
0:22 0 (const int)
0:22 move second child to first child ( temp 4-component vector of float)
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
0:22 color: direct index for structure ( temp 4-component vector of float)
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 Constant:
0:22 1 (const int)
0:22 move second child to first child ( temp 2-component vector of float)
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
0:22 uv: direct index for structure ( temp 2-component vector of float)
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 Constant:
0:22 2 (const int)
0:22 EmitVertex ( temp void)
0:16 Function Definition: main( ( temp void)
0:16 Function Parameters:
0:? Sequence
0:16 Sequence
0:16 move second child to first child ( temp 4-component vector of float)
0:16 position: direct index for structure ( temp 4-component vector of float)
0:16 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:? '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:16 Constant:
0:16 0 (const int)
0:16 Constant:
0:16 0 (const int)
0:16 direct index (layout( location=0) in 4-component vector of float)
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:16 Constant:
0:16 0 (const int)
0:16 move second child to first child ( temp 4-component vector of float)
0:16 color: direct index for structure ( temp 4-component vector of float)
0:16 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:? '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:16 Constant:
0:16 0 (const int)
0:16 Constant:
0:16 1 (const int)
0:16 direct index (layout( location=1) in 4-component vector of float)
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:16 Constant:
0:16 0 (const int)
0:16 move second child to first child ( temp 2-component vector of float)
0:16 uv: direct index for structure ( temp 2-component vector of float)
0:16 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:? '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:16 Constant:
0:16 0 (const int)
0:16 Constant:
0:16 2 (const int)
0:16 direct index (layout( location=2) in 2-component vector of float)
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:16 Constant:
0:16 0 (const int)
0:16 move second child to first child ( temp 4-component vector of float)
0:16 position: direct index for structure ( temp 4-component vector of float)
0:16 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:? '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:16 Constant:
0:16 1 (const int)
0:16 Constant:
0:16 0 (const int)
0:16 direct index (layout( location=0) in 4-component vector of float)
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:16 Constant:
0:16 1 (const int)
0:16 move second child to first child ( temp 4-component vector of float)
0:16 color: direct index for structure ( temp 4-component vector of float)
0:16 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:? '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:16 Constant:
0:16 1 (const int)
0:16 Constant:
0:16 1 (const int)
0:16 direct index (layout( location=1) in 4-component vector of float)
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:16 Constant:
0:16 1 (const int)
0:16 move second child to first child ( temp 2-component vector of float)
0:16 uv: direct index for structure ( temp 2-component vector of float)
0:16 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:? '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:16 Constant:
0:16 1 (const int)
0:16 Constant:
0:16 2 (const int)
0:16 direct index (layout( location=2) in 2-component vector of float)
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:16 Constant:
0:16 1 (const int)
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, temp 4-component vector of float color, temp 2-component vector of float uv})
0:? Linker Objects
0:? 'vin.position' (layout( location=0) in 2-element array of 4-component vector of float)
0:? 'vin.color' (layout( location=1) in 2-element array of 4-component vector of float)
0:? 'vin.uv' (layout( location=2) in 2-element array of 2-component vector of float)
0:? 'outStream.position' ( out 4-component vector of float Position)
0:? 'outStream.color' (layout( location=0) out 4-component vector of float)
0:? 'outStream.uv' (layout( location=1) out 2-component vector of float)
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 82
Capability Geometry
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Geometry 4 "main" 38 41 45 51 56 62
ExecutionMode 4 InputLines
ExecutionMode 4 Invocations 1
ExecutionMode 4 OutputTriangleStrip
ExecutionMode 4 OutputVertices 4
Source HLSL 500
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 "vout"
Name 38 "outStream.position"
Name 41 "outStream.color"
Name 45 "outStream.uv"
Name 48 "vin"
Name 51 "vin.position"
Name 56 "vin.color"
Name 62 "vin.uv"
Name 76 "outStream"
Name 77 "param"
Name 79 "param"
Decorate 38(outStream.position) BuiltIn Position
Decorate 41(outStream.color) Location 0
Decorate 45(outStream.uv) Location 1
Decorate 51(vin.position) Location 0
Decorate 56(vin.color) Location 1
Decorate 62(vin.uv) Location 2
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)
22: TypeInt 32 1
23: 22(int) Constant 1
24: TypePointer Function 7(fvec4)
28: 22(int) Constant 2
29: TypePointer Function 8(fvec2)
33: 22(int) Constant 0
37: TypePointer Output 7(fvec4)
38(outStream.position): 37(ptr) Variable Output
41(outStream.color): 37(ptr) Variable Output
44: TypePointer Output 8(fvec2)
45(outStream.uv): 44(ptr) Variable Output
49: TypeArray 7(fvec4) 11
50: TypePointer Input 49
51(vin.position): 50(ptr) Variable Input
52: TypePointer Input 7(fvec4)
56(vin.color): 50(ptr) Variable Input
60: TypeArray 8(fvec2) 11
61: TypePointer Input 60
62(vin.uv): 61(ptr) Variable Input
63: TypePointer Input 8(fvec2)
4(main): 2 Function None 3
5: Label
48(vin): 13(ptr) Variable Function
76(outStream): 15(ptr) Variable Function
77(param): 13(ptr) Variable Function
79(param): 15(ptr) Variable Function
53: 52(ptr) AccessChain 51(vin.position) 33
54: 7(fvec4) Load 53
55: 24(ptr) AccessChain 48(vin) 33 33
Store 55 54
57: 52(ptr) AccessChain 56(vin.color) 33
58: 7(fvec4) Load 57
59: 24(ptr) AccessChain 48(vin) 33 23
Store 59 58
64: 63(ptr) AccessChain 62(vin.uv) 33
65: 8(fvec2) Load 64
66: 29(ptr) AccessChain 48(vin) 33 28
Store 66 65
67: 52(ptr) AccessChain 51(vin.position) 23
68: 7(fvec4) Load 67
69: 24(ptr) AccessChain 48(vin) 23 33
Store 69 68
70: 52(ptr) AccessChain 56(vin.color) 23
71: 7(fvec4) Load 70
72: 24(ptr) AccessChain 48(vin) 23 23
Store 72 71
73: 63(ptr) AccessChain 62(vin.uv) 23
74: 8(fvec2) Load 73
75: 29(ptr) AccessChain 48(vin) 23 28
Store 75 74
78: 12 Load 48(vin)
Store 77(param) 78
80: 2 FunctionCall 19(@main(struct-VertexData-vf4-vf4-vf21[2];struct-PS_IN-vf4-vf4-vf21;) 77(param) 79(param)
81: 14(PS_IN) Load 79(param)
Store 76(outStream) 81
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
21(vout): 15(ptr) Variable Function
25: 24(ptr) AccessChain 17(vin) 23 23
26: 7(fvec4) Load 25
27: 24(ptr) AccessChain 21(vout) 23
Store 27 26
30: 29(ptr) AccessChain 17(vin) 23 28
31: 8(fvec2) Load 30
32: 29(ptr) AccessChain 21(vout) 28
Store 32 31
34: 24(ptr) AccessChain 17(vin) 23 33
35: 7(fvec4) Load 34
36: 24(ptr) AccessChain 21(vout) 33
Store 36 35
39: 24(ptr) AccessChain 21(vout) 33
40: 7(fvec4) Load 39
Store 38(outStream.position) 40
42: 24(ptr) AccessChain 21(vout) 23
43: 7(fvec4) Load 42
Store 41(outStream.color) 43
46: 29(ptr) AccessChain 21(vout) 28
47: 8(fvec2) Load 46
Store 45(outStream.uv) 47
EmitVertex
Return
FunctionEnd