1. store_device_xy01 $26..29 = DeviceCoords.xy01 | |
2. copy_constant $28 = 0x3F000000 (0.5) | |
3. copy_constant $29 = 0x3F000000 (0.5) | |
4. cmpeq_2_floats $26..27 = equal($26..27, $28..29) | |
5. bitwise_and_int $26 &= $27 | |
6. store_src_rg pos = src.rg | |
7. init_lane_masks CondMask = LoopMask = RetMask = true | |
8. zero_slot_unmasked kZero = 0 | |
9. trace_var TraceVar(kZero) when $26 is true | |
10. copy_constant kTen = 0x0000000A (1.401298e-44) | |
11. trace_var TraceVar(kTen) when $26 is true | |
12. trace_enter TraceEnter(half4 main(float2 pos)) when $26 is true | |
13. trace_var TraceVar(pos) when $26 is true | |
14. trace_scope TraceScope(+1) when $26 is true | |
15. trace_line TraceLine(107) when $26 is true | |
16. copy_slot_unmasked $2 = pos(0) | |
17. copy_constant $3 = colorGreen(1) | |
18. max_float $2 = max($2, $3) | |
19. copy_constant $3 = colorGreen(3) | |
20. min_float $2 = min($2, $3) | |
21. cast_to_int_from_float $2 = FloatToInt($2) | |
22. copy_constant $3 = 0x00000005 (7.006492e-45) | |
23. mul_int $2 *= $3 | |
24. copy_slot_unmasked five = $2 | |
25. trace_var TraceVar(five) when $26 is true | |
26. trace_line TraceLine(111) when $26 is true | |
27. store_condition_mask $40 = CondMask | |
28. store_condition_mask $50 = CondMask | |
29. store_condition_mask $30 = CondMask | |
30. store_condition_mask $76 = CondMask | |
31. store_condition_mask $60 = CondMask | |
32. store_condition_mask $20 = CondMask | |
33. store_condition_mask $70 = CondMask | |
34. store_condition_mask $14 = CondMask | |
35. branch_if_no_lanes_active branch_if_no_lanes_active +54 (label 9 at #89) | |
36. copy_slot_unmasked five₁ = five | |
37. trace_var TraceVar(five₁) when $26 is true | |
38. trace_enter TraceEnter(int return_loop(int five)) when $26 is true | |
39. store_return_mask $15 = RetMask | |
40. trace_scope TraceScope(+1) when $26 is true | |
41. trace_scope TraceScope(+1) when $26 is true | |
42. trace_line TraceLine(8) when $26 is true | |
43. copy_slot_unmasked i = kZero | |
44. trace_var TraceVar(i) when $26 is true | |
45. store_loop_mask $16 = LoopMask | |
46. jump jump +24 (label 11 at #70) | |
47. label label 0x0000000C | |
48. trace_scope TraceScope(+1) when $26 is true | |
49. trace_line TraceLine(9) when $26 is true | |
50. store_condition_mask $17 = CondMask | |
51. copy_slot_unmasked $18 = i | |
52. copy_slot_unmasked $19 = five₁ | |
53. cmpeq_int $18 = equal($18, $19) | |
54. merge_condition_mask CondMask = $17 & $18 | |
55. trace_scope TraceScope(+1) when $26 is true | |
56. trace_line TraceLine(9) when $26 is true | |
57. copy_slot_unmasked $19 = i | |
58. copy_slot_masked [return_loop].result = Mask($19) | |
59. trace_var TraceVar([return_loop].result) when $26 is true | |
60. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
61. trace_scope TraceScope(-1) when $26 is true | |
62. load_condition_mask CondMask = $17 | |
63. trace_scope TraceScope(-1) when $26 is true | |
64. trace_line TraceLine(8) when $26 is true | |
65. copy_slot_unmasked $17 = i | |
66. copy_constant $18 = 0x00000001 (1.401298e-45) | |
67. add_int $17 += $18 | |
68. copy_slot_masked i = Mask($17) | |
69. trace_var TraceVar(i) when $26 is true | |
70. label label 0x0000000B | |
71. copy_slot_unmasked $17 = i | |
72. copy_constant $18 = 0x0000000A (1.401298e-44) | |
73. cmplt_int $17 = lessThan($17, $18) | |
74. merge_loop_mask LoopMask &= $17 | |
75. stack_rewind | |
76. branch_if_any_lanes_active branch_if_any_lanes_active -29 (label 12 at #47) | |
77. label label 0x0000000A | |
78. load_loop_mask LoopMask = $16 | |
79. trace_scope TraceScope(-1) when $26 is true | |
80. trace_line TraceLine(11) when $26 is true | |
81. zero_slot_unmasked $16 = 0 | |
82. copy_slot_masked [return_loop].result = Mask($16) | |
83. trace_var TraceVar([return_loop].result) when $26 is true | |
84. mask_off_return_mask RetMask &= ~(CondMask & LoopMask & RetMask) | |
85. trace_scope TraceScope(-1) when $26 is true | |
86. load_return_mask RetMask = $15 | |
87. trace_exit TraceExit(int return_loop(int five)) when $26 is true | |
88. copy_slot_unmasked $15 = [return_loop].result | |
89. label label 0x00000009 | |
90. copy_constant $16 = 0x00000005 (7.006492e-45) | |
91. cmpeq_int $15 = equal($15, $16) | |
92. zero_slot_unmasked $71 = 0 | |
93. merge_condition_mask CondMask = $14 & $15 | |
94. branch_if_no_lanes_active branch_if_no_lanes_active +64 (label 8 at #158) | |
95. copy_slot_unmasked five₂ = five | |
96. trace_var TraceVar(five₂) when $26 is true | |
97. trace_enter TraceEnter(int continue_loop(int five)) when $26 is true | |
98. trace_scope TraceScope(+1) when $26 is true | |
99. trace_line TraceLine(17) when $26 is true | |
100. zero_slot_unmasked sum = 0 | |
101. trace_var TraceVar(sum) when $26 is true | |
102. trace_scope TraceScope(+1) when $26 is true | |
103. trace_line TraceLine(18) when $26 is true | |
104. zero_slot_unmasked i₁ = 0 | |
105. trace_var TraceVar(i₁) when $26 is true | |
106. store_loop_mask $72 = LoopMask | |
107. jump jump +30 (label 15 at #137) | |
108. label label 0x00000010 | |
109. zero_slot_unmasked $0 = 0 | |
110. trace_scope TraceScope(+1) when $26 is true | |
111. trace_line TraceLine(19) when $26 is true | |
112. store_condition_mask $73 = CondMask | |
113. copy_slot_unmasked $74 = i₁ | |
114. copy_slot_unmasked $75 = five₂ | |
115. cmplt_int $74 = lessThan($74, $75) | |
116. merge_condition_mask CondMask = $73 & $74 | |
117. trace_scope TraceScope(+1) when $26 is true | |
118. trace_line TraceLine(19) when $26 is true | |
119. copy_constant $1 = 0xFFFFFFFF | |
120. copy_slot_masked $0 = Mask($1) | |
121. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
122. trace_scope TraceScope(-1) when $26 is true | |
123. load_condition_mask CondMask = $73 | |
124. trace_line TraceLine(20) when $26 is true | |
125. copy_2_slots_unmasked $73..74 = sum, i₁ | |
126. add_int $73 += $74 | |
127. copy_slot_masked sum = Mask($73) | |
128. trace_var TraceVar(sum) when $26 is true | |
129. trace_scope TraceScope(-1) when $26 is true | |
130. reenable_loop_mask LoopMask |= $0 | |
131. trace_line TraceLine(18) when $26 is true | |
132. copy_slot_unmasked $73 = i₁ | |
133. copy_constant $74 = 0x00000001 (1.401298e-45) | |
134. add_int $73 += $74 | |
135. copy_slot_masked i₁ = Mask($73) | |
136. trace_var TraceVar(i₁) when $26 is true | |
137. label label 0x0000000F | |
138. copy_slot_unmasked $73 = i₁ | |
139. copy_slot_unmasked $74 = kTen | |
140. cmplt_int $73 = lessThan($73, $74) | |
141. merge_loop_mask LoopMask &= $73 | |
142. stack_rewind | |
143. branch_if_any_lanes_active branch_if_any_lanes_active -35 (label 16 at #108) | |
144. label label 0x0000000E | |
145. load_loop_mask LoopMask = $72 | |
146. trace_scope TraceScope(-1) when $26 is true | |
147. trace_line TraceLine(22) when $26 is true | |
148. copy_slot_unmasked $72 = sum | |
149. copy_slot_masked [continue_loop].result = Mask($72) | |
150. trace_var TraceVar([continue_loop].result) when $26 is true | |
151. trace_scope TraceScope(-1) when $26 is true | |
152. trace_exit TraceExit(int continue_loop(int five)) when $26 is true | |
153. copy_slot_unmasked $72 = [continue_loop].result | |
154. label label 0x0000000D | |
155. copy_constant $73 = 0x00000023 (4.904545e-44) | |
156. cmpeq_int $72 = equal($72, $73) | |
157. copy_slot_masked $71 = Mask($72) | |
158. label label 0x00000008 | |
159. load_condition_mask CondMask = $14 | |
160. zero_slot_unmasked $21 = 0 | |
161. merge_condition_mask CondMask = $70 & $71 | |
162. branch_if_no_lanes_active branch_if_no_lanes_active +65 (label 7 at #227) | |
163. copy_constant five₃ = 0x00000005 (7.006492e-45) | |
164. trace_var TraceVar(five₃) when $26 is true | |
165. trace_enter TraceEnter(int break_loop(int five)) when $26 is true | |
166. trace_scope TraceScope(+1) when $26 is true | |
167. trace_line TraceLine(27) when $26 is true | |
168. zero_slot_unmasked sum₁ = 0 | |
169. trace_var TraceVar(sum₁) when $26 is true | |
170. trace_line TraceLine(28) when $26 is true | |
171. copy_constant kOne = 0x00000001 (1.401298e-45) | |
172. trace_var TraceVar(kOne) when $26 is true | |
173. trace_scope TraceScope(+1) when $26 is true | |
174. trace_line TraceLine(29) when $26 is true | |
175. zero_slot_unmasked i₂ = 0 | |
176. trace_var TraceVar(i₂) when $26 is true | |
177. store_loop_mask $22 = LoopMask | |
178. jump jump +28 (label 19 at #206) | |
179. label label 0x00000014 | |
180. trace_scope TraceScope(+1) when $26 is true | |
181. trace_line TraceLine(30) when $26 is true | |
182. store_condition_mask $23 = CondMask | |
183. copy_slot_unmasked $24 = five₃ | |
184. copy_slot_unmasked $25 = i₂ | |
185. cmplt_int $24 = lessThan($24, $25) | |
186. merge_condition_mask CondMask = $23 & $24 | |
187. trace_scope TraceScope(+1) when $26 is true | |
188. trace_line TraceLine(30) when $26 is true | |
189. branch_if_all_lanes_active branch_if_all_lanes_active +24 (label 18 at #213) | |
190. mask_off_loop_mask LoopMask &= ~(CondMask & LoopMask & RetMask) | |
191. trace_scope TraceScope(-1) when $26 is true | |
192. load_condition_mask CondMask = $23 | |
193. trace_line TraceLine(31) when $26 is true | |
194. copy_slot_unmasked $23 = sum₁ | |
195. copy_slot_unmasked $24 = i₂ | |
196. add_int $23 += $24 | |
197. copy_slot_masked sum₁ = Mask($23) | |
198. trace_var TraceVar(sum₁) when $26 is true | |
199. trace_scope TraceScope(-1) when $26 is true | |
200. trace_line TraceLine(29) when $26 is true | |
201. copy_slot_unmasked $23 = i₂ | |
202. copy_slot_unmasked $24 = kOne | |
203. add_int $23 += $24 | |
204. copy_slot_masked i₂ = Mask($23) | |
205. trace_var TraceVar(i₂) when $26 is true | |
206. label label 0x00000013 | |
207. copy_slot_unmasked $23 = i₂ | |
208. copy_constant $24 = 0x0000000A (1.401298e-44) | |
209. cmplt_int $23 = lessThan($23, $24) | |
210. merge_loop_mask LoopMask &= $23 | |
211. stack_rewind | |
212. branch_if_any_lanes_active branch_if_any_lanes_active -33 (label 20 at #179) | |
213. label label 0x00000012 | |
214. load_loop_mask LoopMask = $22 | |
215. trace_scope TraceScope(-1) when $26 is true | |
216. trace_line TraceLine(33) when $26 is true | |
217. copy_slot_unmasked $22 = sum₁ | |
218. copy_slot_masked [break_loop].result = Mask($22) | |
219. trace_var TraceVar([break_loop].result) when $26 is true | |
220. trace_scope TraceScope(-1) when $26 is true | |
221. trace_exit TraceExit(int break_loop(int five)) when $26 is true | |
222. copy_slot_unmasked $22 = [break_loop].result | |
223. label label 0x00000011 | |
224. copy_constant $23 = 0x0000000F (2.101948e-44) | |
225. cmpeq_int $22 = equal($22, $23) | |
226. copy_slot_masked $21 = Mask($22) | |
227. label label 0x00000007 | |
228. load_condition_mask CondMask = $70 | |
229. zero_slot_unmasked $61 = 0 | |
230. merge_condition_mask CondMask = $20 & $21 | |
231. branch_if_no_lanes_active branch_if_no_lanes_active +51 (label 6 at #282) | |
232. trace_enter TraceEnter(bool loop_operator_le()) when $26 is true | |
233. trace_scope TraceScope(+1) when $26 is true | |
234. trace_line TraceLine(38) when $26 is true | |
235. trace_line TraceLine(39) when $26 is true | |
236. trace_line TraceLine(41) when $26 is true | |
237. copy_constant $62 = 0x00000009 (1.261169e-44) | |
238. swizzle_4 $62..65 = ($62..65).xxxx | |
239. copy_4_slots_unmasked result = $62..65 | |
240. trace_var TraceVar(result) when $26 is true | |
241. trace_scope TraceScope(+1) when $26 is true | |
242. branch_if_no_lanes_active branch_if_no_lanes_active +22 (label 22 at #264) | |
243. trace_line TraceLine(42) when $26 is true | |
244. copy_constant i₃ = 0x00000001 (1.401298e-45) | |
245. trace_var TraceVar(i₃) when $26 is true | |
246. label label 0x00000017 | |
247. trace_scope TraceScope(+1) when $26 is true | |
248. trace_line TraceLine(43) when $26 is true | |
249. copy_4_slots_unmasked $62..65 = result(1..3), i₃ | |
250. copy_4_slots_masked result = Mask($62..65) | |
251. trace_var TraceVar(result) when $26 is true | |
252. trace_scope TraceScope(-1) when $26 is true | |
253. trace_line TraceLine(42) when $26 is true | |
254. copy_slot_unmasked $62 = i₃ | |
255. copy_constant $63 = 0x00000001 (1.401298e-45) | |
256. add_int $62 += $63 | |
257. copy_slot_masked i₃ = Mask($62) | |
258. trace_var TraceVar(i₃) when $26 is true | |
259. copy_slot_unmasked $62 = i₃ | |
260. copy_constant $63 = 0x00000003 (4.203895e-45) | |
261. cmple_int $62 = lessThanEqual($62, $63) | |
262. stack_rewind | |
263. branch_if_no_active_lanes_eq branch -17 (label 23 at #246) if no lanes of $62 == 0x00000000 (0.0) | |
264. label label 0x00000016 | |
265. trace_scope TraceScope(-1) when $26 is true | |
266. trace_line TraceLine(45) when $26 is true | |
267. copy_4_slots_unmasked $62..65 = result | |
268. copy_constant $66 = 0x00000009 (1.261169e-44) | |
269. copy_constant $67 = 0x00000001 (1.401298e-45) | |
270. copy_constant $68 = 0x00000002 (2.802597e-45) | |
271. copy_constant $69 = 0x00000003 (4.203895e-45) | |
272. cmpeq_4_ints $62..65 = equal($62..65, $66..69) | |
273. bitwise_and_2_ints $62..63 &= $64..65 | |
274. bitwise_and_int $62 &= $63 | |
275. copy_slot_masked [loop_operator_le].result = Mask($62) | |
276. trace_var TraceVar([loop_operator_le].result) when $26 is true | |
277. trace_scope TraceScope(-1) when $26 is true | |
278. trace_exit TraceExit(bool loop_operator_le()) when $26 is true | |
279. copy_slot_unmasked $62 = [loop_operator_le].result | |
280. label label 0x00000015 | |
281. copy_slot_masked $61 = Mask($62) | |
282. label label 0x00000006 | |
283. load_condition_mask CondMask = $20 | |
284. zero_slot_unmasked $77 = 0 | |
285. merge_condition_mask CondMask = $60 & $61 | |
286. branch_if_no_lanes_active branch_if_no_lanes_active +51 (label 5 at #337) | |
287. trace_enter TraceEnter(bool loop_operator_lt()) when $26 is true | |
288. trace_scope TraceScope(+1) when $26 is true | |
289. trace_line TraceLine(50) when $26 is true | |
290. trace_line TraceLine(51) when $26 is true | |
291. trace_line TraceLine(53) when $26 is true | |
292. copy_constant $78 = 0x00000009 (1.261169e-44) | |
293. swizzle_4 $78..81 = ($78..81).xxxx | |
294. copy_4_slots_unmasked result₁ = $78..81 | |
295. trace_var TraceVar(result₁) when $26 is true | |
296. trace_scope TraceScope(+1) when $26 is true | |
297. branch_if_no_lanes_active branch_if_no_lanes_active +22 (label 25 at #319) | |
298. trace_line TraceLine(54) when $26 is true | |
299. copy_constant i₄ = 0x00000001 (1.401298e-45) | |
300. trace_var TraceVar(i₄) when $26 is true | |
301. label label 0x0000001A | |
302. trace_scope TraceScope(+1) when $26 is true | |
303. trace_line TraceLine(55) when $26 is true | |
304. copy_4_slots_unmasked $78..81 = result₁(1..3), i₄ | |
305. copy_4_slots_masked result₁ = Mask($78..81) | |
306. trace_var TraceVar(result₁) when $26 is true | |
307. trace_scope TraceScope(-1) when $26 is true | |
308. trace_line TraceLine(54) when $26 is true | |
309. copy_slot_unmasked $78 = i₄ | |
310. copy_constant $79 = 0x00000001 (1.401298e-45) | |
311. add_int $78 += $79 | |
312. copy_slot_masked i₄ = Mask($78) | |
313. trace_var TraceVar(i₄) when $26 is true | |
314. copy_slot_unmasked $78 = i₄ | |
315. copy_constant $79 = 0x00000004 (5.605194e-45) | |
316. cmplt_int $78 = lessThan($78, $79) | |
317. stack_rewind | |
318. branch_if_no_active_lanes_eq branch -17 (label 26 at #301) if no lanes of $78 == 0x00000000 (0.0) | |
319. label label 0x00000019 | |
320. trace_scope TraceScope(-1) when $26 is true | |
321. trace_line TraceLine(57) when $26 is true | |
322. copy_4_slots_unmasked $78..81 = result₁ | |
323. copy_constant $82 = 0x00000009 (1.261169e-44) | |
324. copy_constant $83 = 0x00000001 (1.401298e-45) | |
325. copy_constant $84 = 0x00000002 (2.802597e-45) | |
326. copy_constant $85 = 0x00000003 (4.203895e-45) | |
327. cmpeq_4_ints $78..81 = equal($78..81, $82..85) | |
328. bitwise_and_2_ints $78..79 &= $80..81 | |
329. bitwise_and_int $78 &= $79 | |
330. copy_slot_masked [loop_operator_lt].result = Mask($78) | |
331. trace_var TraceVar([loop_operator_lt].result) when $26 is true | |
332. trace_scope TraceScope(-1) when $26 is true | |
333. trace_exit TraceExit(bool loop_operator_lt()) when $26 is true | |
334. copy_slot_unmasked $78 = [loop_operator_lt].result | |
335. label label 0x00000018 | |
336. copy_slot_masked $77 = Mask($78) | |
337. label label 0x00000005 | |
338. load_condition_mask CondMask = $60 | |
339. zero_slot_unmasked $31 = 0 | |
340. merge_condition_mask CondMask = $76 & $77 | |
341. branch_if_no_lanes_active branch_if_no_lanes_active +51 (label 4 at #392) | |
342. trace_enter TraceEnter(bool loop_operator_ge()) when $26 is true | |
343. trace_scope TraceScope(+1) when $26 is true | |
344. trace_line TraceLine(62) when $26 is true | |
345. trace_line TraceLine(63) when $26 is true | |
346. trace_line TraceLine(65) when $26 is true | |
347. copy_constant $32 = 0x00000009 (1.261169e-44) | |
348. swizzle_4 $32..35 = ($32..35).xxxx | |
349. copy_4_slots_unmasked result₂ = $32..35 | |
350. trace_var TraceVar(result₂) when $26 is true | |
351. trace_scope TraceScope(+1) when $26 is true | |
352. branch_if_no_lanes_active branch_if_no_lanes_active +22 (label 28 at #374) | |
353. trace_line TraceLine(66) when $26 is true | |
354. copy_constant i₅ = 0x00000003 (4.203895e-45) | |
355. trace_var TraceVar(i₅) when $26 is true | |
356. label label 0x0000001D | |
357. trace_scope TraceScope(+1) when $26 is true | |
358. trace_line TraceLine(67) when $26 is true | |
359. copy_4_slots_unmasked $32..35 = result₂(1..3), i₅ | |
360. copy_4_slots_masked result₂ = Mask($32..35) | |
361. trace_var TraceVar(result₂) when $26 is true | |
362. trace_scope TraceScope(-1) when $26 is true | |
363. trace_line TraceLine(66) when $26 is true | |
364. copy_slot_unmasked $32 = i₅ | |
365. copy_constant $33 = 0x00000001 (1.401298e-45) | |
366. sub_int $32 -= $33 | |
367. copy_slot_masked i₅ = Mask($32) | |
368. trace_var TraceVar(i₅) when $26 is true | |
369. copy_constant $32 = 0x00000001 (1.401298e-45) | |
370. copy_slot_unmasked $33 = i₅ | |
371. cmple_int $32 = lessThanEqual($32, $33) | |
372. stack_rewind | |
373. branch_if_no_active_lanes_eq branch -17 (label 29 at #356) if no lanes of $32 == 0x00000000 (0.0) | |
374. label label 0x0000001C | |
375. trace_scope TraceScope(-1) when $26 is true | |
376. trace_line TraceLine(69) when $26 is true | |
377. copy_4_slots_unmasked $32..35 = result₂ | |
378. copy_constant $36 = 0x00000009 (1.261169e-44) | |
379. copy_constant $37 = 0x00000003 (4.203895e-45) | |
380. copy_constant $38 = 0x00000002 (2.802597e-45) | |
381. copy_constant $39 = 0x00000001 (1.401298e-45) | |
382. cmpeq_4_ints $32..35 = equal($32..35, $36..39) | |
383. bitwise_and_2_ints $32..33 &= $34..35 | |
384. bitwise_and_int $32 &= $33 | |
385. copy_slot_masked [loop_operator_ge].result = Mask($32) | |
386. trace_var TraceVar([loop_operator_ge].result) when $26 is true | |
387. trace_scope TraceScope(-1) when $26 is true | |
388. trace_exit TraceExit(bool loop_operator_ge()) when $26 is true | |
389. copy_slot_unmasked $32 = [loop_operator_ge].result | |
390. label label 0x0000001B | |
391. copy_slot_masked $31 = Mask($32) | |
392. label label 0x00000004 | |
393. load_condition_mask CondMask = $76 | |
394. zero_slot_unmasked $51 = 0 | |
395. merge_condition_mask CondMask = $30 & $31 | |
396. branch_if_no_lanes_active branch_if_no_lanes_active +51 (label 3 at #447) | |
397. trace_enter TraceEnter(bool loop_operator_gt()) when $26 is true | |
398. trace_scope TraceScope(+1) when $26 is true | |
399. trace_line TraceLine(74) when $26 is true | |
400. trace_line TraceLine(75) when $26 is true | |
401. trace_line TraceLine(77) when $26 is true | |
402. copy_constant $52 = 0x00000009 (1.261169e-44) | |
403. swizzle_4 $52..55 = ($52..55).xxxx | |
404. copy_4_slots_unmasked result₃ = $52..55 | |
405. trace_var TraceVar(result₃) when $26 is true | |
406. trace_scope TraceScope(+1) when $26 is true | |
407. branch_if_no_lanes_active branch_if_no_lanes_active +22 (label 31 at #429) | |
408. trace_line TraceLine(78) when $26 is true | |
409. copy_constant i₆ = 0x00000003 (4.203895e-45) | |
410. trace_var TraceVar(i₆) when $26 is true | |
411. label label 0x00000020 | |
412. trace_scope TraceScope(+1) when $26 is true | |
413. trace_line TraceLine(79) when $26 is true | |
414. copy_4_slots_unmasked $52..55 = result₃(1..3), i₆ | |
415. copy_4_slots_masked result₃ = Mask($52..55) | |
416. trace_var TraceVar(result₃) when $26 is true | |
417. trace_scope TraceScope(-1) when $26 is true | |
418. trace_line TraceLine(78) when $26 is true | |
419. copy_slot_unmasked $52 = i₆ | |
420. copy_constant $53 = 0x00000001 (1.401298e-45) | |
421. sub_int $52 -= $53 | |
422. copy_slot_masked i₆ = Mask($52) | |
423. trace_var TraceVar(i₆) when $26 is true | |
424. zero_slot_unmasked $52 = 0 | |
425. copy_slot_unmasked $53 = i₆ | |
426. cmplt_int $52 = lessThan($52, $53) | |
427. stack_rewind | |
428. branch_if_no_active_lanes_eq branch -17 (label 32 at #411) if no lanes of $52 == 0x00000000 (0.0) | |
429. label label 0x0000001F | |
430. trace_scope TraceScope(-1) when $26 is true | |
431. trace_line TraceLine(81) when $26 is true | |
432. copy_4_slots_unmasked $52..55 = result₃ | |
433. copy_constant $56 = 0x00000009 (1.261169e-44) | |
434. copy_constant $57 = 0x00000003 (4.203895e-45) | |
435. copy_constant $58 = 0x00000002 (2.802597e-45) | |
436. copy_constant $59 = 0x00000001 (1.401298e-45) | |
437. cmpeq_4_ints $52..55 = equal($52..55, $56..59) | |
438. bitwise_and_2_ints $52..53 &= $54..55 | |
439. bitwise_and_int $52 &= $53 | |
440. copy_slot_masked [loop_operator_gt].result = Mask($52) | |
441. trace_var TraceVar([loop_operator_gt].result) when $26 is true | |
442. trace_scope TraceScope(-1) when $26 is true | |
443. trace_exit TraceExit(bool loop_operator_gt()) when $26 is true | |
444. copy_slot_unmasked $52 = [loop_operator_gt].result | |
445. label label 0x0000001E | |
446. copy_slot_masked $51 = Mask($52) | |
447. label label 0x00000003 | |
448. load_condition_mask CondMask = $30 | |
449. zero_slot_unmasked $41 = 0 | |
450. merge_condition_mask CondMask = $50 & $51 | |
451. branch_if_no_lanes_active branch_if_no_lanes_active +40 (label 2 at #491) | |
452. trace_enter TraceEnter(bool loop_operator_eq()) when $26 is true | |
453. trace_scope TraceScope(+1) when $26 is true | |
454. trace_line TraceLine(97) when $26 is true | |
455. trace_line TraceLine(99) when $26 is true | |
456. copy_constant $42 = 0x00000009 (1.261169e-44) | |
457. swizzle_4 $42..45 = ($42..45).xxxx | |
458. copy_4_slots_unmasked result₄ = $42..45 | |
459. trace_var TraceVar(result₄) when $26 is true | |
460. trace_scope TraceScope(+1) when $26 is true | |
461. branch_if_no_lanes_active branch_if_no_lanes_active +12 (label 34 at #473) | |
462. trace_line TraceLine(100) when $26 is true | |
463. copy_constant i₇ = 0x00000001 (1.401298e-45) | |
464. trace_var TraceVar(i₇) when $26 is true | |
465. label label 0x00000023 | |
466. trace_scope TraceScope(+1) when $26 is true | |
467. trace_line TraceLine(101) when $26 is true | |
468. copy_4_slots_unmasked $42..45 = result₄(1..3), i₇ | |
469. copy_4_slots_masked result₄ = Mask($42..45) | |
470. trace_var TraceVar(result₄) when $26 is true | |
471. trace_scope TraceScope(-1) when $26 is true | |
472. trace_line TraceLine(100) when $26 is true | |
473. label label 0x00000022 | |
474. trace_scope TraceScope(-1) when $26 is true | |
475. trace_line TraceLine(103) when $26 is true | |
476. copy_4_slots_unmasked $42..45 = result₄ | |
477. copy_constant $46 = 0x00000009 (1.261169e-44) | |
478. copy_constant $47 = 0x00000009 (1.261169e-44) | |
479. copy_constant $48 = 0x00000009 (1.261169e-44) | |
480. copy_constant $49 = 0x00000001 (1.401298e-45) | |
481. cmpeq_4_ints $42..45 = equal($42..45, $46..49) | |
482. bitwise_and_2_ints $42..43 &= $44..45 | |
483. bitwise_and_int $42 &= $43 | |
484. copy_slot_masked [loop_operator_eq].result = Mask($42) | |
485. trace_var TraceVar([loop_operator_eq].result) when $26 is true | |
486. trace_scope TraceScope(-1) when $26 is true | |
487. trace_exit TraceExit(bool loop_operator_eq()) when $26 is true | |
488. copy_slot_unmasked $42 = [loop_operator_eq].result | |
489. label label 0x00000021 | |
490. copy_slot_masked $41 = Mask($42) | |
491. label label 0x00000002 | |
492. load_condition_mask CondMask = $50 | |
493. zero_slot_unmasked $2 = 0 | |
494. merge_condition_mask CondMask = $40 & $41 | |
495. branch_if_no_lanes_active branch_if_no_lanes_active +50 (label 1 at #545) | |
496. trace_enter TraceEnter(bool loop_operator_ne()) when $26 is true | |
497. trace_scope TraceScope(+1) when $26 is true | |
498. trace_line TraceLine(86) when $26 is true | |
499. trace_line TraceLine(88) when $26 is true | |
500. copy_constant $3 = 0x00000009 (1.261169e-44) | |
501. swizzle_4 $3..6 = ($3..6).xxxx | |
502. copy_4_slots_unmasked result₅ = $3..6 | |
503. trace_var TraceVar(result₅) when $26 is true | |
504. trace_scope TraceScope(+1) when $26 is true | |
505. branch_if_no_lanes_active branch_if_no_lanes_active +22 (label 37 at #527) | |
506. trace_line TraceLine(89) when $26 is true | |
507. copy_constant i₈ = 0x00000001 (1.401298e-45) | |
508. trace_var TraceVar(i₈) when $26 is true | |
509. label label 0x00000026 | |
510. trace_scope TraceScope(+1) when $26 is true | |
511. trace_line TraceLine(90) when $26 is true | |
512. copy_4_slots_unmasked $3..6 = result₅(1..3), i₈ | |
513. copy_4_slots_masked result₅ = Mask($3..6) | |
514. trace_var TraceVar(result₅) when $26 is true | |
515. trace_scope TraceScope(-1) when $26 is true | |
516. trace_line TraceLine(89) when $26 is true | |
517. copy_slot_unmasked $3 = i₈ | |
518. copy_constant $4 = 0x00000001 (1.401298e-45) | |
519. add_int $3 += $4 | |
520. copy_slot_masked i₈ = Mask($3) | |
521. trace_var TraceVar(i₈) when $26 is true | |
522. copy_slot_unmasked $3 = i₈ | |
523. copy_constant $4 = 0x00000004 (5.605194e-45) | |
524. cmpne_int $3 = notEqual($3, $4) | |
525. stack_rewind | |
526. branch_if_no_active_lanes_eq branch -17 (label 38 at #509) if no lanes of $3 == 0x00000000 (0.0) | |
527. label label 0x00000025 | |
528. trace_scope TraceScope(-1) when $26 is true | |
529. trace_line TraceLine(92) when $26 is true | |
530. copy_4_slots_unmasked $3..6 = result₅ | |
531. copy_constant $7 = 0x00000009 (1.261169e-44) | |
532. copy_constant $8 = 0x00000001 (1.401298e-45) | |
533. copy_constant $9 = 0x00000002 (2.802597e-45) | |
534. copy_constant $10 = 0x00000003 (4.203895e-45) | |
535. cmpeq_4_ints $3..6 = equal($3..6, $7..10) | |
536. bitwise_and_2_ints $3..4 &= $5..6 | |
537. bitwise_and_int $3 &= $4 | |
538. copy_slot_masked [loop_operator_ne].result = Mask($3) | |
539. trace_var TraceVar([loop_operator_ne].result) when $26 is true | |
540. trace_scope TraceScope(-1) when $26 is true | |
541. trace_exit TraceExit(bool loop_operator_ne()) when $26 is true | |
542. copy_slot_unmasked $3 = [loop_operator_ne].result | |
543. label label 0x00000024 | |
544. copy_slot_masked $2 = Mask($3) | |
545. label label 0x00000001 | |
546. load_condition_mask CondMask = $40 | |
547. swizzle_4 $2..5 = ($2..5).xxxx | |
548. copy_4_constants $6..9 = colorRed | |
549. copy_4_constants $10..13 = colorGreen | |
550. mix_4_ints $2..5 = mix($6..9, $10..13, $2..5) | |
551. copy_4_slots_unmasked [main].result = $2..5 | |
552. trace_var TraceVar([main].result) when $26 is true | |
553. trace_scope TraceScope(-1) when $26 is true | |
554. trace_exit TraceExit(half4 main(float2 pos)) when $26 is true | |
555. load_src src.rgba = [main].result |