1 hlsl.imagefetch-subvec4.comp
5 0:21 Function Definition: @main(vu3; ( temp void)
6 0:21 Function Parameters:
7 0:21 'tid' ( in 3-component vector of uint)
10 0:22 move second child to first child ( temp float)
11 0:22 'f' ( temp float)
14 0:23 add second child into first child ( temp float)
15 0:23 'f' ( temp float)
16 0:23 textureFetch ( temp float)
17 0:23 'i1D' (layout( binding=0) uniform texture1D)
18 0:23 direct index ( temp uint)
19 0:23 'tid' ( in 3-component vector of uint)
24 0:24 add second child into first child ( temp float)
25 0:24 'f' ( temp float)
26 0:24 textureFetch ( temp float)
27 0:24 'i2D' (layout( binding=1) uniform texture2D)
28 0:24 vector swizzle ( temp 2-component vector of uint)
29 0:24 'tid' ( in 3-component vector of uint)
37 0:25 add second child into first child ( temp float)
38 0:25 'f' ( temp float)
39 0:25 textureFetch ( temp float)
40 0:25 'i3D' (layout( binding=2) uniform texture3D)
41 0:25 'tid' ( in 3-component vector of uint)
44 0:26 add second child into first child ( temp float)
45 0:26 'f' ( temp float)
46 0:26 textureFetch ( temp float)
47 0:26 'i1DArray' (layout( binding=3) uniform texture1DArray)
48 0:26 vector swizzle ( temp 2-component vector of uint)
49 0:26 'tid' ( in 3-component vector of uint)
57 0:27 add second child into first child ( temp float)
58 0:27 'f' ( temp float)
59 0:27 textureFetch ( temp float)
60 0:27 'i2DArray' (layout( binding=4) uniform texture2DArray)
61 0:27 'tid' ( in 3-component vector of uint)
64 0:28 add second child into first child ( temp float)
65 0:28 'f' ( temp float)
66 0:28 Construct float ( temp float)
67 0:? textureFetch ( temp 4-component vector of float)
68 0:28 'i2DMS' (layout( binding=5) uniform texture2DMS)
69 0:28 Convert uint to int ( temp 2-component vector of int)
70 0:28 vector swizzle ( temp 2-component vector of uint)
71 0:28 'tid' ( in 3-component vector of uint)
79 0:29 add second child into first child ( temp float)
80 0:29 'f' ( temp float)
81 0:29 Construct float ( temp float)
82 0:? textureFetch ( temp 4-component vector of float)
83 0:29 'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
84 0:29 Convert uint to int ( temp 3-component vector of int)
85 0:29 'tid' ( in 3-component vector of uint)
89 0:31 move second child to first child ( temp int)
93 0:32 add second child into first child ( temp int)
95 0:32 textureFetch ( temp int)
96 0:32 'ii1D' (layout( binding=7) uniform itexture1D)
97 0:32 direct index ( temp uint)
98 0:32 'tid' ( in 3-component vector of uint)
103 0:33 add second child into first child ( temp int)
105 0:33 textureFetch ( temp int)
106 0:33 'ii2D' (layout( binding=8) uniform itexture2D)
107 0:33 vector swizzle ( temp 2-component vector of uint)
108 0:33 'tid' ( in 3-component vector of uint)
116 0:34 add second child into first child ( temp int)
118 0:34 textureFetch ( temp int)
119 0:34 'ii3D' (layout( binding=9) uniform itexture3D)
120 0:34 'tid' ( in 3-component vector of uint)
123 0:35 add second child into first child ( temp int)
125 0:35 textureFetch ( temp int)
126 0:35 'ii1DArray' (layout( binding=10) uniform itexture1DArray)
127 0:35 vector swizzle ( temp 2-component vector of uint)
128 0:35 'tid' ( in 3-component vector of uint)
136 0:36 add second child into first child ( temp int)
138 0:36 textureFetch ( temp int)
139 0:36 'ii2DArray' (layout( binding=11) uniform itexture2DArray)
140 0:36 'tid' ( in 3-component vector of uint)
143 0:37 add second child into first child ( temp int)
145 0:37 Construct int ( temp int)
146 0:? textureFetch ( temp 4-component vector of int)
147 0:37 'ii2DMS' (layout( binding=12) uniform itexture2DMS)
148 0:37 Convert uint to int ( temp 2-component vector of int)
149 0:37 vector swizzle ( temp 2-component vector of uint)
150 0:37 'tid' ( in 3-component vector of uint)
158 0:38 add second child into first child ( temp int)
160 0:38 Construct int ( temp int)
161 0:? textureFetch ( temp 4-component vector of int)
162 0:38 'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
163 0:38 Convert uint to int ( temp 3-component vector of int)
164 0:38 'tid' ( in 3-component vector of uint)
168 0:40 move second child to first child ( temp float)
169 0:40 'storeTemp' ( temp float)
170 0:40 add ( temp float)
171 0:40 'f' ( temp float)
172 0:40 Convert int to float ( temp float)
174 0:40 imageStore ( temp void)
175 0:40 'OUT' (layout( binding=0 r32f) uniform image3D)
176 0:40 'tid' ( in 3-component vector of uint)
177 0:40 'storeTemp' ( temp float)
178 0:40 'storeTemp' ( temp float)
179 0:21 Function Definition: main( ( temp void)
180 0:21 Function Parameters:
182 0:21 move second child to first child ( temp 3-component vector of uint)
183 0:? 'tid' ( temp 3-component vector of uint)
184 0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
185 0:21 Function Call: @main(vu3; ( temp void)
186 0:? 'tid' ( temp 3-component vector of uint)
188 0:? 'i1D' (layout( binding=0) uniform texture1D)
189 0:? 'i2D' (layout( binding=1) uniform texture2D)
190 0:? 'i3D' (layout( binding=2) uniform texture3D)
191 0:? 'i1DArray' (layout( binding=3) uniform texture1DArray)
192 0:? 'i2DArray' (layout( binding=4) uniform texture2DArray)
193 0:? 'i2DMS' (layout( binding=5) uniform texture2DMS)
194 0:? 'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
195 0:? 'ii1D' (layout( binding=7) uniform itexture1D)
196 0:? 'ii2D' (layout( binding=8) uniform itexture2D)
197 0:? 'ii3D' (layout( binding=9) uniform itexture3D)
198 0:? 'ii1DArray' (layout( binding=10) uniform itexture1DArray)
199 0:? 'ii2DArray' (layout( binding=11) uniform itexture2DArray)
200 0:? 'ii2DMS' (layout( binding=12) uniform itexture2DMS)
201 0:? 'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
202 0:? 'OUT' (layout( binding=0 r32f) uniform image3D)
203 0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
206 Linked compute stage:
210 local_size = (8, 8, 8)
212 0:21 Function Definition: @main(vu3; ( temp void)
213 0:21 Function Parameters:
214 0:21 'tid' ( in 3-component vector of uint)
217 0:22 move second child to first child ( temp float)
218 0:22 'f' ( temp float)
221 0:23 add second child into first child ( temp float)
222 0:23 'f' ( temp float)
223 0:23 textureFetch ( temp float)
224 0:23 'i1D' (layout( binding=0) uniform texture1D)
225 0:23 direct index ( temp uint)
226 0:23 'tid' ( in 3-component vector of uint)
231 0:24 add second child into first child ( temp float)
232 0:24 'f' ( temp float)
233 0:24 textureFetch ( temp float)
234 0:24 'i2D' (layout( binding=1) uniform texture2D)
235 0:24 vector swizzle ( temp 2-component vector of uint)
236 0:24 'tid' ( in 3-component vector of uint)
244 0:25 add second child into first child ( temp float)
245 0:25 'f' ( temp float)
246 0:25 textureFetch ( temp float)
247 0:25 'i3D' (layout( binding=2) uniform texture3D)
248 0:25 'tid' ( in 3-component vector of uint)
251 0:26 add second child into first child ( temp float)
252 0:26 'f' ( temp float)
253 0:26 textureFetch ( temp float)
254 0:26 'i1DArray' (layout( binding=3) uniform texture1DArray)
255 0:26 vector swizzle ( temp 2-component vector of uint)
256 0:26 'tid' ( in 3-component vector of uint)
264 0:27 add second child into first child ( temp float)
265 0:27 'f' ( temp float)
266 0:27 textureFetch ( temp float)
267 0:27 'i2DArray' (layout( binding=4) uniform texture2DArray)
268 0:27 'tid' ( in 3-component vector of uint)
271 0:28 add second child into first child ( temp float)
272 0:28 'f' ( temp float)
273 0:28 Construct float ( temp float)
274 0:? textureFetch ( temp 4-component vector of float)
275 0:28 'i2DMS' (layout( binding=5) uniform texture2DMS)
276 0:28 Convert uint to int ( temp 2-component vector of int)
277 0:28 vector swizzle ( temp 2-component vector of uint)
278 0:28 'tid' ( in 3-component vector of uint)
286 0:29 add second child into first child ( temp float)
287 0:29 'f' ( temp float)
288 0:29 Construct float ( temp float)
289 0:? textureFetch ( temp 4-component vector of float)
290 0:29 'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
291 0:29 Convert uint to int ( temp 3-component vector of int)
292 0:29 'tid' ( in 3-component vector of uint)
296 0:31 move second child to first child ( temp int)
300 0:32 add second child into first child ( temp int)
302 0:32 textureFetch ( temp int)
303 0:32 'ii1D' (layout( binding=7) uniform itexture1D)
304 0:32 direct index ( temp uint)
305 0:32 'tid' ( in 3-component vector of uint)
310 0:33 add second child into first child ( temp int)
312 0:33 textureFetch ( temp int)
313 0:33 'ii2D' (layout( binding=8) uniform itexture2D)
314 0:33 vector swizzle ( temp 2-component vector of uint)
315 0:33 'tid' ( in 3-component vector of uint)
323 0:34 add second child into first child ( temp int)
325 0:34 textureFetch ( temp int)
326 0:34 'ii3D' (layout( binding=9) uniform itexture3D)
327 0:34 'tid' ( in 3-component vector of uint)
330 0:35 add second child into first child ( temp int)
332 0:35 textureFetch ( temp int)
333 0:35 'ii1DArray' (layout( binding=10) uniform itexture1DArray)
334 0:35 vector swizzle ( temp 2-component vector of uint)
335 0:35 'tid' ( in 3-component vector of uint)
343 0:36 add second child into first child ( temp int)
345 0:36 textureFetch ( temp int)
346 0:36 'ii2DArray' (layout( binding=11) uniform itexture2DArray)
347 0:36 'tid' ( in 3-component vector of uint)
350 0:37 add second child into first child ( temp int)
352 0:37 Construct int ( temp int)
353 0:? textureFetch ( temp 4-component vector of int)
354 0:37 'ii2DMS' (layout( binding=12) uniform itexture2DMS)
355 0:37 Convert uint to int ( temp 2-component vector of int)
356 0:37 vector swizzle ( temp 2-component vector of uint)
357 0:37 'tid' ( in 3-component vector of uint)
365 0:38 add second child into first child ( temp int)
367 0:38 Construct int ( temp int)
368 0:? textureFetch ( temp 4-component vector of int)
369 0:38 'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
370 0:38 Convert uint to int ( temp 3-component vector of int)
371 0:38 'tid' ( in 3-component vector of uint)
375 0:40 move second child to first child ( temp float)
376 0:40 'storeTemp' ( temp float)
377 0:40 add ( temp float)
378 0:40 'f' ( temp float)
379 0:40 Convert int to float ( temp float)
381 0:40 imageStore ( temp void)
382 0:40 'OUT' (layout( binding=0 r32f) uniform image3D)
383 0:40 'tid' ( in 3-component vector of uint)
384 0:40 'storeTemp' ( temp float)
385 0:40 'storeTemp' ( temp float)
386 0:21 Function Definition: main( ( temp void)
387 0:21 Function Parameters:
389 0:21 move second child to first child ( temp 3-component vector of uint)
390 0:? 'tid' ( temp 3-component vector of uint)
391 0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
392 0:21 Function Call: @main(vu3; ( temp void)
393 0:? 'tid' ( temp 3-component vector of uint)
395 0:? 'i1D' (layout( binding=0) uniform texture1D)
396 0:? 'i2D' (layout( binding=1) uniform texture2D)
397 0:? 'i3D' (layout( binding=2) uniform texture3D)
398 0:? 'i1DArray' (layout( binding=3) uniform texture1DArray)
399 0:? 'i2DArray' (layout( binding=4) uniform texture2DArray)
400 0:? 'i2DMS' (layout( binding=5) uniform texture2DMS)
401 0:? 'i2DMSArray' (layout( binding=6) uniform texture2DMSArray)
402 0:? 'ii1D' (layout( binding=7) uniform itexture1D)
403 0:? 'ii2D' (layout( binding=8) uniform itexture2D)
404 0:? 'ii3D' (layout( binding=9) uniform itexture3D)
405 0:? 'ii1DArray' (layout( binding=10) uniform itexture1DArray)
406 0:? 'ii2DArray' (layout( binding=11) uniform itexture2DArray)
407 0:? 'ii2DMS' (layout( binding=12) uniform itexture2DMS)
408 0:? 'ii2DMSArray' (layout( binding=13) uniform itexture2DMSArray)
409 0:? 'OUT' (layout( binding=0 r32f) uniform image3D)
410 0:? 'tid' ( in 3-component vector of uint GlobalInvocationID)
412 // Module Version 10000
413 // Generated by (magic number): 8000a
414 // Id's are bound by 186
418 1: ExtInstImport "GLSL.std.450"
419 MemoryModel Logical GLSL450
420 EntryPoint GLCompute 4 "main" 181
421 ExecutionMode 4 LocalSize 8 8 8
441 Name 160 "ii2DMSArray"
447 Decorate 19(i1D) DescriptorSet 0
448 Decorate 19(i1D) Binding 0
449 Decorate 34(i2D) DescriptorSet 0
450 Decorate 34(i2D) Binding 1
451 Decorate 45(i3D) DescriptorSet 0
452 Decorate 45(i3D) Binding 2
453 Decorate 54(i1DArray) DescriptorSet 0
454 Decorate 54(i1DArray) Binding 3
455 Decorate 64(i2DArray) DescriptorSet 0
456 Decorate 64(i2DArray) Binding 4
457 Decorate 73(i2DMS) DescriptorSet 0
458 Decorate 73(i2DMS) Binding 5
459 Decorate 86(i2DMSArray) DescriptorSet 0
460 Decorate 86(i2DMSArray) Binding 6
461 Decorate 100(ii1D) DescriptorSet 0
462 Decorate 100(ii1D) Binding 7
463 Decorate 111(ii2D) DescriptorSet 0
464 Decorate 111(ii2D) Binding 8
465 Decorate 121(ii3D) DescriptorSet 0
466 Decorate 121(ii3D) Binding 9
467 Decorate 130(ii1DArray) DescriptorSet 0
468 Decorate 130(ii1DArray) Binding 10
469 Decorate 140(ii2DArray) DescriptorSet 0
470 Decorate 140(ii2DArray) Binding 11
471 Decorate 149(ii2DMS) DescriptorSet 0
472 Decorate 149(ii2DMS) Binding 12
473 Decorate 160(ii2DMSArray) DescriptorSet 0
474 Decorate 160(ii2DMSArray) Binding 13
475 Decorate 175(OUT) DescriptorSet 0
476 Decorate 175(OUT) Binding 0
477 Decorate 181(tid) BuiltIn GlobalInvocationId
481 7: TypeVector 6(int) 3
482 8: TypePointer Function 7(ivec3)
483 9: TypeFunction 2 8(ptr)
485 14: TypePointer Function 13(float)
486 16: 13(float) Constant 0
487 17: TypeImage 13(float) 1D sampled format:Unknown
488 18: TypePointer UniformConstant 17
489 19(i1D): 18(ptr) Variable UniformConstant
490 21: 6(int) Constant 0
491 22: TypePointer Function 6(int)
493 26: 25(int) Constant 0
494 27: TypeVector 13(float) 4
495 32: TypeImage 13(float) 2D sampled format:Unknown
496 33: TypePointer UniformConstant 32
497 34(i2D): 33(ptr) Variable UniformConstant
498 36: TypeVector 6(int) 2
499 43: TypeImage 13(float) 3D sampled format:Unknown
500 44: TypePointer UniformConstant 43
501 45(i3D): 44(ptr) Variable UniformConstant
502 52: TypeImage 13(float) 1D array sampled format:Unknown
503 53: TypePointer UniformConstant 52
504 54(i1DArray): 53(ptr) Variable UniformConstant
505 62: TypeImage 13(float) 2D array sampled format:Unknown
506 63: TypePointer UniformConstant 62
507 64(i2DArray): 63(ptr) Variable UniformConstant
508 71: TypeImage 13(float) 2D multi-sampled sampled format:Unknown
509 72: TypePointer UniformConstant 71
510 73(i2DMS): 72(ptr) Variable UniformConstant
511 77: TypeVector 25(int) 2
512 79: 25(int) Constant 1
513 84: TypeImage 13(float) 2D array multi-sampled sampled format:Unknown
514 85: TypePointer UniformConstant 84
515 86(i2DMSArray): 85(ptr) Variable UniformConstant
516 89: TypeVector 25(int) 3
517 91: 25(int) Constant 3
518 96: TypePointer Function 25(int)
519 98: TypeImage 25(int) 1D sampled format:Unknown
520 99: TypePointer UniformConstant 98
521 100(ii1D): 99(ptr) Variable UniformConstant
522 104: TypeVector 25(int) 4
523 109: TypeImage 25(int) 2D sampled format:Unknown
524 110: TypePointer UniformConstant 109
525 111(ii2D): 110(ptr) Variable UniformConstant
526 119: TypeImage 25(int) 3D sampled format:Unknown
527 120: TypePointer UniformConstant 119
528 121(ii3D): 120(ptr) Variable UniformConstant
529 128: TypeImage 25(int) 1D array sampled format:Unknown
530 129: TypePointer UniformConstant 128
531 130(ii1DArray): 129(ptr) Variable UniformConstant
532 138: TypeImage 25(int) 2D array sampled format:Unknown
533 139: TypePointer UniformConstant 138
534 140(ii2DArray): 139(ptr) Variable UniformConstant
535 147: TypeImage 25(int) 2D multi-sampled sampled format:Unknown
536 148: TypePointer UniformConstant 147
537 149(ii2DMS): 148(ptr) Variable UniformConstant
538 158: TypeImage 25(int) 2D array multi-sampled sampled format:Unknown
539 159: TypePointer UniformConstant 158
540 160(ii2DMSArray): 159(ptr) Variable UniformConstant
541 173: TypeImage 13(float) 3D nonsampled format:R32f
542 174: TypePointer UniformConstant 173
543 175(OUT): 174(ptr) Variable UniformConstant
544 180: TypePointer Input 7(ivec3)
545 181(tid): 180(ptr) Variable Input
546 4(main): 2 Function None 3
548 179(tid): 8(ptr) Variable Function
549 183(param): 8(ptr) Variable Function
550 182: 7(ivec3) Load 181(tid)
552 184: 7(ivec3) Load 179(tid)
554 185: 2 FunctionCall 11(@main(vu3;) 183(param)
557 11(@main(vu3;): 2 Function None 9
558 10(tid): 8(ptr) FunctionParameter
560 15(f): 14(ptr) Variable Function
561 97(i): 96(ptr) Variable Function
562 168(storeTemp): 14(ptr) Variable Function
565 23: 22(ptr) AccessChain 10(tid) 21
567 28: 27(fvec4) ImageFetch 20 24 Lod 26
568 29: 13(float) CompositeExtract 28 0
569 30: 13(float) Load 15(f)
570 31: 13(float) FAdd 30 29
573 37: 7(ivec3) Load 10(tid)
574 38: 36(ivec2) VectorShuffle 37 37 0 1
575 39: 27(fvec4) ImageFetch 35 38 Lod 26
576 40: 13(float) CompositeExtract 39 0
577 41: 13(float) Load 15(f)
578 42: 13(float) FAdd 41 40
581 47: 7(ivec3) Load 10(tid)
582 48: 27(fvec4) ImageFetch 46 47 Lod 26
583 49: 13(float) CompositeExtract 48 0
584 50: 13(float) Load 15(f)
585 51: 13(float) FAdd 50 49
587 55: 52 Load 54(i1DArray)
588 56: 7(ivec3) Load 10(tid)
589 57: 36(ivec2) VectorShuffle 56 56 0 1
590 58: 27(fvec4) ImageFetch 55 57 Lod 26
591 59: 13(float) CompositeExtract 58 0
592 60: 13(float) Load 15(f)
593 61: 13(float) FAdd 60 59
595 65: 62 Load 64(i2DArray)
596 66: 7(ivec3) Load 10(tid)
597 67: 27(fvec4) ImageFetch 65 66 Lod 26
598 68: 13(float) CompositeExtract 67 0
599 69: 13(float) Load 15(f)
600 70: 13(float) FAdd 69 68
602 74: 71 Load 73(i2DMS)
603 75: 7(ivec3) Load 10(tid)
604 76: 36(ivec2) VectorShuffle 75 75 0 1
605 78: 77(ivec2) Bitcast 76
606 80: 27(fvec4) ImageFetch 74 78 Sample 79
607 81: 13(float) CompositeExtract 80 0
608 82: 13(float) Load 15(f)
609 83: 13(float) FAdd 82 81
611 87: 84 Load 86(i2DMSArray)
612 88: 7(ivec3) Load 10(tid)
613 90: 89(ivec3) Bitcast 88
614 92: 27(fvec4) ImageFetch 87 90 Sample 91
615 93: 13(float) CompositeExtract 92 0
616 94: 13(float) Load 15(f)
617 95: 13(float) FAdd 94 93
620 101: 98 Load 100(ii1D)
621 102: 22(ptr) AccessChain 10(tid) 21
623 105: 104(ivec4) ImageFetch 101 103 Lod 26
624 106: 25(int) CompositeExtract 105 0
625 107: 25(int) Load 97(i)
626 108: 25(int) IAdd 107 106
628 112: 109 Load 111(ii2D)
629 113: 7(ivec3) Load 10(tid)
630 114: 36(ivec2) VectorShuffle 113 113 0 1
631 115: 104(ivec4) ImageFetch 112 114 Lod 26
632 116: 25(int) CompositeExtract 115 0
633 117: 25(int) Load 97(i)
634 118: 25(int) IAdd 117 116
636 122: 119 Load 121(ii3D)
637 123: 7(ivec3) Load 10(tid)
638 124: 104(ivec4) ImageFetch 122 123 Lod 26
639 125: 25(int) CompositeExtract 124 0
640 126: 25(int) Load 97(i)
641 127: 25(int) IAdd 126 125
643 131: 128 Load 130(ii1DArray)
644 132: 7(ivec3) Load 10(tid)
645 133: 36(ivec2) VectorShuffle 132 132 0 1
646 134: 104(ivec4) ImageFetch 131 133 Lod 26
647 135: 25(int) CompositeExtract 134 0
648 136: 25(int) Load 97(i)
649 137: 25(int) IAdd 136 135
651 141: 138 Load 140(ii2DArray)
652 142: 7(ivec3) Load 10(tid)
653 143: 104(ivec4) ImageFetch 141 142 Lod 26
654 144: 25(int) CompositeExtract 143 0
655 145: 25(int) Load 97(i)
656 146: 25(int) IAdd 145 144
658 150: 147 Load 149(ii2DMS)
659 151: 7(ivec3) Load 10(tid)
660 152: 36(ivec2) VectorShuffle 151 151 0 1
661 153: 77(ivec2) Bitcast 152
662 154: 104(ivec4) ImageFetch 150 153 Sample 79
663 155: 25(int) CompositeExtract 154 0
664 156: 25(int) Load 97(i)
665 157: 25(int) IAdd 156 155
667 161: 158 Load 160(ii2DMSArray)
668 162: 7(ivec3) Load 10(tid)
669 163: 89(ivec3) Bitcast 162
670 164: 104(ivec4) ImageFetch 161 163 Sample 91
671 165: 25(int) CompositeExtract 164 0
672 166: 25(int) Load 97(i)
673 167: 25(int) IAdd 166 165
675 169: 13(float) Load 15(f)
676 170: 25(int) Load 97(i)
677 171: 13(float) ConvertSToF 170
678 172: 13(float) FAdd 169 171
679 Store 168(storeTemp) 172
680 176: 173 Load 175(OUT)
681 177: 7(ivec3) Load 10(tid)
682 178: 13(float) Load 168(storeTemp)
683 ImageWrite 176 177 178