5 input primitive = triangles
6 output primitive = line_strip
8 0:12 Function Definition: @main(u1[3];struct-S-f1-f1-u1-u1-i11; ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
9 0:12 Function Parameters:
10 0:12 'VertexID' ( in 3-element array of uint)
11 0:12 'OutputStream' ( out structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
13 0:14 Branch: Return with expression
14 0:14 's' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
15 0:12 Function Definition: main( ( temp void)
16 0:12 Function Parameters:
18 0:12 move second child to first child ( temp 3-element array of uint)
19 0:? 'VertexID' ( temp 3-element array of uint)
20 0:? 'VertexID' (layout( location=0) in 3-element array of uint)
22 0:12 move second child to first child ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
23 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
24 0:12 Function Call: @main(u1[3];struct-S-f1-f1-u1-u1-i11; ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
25 0:? 'VertexID' ( temp 3-element array of uint)
26 0:? 'OutputStream' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
27 0:12 move second child to first child ( temp float)
28 0:? 'OutputStream_clip0' ( out float ClipDistance)
29 0:12 clip0: direct index for structure ( temp float)
30 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
33 0:12 move second child to first child ( temp float)
34 0:? 'OutputStream_cull0' ( out float CullDistance)
35 0:12 cull0: direct index for structure ( temp float)
36 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
39 0:12 move second child to first child ( temp uint)
40 0:? 'OutputStream_vpai' ( out uint ViewportIndex)
41 0:12 vpai: direct index for structure ( temp uint)
42 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
45 0:12 move second child to first child ( temp uint)
46 0:? 'OutputStream_rtai' ( out uint Layer)
47 0:12 rtai: direct index for structure ( temp uint)
48 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
51 0:12 move second child to first child ( temp int)
52 0:12 ii: direct index for structure ( temp int)
53 0:12 '@entryPointOutput' (layout( location=0) out structure{ temp int ii})
56 0:12 ii: direct index for structure ( temp int)
57 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
61 0:? '@entryPointOutput' (layout( location=0) out structure{ temp int ii})
62 0:? 'VertexID' (layout( location=0) in 3-element array of uint)
63 0:? 'OutputStream' (layout( location=1) out structure{ temp int ii})
64 0:? 'OutputStream_vpai' ( out uint ViewportIndex)
67 Linked geometry stage:
73 input primitive = triangles
74 output primitive = line_strip
76 0:12 Function Definition: @main(u1[3];struct-S-f1-f1-u1-u1-i11; ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
77 0:12 Function Parameters:
78 0:12 'VertexID' ( in 3-element array of uint)
79 0:12 'OutputStream' ( out structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
81 0:14 Branch: Return with expression
82 0:14 's' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
83 0:12 Function Definition: main( ( temp void)
84 0:12 Function Parameters:
86 0:12 move second child to first child ( temp 3-element array of uint)
87 0:? 'VertexID' ( temp 3-element array of uint)
88 0:? 'VertexID' (layout( location=0) in 3-element array of uint)
90 0:12 move second child to first child ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
91 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
92 0:12 Function Call: @main(u1[3];struct-S-f1-f1-u1-u1-i11; ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
93 0:? 'VertexID' ( temp 3-element array of uint)
94 0:? 'OutputStream' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
95 0:12 move second child to first child ( temp float)
96 0:? 'OutputStream_clip0' ( out float ClipDistance)
97 0:12 clip0: direct index for structure ( temp float)
98 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
101 0:12 move second child to first child ( temp float)
102 0:? 'OutputStream_cull0' ( out float CullDistance)
103 0:12 cull0: direct index for structure ( temp float)
104 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
107 0:12 move second child to first child ( temp uint)
108 0:? 'OutputStream_vpai' ( out uint ViewportIndex)
109 0:12 vpai: direct index for structure ( temp uint)
110 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
113 0:12 move second child to first child ( temp uint)
114 0:? 'OutputStream_rtai' ( out uint Layer)
115 0:12 rtai: direct index for structure ( temp uint)
116 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
119 0:12 move second child to first child ( temp int)
120 0:12 ii: direct index for structure ( temp int)
121 0:12 '@entryPointOutput' (layout( location=0) out structure{ temp int ii})
124 0:12 ii: direct index for structure ( temp int)
125 0:12 'flattenTemp' ( temp structure{ temp float clip0, temp float cull0, temp uint vpai, temp uint rtai, temp int ii})
129 0:? '@entryPointOutput' (layout( location=0) out structure{ temp int ii})
130 0:? 'VertexID' (layout( location=0) in 3-element array of uint)
131 0:? 'OutputStream' (layout( location=1) out structure{ temp int ii})
132 0:? 'OutputStream_vpai' ( out uint ViewportIndex)
134 // Module Version 10000
135 // Generated by (magic number): 80001
136 // Id's are bound by 66
139 Capability ClipDistance
140 Capability CullDistance
141 Capability MultiViewport
142 1: ExtInstImport "GLSL.std.450"
143 MemoryModel Logical GLSL450
144 EntryPoint Geometry 4 "main" 25 35 40 45 50 56 65
145 ExecutionMode 4 Triangles
146 ExecutionMode 4 Invocations 1
147 ExecutionMode 4 OutputLineStrip
148 ExecutionMode 4 OutputVertices 4
151 MemberName 12(S) 0 "clip0"
152 MemberName 12(S) 1 "cull0"
153 MemberName 12(S) 2 "vpai"
154 MemberName 12(S) 3 "rtai"
155 MemberName 12(S) 4 "ii"
156 Name 17 "@main(u1[3];struct-S-f1-f1-u1-u1-i11;"
158 Name 16 "OutputStream"
162 Name 27 "flattenTemp"
163 Name 28 "OutputStream"
166 Name 35 "OutputStream_clip0"
167 Name 40 "OutputStream_cull0"
168 Name 45 "OutputStream_vpai"
169 Name 50 "OutputStream_rtai"
171 MemberName 54(S) 0 "ii"
172 Name 56 "@entryPointOutput"
174 MemberName 63(S) 0 "ii"
175 Name 65 "OutputStream"
176 Decorate 25(VertexID) Location 0
177 Decorate 35(OutputStream_clip0) BuiltIn ClipDistance
178 Decorate 40(OutputStream_cull0) BuiltIn CullDistance
179 Decorate 45(OutputStream_vpai) BuiltIn ViewportIndex
180 Decorate 50(OutputStream_rtai) BuiltIn Layer
181 Decorate 56(@entryPointOutput) Location 0
182 Decorate 65(OutputStream) Location 1
187 8: TypeArray 6(int) 7
188 9: TypePointer Function 8
191 12(S): TypeStruct 10(float) 10(float) 6(int) 6(int) 11(int)
192 13: TypePointer Function 12(S)
193 14: TypeFunction 12(S) 9(ptr) 13(ptr)
194 24: TypePointer Input 8
195 25(VertexID): 24(ptr) Variable Input
196 34: TypePointer Output 10(float)
197 35(OutputStream_clip0): 34(ptr) Variable Output
198 36: 11(int) Constant 0
199 37: TypePointer Function 10(float)
200 40(OutputStream_cull0): 34(ptr) Variable Output
201 41: 11(int) Constant 1
202 44: TypePointer Output 6(int)
203 45(OutputStream_vpai): 44(ptr) Variable Output
204 46: 11(int) Constant 2
205 47: TypePointer Function 6(int)
206 50(OutputStream_rtai): 44(ptr) Variable Output
207 51: 11(int) Constant 3
208 54(S): TypeStruct 11(int)
209 55: TypePointer Output 54(S)
210 56(@entryPointOutput): 55(ptr) Variable Output
211 57: 11(int) Constant 4
212 58: TypePointer Function 11(int)
213 61: TypePointer Output 11(int)
214 63(S): TypeStruct 11(int)
215 64: TypePointer Output 63(S)
216 65(OutputStream): 64(ptr) Variable Output
217 4(main): 2 Function None 3
219 23(VertexID): 9(ptr) Variable Function
220 27(flattenTemp): 13(ptr) Variable Function
221 28(OutputStream): 13(ptr) Variable Function
222 29(param): 9(ptr) Variable Function
223 31(param): 13(ptr) Variable Function
224 26: 8 Load 25(VertexID)
225 Store 23(VertexID) 26
226 30: 8 Load 23(VertexID)
228 32: 12(S) FunctionCall 17(@main(u1[3];struct-S-f1-f1-u1-u1-i11;) 29(param) 31(param)
229 33: 12(S) Load 31(param)
230 Store 28(OutputStream) 33
231 Store 27(flattenTemp) 32
232 38: 37(ptr) AccessChain 27(flattenTemp) 36
233 39: 10(float) Load 38
234 Store 35(OutputStream_clip0) 39
235 42: 37(ptr) AccessChain 27(flattenTemp) 41
236 43: 10(float) Load 42
237 Store 40(OutputStream_cull0) 43
238 48: 47(ptr) AccessChain 27(flattenTemp) 46
240 Store 45(OutputStream_vpai) 49
241 52: 47(ptr) AccessChain 27(flattenTemp) 51
243 Store 50(OutputStream_rtai) 53
244 59: 58(ptr) AccessChain 27(flattenTemp) 57
246 62: 61(ptr) AccessChain 56(@entryPointOutput) 36
250 17(@main(u1[3];struct-S-f1-f1-u1-u1-i11;): 12(S) Function None 14
251 15(VertexID): 9(ptr) FunctionParameter
252 16(OutputStream): 13(ptr) FunctionParameter
254 19(s): 13(ptr) Variable Function