summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorMinkyoung Kim <mer.kim@samsung.com>2016-03-31 15:55:15 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2016-04-01 12:09:06 +0900
commitf10672dd7429dd98dd3b7d88d9c3c63aac392a40 (patch)
treef192a706c0e249f659dc9e8824cf09c086124f08 /src/modules
parent998adbb31298d10a71fded743367f75f4cc4f2ca (diff)
evas : remove native.func.data variable and data argument of native calblacks.
Summary: Evas Image should be independent of render engine. So remove native.func.data member of RGBA_Image, Evas_GL_Image struct. And remove data argument,too. Test Plan: Local test, Tizen3.0 mobile, Desktop englitenment Reviewers: jpeg, spacegrapher, wonsik Subscribers: cedric, dkdk Differential Revision: https://phab.enlightenment.org/D3850
Diffstat (limited to '')
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_common.h9
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_context.c10
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_image.c2
-rw-r--r--src/modules/evas/engines/gl_common/evas_gl_texture.c2
-rw-r--r--src/modules/evas/engines/gl_drm/evas_engine.c11
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c10
-rw-r--r--src/modules/evas/engines/gl_x11/evas_engine.c17
-rw-r--r--src/modules/evas/engines/software_generic/evas_engine.c8
-rw-r--r--src/modules/evas/engines/software_generic/evas_native_tbm.c1
-rw-r--r--src/modules/evas/engines/software_x11/evas_engine.c8
-rw-r--r--src/modules/evas/engines/software_x11/evas_xcb_image.c8
-rw-r--r--src/modules/evas/engines/software_x11/evas_xlib_dri_image.c2
-rw-r--r--src/modules/evas/engines/software_x11/evas_xlib_image.c2
-rw-r--r--src/modules/evas/engines/wayland_egl/evas_engine.c15
-rw-r--r--src/modules/evas/engines/wayland_shm/evas_engine.c2
15 files changed, 39 insertions, 68 deletions
diff --git a/src/modules/evas/engines/gl_common/evas_gl_common.h b/src/modules/evas/engines/gl_common/evas_gl_common.h
index 80e1eb1a8e..4acb119b4f 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_common.h
+++ b/src/modules/evas/engines/gl_common/evas_gl_common.h
@@ -430,11 +430,10 @@ struct _Evas_GL_Image
430 struct { 430 struct {
431 void *data; 431 void *data;
432 struct { 432 struct {
433 void (*bind) (void *data, void *image); 433 void (*bind) (void *image);
434 void (*unbind) (void *data, void *image); 434 void (*unbind) (void *image);
435 void (*free) (void *data, void *image); 435 void (*free) (void *image);
436 int (*yinvert) (void *data, void *image); 436 int (*yinvert) (void *image);
437 void *data;
438 } func; 437 } func;
439 int yinvert; 438 int yinvert;
440 int target; 439 int target;
diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c b/src/modules/evas/engines/gl_common/evas_gl_context.c
index 6680f44a80..9d5ffb0841 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_context.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_context.c
@@ -2134,7 +2134,7 @@ evas_gl_common_context_image_push(Evas_Engine_GL_Context *gc,
2134 if ((tex->im) && (tex->im->native.data)) 2134 if ((tex->im) && (tex->im->native.data))
2135 { 2135 {
2136 if (tex->im->native.func.yinvert) 2136 if (tex->im->native.func.yinvert)
2137 yinvert = tex->im->native.func.yinvert(tex->im->native.func.data, tex->im); 2137 yinvert = tex->im->native.func.yinvert(tex->im);
2138 else 2138 else
2139 yinvert = tex->im->native.yinvert; 2139 yinvert = tex->im->native.yinvert;
2140 } 2140 }
@@ -2862,7 +2862,7 @@ evas_gl_common_context_image_map_push(Evas_Engine_GL_Context *gc,
2862 if ((tex->im) && (tex->im->native.data)) 2862 if ((tex->im) && (tex->im->native.data))
2863 { 2863 {
2864 if (tex->im->native.func.yinvert) 2864 if (tex->im->native.func.yinvert)
2865 yinvert = tex->im->native.func.yinvert(tex->im->native.func.data, tex->im); 2865 yinvert = tex->im->native.func.yinvert(tex->im);
2866 else 2866 else
2867 yinvert = tex->im->native.yinvert; 2867 yinvert = tex->im->native.yinvert;
2868 } 2868 }
@@ -3065,8 +3065,7 @@ shader_array_flush(Evas_Engine_GL_Context *gc)
3065 if (!gc->pipe[i].array.im->native.loose) 3065 if (!gc->pipe[i].array.im->native.loose)
3066 { 3066 {
3067 if (gc->pipe[i].array.im->native.func.bind) 3067 if (gc->pipe[i].array.im->native.func.bind)
3068 gc->pipe[i].array.im->native.func.bind(gc->pipe[i].array.im->native.func.data, 3068 gc->pipe[i].array.im->native.func.bind(gc->pipe[i].array.im);
3069 gc->pipe[i].array.im);
3070 } 3069 }
3071 } 3070 }
3072 } 3071 }
@@ -3610,8 +3609,7 @@ shader_array_flush(Evas_Engine_GL_Context *gc)
3610 if (!gc->pipe[i].array.im->native.loose) 3609 if (!gc->pipe[i].array.im->native.loose)
3611 { 3610 {
3612 if (gc->pipe[i].array.im->native.func.unbind) 3611 if (gc->pipe[i].array.im->native.func.unbind)
3613 gc->pipe[i].array.im->native.func.unbind(gc->pipe[i].array.im->native.func.data, 3612 gc->pipe[i].array.im->native.func.unbind(gc->pipe[i].array.im);
3614 gc->pipe[i].array.im);
3615 } 3613 }
3616 gc->pipe[i].array.im = NULL; 3614 gc->pipe[i].array.im = NULL;
3617 } 3615 }
diff --git a/src/modules/evas/engines/gl_common/evas_gl_image.c b/src/modules/evas/engines/gl_common/evas_gl_image.c
index 502ef91871..d982fb42ee 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_image.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_image.c
@@ -702,7 +702,7 @@ evas_gl_common_image_free(Evas_GL_Image *im)
702 } 702 }
703 703
704 if (im->native.func.free) 704 if (im->native.func.free)
705 im->native.func.free(im->native.func.data, im); 705 im->native.func.free(im);
706 706
707 if (im->cs.data) 707 if (im->cs.data)
708 { 708 {
diff --git a/src/modules/evas/engines/gl_common/evas_gl_texture.c b/src/modules/evas/engines/gl_common/evas_gl_texture.c
index 71315f6121..273adc1f0f 100644
--- a/src/modules/evas/engines/gl_common/evas_gl_texture.c
+++ b/src/modules/evas/engines/gl_common/evas_gl_texture.c
@@ -706,7 +706,7 @@ _pool_tex_native_new(Evas_Engine_GL_Context *gc, int w, int h, int intformat, in
706 if (im->native.loose) 706 if (im->native.loose)
707 { 707 {
708 if (im->native.func.bind) 708 if (im->native.func.bind)
709 im->native.func.bind(im->native.func.data, im); 709 im->native.func.bind(im);
710 } 710 }
711#endif 711#endif
712 712
diff --git a/src/modules/evas/engines/gl_drm/evas_engine.c b/src/modules/evas/engines/gl_drm/evas_engine.c
index 25508737c1..91b134dc33 100644
--- a/src/modules/evas/engines/gl_drm/evas_engine.c
+++ b/src/modules/evas/engines/gl_drm/evas_engine.c
@@ -609,7 +609,7 @@ _re_winfree(Render_Engine *re)
609} 609}
610 610
611static void 611static void
612_native_cb_bind(void *data EINA_UNUSED, void *image) 612_native_cb_bind(void *image)
613{ 613{
614 Evas_GL_Image *img; 614 Evas_GL_Image *img;
615 Native *n; 615 Native *n;
@@ -637,7 +637,7 @@ _native_cb_bind(void *data EINA_UNUSED, void *image)
637} 637}
638 638
639static void 639static void
640_native_cb_unbind(void *data EINA_UNUSED, void *image) 640_native_cb_unbind(void *image)
641{ 641{
642 Evas_GL_Image *img; 642 Evas_GL_Image *img;
643 Native *n; 643 Native *n;
@@ -656,7 +656,7 @@ _native_cb_unbind(void *data EINA_UNUSED, void *image)
656} 656}
657 657
658static void 658static void
659_native_cb_free(void *data EINA_UNUSED, void *image) 659_native_cb_free(void *image)
660{ 660{
661 Evas_GL_Image *img; 661 Evas_GL_Image *img;
662 Native *n; 662 Native *n;
@@ -690,7 +690,6 @@ _native_cb_free(void *data EINA_UNUSED, void *image)
690 } 690 }
691 691
692 img->native.data = NULL; 692 img->native.data = NULL;
693 img->native.func.data = NULL;
694 img->native.func.bind = NULL; 693 img->native.func.bind = NULL;
695 img->native.func.unbind = NULL; 694 img->native.func.unbind = NULL;
696 img->native.func.free = NULL; 695 img->native.func.free = NULL;
@@ -1109,7 +1108,7 @@ eng_image_native_set(void *data, void *image, void *native)
1109 if (img->native.data) 1108 if (img->native.data)
1110 { 1109 {
1111 if (img->native.func.free) 1110 if (img->native.func.free)
1112 img->native.func.free(img->native.func.data, img); 1111 img->native.func.free(img);
1113 glsym_evas_gl_common_image_native_disable(img); 1112 glsym_evas_gl_common_image_native_disable(img);
1114 } 1113 }
1115 1114
@@ -1219,7 +1218,6 @@ eng_image_native_set(void *data, void *image, void *native)
1219 img->native.disp = ob->egl.disp; 1218 img->native.disp = ob->egl.disp;
1220 img->native.shared = ob->gl_context->shared; 1219 img->native.shared = ob->gl_context->shared;
1221 img->native.data = n; 1220 img->native.data = n;
1222 img->native.func.data = re;
1223 img->native.func.bind = _native_cb_bind; 1221 img->native.func.bind = _native_cb_bind;
1224 img->native.func.unbind = _native_cb_unbind; 1222 img->native.func.unbind = _native_cb_unbind;
1225 img->native.func.free = _native_cb_free; 1223 img->native.func.free = _native_cb_free;
@@ -1247,7 +1245,6 @@ eng_image_native_set(void *data, void *image, void *native)
1247 img->native.disp = ob->egl.disp; 1245 img->native.disp = ob->egl.disp;
1248 img->native.shared = ob->gl_context->shared; 1246 img->native.shared = ob->gl_context->shared;
1249 img->native.data = n; 1247 img->native.data = n;
1250 img->native.func.data = re;
1251 img->native.func.bind = _native_cb_bind; 1248 img->native.func.bind = _native_cb_bind;
1252 img->native.func.unbind = _native_cb_unbind; 1249 img->native.func.unbind = _native_cb_unbind;
1253 img->native.func.free = _native_cb_free; 1250 img->native.func.free = _native_cb_free;
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c
index 45682ef414..3ce35a6d1b 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -303,7 +303,7 @@ eng_image_colorspace_set(void *data, void *image, Evas_Colorspace cspace)
303} 303}
304 304
305static void 305static void
306_native_bind_cb(void *data EINA_UNUSED, void *image) 306_native_bind_cb(void *image)
307{ 307{
308 Evas_GL_Image *im = image; 308 Evas_GL_Image *im = image;
309 Evas_Native_Surface *n = im->native.data; 309 Evas_Native_Surface *n = im->native.data;
@@ -313,7 +313,7 @@ _native_bind_cb(void *data EINA_UNUSED, void *image)
313} 313}
314 314
315static void 315static void
316_native_unbind_cb(void *data EINA_UNUSED, void *image) 316_native_unbind_cb(void *image)
317{ 317{
318 Evas_GL_Image *im = image; 318 Evas_GL_Image *im = image;
319 Evas_Native_Surface *n = im->native.data; 319 Evas_Native_Surface *n = im->native.data;
@@ -323,7 +323,7 @@ _native_unbind_cb(void *data EINA_UNUSED, void *image)
323} 323}
324 324
325static void 325static void
326_native_free_cb(void *data EINA_UNUSED, void *image) 326_native_free_cb(void *image)
327{ 327{
328 Evas_GL_Image *im = image; 328 Evas_GL_Image *im = image;
329 Evas_Native_Surface *n = im->native.data; 329 Evas_Native_Surface *n = im->native.data;
@@ -335,7 +335,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
335 eina_hash_del(im->native.shared->native_tex_hash, &texid, im); 335 eina_hash_del(im->native.shared->native_tex_hash, &texid, im);
336 } 336 }
337 im->native.data = NULL; 337 im->native.data = NULL;
338 im->native.func.data = NULL;
339 im->native.func.bind = NULL; 338 im->native.func.bind = NULL;
340 im->native.func.unbind = NULL; 339 im->native.func.unbind = NULL;
341 im->native.func.free = NULL; 340 im->native.func.free = NULL;
@@ -418,7 +417,7 @@ eng_image_native_set(void *data, void *image, void *native)
418 if (im->native.data) 417 if (im->native.data)
419 { 418 {
420 if (im->native.func.free) 419 if (im->native.func.free)
421 im->native.func.free(im->native.func.data, im); 420 im->native.func.free(im);
422 evas_gl_common_image_native_disable(im); 421 evas_gl_common_image_native_disable(im);
423 } 422 }
424 423
@@ -462,7 +461,6 @@ eng_image_native_set(void *data, void *image, void *native)
462 im->native.loose = 0; 461 im->native.loose = 0;
463 im->native.shared = gl_context->shared; 462 im->native.shared = gl_context->shared;
464 im->native.data = n; 463 im->native.data = n;
465 im->native.func.data = re;
466 im->native.func.bind = _native_bind_cb; 464 im->native.func.bind = _native_bind_cb;
467 im->native.func.unbind = _native_unbind_cb; 465 im->native.func.unbind = _native_unbind_cb;
468 im->native.func.free = _native_free_cb; 466 im->native.func.free = _native_free_cb;
diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c
index eacd924617..b09ae633d2 100644
--- a/src/modules/evas/engines/gl_x11/evas_engine.c
+++ b/src/modules/evas/engines/gl_x11/evas_engine.c
@@ -2011,7 +2011,7 @@ end:
2011//#define GLX_TEX_PIXMAP_RECREATE 1 2011//#define GLX_TEX_PIXMAP_RECREATE 1
2012 2012
2013static void 2013static void
2014_native_bind_cb(void *data EINA_UNUSED, void *image) 2014_native_bind_cb(void *image)
2015{ 2015{
2016 Evas_GL_Image *im = image; 2016 Evas_GL_Image *im = image;
2017 Native *n = im->native.data; 2017 Native *n = im->native.data;
@@ -2109,7 +2109,7 @@ _native_bind_cb(void *data EINA_UNUSED, void *image)
2109} 2109}
2110 2110
2111static void 2111static void
2112_native_unbind_cb(void *data EINA_UNUSED, void *image) 2112_native_unbind_cb(void *image)
2113{ 2113{
2114 Evas_GL_Image *im = image; 2114 Evas_GL_Image *im = image;
2115 Native *n = im->native.data; 2115 Native *n = im->native.data;
@@ -2150,7 +2150,7 @@ _native_unbind_cb(void *data EINA_UNUSED, void *image)
2150} 2150}
2151 2151
2152static void 2152static void
2153_native_free_cb(void *data EINA_UNUSED, void *image) 2153_native_free_cb(void *image)
2154{ 2154{
2155 Evas_GL_Image *im = image; 2155 Evas_GL_Image *im = image;
2156 Native *n = im->native.data; 2156 Native *n = im->native.data;
@@ -2260,7 +2260,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
2260#endif 2260#endif
2261 } 2261 }
2262 im->native.data = NULL; 2262 im->native.data = NULL;
2263 im->native.func.data = NULL;
2264 im->native.func.bind = NULL; 2263 im->native.func.bind = NULL;
2265 im->native.func.unbind = NULL; 2264 im->native.func.unbind = NULL;
2266 im->native.func.free = NULL; 2265 im->native.func.free = NULL;
@@ -2268,7 +2267,7 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
2268} 2267}
2269 2268
2270static int 2269static int
2271_native_yinvert_cb(void *data EINA_UNUSED, void *image) 2270_native_yinvert_cb(void *image)
2272{ 2271{
2273 Evas_GL_Image *im = image; 2272 Evas_GL_Image *im = image;
2274 Native *n = im->native.data; 2273 Native *n = im->native.data;
@@ -2454,7 +2453,7 @@ eng_image_native_set(void *data, void *image, void *native)
2454 if (im->native.data) 2453 if (im->native.data)
2455 { 2454 {
2456 if (im->native.func.free) 2455 if (im->native.func.free)
2457 im->native.func.free(im->native.func.data, im); 2456 im->native.func.free(im);
2458 glsym_evas_gl_common_image_native_disable(im); 2457 glsym_evas_gl_common_image_native_disable(im);
2459 } 2458 }
2460 2459
@@ -2621,7 +2620,6 @@ eng_image_native_set(void *data, void *image, void *native)
2621 im->native.disp = eng_get_ob(re)->egl_disp; 2620 im->native.disp = eng_get_ob(re)->egl_disp;
2622 im->native.shared = eng_get_ob(re)->gl_context->shared; 2621 im->native.shared = eng_get_ob(re)->gl_context->shared;
2623 im->native.data = n; 2622 im->native.data = n;
2624 im->native.func.data = re;
2625 im->native.func.bind = _native_bind_cb; 2623 im->native.func.bind = _native_bind_cb;
2626 im->native.func.unbind = _native_unbind_cb; 2624 im->native.func.unbind = _native_unbind_cb;
2627 im->native.func.free = _native_free_cb; 2625 im->native.func.free = _native_free_cb;
@@ -2830,7 +2828,6 @@ eng_image_native_set(void *data, void *image, void *native)
2830 im->native.disp = eng_get_ob(re)->disp; 2828 im->native.disp = eng_get_ob(re)->disp;
2831 im->native.shared = eng_get_ob(re)->gl_context->shared; 2829 im->native.shared = eng_get_ob(re)->gl_context->shared;
2832 im->native.data = n; 2830 im->native.data = n;
2833 im->native.func.data = re;
2834 im->native.func.bind = _native_bind_cb; 2831 im->native.func.bind = _native_bind_cb;
2835 im->native.func.unbind = _native_unbind_cb; 2832 im->native.func.unbind = _native_unbind_cb;
2836 im->native.func.free = _native_free_cb; 2833 im->native.func.free = _native_free_cb;
@@ -2864,7 +2861,6 @@ eng_image_native_set(void *data, void *image, void *native)
2864#endif 2861#endif
2865 im->native.shared = eng_get_ob(re)->gl_context->shared; 2862 im->native.shared = eng_get_ob(re)->gl_context->shared;
2866 im->native.data = n; 2863 im->native.data = n;
2867 im->native.func.data = re;
2868 im->native.func.bind = _native_bind_cb; 2864 im->native.func.bind = _native_bind_cb;
2869 im->native.func.unbind = _native_unbind_cb; 2865 im->native.func.unbind = _native_unbind_cb;
2870 im->native.func.free = _native_free_cb; 2866 im->native.func.free = _native_free_cb;
@@ -2905,7 +2901,6 @@ eng_image_native_set(void *data, void *image, void *native)
2905 im->native.disp = eng_get_ob(re)->egl_disp; 2901 im->native.disp = eng_get_ob(re)->egl_disp;
2906 im->native.shared = eng_get_ob(re)->gl_context->shared; 2902 im->native.shared = eng_get_ob(re)->gl_context->shared;
2907 im->native.data = n; 2903 im->native.data = n;
2908 im->native.func.data = re;
2909 im->native.func.bind = _native_bind_cb; 2904 im->native.func.bind = _native_bind_cb;
2910 im->native.func.unbind = _native_unbind_cb; 2905 im->native.func.unbind = _native_unbind_cb;
2911 im->native.func.free = _native_free_cb; 2906 im->native.func.free = _native_free_cb;
@@ -2938,7 +2933,6 @@ eng_image_native_set(void *data, void *image, void *native)
2938#endif 2933#endif
2939 im->native.shared = eng_get_ob(re)->gl_context->shared; 2934 im->native.shared = eng_get_ob(re)->gl_context->shared;
2940 im->native.data = n; 2935 im->native.data = n;
2941 im->native.func.data = re;
2942 im->native.func.bind = _native_bind_cb; 2936 im->native.func.bind = _native_bind_cb;
2943 im->native.func.unbind = _native_unbind_cb; 2937 im->native.func.unbind = _native_unbind_cb;
2944 im->native.func.free = _native_free_cb; 2938 im->native.func.free = _native_free_cb;
@@ -3021,7 +3015,6 @@ eng_image_native_set(void *data, void *image, void *native)
3021 im->native.disp = eng_get_ob(re)->egl_disp; 3015 im->native.disp = eng_get_ob(re)->egl_disp;
3022 im->native.shared = eng_get_ob(re)->gl_context->shared; 3016 im->native.shared = eng_get_ob(re)->gl_context->shared;
3023 im->native.data = n; 3017 im->native.data = n;
3024 im->native.func.data = re;
3025 im->native.func.bind = _native_bind_cb; 3018 im->native.func.bind = _native_bind_cb;
3026 im->native.func.unbind = _native_unbind_cb; 3019 im->native.func.unbind = _native_unbind_cb;
3027 im->native.func.free = _native_free_cb; 3020 im->native.func.free = _native_free_cb;
diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c
index 2d50fb3197..1c473a5d8b 100644
--- a/src/modules/evas/engines/software_generic/evas_engine.c
+++ b/src/modules/evas/engines/software_generic/evas_engine.c
@@ -2252,7 +2252,7 @@ eng_image_draw(void *data EINA_UNUSED, void *context, void *surface, void *image
2252 if (!image) return EINA_FALSE; 2252 if (!image) return EINA_FALSE;
2253 im = image; 2253 im = image;
2254 if (im->native.func.bind) 2254 if (im->native.func.bind)
2255 im->native.func.bind(data, image, src_x, src_y, src_w, src_h); 2255 im->native.func.bind(image, src_x, src_y, src_w, src_h);
2256 2256
2257 if (do_async) 2257 if (do_async)
2258 { 2258 {
@@ -2272,7 +2272,7 @@ eng_image_draw(void *data EINA_UNUSED, void *context, void *surface, void *image
2272 if (!im->cache_entry.flags.loaded) 2272 if (!im->cache_entry.flags.loaded)
2273 { 2273 {
2274 if (im->native.func.unbind) 2274 if (im->native.func.unbind)
2275 im->native.func.unbind(data, image); 2275 im->native.func.unbind(image);
2276 return EINA_FALSE; 2276 return EINA_FALSE;
2277 } 2277 }
2278 } 2278 }
@@ -2284,7 +2284,7 @@ eng_image_draw(void *data EINA_UNUSED, void *context, void *surface, void *image
2284 _image_thr_cb_sample, 2284 _image_thr_cb_sample,
2285 _image_thr_cb_smooth); 2285 _image_thr_cb_smooth);
2286 if (im->native.func.unbind) 2286 if (im->native.func.unbind)
2287 im->native.func.unbind(data, image); 2287 im->native.func.unbind(image);
2288 return ret; 2288 return ret;
2289 } 2289 }
2290#ifdef BUILD_PIPE_RENDER 2290#ifdef BUILD_PIPE_RENDER
@@ -2319,7 +2319,7 @@ eng_image_draw(void *data EINA_UNUSED, void *context, void *surface, void *image
2319 } 2319 }
2320 2320
2321 if (im->native.func.unbind) 2321 if (im->native.func.unbind)
2322 im->native.func.unbind(data, image); 2322 im->native.func.unbind(image);
2323 return EINA_FALSE; 2323 return EINA_FALSE;
2324} 2324}
2325 2325
diff --git a/src/modules/evas/engines/software_generic/evas_native_tbm.c b/src/modules/evas/engines/software_generic/evas_native_tbm.c
index c046422a7d..c17d77dda6 100644
--- a/src/modules/evas/engines/software_generic/evas_native_tbm.c
+++ b/src/modules/evas/engines/software_generic/evas_native_tbm.c
@@ -249,7 +249,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
249 im->native.func.bind = NULL; 249 im->native.func.bind = NULL;
250 im->native.func.unbind = NULL; 250 im->native.func.unbind = NULL;
251 im->native.func.free = NULL; 251 im->native.func.free = NULL;
252 im->native.func.data = NULL;
253 im->image.data = NULL; 252 im->image.data = NULL;
254 253
255 free(n); 254 free(n);
diff --git a/src/modules/evas/engines/software_x11/evas_engine.c b/src/modules/evas/engines/software_x11/evas_engine.c
index 8f68d43f6e..6db8840465 100644
--- a/src/modules/evas/engines/software_x11/evas_engine.c
+++ b/src/modules/evas/engines/software_x11/evas_engine.c
@@ -657,13 +657,12 @@ eng_canvas_alpha_get(void *data, void *context EINA_UNUSED)
657} 657}
658 658
659static void 659static void
660_native_evasgl_free(void *data EINA_UNUSED, void *image) 660_native_evasgl_free(void *image)
661{ 661{
662 RGBA_Image *im = image; 662 RGBA_Image *im = image;
663 Native *n = im->native.data; 663 Native *n = im->native.data;
664 664
665 im->native.data = NULL; 665 im->native.data = NULL;
666 im->native.func.data = NULL;
667 im->native.func.bind = NULL; 666 im->native.func.bind = NULL;
668 im->native.func.unbind = NULL; 667 im->native.func.unbind = NULL;
669 im->native.func.free = NULL; 668 im->native.func.free = NULL;
@@ -720,7 +719,7 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
720 if (!ns) 719 if (!ns)
721 { 720 {
722 if (im->native.data && im->native.func.free) 721 if (im->native.data && im->native.func.free)
723 im->native.func.free(im->native.func.data, im); 722 im->native.func.free(im);
724 return NULL; 723 return NULL;
725 } 724 }
726 725
@@ -764,7 +763,7 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
764 if (im->native.data) 763 if (im->native.data)
765 { 764 {
766 if (im->native.func.free) 765 if (im->native.func.free)
767 im->native.func.free(im->native.func.data, im); 766 im->native.func.free(im);
768 } 767 }
769 768
770#ifdef EVAS_CSERVE2 769#ifdef EVAS_CSERVE2
@@ -805,7 +804,6 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
805 n->ns.data.evasgl.surface = ns->data.evasgl.surface; 804 n->ns.data.evasgl.surface = ns->data.evasgl.surface;
806 im->native.data = n; 805 im->native.data = n;
807 im->native.func.free = _native_evasgl_free; 806 im->native.func.free = _native_evasgl_free;
808 im->native.func.data = NULL;
809 im->native.func.bind = NULL; 807 im->native.func.bind = NULL;
810 im->native.func.unbind = NULL; 808 im->native.func.unbind = NULL;
811 } 809 }
diff --git a/src/modules/evas/engines/software_x11/evas_xcb_image.c b/src/modules/evas/engines/software_x11/evas_xcb_image.c
index f05968283a..8688d07e71 100644
--- a/src/modules/evas/engines/software_x11/evas_xcb_image.c
+++ b/src/modules/evas/engines/software_x11/evas_xcb_image.c
@@ -37,7 +37,7 @@ _evas_xcb_image_update(void *data EINA_UNUSED, void *image, int x, int y, int w,
37} 37}
38 38
39static void 39static void
40_native_cb_bind(void *data, void *image, int x, int y, int w, int h) 40_native_cb_bind(int x, int y, int w, int h)
41{ 41{
42 RGBA_Image *im; 42 RGBA_Image *im;
43 Native *n; 43 Native *n;
@@ -46,11 +46,11 @@ _native_cb_bind(void *data, void *image, int x, int y, int w, int h)
46 n = im->native.data; 46 n = im->native.data;
47 47
48 if ((n) && (n->ns.type == EVAS_NATIVE_SURFACE_X11)) 48 if ((n) && (n->ns.type == EVAS_NATIVE_SURFACE_X11))
49 _evas_xcb_image_update(data, image, x, y, w, h); 49 _evas_xcb_image_update(NULL, image, x, y, w, h);
50} 50}
51 51
52static void 52static void
53_native_cb_free(void *data EINA_UNUSED, void *image) 53_native_cb_free(void *image)
54{ 54{
55 RGBA_Image *im; 55 RGBA_Image *im;
56 Native *n; 56 Native *n;
@@ -66,7 +66,6 @@ _native_cb_free(void *data EINA_UNUSED, void *image)
66 n->ns_data.x11.visual = NULL; 66 n->ns_data.x11.visual = NULL;
67 67
68 im->native.data = NULL; 68 im->native.data = NULL;
69 im->native.func.data = NULL;
70 im->native.func.bind = NULL; 69 im->native.func.bind = NULL;
71 im->native.func.unbind = NULL; 70 im->native.func.unbind = NULL;
72 im->native.func.free = NULL; 71 im->native.func.free = NULL;
@@ -115,7 +114,6 @@ evas_xcb_image_native_set(void *data, void *image, void *native)
115 n->ns_data.x11.exim = exim; 114 n->ns_data.x11.exim = exim;
116 115
117 im->native.data = n; 116 im->native.data = n;
118 im->native.func.data = NULL;
119 im->native.func.bind = _native_cb_bind; 117 im->native.func.bind = _native_cb_bind;
120 im->native.func.unbind = NULL; 118 im->native.func.unbind = NULL;
121 im->native.func.free = _native_cb_free; 119 im->native.func.free = _native_cb_free;
diff --git a/src/modules/evas/engines/software_x11/evas_xlib_dri_image.c b/src/modules/evas/engines/software_x11/evas_xlib_dri_image.c
index fa33391c35..a4fc0e08fb 100644
--- a/src/modules/evas/engines/software_x11/evas_xlib_dri_image.c
+++ b/src/modules/evas/engines/software_x11/evas_xlib_dri_image.c
@@ -540,7 +540,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
540 n->ns_data.x11.display = NULL; 540 n->ns_data.x11.display = NULL;
541 541
542 im->native.data = NULL; 542 im->native.data = NULL;
543 im->native.func.data = NULL;
544 im->native.func.bind = NULL; 543 im->native.func.bind = NULL;
545 im->native.func.free = NULL; 544 im->native.func.free = NULL;
546 im->image.data = NULL; 545 im->image.data = NULL;
@@ -600,7 +599,6 @@ evas_xlib_image_dri_native_set(void *data, void *image, void *native)
600 n->ns_data.x11.display = d; 599 n->ns_data.x11.display = d;
601 n->ns_data.x11.exim = exim; 600 n->ns_data.x11.exim = exim;
602 im->native.data = n; 601 im->native.data = n;
603 im->native.func.data = NULL;
604 im->native.func.bind = _native_bind_cb; 602 im->native.func.bind = _native_bind_cb;
605 im->native.func.free = _native_free_cb; 603 im->native.func.free = _native_free_cb;
606 604
diff --git a/src/modules/evas/engines/software_x11/evas_xlib_image.c b/src/modules/evas/engines/software_x11/evas_xlib_image.c
index 75731485e5..fdbcee6422 100644
--- a/src/modules/evas/engines/software_x11/evas_xlib_image.c
+++ b/src/modules/evas/engines/software_x11/evas_xlib_image.c
@@ -58,7 +58,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
58 n->ns_data.x11.visual = NULL; 58 n->ns_data.x11.visual = NULL;
59 59
60 im->native.data = NULL; 60 im->native.data = NULL;
61 im->native.func.data = NULL;
62 im->native.func.bind = NULL; 61 im->native.func.bind = NULL;
63 im->native.func.unbind = NULL; 62 im->native.func.unbind = NULL;
64 im->native.func.free = NULL; 63 im->native.func.free = NULL;
@@ -103,7 +102,6 @@ evas_xlib_image_native_set(void *data, void *image, void *native)
103 n->ns_data.x11.visual = vis; 102 n->ns_data.x11.visual = vis;
104 n->ns_data.x11.exim = exim; 103 n->ns_data.x11.exim = exim;
105 im->native.data = n; 104 im->native.data = n;
106 im->native.func.data = NULL;
107 im->native.func.bind = _native_bind_cb; 105 im->native.func.bind = _native_bind_cb;
108 im->native.func.free = _native_free_cb; 106 im->native.func.free = _native_free_cb;
109 107
diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c b/src/modules/evas/engines/wayland_egl/evas_engine.c
index d6ee043133..0e27ade9fc 100644
--- a/src/modules/evas/engines/wayland_egl/evas_engine.c
+++ b/src/modules/evas/engines/wayland_egl/evas_engine.c
@@ -796,7 +796,7 @@ eng_output_dump(void *data)
796} 796}
797 797
798static void 798static void
799_native_cb_bind(void *data EINA_UNUSED, void *image) 799_native_cb_bind(void *image)
800{ 800{
801 Evas_GL_Image *img; 801 Evas_GL_Image *img;
802 Native *n; 802 Native *n;
@@ -867,7 +867,7 @@ _native_cb_bind(void *data EINA_UNUSED, void *image)
867} 867}
868 868
869static void 869static void
870_native_cb_unbind(void *data EINA_UNUSED, void *image) 870_native_cb_unbind(void *image)
871{ 871{
872 Evas_GL_Image *img; 872 Evas_GL_Image *img;
873 Native *n; 873 Native *n;
@@ -894,7 +894,7 @@ _native_cb_unbind(void *data EINA_UNUSED, void *image)
894} 894}
895 895
896static void 896static void
897_native_cb_free(void *data EINA_UNUSED, void *image) 897_native_cb_free(void *image)
898{ 898{
899 Evas_GL_Image *img; 899 Evas_GL_Image *img;
900 Native *n; 900 Native *n;
@@ -952,7 +952,6 @@ _native_cb_free(void *data EINA_UNUSED, void *image)
952#endif 952#endif
953 } 953 }
954 img->native.data = NULL; 954 img->native.data = NULL;
955 img->native.func.data = NULL;
956 img->native.func.bind = NULL; 955 img->native.func.bind = NULL;
957 img->native.func.unbind = NULL; 956 img->native.func.unbind = NULL;
958 img->native.func.free = NULL; 957 img->native.func.free = NULL;
@@ -961,7 +960,7 @@ _native_cb_free(void *data EINA_UNUSED, void *image)
961} 960}
962 961
963static int 962static int
964_native_cb_yinvert(void *data EINA_UNUSED, void *image) 963_native_cb_yinvert(void *image)
965{ 964{
966 Evas_GL_Image *im = image; 965 Evas_GL_Image *im = image;
967 Native *n = im->native.data; 966 Native *n = im->native.data;
@@ -1123,7 +1122,7 @@ eng_image_native_set(void *data, void *image, void *native)
1123 if (img->native.data) 1122 if (img->native.data)
1124 { 1123 {
1125 if (img->native.func.free) 1124 if (img->native.func.free)
1126 img->native.func.free(img->native.func.data, img); 1125 img->native.func.free(img);
1127 glsym_evas_gl_common_image_native_disable(img); 1126 glsym_evas_gl_common_image_native_disable(img);
1128 } 1127 }
1129 1128
@@ -1263,7 +1262,6 @@ eng_image_native_set(void *data, void *image, void *native)
1263 img->native.disp = ob->egl_disp; 1262 img->native.disp = ob->egl_disp;
1264 img->native.shared = ob->gl_context->shared; 1263 img->native.shared = ob->gl_context->shared;
1265 img->native.data = n; 1264 img->native.data = n;
1266 img->native.func.data = re;
1267 img->native.func.bind = _native_cb_bind; 1265 img->native.func.bind = _native_cb_bind;
1268 img->native.func.unbind = _native_cb_unbind; 1266 img->native.func.unbind = _native_cb_unbind;
1269 img->native.func.free = _native_cb_free; 1267 img->native.func.free = _native_cb_free;
@@ -1290,7 +1288,6 @@ eng_image_native_set(void *data, void *image, void *native)
1290 img->native.disp = ob->egl_disp; 1288 img->native.disp = ob->egl_disp;
1291 img->native.shared = ob->gl_context->shared; 1289 img->native.shared = ob->gl_context->shared;
1292 img->native.data = n; 1290 img->native.data = n;
1293 img->native.func.data = re;
1294 img->native.func.bind = _native_cb_bind; 1291 img->native.func.bind = _native_cb_bind;
1295 img->native.func.unbind = _native_cb_unbind; 1292 img->native.func.unbind = _native_cb_unbind;
1296 img->native.func.free = _native_cb_free; 1293 img->native.func.free = _native_cb_free;
@@ -1319,7 +1316,6 @@ eng_image_native_set(void *data, void *image, void *native)
1319 img->native.disp = ob->egl_disp; 1316 img->native.disp = ob->egl_disp;
1320 img->native.shared = ob->gl_context->shared; 1317 img->native.shared = ob->gl_context->shared;
1321 img->native.data = n; 1318 img->native.data = n;
1322 img->native.func.data = re;
1323 img->native.func.bind = _native_cb_bind; 1319 img->native.func.bind = _native_cb_bind;
1324 img->native.func.unbind = _native_cb_unbind; 1320 img->native.func.unbind = _native_cb_unbind;
1325 img->native.func.free = _native_cb_free; 1321 img->native.func.free = _native_cb_free;
@@ -1358,7 +1354,6 @@ eng_image_native_set(void *data, void *image, void *native)
1358 img->native.disp = ob->egl_disp; 1354 img->native.disp = ob->egl_disp;
1359 img->native.shared = ob->gl_context->shared; 1355 img->native.shared = ob->gl_context->shared;
1360 img->native.data = n; 1356 img->native.data = n;
1361 img->native.func.data = re;
1362 img->native.func.bind = _native_cb_bind; 1357 img->native.func.bind = _native_cb_bind;
1363 img->native.func.unbind = _native_cb_unbind; 1358 img->native.func.unbind = _native_cb_unbind;
1364 img->native.func.free = _native_cb_free; 1359 img->native.func.free = _native_cb_free;
diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.c b/src/modules/evas/engines/wayland_shm/evas_engine.c
index 0bcfcc4a50..d21e35ac30 100644
--- a/src/modules/evas/engines/wayland_shm/evas_engine.c
+++ b/src/modules/evas/engines/wayland_shm/evas_engine.c
@@ -331,7 +331,7 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
331 if (im->native.data) 331 if (im->native.data)
332 { 332 {
333 if (im->native.func.free) 333 if (im->native.func.free)
334 im->native.func.free(im->native.func.data, im); 334 im->native.func.free(im);
335 } 335 }
336 336
337#ifdef EVAS_CSERVE2 337#ifdef EVAS_CSERVE2