summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2014-11-26 15:59:27 +0900
committerChunEon Park <hermet@hermet.pe.kr>2014-11-26 16:00:59 +0900
commit795f9d6ce32c1e52b8f0b5b729ce391b1f32103d (patch)
tree0c133e3dcc6d45956b05ec0118bade50dce3125d
parente3b7d3daed16188ae7af500a6a1bf4ca7bfabfd6 (diff)
evas/map: revise draw code.
reverted draw logic and applying aa drawing better safely.
-rw-r--r--src/lib/evas/common/evas_map_image_loop.c23
1 files changed, 11 insertions, 12 deletions
diff --git a/src/lib/evas/common/evas_map_image_loop.c b/src/lib/evas/common/evas_map_image_loop.c
index f0bd3323c8..fbc8459a73 100644
--- a/src/lib/evas/common/evas_map_image_loop.c
+++ b/src/lib/evas/common/evas_map_image_loop.c
@@ -31,13 +31,12 @@
31 31
32 while (ww > 0) 32 while (ww > 0)
33 { 33 {
34 DATA32 val1 = 0x00000000;
35# ifdef COLBLACK 34# ifdef COLBLACK
36 *d = 0xff000000; // col 35 *d = 0xff000000; // col
37# else //COLBLACK 36# else //COLBLACK
38 FPc uu1, vv1, uu2, vv2; 37 FPc uu1, vv1, uu2, vv2;
39 FPc rv, ru; 38 FPc rv, ru;
40 DATA32 val2, val3, val4; 39 DATA32 val1, val2, val3, val4;
41 40
42 uu1 = u; 41 uu1 = u;
43 if (uu1 < 0) uu1 = 0; 42 if (uu1 < 0) uu1 = 0;
@@ -157,19 +156,20 @@
157 val1 = INTERP_256(rv, val3, val1); // col 156 val1 = INTERP_256(rv, val3, val1); // col
158# ifdef COLMUL 157# ifdef COLMUL
159# ifdef COLSAME 158# ifdef COLSAME
160 val1 = MUL4_SYM(c1, val1); 159 *d = MUL4_SYM(c1, val1);
161# else //COLSAME 160# else //COLSAME
162 val2 = INTERP_256((cv >> 16), c2, c1); // col 161 val2 = INTERP_256((cv >> 16), c2, c1); // col
163 val1 = MUL4_SYM(val2, val1); // col 162 *d = MUL4_SYM(val2, val1); // col
164 cv += cd; // col 163 cv += cd; // col
165# endif //COLSAME 164# endif //COLSAME
165# else
166 *d = val1;
166# endif //COLMUL 167# endif //COLMUL
167# endif //SCALE_USING_MMX 168# endif //SCALE_USING_MMX
168 u += ud; 169 u += ud;
169 v += vd; 170 v += vd;
170# endif //COLBLACK 171# endif //COLBLACK
171 if (anti_alias) val1 = _aa_coverage_apply(line, ww, w, val1); 172 if (anti_alias) *d = _aa_coverage_apply(line, ww, w, *d);
172 *d = val1;
173 d++; 173 d++;
174 ww--; 174 ww--;
175 } 175 }
@@ -201,9 +201,9 @@
201 201
202 while (ww > 0) 202 while (ww > 0)
203 { 203 {
204 DATA32 val1 = 0x00000000;
205# ifdef COLMUL 204# ifdef COLMUL
206# ifndef COLBLACK 205# ifndef COLBLACK
206 DATA32 val1;
207# ifdef COLSAME 207# ifdef COLSAME
208# else 208# else
209 DATA32 cval; // col 209 DATA32 cval; // col
@@ -212,7 +212,7 @@
212# endif //COLMUL 212# endif //COLMUL
213 213
214# ifdef COLBLACK 214# ifdef COLBLACK
215 val1 = 0xff000000; // col 215 *d = 0xff000000; // col
216# else //COLBLACK 216# else //COLBLACK
217 s = sp + ((v >> (FP + FPI)) * sw) + (u >> (FP + FPI)); 217 s = sp + ((v >> (FP + FPI)) * sw) + (u >> (FP + FPI));
218# ifdef COLMUL 218# ifdef COLMUL
@@ -226,7 +226,7 @@
226 MUL4_SYM_NEON(d0, d1, d4) 226 MUL4_SYM_NEON(d0, d1, d4)
227 VMOV_R2M_NEON(q0, d0, d); 227 VMOV_R2M_NEON(q0, d0, d);
228# else 228# else
229 val1 = MUL4_SYM(c1, val1); 229 *d = MUL4_SYM(c1, val1);
230# endif //SCALE_USING_NEON 230# endif //SCALE_USING_NEON
231# else //COLSAME 231# else //COLSAME
232/* XXX: this neon is broken! :( FIXME 232/* XXX: this neon is broken! :( FIXME
@@ -250,13 +250,12 @@
250 */ 250 */
251# endif //COLSAME 251# endif //COLSAME
252# else //COLMUL 252# else //COLMUL
253 val1 = *s; 253 *d = *s;
254# endif //COLMUL 254# endif //COLMUL
255 u += ud; 255 u += ud;
256 v += vd; 256 v += vd;
257# endif //COLBLACK 257# endif //COLBLACK
258 if (anti_alias) val1 = _aa_coverage_apply(line, ww, w, val1); 258 if (anti_alias) *d = _aa_coverage_apply(line, ww, w, *d);
259 *d = val1;
260 d++; 259 d++;
261 ww--; 260 ww--;
262 } 261 }