1. store_src_rg coords = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. copy_constant $0 = colorGreen(0) | |
4. cast_to_int_from_float $0 = FloatToInt($0) | |
5. copy_slot_unmasked zero = $0 | |
6. copy_constant $0 = colorGreen(1) | |
7. cast_to_int_from_float $0 = FloatToInt($0) | |
8. copy_slot_unmasked one = $0 | |
9. copy_slot_unmasked $0 = zero | |
10. copy_slot_unmasked x = $0 | |
11. store_loop_mask $0 = LoopMask | |
12. jump jump +66 (#78) | |
13. zero_slot_unmasked [for-loop continue mask 0] = 0 | |
14. copy_slot_unmasked $1 = one | |
15. copy_slot_unmasked y = $1 | |
16. store_loop_mask $1 = LoopMask | |
17. jump jump +49 (#66) | |
18. zero_slot_unmasked [for-loop continue mask 1] = 0 | |
19. copy_slot_unmasked $2 = x | |
20. copy_slot_unmasked _0_x = $2 | |
21. zero_slot_unmasked _1_result = 0 | |
22. store_loop_mask $2 = LoopMask | |
23. jump jump +11 (#34) | |
24. zero_slot_unmasked [for-loop continue mask 2] = 0 | |
25. copy_slot_unmasked $3 = _1_result | |
26. copy_constant $4 = 0x00000001 (1.401298e-45) | |
27. add_int $3 += $4 | |
28. copy_slot_masked _1_result = Mask($3) | |
29. copy_slot_unmasked $3 = _0_x | |
30. copy_slot_unmasked $4 = y | |
31. sub_int $3 -= $4 | |
32. copy_slot_masked _0_x = Mask($3) | |
33. reenable_loop_mask LoopMask |= [for-loop continue mask 2] | |
34. copy_slot_unmasked $3 = y | |
35. copy_slot_unmasked $4 = _0_x | |
36. cmple_int $3 = lessThanEqual($3, $4) | |
37. merge_loop_mask LoopMask &= $3 | |
38. stack_rewind | |
39. branch_if_any_active_lanes branch_if_any_active_lanes -15 (#24) | |
40. load_loop_mask LoopMask = $2 | |
41. store_condition_mask $2 = CondMask | |
42. copy_slot_unmasked $3 = x | |
43. copy_slot_unmasked $4 = y | |
44. div_int $3 /= $4 | |
45. copy_slot_unmasked $4 = _1_result | |
46. cmpne_int $3 = notEqual($3, $4) | |
47. merge_condition_mask CondMask = $2 & $3 | |
48. copy_constant $4 = 0x3F800000 (1.0) | |
49. copy_slot_unmasked $5 = x | |
50. cast_to_float_from_int $5 = IntToFloat($5) | |
51. copy_constant $6 = 0x437F0000 (255.0) | |
52. div_float $5 /= $6 | |
53. copy_slot_unmasked $6 = y | |
54. cast_to_float_from_int $6 = IntToFloat($6) | |
55. copy_constant $7 = 0x437F0000 (255.0) | |
56. div_float $6 /= $7 | |
57. copy_constant $7 = 0x3F800000 (1.0) | |
58. copy_4_slots_masked [main].result = Mask($4..7) | |
59. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
60. load_condition_mask CondMask = $2 | |
61. reenable_loop_mask LoopMask |= [for-loop continue mask 1] | |
62. copy_slot_unmasked $2 = y | |
63. copy_constant $3 = 0x00000001 (1.401298e-45) | |
64. add_int $2 += $3 | |
65. copy_slot_masked y = Mask($2) | |
66. copy_slot_unmasked $2 = y | |
67. copy_constant $3 = 0x00000064 (1.401298e-43) | |
68. cmplt_int $2 = lessThan($2, $3) | |
69. merge_loop_mask LoopMask &= $2 | |
70. stack_rewind | |
71. branch_if_any_active_lanes branch_if_any_active_lanes -53 (#18) | |
72. load_loop_mask LoopMask = $1 | |
73. reenable_loop_mask LoopMask |= [for-loop continue mask 0] | |
74. copy_slot_unmasked $1 = x | |
75. copy_constant $2 = 0x00000001 (1.401298e-45) | |
76. add_int $1 += $2 | |
77. copy_slot_masked x = Mask($1) | |
78. copy_slot_unmasked $1 = x | |
79. copy_constant $2 = 0x00000064 (1.401298e-43) | |
80. cmplt_int $1 = lessThan($1, $2) | |
81. merge_loop_mask LoopMask &= $1 | |
82. stack_rewind | |
83. branch_if_any_active_lanes branch_if_any_active_lanes -70 (#13) | |
84. load_loop_mask LoopMask = $0 | |
85. copy_4_constants $0..3 = colorGreen | |
86. copy_4_slots_masked [main].result = Mask($0..3) | |
87. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
88. load_src src.rgba = [main].result |