1. store_src_rg xy = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. store_condition_mask $12 = CondMask | |
4. store_condition_mask $23 = CondMask | |
5. store_condition_mask $26 = CondMask | |
6. store_condition_mask $17 = CondMask | |
7. store_condition_mask $41 = CondMask | |
8. store_condition_mask $33 = CondMask | |
9. store_condition_mask $8 = CondMask | |
10. store_condition_mask $37 = CondMask | |
11. branch_if_no_active_lanes branch_if_no_active_lanes +15 (#26) | |
12. store_return_mask $38 = RetMask | |
13. store_loop_mask $39 = LoopMask | |
14. zero_slot_unmasked [do-loop continue mask 0] = 0 | |
15. copy_constant $40 = 0xFFFFFFFF | |
16. copy_slot_masked [test_return].result = Mask($40) | |
17. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
18. reenable_loop_mask LoopMask |= [do-loop continue mask 0] | |
19. zero_slot_unmasked $40 = 0 | |
20. merge_loop_mask LoopMask &= $40 | |
21. stack_rewind | |
22. branch_if_any_active_lanes branch_if_any_active_lanes -8 (#14) | |
23. load_loop_mask LoopMask = $39 | |
24. load_return_mask RetMask = $38 | |
25. copy_slot_unmasked $38 = [test_return].result | |
26. zero_slot_unmasked $9 = 0 | |
27. merge_condition_mask CondMask = $37 & $38 | |
28. branch_if_no_active_lanes branch_if_no_active_lanes +13 (#41) | |
29. store_loop_mask $10 = LoopMask | |
30. zero_slot_unmasked [do-loop continue mask 1] = 0 | |
31. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
32. reenable_loop_mask LoopMask |= [do-loop continue mask 1] | |
33. zero_slot_unmasked $11 = 0 | |
34. merge_loop_mask LoopMask &= $11 | |
35. stack_rewind | |
36. branch_if_any_active_lanes branch_if_any_active_lanes -6 (#30) | |
37. load_loop_mask LoopMask = $10 | |
38. copy_constant $10 = 0xFFFFFFFF | |
39. copy_slot_masked [test_break].result = Mask($10) | |
40. copy_slot_masked $9 = Mask($10) | |
41. load_condition_mask CondMask = $37 | |
42. zero_slot_unmasked $34 = 0 | |
43. merge_condition_mask CondMask = $8 & $9 | |
44. branch_if_no_active_lanes branch_if_no_active_lanes +15 (#59) | |
45. store_loop_mask $35 = LoopMask | |
46. zero_slot_unmasked [do-loop continue mask 2] = 0 | |
47. copy_constant $36 = 0xFFFFFFFF | |
48. copy_slot_masked [do-loop continue mask 2] = Mask($36) | |
49. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
50. reenable_loop_mask LoopMask |= [do-loop continue mask 2] | |
51. zero_slot_unmasked $36 = 0 | |
52. merge_loop_mask LoopMask &= $36 | |
53. stack_rewind | |
54. branch_if_any_active_lanes branch_if_any_active_lanes -8 (#46) | |
55. load_loop_mask LoopMask = $35 | |
56. copy_constant $35 = 0xFFFFFFFF | |
57. copy_slot_masked [test_continue].result = Mask($35) | |
58. copy_slot_masked $34 = Mask($35) | |
59. load_condition_mask CondMask = $8 | |
60. zero_slot_unmasked $42 = 0 | |
61. merge_condition_mask CondMask = $33 & $34 | |
62. branch_if_no_active_lanes branch_if_no_active_lanes +30 (#92) | |
63. store_return_mask $43 = RetMask | |
64. store_loop_mask $44 = LoopMask | |
65. zero_slot_unmasked [do-loop continue mask 3] = 0 | |
66. store_condition_mask $45 = CondMask | |
67. zero_slot_unmasked $46 = 0 | |
68. copy_constant $47 = colorGreen(1) | |
69. cmplt_float $46 = lessThan($46, $47) | |
70. merge_condition_mask CondMask = $45 & $46 | |
71. copy_constant $47 = 0xFFFFFFFF | |
72. copy_slot_masked [test_if_return].result = Mask($47) | |
73. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
74. bitwise_not_int $46 = ~$46 | |
75. merge_condition_mask CondMask = $45 & $46 | |
76. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
77. load_condition_mask CondMask = $45 | |
78. copy_constant $45 = 0xFFFFFFFF | |
79. copy_slot_masked [do-loop continue mask 3] = Mask($45) | |
80. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
81. reenable_loop_mask LoopMask |= [do-loop continue mask 3] | |
82. zero_slot_unmasked $45 = 0 | |
83. merge_loop_mask LoopMask &= $45 | |
84. stack_rewind | |
85. branch_if_any_active_lanes branch_if_any_active_lanes -20 (#65) | |
86. load_loop_mask LoopMask = $44 | |
87. zero_slot_unmasked $44 = 0 | |
88. copy_slot_masked [test_if_return].result = Mask($44) | |
89. load_return_mask RetMask = $43 | |
90. copy_slot_unmasked $43 = [test_if_return].result | |
91. copy_slot_masked $42 = Mask($43) | |
92. load_condition_mask CondMask = $33 | |
93. zero_slot_unmasked $18 = 0 | |
94. merge_condition_mask CondMask = $41 & $42 | |
95. branch_if_no_active_lanes branch_if_no_active_lanes +24 (#119) | |
96. store_loop_mask $19 = LoopMask | |
97. zero_slot_unmasked [do-loop continue mask 4] = 0 | |
98. store_condition_mask $20 = CondMask | |
99. zero_slot_unmasked $21 = 0 | |
100. copy_constant $22 = colorGreen(1) | |
101. cmplt_float $21 = lessThan($21, $22) | |
102. merge_condition_mask CondMask = $20 & $21 | |
103. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
104. bitwise_not_int $21 = ~$21 | |
105. merge_condition_mask CondMask = $20 & $21 | |
106. copy_constant $22 = 0xFFFFFFFF | |
107. copy_slot_masked [do-loop continue mask 4] = Mask($22) | |
108. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
109. load_condition_mask CondMask = $20 | |
110. reenable_loop_mask LoopMask |= [do-loop continue mask 4] | |
111. zero_slot_unmasked $20 = 0 | |
112. merge_loop_mask LoopMask &= $20 | |
113. stack_rewind | |
114. branch_if_any_active_lanes branch_if_any_active_lanes -17 (#97) | |
115. load_loop_mask LoopMask = $19 | |
116. copy_constant $19 = 0xFFFFFFFF | |
117. copy_slot_masked [test_if_break].result = Mask($19) | |
118. copy_slot_masked $18 = Mask($19) | |
119. load_condition_mask CondMask = $41 | |
120. zero_slot_unmasked $27 = 0 | |
121. merge_condition_mask CondMask = $17 & $18 | |
122. branch_if_no_active_lanes branch_if_no_active_lanes +27 (#149) | |
123. store_return_mask $28 = RetMask | |
124. store_loop_mask $29 = LoopMask | |
125. zero_slot_unmasked [do-loop continue mask 5] = 0 | |
126. store_condition_mask $30 = CondMask | |
127. copy_constant $31 = colorGreen(1) | |
128. zero_slot_unmasked $32 = 0 | |
129. cmpeq_float $31 = equal($31, $32) | |
130. merge_condition_mask CondMask = $30 & $31 | |
131. zero_slot_unmasked $32 = 0 | |
132. copy_slot_masked [test_else].result = Mask($32) | |
133. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
134. bitwise_not_int $31 = ~$31 | |
135. merge_condition_mask CondMask = $30 & $31 | |
136. copy_constant $32 = 0xFFFFFFFF | |
137. copy_slot_masked [test_else].result = Mask($32) | |
138. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
139. load_condition_mask CondMask = $30 | |
140. reenable_loop_mask LoopMask |= [do-loop continue mask 5] | |
141. zero_slot_unmasked $30 = 0 | |
142. merge_loop_mask LoopMask &= $30 | |
143. stack_rewind | |
144. branch_if_any_active_lanes branch_if_any_active_lanes -19 (#125) | |
145. load_loop_mask LoopMask = $29 | |
146. load_return_mask RetMask = $28 | |
147. copy_slot_unmasked $28 = [test_else].result | |
148. copy_slot_masked $27 = Mask($28) | |
149. load_condition_mask CondMask = $17 | |
150. zero_slot_unmasked $24 = 0 | |
151. merge_condition_mask CondMask = $26 & $27 | |
152. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#156) | |
153. copy_constant $25 = 0xFFFFFFFF | |
154. copy_slot_masked [test_loop_return].result = Mask($25) | |
155. copy_slot_masked $24 = Mask($25) | |
156. load_condition_mask CondMask = $26 | |
157. zero_slot_unmasked $13 = 0 | |
158. merge_condition_mask CondMask = $23 & $24 | |
159. branch_if_no_active_lanes branch_if_no_active_lanes +21 (#180) | |
160. zero_slot_unmasked x = 0 | |
161. store_loop_mask $14 = LoopMask | |
162. jump jump +8 (#170) | |
163. zero_slot_unmasked [for-loop continue mask 6] = 0 | |
164. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
165. reenable_loop_mask LoopMask |= [for-loop continue mask 6] | |
166. copy_slot_unmasked $15 = x | |
167. copy_constant $16 = 0x00000001 (1.401298e-45) | |
168. add_int $15 += $16 | |
169. copy_slot_masked x = Mask($15) | |
170. copy_slot_unmasked $15 = x | |
171. copy_constant $16 = 0x00000001 (1.401298e-45) | |
172. cmple_int $15 = lessThanEqual($15, $16) | |
173. merge_loop_mask LoopMask &= $15 | |
174. stack_rewind | |
175. branch_if_any_active_lanes branch_if_any_active_lanes -12 (#163) | |
176. load_loop_mask LoopMask = $14 | |
177. copy_constant $14 = 0xFFFFFFFF | |
178. copy_slot_masked [test_loop_break].result = Mask($14) | |
179. copy_slot_masked $13 = Mask($14) | |
180. load_condition_mask CondMask = $23 | |
181. copy_4_constants $0..3 = colorRed | |
182. merge_condition_mask CondMask = $12 & $13 | |
183. copy_4_constants $4..7 = colorGreen | |
184. copy_4_slots_masked $0..3 = Mask($4..7) | |
185. load_condition_mask CondMask = $12 | |
186. copy_4_slots_unmasked [main].result = $0..3 | |
187. load_src src.rgba = [main].result |