1. store_src_rg coords = src.rg | |
2. init_lane_masks CondMask = LoopMask = RetMask = true | |
3. zero_4_slots_unmasked zero = 0 | |
4. copy_constant $0 = 0x3F800000 (1.0) | |
5. swizzle_4 $0..3 = ($0..3).xxxx | |
6. copy_4_slots_unmasked one = $0..3 | |
7. copy_4_constants $0..3 = colorGreen | |
8. copy_4_slots_unmasked green = $0..3 | |
9. copy_4_slots_unmasked $4..7 = one | |
10. mul_4_floats $0..3 *= $4..7 | |
11. copy_4_slots_unmasked $4..7 = zero | |
12. add_4_floats $0..3 += $4..7 | |
13. copy_4_slots_unmasked green = $0..3 | |
14. copy_4_constants $0..3 = colorRed | |
15. copy_4_slots_unmasked red = $0..3 | |
16. copy_4_slots_unmasked $4..7 = zero | |
17. add_4_floats $0..3 += $4..7 | |
18. copy_4_slots_unmasked $4..7 = one | |
19. mul_4_floats $0..3 *= $4..7 | |
20. copy_4_slots_unmasked red = $0..3 | |
21. store_condition_mask $12 = CondMask | |
22. store_condition_mask $51 = CondMask | |
23. store_condition_mask $55 = CondMask | |
24. store_condition_mask $16 = CondMask | |
25. store_condition_mask $66 = CondMask | |
26. store_condition_mask $62 = CondMask | |
27. branch_if_no_lanes_active branch_if_no_lanes_active +10 (label 7 at #37) | |
28. copy_constant mp = 0x3F000000 (0.5) | |
29. copy_slot_unmasked hp = mp | |
30. copy_constant ihp = 0x00000002 (2.802597e-45) | |
31. copy_slot_unmasked imp = ihp | |
32. copy_2_slots_unmasked $63..64 = mp, hp | |
33. cmpeq_float $63 = equal($63, $64) | |
34. copy_2_slots_unmasked $64..65 = ihp, imp | |
35. cmpeq_int $64 = equal($64, $65) | |
36. bitwise_and_int $63 &= $64 | |
37. label label 0x00000007 | |
38. zero_slot_unmasked $67 = 0 | |
39. merge_condition_mask CondMask = $62 & $63 | |
40. branch_if_no_lanes_active branch_if_no_lanes_active +59 (label 6 at #99) | |
41. copy_constant $68 = 0x40000000 (2.0) | |
42. copy_slot_unmasked $69 = $68 | |
43. copy_2_slots_unmasked mp2 = $68..69 | |
44. copy_2_slots_unmasked hp2 = $68..69 | |
45. copy_constant $68 = 0x40400000 (3.0) | |
46. swizzle_3 $68..70 = ($68..70).xxx | |
47. copy_3_slots_unmasked mp3 = $68..70 | |
48. copy_3_slots_unmasked hp3 = $68..70 | |
49. copy_constant $68 = 0x40800000 (4.0) | |
50. swizzle_4 $68..71 = ($68..71).xxxx | |
51. copy_4_slots_unmasked mp4 = $68..71 | |
52. copy_4_slots_unmasked hp4 = $68..71 | |
53. copy_constant $68 = 0x00000002 (2.802597e-45) | |
54. copy_slot_unmasked $69 = $68 | |
55. copy_2_slots_unmasked ihp2 = $68..69 | |
56. copy_2_slots_unmasked imp2 = $68..69 | |
57. copy_constant $68 = 0x00000003 (4.203895e-45) | |
58. swizzle_3 $68..70 = ($68..70).xxx | |
59. copy_3_slots_unmasked ihp3 = $68..70 | |
60. copy_3_slots_unmasked imp3 = $68..70 | |
61. copy_constant $68 = 0x00000004 (5.605194e-45) | |
62. swizzle_4 $68..71 = ($68..71).xxxx | |
63. copy_4_slots_unmasked ihp4 = $68..71 | |
64. copy_4_slots_unmasked imp4 = $68..71 | |
65. copy_4_slots_unmasked $68..71 = mp2, hp2 | |
66. cmpeq_2_floats $68..69 = equal($68..69, $70..71) | |
67. bitwise_and_int $68 &= $69 | |
68. copy_3_slots_unmasked $69..71 = hp3 | |
69. copy_3_slots_unmasked $72..74 = mp3 | |
70. cmpeq_3_floats $69..71 = equal($69..71, $72..74) | |
71. bitwise_and_int $70 &= $71 | |
72. bitwise_and_int $69 &= $70 | |
73. bitwise_and_int $68 &= $69 | |
74. copy_4_slots_unmasked $69..72 = mp4 | |
75. copy_4_slots_unmasked $73..76 = hp4 | |
76. cmpeq_4_floats $69..72 = equal($69..72, $73..76) | |
77. bitwise_and_2_ints $69..70 &= $71..72 | |
78. bitwise_and_int $69 &= $70 | |
79. bitwise_and_int $68 &= $69 | |
80. copy_2_slots_unmasked $69..70 = imp2 | |
81. copy_2_slots_unmasked $71..72 = ihp2 | |
82. cmpeq_2_ints $69..70 = equal($69..70, $71..72) | |
83. bitwise_and_int $69 &= $70 | |
84. bitwise_and_int $68 &= $69 | |
85. copy_4_slots_unmasked $69..72 = ihp3, imp3(0) | |
86. copy_2_slots_unmasked $73..74 = imp3(1..2) | |
87. cmpeq_3_ints $69..71 = equal($69..71, $72..74) | |
88. bitwise_and_int $70 &= $71 | |
89. bitwise_and_int $69 &= $70 | |
90. bitwise_and_int $68 &= $69 | |
91. copy_4_slots_unmasked $69..72 = imp4 | |
92. copy_4_slots_unmasked $73..76 = ihp4 | |
93. cmpeq_4_ints $69..72 = equal($69..72, $73..76) | |
94. bitwise_and_2_ints $69..70 &= $71..72 | |
95. bitwise_and_int $69 &= $70 | |
96. bitwise_and_int $68 &= $69 | |
97. label label 0x00000008 | |
98. copy_slot_masked $67 = Mask($68) | |
99. label label 0x00000006 | |
100. load_condition_mask CondMask = $62 | |
101. zero_slot_unmasked $17 = 0 | |
102. merge_condition_mask CondMask = $66 & $67 | |
103. branch_if_no_lanes_active branch_if_no_lanes_active +60 (label 5 at #163) | |
104. zero_slot_unmasked $18 = 0 | |
105. copy_constant $19 = 0x40000000 (2.0) | |
106. swizzle_4 $18..21 = ($18..21).yxxy | |
107. copy_4_slots_unmasked mp2₁ = $18..21 | |
108. copy_4_slots_unmasked hp2₁ = $18..21 | |
109. zero_slot_unmasked $18 = 0 | |
110. copy_constant $19 = 0x40400000 (3.0) | |
111. shuffle $18..26 = ($18..26)[1 0 0 0 1 0 0 0 1] | |
112. copy_4_slots_unmasked mp3₁(0..3) = $18..21 | |
113. copy_4_slots_unmasked mp3₁(4..7) = $22..25 | |
114. copy_slot_unmasked mp3₁(8) = $26 | |
115. copy_4_slots_unmasked hp3₁(0..3) = $18..21 | |
116. copy_4_slots_unmasked hp3₁(4..7) = $22..25 | |
117. copy_slot_unmasked hp3₁(8) = $26 | |
118. zero_slot_unmasked $18 = 0 | |
119. copy_constant $19 = 0x40800000 (4.0) | |
120. shuffle $18..33 = ($18..33)[1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1] | |
121. copy_4_slots_unmasked mp4₁(0..3) = $18..21 | |
122. copy_4_slots_unmasked mp4₁(4..7) = $22..25 | |
123. copy_4_slots_unmasked mp4₁(8..11) = $26..29 | |
124. copy_4_slots_unmasked mp4₁(12..15) = $30..33 | |
125. copy_4_slots_unmasked hp4₁(0..3) = $18..21 | |
126. copy_4_slots_unmasked hp4₁(4..7) = $22..25 | |
127. copy_4_slots_unmasked hp4₁(8..11) = $26..29 | |
128. copy_4_slots_unmasked hp4₁(12..15) = $30..33 | |
129. copy_4_slots_unmasked $18..21 = mp2₁ | |
130. copy_4_slots_unmasked $22..25 = hp2₁ | |
131. cmpeq_4_floats $18..21 = equal($18..21, $22..25) | |
132. bitwise_and_2_ints $18..19 &= $20..21 | |
133. bitwise_and_int $18 &= $19 | |
134. copy_4_slots_unmasked $19..22 = hp3₁(0..3) | |
135. copy_4_slots_unmasked $23..26 = hp3₁(4..7) | |
136. copy_slot_unmasked $27 = hp3₁(8) | |
137. copy_4_slots_unmasked $28..31 = mp3₁(0..3) | |
138. copy_4_slots_unmasked $32..35 = mp3₁(4..7) | |
139. copy_slot_unmasked $36 = mp3₁(8) | |
140. cmpeq_n_floats $19..27 = equal($19..27, $28..36) | |
141. bitwise_and_4_ints $20..23 &= $24..27 | |
142. bitwise_and_2_ints $20..21 &= $22..23 | |
143. bitwise_and_int $20 &= $21 | |
144. bitwise_and_int $19 &= $20 | |
145. bitwise_and_int $18 &= $19 | |
146. copy_4_slots_unmasked $19..22 = mp4₁(0..3) | |
147. copy_4_slots_unmasked $23..26 = mp4₁(4..7) | |
148. copy_4_slots_unmasked $27..30 = mp4₁(8..11) | |
149. copy_4_slots_unmasked $31..34 = mp4₁(12..15) | |
150. copy_4_slots_unmasked $35..38 = hp4₁(0..3) | |
151. copy_4_slots_unmasked $39..42 = hp4₁(4..7) | |
152. copy_4_slots_unmasked $43..46 = hp4₁(8..11) | |
153. copy_4_slots_unmasked $47..50 = hp4₁(12..15) | |
154. cmpeq_n_floats $19..34 = equal($19..34, $35..50) | |
155. bitwise_and_4_ints $27..30 &= $31..34 | |
156. bitwise_and_4_ints $23..26 &= $27..30 | |
157. bitwise_and_4_ints $19..22 &= $23..26 | |
158. bitwise_and_2_ints $19..20 &= $21..22 | |
159. bitwise_and_int $19 &= $20 | |
160. bitwise_and_int $18 &= $19 | |
161. label label 0x00000009 | |
162. copy_slot_masked $17 = Mask($18) | |
163. label label 0x00000005 | |
164. load_condition_mask CondMask = $66 | |
165. zero_slot_unmasked $56 = 0 | |
166. merge_condition_mask CondMask = $16 & $17 | |
167. branch_if_no_lanes_active branch_if_no_lanes_active +35 (label 4 at #202) | |
168. zero_slot_unmasked mf[0] = 0 | |
169. copy_constant $57 = 0x3F800000 (1.0) | |
170. copy_slot_masked mf[0] = Mask($57) | |
171. zero_slot_unmasked hf[0] = 0 | |
172. copy_constant $57 = 0x3F800000 (1.0) | |
173. copy_slot_masked hf[0] = Mask($57) | |
174. zero_4_slots_unmasked mv[0], mv[1] = 0 | |
175. zero_slot_unmasked $57 = 0 | |
176. copy_constant $58 = 0x3F800000 (1.0) | |
177. copy_2_slots_masked mv[0] = Mask($57..58) | |
178. copy_constant $57 = 0x40000000 (2.0) | |
179. copy_constant $58 = 0x40400000 (3.0) | |
180. copy_2_slots_masked mv[1] = Mask($57..58) | |
181. zero_4_slots_unmasked hv[0], hv[1] = 0 | |
182. zero_slot_unmasked $57 = 0 | |
183. copy_constant $58 = 0x3F800000 (1.0) | |
184. copy_2_slots_masked hv[0] = Mask($57..58) | |
185. copy_constant $57 = 0x40000000 (2.0) | |
186. copy_constant $58 = 0x40400000 (3.0) | |
187. copy_2_slots_masked hv[1] = Mask($57..58) | |
188. copy_2_slots_unmasked $57..58 = mf[0], hf[0] | |
189. cmpeq_float $57 = equal($57, $58) | |
190. copy_2_slots_unmasked $58..59 = hv[0] | |
191. copy_2_slots_unmasked $60..61 = mv[0] | |
192. cmpeq_2_floats $58..59 = equal($58..59, $60..61) | |
193. bitwise_and_int $58 &= $59 | |
194. bitwise_and_int $57 &= $58 | |
195. copy_2_slots_unmasked $58..59 = mv[1] | |
196. copy_2_slots_unmasked $60..61 = hv[1] | |
197. cmpeq_2_floats $58..59 = equal($58..59, $60..61) | |
198. bitwise_and_int $58 &= $59 | |
199. bitwise_and_int $57 &= $58 | |
200. label label 0x0000000A | |
201. copy_slot_masked $56 = Mask($57) | |
202. label label 0x00000004 | |
203. load_condition_mask CondMask = $16 | |
204. zero_slot_unmasked $52 = 0 | |
205. merge_condition_mask CondMask = $55 & $56 | |
206. branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 3 at #213) | |
207. copy_constant value = 0x3F800000 (1.0) | |
208. copy_slot_unmasked $53 = value | |
209. copy_constant $54 = 0x3F800000 (1.0) | |
210. cmpeq_float $53 = equal($53, $54) | |
211. label label 0x0000000B | |
212. copy_slot_masked $52 = Mask($53) | |
213. label label 0x00000003 | |
214. load_condition_mask CondMask = $55 | |
215. zero_slot_unmasked $13 = 0 | |
216. merge_condition_mask CondMask = $51 & $52 | |
217. branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 2 at #224) | |
218. copy_constant value₁ = 0x40000000 (2.0) | |
219. copy_slot_unmasked $14 = value₁ | |
220. copy_constant $15 = 0x40000000 (2.0) | |
221. cmpeq_float $14 = equal($14, $15) | |
222. label label 0x0000000C | |
223. copy_slot_masked $13 = Mask($14) | |
224. label label 0x00000002 | |
225. load_condition_mask CondMask = $51 | |
226. zero_slot_unmasked $0 = 0 | |
227. merge_condition_mask CondMask = $12 & $13 | |
228. branch_if_no_lanes_active branch_if_no_lanes_active +7 (label 1 at #235) | |
229. copy_constant value₂ = 0x40400000 (3.0) | |
230. copy_slot_unmasked $1 = value₂ | |
231. copy_constant $2 = 0x40400000 (3.0) | |
232. cmpeq_float $1 = equal($1, $2) | |
233. label label 0x0000000D | |
234. copy_slot_masked $0 = Mask($1) | |
235. label label 0x00000001 | |
236. load_condition_mask CondMask = $12 | |
237. swizzle_4 $0..3 = ($0..3).xxxx | |
238. copy_4_slots_unmasked $4..7 = red | |
239. copy_4_slots_unmasked $8..11 = green | |
240. mix_4_ints $0..3 = mix($4..7, $8..11, $0..3) | |
241. load_src src.rgba = $0..3 |