1. store_src_rg coords = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. store_condition_mask $8 = CondMask | |
4. store_condition_mask $21 = CondMask | |
5. store_condition_mask $27 = CondMask | |
6. store_condition_mask $15 = CondMask | |
7. store_condition_mask $32 = CondMask | |
8. copy_constant $31 = 0xFFFFFFFF | |
9. branch_if_no_active_lanes_eq branch +13 (#22) if no lanes of $31 == 0xFFFFFFFF | |
10. branch_if_no_active_lanes branch_if_no_active_lanes +11 (#21) | |
11. copy_constant $33 = unknownInput | |
12. copy_constant $34 = 0x3F800000 (1.0) | |
13. cmpeq_float $33 = equal($33, $34) | |
14. branch_if_no_active_lanes_eq branch +4 (#18) if no lanes of $33 == 0xFFFFFFFF | |
15. copy_constant $34 = 0xFFFFFFFF | |
16. copy_slot_masked [return_on_both_sides].result = Mask($34) | |
17. jump jump +3 (#20) | |
18. copy_constant $34 = 0xFFFFFFFF | |
19. copy_slot_masked [return_on_both_sides].result = Mask($34) | |
20. copy_slot_unmasked $33 = [return_on_both_sides].result | |
21. jump jump +2 (#23) | |
22. zero_slot_unmasked $33 = 0 | |
23. zero_slot_unmasked $16 = 0 | |
24. merge_condition_mask CondMask = $32 & $33 | |
25. branch_if_no_active_lanes branch_if_no_active_lanes +22 (#47) | |
26. store_return_mask $17 = RetMask | |
27. zero_slot_unmasked x = 0 | |
28. store_loop_mask $18 = LoopMask | |
29. jump jump +8 (#37) | |
30. copy_constant $19 = 0xFFFFFFFF | |
31. copy_slot_masked [for_inside_body].result = Mask($19) | |
32. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
33. copy_slot_unmasked $19 = x | |
34. copy_constant $20 = 0x00000001 (1.401298e-45) | |
35. add_int $19 += $20 | |
36. copy_slot_masked x = Mask($19) | |
37. copy_slot_unmasked $19 = x | |
38. copy_constant $20 = 0x0000000A (1.401298e-44) | |
39. cmple_int $19 = lessThanEqual($19, $20) | |
40. merge_loop_mask LoopMask &= $19 | |
41. stack_rewind | |
42. branch_if_any_active_lanes branch_if_any_active_lanes -12 (#30) | |
43. load_loop_mask LoopMask = $18 | |
44. load_return_mask RetMask = $17 | |
45. copy_slot_unmasked $17 = [for_inside_body].result | |
46. copy_slot_masked $16 = Mask($17) | |
47. load_condition_mask CondMask = $32 | |
48. zero_slot_unmasked $28 = 0 | |
49. merge_condition_mask CondMask = $15 & $16 | |
50. branch_if_no_active_lanes branch_if_no_active_lanes +13 (#63) | |
51. zero_slot_unmasked x = 0 | |
52. copy_slot_unmasked $29 = x | |
53. copy_constant $30 = 0x00000001 (1.401298e-45) | |
54. add_int $29 += $30 | |
55. copy_slot_masked x = Mask($29) | |
56. copy_constant $30 = 0x0000000A (1.401298e-44) | |
57. cmple_int $29 = lessThanEqual($29, $30) | |
58. stack_rewind | |
59. branch_if_no_active_lanes_eq branch -7 (#52) if no lanes of $29 == 0x00000000 (0.0) | |
60. copy_constant $29 = 0xFFFFFFFF | |
61. copy_slot_masked [after_for_body].result = Mask($29) | |
62. copy_slot_masked $28 = Mask($29) | |
63. load_condition_mask CondMask = $15 | |
64. zero_slot_unmasked $22 = 0 | |
65. merge_condition_mask CondMask = $27 & $28 | |
66. branch_if_no_active_lanes branch_if_no_active_lanes +30 (#96) | |
67. store_return_mask $23 = RetMask | |
68. zero_slot_unmasked x = 0 | |
69. store_loop_mask $24 = LoopMask | |
70. jump jump +16 (#86) | |
71. copy_constant $25 = unknownInput | |
72. copy_constant $26 = 0x3F800000 (1.0) | |
73. cmpeq_float $25 = equal($25, $26) | |
74. branch_if_no_active_lanes_eq branch +5 (#79) if no lanes of $25 == 0xFFFFFFFF | |
75. copy_constant $26 = 0xFFFFFFFF | |
76. copy_slot_masked [for_with_double_sided_conditional_return].result = Mask($26) | |
77. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
78. jump jump +4 (#82) | |
79. copy_constant $26 = 0xFFFFFFFF | |
80. copy_slot_masked [for_with_double_sided_conditional_return].result = Mask($26) | |
81. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
82. copy_slot_unmasked $25 = x | |
83. copy_constant $26 = 0x00000001 (1.401298e-45) | |
84. add_int $25 += $26 | |
85. copy_slot_masked x = Mask($25) | |
86. copy_slot_unmasked $25 = x | |
87. copy_constant $26 = 0x0000000A (1.401298e-44) | |
88. cmple_int $25 = lessThanEqual($25, $26) | |
89. merge_loop_mask LoopMask &= $25 | |
90. stack_rewind | |
91. branch_if_any_active_lanes branch_if_any_active_lanes -20 (#71) | |
92. load_loop_mask LoopMask = $24 | |
93. load_return_mask RetMask = $23 | |
94. copy_slot_unmasked $23 = [for_with_double_sided_conditional_return].result | |
95. copy_slot_masked $22 = Mask($23) | |
96. load_condition_mask CondMask = $27 | |
97. zero_slot_unmasked $9 = 0 | |
98. merge_condition_mask CondMask = $21 & $22 | |
99. branch_if_no_active_lanes branch_if_no_active_lanes +33 (#132) | |
100. copy_constant $10 = unknownInput | |
101. copy_constant $11 = 0x3F800000 (1.0) | |
102. cmpeq_float $10 = equal($10, $11) | |
103. branch_if_no_active_lanes_eq branch +4 (#107) if no lanes of $10 == 0xFFFFFFFF | |
104. copy_constant $11 = 0xFFFFFFFF | |
105. copy_slot_masked [if_else_chain].result = Mask($11) | |
106. jump jump +24 (#130) | |
107. copy_constant $11 = unknownInput | |
108. copy_constant $12 = 0x40000000 (2.0) | |
109. cmpeq_float $11 = equal($11, $12) | |
110. branch_if_no_active_lanes_eq branch +4 (#114) if no lanes of $11 == 0xFFFFFFFF | |
111. zero_slot_unmasked $12 = 0 | |
112. copy_slot_masked [if_else_chain].result = Mask($12) | |
113. jump jump +17 (#130) | |
114. copy_constant $12 = unknownInput | |
115. copy_constant $13 = 0x40400000 (3.0) | |
116. cmpeq_float $12 = equal($12, $13) | |
117. branch_if_no_active_lanes_eq branch +4 (#121) if no lanes of $12 == 0xFFFFFFFF | |
118. copy_constant $13 = 0xFFFFFFFF | |
119. copy_slot_masked [if_else_chain].result = Mask($13) | |
120. jump jump +10 (#130) | |
121. copy_constant $13 = unknownInput | |
122. copy_constant $14 = 0x40800000 (4.0) | |
123. cmpeq_float $13 = equal($13, $14) | |
124. branch_if_no_active_lanes_eq branch +4 (#128) if no lanes of $13 == 0xFFFFFFFF | |
125. zero_slot_unmasked $14 = 0 | |
126. copy_slot_masked [if_else_chain].result = Mask($14) | |
127. jump jump +3 (#130) | |
128. copy_constant $14 = 0xFFFFFFFF | |
129. copy_slot_masked [if_else_chain].result = Mask($14) | |
130. copy_slot_unmasked $10 = [if_else_chain].result | |
131. copy_slot_masked $9 = Mask($10) | |
132. load_condition_mask CondMask = $21 | |
133. copy_4_constants $0..3 = colorRed | |
134. merge_condition_mask CondMask = $8 & $9 | |
135. copy_4_constants $4..7 = colorGreen | |
136. copy_4_slots_masked $0..3 = Mask($4..7) | |
137. load_condition_mask CondMask = $8 | |
138. copy_4_slots_unmasked [main].result = $0..3 | |
139. load_src src.rgba = [main].result |