summaryrefslogtreecommitdiff
path: root/legacy/evas/src/lib/engines/common/evas_scale_sample.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--legacy/evas/src/lib/engines/common/evas_scale_sample.c49
1 files changed, 32 insertions, 17 deletions
diff --git a/legacy/evas/src/lib/engines/common/evas_scale_sample.c b/legacy/evas/src/lib/engines/common/evas_scale_sample.c
index c864e5d760..54d255f31c 100644
--- a/legacy/evas/src/lib/engines/common/evas_scale_sample.c
+++ b/legacy/evas/src/lib/engines/common/evas_scale_sample.c
@@ -247,7 +247,12 @@ scale_rgba_in_to_out_clip_sample_internal(RGBA_Image *src, RGBA_Image *dst,
247 for (y = 0; y < dst_clip_h; y++) 247 for (y = 0; y < dst_clip_h; y++)
248 { 248 {
249 /* * blend here [clip_w *] ptr -> dst_ptr * */ 249 /* * blend here [clip_w *] ptr -> dst_ptr * */
250 func(ptr, NULL, dc->mul.col, dst_ptr, dst_clip_w); 250#ifdef EVAS_SLI
251 if (((y + dst_clip_y) % dc->sli.h) == dc->sli.y)
252#endif
253 {
254 func(ptr, NULL, dc->mul.col, dst_ptr, dst_clip_w);
255 }
251 ptr += src_w; 256 ptr += src_w;
252 dst_ptr += dst_w; 257 dst_ptr += dst_w;
253 } 258 }
@@ -269,13 +274,18 @@ scale_rgba_in_to_out_clip_sample_internal(RGBA_Image *src, RGBA_Image *dst,
269 { 274 {
270 for (y = 0; y < dst_clip_h; y++) 275 for (y = 0; y < dst_clip_h; y++)
271 { 276 {
272 dst_ptr = dptr; 277#ifdef EVAS_SLI
273 for (x = 0; x < dst_clip_w; x++) 278 if (((y + dst_clip_y) % dc->sli.h) == dc->sli.y)
274 { 279#endif
275 ptr = row_ptr[y] + lin_ptr[x]; 280 {
276 *dst_ptr = *ptr; 281 dst_ptr = dptr;
277 dst_ptr++; 282 for (x = 0; x < dst_clip_w; x++)
278 } 283 {
284 ptr = row_ptr[y] + lin_ptr[x];
285 *dst_ptr = *ptr;
286 dst_ptr++;
287 }
288 }
279 dptr += dst_w; 289 dptr += dst_w;
280 } 290 }
281 } 291 }
@@ -288,15 +298,20 @@ scale_rgba_in_to_out_clip_sample_internal(RGBA_Image *src, RGBA_Image *dst,
288 298
289 for (y = 0; y < dst_clip_h; y++) 299 for (y = 0; y < dst_clip_h; y++)
290 { 300 {
291 dst_ptr = buf; 301#ifdef EVAS_SLI
292 for (x = 0; x < dst_clip_w; x++) 302 if (((y + dst_clip_y) % dc->sli.h) == dc->sli.y)
293 { 303#endif
294 ptr = row_ptr[y] + lin_ptr[x]; 304 {
295 *dst_ptr = *ptr; 305 dst_ptr = buf;
296 dst_ptr++; 306 for (x = 0; x < dst_clip_w; x++)
297 } 307 {
298 /* * blend here [clip_w *] buf -> dptr * */ 308 ptr = row_ptr[y] + lin_ptr[x];
299 func(buf, NULL, dc->mul.col, dptr, dst_clip_w); 309 *dst_ptr = *ptr;
310 dst_ptr++;
311 }
312 /* * blend here [clip_w *] buf -> dptr * */
313 func(buf, NULL, dc->mul.col, dptr, dst_clip_w);
314 }
300 dptr += dst_w; 315 dptr += dst_w;
301 } 316 }
302 } 317 }