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
This commit is contained in:
Minkyoung Kim 2016-03-31 15:55:15 +09:00 committed by Jean-Philippe Andre
parent 998adbb312
commit f10672dd74
16 changed files with 42 additions and 72 deletions

View File

@ -885,10 +885,9 @@ struct _RGBA_Image
struct {
void *data; //Evas_Native_Surface ns;
struct {
void (*bind) (void *data, void *image, int x, int y, int w, int h);
void (*unbind) (void *data, void *image);
void (*free) (void *data, void *image);
void *data;
void (*bind) (void *image, int x, int y, int w, int h);
void (*unbind) (void *image);
void (*free) (void *image);
} func;
} native;

View File

@ -430,11 +430,10 @@ struct _Evas_GL_Image
struct {
void *data;
struct {
void (*bind) (void *data, void *image);
void (*unbind) (void *data, void *image);
void (*free) (void *data, void *image);
int (*yinvert) (void *data, void *image);
void *data;
void (*bind) (void *image);
void (*unbind) (void *image);
void (*free) (void *image);
int (*yinvert) (void *image);
} func;
int yinvert;
int target;

View File

@ -2134,7 +2134,7 @@ evas_gl_common_context_image_push(Evas_Engine_GL_Context *gc,
if ((tex->im) && (tex->im->native.data))
{
if (tex->im->native.func.yinvert)
yinvert = tex->im->native.func.yinvert(tex->im->native.func.data, tex->im);
yinvert = tex->im->native.func.yinvert(tex->im);
else
yinvert = tex->im->native.yinvert;
}
@ -2862,7 +2862,7 @@ evas_gl_common_context_image_map_push(Evas_Engine_GL_Context *gc,
if ((tex->im) && (tex->im->native.data))
{
if (tex->im->native.func.yinvert)
yinvert = tex->im->native.func.yinvert(tex->im->native.func.data, tex->im);
yinvert = tex->im->native.func.yinvert(tex->im);
else
yinvert = tex->im->native.yinvert;
}
@ -3065,8 +3065,7 @@ shader_array_flush(Evas_Engine_GL_Context *gc)
if (!gc->pipe[i].array.im->native.loose)
{
if (gc->pipe[i].array.im->native.func.bind)
gc->pipe[i].array.im->native.func.bind(gc->pipe[i].array.im->native.func.data,
gc->pipe[i].array.im);
gc->pipe[i].array.im->native.func.bind(gc->pipe[i].array.im);
}
}
}
@ -3610,8 +3609,7 @@ shader_array_flush(Evas_Engine_GL_Context *gc)
if (!gc->pipe[i].array.im->native.loose)
{
if (gc->pipe[i].array.im->native.func.unbind)
gc->pipe[i].array.im->native.func.unbind(gc->pipe[i].array.im->native.func.data,
gc->pipe[i].array.im);
gc->pipe[i].array.im->native.func.unbind(gc->pipe[i].array.im);
}
gc->pipe[i].array.im = NULL;
}

View File

@ -702,7 +702,7 @@ evas_gl_common_image_free(Evas_GL_Image *im)
}
if (im->native.func.free)
im->native.func.free(im->native.func.data, im);
im->native.func.free(im);
if (im->cs.data)
{

View File

@ -706,7 +706,7 @@ _pool_tex_native_new(Evas_Engine_GL_Context *gc, int w, int h, int intformat, in
if (im->native.loose)
{
if (im->native.func.bind)
im->native.func.bind(im->native.func.data, im);
im->native.func.bind(im);
}
#endif

View File

@ -609,7 +609,7 @@ _re_winfree(Render_Engine *re)
}
static void
_native_cb_bind(void *data EINA_UNUSED, void *image)
_native_cb_bind(void *image)
{
Evas_GL_Image *img;
Native *n;
@ -637,7 +637,7 @@ _native_cb_bind(void *data EINA_UNUSED, void *image)
}
static void
_native_cb_unbind(void *data EINA_UNUSED, void *image)
_native_cb_unbind(void *image)
{
Evas_GL_Image *img;
Native *n;
@ -656,7 +656,7 @@ _native_cb_unbind(void *data EINA_UNUSED, void *image)
}
static void
_native_cb_free(void *data EINA_UNUSED, void *image)
_native_cb_free(void *image)
{
Evas_GL_Image *img;
Native *n;
@ -690,7 +690,6 @@ _native_cb_free(void *data EINA_UNUSED, void *image)
}
img->native.data = NULL;
img->native.func.data = NULL;
img->native.func.bind = NULL;
img->native.func.unbind = NULL;
img->native.func.free = NULL;
@ -1109,7 +1108,7 @@ eng_image_native_set(void *data, void *image, void *native)
if (img->native.data)
{
if (img->native.func.free)
img->native.func.free(img->native.func.data, img);
img->native.func.free(img);
glsym_evas_gl_common_image_native_disable(img);
}
@ -1219,7 +1218,6 @@ eng_image_native_set(void *data, void *image, void *native)
img->native.disp = ob->egl.disp;
img->native.shared = ob->gl_context->shared;
img->native.data = n;
img->native.func.data = re;
img->native.func.bind = _native_cb_bind;
img->native.func.unbind = _native_cb_unbind;
img->native.func.free = _native_cb_free;
@ -1247,7 +1245,6 @@ eng_image_native_set(void *data, void *image, void *native)
img->native.disp = ob->egl.disp;
img->native.shared = ob->gl_context->shared;
img->native.data = n;
img->native.func.data = re;
img->native.func.bind = _native_cb_bind;
img->native.func.unbind = _native_cb_unbind;
img->native.func.free = _native_cb_free;

View File

@ -303,7 +303,7 @@ eng_image_colorspace_set(void *data, void *image, Evas_Colorspace cspace)
}
static void
_native_bind_cb(void *data EINA_UNUSED, void *image)
_native_bind_cb(void *image)
{
Evas_GL_Image *im = image;
Evas_Native_Surface *n = im->native.data;
@ -313,7 +313,7 @@ _native_bind_cb(void *data EINA_UNUSED, void *image)
}
static void
_native_unbind_cb(void *data EINA_UNUSED, void *image)
_native_unbind_cb(void *image)
{
Evas_GL_Image *im = image;
Evas_Native_Surface *n = im->native.data;
@ -323,7 +323,7 @@ _native_unbind_cb(void *data EINA_UNUSED, void *image)
}
static void
_native_free_cb(void *data EINA_UNUSED, void *image)
_native_free_cb(void *image)
{
Evas_GL_Image *im = image;
Evas_Native_Surface *n = im->native.data;
@ -335,7 +335,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
eina_hash_del(im->native.shared->native_tex_hash, &texid, im);
}
im->native.data = NULL;
im->native.func.data = NULL;
im->native.func.bind = NULL;
im->native.func.unbind = NULL;
im->native.func.free = NULL;
@ -418,7 +417,7 @@ eng_image_native_set(void *data, void *image, void *native)
if (im->native.data)
{
if (im->native.func.free)
im->native.func.free(im->native.func.data, im);
im->native.func.free(im);
evas_gl_common_image_native_disable(im);
}
@ -462,7 +461,6 @@ eng_image_native_set(void *data, void *image, void *native)
im->native.loose = 0;
im->native.shared = gl_context->shared;
im->native.data = n;
im->native.func.data = re;
im->native.func.bind = _native_bind_cb;
im->native.func.unbind = _native_unbind_cb;
im->native.func.free = _native_free_cb;

View File

@ -2011,7 +2011,7 @@ end:
//#define GLX_TEX_PIXMAP_RECREATE 1
static void
_native_bind_cb(void *data EINA_UNUSED, void *image)
_native_bind_cb(void *image)
{
Evas_GL_Image *im = image;
Native *n = im->native.data;
@ -2109,7 +2109,7 @@ _native_bind_cb(void *data EINA_UNUSED, void *image)
}
static void
_native_unbind_cb(void *data EINA_UNUSED, void *image)
_native_unbind_cb(void *image)
{
Evas_GL_Image *im = image;
Native *n = im->native.data;
@ -2150,7 +2150,7 @@ _native_unbind_cb(void *data EINA_UNUSED, void *image)
}
static void
_native_free_cb(void *data EINA_UNUSED, void *image)
_native_free_cb(void *image)
{
Evas_GL_Image *im = image;
Native *n = im->native.data;
@ -2260,7 +2260,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
#endif
}
im->native.data = NULL;
im->native.func.data = NULL;
im->native.func.bind = NULL;
im->native.func.unbind = NULL;
im->native.func.free = NULL;
@ -2268,7 +2267,7 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
}
static int
_native_yinvert_cb(void *data EINA_UNUSED, void *image)
_native_yinvert_cb(void *image)
{
Evas_GL_Image *im = image;
Native *n = im->native.data;
@ -2454,7 +2453,7 @@ eng_image_native_set(void *data, void *image, void *native)
if (im->native.data)
{
if (im->native.func.free)
im->native.func.free(im->native.func.data, im);
im->native.func.free(im);
glsym_evas_gl_common_image_native_disable(im);
}
@ -2621,7 +2620,6 @@ eng_image_native_set(void *data, void *image, void *native)
im->native.disp = eng_get_ob(re)->egl_disp;
im->native.shared = eng_get_ob(re)->gl_context->shared;
im->native.data = n;
im->native.func.data = re;
im->native.func.bind = _native_bind_cb;
im->native.func.unbind = _native_unbind_cb;
im->native.func.free = _native_free_cb;
@ -2830,7 +2828,6 @@ eng_image_native_set(void *data, void *image, void *native)
im->native.disp = eng_get_ob(re)->disp;
im->native.shared = eng_get_ob(re)->gl_context->shared;
im->native.data = n;
im->native.func.data = re;
im->native.func.bind = _native_bind_cb;
im->native.func.unbind = _native_unbind_cb;
im->native.func.free = _native_free_cb;
@ -2864,7 +2861,6 @@ eng_image_native_set(void *data, void *image, void *native)
#endif
im->native.shared = eng_get_ob(re)->gl_context->shared;
im->native.data = n;
im->native.func.data = re;
im->native.func.bind = _native_bind_cb;
im->native.func.unbind = _native_unbind_cb;
im->native.func.free = _native_free_cb;
@ -2905,7 +2901,6 @@ eng_image_native_set(void *data, void *image, void *native)
im->native.disp = eng_get_ob(re)->egl_disp;
im->native.shared = eng_get_ob(re)->gl_context->shared;
im->native.data = n;
im->native.func.data = re;
im->native.func.bind = _native_bind_cb;
im->native.func.unbind = _native_unbind_cb;
im->native.func.free = _native_free_cb;
@ -2938,7 +2933,6 @@ eng_image_native_set(void *data, void *image, void *native)
#endif
im->native.shared = eng_get_ob(re)->gl_context->shared;
im->native.data = n;
im->native.func.data = re;
im->native.func.bind = _native_bind_cb;
im->native.func.unbind = _native_unbind_cb;
im->native.func.free = _native_free_cb;
@ -3021,7 +3015,6 @@ eng_image_native_set(void *data, void *image, void *native)
im->native.disp = eng_get_ob(re)->egl_disp;
im->native.shared = eng_get_ob(re)->gl_context->shared;
im->native.data = n;
im->native.func.data = re;
im->native.func.bind = _native_bind_cb;
im->native.func.unbind = _native_unbind_cb;
im->native.func.free = _native_free_cb;

View File

@ -2252,7 +2252,7 @@ eng_image_draw(void *data EINA_UNUSED, void *context, void *surface, void *image
if (!image) return EINA_FALSE;
im = image;
if (im->native.func.bind)
im->native.func.bind(data, image, src_x, src_y, src_w, src_h);
im->native.func.bind(image, src_x, src_y, src_w, src_h);
if (do_async)
{
@ -2272,7 +2272,7 @@ eng_image_draw(void *data EINA_UNUSED, void *context, void *surface, void *image
if (!im->cache_entry.flags.loaded)
{
if (im->native.func.unbind)
im->native.func.unbind(data, image);
im->native.func.unbind(image);
return EINA_FALSE;
}
}
@ -2284,7 +2284,7 @@ eng_image_draw(void *data EINA_UNUSED, void *context, void *surface, void *image
_image_thr_cb_sample,
_image_thr_cb_smooth);
if (im->native.func.unbind)
im->native.func.unbind(data, image);
im->native.func.unbind(image);
return ret;
}
#ifdef BUILD_PIPE_RENDER
@ -2319,7 +2319,7 @@ eng_image_draw(void *data EINA_UNUSED, void *context, void *surface, void *image
}
if (im->native.func.unbind)
im->native.func.unbind(data, image);
im->native.func.unbind(image);
return EINA_FALSE;
}

View File

@ -249,7 +249,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
im->native.func.bind = NULL;
im->native.func.unbind = NULL;
im->native.func.free = NULL;
im->native.func.data = NULL;
im->image.data = NULL;
free(n);

View File

@ -657,13 +657,12 @@ eng_canvas_alpha_get(void *data, void *context EINA_UNUSED)
}
static void
_native_evasgl_free(void *data EINA_UNUSED, void *image)
_native_evasgl_free(void *image)
{
RGBA_Image *im = image;
Native *n = im->native.data;
im->native.data = NULL;
im->native.func.data = NULL;
im->native.func.bind = NULL;
im->native.func.unbind = NULL;
im->native.func.free = NULL;
@ -720,7 +719,7 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
if (!ns)
{
if (im->native.data && im->native.func.free)
im->native.func.free(im->native.func.data, im);
im->native.func.free(im);
return NULL;
}
@ -764,7 +763,7 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
if (im->native.data)
{
if (im->native.func.free)
im->native.func.free(im->native.func.data, im);
im->native.func.free(im);
}
#ifdef EVAS_CSERVE2
@ -805,7 +804,6 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
n->ns.data.evasgl.surface = ns->data.evasgl.surface;
im->native.data = n;
im->native.func.free = _native_evasgl_free;
im->native.func.data = NULL;
im->native.func.bind = NULL;
im->native.func.unbind = NULL;
}

View File

@ -37,7 +37,7 @@ _evas_xcb_image_update(void *data EINA_UNUSED, void *image, int x, int y, int w,
}
static void
_native_cb_bind(void *data, void *image, int x, int y, int w, int h)
_native_cb_bind(int x, int y, int w, int h)
{
RGBA_Image *im;
Native *n;
@ -46,11 +46,11 @@ _native_cb_bind(void *data, void *image, int x, int y, int w, int h)
n = im->native.data;
if ((n) && (n->ns.type == EVAS_NATIVE_SURFACE_X11))
_evas_xcb_image_update(data, image, x, y, w, h);
_evas_xcb_image_update(NULL, image, x, y, w, h);
}
static void
_native_cb_free(void *data EINA_UNUSED, void *image)
_native_cb_free(void *image)
{
RGBA_Image *im;
Native *n;
@ -66,7 +66,6 @@ _native_cb_free(void *data EINA_UNUSED, void *image)
n->ns_data.x11.visual = NULL;
im->native.data = NULL;
im->native.func.data = NULL;
im->native.func.bind = NULL;
im->native.func.unbind = NULL;
im->native.func.free = NULL;
@ -115,7 +114,6 @@ evas_xcb_image_native_set(void *data, void *image, void *native)
n->ns_data.x11.exim = exim;
im->native.data = n;
im->native.func.data = NULL;
im->native.func.bind = _native_cb_bind;
im->native.func.unbind = NULL;
im->native.func.free = _native_cb_free;

View File

@ -540,7 +540,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
n->ns_data.x11.display = NULL;
im->native.data = NULL;
im->native.func.data = NULL;
im->native.func.bind = NULL;
im->native.func.free = NULL;
im->image.data = NULL;
@ -600,7 +599,6 @@ evas_xlib_image_dri_native_set(void *data, void *image, void *native)
n->ns_data.x11.display = d;
n->ns_data.x11.exim = exim;
im->native.data = n;
im->native.func.data = NULL;
im->native.func.bind = _native_bind_cb;
im->native.func.free = _native_free_cb;

View File

@ -58,7 +58,6 @@ _native_free_cb(void *data EINA_UNUSED, void *image)
n->ns_data.x11.visual = NULL;
im->native.data = NULL;
im->native.func.data = NULL;
im->native.func.bind = NULL;
im->native.func.unbind = NULL;
im->native.func.free = NULL;
@ -103,7 +102,6 @@ evas_xlib_image_native_set(void *data, void *image, void *native)
n->ns_data.x11.visual = vis;
n->ns_data.x11.exim = exim;
im->native.data = n;
im->native.func.data = NULL;
im->native.func.bind = _native_bind_cb;
im->native.func.free = _native_free_cb;

View File

@ -796,7 +796,7 @@ eng_output_dump(void *data)
}
static void
_native_cb_bind(void *data EINA_UNUSED, void *image)
_native_cb_bind(void *image)
{
Evas_GL_Image *img;
Native *n;
@ -867,7 +867,7 @@ _native_cb_bind(void *data EINA_UNUSED, void *image)
}
static void
_native_cb_unbind(void *data EINA_UNUSED, void *image)
_native_cb_unbind(void *image)
{
Evas_GL_Image *img;
Native *n;
@ -894,7 +894,7 @@ _native_cb_unbind(void *data EINA_UNUSED, void *image)
}
static void
_native_cb_free(void *data EINA_UNUSED, void *image)
_native_cb_free(void *image)
{
Evas_GL_Image *img;
Native *n;
@ -952,7 +952,6 @@ _native_cb_free(void *data EINA_UNUSED, void *image)
#endif
}
img->native.data = NULL;
img->native.func.data = NULL;
img->native.func.bind = NULL;
img->native.func.unbind = NULL;
img->native.func.free = NULL;
@ -961,7 +960,7 @@ _native_cb_free(void *data EINA_UNUSED, void *image)
}
static int
_native_cb_yinvert(void *data EINA_UNUSED, void *image)
_native_cb_yinvert(void *image)
{
Evas_GL_Image *im = image;
Native *n = im->native.data;
@ -1123,7 +1122,7 @@ eng_image_native_set(void *data, void *image, void *native)
if (img->native.data)
{
if (img->native.func.free)
img->native.func.free(img->native.func.data, img);
img->native.func.free(img);
glsym_evas_gl_common_image_native_disable(img);
}
@ -1263,7 +1262,6 @@ eng_image_native_set(void *data, void *image, void *native)
img->native.disp = ob->egl_disp;
img->native.shared = ob->gl_context->shared;
img->native.data = n;
img->native.func.data = re;
img->native.func.bind = _native_cb_bind;
img->native.func.unbind = _native_cb_unbind;
img->native.func.free = _native_cb_free;
@ -1290,7 +1288,6 @@ eng_image_native_set(void *data, void *image, void *native)
img->native.disp = ob->egl_disp;
img->native.shared = ob->gl_context->shared;
img->native.data = n;
img->native.func.data = re;
img->native.func.bind = _native_cb_bind;
img->native.func.unbind = _native_cb_unbind;
img->native.func.free = _native_cb_free;
@ -1319,7 +1316,6 @@ eng_image_native_set(void *data, void *image, void *native)
img->native.disp = ob->egl_disp;
img->native.shared = ob->gl_context->shared;
img->native.data = n;
img->native.func.data = re;
img->native.func.bind = _native_cb_bind;
img->native.func.unbind = _native_cb_unbind;
img->native.func.free = _native_cb_free;
@ -1358,7 +1354,6 @@ eng_image_native_set(void *data, void *image, void *native)
img->native.disp = ob->egl_disp;
img->native.shared = ob->gl_context->shared;
img->native.data = n;
img->native.func.data = re;
img->native.func.bind = _native_cb_bind;
img->native.func.unbind = _native_cb_unbind;
img->native.func.free = _native_cb_free;

View File

@ -331,7 +331,7 @@ eng_image_native_set(void *data EINA_UNUSED, void *image, void *native)
if (im->native.data)
{
if (im->native.func.free)
im->native.func.free(im->native.func.data, im);
im->native.func.free(im);
}
#ifdef EVAS_CSERVE2