• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1303 instructions
2
3store_src_rg                   coords = src.rg
4init_lane_masks                CondMask = LoopMask = RetMask = true
5store_condition_mask           $12 = CondMask
6store_condition_mask           $20 = CondMask
7store_condition_mask           $28 = CondMask
8store_condition_mask           $36 = CondMask
9store_condition_mask           $42 = CondMask
10store_condition_mask           $49 = CondMask
11store_condition_mask           $56 = CondMask
12store_condition_mask           $60 = CondMask
13store_condition_mask           $64 = CondMask
14store_condition_mask           $69 = CondMask
15store_condition_mask           $74 = CondMask
16branch_if_no_lanes_active      branch_if_no_lanes_active +20 (label 12 at #34)
17store_return_mask              $75 = RetMask
18store_loop_mask                $76 = LoopMask
19jump                           jump +5 (label 14 at #22)
20label                          label 0x0000000F
21copy_constant                  $77 = 0
22copy_slot_masked               [inside_while_loop].result = Mask($77)
23mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
24label                          label 0x0000000E
25copy_uniform                   $77 = unknownInput
26cmpeq_imm_float                $77 = equal($77, 0x42F60000 (123.0))
27merge_loop_mask                LoopMask &= $77
28stack_rewind
29branch_if_any_lanes_active     branch_if_any_lanes_active -9 (label 15 at #18)
30label                          label 0x0000000D
31load_loop_mask                 LoopMask = $76
32copy_constant                  $76 = 0xFFFFFFFF
33copy_slot_masked               [inside_while_loop].result = Mask($76)
34load_return_mask               RetMask = $75
35copy_slot_unmasked             $75 = [inside_while_loop].result
36label                          label 0x0000000C
37copy_constant                  $70 = 0
38merge_condition_mask           CondMask = $74 & $75
39branch_if_no_lanes_active      branch_if_no_lanes_active +17 (label 11 at #54)
40store_return_mask              $71 = RetMask
41store_loop_mask                $72 = LoopMask
42label                          label 0x00000012
43copy_constant                  $73 = 0xFFFFFFFF
44copy_slot_masked               [inside_infinite_do_loop].result = Mask($73)
45mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
46copy_constant                  $73 = 0xFFFFFFFF
47merge_loop_mask                LoopMask &= $73
48stack_rewind
49branch_if_any_lanes_active     branch_if_any_lanes_active -7 (label 18 at #40)
50label                          label 0x00000011
51load_loop_mask                 LoopMask = $72
52load_return_mask               RetMask = $71
53copy_slot_unmasked             $71 = [inside_infinite_do_loop].result
54label                          label 0x00000010
55copy_slot_masked               $70 = Mask($71)
56label                          label 0x0000000B
57load_condition_mask            CondMask = $74
58copy_constant                  $65 = 0
59merge_condition_mask           CondMask = $69 & $70
60branch_if_no_lanes_active      branch_if_no_lanes_active +19 (label 10 at #77)
61store_return_mask              $66 = RetMask
62store_loop_mask                $67 = LoopMask
63jump                           jump +5 (label 21 at #66)
64label                          label 0x00000016
65copy_constant                  $68 = 0xFFFFFFFF
66copy_slot_masked               [inside_infinite_while_loop].result = Mask($68)
67mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
68label                          label 0x00000015
69copy_constant                  $68 = 0xFFFFFFFF
70merge_loop_mask                LoopMask &= $68
71stack_rewind
72branch_if_any_lanes_active     branch_if_any_lanes_active -8 (label 22 at #62)
73label                          label 0x00000014
74load_loop_mask                 LoopMask = $67
75load_return_mask               RetMask = $66
76copy_slot_unmasked             $66 = [inside_infinite_while_loop].result
77label                          label 0x00000013
78copy_slot_masked               $65 = Mask($66)
79label                          label 0x0000000A
80load_condition_mask            CondMask = $69
81copy_constant                  $61 = 0
82merge_condition_mask           CondMask = $64 & $65
83branch_if_no_lanes_active      branch_if_no_lanes_active +14 (label 9 at #95)
84store_loop_mask                $62 = LoopMask
85label                          label 0x00000019
86branch_if_all_lanes_active     branch_if_all_lanes_active +6 (label 24 at #90)
87mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
88copy_constant                  $63 = 0xFFFFFFFF
89merge_loop_mask                LoopMask &= $63
90stack_rewind
91branch_if_any_lanes_active     branch_if_any_lanes_active -6 (label 25 at #83)
92label                          label 0x00000018
93load_loop_mask                 LoopMask = $62
94copy_constant                  $62 = 0xFFFFFFFF
95label                          label 0x00000017
96copy_slot_masked               $61 = Mask($62)
97label                          label 0x00000009
98load_condition_mask            CondMask = $64
99copy_constant                  $57 = 0
100merge_condition_mask           CondMask = $60 & $61
101branch_if_no_lanes_active      branch_if_no_lanes_active +16 (label 8 at #115)
102store_loop_mask                $58 = LoopMask
103jump                           jump +4 (label 28 at #105)
104label                          label 0x0000001D
105branch_if_all_lanes_active     branch_if_all_lanes_active +7 (label 27 at #110)
106mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
107label                          label 0x0000001C
108copy_constant                  $59 = 0xFFFFFFFF
109merge_loop_mask                LoopMask &= $59
110stack_rewind
111branch_if_any_lanes_active     branch_if_any_lanes_active -7 (label 29 at #102)
112label                          label 0x0000001B
113load_loop_mask                 LoopMask = $58
114copy_constant                  $58 = 0xFFFFFFFF
115label                          label 0x0000001A
116copy_slot_masked               $57 = Mask($58)
117label                          label 0x00000008
118load_condition_mask            CondMask = $60
119copy_constant                  $50 = 0
120merge_condition_mask           CondMask = $56 & $57
121branch_if_no_lanes_active      branch_if_no_lanes_active +31 (label 7 at #150)
122store_return_mask              $51 = RetMask
123store_loop_mask                $52 = LoopMask
124copy_uniform                   $53 = unknownInput
125cast_to_int_from_float         $53 = FloatToInt($53)
126store_loop_mask                $54 = LoopMask
127mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
128case_op                        if ($53 == 0x00000001) { LoopMask = true; $54 = false; }
129branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 32 at #131)
130copy_constant                  $55 = 0xFFFFFFFF
131copy_slot_masked               [switch_with_all_returns].result = Mask($55)
132mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
133label                          label 0x00000020
134case_op                        if ($53 == 0x00000002) { LoopMask = true; $54 = false; }
135branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 33 at #137)
136copy_constant                  $55 = 0
137copy_slot_masked               [switch_with_all_returns].result = Mask($55)
138mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
139label                          label 0x00000021
140reenable_loop_mask             LoopMask |= $54
141branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 34 at #143)
142copy_constant                  $54 = 0
143copy_slot_masked               [switch_with_all_returns].result = Mask($54)
144mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
145label                          label 0x00000022
146label                          label 0x0000001F
147load_loop_mask                 LoopMask = $52
148load_return_mask               RetMask = $51
149copy_slot_unmasked             $51 = [switch_with_all_returns].result
150label                          label 0x0000001E
151copy_slot_masked               $50 = Mask($51)
152label                          label 0x00000007
153load_condition_mask            CondMask = $56
154copy_constant                  $43 = 0
155merge_condition_mask           CondMask = $49 & $50
156branch_if_no_lanes_active      branch_if_no_lanes_active +27 (label 6 at #181)
157store_return_mask              $44 = RetMask
158store_loop_mask                $45 = LoopMask
159copy_uniform                   $46 = unknownInput
160cast_to_int_from_float         $46 = FloatToInt($46)
161store_loop_mask                $47 = LoopMask
162mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
163case_op                        if ($46 == 0x00000001) { LoopMask = true; $47 = false; }
164branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 37 at #166)
165copy_constant                  $48 = 0xFFFFFFFF
166copy_slot_masked               [switch_fallthrough].result = Mask($48)
167mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
168label                          label 0x00000025
169case_op                        if ($46 == 0x00000002) { LoopMask = true; $47 = false; }
170label                          label 0x00000026
171reenable_loop_mask             LoopMask |= $47
172branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 39 at #174)
173copy_constant                  $47 = 0
174copy_slot_masked               [switch_fallthrough].result = Mask($47)
175mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
176label                          label 0x00000027
177label                          label 0x00000024
178load_loop_mask                 LoopMask = $45
179load_return_mask               RetMask = $44
180copy_slot_unmasked             $44 = [switch_fallthrough].result
181label                          label 0x00000023
182copy_slot_masked               $43 = Mask($44)
183label                          label 0x00000006
184load_condition_mask            CondMask = $49
185copy_constant                  $37 = 0
186merge_condition_mask           CondMask = $42 & $43
187branch_if_no_lanes_active      branch_if_no_lanes_active +23 (label 5 at #208)
188store_return_mask              $38 = RetMask
189store_loop_mask                $39 = LoopMask
190copy_uniform                   $40 = unknownInput
191cast_to_int_from_float         $40 = FloatToInt($40)
192store_loop_mask                $41 = LoopMask
193mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
194case_op                        if ($40 == 0x00000001) { LoopMask = true; $41 = false; }
195label                          label 0x0000002A
196case_op                        if ($40 == 0x00000002) { LoopMask = true; $41 = false; }
197label                          label 0x0000002B
198reenable_loop_mask             LoopMask |= $41
199branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 44 at #201)
200copy_constant                  $41 = 0xFFFFFFFF
201copy_slot_masked               [switch_fallthrough_twice].result = Mask($41)
202mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
203label                          label 0x0000002C
204label                          label 0x00000029
205load_loop_mask                 LoopMask = $39
206load_return_mask               RetMask = $38
207copy_slot_unmasked             $38 = [switch_fallthrough_twice].result
208label                          label 0x00000028
209copy_slot_masked               $37 = Mask($38)
210label                          label 0x00000005
211load_condition_mask            CondMask = $42
212copy_constant                  $29 = 0
213merge_condition_mask           CondMask = $36 & $37
214branch_if_no_lanes_active      branch_if_no_lanes_active +39 (label 4 at #251)
215store_return_mask              $30 = RetMask
216store_loop_mask                $31 = LoopMask
217copy_uniform                   $32 = unknownInput
218cast_to_int_from_float         $32 = FloatToInt($32)
219store_loop_mask                $33 = LoopMask
220mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
221case_op                        if ($32 == 0x00000001) { LoopMask = true; $33 = false; }
222branch_if_no_lanes_active      branch_if_no_lanes_active +18 (label 47 at #238)
223copy_constant                  x = 0
224store_loop_mask                $34 = LoopMask
225jump                           jump +7 (label 49 at #230)
226label                          label 0x00000032
227branch_if_all_lanes_active     branch_if_all_lanes_active +11 (label 48 at #236)
228mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
229copy_slot_unmasked             $35 = x
230add_imm_int                    $35 += 0x00000001
231copy_slot_masked               x = Mask($35)
232label                          label 0x00000031
233copy_slot_unmasked             $35 = x
234cmple_imm_int                  $35 = lessThanEqual($35, 0x0000000A)
235merge_loop_mask                LoopMask &= $35
236stack_rewind
237branch_if_any_lanes_active     branch_if_any_lanes_active -11 (label 50 at #224)
238label                          label 0x00000030
239load_loop_mask                 LoopMask = $34
240label                          label 0x0000002F
241reenable_loop_mask             LoopMask |= $33
242branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 51 at #244)
243copy_constant                  $33 = 0xFFFFFFFF
244copy_slot_masked               [switch_with_break_in_loop].result = Mask($33)
245mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
246label                          label 0x00000033
247label                          label 0x0000002E
248load_loop_mask                 LoopMask = $31
249load_return_mask               RetMask = $30
250copy_slot_unmasked             $30 = [switch_with_break_in_loop].result
251label                          label 0x0000002D
252copy_slot_masked               $29 = Mask($30)
253label                          label 0x00000004
254load_condition_mask            CondMask = $36
255copy_constant                  $21 = 0
256merge_condition_mask           CondMask = $28 & $29
257branch_if_no_lanes_active      branch_if_no_lanes_active +40 (label 3 at #295)
258store_return_mask              $22 = RetMask
259store_loop_mask                $23 = LoopMask
260copy_uniform                   $24 = unknownInput
261cast_to_int_from_float         $24 = FloatToInt($24)
262store_loop_mask                $25 = LoopMask
263mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
264case_op                        if ($24 == 0x00000001) { LoopMask = true; $25 = false; }
265branch_if_no_lanes_active      branch_if_no_lanes_active +19 (label 54 at #282)
266copy_constant                  x₁ = 0
267store_loop_mask                $26 = LoopMask
268jump                           jump +8 (label 56 at #274)
269label                          label 0x00000039
270copy_constant                  $36 = 0
271continue_op                    $36 |= Mask(0xFFFFFFFF); LoopMask &= ~(CondMask & LoopMask & RetMask)
272reenable_loop_mask             LoopMask |= $36
273copy_slot_unmasked             $27 = x₁
274add_imm_int                    $27 += 0x00000001
275copy_slot_masked               x₁ = Mask($27)
276label                          label 0x00000038
277copy_slot_unmasked             $27 = x₁
278cmple_imm_int                  $27 = lessThanEqual($27, 0x0000000A)
279merge_loop_mask                LoopMask &= $27
280stack_rewind
281branch_if_any_lanes_active     branch_if_any_lanes_active -12 (label 57 at #267)
282label                          label 0x00000037
283load_loop_mask                 LoopMask = $26
284label                          label 0x00000036
285reenable_loop_mask             LoopMask |= $25
286branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 58 at #288)
287copy_constant                  $25 = 0xFFFFFFFF
288copy_slot_masked               [switch_with_continue_in_loop].result = Mask($25)
289mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
290label                          label 0x0000003A
291label                          label 0x00000035
292load_loop_mask                 LoopMask = $23
293load_return_mask               RetMask = $22
294copy_slot_unmasked             $22 = [switch_with_continue_in_loop].result
295label                          label 0x00000034
296copy_slot_masked               $21 = Mask($22)
297label                          label 0x00000003
298load_condition_mask            CondMask = $28
299copy_constant                  $13 = 0
300merge_condition_mask           CondMask = $20 & $21
301branch_if_no_lanes_active      branch_if_no_lanes_active +34 (label 2 at #333)
302store_return_mask              $14 = RetMask
303store_loop_mask                $15 = LoopMask
304copy_uniform                   $16 = unknownInput
305cast_to_int_from_float         $16 = FloatToInt($16)
306store_loop_mask                $17 = LoopMask
307mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
308case_op                        if ($16 == 0x00000001) { LoopMask = true; $17 = false; }
309branch_if_no_lanes_active      branch_if_no_lanes_active +13 (label 61 at #320)
310copy_uniform                   $18 = unknownInput
311cmpeq_imm_float                $18 = equal($18, 0x42F60000 (123.0))
312branch_if_no_active_lanes_eq   branch +5 (label 62 at #315) if no lanes of $18 == 0xFFFFFFFF
313copy_constant                  $19 = 0
314copy_slot_masked               [switch_with_if_that_returns].result = Mask($19)
315mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
316jump                           jump +5 (label 63 at #319)
317label                          label 0x0000003E
318copy_constant                  $19 = 0xFFFFFFFF
319copy_slot_masked               [switch_with_if_that_returns].result = Mask($19)
320mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
321label                          label 0x0000003F
322label                          label 0x0000003D
323reenable_loop_mask             LoopMask |= $17
324branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 64 at #326)
325copy_constant                  $17 = 0xFFFFFFFF
326copy_slot_masked               [switch_with_if_that_returns].result = Mask($17)
327mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
328label                          label 0x00000040
329label                          label 0x0000003C
330load_loop_mask                 LoopMask = $15
331load_return_mask               RetMask = $14
332copy_slot_unmasked             $14 = [switch_with_if_that_returns].result
333label                          label 0x0000003B
334copy_slot_masked               $13 = Mask($14)
335label                          label 0x00000002
336load_condition_mask            CondMask = $20
337copy_constant                  $0 = 0
338merge_condition_mask           CondMask = $12 & $13
339branch_if_no_lanes_active      branch_if_no_lanes_active +29 (label 1 at #366)
340store_return_mask              $1 = RetMask
341store_loop_mask                $2 = LoopMask
342copy_uniform                   $3 = unknownInput
343cast_to_int_from_float         $3 = FloatToInt($3)
344store_loop_mask                $4 = LoopMask
345mask_off_loop_mask             LoopMask &= ~(CondMask & LoopMask & RetMask)
346case_op                        if ($3 == 0x00000001) { LoopMask = true; $4 = false; }
347branch_if_no_lanes_active      branch_if_no_lanes_active +8 (label 67 at #353)
348copy_uniform                   $5 = unknownInput
349cmpeq_imm_float                $5 = equal($5, 0x42F60000 (123.0))
350branch_if_no_active_lanes_eq   branch +4 (label 68 at #352) if no lanes of $5 == 0xFFFFFFFF
351copy_constant                  $6 = 0
352copy_slot_masked               [switch_with_one_sided_if_then_fallthrough].result = Mask($6)
353mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
354label                          label 0x00000044
355label                          label 0x00000043
356reenable_loop_mask             LoopMask |= $4
357branch_if_no_lanes_active      branch_if_no_lanes_active +4 (label 70 at #359)
358copy_constant                  $4 = 0xFFFFFFFF
359copy_slot_masked               [switch_with_one_sided_if_then_fallthrough].result = Mask($4)
360mask_off_return_mask           RetMask &= ~(CondMask & LoopMask & RetMask)
361label                          label 0x00000046
362label                          label 0x00000042
363load_loop_mask                 LoopMask = $2
364load_return_mask               RetMask = $1
365copy_slot_unmasked             $1 = [switch_with_one_sided_if_then_fallthrough].result
366label                          label 0x00000041
367copy_slot_masked               $0 = Mask($1)
368label                          label 0x00000001
369load_condition_mask            CondMask = $12
370swizzle_4                      $0..3 = ($0..3).xxxx
371copy_4_uniforms                $4..7 = colorRed
372copy_4_uniforms                $8..11 = colorGreen
373mix_4_ints                     $0..3 = mix($4..7, $8..11, $0..3)
374load_src                       src.rgba = $0..3
375