summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-11-17 10:23:25 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2013-11-17 10:23:25 +0900
commitb676a979606aa796408951e7d6283d0c07bf0f1b (patch)
treeb86b5d67e7f5504c222bcfc740b7337782587689 /src
parent3411fccc1eededc349d8e131643e77015c9fde24 (diff)
evas - evasgl ... make osmesa sw render support work again
Diffstat (limited to 'src')
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c18
1 files changed, 13 insertions, 5 deletions
diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c
index 5cb07c7892..8930136ef5 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -920,10 +920,17 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
920 920
921 if (!im || !ns) return im; 921 if (!im || !ns) return im;
922 922
923 im2 = evas_cache_image_data(evas_common_image_cache_get(), 923 if ((ns->type == EVAS_NATIVE_SURFACE_OPENGL) &&
924 im->w, im->h, 924 (ns->version == EVAS_NATIVE_SURFACE_VERSION))
925 NULL, 1, 925 im2 = evas_cache_image_data(evas_common_image_cache_get(),
926 EVAS_COLORSPACE_ARGB8888); 926 im->w, im->h,
927 ns->data.x11.visual, 1,
928 EVAS_COLORSPACE_ARGB8888);
929 else
930 im2 = evas_cache_image_data(evas_common_image_cache_get(),
931 im->w, im->h,
932 NULL, 1,
933 EVAS_COLORSPACE_ARGB8888);
927 if (im->references > 1) 934 if (im->references > 1)
928 ERR("Setting native with more than one references for im=%p", im); 935 ERR("Setting native with more than one references for im=%p", im);
929 936
@@ -2347,6 +2354,7 @@ eng_gl_surface_destroy(void *data EINA_UNUSED, void *surface)
2347 2354
2348 if (!sfc) return 0; 2355 if (!sfc) return 0;
2349 2356
2357 printf("free buf %p\n", sfc->buffer);
2350 if (sfc->buffer) free(sfc->buffer); 2358 if (sfc->buffer) free(sfc->buffer);
2351 2359
2352 free(sfc); 2360 free(sfc);
@@ -2522,7 +2530,7 @@ eng_gl_native_surface_get(void *data EINA_UNUSED, void *surface, void *native_su
2522 ns->type = EVAS_NATIVE_SURFACE_OPENGL; 2530 ns->type = EVAS_NATIVE_SURFACE_OPENGL;
2523 ns->version = EVAS_NATIVE_SURFACE_VERSION; 2531 ns->version = EVAS_NATIVE_SURFACE_VERSION;
2524 ns->data.x11.visual = sfc->buffer; 2532 ns->data.x11.visual = sfc->buffer;
2525 2533
2526 return 1; 2534 return 1;
2527#else 2535#else
2528 (void) surface; 2536 (void) surface;