3 gl_FragCoord origin is upper left
5 0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void)
6 0:7 Function Parameters:
7 0:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
9 0:8 move second child to first child ( temp 2-component vector of float)
10 0:8 v: direct index for structure ( temp 2-component vector of float)
11 0:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
17 0:9 move second child to first child ( temp 2-component vector of int)
18 0:9 i: direct index for structure ( temp 2-component vector of int)
19 0:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
25 0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float)
26 0:13 Function Parameters:
27 0:13 'input' ( in 4-component vector of float)
28 0:13 'out1' ( out 4-component vector of float)
29 0:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
30 0:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
32 0:14 move second child to first child ( temp 4-component vector of float)
33 0:14 'out1' ( out 4-component vector of float)
34 0:14 'input' ( in 4-component vector of float)
35 0:15 move second child to first child ( temp 2-component vector of float)
36 0:15 v: direct index for structure ( temp 2-component vector of float)
37 0:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
43 0:16 move second child to first child ( temp 2-component vector of int)
44 0:16 i: direct index for structure ( temp 2-component vector of int)
45 0:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
51 0:18 move second child to first child ( temp 2-component vector of float)
52 0:18 v: direct index for structure ( temp 2-component vector of float)
53 0:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
59 0:19 move second child to first child ( temp 2-component vector of int)
60 0:19 i: direct index for structure ( temp 2-component vector of int)
61 0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
67 0:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void)
68 0:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
69 0:22 Branch: Return with expression
70 0:22 'out1' ( out 4-component vector of float)
71 0:13 Function Definition: PixelShaderFunction( ( temp void)
72 0:13 Function Parameters:
74 0:13 move second child to first child ( temp 4-component vector of float)
75 0:? 'input' ( temp 4-component vector of float)
76 0:? 'input' (layout( location=0) in 4-component vector of float)
77 0:13 move second child to first child ( temp 4-component vector of float)
78 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
79 0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float)
80 0:? 'input' ( temp 4-component vector of float)
81 0:? 'out1' ( temp 4-component vector of float)
82 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
83 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
84 0:13 move second child to first child ( temp 4-component vector of float)
85 0:? 'out1' (layout( location=1) out 4-component vector of float)
86 0:? 'out1' ( temp 4-component vector of float)
88 0:13 move second child to first child ( temp 2-component vector of float)
89 0:? 'v' (layout( location=2) out 2-component vector of float)
90 0:13 v: direct index for structure ( temp 2-component vector of float)
91 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
94 0:13 move second child to first child ( temp 2-component vector of int)
95 0:? 'i' (layout( location=3) out 2-component vector of int)
96 0:13 i: direct index for structure ( temp 2-component vector of int)
97 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
101 0:13 move second child to first child ( temp 2-component vector of float)
102 0:? 'v' (layout( location=4) out 2-component vector of float)
103 0:13 v: direct index for structure ( temp 2-component vector of float)
104 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
107 0:13 move second child to first child ( temp 2-component vector of int)
108 0:? 'i' (layout( location=5) out 2-component vector of int)
109 0:13 i: direct index for structure ( temp 2-component vector of int)
110 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
114 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
115 0:? 'input' (layout( location=0) in 4-component vector of float)
116 0:? 'out1' (layout( location=1) out 4-component vector of float)
117 0:? 'v' (layout( location=2) out 2-component vector of float)
118 0:? 'i' (layout( location=3) out 2-component vector of int)
119 0:? 'v' (layout( location=4) out 2-component vector of float)
120 0:? 'i' (layout( location=5) out 2-component vector of int)
123 Linked fragment stage:
127 gl_FragCoord origin is upper left
129 0:7 Function Definition: fun(struct-OutParam-vf2-vi21; ( temp void)
130 0:7 Function Parameters:
131 0:7 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
133 0:8 move second child to first child ( temp 2-component vector of float)
134 0:8 v: direct index for structure ( temp 2-component vector of float)
135 0:8 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
141 0:9 move second child to first child ( temp 2-component vector of int)
142 0:9 i: direct index for structure ( temp 2-component vector of int)
143 0:9 'op' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
149 0:13 Function Definition: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float)
150 0:13 Function Parameters:
151 0:13 'input' ( in 4-component vector of float)
152 0:13 'out1' ( out 4-component vector of float)
153 0:13 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
154 0:13 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
156 0:14 move second child to first child ( temp 4-component vector of float)
157 0:14 'out1' ( out 4-component vector of float)
158 0:14 'input' ( in 4-component vector of float)
159 0:15 move second child to first child ( temp 2-component vector of float)
160 0:15 v: direct index for structure ( temp 2-component vector of float)
161 0:15 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
167 0:16 move second child to first child ( temp 2-component vector of int)
168 0:16 i: direct index for structure ( temp 2-component vector of int)
169 0:16 'out2' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
175 0:18 move second child to first child ( temp 2-component vector of float)
176 0:18 v: direct index for structure ( temp 2-component vector of float)
177 0:18 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
183 0:19 move second child to first child ( temp 2-component vector of int)
184 0:19 i: direct index for structure ( temp 2-component vector of int)
185 0:19 'local' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
191 0:20 Function Call: fun(struct-OutParam-vf2-vi21; ( temp void)
192 0:20 'out3' ( out structure{ temp 2-component vector of float v, temp 2-component vector of int i})
193 0:22 Branch: Return with expression
194 0:22 'out1' ( out 4-component vector of float)
195 0:13 Function Definition: PixelShaderFunction( ( temp void)
196 0:13 Function Parameters:
198 0:13 move second child to first child ( temp 4-component vector of float)
199 0:? 'input' ( temp 4-component vector of float)
200 0:? 'input' (layout( location=0) in 4-component vector of float)
201 0:13 move second child to first child ( temp 4-component vector of float)
202 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
203 0:13 Function Call: @PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21; ( temp 4-component vector of float)
204 0:? 'input' ( temp 4-component vector of float)
205 0:? 'out1' ( temp 4-component vector of float)
206 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
207 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
208 0:13 move second child to first child ( temp 4-component vector of float)
209 0:? 'out1' (layout( location=1) out 4-component vector of float)
210 0:? 'out1' ( temp 4-component vector of float)
212 0:13 move second child to first child ( temp 2-component vector of float)
213 0:? 'v' (layout( location=2) out 2-component vector of float)
214 0:13 v: direct index for structure ( temp 2-component vector of float)
215 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
218 0:13 move second child to first child ( temp 2-component vector of int)
219 0:? 'i' (layout( location=3) out 2-component vector of int)
220 0:13 i: direct index for structure ( temp 2-component vector of int)
221 0:? 'out2' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
225 0:13 move second child to first child ( temp 2-component vector of float)
226 0:? 'v' (layout( location=4) out 2-component vector of float)
227 0:13 v: direct index for structure ( temp 2-component vector of float)
228 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
231 0:13 move second child to first child ( temp 2-component vector of int)
232 0:? 'i' (layout( location=5) out 2-component vector of int)
233 0:13 i: direct index for structure ( temp 2-component vector of int)
234 0:? 'out3' ( temp structure{ temp 2-component vector of float v, temp 2-component vector of int i})
238 0:? '@entryPointOutput' (layout( location=0) out 4-component vector of float)
239 0:? 'input' (layout( location=0) in 4-component vector of float)
240 0:? 'out1' (layout( location=1) out 4-component vector of float)
241 0:? 'v' (layout( location=2) out 2-component vector of float)
242 0:? 'i' (layout( location=3) out 2-component vector of int)
243 0:? 'v' (layout( location=4) out 2-component vector of float)
244 0:? 'i' (layout( location=5) out 2-component vector of int)
246 // Module Version 10000
247 // Generated by (magic number): 80001
248 // Id's are bound by 89
251 1: ExtInstImport "GLSL.std.450"
252 MemoryModel Logical GLSL450
253 EntryPoint Fragment 4 "PixelShaderFunction" 57 60 73 76 80 83 86
254 ExecutionMode 4 OriginUpperLeft
255 Name 4 "PixelShaderFunction"
257 MemberName 10(OutParam) 0 "v"
258 MemberName 10(OutParam) 1 "i"
259 Name 14 "fun(struct-OutParam-vf2-vi21;"
261 Name 23 "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;"
270 Name 60 "@entryPointOutput"
283 Decorate 57(input) Location 0
284 Decorate 60(@entryPointOutput) Location 0
285 Decorate 73(out1) Location 1
286 Decorate 76(v) Location 2
287 Decorate 80(i) Location 3
288 Decorate 83(v) Location 4
289 Decorate 86(i) Location 5
293 7: TypeVector 6(float) 2
295 9: TypeVector 8(int) 2
296 10(OutParam): TypeStruct 7(fvec2) 9(ivec2)
297 11: TypePointer Function 10(OutParam)
298 12: TypeFunction 2 11(ptr)
299 16: TypeVector 6(float) 4
300 17: TypePointer Function 16(fvec4)
301 18: TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr)
302 25: 8(int) Constant 0
303 26: 6(float) Constant 1053609165
304 27: 7(fvec2) ConstantComposite 26 26
305 28: TypePointer Function 7(fvec2)
306 30: 8(int) Constant 1
307 31: 8(int) Constant 7
308 32: 9(ivec2) ConstantComposite 31 31
309 33: TypePointer Function 9(ivec2)
310 36: 6(float) Constant 1073741824
311 37: 7(fvec2) ConstantComposite 36 36
312 39: 8(int) Constant 3
313 40: 9(ivec2) ConstantComposite 39 39
314 43: 6(float) Constant 1094713344
315 44: 7(fvec2) ConstantComposite 43 43
316 46: 8(int) Constant 13
317 47: 9(ivec2) ConstantComposite 46 46
318 56: TypePointer Input 16(fvec4)
319 57(input): 56(ptr) Variable Input
320 59: TypePointer Output 16(fvec4)
321 60(@entryPointOutput): 59(ptr) Variable Output
322 73(out1): 59(ptr) Variable Output
323 75: TypePointer Output 7(fvec2)
324 76(v): 75(ptr) Variable Output
325 79: TypePointer Output 9(ivec2)
326 80(i): 79(ptr) Variable Output
327 83(v): 75(ptr) Variable Output
328 86(i): 79(ptr) Variable Output
329 4(PixelShaderFunction): 2 Function None 3
331 55(input): 17(ptr) Variable Function
332 61(out1): 17(ptr) Variable Function
333 62(out2): 11(ptr) Variable Function
334 63(out3): 11(ptr) Variable Function
335 64(param): 17(ptr) Variable Function
336 66(param): 17(ptr) Variable Function
337 67(param): 11(ptr) Variable Function
338 68(param): 11(ptr) Variable Function
339 58: 16(fvec4) Load 57(input)
341 65: 16(fvec4) Load 55(input)
343 69: 16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param)
344 70: 16(fvec4) Load 66(param)
346 71:10(OutParam) Load 67(param)
348 72:10(OutParam) Load 68(param)
350 Store 60(@entryPointOutput) 69
351 74: 16(fvec4) Load 61(out1)
353 77: 28(ptr) AccessChain 62(out2) 25
356 81: 33(ptr) AccessChain 62(out2) 30
359 84: 28(ptr) AccessChain 63(out3) 25
362 87: 33(ptr) AccessChain 63(out3) 30
367 14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12
368 13(op): 11(ptr) FunctionParameter
370 29: 28(ptr) AccessChain 13(op) 25
372 34: 33(ptr) AccessChain 13(op) 30
376 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;): 16(fvec4) Function None 18
377 19(input): 17(ptr) FunctionParameter
378 20(out1): 17(ptr) FunctionParameter
379 21(out2): 11(ptr) FunctionParameter
380 22(out3): 11(ptr) FunctionParameter
382 42(local): 11(ptr) Variable Function
383 49(param): 11(ptr) Variable Function
384 35: 16(fvec4) Load 19(input)
386 38: 28(ptr) AccessChain 21(out2) 25
388 41: 33(ptr) AccessChain 21(out2) 30
390 45: 28(ptr) AccessChain 42(local) 25
392 48: 33(ptr) AccessChain 42(local) 30
394 50: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param)
395 51:10(OutParam) Load 49(param)
397 52: 16(fvec4) Load 20(out1)