blob: 92ae1dd5fb6e56c017a868d7a46acf766d69c2e6 [file] [log] [blame]
1. store_src_rg coords = src.rg
2. init_lane_masks CondMask = LoopMask = RetMask = true
3. copy_constant x1 = 0x3F800000 (1.0)
4. copy_constant $20 = 0x40000000 (2.0)
5. copy_slot_unmasked $21 = $20
6. copy_2_slots_unmasked x2 = $20..21
7. copy_constant $20 = 0x40400000 (3.0)
8. swizzle_3 $20..22 = ($20..22).xxx
9. copy_3_slots_unmasked x3 = $20..22
10. copy_constant $20 = 0x40800000 (4.0)
11. swizzle_4 $20..23 = ($20..23).xxxx
12. copy_4_slots_unmasked x4 = $20..23
13. zero_slot_unmasked $20 = 0
14. copy_constant $21 = 0x40000000 (2.0)
15. swizzle_4 $20..23 = ($20..23).yxxy
16. copy_4_slots_unmasked x5 = $20..23
17. zero_slot_unmasked $20 = 0
18. copy_constant $21 = 0x40400000 (3.0)
19. shuffle $20..28 = ($20..28)[1 0 0 0 1 0 0 0 1]
20. copy_4_slots_unmasked x6(0..3) = $20..23
21. copy_4_slots_unmasked x6(4..7) = $24..27
22. copy_slot_unmasked x6(8) = $28
23. zero_slot_unmasked $20 = 0
24. copy_constant $21 = 0x40800000 (4.0)
25. shuffle $20..35 = ($20..35)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
26. copy_4_slots_unmasked x7(0..3) = $20..23
27. copy_4_slots_unmasked x7(4..7) = $24..27
28. copy_4_slots_unmasked x7(8..11) = $28..31
29. copy_4_slots_unmasked x7(12..15) = $32..35
30. copy_constant x8 = 0x3F800000 (1.0)
31. copy_constant $20 = 0x40000000 (2.0)
32. copy_slot_unmasked $21 = $20
33. copy_2_slots_unmasked x9 = $20..21
34. copy_constant $20 = 0x40400000 (3.0)
35. swizzle_3 $20..22 = ($20..22).xxx
36. copy_3_slots_unmasked x10 = $20..22
37. copy_constant $20 = 0x40800000 (4.0)
38. swizzle_4 $20..23 = ($20..23).xxxx
39. copy_4_slots_unmasked x11 = $20..23
40. zero_slot_unmasked $20 = 0
41. copy_constant $21 = 0x40000000 (2.0)
42. swizzle_4 $20..23 = ($20..23).yxxy
43. copy_4_slots_unmasked x12 = $20..23
44. zero_slot_unmasked $20 = 0
45. copy_constant $21 = 0x40400000 (3.0)
46. shuffle $20..28 = ($20..28)[1 0 0 0 1 0 0 0 1]
47. copy_4_slots_unmasked x13(0..3) = $20..23
48. copy_4_slots_unmasked x13(4..7) = $24..27
49. copy_slot_unmasked x13(8) = $28
50. zero_slot_unmasked $20 = 0
51. copy_constant $21 = 0x40800000 (4.0)
52. shuffle $20..35 = ($20..35)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
53. copy_4_slots_unmasked x14(0..3) = $20..23
54. copy_4_slots_unmasked x14(4..7) = $24..27
55. copy_4_slots_unmasked x14(8..11) = $28..31
56. copy_4_slots_unmasked x14(12..15) = $32..35
57. copy_constant x15 = 0xFFFFFFFF
58. copy_constant $20 = 0xFFFFFFFF
59. copy_slot_unmasked $21 = $20
60. copy_2_slots_unmasked x16 = $20..21
61. copy_constant $20 = 0xFFFFFFFF
62. swizzle_3 $20..22 = ($20..22).xxx
63. copy_3_slots_unmasked x17 = $20..22
64. copy_constant $20 = 0xFFFFFFFF
65. swizzle_4 $20..23 = ($20..23).xxxx
66. copy_4_slots_unmasked x18 = $20..23
67. copy_constant x19 = 0x00000001 (1.401298e-45)
68. copy_constant $20 = 0x00000002 (2.802597e-45)
69. copy_slot_unmasked $21 = $20
70. copy_2_slots_unmasked x20 = $20..21
71. copy_constant $20 = 0x00000003 (4.203895e-45)
72. swizzle_3 $20..22 = ($20..22).xxx
73. copy_3_slots_unmasked x21 = $20..22
74. copy_constant $20 = 0x00000004 (5.605194e-45)
75. swizzle_4 $20..23 = ($20..23).xxxx
76. copy_4_slots_unmasked x22 = $20..23
77. store_condition_mask $197 = CondMask
78. store_condition_mask $60 = CondMask
79. store_condition_mask $68 = CondMask
80. store_condition_mask $56 = CondMask
81. store_condition_mask $86 = CondMask
82. store_condition_mask $74 = CondMask
83. store_condition_mask $50 = CondMask
84. store_condition_mask $82 = CondMask
85. store_condition_mask $140 = CondMask
86. store_condition_mask $102 = CondMask
87. store_condition_mask $40 = CondMask
88. store_condition_mask $130 = CondMask
89. store_condition_mask $122 = CondMask
90. store_condition_mask $96 = CondMask
91. store_condition_mask $36 = CondMask
92. store_condition_mask $207 = CondMask
93. store_condition_mask $0 = CondMask
94. store_condition_mask $187 = CondMask
95. store_condition_mask $174 = CondMask
96. store_condition_mask $247 = CondMask
97. store_condition_mask $241 = CondMask
98. store_condition_mask $184 = CondMask
99. copy_slot_unmasked $185 = x1
100. copy_constant $186 = 0x3F800000 (1.0)
101. cmpeq_float $185 = equal($185, $186)
102. zero_slot_unmasked $242 = 0
103. merge_condition_mask CondMask = $184 & $185
104. branch_if_no_active_lanes branch_if_no_active_lanes +9 (#113)
105. copy_2_slots_unmasked $243..244 = x2
106. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#110)
107. copy_constant $245 = 0x40000000 (2.0)
108. copy_slot_unmasked $246 = $245
109. copy_2_slots_masked [returns_float2].result = Mask($245..246)
110. cmpeq_2_floats $243..244 = equal($243..244, $245..246)
111. bitwise_and_int $243 &= $244
112. copy_slot_masked $242 = Mask($243)
113. load_condition_mask CondMask = $184
114. zero_slot_unmasked $248 = 0
115. merge_condition_mask CondMask = $241 & $242
116. branch_if_no_active_lanes branch_if_no_active_lanes +10 (#126)
117. copy_3_slots_unmasked $249..251 = x3
118. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#122)
119. copy_constant $252 = 0x40400000 (3.0)
120. swizzle_3 $252..254 = ($252..254).xxx
121. copy_3_slots_masked [returns_float3].result = Mask($252..254)
122. cmpeq_3_floats $249..251 = equal($249..251, $252..254)
123. bitwise_and_int $250 &= $251
124. bitwise_and_int $249 &= $250
125. copy_slot_masked $248 = Mask($249)
126. load_condition_mask CondMask = $241
127. zero_slot_unmasked $175 = 0
128. merge_condition_mask CondMask = $247 & $248
129. branch_if_no_active_lanes branch_if_no_active_lanes +10 (#139)
130. copy_4_slots_unmasked $176..179 = x4
131. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#135)
132. copy_constant $180 = 0x40800000 (4.0)
133. swizzle_4 $180..183 = ($180..183).xxxx
134. copy_4_slots_masked [returns_float4].result = Mask($180..183)
135. cmpeq_4_floats $176..179 = equal($176..179, $180..183)
136. bitwise_and_2_ints $176..177 &= $178..179
137. bitwise_and_int $176 &= $177
138. copy_slot_masked $175 = Mask($176)
139. load_condition_mask CondMask = $247
140. zero_slot_unmasked $188 = 0
141. merge_condition_mask CondMask = $174 & $175
142. branch_if_no_active_lanes branch_if_no_active_lanes +11 (#153)
143. copy_4_slots_unmasked $189..192 = x5
144. branch_if_no_active_lanes branch_if_no_active_lanes +5 (#149)
145. zero_slot_unmasked $193 = 0
146. copy_constant $194 = 0x40000000 (2.0)
147. swizzle_4 $193..196 = ($193..196).yxxy
148. copy_4_slots_masked [returns_float2x2].result = Mask($193..196)
149. cmpeq_4_floats $189..192 = equal($189..192, $193..196)
150. bitwise_and_2_ints $189..190 &= $191..192
151. bitwise_and_int $189 &= $190
152. copy_slot_masked $188 = Mask($189)
153. load_condition_mask CondMask = $174
154. zero_slot_unmasked $1 = 0
155. merge_condition_mask CondMask = $187 & $188
156. branch_if_no_active_lanes branch_if_no_active_lanes +17 (#173)
157. copy_4_slots_unmasked $2..5 = x6(0..3)
158. copy_4_slots_unmasked $6..9 = x6(4..7)
159. copy_slot_unmasked $10 = x6(8)
160. branch_if_no_active_lanes branch_if_no_active_lanes +7 (#167)
161. zero_slot_unmasked $11 = 0
162. copy_constant $12 = 0x40400000 (3.0)
163. shuffle $11..19 = ($11..19)[1 0 0 0 1 0 0 0 1]
164. copy_4_slots_masked [returns_float3x3].result(0..3) = Mask($11..14)
165. copy_4_slots_masked [returns_float3x3].result(4..7) = Mask($15..18)
166. copy_slot_masked [returns_float3x3].result(8) = Mask($19)
167. cmpeq_n_floats $2..10 = equal($2..10, $11..19)
168. bitwise_and_4_ints $3..6 &= $7..10
169. bitwise_and_2_ints $3..4 &= $5..6
170. bitwise_and_int $3 &= $4
171. bitwise_and_int $2 &= $3
172. copy_slot_masked $1 = Mask($2)
173. load_condition_mask CondMask = $187
174. zero_slot_unmasked $208 = 0
175. merge_condition_mask CondMask = $0 & $1
176. branch_if_no_active_lanes branch_if_no_active_lanes +20 (#196)
177. copy_4_slots_unmasked $209..212 = x7(0..3)
178. copy_4_slots_unmasked $213..216 = x7(4..7)
179. copy_4_slots_unmasked $217..220 = x7(8..11)
180. copy_4_slots_unmasked $221..224 = x7(12..15)
181. branch_if_no_active_lanes branch_if_no_active_lanes +8 (#189)
182. zero_slot_unmasked $225 = 0
183. copy_constant $226 = 0x40800000 (4.0)
184. shuffle $225..240 = ($225..240)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
185. copy_4_slots_masked [returns_float4x4].result(0..3) = Mask($225..228)
186. copy_4_slots_masked [returns_float4x4].result(4..7) = Mask($229..232)
187. copy_4_slots_masked [returns_float4x4].result(8..11) = Mask($233..236)
188. copy_4_slots_masked [returns_float4x4].result(12..15) = Mask($237..240)
189. cmpeq_n_floats $209..224 = equal($209..224, $225..240)
190. bitwise_and_4_ints $217..220 &= $221..224
191. bitwise_and_4_ints $213..216 &= $217..220
192. bitwise_and_4_ints $209..212 &= $213..216
193. bitwise_and_2_ints $209..210 &= $211..212
194. bitwise_and_int $209 &= $210
195. copy_slot_masked $208 = Mask($209)
196. load_condition_mask CondMask = $0
197. zero_slot_unmasked $37 = 0
198. merge_condition_mask CondMask = $207 & $208
199. branch_if_no_active_lanes branch_if_no_active_lanes +7 (#206)
200. copy_slot_unmasked $38 = x8
201. branch_if_no_active_lanes branch_if_no_active_lanes +3 (#204)
202. copy_constant $39 = 0x3F800000 (1.0)
203. copy_slot_masked [returns_half].result = Mask($39)
204. cmpeq_float $38 = equal($38, $39)
205. copy_slot_masked $37 = Mask($38)
206. load_condition_mask CondMask = $207
207. zero_slot_unmasked $97 = 0
208. merge_condition_mask CondMask = $36 & $37
209. branch_if_no_active_lanes branch_if_no_active_lanes +9 (#218)
210. copy_2_slots_unmasked $98..99 = x9
211. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#215)
212. copy_constant $100 = 0x40000000 (2.0)
213. copy_slot_unmasked $101 = $100
214. copy_2_slots_masked [returns_half2].result = Mask($100..101)
215. cmpeq_2_floats $98..99 = equal($98..99, $100..101)
216. bitwise_and_int $98 &= $99
217. copy_slot_masked $97 = Mask($98)
218. load_condition_mask CondMask = $36
219. zero_slot_unmasked $123 = 0
220. merge_condition_mask CondMask = $96 & $97
221. branch_if_no_active_lanes branch_if_no_active_lanes +10 (#231)
222. copy_3_slots_unmasked $124..126 = x10
223. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#227)
224. copy_constant $127 = 0x40400000 (3.0)
225. swizzle_3 $127..129 = ($127..129).xxx
226. copy_3_slots_masked [returns_half3].result = Mask($127..129)
227. cmpeq_3_floats $124..126 = equal($124..126, $127..129)
228. bitwise_and_int $125 &= $126
229. bitwise_and_int $124 &= $125
230. copy_slot_masked $123 = Mask($124)
231. load_condition_mask CondMask = $96
232. zero_slot_unmasked $131 = 0
233. merge_condition_mask CondMask = $122 & $123
234. branch_if_no_active_lanes branch_if_no_active_lanes +10 (#244)
235. copy_4_slots_unmasked $132..135 = x11
236. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#240)
237. copy_constant $136 = 0x40800000 (4.0)
238. swizzle_4 $136..139 = ($136..139).xxxx
239. copy_4_slots_masked [returns_half4].result = Mask($136..139)
240. cmpeq_4_floats $132..135 = equal($132..135, $136..139)
241. bitwise_and_2_ints $132..133 &= $134..135
242. bitwise_and_int $132 &= $133
243. copy_slot_masked $131 = Mask($132)
244. load_condition_mask CondMask = $122
245. zero_slot_unmasked $41 = 0
246. merge_condition_mask CondMask = $130 & $131
247. branch_if_no_active_lanes branch_if_no_active_lanes +11 (#258)
248. copy_4_slots_unmasked $42..45 = x12
249. branch_if_no_active_lanes branch_if_no_active_lanes +5 (#254)
250. zero_slot_unmasked $46 = 0
251. copy_constant $47 = 0x40000000 (2.0)
252. swizzle_4 $46..49 = ($46..49).yxxy
253. copy_4_slots_masked [returns_half2x2].result = Mask($46..49)
254. cmpeq_4_floats $42..45 = equal($42..45, $46..49)
255. bitwise_and_2_ints $42..43 &= $44..45
256. bitwise_and_int $42 &= $43
257. copy_slot_masked $41 = Mask($42)
258. load_condition_mask CondMask = $130
259. zero_slot_unmasked $103 = 0
260. merge_condition_mask CondMask = $40 & $41
261. branch_if_no_active_lanes branch_if_no_active_lanes +17 (#278)
262. copy_4_slots_unmasked $104..107 = x13(0..3)
263. copy_4_slots_unmasked $108..111 = x13(4..7)
264. copy_slot_unmasked $112 = x13(8)
265. branch_if_no_active_lanes branch_if_no_active_lanes +7 (#272)
266. zero_slot_unmasked $113 = 0
267. copy_constant $114 = 0x40400000 (3.0)
268. shuffle $113..121 = ($113..121)[1 0 0 0 1 0 0 0 1]
269. copy_4_slots_masked [returns_half3x3].result(0..3) = Mask($113..116)
270. copy_4_slots_masked [returns_half3x3].result(4..7) = Mask($117..120)
271. copy_slot_masked [returns_half3x3].result(8) = Mask($121)
272. cmpeq_n_floats $104..112 = equal($104..112, $113..121)
273. bitwise_and_4_ints $105..108 &= $109..112
274. bitwise_and_2_ints $105..106 &= $107..108
275. bitwise_and_int $105 &= $106
276. bitwise_and_int $104 &= $105
277. copy_slot_masked $103 = Mask($104)
278. load_condition_mask CondMask = $40
279. zero_slot_unmasked $141 = 0
280. merge_condition_mask CondMask = $102 & $103
281. branch_if_no_active_lanes branch_if_no_active_lanes +20 (#301)
282. copy_4_slots_unmasked $142..145 = x14(0..3)
283. copy_4_slots_unmasked $146..149 = x14(4..7)
284. copy_4_slots_unmasked $150..153 = x14(8..11)
285. copy_4_slots_unmasked $154..157 = x14(12..15)
286. branch_if_no_active_lanes branch_if_no_active_lanes +8 (#294)
287. zero_slot_unmasked $158 = 0
288. copy_constant $159 = 0x40800000 (4.0)
289. shuffle $158..173 = ($158..173)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1]
290. copy_4_slots_masked [returns_half4x4].result(0..3) = Mask($158..161)
291. copy_4_slots_masked [returns_half4x4].result(4..7) = Mask($162..165)
292. copy_4_slots_masked [returns_half4x4].result(8..11) = Mask($166..169)
293. copy_4_slots_masked [returns_half4x4].result(12..15) = Mask($170..173)
294. cmpeq_n_floats $142..157 = equal($142..157, $158..173)
295. bitwise_and_4_ints $150..153 &= $154..157
296. bitwise_and_4_ints $146..149 &= $150..153
297. bitwise_and_4_ints $142..145 &= $146..149
298. bitwise_and_2_ints $142..143 &= $144..145
299. bitwise_and_int $142 &= $143
300. copy_slot_masked $141 = Mask($142)
301. load_condition_mask CondMask = $102
302. zero_slot_unmasked $83 = 0
303. merge_condition_mask CondMask = $140 & $141
304. branch_if_no_active_lanes branch_if_no_active_lanes +7 (#311)
305. copy_slot_unmasked $84 = x15
306. branch_if_no_active_lanes branch_if_no_active_lanes +3 (#309)
307. copy_constant $85 = 0xFFFFFFFF
308. copy_slot_masked [returns_bool].result = Mask($85)
309. cmpeq_int $84 = equal($84, $85)
310. copy_slot_masked $83 = Mask($84)
311. load_condition_mask CondMask = $140
312. zero_slot_unmasked $51 = 0
313. merge_condition_mask CondMask = $82 & $83
314. branch_if_no_active_lanes branch_if_no_active_lanes +9 (#323)
315. copy_2_slots_unmasked $52..53 = x16
316. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#320)
317. copy_constant $54 = 0xFFFFFFFF
318. copy_slot_unmasked $55 = $54
319. copy_2_slots_masked [returns_bool2].result = Mask($54..55)
320. cmpeq_2_ints $52..53 = equal($52..53, $54..55)
321. bitwise_and_int $52 &= $53
322. copy_slot_masked $51 = Mask($52)
323. load_condition_mask CondMask = $82
324. zero_slot_unmasked $75 = 0
325. merge_condition_mask CondMask = $50 & $51
326. branch_if_no_active_lanes branch_if_no_active_lanes +10 (#336)
327. copy_3_slots_unmasked $76..78 = x17
328. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#332)
329. copy_constant $79 = 0xFFFFFFFF
330. swizzle_3 $79..81 = ($79..81).xxx
331. copy_3_slots_masked [returns_bool3].result = Mask($79..81)
332. cmpeq_3_ints $76..78 = equal($76..78, $79..81)
333. bitwise_and_int $77 &= $78
334. bitwise_and_int $76 &= $77
335. copy_slot_masked $75 = Mask($76)
336. load_condition_mask CondMask = $50
337. zero_slot_unmasked $87 = 0
338. merge_condition_mask CondMask = $74 & $75
339. branch_if_no_active_lanes branch_if_no_active_lanes +10 (#349)
340. copy_4_slots_unmasked $88..91 = x18
341. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#345)
342. copy_constant $92 = 0xFFFFFFFF
343. swizzle_4 $92..95 = ($92..95).xxxx
344. copy_4_slots_masked [returns_bool4].result = Mask($92..95)
345. cmpeq_4_ints $88..91 = equal($88..91, $92..95)
346. bitwise_and_2_ints $88..89 &= $90..91
347. bitwise_and_int $88 &= $89
348. copy_slot_masked $87 = Mask($88)
349. load_condition_mask CondMask = $74
350. zero_slot_unmasked $57 = 0
351. merge_condition_mask CondMask = $86 & $87
352. branch_if_no_active_lanes branch_if_no_active_lanes +7 (#359)
353. copy_slot_unmasked $58 = x19
354. branch_if_no_active_lanes branch_if_no_active_lanes +3 (#357)
355. copy_constant $59 = 0x00000001 (1.401298e-45)
356. copy_slot_masked [returns_int].result = Mask($59)
357. cmpeq_int $58 = equal($58, $59)
358. copy_slot_masked $57 = Mask($58)
359. load_condition_mask CondMask = $86
360. zero_slot_unmasked $69 = 0
361. merge_condition_mask CondMask = $56 & $57
362. branch_if_no_active_lanes branch_if_no_active_lanes +9 (#371)
363. copy_2_slots_unmasked $70..71 = x20
364. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#368)
365. copy_constant $72 = 0x00000002 (2.802597e-45)
366. copy_slot_unmasked $73 = $72
367. copy_2_slots_masked [returns_int2].result = Mask($72..73)
368. cmpeq_2_ints $70..71 = equal($70..71, $72..73)
369. bitwise_and_int $70 &= $71
370. copy_slot_masked $69 = Mask($70)
371. load_condition_mask CondMask = $56
372. zero_slot_unmasked $61 = 0
373. merge_condition_mask CondMask = $68 & $69
374. branch_if_no_active_lanes branch_if_no_active_lanes +10 (#384)
375. copy_3_slots_unmasked $62..64 = x21
376. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#380)
377. copy_constant $65 = 0x00000003 (4.203895e-45)
378. swizzle_3 $65..67 = ($65..67).xxx
379. copy_3_slots_masked [returns_int3].result = Mask($65..67)
380. cmpeq_3_ints $62..64 = equal($62..64, $65..67)
381. bitwise_and_int $63 &= $64
382. bitwise_and_int $62 &= $63
383. copy_slot_masked $61 = Mask($62)
384. load_condition_mask CondMask = $68
385. zero_slot_unmasked $198 = 0
386. merge_condition_mask CondMask = $60 & $61
387. branch_if_no_active_lanes branch_if_no_active_lanes +10 (#397)
388. copy_4_slots_unmasked $199..202 = x22
389. branch_if_no_active_lanes branch_if_no_active_lanes +4 (#393)
390. copy_constant $203 = 0x00000004 (5.605194e-45)
391. swizzle_4 $203..206 = ($203..206).xxxx
392. copy_4_slots_masked [returns_int4].result = Mask($203..206)
393. cmpeq_4_ints $199..202 = equal($199..202, $203..206)
394. bitwise_and_2_ints $199..200 &= $201..202
395. bitwise_and_int $199 &= $200
396. copy_slot_masked $198 = Mask($199)
397. load_condition_mask CondMask = $60
398. copy_4_constants $20..23 = colorRed
399. merge_condition_mask CondMask = $197 & $198
400. copy_4_constants $24..27 = colorGreen
401. copy_4_slots_masked $20..23 = Mask($24..27)
402. load_condition_mask CondMask = $197
403. copy_4_slots_unmasked [main].result = $20..23
404. load_src src.rgba = [main].result