From a03370713777d98dcfa395b567f8a6893243e44f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Briano?= Date: Mon, 7 May 2012 19:58:34 +0000 Subject: [PATCH] And make map work with cserve2 SVN revision: 70858 --- legacy/evas/src/lib/engines/common/evas_map_image.c | 12 +++++++++++- .../modules/engines/software_generic/evas_engine.c | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/legacy/evas/src/lib/engines/common/evas_map_image.c b/legacy/evas/src/lib/engines/common/evas_map_image.c index 502b2dc859..4106c206e1 100644 --- a/legacy/evas/src/lib/engines/common/evas_map_image.c +++ b/legacy/evas/src/lib/engines/common/evas_map_image.c @@ -1,5 +1,8 @@ #include "evas_common.h" #include "evas_blend_private.h" +#ifdef EVAS_CSERVE2 +#include "evas_cs2_private.h" +#endif #ifdef BUILD_SCALE_SMOOTH # ifdef BUILD_MMX @@ -385,7 +388,14 @@ evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst, int i; if (src->cache_entry.space == EVAS_COLORSPACE_ARGB8888) - evas_cache_image_load_data(&src->cache_entry); + { +#ifdef EVAS_CSERVE2 + if (evas_cserve2_use_get()) + evas_cache2_image_load_data(&src->cache_entry); + else +#endif + evas_cache_image_load_data(&src->cache_entry); + } evas_common_image_colorspace_normalize(src); if (!src->image.data) return; #ifdef BUILD_MMX diff --git a/legacy/evas/src/modules/engines/software_generic/evas_engine.c b/legacy/evas/src/modules/engines/software_generic/evas_engine.c index 96ed50ca9e..f0a11bae26 100644 --- a/legacy/evas/src/modules/engines/software_generic/evas_engine.c +++ b/legacy/evas/src/modules/engines/software_generic/evas_engine.c @@ -767,7 +767,7 @@ eng_image_data_get(void *data __UNUSED__, void *image, int to_write, DATA32 **im if (err) *err = error; if (to_write) - im = evas_cache2_image_writable(&im->cache_entry); + im = (RGBA_Image *)evas_cache2_image_writable(&im->cache_entry); *image_data = im->image.data; return im; @@ -998,6 +998,16 @@ static void * eng_image_map_surface_new(void *data __UNUSED__, int w, int h, int alpha) { void *surface; +#ifdef EVAS_CSERVE2 + if (evas_cserve2_use_get()) + { + surface = evas_cache2_image_copied_data(evas_common_image_cache2_get(), + w, h, NULL, alpha, + EVAS_COLORSPACE_ARGB8888); + evas_cache2_image_pixels(surface); + return surface; + } +#endif surface = evas_cache_image_copied_data(evas_common_image_cache_get(), w, h, NULL, alpha, EVAS_COLORSPACE_ARGB8888);