1 hlsl.array.flatten.frag
3 gl_FragCoord origin is upper left
5 0:17 Function Definition: TestFn1( ( temp 4-component vector of float)
6 0:17 Function Parameters:
8 0:18 Branch: Return with expression
9 0:18 texture ( temp 4-component vector of float)
10 0:18 Construct combined texture-sampler ( temp sampler1D)
11 0:? 'g_tex[1]' ( uniform texture1D)
12 0:? 'g_samp[1]' ( uniform sampler)
15 0:22 Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
16 0:22 Function Parameters:
17 0:22 'l_tex' ( in 3-element array of texture1D)
18 0:22 'l_samp' ( in 3-element array of sampler)
20 0:23 Branch: Return with expression
21 0:23 texture ( temp 4-component vector of float)
22 0:23 Construct combined texture-sampler ( temp sampler1D)
23 0:23 direct index ( temp texture1D)
24 0:23 'l_tex' ( in 3-element array of texture1D)
27 0:23 direct index ( temp sampler)
28 0:23 'l_samp' ( in 3-element array of sampler)
34 0:26 move second child to first child ( temp 5-element array of int)
35 0:26 'not_flattened_a' ( global 5-element array of int)
42 0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
43 0:31 Function Parameters:
44 0:31 'ps_output' ( out structure{ temp 4-component vector of float color})
48 0:33 move second child to first child ( temp sampler)
49 0:33 direct index ( temp sampler)
50 0:33 'local_sampler_array' ( temp 3-element array of sampler)
53 0:? 'g_samp[0]' ( uniform sampler)
54 0:33 move second child to first child ( temp sampler)
55 0:33 direct index ( temp sampler)
56 0:33 'local_sampler_array' ( temp 3-element array of sampler)
59 0:? 'g_samp[1]' ( uniform sampler)
60 0:33 move second child to first child ( temp sampler)
61 0:33 direct index ( temp sampler)
62 0:33 'local_sampler_array' ( temp 3-element array of sampler)
65 0:? 'g_samp[2]' ( uniform sampler)
68 0:34 move second child to first child ( temp texture1D)
69 0:34 direct index ( temp texture1D)
70 0:34 'local_texture_array' ( temp 3-element array of texture1D)
73 0:? 'g_tex[0]' ( uniform texture1D)
74 0:34 move second child to first child ( temp texture1D)
75 0:34 direct index ( temp texture1D)
76 0:34 'local_texture_array' ( temp 3-element array of texture1D)
79 0:? 'g_tex[1]' ( uniform texture1D)
80 0:34 move second child to first child ( temp texture1D)
81 0:34 direct index ( temp texture1D)
82 0:34 'local_texture_array' ( temp 3-element array of texture1D)
85 0:? 'g_tex[2]' ( uniform texture1D)
87 0:35 move second child to first child ( temp 4-element array of float)
88 0:35 'local_float_array' ( temp 4-element array of float)
89 0:35 g_floats: direct index for structure ( uniform 4-element array of float)
90 0:35 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats})
93 0:37 move second child to first child ( temp 4-component vector of float)
94 0:37 color: direct index for structure ( temp 4-component vector of float)
95 0:37 'ps_output' ( out structure{ temp 4-component vector of float color})
98 0:37 add ( temp 4-component vector of float)
99 0:37 Function Call: TestFn1( ( temp 4-component vector of float)
100 0:37 Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
101 0:37 Comma ( temp 3-element array of texture1D)
103 0:37 move second child to first child ( temp texture1D)
104 0:37 direct index ( temp texture1D)
105 0:37 'aggShadow' ( temp 3-element array of texture1D)
108 0:? 'g_tex[0]' ( uniform texture1D)
109 0:37 move second child to first child ( temp texture1D)
110 0:37 direct index ( temp texture1D)
111 0:37 'aggShadow' ( temp 3-element array of texture1D)
114 0:? 'g_tex[1]' ( uniform texture1D)
115 0:37 move second child to first child ( temp texture1D)
116 0:37 direct index ( temp texture1D)
117 0:37 'aggShadow' ( temp 3-element array of texture1D)
120 0:? 'g_tex[2]' ( uniform texture1D)
121 0:37 'aggShadow' ( temp 3-element array of texture1D)
122 0:37 Comma ( temp 3-element array of sampler)
124 0:37 move second child to first child ( temp sampler)
125 0:37 direct index ( temp sampler)
126 0:37 'aggShadow' ( temp 3-element array of sampler)
129 0:? 'g_samp[0]' ( uniform sampler)
130 0:37 move second child to first child ( temp sampler)
131 0:37 direct index ( temp sampler)
132 0:37 'aggShadow' ( temp 3-element array of sampler)
135 0:? 'g_samp[1]' ( uniform sampler)
136 0:37 move second child to first child ( temp sampler)
137 0:37 direct index ( temp sampler)
138 0:37 'aggShadow' ( temp 3-element array of sampler)
141 0:? 'g_samp[2]' ( uniform sampler)
142 0:37 'aggShadow' ( temp 3-element array of sampler)
143 0:31 Function Definition: main( ( temp void)
144 0:31 Function Parameters:
146 0:31 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
147 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color})
149 0:31 move second child to first child ( temp 4-component vector of float)
150 0:? 'color' (layout( location=0) out 4-component vector of float)
151 0:31 color: direct index for structure ( temp 4-component vector of float)
152 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color})
156 0:? 'g_tex[0]' ( uniform texture1D)
157 0:? 'g_tex[1]' ( uniform texture1D)
158 0:? 'g_tex[2]' ( uniform texture1D)
159 0:? 'g_tex_explicit[0]' (layout( binding=1) uniform texture1D)
160 0:? 'g_tex_explicit[1]' (layout( binding=2) uniform texture1D)
161 0:? 'g_tex_explicit[2]' (layout( binding=3) uniform texture1D)
162 0:? 'g_samp[0]' ( uniform sampler)
163 0:? 'g_samp[1]' ( uniform sampler)
164 0:? 'g_samp[2]' ( uniform sampler)
165 0:? 'g_samp_explicit[0]' (layout( binding=5) uniform sampler)
166 0:? 'g_samp_explicit[1]' (layout( binding=6) uniform sampler)
167 0:? 'g_samp_explicit[2]' (layout( binding=7) uniform sampler)
168 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats})
169 0:? 'not_flattened_a' ( global 5-element array of int)
170 0:? 'color' (layout( location=0) out 4-component vector of float)
173 Linked fragment stage:
177 gl_FragCoord origin is upper left
179 0:17 Function Definition: TestFn1( ( temp 4-component vector of float)
180 0:17 Function Parameters:
182 0:18 Branch: Return with expression
183 0:18 texture ( temp 4-component vector of float)
184 0:18 Construct combined texture-sampler ( temp sampler1D)
185 0:? 'g_tex[1]' ( uniform texture1D)
186 0:? 'g_samp[1]' ( uniform sampler)
189 0:22 Function Definition: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
190 0:22 Function Parameters:
191 0:22 'l_tex' ( in 3-element array of texture1D)
192 0:22 'l_samp' ( in 3-element array of sampler)
194 0:23 Branch: Return with expression
195 0:23 texture ( temp 4-component vector of float)
196 0:23 Construct combined texture-sampler ( temp sampler1D)
197 0:23 direct index ( temp texture1D)
198 0:23 'l_tex' ( in 3-element array of texture1D)
201 0:23 direct index ( temp sampler)
202 0:23 'l_samp' ( in 3-element array of sampler)
208 0:26 move second child to first child ( temp 5-element array of int)
209 0:26 'not_flattened_a' ( global 5-element array of int)
216 0:31 Function Definition: @main(struct-PS_OUTPUT-vf41; ( temp void)
217 0:31 Function Parameters:
218 0:31 'ps_output' ( out structure{ temp 4-component vector of float color})
222 0:33 move second child to first child ( temp sampler)
223 0:33 direct index ( temp sampler)
224 0:33 'local_sampler_array' ( temp 3-element array of sampler)
227 0:? 'g_samp[0]' ( uniform sampler)
228 0:33 move second child to first child ( temp sampler)
229 0:33 direct index ( temp sampler)
230 0:33 'local_sampler_array' ( temp 3-element array of sampler)
233 0:? 'g_samp[1]' ( uniform sampler)
234 0:33 move second child to first child ( temp sampler)
235 0:33 direct index ( temp sampler)
236 0:33 'local_sampler_array' ( temp 3-element array of sampler)
239 0:? 'g_samp[2]' ( uniform sampler)
242 0:34 move second child to first child ( temp texture1D)
243 0:34 direct index ( temp texture1D)
244 0:34 'local_texture_array' ( temp 3-element array of texture1D)
247 0:? 'g_tex[0]' ( uniform texture1D)
248 0:34 move second child to first child ( temp texture1D)
249 0:34 direct index ( temp texture1D)
250 0:34 'local_texture_array' ( temp 3-element array of texture1D)
253 0:? 'g_tex[1]' ( uniform texture1D)
254 0:34 move second child to first child ( temp texture1D)
255 0:34 direct index ( temp texture1D)
256 0:34 'local_texture_array' ( temp 3-element array of texture1D)
259 0:? 'g_tex[2]' ( uniform texture1D)
261 0:35 move second child to first child ( temp 4-element array of float)
262 0:35 'local_float_array' ( temp 4-element array of float)
263 0:35 g_floats: direct index for structure ( uniform 4-element array of float)
264 0:35 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats})
267 0:37 move second child to first child ( temp 4-component vector of float)
268 0:37 color: direct index for structure ( temp 4-component vector of float)
269 0:37 'ps_output' ( out structure{ temp 4-component vector of float color})
272 0:37 add ( temp 4-component vector of float)
273 0:37 Function Call: TestFn1( ( temp 4-component vector of float)
274 0:37 Function Call: TestFn2(t11[3];p1[3]; ( temp 4-component vector of float)
275 0:37 Comma ( temp 3-element array of texture1D)
277 0:37 move second child to first child ( temp texture1D)
278 0:37 direct index ( temp texture1D)
279 0:37 'aggShadow' ( temp 3-element array of texture1D)
282 0:? 'g_tex[0]' ( uniform texture1D)
283 0:37 move second child to first child ( temp texture1D)
284 0:37 direct index ( temp texture1D)
285 0:37 'aggShadow' ( temp 3-element array of texture1D)
288 0:? 'g_tex[1]' ( uniform texture1D)
289 0:37 move second child to first child ( temp texture1D)
290 0:37 direct index ( temp texture1D)
291 0:37 'aggShadow' ( temp 3-element array of texture1D)
294 0:? 'g_tex[2]' ( uniform texture1D)
295 0:37 'aggShadow' ( temp 3-element array of texture1D)
296 0:37 Comma ( temp 3-element array of sampler)
298 0:37 move second child to first child ( temp sampler)
299 0:37 direct index ( temp sampler)
300 0:37 'aggShadow' ( temp 3-element array of sampler)
303 0:? 'g_samp[0]' ( uniform sampler)
304 0:37 move second child to first child ( temp sampler)
305 0:37 direct index ( temp sampler)
306 0:37 'aggShadow' ( temp 3-element array of sampler)
309 0:? 'g_samp[1]' ( uniform sampler)
310 0:37 move second child to first child ( temp sampler)
311 0:37 direct index ( temp sampler)
312 0:37 'aggShadow' ( temp 3-element array of sampler)
315 0:? 'g_samp[2]' ( uniform sampler)
316 0:37 'aggShadow' ( temp 3-element array of sampler)
317 0:31 Function Definition: main( ( temp void)
318 0:31 Function Parameters:
320 0:31 Function Call: @main(struct-PS_OUTPUT-vf41; ( temp void)
321 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color})
323 0:31 move second child to first child ( temp 4-component vector of float)
324 0:? 'color' (layout( location=0) out 4-component vector of float)
325 0:31 color: direct index for structure ( temp 4-component vector of float)
326 0:? 'ps_output' ( temp structure{ temp 4-component vector of float color})
330 0:? 'g_tex[0]' ( uniform texture1D)
331 0:? 'g_tex[1]' ( uniform texture1D)
332 0:? 'g_tex[2]' ( uniform texture1D)
333 0:? 'g_tex_explicit[0]' (layout( binding=1) uniform texture1D)
334 0:? 'g_tex_explicit[1]' (layout( binding=2) uniform texture1D)
335 0:? 'g_tex_explicit[2]' (layout( binding=3) uniform texture1D)
336 0:? 'g_samp[0]' ( uniform sampler)
337 0:? 'g_samp[1]' ( uniform sampler)
338 0:? 'g_samp[2]' ( uniform sampler)
339 0:? 'g_samp_explicit[0]' (layout( binding=5) uniform sampler)
340 0:? 'g_samp_explicit[1]' (layout( binding=6) uniform sampler)
341 0:? 'g_samp_explicit[2]' (layout( binding=7) uniform sampler)
342 0:? 'anon@0' (layout( row_major std140) uniform block{ uniform 4-element array of 3X3 matrix of float g_mats, layout( binding=10) uniform 4-element array of 3X3 matrix of float g_mats_explicit, uniform 4-element array of float g_floats})
343 0:? 'not_flattened_a' ( global 5-element array of int)
344 0:? 'color' (layout( location=0) out 4-component vector of float)
346 // Module Version 10000
347 // Generated by (magic number): 80001
348 // Id's are bound by 137
352 1: ExtInstImport "GLSL.std.450"
353 MemoryModel Logical GLSL450
354 EntryPoint Fragment 4 "main" 128
355 ExecutionMode 4 OriginUpperLeft
358 Name 22 "TestFn2(t11[3];p1[3];"
362 MemberName 24(PS_OUTPUT) 0 "color"
363 Name 28 "@main(struct-PS_OUTPUT-vf41;"
365 Name 34 "not_flattened_a"
368 Name 61 "local_sampler_array"
371 Name 71 "local_texture_array"
374 Name 83 "local_float_array"
376 MemberName 89($Global) 0 "g_mats"
377 MemberName 89($Global) 1 "g_mats_explicit"
378 MemberName 89($Global) 2 "g_floats"
385 Name 131 "g_tex_explicit[0]"
386 Name 132 "g_tex_explicit[1]"
387 Name 133 "g_tex_explicit[2]"
388 Name 134 "g_samp_explicit[0]"
389 Name 135 "g_samp_explicit[1]"
390 Name 136 "g_samp_explicit[2]"
391 Decorate 42(g_tex[1]) DescriptorSet 0
392 Decorate 45(g_samp[1]) DescriptorSet 0
393 Decorate 63(g_samp[0]) DescriptorSet 0
394 Decorate 68(g_samp[2]) DescriptorSet 0
395 Decorate 72(g_tex[0]) DescriptorSet 0
396 Decorate 77(g_tex[2]) DescriptorSet 0
397 Decorate 86 ArrayStride 48
398 Decorate 87 ArrayStride 48
399 Decorate 88 ArrayStride 16
400 MemberDecorate 89($Global) 0 RowMajor
401 MemberDecorate 89($Global) 0 Offset 0
402 MemberDecorate 89($Global) 0 MatrixStride 16
403 MemberDecorate 89($Global) 1 RowMajor
404 MemberDecorate 89($Global) 1 Offset 192
405 MemberDecorate 89($Global) 1 MatrixStride 16
406 MemberDecorate 89($Global) 2 Offset 384
407 Decorate 89($Global) Block
408 Decorate 91 DescriptorSet 0
409 Decorate 128(color) Location 0
410 Decorate 131(g_tex_explicit[0]) DescriptorSet 0
411 Decorate 131(g_tex_explicit[0]) Binding 1
412 Decorate 132(g_tex_explicit[1]) DescriptorSet 0
413 Decorate 132(g_tex_explicit[1]) Binding 2
414 Decorate 133(g_tex_explicit[2]) DescriptorSet 0
415 Decorate 133(g_tex_explicit[2]) Binding 3
416 Decorate 134(g_samp_explicit[0]) DescriptorSet 0
417 Decorate 134(g_samp_explicit[0]) Binding 5
418 Decorate 135(g_samp_explicit[1]) DescriptorSet 0
419 Decorate 135(g_samp_explicit[1]) Binding 6
420 Decorate 136(g_samp_explicit[2]) DescriptorSet 0
421 Decorate 136(g_samp_explicit[2]) Binding 7
425 7: TypeVector 6(float) 4
426 8: TypeFunction 7(fvec4)
427 11: TypeImage 6(float) 1D sampled format:Unknown
429 13: 12(int) Constant 3
431 15: TypePointer UniformConstant 14
434 18: TypePointer UniformConstant 17
435 19: TypeFunction 7(fvec4) 15(ptr) 18(ptr)
436 24(PS_OUTPUT): TypeStruct 7(fvec4)
437 25: TypePointer Function 24(PS_OUTPUT)
438 26: TypeFunction 2 25(ptr)
440 31: 12(int) Constant 5
441 32: TypeArray 30(int) 31
442 33: TypePointer Private 32
443 34(not_flattened_a): 33(ptr) Variable Private
444 35: 30(int) Constant 1
445 36: 30(int) Constant 2
446 37: 30(int) Constant 3
447 38: 30(int) Constant 4
448 39: 30(int) Constant 5
449 40: 32 ConstantComposite 35 36 37 38 39
450 41: TypePointer UniformConstant 11
451 42(g_tex[1]): 41(ptr) Variable UniformConstant
452 44: TypePointer UniformConstant 16
453 45(g_samp[1]): 44(ptr) Variable UniformConstant
454 47: TypeSampledImage 11
455 49: 6(float) Constant 1045220557
456 61(local_sampler_array): 18(ptr) Variable UniformConstant
457 62: 30(int) Constant 0
458 63(g_samp[0]): 44(ptr) Variable UniformConstant
459 68(g_samp[2]): 44(ptr) Variable UniformConstant
460 71(local_texture_array): 15(ptr) Variable UniformConstant
461 72(g_tex[0]): 41(ptr) Variable UniformConstant
462 77(g_tex[2]): 41(ptr) Variable UniformConstant
463 80: 12(int) Constant 4
464 81: TypeArray 6(float) 80
465 82: TypePointer Function 81
466 84: TypeVector 6(float) 3
467 85: TypeMatrix 84(fvec3) 3
470 88: TypeArray 6(float) 80
471 89($Global): TypeStruct 86 87 88
472 90: TypePointer Uniform 89($Global)
473 91: 90(ptr) Variable Uniform
474 92: TypePointer Uniform 88
475 96: TypePointer Function 6(float)
476 105(aggShadow): 15(ptr) Variable UniformConstant
477 112(aggShadow): 18(ptr) Variable UniformConstant
478 121: TypePointer Function 7(fvec4)
479 127: TypePointer Output 7(fvec4)
480 128(color): 127(ptr) Variable Output
481 131(g_tex_explicit[0]): 41(ptr) Variable UniformConstant
482 132(g_tex_explicit[1]): 41(ptr) Variable UniformConstant
483 133(g_tex_explicit[2]): 41(ptr) Variable UniformConstant
484 134(g_samp_explicit[0]): 44(ptr) Variable UniformConstant
485 135(g_samp_explicit[1]): 44(ptr) Variable UniformConstant
486 136(g_samp_explicit[2]): 44(ptr) Variable UniformConstant
487 4(main): 2 Function None 3
489 123(ps_output): 25(ptr) Variable Function
490 124(param): 25(ptr) Variable Function
491 Store 34(not_flattened_a) 40
492 125: 2 FunctionCall 28(@main(struct-PS_OUTPUT-vf41;) 124(param)
493 126:24(PS_OUTPUT) Load 124(param)
494 Store 123(ps_output) 126
495 129: 121(ptr) AccessChain 123(ps_output) 62
496 130: 7(fvec4) Load 129
500 9(TestFn1(): 7(fvec4) Function None 8
502 43: 11 Load 42(g_tex[1])
503 46: 16 Load 45(g_samp[1])
504 48: 47 SampledImage 43 46
505 50: 7(fvec4) ImageSampleImplicitLod 48 49
508 22(TestFn2(t11[3];p1[3];): 7(fvec4) Function None 19
509 20(l_tex): 15(ptr) FunctionParameter
510 21(l_samp): 18(ptr) FunctionParameter
512 53: 41(ptr) AccessChain 20(l_tex) 36
514 55: 44(ptr) AccessChain 21(l_samp) 36
516 57: 47 SampledImage 54 56
517 58: 7(fvec4) ImageSampleImplicitLod 57 49
520 28(@main(struct-PS_OUTPUT-vf41;): 2 Function None 26
521 27(ps_output): 25(ptr) FunctionParameter
523 83(local_float_array): 82(ptr) Variable Function
524 64: 16 Load 63(g_samp[0])
525 65: 44(ptr) AccessChain 61(local_sampler_array) 62
527 66: 16 Load 45(g_samp[1])
528 67: 44(ptr) AccessChain 61(local_sampler_array) 35
530 69: 16 Load 68(g_samp[2])
531 70: 44(ptr) AccessChain 61(local_sampler_array) 36
533 73: 11 Load 72(g_tex[0])
534 74: 41(ptr) AccessChain 71(local_texture_array) 62
536 75: 11 Load 42(g_tex[1])
537 76: 41(ptr) AccessChain 71(local_texture_array) 35
539 78: 11 Load 77(g_tex[2])
540 79: 41(ptr) AccessChain 71(local_texture_array) 36
542 93: 92(ptr) AccessChain 91 36
544 95: 6(float) CompositeExtract 94 0
545 97: 96(ptr) AccessChain 83(local_float_array) 62
547 98: 6(float) CompositeExtract 94 1
548 99: 96(ptr) AccessChain 83(local_float_array) 35
550 100: 6(float) CompositeExtract 94 2
551 101: 96(ptr) AccessChain 83(local_float_array) 36
553 102: 6(float) CompositeExtract 94 3
554 103: 96(ptr) AccessChain 83(local_float_array) 37
556 104: 7(fvec4) FunctionCall 9(TestFn1()
557 106: 11 Load 72(g_tex[0])
558 107: 41(ptr) AccessChain 105(aggShadow) 62
560 108: 11 Load 42(g_tex[1])
561 109: 41(ptr) AccessChain 105(aggShadow) 35
563 110: 11 Load 77(g_tex[2])
564 111: 41(ptr) AccessChain 105(aggShadow) 36
566 113: 16 Load 63(g_samp[0])
567 114: 44(ptr) AccessChain 112(aggShadow) 62
569 115: 16 Load 45(g_samp[1])
570 116: 44(ptr) AccessChain 112(aggShadow) 35
572 117: 16 Load 68(g_samp[2])
573 118: 44(ptr) AccessChain 112(aggShadow) 36
575 119: 7(fvec4) FunctionCall 22(TestFn2(t11[3];p1[3];) 105(aggShadow) 112(aggShadow)
576 120: 7(fvec4) FAdd 104 119
577 122: 121(ptr) AccessChain 27(ps_output) 62