• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1416 instructions
2
3store_src_rg                   coords = src.rg
4init_lane_masks                CondMask = LoopMask = RetMask = true
5copy_uniform                   $0 = colorGreen(1)
6cast_to_int_from_float         $0 = FloatToInt($0)
7copy_slot_unmasked             x = $0
8store_condition_mask           $12 = CondMask
9store_condition_mask           $20 = CondMask
10store_condition_mask           $26 = CondMask
11store_condition_mask           $31 = CondMask
12store_condition_mask           $37 = CondMask
13store_condition_mask           $44 = CondMask
14store_condition_mask           $51 = CondMask
15store_condition_mask           $58 = CondMask
16store_condition_mask           $65 = CondMask
17store_condition_mask           $72 = CondMask
18store_condition_mask           $79 = CondMask
19store_condition_mask           $86 = CondMask
20store_condition_mask           $92 = CondMask
21branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 14 at #48)
22store_return_mask              $93 = RetMask
23copy_constant                  val = 0
24store_loop_mask                $94 = LoopMask
25copy_slot_unmasked             $95 = x
26store_loop_mask                $96 = LoopMask
27mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
28case_op                        if ($95 == 0x00000001) { LoopMask = true; $96 = false; }
29branch_if_no_lanes_active      branch_if_no_lanes_active +7 (label 16 at #34)
30copy_slot_unmasked             $97 = val
31add_imm_int                    $97 += 0x00000001
32copy_slot_masked               val = Mask($97)
33copy_constant                  $97 = 0
34copy_slot_masked               [return_in_one_case].result = Mask($97)
35mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
36label                          label 0x00000010
37reenable_loop_mask             LoopMask |= $96
38branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 17 at #40)
39copy_slot_unmasked             $96 = val
40add_imm_int                    $96 += 0x00000001
41copy_slot_masked               val = Mask($96)
42label                          label 0x00000011
43label                          label 0x0000000F
44load_loop_mask                 LoopMask = $94
45copy_slot_unmasked             $94 = val
46cmpeq_imm_int                  $94 = equal($94, 0x00000001)
47copy_slot_masked               [return_in_one_case].result = Mask($94)
48load_return_mask               RetMask = $93
49copy_slot_unmasked             $93 = [return_in_one_case].result
50label                          label 0x0000000E
51copy_constant                  $87 = 0
52merge_condition_mask           CondMask = $92 & $93
53branch_if_no_lanes_active      branch_if_no_lanes_active +18 (label 13 at #69)
54store_return_mask              $88 = RetMask
55store_loop_mask                $89 = LoopMask
56copy_slot_unmasked             $90 = x
57store_loop_mask                $91 = LoopMask
58mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
59reenable_loop_mask             LoopMask |= $91
60branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 20 at #62)
61copy_constant                  $91 = 0xFFFFFFFF
62copy_slot_masked               [return_in_default].result = Mask($91)
63mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
64label                          label 0x00000014
65label                          label 0x00000013
66load_loop_mask                 LoopMask = $89
67load_return_mask               RetMask = $88
68copy_slot_unmasked             $88 = [return_in_default].result
69label                          label 0x00000012
70copy_slot_masked               $87 = Mask($88)
71label                          label 0x0000000D
72load_condition_mask            CondMask = $92
73copy_constant                  $80 = 0
74merge_condition_mask           CondMask = $86 & $87
75branch_if_no_lanes_active      branch_if_no_lanes_active +24 (label 12 at #97)
76store_return_mask              $81 = RetMask
77store_loop_mask                $82 = LoopMask
78copy_slot_unmasked             $83 = x
79store_loop_mask                $84 = LoopMask
80mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
81case_op                        if ($83 == 0x00000001) { LoopMask = true; $84 = false; }
82branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 23 at #84)
83copy_constant                  $85 = 0
84copy_slot_masked               [return_in_every_case].result = Mask($85)
85mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
86label                          label 0x00000017
87reenable_loop_mask             LoopMask |= $84
88branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 24 at #90)
89copy_constant                  $84 = 0xFFFFFFFF
90copy_slot_masked               [return_in_every_case].result = Mask($84)
91mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
92label                          label 0x00000018
93label                          label 0x00000016
94load_loop_mask                 LoopMask = $82
95load_return_mask               RetMask = $81
96copy_slot_unmasked             $81 = [return_in_every_case].result
97label                          label 0x00000015
98copy_slot_masked               $80 = Mask($81)
99label                          label 0x0000000C
100load_condition_mask            CondMask = $86
101copy_constant                  $73 = 0
102merge_condition_mask           CondMask = $79 & $80
103branch_if_no_lanes_active      branch_if_no_lanes_active +30 (label 11 at #131)
104store_return_mask              $74 = RetMask
105copy_constant                  val₁ = 0
106store_loop_mask                $75 = LoopMask
107copy_slot_unmasked             $76 = x
108store_loop_mask                $77 = LoopMask
109mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
110case_op                        if ($76 == 0x00000001) { LoopMask = true; $77 = false; }
111branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 27 at #113)
112copy_constant                  $78 = 0
113copy_slot_masked               [return_in_every_case_no_default].result = Mask($78)
114mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
115label                          label 0x0000001B
116case_op                        if ($76 == 0x00000002) { LoopMask = true; $77 = false; }
117branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 28 at #119)
118copy_constant                  $78 = 0xFFFFFFFF
119copy_slot_masked               [return_in_every_case_no_default].result = Mask($78)
120mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
121label                          label 0x0000001C
122label                          label 0x0000001A
123load_loop_mask                 LoopMask = $75
124copy_slot_unmasked             $75 = val₁
125add_imm_int                    $75 += 0x00000001
126copy_slot_masked               val₁ = Mask($75)
127cmpeq_imm_int                  $75 = equal($75, 0x00000001)
128copy_slot_masked               [return_in_every_case_no_default].result = Mask($75)
129load_return_mask               RetMask = $74
130copy_slot_unmasked             $74 = [return_in_every_case_no_default].result
131label                          label 0x00000019
132copy_slot_masked               $73 = Mask($74)
133label                          label 0x0000000B
134load_condition_mask            CondMask = $79
135copy_constant                  $66 = 0
136merge_condition_mask           CondMask = $72 & $73
137branch_if_no_lanes_active      branch_if_no_lanes_active +35 (label 10 at #170)
138store_return_mask              $67 = RetMask
139copy_constant                  val₂ = 0
140store_loop_mask                $68 = LoopMask
141copy_slot_unmasked             $69 = x
142store_loop_mask                $70 = LoopMask
143mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
144case_op                        if ($69 == 0x00000001) { LoopMask = true; $70 = false; }
145branch_if_no_lanes_active      branch_if_no_lanes_active +3 (label 31 at #146)
146branch_if_all_lanes_active     branch_if_all_lanes_active +15 (label 30 at #159)
147mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
148label                          label 0x0000001F
149case_op                        if ($69 == 0x00000002) { LoopMask = true; $70 = false; }
150branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 32 at #152)
151copy_constant                  $71 = 0xFFFFFFFF
152copy_slot_masked               [case_has_break_before_return].result = Mask($71)
153mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
154label                          label 0x00000020
155reenable_loop_mask             LoopMask |= $70
156branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 33 at #158)
157copy_constant                  $70 = 0xFFFFFFFF
158copy_slot_masked               [case_has_break_before_return].result = Mask($70)
159mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
160label                          label 0x00000021
161label                          label 0x0000001E
162load_loop_mask                 LoopMask = $68
163copy_slot_unmasked             $68 = val₂
164add_imm_int                    $68 += 0x00000001
165copy_slot_masked               val₂ = Mask($68)
166cmpeq_imm_int                  $68 = equal($68, 0x00000001)
167copy_slot_masked               [case_has_break_before_return].result = Mask($68)
168load_return_mask               RetMask = $67
169copy_slot_unmasked             $67 = [case_has_break_before_return].result
170label                          label 0x0000001D
171copy_slot_masked               $66 = Mask($67)
172label                          label 0x0000000A
173load_condition_mask            CondMask = $72
174copy_constant                  $59 = 0
175merge_condition_mask           CondMask = $65 & $66
176branch_if_no_lanes_active      branch_if_no_lanes_active +30 (label 9 at #204)
177store_return_mask              $60 = RetMask
178store_loop_mask                $61 = LoopMask
179copy_slot_unmasked             $62 = x
180store_loop_mask                $63 = LoopMask
181mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
182case_op                        if ($62 == 0x00000001) { LoopMask = true; $63 = false; }
183branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 36 at #185)
184copy_constant                  $64 = 0
185copy_slot_masked               [case_has_break_after_return].result = Mask($64)
186mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
187label                          label 0x00000024
188case_op                        if ($62 == 0x00000002) { LoopMask = true; $63 = false; }
189branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 37 at #191)
190copy_constant                  $64 = 0xFFFFFFFF
191copy_slot_masked               [case_has_break_after_return].result = Mask($64)
192mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
193label                          label 0x00000025
194reenable_loop_mask             LoopMask |= $63
195branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 38 at #197)
196copy_constant                  $63 = 0xFFFFFFFF
197copy_slot_masked               [case_has_break_after_return].result = Mask($63)
198mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
199label                          label 0x00000026
200label                          label 0x00000023
201load_loop_mask                 LoopMask = $61
202load_return_mask               RetMask = $60
203copy_slot_unmasked             $60 = [case_has_break_after_return].result
204label                          label 0x00000022
205copy_slot_masked               $59 = Mask($60)
206label                          label 0x00000009
207load_condition_mask            CondMask = $65
208copy_constant                  $52 = 0
209merge_condition_mask           CondMask = $58 & $59
210branch_if_no_lanes_active      branch_if_no_lanes_active +35 (label 8 at #243)
211store_return_mask              $53 = RetMask
212copy_constant                  val₃ = 0
213store_loop_mask                $54 = LoopMask
214copy_slot_unmasked             $55 = x
215store_loop_mask                $56 = LoopMask
216mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
217case_op                        if ($55 == 0x00000001) { LoopMask = true; $56 = false; }
218branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 41 at #220)
219copy_constant                  $57 = 0
220copy_slot_masked               [no_return_in_default].result = Mask($57)
221mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
222label                          label 0x00000029
223case_op                        if ($55 == 0x00000002) { LoopMask = true; $56 = false; }
224branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 42 at #226)
225copy_constant                  $57 = 0xFFFFFFFF
226copy_slot_masked               [no_return_in_default].result = Mask($57)
227mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
228label                          label 0x0000002A
229reenable_loop_mask             LoopMask |= $56
230branch_if_no_lanes_active      branch_if_no_lanes_active +3 (label 43 at #231)
231branch_if_all_lanes_active     branch_if_all_lanes_active +3 (label 40 at #232)
232mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
233label                          label 0x0000002B
234label                          label 0x00000028
235load_loop_mask                 LoopMask = $54
236copy_slot_unmasked             $54 = val₃
237add_imm_int                    $54 += 0x00000001
238copy_slot_masked               val₃ = Mask($54)
239cmpeq_imm_int                  $54 = equal($54, 0x00000001)
240copy_slot_masked               [no_return_in_default].result = Mask($54)
241load_return_mask               RetMask = $53
242copy_slot_unmasked             $53 = [no_return_in_default].result
243label                          label 0x00000027
244copy_slot_masked               $52 = Mask($53)
245label                          label 0x00000008
246load_condition_mask            CondMask = $58
247copy_constant                  $45 = 0
248merge_condition_mask           CondMask = $51 & $52
249branch_if_no_lanes_active      branch_if_no_lanes_active +32 (label 7 at #279)
250store_return_mask              $46 = RetMask
251copy_constant                  val₄ = 0
252store_loop_mask                $47 = LoopMask
253copy_slot_unmasked             $48 = x
254store_loop_mask                $49 = LoopMask
255mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
256case_op                        if ($48 == 0x00000001) { LoopMask = true; $49 = false; }
257branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 46 at #259)
258copy_constant                  $50 = 0
259copy_slot_masked               [empty_default].result = Mask($50)
260mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
261label                          label 0x0000002E
262case_op                        if ($48 == 0x00000002) { LoopMask = true; $49 = false; }
263branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 47 at #265)
264copy_constant                  $50 = 0xFFFFFFFF
265copy_slot_masked               [empty_default].result = Mask($50)
266mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
267label                          label 0x0000002F
268reenable_loop_mask             LoopMask |= $49
269label                          label 0x00000030
270label                          label 0x0000002D
271load_loop_mask                 LoopMask = $47
272copy_slot_unmasked             $47 = val₄
273add_imm_int                    $47 += 0x00000001
274copy_slot_masked               val₄ = Mask($47)
275cmpeq_imm_int                  $47 = equal($47, 0x00000001)
276copy_slot_masked               [empty_default].result = Mask($47)
277load_return_mask               RetMask = $46
278copy_slot_unmasked             $46 = [empty_default].result
279label                          label 0x0000002C
280copy_slot_masked               $45 = Mask($46)
281label                          label 0x00000007
282load_condition_mask            CondMask = $51
283copy_constant                  $38 = 0
284merge_condition_mask           CondMask = $44 & $45
285branch_if_no_lanes_active      branch_if_no_lanes_active +26 (label 6 at #309)
286store_return_mask              $39 = RetMask
287store_loop_mask                $40 = LoopMask
288copy_slot_unmasked             $41 = x
289store_loop_mask                $42 = LoopMask
290mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
291case_op                        if ($41 == 0x00000001) { LoopMask = true; $42 = false; }
292label                          label 0x00000033
293case_op                        if ($41 == 0x00000002) { LoopMask = true; $42 = false; }
294branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 52 at #296)
295copy_constant                  $43 = 0xFFFFFFFF
296copy_slot_masked               [return_with_fallthrough].result = Mask($43)
297mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
298label                          label 0x00000034
299reenable_loop_mask             LoopMask |= $42
300branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 53 at #302)
301copy_constant                  $42 = 0
302copy_slot_masked               [return_with_fallthrough].result = Mask($42)
303mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
304label                          label 0x00000035
305label                          label 0x00000032
306load_loop_mask                 LoopMask = $40
307load_return_mask               RetMask = $39
308copy_slot_unmasked             $39 = [return_with_fallthrough].result
309label                          label 0x00000031
310copy_slot_masked               $38 = Mask($39)
311label                          label 0x00000006
312load_condition_mask            CondMask = $44
313copy_constant                  $32 = 0
314merge_condition_mask           CondMask = $37 & $38
315branch_if_no_lanes_active      branch_if_no_lanes_active +31 (label 5 at #344)
316store_return_mask              $33 = RetMask
317copy_constant                  val₅ = 0
318store_loop_mask                $34 = LoopMask
319copy_slot_unmasked             $35 = x
320store_loop_mask                $36 = LoopMask
321mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
322case_op                        if ($35 == 0x00000001) { LoopMask = true; $36 = false; }
323label                          label 0x00000038
324case_op                        if ($35 == 0x00000002) { LoopMask = true; $36 = false; }
325branch_if_no_lanes_active      branch_if_no_lanes_active +3 (label 57 at #326)
326branch_if_all_lanes_active     branch_if_all_lanes_active +9 (label 55 at #333)
327mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
328label                          label 0x00000039
329reenable_loop_mask             LoopMask |= $36
330branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 58 at #332)
331copy_constant                  $36 = 0
332copy_slot_masked               [fallthrough_ends_in_break].result = Mask($36)
333mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
334label                          label 0x0000003A
335label                          label 0x00000037
336load_loop_mask                 LoopMask = $34
337copy_slot_unmasked             $34 = val₅
338add_imm_int                    $34 += 0x00000001
339copy_slot_masked               val₅ = Mask($34)
340cmpeq_imm_int                  $34 = equal($34, 0x00000001)
341copy_slot_masked               [fallthrough_ends_in_break].result = Mask($34)
342load_return_mask               RetMask = $33
343copy_slot_unmasked             $33 = [fallthrough_ends_in_break].result
344label                          label 0x00000036
345copy_slot_masked               $32 = Mask($33)
346label                          label 0x00000005
347load_condition_mask            CondMask = $37
348copy_constant                  $27 = 0
349merge_condition_mask           CondMask = $31 & $32
350branch_if_no_lanes_active      branch_if_no_lanes_active +23 (label 4 at #371)
351copy_constant                  val₆ = 0
352store_loop_mask                $28 = LoopMask
353copy_slot_unmasked             $29 = x
354store_loop_mask                $30 = LoopMask
355mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
356case_op                        if ($29 == 0x00000001) { LoopMask = true; $30 = false; }
357label                          label 0x0000003D
358case_op                        if ($29 == 0x00000002) { LoopMask = true; $30 = false; }
359label                          label 0x0000003E
360reenable_loop_mask             LoopMask |= $30
361branch_if_no_lanes_active      branch_if_no_lanes_active +3 (label 63 at #362)
362branch_if_all_lanes_active     branch_if_all_lanes_active +3 (label 60 at #363)
363mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
364label                          label 0x0000003F
365label                          label 0x0000003C
366load_loop_mask                 LoopMask = $28
367copy_slot_unmasked             $28 = val₆
368add_imm_int                    $28 += 0x00000001
369copy_slot_masked               val₆ = Mask($28)
370cmpeq_imm_int                  $28 = equal($28, 0x00000001)
371label                          label 0x0000003B
372copy_slot_masked               $27 = Mask($28)
373label                          label 0x00000004
374load_condition_mask            CondMask = $31
375copy_constant                  $21 = 0
376merge_condition_mask           CondMask = $26 & $27
377branch_if_no_lanes_active      branch_if_no_lanes_active +22 (label 3 at #397)
378store_return_mask              $22 = RetMask
379store_loop_mask                $23 = LoopMask
380copy_slot_unmasked             $24 = x
381store_loop_mask                $25 = LoopMask
382mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
383case_op                        if ($24 == 0x00000001) { LoopMask = true; $25 = false; }
384label                          label 0x00000042
385case_op                        if ($24 == 0x00000002) { LoopMask = true; $25 = false; }
386label                          label 0x00000043
387reenable_loop_mask             LoopMask |= $25
388branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 68 at #390)
389copy_constant                  $25 = 0xFFFFFFFF
390copy_slot_masked               [fallthrough_to_default_with_return].result = Mask($25)
391mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
392label                          label 0x00000044
393label                          label 0x00000041
394load_loop_mask                 LoopMask = $23
395load_return_mask               RetMask = $22
396copy_slot_unmasked             $22 = [fallthrough_to_default_with_return].result
397label                          label 0x00000040
398copy_slot_masked               $21 = Mask($22)
399label                          label 0x00000003
400load_condition_mask            CondMask = $26
401copy_constant                  $13 = 0
402merge_condition_mask           CondMask = $20 & $21
403branch_if_no_lanes_active      branch_if_no_lanes_active +44 (label 2 at #445)
404store_return_mask              $14 = RetMask
405copy_constant                  val₇ = 0
406store_loop_mask                $15 = LoopMask
407copy_slot_unmasked             $16 = x
408store_loop_mask                $17 = LoopMask
409mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
410case_op                        if ($16 == 0x00000001) { LoopMask = true; $17 = false; }
411branch_if_no_lanes_active      branch_if_no_lanes_active +21 (label 71 at #430)
412copy_constant                  i = 0
413store_loop_mask                $18 = LoopMask
414jump                           jump +10 (label 73 at #422)
415label                          label 0x0000004A
416copy_slot_unmasked             $19 = val₇
417add_imm_int                    $19 += 0x00000001
418copy_slot_masked               val₇ = Mask($19)
419branch_if_all_lanes_active     branch_if_all_lanes_active +11 (label 72 at #428)
420mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
421copy_slot_unmasked             $19 = i
422add_imm_int                    $19 += 0x00000001
423copy_slot_masked               i = Mask($19)
424label                          label 0x00000049
425copy_slot_unmasked             $19 = i
426cmplt_imm_int                  $19 = lessThan($19, 0x00000005)
427merge_loop_mask                LoopMask &= $19
428stack_rewind
429branch_if_any_lanes_active     branch_if_any_lanes_active -14 (label 74 at #413)
430label                          label 0x00000048
431load_loop_mask                 LoopMask = $18
432label                          label 0x00000047
433case_op                        if ($16 == 0x00000002) { LoopMask = true; $17 = false; }
434label                          label 0x0000004B
435reenable_loop_mask             LoopMask |= $17
436branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 76 at #438)
437copy_constant                  $17 = 0xFFFFFFFF
438copy_slot_masked               [fallthrough_with_loop_break].result = Mask($17)
439mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
440label                          label 0x0000004C
441label                          label 0x00000046
442load_loop_mask                 LoopMask = $15
443load_return_mask               RetMask = $14
444copy_slot_unmasked             $14 = [fallthrough_with_loop_break].result
445label                          label 0x00000045
446copy_slot_masked               $13 = Mask($14)
447label                          label 0x00000002
448load_condition_mask            CondMask = $20
449copy_constant                  $0 = 0
450merge_condition_mask           CondMask = $12 & $13
451branch_if_no_lanes_active      branch_if_no_lanes_active +45 (label 1 at #494)
452store_return_mask              $1 = RetMask
453copy_constant                  val₈ = 0
454store_loop_mask                $2 = LoopMask
455copy_slot_unmasked             $3 = x
456store_loop_mask                $4 = LoopMask
457mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
458case_op                        if ($3 == 0x00000001) { LoopMask = true; $4 = false; }
459branch_if_no_lanes_active      branch_if_no_lanes_active +22 (label 79 at #479)
460copy_constant                  i₁ = 0
461store_loop_mask                $5 = LoopMask
462jump                           jump +11 (label 81 at #471)
463label                          label 0x00000052
464copy_constant                  $20 = 0
465copy_slot_unmasked             $6 = val₈
466add_imm_int                    $6 += 0x00000001
467copy_slot_masked               val₈ = Mask($6)
468continue_op                    $20 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
469reenable_loop_mask             LoopMask |= $20
470copy_slot_unmasked             $6 = i₁
471add_imm_int                    $6 += 0x00000001
472copy_slot_masked               i₁ = Mask($6)
473label                          label 0x00000051
474copy_slot_unmasked             $6 = i₁
475cmplt_imm_int                  $6 = lessThan($6, 0x00000005)
476merge_loop_mask                LoopMask &= $6
477stack_rewind
478branch_if_any_lanes_active     branch_if_any_lanes_active -15 (label 82 at #461)
479label                          label 0x00000050
480load_loop_mask                 LoopMask = $5
481label                          label 0x0000004F
482case_op                        if ($3 == 0x00000002) { LoopMask = true; $4 = false; }
483label                          label 0x00000053
484reenable_loop_mask             LoopMask |= $4
485branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 84 at #487)
486copy_constant                  $4 = 0xFFFFFFFF
487copy_slot_masked               [fallthrough_with_loop_continue].result = Mask($4)
488mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
489label                          label 0x00000054
490label                          label 0x0000004E
491load_loop_mask                 LoopMask = $2
492load_return_mask               RetMask = $1
493copy_slot_unmasked             $1 = [fallthrough_with_loop_continue].result
494label                          label 0x0000004D
495copy_slot_masked               $0 = Mask($1)
496label                          label 0x00000001
497load_condition_mask            CondMask = $12
498swizzle_4                      $0..3 = ($0..3).xxxx
499copy_4_uniforms                $4..7 = colorRed
500copy_4_uniforms                $8..11 = colorGreen
501mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
502load_src                       src.rgba = $0..3
503