summaryrefslogtreecommitdiff
path: root/src/lib/evas/common
diff options
context:
space:
mode:
authorJean-Philippe Andre <jp.andre@samsung.com>2013-09-23 17:51:06 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2013-10-28 15:47:15 +0900
commit1e82480c9a074163ec6788a8a60ead403f7b0658 (patch)
tree0c1458c5a0a0149c0f4a16e11f4d3523934cdb74 /src/lib/evas/common
parentfc73405c40653a5fc0166690e3657ffd87069efc (diff)
evas/cserve2: Use scalecache with cserve2
Let's reuse the logic from scalecache and call cserve2 functions when the scalecache should be used. So, now, cserve2 server will not scale any image... This is too computationally intensive for the server's main thread. This is not optimal but makes a hell of a lot more sense for the moment. (since cserve2 manages the SHM segments)
Diffstat (limited to 'src/lib/evas/common')
-rw-r--r--src/lib/evas/common/evas_image_scalecache.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/lib/evas/common/evas_image_scalecache.c b/src/lib/evas/common/evas_image_scalecache.c
index fc907614c8..3802f0cce5 100644
--- a/src/lib/evas/common/evas_image_scalecache.c
+++ b/src/lib/evas/common/evas_image_scalecache.c
@@ -759,6 +759,26 @@ evas_common_rgba_image_scalecache_do_cbs(Image_Entry *ie, RGBA_Image *dst,
759 } 759 }
760 } 760 }
761 } 761 }
762
763#ifdef EVAS_CSERVE2
764 if (sci->populate_me && (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
765 && evas_cserve2_use_get() && evas_cache2_image_cached(&im->cache_entry))
766 {
767 RGBA_Image *im2 = (RGBA_Image *) evas_cache2_image_scale_load
768 (&im->cache_entry, src_region_x, src_region_y,
769 src_region_w, src_region_h, dst_region_w, dst_region_h, smooth);
770 SLKL(cache_lock);
771 if (im2 != im)
772 {
773 sci->im = im2;
774 sci->populate_me = 0;
775 cache_list = eina_inlist_append(cache_list, (Eina_Inlist *)sci);
776 didpop = 1;
777 }
778 SLKU(cache_lock);
779 }
780#endif
781
762 if (sci->populate_me) 782 if (sci->populate_me)
763 { 783 {
764// INF("##! populate!"); 784// INF("##! populate!");