1. store_src_rg coords = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. copy_constant x(0) = 0x3F800000 (1.0) | |
4. copy_constant x(1) = 0x3F800000 (1.0) | |
5. copy_constant x(2) = 0x3F800000 (1.0) | |
6. copy_constant x(3) = 0x3F800000 (1.0) | |
7. store_loop_mask $0 = LoopMask | |
8. jump jump +14 (#22) | |
9. zero_slot_unmasked [for-loop continue mask 0] = 0 | |
10. copy_slot_unmasked $1 = x(0) | |
11. copy_constant $2 = 0x3E800000 (0.25) | |
12. sub_float $1 -= $2 | |
13. copy_slot_masked x(0) = Mask($1) | |
14. store_condition_mask $1 = CondMask | |
15. copy_slot_unmasked $2 = x(0) | |
16. zero_slot_unmasked $3 = 0 | |
17. cmple_float $2 = lessThanEqual($2, $3) | |
18. merge_condition_mask CondMask = $1 & $2 | |
19. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
20. load_condition_mask CondMask = $1 | |
21. reenable_loop_mask LoopMask |= [for-loop continue mask 0] | |
22. copy_slot_unmasked $1 = x(3) | |
23. copy_constant $2 = 0x3F800000 (1.0) | |
24. cmpeq_float $1 = equal($1, $2) | |
25. merge_loop_mask LoopMask &= $1 | |
26. stack_rewind | |
27. branch_if_any_active_lanes branch_if_any_active_lanes -18 (#9) | |
28. load_loop_mask LoopMask = $0 | |
29. store_loop_mask $0 = LoopMask | |
30. jump jump +18 (#48) | |
31. zero_slot_unmasked [for-loop continue mask 1] = 0 | |
32. copy_slot_unmasked $1 = x(2) | |
33. copy_constant $2 = 0x3E800000 (0.25) | |
34. sub_float $1 -= $2 | |
35. copy_slot_masked x(2) = Mask($1) | |
36. store_condition_mask $1 = CondMask | |
37. copy_slot_unmasked $2 = x(3) | |
38. copy_constant $3 = 0x3F800000 (1.0) | |
39. cmpeq_float $2 = equal($2, $3) | |
40. merge_condition_mask CondMask = $1 & $2 | |
41. copy_constant $3 = 0xFFFFFFFF | |
42. copy_slot_masked [for-loop continue mask 1] = Mask($3) | |
43. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
44. load_condition_mask CondMask = $1 | |
45. zero_slot_unmasked $1 = 0 | |
46. copy_slot_masked x(1) = Mask($1) | |
47. reenable_loop_mask LoopMask |= [for-loop continue mask 1] | |
48. zero_slot_unmasked $1 = 0 | |
49. copy_slot_unmasked $2 = x(2) | |
50. cmplt_float $1 = lessThan($1, $2) | |
51. merge_loop_mask LoopMask &= $1 | |
52. stack_rewind | |
53. branch_if_any_active_lanes branch_if_any_active_lanes -22 (#31) | |
54. load_loop_mask LoopMask = $0 | |
55. copy_4_slots_unmasked $0..3 = x | |
56. copy_4_slots_unmasked [main].result = $0..3 | |
57. load_src src.rgba = [main].result |