1 hlsl.struct.split.assign.frag
3 gl_FragCoord origin is upper left
5 0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float)
6 0:7 Function Parameters:
8 0:7 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos})
10 0:9 move second child to first child ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
11 0:9 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos})
12 0:9 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
13 0:11 Branch: Return with expression
18 0:7 Function Definition: main( ( temp void)
19 0:7 Function Parameters:
21 0:7 move second child to first child ( temp int)
23 0:? 'i' (layout( location=0) in int)
25 0:7 move second child to first child ( temp float)
26 0:7 f: direct index for structure ( temp float)
27 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
28 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
33 0:7 f: direct index for structure ( temp float)
34 0:7 direct index (layout( location=1) in structure{ temp float f})
35 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f})
40 0:7 move second child to first child ( temp 4-component vector of float)
41 0:7 pos: direct index for structure ( temp 4-component vector of float)
42 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
43 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
48 0:7 direct index ( in 4-component vector of float FragCoord)
49 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
52 0:7 move second child to first child ( temp float)
53 0:7 f: direct index for structure ( temp float)
54 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
55 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
60 0:7 f: direct index for structure ( temp float)
61 0:7 direct index (layout( location=1) in structure{ temp float f})
62 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f})
67 0:7 move second child to first child ( temp 4-component vector of float)
68 0:7 pos: direct index for structure ( temp 4-component vector of float)
69 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
70 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
75 0:7 direct index ( in 4-component vector of float FragCoord)
76 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
79 0:7 move second child to first child ( temp float)
80 0:7 f: direct index for structure ( temp float)
81 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
82 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
87 0:7 f: direct index for structure ( temp float)
88 0:7 direct index (layout( location=1) in structure{ temp float f})
89 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f})
94 0:7 move second child to first child ( temp 4-component vector of float)
95 0:7 pos: direct index for structure ( temp 4-component vector of float)
96 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
97 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
102 0:7 direct index ( in 4-component vector of float FragCoord)
103 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
106 0:7 move second child to first child ( temp 4-component vector of float)
107 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
108 0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float)
110 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
112 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
113 0:? 'i' (layout( location=0) in int)
114 0:? 'input' (layout( location=1) in 3-element array of structure{ temp float f})
115 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
118 Linked fragment stage:
122 gl_FragCoord origin is upper left
124 0:7 Function Definition: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float)
125 0:7 Function Parameters:
127 0:7 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos})
129 0:9 move second child to first child ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
130 0:9 'input' ( in 3-element array of structure{ temp float f, temp 4-component vector of float pos})
131 0:9 'a' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
132 0:11 Branch: Return with expression
137 0:7 Function Definition: main( ( temp void)
138 0:7 Function Parameters:
140 0:7 move second child to first child ( temp int)
142 0:? 'i' (layout( location=0) in int)
144 0:7 move second child to first child ( temp float)
145 0:7 f: direct index for structure ( temp float)
146 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
147 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
152 0:7 f: direct index for structure ( temp float)
153 0:7 direct index (layout( location=1) in structure{ temp float f})
154 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f})
159 0:7 move second child to first child ( temp 4-component vector of float)
160 0:7 pos: direct index for structure ( temp 4-component vector of float)
161 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
162 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
167 0:7 direct index ( in 4-component vector of float FragCoord)
168 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
171 0:7 move second child to first child ( temp float)
172 0:7 f: direct index for structure ( temp float)
173 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
174 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
179 0:7 f: direct index for structure ( temp float)
180 0:7 direct index (layout( location=1) in structure{ temp float f})
181 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f})
186 0:7 move second child to first child ( temp 4-component vector of float)
187 0:7 pos: direct index for structure ( temp 4-component vector of float)
188 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
189 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
194 0:7 direct index ( in 4-component vector of float FragCoord)
195 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
198 0:7 move second child to first child ( temp float)
199 0:7 f: direct index for structure ( temp float)
200 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
201 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
206 0:7 f: direct index for structure ( temp float)
207 0:7 direct index (layout( location=1) in structure{ temp float f})
208 0:7 'input' (layout( location=1) in 3-element array of structure{ temp float f})
213 0:7 move second child to first child ( temp 4-component vector of float)
214 0:7 pos: direct index for structure ( temp 4-component vector of float)
215 0:7 direct index ( temp structure{ temp float f, temp 4-component vector of float pos})
216 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
221 0:7 direct index ( in 4-component vector of float FragCoord)
222 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
225 0:7 move second child to first child ( temp 4-component vector of float)
226 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
227 0:7 Function Call: @main(i1;struct-S-f1-vf41[3]; ( temp 4-component vector of float)
229 0:? 'input' ( temp 3-element array of structure{ temp float f, temp 4-component vector of float pos})
231 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
232 0:? 'i' (layout( location=0) in int)
233 0:? 'input' (layout( location=1) in 3-element array of structure{ temp float f})
234 0:? 'input_pos' ( in 3-element array of 4-component vector of float FragCoord)
236 // Module Version 10000
237 // Generated by (magic number): 80001
238 // Id's are bound by 73
241 1: ExtInstImport "GLSL.std.450"
242 MemoryModel Logical GLSL450
243 EntryPoint Fragment 4 "main" 32 39 48 67
244 ExecutionMode 4 OriginUpperLeft
247 MemberName 10(S) 0 "f"
248 MemberName 10(S) 1 "pos"
249 Name 18 "@main(i1;struct-S-f1-vf41[3];"
257 MemberName 36(S) 0 "f"
260 Name 67 "@entryPointOutput"
263 Decorate 32(i) Location 0
264 Decorate 39(input) Location 1
265 Decorate 48(input_pos) BuiltIn FragCoord
266 Decorate 67(@entryPointOutput) Location 0
270 7: TypePointer Function 6(int)
272 9: TypeVector 8(float) 4
273 10(S): TypeStruct 8(float) 9(fvec4)
275 12: 11(int) Constant 3
276 13: TypeArray 10(S) 12
277 14: TypePointer Function 13
278 15: TypeFunction 9(fvec4) 7(ptr) 14(ptr)
279 22: TypeVector 8(float) 3
280 23: 8(float) Constant 1065353216
281 24: 22(fvec3) ConstantComposite 23 23 23
282 25: TypePointer Function 9(fvec4)
283 31: TypePointer Input 6(int)
284 32(i): 31(ptr) Variable Input
285 35: 6(int) Constant 0
286 36(S): TypeStruct 8(float)
287 37: TypeArray 36(S) 12
288 38: TypePointer Input 37
289 39(input): 38(ptr) Variable Input
290 40: TypePointer Input 8(float)
291 43: TypePointer Function 8(float)
292 45: 6(int) Constant 1
293 46: TypeArray 9(fvec4) 12
294 47: TypePointer Input 46
295 48(input_pos): 47(ptr) Variable Input
296 49: TypePointer Input 9(fvec4)
297 59: 6(int) Constant 2
298 66: TypePointer Output 9(fvec4)
299 67(@entryPointOutput): 66(ptr) Variable Output
300 4(main): 2 Function None 3
302 30(i): 7(ptr) Variable Function
303 34(input): 14(ptr) Variable Function
304 68(param): 7(ptr) Variable Function
305 70(param): 14(ptr) Variable Function
306 33: 6(int) Load 32(i)
308 41: 40(ptr) AccessChain 39(input) 35 35
310 44: 43(ptr) AccessChain 34(input) 35 35
312 50: 49(ptr) AccessChain 48(input_pos) 35
314 52: 25(ptr) AccessChain 34(input) 35 45
316 53: 40(ptr) AccessChain 39(input) 45 35
318 55: 43(ptr) AccessChain 34(input) 45 35
320 56: 49(ptr) AccessChain 48(input_pos) 45
322 58: 25(ptr) AccessChain 34(input) 45 45
324 60: 40(ptr) AccessChain 39(input) 59 35
326 62: 43(ptr) AccessChain 34(input) 59 35
328 63: 49(ptr) AccessChain 48(input_pos) 59
330 65: 25(ptr) AccessChain 34(input) 59 45
332 69: 6(int) Load 30(i)
334 71: 13 Load 34(input)
336 72: 9(fvec4) FunctionCall 18(@main(i1;struct-S-f1-vf41[3];) 68(param) 70(param)
337 Store 67(@entryPointOutput) 72
340 18(@main(i1;struct-S-f1-vf41[3];): 9(fvec4) Function None 15
341 16(i): 7(ptr) FunctionParameter
342 17(input): 14(ptr) FunctionParameter
344 20(a): 14(ptr) Variable Function
345 26: 25(ptr) Variable Function