summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2014-12-22 21:46:14 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2015-01-07 15:06:03 +0900
commit592068108bdb2e08ef9229d2617818b9260a8526 (patch)
tree0859735885661fc9732bbb700d7f2fdfb6cc20be
parent4bff14676ebe2ab981e9c10c2d6746cb3ec2737c (diff)
Evas masking: Fix another set of rendering artifacts
-rw-r--r--src/lib/evas/common/evas_scale_sample.c11
-rw-r--r--src/lib/evas/common/evas_scale_smooth_scaler_down.c8
-rw-r--r--src/lib/evas/common/evas_scale_smooth_scaler_up.c8
3 files changed, 20 insertions, 7 deletions
diff --git a/src/lib/evas/common/evas_scale_sample.c b/src/lib/evas/common/evas_scale_sample.c
index 86b02d8e68..c888aa7450 100644
--- a/src/lib/evas/common/evas_scale_sample.c
+++ b/src/lib/evas/common/evas_scale_sample.c
@@ -208,9 +208,13 @@ evas_common_scale_rgba_sample_draw(RGBA_Image *src, RGBA_Image *dst, int dst_cli
208 } 208 }
209 else 209 else
210 { 210 {
211 func = evas_common_gfx_func_composite_pixel_mask_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
212 if (mul_col != 0xffffffff) 211 if (mul_col != 0xffffffff)
213 func2 = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, render_op); 212 {
213 func = evas_common_gfx_func_composite_pixel_mask_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
214 func2 = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, EVAS_RENDER_COPY);
215 }
216 else
217 func = evas_common_gfx_func_composite_pixel_mask_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
214 } 218 }
215 219
216 if ((dst_region_w == src_region_w) && (dst_region_h == src_region_h)) 220 if ((dst_region_w == src_region_w) && (dst_region_h == src_region_h))
@@ -291,7 +295,8 @@ evas_common_scale_rgba_sample_draw(RGBA_Image *src, RGBA_Image *dst, int dst_cli
291 } 295 }
292 296
293 /* * blend here [clip_w *] buf -> dptr * */ 297 /* * blend here [clip_w *] buf -> dptr * */
294 if (mul_col != 0xffffffff) func2(buf, NULL, mul_col, buf, dst_clip_w); 298 if (mul_col != 0xffffffff)
299 func2(buf, NULL, mul_col, buf, dst_clip_w);
295 func(buf, mask, 0, dptr, dst_clip_w); 300 func(buf, mask, 0, dptr, dst_clip_w);
296 301
297 dptr += dst_w; 302 dptr += dst_w;
diff --git a/src/lib/evas/common/evas_scale_smooth_scaler_down.c b/src/lib/evas/common/evas_scale_smooth_scaler_down.c
index 9d0bae3836..9da3b0cfdc 100644
--- a/src/lib/evas/common/evas_scale_smooth_scaler_down.c
+++ b/src/lib/evas/common/evas_scale_smooth_scaler_down.c
@@ -27,9 +27,13 @@
27 } 27 }
28 else 28 else
29 { 29 {
30 func = evas_common_gfx_func_composite_pixel_mask_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
31 if (mul_col != 0xffffffff) 30 if (mul_col != 0xffffffff)
32 func2 = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, render_op); 31 {
32 func = evas_common_gfx_func_composite_pixel_mask_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
33 func2 = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, EVAS_RENDER_COPY);
34 }
35 else
36 func = evas_common_gfx_func_composite_pixel_mask_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
33 } 37 }
34 38
35 /* scaling down vertically */ 39 /* scaling down vertically */
diff --git a/src/lib/evas/common/evas_scale_smooth_scaler_up.c b/src/lib/evas/common/evas_scale_smooth_scaler_up.c
index 56060f8a07..3fbbbb195a 100644
--- a/src/lib/evas/common/evas_scale_smooth_scaler_up.c
+++ b/src/lib/evas/common/evas_scale_smooth_scaler_up.c
@@ -43,9 +43,13 @@
43 } 43 }
44 else 44 else
45 { 45 {
46 func = evas_common_gfx_func_composite_pixel_mask_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
47 if (mul_col != 0xffffffff) 46 if (mul_col != 0xffffffff)
48 func2 = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, render_op); 47 {
48 func = evas_common_gfx_func_composite_pixel_mask_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
49 func2 = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, EVAS_RENDER_COPY);
50 }
51 else
52 func = evas_common_gfx_func_composite_pixel_mask_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
49 } 53 }
50 } 54 }
51 else 55 else