From 70d4e06072805b5c4491605e55254c0b8bfbe819 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 28 Sep 2012 06:19:35 +0000 Subject: [PATCH] make notes. SVN revision: 77178 --- .../engines/software_x11/evas_engine.c | 59 +++++++++++-------- 1 file changed, 36 insertions(+), 23 deletions(-) diff --git a/legacy/evas/src/modules/engines/software_x11/evas_engine.c b/legacy/evas/src/modules/engines/software_x11/evas_engine.c index 090d4ad988..f3d7b241b4 100644 --- a/legacy/evas/src/modules/engines/software_x11/evas_engine.c +++ b/legacy/evas/src/modules/engines/software_x11/evas_engine.c @@ -416,29 +416,41 @@ eng_setup(Evas *e, void *in) info->info.alloc_colors_max, info->info.mask, info->info.shape_dither, info->info.destination_alpha); - if (!re) - re = _output_xlib_setup(e->output.w, e->output.h, - info->info.rotation, info->info.connection, - info->info.drawable, info->info.visual, - info->info.colormap, - info->info.depth, info->info.debug, - info->info.alloc_grayscale, - info->info.alloc_colors_max, - info->info.mask, info->info.shape_dither, - info->info.destination_alpha); - - re->outbuf_free = evas_software_xlib_outbuf_free; - re->outbuf_reconfigure = evas_software_xlib_outbuf_reconfigure; - re->outbuf_get_rot = evas_software_xlib_outbuf_get_rot; - re->outbuf_new_region_for_update = - evas_software_xlib_outbuf_new_region_for_update; - re->outbuf_push_updated_region = - evas_software_xlib_outbuf_push_updated_region; - re->outbuf_free_region_for_update = - evas_software_xlib_outbuf_free_region_for_update; - re->outbuf_flush = evas_software_xlib_outbuf_flush; - re->outbuf_idle_flush = evas_software_xlib_outbuf_idle_flush; - re->outbuf_alpha_get = evas_software_xlib_outbuf_alpha_get; + if (re) + { + // XXX these need to provide egl functions not xlib + re->outbuf_free = evas_software_xlib_outbuf_free; + re->outbuf_reconfigure = evas_software_xlib_outbuf_reconfigure; + re->outbuf_get_rot = evas_software_xlib_outbuf_get_rot; + re->outbuf_new_region_for_update = evas_software_xlib_outbuf_new_region_for_update; + re->outbuf_push_updated_region = evas_software_xlib_outbuf_push_updated_region; + re->outbuf_free_region_for_update = evas_software_xlib_outbuf_free_region_for_update; + re->outbuf_flush = evas_software_xlib_outbuf_flush; + re->outbuf_idle_flush = evas_software_xlib_outbuf_idle_flush; + re->outbuf_alpha_get = evas_software_xlib_outbuf_alpha_get; + } + else + { + re = _output_xlib_setup(e->output.w, e->output.h, + info->info.rotation, info->info.connection, + info->info.drawable, info->info.visual, + info->info.colormap, + info->info.depth, info->info.debug, + info->info.alloc_grayscale, + info->info.alloc_colors_max, + info->info.mask, info->info.shape_dither, + info->info.destination_alpha); + + re->outbuf_free = evas_software_xlib_outbuf_free; + re->outbuf_reconfigure = evas_software_xlib_outbuf_reconfigure; + re->outbuf_get_rot = evas_software_xlib_outbuf_get_rot; + re->outbuf_new_region_for_update = evas_software_xlib_outbuf_new_region_for_update; + re->outbuf_push_updated_region = evas_software_xlib_outbuf_push_updated_region; + re->outbuf_free_region_for_update = evas_software_xlib_outbuf_free_region_for_update; + re->outbuf_flush = evas_software_xlib_outbuf_flush; + re->outbuf_idle_flush = evas_software_xlib_outbuf_idle_flush; + re->outbuf_alpha_get = evas_software_xlib_outbuf_alpha_get; + } } #endif @@ -482,6 +494,7 @@ eng_setup(Evas *e, void *in) #ifdef BUILD_ENGINE_SOFTWARE_XLIB if (info->info.backend == EVAS_ENGINE_INFO_SOFTWARE_X11_BACKEND_XLIB) { + // XXXX do egl stuff as above evas_software_xlib_outbuf_free(re->ob); re->ob = evas_software_xlib_outbuf_setup_x(e->output.w, e->output.h,