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:? 'out2.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:? 'out2.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:? 'out3.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:? 'out3.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:? 'out2.v' (layout( location=2) out 2-component vector of float)
118 0:? 'out2.i' (layout( location=3) out 2-component vector of int)
119 0:? 'out3.v' (layout( location=4) out 2-component vector of float)
120 0:? 'out3.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:? 'out2.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:? 'out2.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:? 'out3.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:? 'out3.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:? 'out2.v' (layout( location=2) out 2-component vector of float)
242 0:? 'out2.i' (layout( location=3) out 2-component vector of int)
243 0:? 'out3.v' (layout( location=4) out 2-component vector of float)
244 0:? 'out3.i' (layout( location=5) out 2-component vector of int)
246 // Module Version 10000
247 // Generated by (magic number): 8000b
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
256 Name 4 "PixelShaderFunction"
258 MemberName 10(OutParam) 0 "v"
259 MemberName 10(OutParam) 1 "i"
260 Name 14 "fun(struct-OutParam-vf2-vi21;"
262 Name 23 "@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;"
271 Name 60 "@entryPointOutput"
284 Decorate 57(input) Location 0
285 Decorate 60(@entryPointOutput) Location 0
286 Decorate 73(out1) Location 1
287 Decorate 76(out2.v) Location 2
288 Decorate 80(out2.i) Location 3
289 Decorate 83(out3.v) Location 4
290 Decorate 86(out3.i) Location 5
294 7: TypeVector 6(float) 2
296 9: TypeVector 8(int) 2
297 10(OutParam): TypeStruct 7(fvec2) 9(ivec2)
298 11: TypePointer Function 10(OutParam)
299 12: TypeFunction 2 11(ptr)
300 16: TypeVector 6(float) 4
301 17: TypePointer Function 16(fvec4)
302 18: TypeFunction 16(fvec4) 17(ptr) 17(ptr) 11(ptr) 11(ptr)
303 25: 8(int) Constant 0
304 26: 6(float) Constant 1053609165
305 27: 7(fvec2) ConstantComposite 26 26
306 28: TypePointer Function 7(fvec2)
307 30: 8(int) Constant 1
308 31: 8(int) Constant 7
309 32: 9(ivec2) ConstantComposite 31 31
310 33: TypePointer Function 9(ivec2)
311 36: 6(float) Constant 1073741824
312 37: 7(fvec2) ConstantComposite 36 36
313 39: 8(int) Constant 3
314 40: 9(ivec2) ConstantComposite 39 39
315 43: 6(float) Constant 1094713344
316 44: 7(fvec2) ConstantComposite 43 43
317 46: 8(int) Constant 13
318 47: 9(ivec2) ConstantComposite 46 46
319 56: TypePointer Input 16(fvec4)
320 57(input): 56(ptr) Variable Input
321 59: TypePointer Output 16(fvec4)
322 60(@entryPointOutput): 59(ptr) Variable Output
323 73(out1): 59(ptr) Variable Output
324 75: TypePointer Output 7(fvec2)
325 76(out2.v): 75(ptr) Variable Output
326 79: TypePointer Output 9(ivec2)
327 80(out2.i): 79(ptr) Variable Output
328 83(out3.v): 75(ptr) Variable Output
329 86(out3.i): 79(ptr) Variable Output
330 4(PixelShaderFunction): 2 Function None 3
332 55(input): 17(ptr) Variable Function
333 61(out1): 17(ptr) Variable Function
334 62(out2): 11(ptr) Variable Function
335 63(out3): 11(ptr) Variable Function
336 64(param): 17(ptr) Variable Function
337 66(param): 17(ptr) Variable Function
338 67(param): 11(ptr) Variable Function
339 68(param): 11(ptr) Variable Function
340 58: 16(fvec4) Load 57(input)
342 65: 16(fvec4) Load 55(input)
344 69: 16(fvec4) FunctionCall 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;) 64(param) 66(param) 67(param) 68(param)
345 70: 16(fvec4) Load 66(param)
347 71:10(OutParam) Load 67(param)
349 72:10(OutParam) Load 68(param)
351 Store 60(@entryPointOutput) 69
352 74: 16(fvec4) Load 61(out1)
354 77: 28(ptr) AccessChain 62(out2) 25
357 81: 33(ptr) AccessChain 62(out2) 30
360 84: 28(ptr) AccessChain 63(out3) 25
363 87: 33(ptr) AccessChain 63(out3) 30
368 14(fun(struct-OutParam-vf2-vi21;): 2 Function None 12
369 13(op): 11(ptr) FunctionParameter
371 29: 28(ptr) AccessChain 13(op) 25
373 34: 33(ptr) AccessChain 13(op) 30
377 23(@PixelShaderFunction(vf4;vf4;struct-OutParam-vf2-vi21;struct-OutParam-vf2-vi21;): 16(fvec4) Function None 18
378 19(input): 17(ptr) FunctionParameter
379 20(out1): 17(ptr) FunctionParameter
380 21(out2): 11(ptr) FunctionParameter
381 22(out3): 11(ptr) FunctionParameter
383 42(local): 11(ptr) Variable Function
384 49(param): 11(ptr) Variable Function
385 35: 16(fvec4) Load 19(input)
387 38: 28(ptr) AccessChain 21(out2) 25
389 41: 33(ptr) AccessChain 21(out2) 30
391 45: 28(ptr) AccessChain 42(local) 25
393 48: 33(ptr) AccessChain 42(local) 30
395 50: 2 FunctionCall 14(fun(struct-OutParam-vf2-vi21;) 49(param)
396 51:10(OutParam) Load 49(param)
398 52: 16(fvec4) Load 20(out1)