evas: add eglMakeCurrent in evas map create/free.

Summary: Ensure Evas's eglContext when several eglContexts are used.

Test Plan:
1. Native GLES application works with evas_object_image_native_surface_set
2. One Evas object works with evas map.

Reviewers: seoz, tasn, cedric

Reviewed By: cedric

CC: cedric, raster

Differential Revision: https://phab.enlightenment.org/D534

Signed-off-by: Cedric BAIL <cedric.bail@samsung.com>
This commit is contained in:
Wonsik Jung 2014-02-10 10:40:53 +09:00 committed by Cedric BAIL
parent 62efaed9dc
commit 6ea0566e6c
2 changed files with 12 additions and 2 deletions

View File

@ -3115,12 +3115,17 @@ eng_image_map_surface_new(void *data, int w, int h, int alpha)
Render_Engine *re;
re = (Render_Engine *)data;
eng_window_use(re->win);
return evas_gl_common_image_surface_new(re->win->gl_context, w, h, alpha);
}
static void
eng_image_map_surface_free(void *data EINA_UNUSED, void *surface)
eng_image_map_surface_free(void *data, void *surface)
{
Render_Engine *re;
re = (Render_Engine *)data;
eng_window_use(re->win);
evas_gl_common_image_free(surface);
}

View File

@ -2427,12 +2427,17 @@ eng_image_map_surface_new(void *data, int w, int h, int alpha)
Render_Engine *re;
if (!(re = (Render_Engine *)data)) return NULL;
eng_window_use(re->win);
return evas_gl_common_image_surface_new(re->win->gl_context, w, h, alpha);
}
static void
eng_image_map_surface_free(void *data EINA_UNUSED, void *surface)
eng_image_map_surface_free(void *data, void *surface)
{
Render_Engine *re;
re = (Render_Engine *)data;
eng_window_use(re->win);
evas_gl_common_image_free(surface);
}