1 hlsl.struct.split.trivial.geom
5 input primitive = triangles
6 output primitive = triangle_strip
8 0:14 Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
9 0:14 Function Parameters:
10 0:14 'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
11 0:14 'ts' ( out structure{ temp 4-component vector of float pos})
14 0:17 move second child to first child ( temp int)
18 0:17 Loop with condition tested first
20 0:17 Compare Less Than ( temp bool)
26 0:18 move second child to first child ( temp 4-component vector of float)
27 0:18 pos: direct index for structure ( temp 4-component vector of float)
28 0:18 'o' ( temp structure{ temp 4-component vector of float pos})
31 0:18 pos: direct index for structure ( temp 4-component vector of float)
32 0:18 indirect index ( temp structure{ temp 4-component vector of float pos})
33 0:18 'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
39 0:19 move second child to first child ( temp 4-component vector of float)
40 0:? 'ts_pos' ( out 4-component vector of float Position)
41 0:19 pos: direct index for structure ( temp 4-component vector of float)
42 0:19 'o' ( temp structure{ temp 4-component vector of float pos})
45 0:19 EmitVertex ( temp void)
46 0:17 Loop Terminal Expression
47 0:17 Pre-Increment ( temp int)
49 0:14 Function Definition: main( ( temp void)
50 0:14 Function Parameters:
53 0:14 move second child to first child ( temp 4-component vector of float)
54 0:14 pos: direct index for structure ( temp 4-component vector of float)
55 0:14 direct index ( temp structure{ temp 4-component vector of float pos})
56 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
61 0:14 direct index ( in 4-component vector of float Position)
62 0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
65 0:14 move second child to first child ( temp 4-component vector of float)
66 0:14 pos: direct index for structure ( temp 4-component vector of float)
67 0:14 direct index ( temp structure{ temp 4-component vector of float pos})
68 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
73 0:14 direct index ( in 4-component vector of float Position)
74 0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
77 0:14 move second child to first child ( temp 4-component vector of float)
78 0:14 pos: direct index for structure ( temp 4-component vector of float)
79 0:14 direct index ( temp structure{ temp 4-component vector of float pos})
80 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
85 0:14 direct index ( in 4-component vector of float Position)
86 0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
89 0:14 Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
90 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
91 0:? 'ts' ( temp structure{ temp 4-component vector of float pos})
93 0:? 'i' (layout( location=0) in 3-element array of structure{})
94 0:? 'ts' (layout( location=0) out structure{})
97 Linked geometry stage:
103 input primitive = triangles
104 output primitive = triangle_strip
106 0:14 Function Definition: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
107 0:14 Function Parameters:
108 0:14 'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
109 0:14 'ts' ( out structure{ temp 4-component vector of float pos})
112 0:17 move second child to first child ( temp int)
116 0:17 Loop with condition tested first
118 0:17 Compare Less Than ( temp bool)
124 0:18 move second child to first child ( temp 4-component vector of float)
125 0:18 pos: direct index for structure ( temp 4-component vector of float)
126 0:18 'o' ( temp structure{ temp 4-component vector of float pos})
129 0:18 pos: direct index for structure ( temp 4-component vector of float)
130 0:18 indirect index ( temp structure{ temp 4-component vector of float pos})
131 0:18 'i' ( in 3-element array of structure{ temp 4-component vector of float pos})
137 0:19 move second child to first child ( temp 4-component vector of float)
138 0:? 'ts_pos' ( out 4-component vector of float Position)
139 0:19 pos: direct index for structure ( temp 4-component vector of float)
140 0:19 'o' ( temp structure{ temp 4-component vector of float pos})
143 0:19 EmitVertex ( temp void)
144 0:17 Loop Terminal Expression
145 0:17 Pre-Increment ( temp int)
147 0:14 Function Definition: main( ( temp void)
148 0:14 Function Parameters:
151 0:14 move second child to first child ( temp 4-component vector of float)
152 0:14 pos: direct index for structure ( temp 4-component vector of float)
153 0:14 direct index ( temp structure{ temp 4-component vector of float pos})
154 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
159 0:14 direct index ( in 4-component vector of float Position)
160 0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
163 0:14 move second child to first child ( temp 4-component vector of float)
164 0:14 pos: direct index for structure ( temp 4-component vector of float)
165 0:14 direct index ( temp structure{ temp 4-component vector of float pos})
166 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
171 0:14 direct index ( in 4-component vector of float Position)
172 0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
175 0:14 move second child to first child ( temp 4-component vector of float)
176 0:14 pos: direct index for structure ( temp 4-component vector of float)
177 0:14 direct index ( temp structure{ temp 4-component vector of float pos})
178 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
183 0:14 direct index ( in 4-component vector of float Position)
184 0:? 'i_pos' ( in 3-element array of 4-component vector of float Position)
187 0:14 Function Call: @main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41; ( temp void)
188 0:? 'i' ( temp 3-element array of structure{ temp 4-component vector of float pos})
189 0:? 'ts' ( temp structure{ temp 4-component vector of float pos})
191 0:? 'i' (layout( location=0) in 3-element array of structure{})
192 0:? 'ts' (layout( location=0) out structure{})
194 // Module Version 10000
195 // Generated by (magic number): 80001
196 // Id's are bound by 74
199 1: ExtInstImport "GLSL.std.450"
200 MemoryModel Logical GLSL450
201 EntryPoint Geometry 4 "main" 40 49 70 73
202 ExecutionMode 4 Triangles
203 ExecutionMode 4 Invocations 1
204 ExecutionMode 4 OutputTriangleStrip
205 ExecutionMode 4 OutputVertices 3
208 MemberName 8(PS_IN) 0 "pos"
210 MemberName 13(GS_OUT) 0 "pos"
211 Name 18 "@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;"
226 Decorate 40(ts_pos) BuiltIn Position
227 Decorate 49(i_pos) BuiltIn Position
228 Decorate 70(i) Location 0
229 Decorate 73(ts) Location 0
233 7: TypeVector 6(float) 4
234 8(PS_IN): TypeStruct 7(fvec4)
236 10: 9(int) Constant 3
237 11: TypeArray 8(PS_IN) 10
238 12: TypePointer Function 11
239 13(GS_OUT): TypeStruct 7(fvec4)
240 14: TypePointer Function 13(GS_OUT)
241 15: TypeFunction 2 12(ptr) 14(ptr)
243 21: TypePointer Function 20(int)
244 23: 20(int) Constant 0
245 30: 20(int) Constant 3
247 35: TypePointer Function 7(fvec4)
248 39: TypePointer Output 7(fvec4)
249 40(ts_pos): 39(ptr) Variable Output
250 44: 20(int) Constant 1
251 47: TypeArray 7(fvec4) 10
252 48: TypePointer Input 47
253 49(i_pos): 48(ptr) Variable Input
254 50: TypePointer Input 7(fvec4)
255 57: 20(int) Constant 2
256 67(PS_IN): TypeStruct
257 68: TypeArray 67(PS_IN) 10
258 69: TypePointer Input 68
259 70(i): 69(ptr) Variable Input
260 71(GS_OUT): TypeStruct
261 72: TypePointer Output 71(GS_OUT)
262 73(ts): 72(ptr) Variable Output
263 4(main): 2 Function None 3
265 46(i): 12(ptr) Variable Function
266 61(ts): 14(ptr) Variable Function
267 62(param): 12(ptr) Variable Function
268 64(param): 14(ptr) Variable Function
269 51: 50(ptr) AccessChain 49(i_pos) 23
271 53: 35(ptr) AccessChain 46(i) 23 23
273 54: 50(ptr) AccessChain 49(i_pos) 44
275 56: 35(ptr) AccessChain 46(i) 44 23
277 58: 50(ptr) AccessChain 49(i_pos) 57
279 60: 35(ptr) AccessChain 46(i) 57 23
283 65: 2 FunctionCall 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;) 62(param) 64(param)
284 66: 13(GS_OUT) Load 64(param)
288 18(@main(struct-PS_IN-vf41[3];struct-GS_OUT-vf41;): 2 Function None 15
289 16(i): 12(ptr) FunctionParameter
290 17(ts): 14(ptr) FunctionParameter
292 22(x): 21(ptr) Variable Function
293 33(o): 14(ptr) Variable Function
300 29: 20(int) Load 22(x)
301 32: 31(bool) SLessThan 29 30
302 BranchConditional 32 25 26
304 34: 20(int) Load 22(x)
305 36: 35(ptr) AccessChain 16(i) 34 23
307 38: 35(ptr) AccessChain 33(o) 23
309 41: 35(ptr) AccessChain 33(o) 23
315 43: 20(int) Load 22(x)
316 45: 20(int) IAdd 43 44