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