diff options
Diffstat (limited to '')
-rw-r--r-- | libraries/evas/src/lib/engines/common/evas_op_blend/op_blend_pixel_color_.c | 284 |
1 files changed, 0 insertions, 284 deletions
diff --git a/libraries/evas/src/lib/engines/common/evas_op_blend/op_blend_pixel_color_.c b/libraries/evas/src/lib/engines/common/evas_op_blend/op_blend_pixel_color_.c deleted file mode 100644 index c5e40a0..0000000 --- a/libraries/evas/src/lib/engines/common/evas_op_blend/op_blend_pixel_color_.c +++ /dev/null | |||
@@ -1,284 +0,0 @@ | |||
1 | /* blend pixel x color --> dst */ | ||
2 | |||
3 | #ifdef BUILD_C | ||
4 | static void | ||
5 | _op_blend_p_c_dp(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c, DATA32 *d, int l) { | ||
6 | DATA32 *e; | ||
7 | int alpha; | ||
8 | UNROLL8_PLD_WHILE(d, l, e, | ||
9 | { | ||
10 | DATA32 sc = MUL4_SYM(c, *s); | ||
11 | alpha = 256 - (sc >> 24); | ||
12 | *d = sc + MUL_256(alpha, *d); | ||
13 | d++; | ||
14 | s++; | ||
15 | }); | ||
16 | } | ||
17 | |||
18 | static void | ||
19 | _op_blend_pan_c_dp(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c, DATA32 *d, int l) { | ||
20 | DATA32 *e; | ||
21 | int alpha = 256 - (c >> 24); | ||
22 | UNROLL8_PLD_WHILE(d, l, e, | ||
23 | { | ||
24 | *d = ((c & 0xff000000) + MUL3_SYM(c, *s)) + MUL_256(alpha, *d); | ||
25 | d++; | ||
26 | s++; | ||
27 | }); | ||
28 | } | ||
29 | |||
30 | static void | ||
31 | _op_blend_p_can_dp(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c, DATA32 *d, int l) { | ||
32 | DATA32 *e; | ||
33 | int alpha; | ||
34 | UNROLL8_PLD_WHILE(d, l, e, | ||
35 | { | ||
36 | alpha = 256 - (*s >> 24); | ||
37 | *d = ((*s & 0xff000000) + MUL3_SYM(c, *s)) + MUL_256(alpha, *d); | ||
38 | d++; | ||
39 | s++; | ||
40 | }); | ||
41 | } | ||
42 | |||
43 | static void | ||
44 | _op_blend_pan_can_dp(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c, DATA32 *d, int l) { | ||
45 | DATA32 *e; | ||
46 | UNROLL8_PLD_WHILE(d, l, e, | ||
47 | { | ||
48 | *d++ = 0xff000000 + MUL3_SYM(c, *s); | ||
49 | s++; | ||
50 | }); | ||
51 | } | ||
52 | |||
53 | static void | ||
54 | _op_blend_p_caa_dp(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c, DATA32 *d, int l) { | ||
55 | DATA32 *e; | ||
56 | int alpha; | ||
57 | c = 1 + (c & 0xff); | ||
58 | UNROLL8_PLD_WHILE(d, l, e, | ||
59 | { | ||
60 | DATA32 sc = MUL_256(c, *s); | ||
61 | alpha = 256 - (sc >> 24); | ||
62 | *d = sc + MUL_256(alpha, *d); | ||
63 | d++; | ||
64 | s++; | ||
65 | }); | ||
66 | } | ||
67 | |||
68 | static void | ||
69 | _op_blend_pan_caa_dp(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c, DATA32 *d, int l) { | ||
70 | DATA32 *e; | ||
71 | c = 1 + (c & 0xff); | ||
72 | UNROLL8_PLD_WHILE(d, l, e, | ||
73 | { | ||
74 | *d = INTERP_256(c, *s, *d); | ||
75 | d++; | ||
76 | s++; | ||
77 | }); | ||
78 | } | ||
79 | |||
80 | #define _op_blend_pas_c_dp _op_blend_p_c_dp | ||
81 | #define _op_blend_pas_can_dp _op_blend_p_can_dp | ||
82 | #define _op_blend_pas_caa_dp _op_blend_p_caa_dp | ||
83 | |||
84 | #define _op_blend_p_c_dpan _op_blend_p_c_dp | ||
85 | #define _op_blend_pas_c_dpan _op_blend_pas_c_dp | ||
86 | #define _op_blend_pan_c_dpan _op_blend_pan_c_dp | ||
87 | #define _op_blend_p_can_dpan _op_blend_p_can_dp | ||
88 | #define _op_blend_pas_can_dpan _op_blend_pas_can_dp | ||
89 | #define _op_blend_pan_can_dpan _op_blend_pan_can_dp | ||
90 | #define _op_blend_p_caa_dpan _op_blend_p_caa_dp | ||
91 | #define _op_blend_pas_caa_dpan _op_blend_pas_caa_dp | ||
92 | #define _op_blend_pan_caa_dpan _op_blend_pan_caa_dp | ||
93 | |||
94 | static void | ||
95 | init_blend_pixel_color_span_funcs_c(void) | ||
96 | { | ||
97 | op_blend_span_funcs[SP][SM_N][SC][DP][CPU_C] = _op_blend_p_c_dp; | ||
98 | op_blend_span_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_blend_pas_c_dp; | ||
99 | op_blend_span_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_blend_pan_c_dp; | ||
100 | op_blend_span_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_blend_p_can_dp; | ||
101 | op_blend_span_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_blend_pas_can_dp; | ||
102 | op_blend_span_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_blend_pan_can_dp; | ||
103 | op_blend_span_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_blend_p_caa_dp; | ||
104 | op_blend_span_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_blend_pas_caa_dp; | ||
105 | op_blend_span_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_blend_pan_caa_dp; | ||
106 | |||
107 | op_blend_span_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_blend_p_c_dpan; | ||
108 | op_blend_span_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_blend_pas_c_dpan; | ||
109 | op_blend_span_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_blend_pan_c_dpan; | ||
110 | op_blend_span_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_p_can_dpan; | ||
111 | op_blend_span_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_pas_can_dpan; | ||
112 | op_blend_span_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_pan_can_dpan; | ||
113 | op_blend_span_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_p_caa_dpan; | ||
114 | op_blend_span_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_pas_caa_dpan; | ||
115 | op_blend_span_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_pan_caa_dpan; | ||
116 | } | ||
117 | #endif | ||
118 | |||
119 | #ifdef BUILD_C | ||
120 | static void | ||
121 | _op_blend_pt_p_c_dp(DATA32 s, DATA8 m __UNUSED__, DATA32 c, DATA32 *d) { | ||
122 | s = MUL4_SYM(c, s); | ||
123 | c = 256 - (s >> 24); | ||
124 | *d = s + MUL_256(c, *d); | ||
125 | } | ||
126 | |||
127 | #define _op_blend_pt_pas_c_dp _op_blend_pt_p_c_dp | ||
128 | #define _op_blend_pt_pan_c_dp _op_blend_pt_p_c_dp | ||
129 | #define _op_blend_pt_p_can_dp _op_blend_pt_p_c_dp | ||
130 | #define _op_blend_pt_pas_can_dp _op_blend_pt_p_c_dp | ||
131 | #define _op_blend_pt_pan_can_dp _op_blend_pt_p_c_dp | ||
132 | #define _op_blend_pt_p_caa_dp _op_blend_pt_p_c_dp | ||
133 | #define _op_blend_pt_pas_caa_dp _op_blend_pt_p_c_dp | ||
134 | #define _op_blend_pt_pan_caa_dp _op_blend_pt_p_c_dp | ||
135 | |||
136 | #define _op_blend_pt_p_c_dpan _op_blend_pt_p_c_dp | ||
137 | #define _op_blend_pt_pas_c_dpan _op_blend_pt_pas_c_dp | ||
138 | #define _op_blend_pt_pan_c_dpan _op_blend_pt_pan_c_dp | ||
139 | #define _op_blend_pt_p_can_dpan _op_blend_pt_p_can_dp | ||
140 | #define _op_blend_pt_pas_can_dpan _op_blend_pt_pas_can_dp | ||
141 | #define _op_blend_pt_pan_can_dpan _op_blend_pt_pan_can_dp | ||
142 | #define _op_blend_pt_p_caa_dpan _op_blend_pt_p_caa_dp | ||
143 | #define _op_blend_pt_pas_caa_dpan _op_blend_pt_pas_caa_dp | ||
144 | #define _op_blend_pt_pan_caa_dpan _op_blend_pt_pan_caa_dp | ||
145 | |||
146 | static void | ||
147 | init_blend_pixel_color_pt_funcs_c(void) | ||
148 | { | ||
149 | op_blend_pt_funcs[SP][SM_N][SC][DP][CPU_C] = _op_blend_pt_p_c_dp; | ||
150 | op_blend_pt_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_blend_pt_pas_c_dp; | ||
151 | op_blend_pt_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_blend_pt_pan_c_dp; | ||
152 | op_blend_pt_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_blend_pt_p_can_dp; | ||
153 | op_blend_pt_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_blend_pt_pas_can_dp; | ||
154 | op_blend_pt_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_blend_pt_pan_can_dp; | ||
155 | op_blend_pt_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_blend_pt_p_caa_dp; | ||
156 | op_blend_pt_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_blend_pt_pas_caa_dp; | ||
157 | op_blend_pt_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_blend_pt_pan_caa_dp; | ||
158 | |||
159 | op_blend_pt_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_blend_pt_p_c_dpan; | ||
160 | op_blend_pt_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_blend_pt_pas_c_dpan; | ||
161 | op_blend_pt_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_blend_pt_pan_c_dpan; | ||
162 | op_blend_pt_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_pt_p_can_dpan; | ||
163 | op_blend_pt_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_pt_pas_can_dpan; | ||
164 | op_blend_pt_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_pt_pan_can_dpan; | ||
165 | op_blend_pt_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_pt_p_caa_dpan; | ||
166 | op_blend_pt_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_pt_pas_caa_dpan; | ||
167 | op_blend_pt_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_pt_pan_caa_dpan; | ||
168 | } | ||
169 | #endif | ||
170 | |||
171 | /*-----*/ | ||
172 | |||
173 | /* blend_rel pixel x color -> dst */ | ||
174 | |||
175 | #ifdef BUILD_C | ||
176 | static void | ||
177 | _op_blend_rel_p_c_dp(DATA32 *s, DATA8 *m __UNUSED__, DATA32 c, DATA32 *d, int l) { | ||
178 | DATA32 *e; | ||
179 | int alpha; | ||
180 | UNROLL8_PLD_WHILE(d, l, e, | ||
181 | { | ||
182 | DATA32 sc = MUL4_SYM(c, *s); | ||
183 | alpha = 256 - (sc >> 24); | ||
184 | *d = MUL_SYM(*d >> 24, sc) + MUL_256(alpha, *d); | ||
185 | d++; | ||
186 | s++; | ||
187 | }); | ||
188 | } | ||
189 | |||
190 | #define _op_blend_rel_pas_c_dp _op_blend_rel_p_c_dp | ||
191 | #define _op_blend_rel_pan_c_dp _op_blend_rel_p_c_dp | ||
192 | #define _op_blend_rel_p_can_dp _op_blend_rel_p_c_dp | ||
193 | #define _op_blend_rel_pas_can_dp _op_blend_rel_p_c_dp | ||
194 | #define _op_blend_rel_pan_can_dp _op_blend_rel_p_c_dp | ||
195 | #define _op_blend_rel_p_caa_dp _op_blend_rel_p_c_dp | ||
196 | #define _op_blend_rel_pas_caa_dp _op_blend_rel_p_c_dp | ||
197 | #define _op_blend_rel_pan_caa_dp _op_blend_rel_p_c_dp | ||
198 | |||
199 | #define _op_blend_rel_p_c_dpan _op_blend_p_c_dpan | ||
200 | #define _op_blend_rel_pas_c_dpan _op_blend_pas_c_dpan | ||
201 | #define _op_blend_rel_pan_c_dpan _op_blend_pan_c_dpan | ||
202 | #define _op_blend_rel_p_can_dpan _op_blend_p_can_dpan | ||
203 | #define _op_blend_rel_pas_can_dpan _op_blend_pas_can_dpan | ||
204 | #define _op_blend_rel_pan_can_dpan _op_blend_pan_can_dpan | ||
205 | #define _op_blend_rel_p_caa_dpan _op_blend_p_caa_dpan | ||
206 | #define _op_blend_rel_pas_caa_dpan _op_blend_pas_caa_dpan | ||
207 | #define _op_blend_rel_pan_caa_dpan _op_blend_pan_caa_dpan | ||
208 | |||
209 | static void | ||
210 | init_blend_rel_pixel_color_span_funcs_c(void) | ||
211 | { | ||
212 | op_blend_rel_span_funcs[SP][SM_N][SC][DP][CPU_C] = _op_blend_rel_p_c_dp; | ||
213 | op_blend_rel_span_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_blend_rel_pas_c_dp; | ||
214 | op_blend_rel_span_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_blend_rel_pan_c_dp; | ||
215 | op_blend_rel_span_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_blend_rel_p_can_dp; | ||
216 | op_blend_rel_span_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_blend_rel_pas_can_dp; | ||
217 | op_blend_rel_span_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_blend_rel_pan_can_dp; | ||
218 | op_blend_rel_span_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_blend_rel_p_caa_dp; | ||
219 | op_blend_rel_span_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_blend_rel_pas_caa_dp; | ||
220 | op_blend_rel_span_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_blend_rel_pan_caa_dp; | ||
221 | |||
222 | op_blend_rel_span_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_blend_rel_p_c_dpan; | ||
223 | op_blend_rel_span_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_blend_rel_pas_c_dpan; | ||
224 | op_blend_rel_span_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_blend_rel_pan_c_dpan; | ||
225 | op_blend_rel_span_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_rel_p_can_dpan; | ||
226 | op_blend_rel_span_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_rel_pas_can_dpan; | ||
227 | op_blend_rel_span_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_rel_pan_can_dpan; | ||
228 | op_blend_rel_span_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_rel_p_caa_dpan; | ||
229 | op_blend_rel_span_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_rel_pas_caa_dpan; | ||
230 | op_blend_rel_span_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_rel_pan_caa_dpan; | ||
231 | } | ||
232 | #endif | ||
233 | |||
234 | #ifdef BUILD_C | ||
235 | static void | ||
236 | _op_blend_rel_pt_p_c_dp(DATA32 s, DATA8 m __UNUSED__, DATA32 c, DATA32 *d) { | ||
237 | s = MUL4_SYM(c, s); | ||
238 | c = 256 - (s >> 24); | ||
239 | *d = MUL_SYM(*d >> 24, s) + MUL_256(c, *d); | ||
240 | } | ||
241 | |||
242 | #define _op_blend_rel_pt_pas_c_dp _op_blend_rel_pt_p_c_dp | ||
243 | #define _op_blend_rel_pt_pan_c_dp _op_blend_rel_pt_p_c_dp | ||
244 | #define _op_blend_rel_pt_p_can_dp _op_blend_rel_pt_p_c_dp | ||
245 | #define _op_blend_rel_pt_pas_can_dp _op_blend_rel_pt_p_c_dp | ||
246 | #define _op_blend_rel_pt_pan_can_dp _op_blend_rel_pt_p_c_dp | ||
247 | #define _op_blend_rel_pt_p_caa_dp _op_blend_rel_pt_p_c_dp | ||
248 | #define _op_blend_rel_pt_pas_caa_dp _op_blend_rel_pt_p_c_dp | ||
249 | #define _op_blend_rel_pt_pan_caa_dp _op_blend_rel_pt_p_c_dp | ||
250 | |||
251 | #define _op_blend_rel_pt_p_c_dpan _op_blend_pt_p_c_dpan | ||
252 | #define _op_blend_rel_pt_pas_c_dpan _op_blend_pt_pas_c_dpan | ||
253 | #define _op_blend_rel_pt_pan_c_dpan _op_blend_pt_pan_c_dpan | ||
254 | #define _op_blend_rel_pt_p_can_dpan _op_blend_pt_p_can_dpan | ||
255 | #define _op_blend_rel_pt_pas_can_dpan _op_blend_pt_pas_can_dpan | ||
256 | #define _op_blend_rel_pt_pan_can_dpan _op_blend_pt_pan_can_dpan | ||
257 | #define _op_blend_rel_pt_p_caa_dpan _op_blend_pt_p_caa_dpan | ||
258 | #define _op_blend_rel_pt_pas_caa_dpan _op_blend_pt_pas_caa_dpan | ||
259 | #define _op_blend_rel_pt_pan_caa_dpan _op_blend_pt_pan_caa_dpan | ||
260 | |||
261 | static void | ||
262 | init_blend_rel_pixel_color_pt_funcs_c(void) | ||
263 | { | ||
264 | op_blend_rel_pt_funcs[SP][SM_N][SC][DP][CPU_C] = _op_blend_rel_pt_p_c_dp; | ||
265 | op_blend_rel_pt_funcs[SP_AS][SM_N][SC][DP][CPU_C] = _op_blend_rel_pt_pas_c_dp; | ||
266 | op_blend_rel_pt_funcs[SP_AN][SM_N][SC][DP][CPU_C] = _op_blend_rel_pt_pan_c_dp; | ||
267 | op_blend_rel_pt_funcs[SP][SM_N][SC_AN][DP][CPU_C] = _op_blend_rel_pt_p_can_dp; | ||
268 | op_blend_rel_pt_funcs[SP_AS][SM_N][SC_AN][DP][CPU_C] = _op_blend_rel_pt_pas_can_dp; | ||
269 | op_blend_rel_pt_funcs[SP_AN][SM_N][SC_AN][DP][CPU_C] = _op_blend_rel_pt_pan_can_dp; | ||
270 | op_blend_rel_pt_funcs[SP][SM_N][SC_AA][DP][CPU_C] = _op_blend_rel_pt_p_caa_dp; | ||
271 | op_blend_rel_pt_funcs[SP_AS][SM_N][SC_AA][DP][CPU_C] = _op_blend_rel_pt_pas_caa_dp; | ||
272 | op_blend_rel_pt_funcs[SP_AN][SM_N][SC_AA][DP][CPU_C] = _op_blend_rel_pt_pan_caa_dp; | ||
273 | |||
274 | op_blend_rel_pt_funcs[SP][SM_N][SC][DP_AN][CPU_C] = _op_blend_rel_pt_p_c_dpan; | ||
275 | op_blend_rel_pt_funcs[SP_AS][SM_N][SC][DP_AN][CPU_C] = _op_blend_rel_pt_pas_c_dpan; | ||
276 | op_blend_rel_pt_funcs[SP_AN][SM_N][SC][DP_AN][CPU_C] = _op_blend_rel_pt_pan_c_dpan; | ||
277 | op_blend_rel_pt_funcs[SP][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_rel_pt_p_can_dpan; | ||
278 | op_blend_rel_pt_funcs[SP_AS][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_rel_pt_pas_can_dpan; | ||
279 | op_blend_rel_pt_funcs[SP_AN][SM_N][SC_AN][DP_AN][CPU_C] = _op_blend_rel_pt_pan_can_dpan; | ||
280 | op_blend_rel_pt_funcs[SP][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_rel_pt_p_caa_dpan; | ||
281 | op_blend_rel_pt_funcs[SP_AS][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_rel_pt_pas_caa_dpan; | ||
282 | op_blend_rel_pt_funcs[SP_AN][SM_N][SC_AA][DP_AN][CPU_C] = _op_blend_rel_pt_pan_caa_dpan; | ||
283 | } | ||
284 | #endif | ||