From 405b278528305936cd173b2782c839b8f34a6064 Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Tue, 12 Apr 2016 12:39:45 -0500 Subject: [PATCH] wayland_shm: Pass Evas_Engine_Info_Wayland_Shm directly to setup functions We pretty much pass all its contents anyway. --- .../evas/engines/wayland_shm/evas_engine.c | 33 +++++-------------- .../evas/engines/wayland_shm/evas_engine.h | 2 +- .../evas/engines/wayland_shm/evas_outbuf.c | 21 +++++++----- 3 files changed, 22 insertions(+), 34 deletions(-) diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.c b/src/modules/evas/engines/wayland_shm/evas_engine.c index 33fae87c6a..5e63685f75 100644 --- a/src/modules/evas/engines/wayland_shm/evas_engine.c +++ b/src/modules/evas/engines/wayland_shm/evas_engine.c @@ -27,8 +27,8 @@ struct _Render_Engine }; /* LOCAL FUNCTIONS */ -Render_Engine * -_render_engine_swapbuf_setup(int w, int h, unsigned int rotation, unsigned int depth, Eina_Bool alpha, struct wl_shm *shm, struct wl_surface *surface, struct wl_display *disp, int compositor_version) +static Render_Engine * +_render_engine_swapbuf_setup(int w, int h, Evas_Engine_Info_Wayland_Shm *einfo) { Render_Engine *re; Outbuf *ob; @@ -40,8 +40,7 @@ _render_engine_swapbuf_setup(int w, int h, unsigned int rotation, unsigned int d /* try to allocate space for new render engine */ if (!(re = calloc(1, sizeof(Render_Engine)))) return NULL; - ob = _evas_outbuf_setup(w, h, rotation, depth, alpha, shm, surface, disp, - compositor_version); + ob = _evas_outbuf_setup(w, h, einfo); if (!ob) goto err; if (!evas_render_engine_software_generic_init(&re->generic, ob, @@ -151,14 +150,7 @@ eng_setup(Evas *eo_evas, void *info) /* if we have no engine data, assume we have not initialized yet */ evas_common_init(); - re = _render_engine_swapbuf_setup(epd->output.w, epd->output.h, - einfo->info.rotation, - einfo->info.depth, - einfo->info.destination_alpha, - einfo->info.wl_shm, - einfo->info.wl_surface, - einfo->info.wl_disp, - einfo->info.compositor_version); + re = _render_engine_swapbuf_setup(epd->output.w, epd->output.h, einfo); if (re) re->generic.ob->info = einfo; @@ -169,19 +161,10 @@ eng_setup(Evas *eo_evas, void *info) { Outbuf *ob; - ob = _evas_outbuf_setup(epd->output.w, epd->output.h, - einfo->info.rotation, einfo->info.depth, - einfo->info.destination_alpha, - einfo->info.wl_shm, einfo->info.wl_surface, - einfo->info.wl_disp, - einfo->info.compositor_version); - if (ob) - { - ob->info = einfo; - evas_render_engine_software_generic_update(&re->generic, ob, - epd->output.w, - epd->output.h); - } + ob = _evas_outbuf_setup(epd->output.w, epd->output.h, einfo); + if (ob) evas_render_engine_software_generic_update(&re->generic, ob, + epd->output.w, + epd->output.h); } epd->engine.data.output = re; diff --git a/src/modules/evas/engines/wayland_shm/evas_engine.h b/src/modules/evas/engines/wayland_shm/evas_engine.h index c00d14debd..5c3d01ca52 100644 --- a/src/modules/evas/engines/wayland_shm/evas_engine.h +++ b/src/modules/evas/engines/wayland_shm/evas_engine.h @@ -127,7 +127,7 @@ struct _Outbuf Surface *_evas_shm_surface_create(struct wl_display *disp, struct wl_shm *shm, struct wl_surface *surface, int w, int h, int num_buff, Eina_Bool alpha, int compositor_version); -Outbuf *_evas_outbuf_setup(int w, int h, int rot, Outbuf_Depth depth, Eina_Bool alpha, struct wl_shm *shm, struct wl_surface *surface, struct wl_display *disp, int compositor_version); +Outbuf *_evas_outbuf_setup(int w, int h, Evas_Engine_Info_Wayland_Shm *info); void _evas_outbuf_free(Outbuf *ob); void _evas_outbuf_flush(Outbuf *ob, Tilebuf_Rect *rects, Evas_Render_Mode render_mode); void _evas_outbuf_idle_flush(Outbuf *ob); diff --git a/src/modules/evas/engines/wayland_shm/evas_outbuf.c b/src/modules/evas/engines/wayland_shm/evas_outbuf.c index 9839edcee9..ee9210d34a 100644 --- a/src/modules/evas/engines/wayland_shm/evas_outbuf.c +++ b/src/modules/evas/engines/wayland_shm/evas_outbuf.c @@ -10,7 +10,7 @@ #define BLUE_MASK 0x0000ff Outbuf * -_evas_outbuf_setup(int w, int h, int rot, Outbuf_Depth depth, Eina_Bool alpha, struct wl_shm *shm, struct wl_surface *surface, struct wl_display *disp, int compositor_version) +_evas_outbuf_setup(int w, int h, Evas_Engine_Info_Wayland_Shm *info) { Outbuf *ob = NULL; char *num; @@ -23,9 +23,10 @@ _evas_outbuf_setup(int w, int h, int rot, Outbuf_Depth depth, Eina_Bool alpha, s /* set outbuf properties */ ob->w = w; ob->h = h; - ob->rotation = rot; - ob->depth = depth; - ob->priv.destination_alpha = alpha; + ob->info = info; + ob->rotation = info->info.rotation; + ob->depth = info->info.depth; + ob->priv.destination_alpha = info->info.destination_alpha; /* default to double buffer */ ob->num_buff = 2; @@ -46,15 +47,19 @@ _evas_outbuf_setup(int w, int h, int rot, Outbuf_Depth depth, Eina_Bool alpha, s if ((ob->rotation == 0) || (ob->rotation == 180)) { ob->surface = - _evas_shm_surface_create(disp, shm, surface, w, h, ob->num_buff, - alpha, compositor_version); + _evas_shm_surface_create(info->info.wl_disp, info->info.wl_shm, + info->info.wl_surface, w, h, ob->num_buff, + info->info.destination_alpha, + info->info.compositor_version); if (!ob->surface) goto surf_err; } else if ((ob->rotation == 90) || (ob->rotation == 270)) { ob->surface = - _evas_shm_surface_create(disp, shm, surface, h, w, ob->num_buff, - alpha, compositor_version); + _evas_shm_surface_create(info->info.wl_disp, info->info.wl_shm, + info->info.wl_surface, h, w, ob->num_buff, + info->info.destination_alpha, + info->info.compositor_version); if (!ob->surface) goto surf_err; }