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