From 28034d840bf0a019ef9b68132fbc03d445a57989 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 27 Mar 2009 13:46:53 +0000 Subject: [PATCH] cover not good speedup case. SVN revision: 39760 --- .../src/lib/engines/common/evas_image_scalecache.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/legacy/evas/src/lib/engines/common/evas_image_scalecache.c b/legacy/evas/src/lib/engines/common/evas_image_scalecache.c index 9f1deb8753..b026d7b60d 100644 --- a/legacy/evas/src/lib/engines/common/evas_image_scalecache.c +++ b/legacy/evas/src/lib/engines/common/evas_image_scalecache.c @@ -271,9 +271,18 @@ evas_common_rgba_image_scalecache_prepare(Image_Entry *ie, RGBA_Image *dst, use_counter++; if ((src_region_w == dst_region_w) && (src_region_h == dst_region_h)) { + // 1:1 scale. + im->cache.orig_usage++; + im->cache.usage_count = use_counter; + LKU(im->cache.lock); + return; + } + if ((!im->cache_entry.flags.alpha) && (!smooth)) + { + // solid nearest scaling - it's actually the same speed cached or not, + // or in some cases faster not cached im->cache.orig_usage++; im->cache.usage_count = use_counter; - // 1:1 scale. LKU(im->cache.lock); return; } @@ -385,7 +394,7 @@ evas_common_rgba_image_scalecache_do(Image_Entry *ie, RGBA_Image *dst, { // printf("##! populate!\n"); sci->im = evas_common_image_new - (dst_region_w, dst_region_h, im->flags & RGBA_IMAGE_ALPHA_ONLY); + (dst_region_w, dst_region_h, im->cache_entry.flags.alpha); if (sci->im) { static RGBA_Draw_Context *ct = NULL;