1. store_src_rg coords = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. copy_constant $0 = unknownInput | |
4. copy_slot_unmasked _0_unknown = $0 | |
5. copy_constant $0 = 0xFFFFFFFF | |
6. copy_slot_unmasked _1_ok = $0 | |
7. copy_constant $0 = 0x42080000 (34.0) | |
8. copy_slot_unmasked _2_x = $0 | |
9. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
10. copy_constant $2 = 0x42080000 (34.0) | |
11. cmpeq_float $1 = equal($1, $2) | |
12. bitwise_and_int $0 &= $1 | |
13. copy_slot_masked _1_ok = Mask($0) | |
14. copy_constant $0 = 0x41F00000 (30.0) | |
15. copy_slot_masked _2_x = Mask($0) | |
16. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
17. copy_constant $2 = 0x41F00000 (30.0) | |
18. cmpeq_float $1 = equal($1, $2) | |
19. bitwise_and_int $0 &= $1 | |
20. copy_slot_masked _1_ok = Mask($0) | |
21. copy_constant $0 = 0x42800000 (64.0) | |
22. copy_slot_masked _2_x = Mask($0) | |
23. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
24. copy_constant $2 = 0x42800000 (64.0) | |
25. cmpeq_float $1 = equal($1, $2) | |
26. bitwise_and_int $0 &= $1 | |
27. copy_slot_masked _1_ok = Mask($0) | |
28. copy_constant $0 = 0x41800000 (16.0) | |
29. copy_slot_masked _2_x = Mask($0) | |
30. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
31. copy_constant $2 = 0x41800000 (16.0) | |
32. cmpeq_float $1 = equal($1, $2) | |
33. bitwise_and_int $0 &= $1 | |
34. copy_slot_masked _1_ok = Mask($0) | |
35. copy_constant $0 = 0x41980000 (19.0) | |
36. copy_slot_masked _2_x = Mask($0) | |
37. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
38. copy_constant $2 = 0x41980000 (19.0) | |
39. cmpeq_float $1 = equal($1, $2) | |
40. bitwise_and_int $0 &= $1 | |
41. copy_slot_masked _1_ok = Mask($0) | |
42. copy_constant $0 = 0x3F800000 (1.0) | |
43. copy_slot_masked _2_x = Mask($0) | |
44. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
45. copy_constant $2 = 0x3F800000 (1.0) | |
46. cmpeq_float $1 = equal($1, $2) | |
47. bitwise_and_int $0 &= $1 | |
48. copy_slot_masked _1_ok = Mask($0) | |
49. copy_constant $0 = 0xC0000000 (-2.0) | |
50. copy_slot_masked _2_x = Mask($0) | |
51. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
52. copy_constant $2 = 0xC0000000 (-2.0) | |
53. cmpeq_float $1 = equal($1, $2) | |
54. bitwise_and_int $0 &= $1 | |
55. copy_slot_masked _1_ok = Mask($0) | |
56. copy_constant $0 = 0x40400000 (3.0) | |
57. copy_slot_masked _2_x = Mask($0) | |
58. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
59. copy_constant $2 = 0x40400000 (3.0) | |
60. cmpeq_float $1 = equal($1, $2) | |
61. bitwise_and_int $0 &= $1 | |
62. copy_slot_masked _1_ok = Mask($0) | |
63. copy_constant $0 = 0xC0800000 (-4.0) | |
64. copy_slot_masked _2_x = Mask($0) | |
65. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
66. copy_constant $2 = 0xC0800000 (-4.0) | |
67. cmpeq_float $1 = equal($1, $2) | |
68. bitwise_and_int $0 &= $1 | |
69. copy_slot_masked _1_ok = Mask($0) | |
70. copy_constant $0 = 0x40A00000 (5.0) | |
71. copy_slot_masked _2_x = Mask($0) | |
72. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
73. copy_constant $2 = 0x40A00000 (5.0) | |
74. cmpeq_float $1 = equal($1, $2) | |
75. bitwise_and_int $0 &= $1 | |
76. copy_slot_masked _1_ok = Mask($0) | |
77. copy_constant $0 = 0xC0C00000 (-6.0) | |
78. copy_slot_masked _2_x = Mask($0) | |
79. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
80. copy_constant $2 = 0xC0C00000 (-6.0) | |
81. cmpeq_float $1 = equal($1, $2) | |
82. bitwise_and_int $0 &= $1 | |
83. copy_slot_masked _1_ok = Mask($0) | |
84. copy_constant $0 = 0x40E00000 (7.0) | |
85. copy_slot_masked _2_x = Mask($0) | |
86. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
87. copy_constant $2 = 0x40E00000 (7.0) | |
88. cmpeq_float $1 = equal($1, $2) | |
89. bitwise_and_int $0 &= $1 | |
90. copy_slot_masked _1_ok = Mask($0) | |
91. copy_constant $0 = 0xC1000000 (-8.0) | |
92. copy_slot_masked _2_x = Mask($0) | |
93. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
94. copy_constant $2 = 0xC1000000 (-8.0) | |
95. cmpeq_float $1 = equal($1, $2) | |
96. bitwise_and_int $0 &= $1 | |
97. copy_slot_masked _1_ok = Mask($0) | |
98. copy_constant $0 = 0x41100000 (9.0) | |
99. copy_slot_masked _2_x = Mask($0) | |
100. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
101. copy_constant $2 = 0x41100000 (9.0) | |
102. cmpeq_float $1 = equal($1, $2) | |
103. bitwise_and_int $0 &= $1 | |
104. copy_slot_masked _1_ok = Mask($0) | |
105. copy_constant $0 = 0xC1200000 (-10.0) | |
106. copy_slot_masked _2_x = Mask($0) | |
107. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
108. copy_constant $2 = 0xC1200000 (-10.0) | |
109. cmpeq_float $1 = equal($1, $2) | |
110. bitwise_and_int $0 &= $1 | |
111. copy_slot_masked _1_ok = Mask($0) | |
112. copy_constant $0 = 0x41300000 (11.0) | |
113. copy_slot_masked _2_x = Mask($0) | |
114. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
115. copy_constant $2 = 0x41300000 (11.0) | |
116. cmpeq_float $1 = equal($1, $2) | |
117. bitwise_and_int $0 &= $1 | |
118. copy_slot_masked _1_ok = Mask($0) | |
119. copy_constant $0 = 0xC1400000 (-12.0) | |
120. copy_slot_masked _2_x = Mask($0) | |
121. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
122. copy_constant $2 = 0xC1400000 (-12.0) | |
123. cmpeq_float $1 = equal($1, $2) | |
124. bitwise_and_int $0 &= $1 | |
125. copy_slot_masked _1_ok = Mask($0) | |
126. copy_slot_unmasked $0 = _0_unknown | |
127. copy_slot_masked _2_x = Mask($0) | |
128. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
129. copy_slot_unmasked $2 = _0_unknown | |
130. cmpeq_float $1 = equal($1, $2) | |
131. bitwise_and_int $0 &= $1 | |
132. copy_slot_masked _1_ok = Mask($0) | |
133. copy_slot_unmasked $0 = _0_unknown | |
134. copy_slot_masked _2_x = Mask($0) | |
135. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
136. copy_slot_unmasked $2 = _0_unknown | |
137. cmpeq_float $1 = equal($1, $2) | |
138. bitwise_and_int $0 &= $1 | |
139. copy_slot_masked _1_ok = Mask($0) | |
140. copy_slot_unmasked $0 = _0_unknown | |
141. copy_slot_masked _2_x = Mask($0) | |
142. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
143. copy_slot_unmasked $2 = _0_unknown | |
144. cmpeq_float $1 = equal($1, $2) | |
145. bitwise_and_int $0 &= $1 | |
146. copy_slot_masked _1_ok = Mask($0) | |
147. zero_slot_unmasked $0 = 0 | |
148. copy_slot_masked _2_x = Mask($0) | |
149. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
150. zero_slot_unmasked $2 = 0 | |
151. cmpeq_float $1 = equal($1, $2) | |
152. bitwise_and_int $0 &= $1 | |
153. copy_slot_masked _1_ok = Mask($0) | |
154. copy_slot_unmasked $0 = _0_unknown | |
155. copy_slot_masked _2_x = Mask($0) | |
156. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
157. copy_slot_unmasked $2 = _0_unknown | |
158. cmpeq_float $1 = equal($1, $2) | |
159. bitwise_and_int $0 &= $1 | |
160. copy_slot_masked _1_ok = Mask($0) | |
161. copy_slot_unmasked $0 = _0_unknown | |
162. copy_slot_masked _2_x = Mask($0) | |
163. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
164. copy_slot_unmasked $2 = _0_unknown | |
165. cmpeq_float $1 = equal($1, $2) | |
166. bitwise_and_int $0 &= $1 | |
167. copy_slot_masked _1_ok = Mask($0) | |
168. zero_slot_unmasked $0 = 0 | |
169. copy_slot_masked _2_x = Mask($0) | |
170. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
171. zero_slot_unmasked $2 = 0 | |
172. cmpeq_float $1 = equal($1, $2) | |
173. bitwise_and_int $0 &= $1 | |
174. copy_slot_masked _1_ok = Mask($0) | |
175. copy_slot_unmasked $0 = _0_unknown | |
176. copy_slot_masked _2_x = Mask($0) | |
177. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
178. copy_slot_unmasked $2 = _0_unknown | |
179. cmpeq_float $1 = equal($1, $2) | |
180. bitwise_and_int $0 &= $1 | |
181. copy_slot_masked _1_ok = Mask($0) | |
182. zero_slot_unmasked $0 = 0 | |
183. copy_slot_unmasked $1 = _0_unknown | |
184. div_float $0 /= $1 | |
185. copy_slot_masked _2_x = Mask($0) | |
186. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
187. zero_slot_unmasked $2 = 0 | |
188. cmpeq_float $1 = equal($1, $2) | |
189. bitwise_and_int $0 &= $1 | |
190. copy_slot_masked _1_ok = Mask($0) | |
191. copy_slot_unmasked $0 = _2_x | |
192. copy_constant $1 = 0x3F800000 (1.0) | |
193. add_float $0 += $1 | |
194. copy_slot_masked _2_x = Mask($0) | |
195. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
196. copy_constant $2 = 0x3F800000 (1.0) | |
197. cmpeq_float $1 = equal($1, $2) | |
198. bitwise_and_int $0 &= $1 | |
199. copy_slot_masked _1_ok = Mask($0) | |
200. copy_slot_unmasked $1 = _2_x | |
201. copy_constant $2 = 0x3F800000 (1.0) | |
202. cmpeq_float $1 = equal($1, $2) | |
203. bitwise_and_int $0 &= $1 | |
204. copy_slot_masked _1_ok = Mask($0) | |
205. copy_slot_unmasked $0 = _2_x | |
206. copy_constant $1 = 0x40000000 (2.0) | |
207. sub_float $0 -= $1 | |
208. copy_slot_masked _2_x = Mask($0) | |
209. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
210. copy_constant $2 = 0xBF800000 (-1.0) | |
211. cmpeq_float $1 = equal($1, $2) | |
212. bitwise_and_int $0 &= $1 | |
213. copy_slot_masked _1_ok = Mask($0) | |
214. copy_slot_unmasked $1 = _2_x | |
215. copy_constant $2 = 0xBF800000 (-1.0) | |
216. cmpeq_float $1 = equal($1, $2) | |
217. bitwise_and_int $0 &= $1 | |
218. copy_slot_masked _1_ok = Mask($0) | |
219. copy_slot_unmasked $1 = _2_x | |
220. copy_constant $2 = 0xBF800000 (-1.0) | |
221. cmpeq_float $1 = equal($1, $2) | |
222. bitwise_and_int $0 &= $1 | |
223. copy_slot_masked _1_ok = Mask($0) | |
224. copy_slot_unmasked $0 = _2_x | |
225. copy_constant $1 = 0x40000000 (2.0) | |
226. mul_float $0 *= $1 | |
227. copy_slot_masked _2_x = Mask($0) | |
228. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
229. copy_constant $2 = 0xC0000000 (-2.0) | |
230. cmpeq_float $1 = equal($1, $2) | |
231. bitwise_and_int $0 &= $1 | |
232. copy_slot_masked _1_ok = Mask($0) | |
233. copy_slot_unmasked $1 = _2_x | |
234. copy_constant $2 = 0xC0000000 (-2.0) | |
235. cmpeq_float $1 = equal($1, $2) | |
236. bitwise_and_int $0 &= $1 | |
237. copy_slot_masked _1_ok = Mask($0) | |
238. copy_slot_unmasked $0 = _2_x | |
239. copy_constant $1 = 0x40000000 (2.0) | |
240. div_float $0 /= $1 | |
241. copy_slot_masked _2_x = Mask($0) | |
242. copy_2_slots_unmasked $0..1 = _1_ok(0..1) | |
243. copy_constant $2 = 0xBF800000 (-1.0) | |
244. cmpeq_float $1 = equal($1, $2) | |
245. bitwise_and_int $0 &= $1 | |
246. copy_slot_masked _1_ok = Mask($0) | |
247. store_condition_mask $8 = CondMask | |
248. copy_slot_unmasked $9 = _1_ok | |
249. copy_4_constants $0..3 = colorRed | |
250. merge_condition_mask CondMask = $8 & $9 | |
251. copy_4_constants $4..7 = colorGreen | |
252. copy_4_slots_masked $0..3 = Mask($4..7) | |
253. load_condition_mask CondMask = $8 | |
254. copy_4_slots_masked [main].result = Mask($0..3) | |
255. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
256. load_src src.rgba = [main].result |