From 95ae131502bb7a4280599e12d775a6db9b81de03 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Fri, 22 Mar 2019 12:41:38 -0400 Subject: [PATCH] evas drm: Don't use eng_output_resize or redraws clear Summary: We don't need to use eng_output_resize in this engine as eng_output_update will take care of that. Also, don't use redraws_clear to handle buffer swapping. This is part one of software rotation fixes. ref T7690 @fix Depends on D8116 Reviewers: raster, cedric, zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7690 Differential Revision: https://phab.enlightenment.org/D8402 --- src/modules/evas/engines/drm/evas_engine.c | 26 ++++------------------ 1 file changed, 4 insertions(+), 22 deletions(-) diff --git a/src/modules/evas/engines/drm/evas_engine.c b/src/modules/evas/engines/drm/evas_engine.c index 63719018ec..d72e4ef1cc 100644 --- a/src/modules/evas/engines/drm/evas_engine.c +++ b/src/modules/evas/engines/drm/evas_engine.c @@ -44,7 +44,7 @@ eng_output_setup(void *engine, void *einfo, unsigned int w, unsigned int h) NULL, NULL, _outbuf_flush, - _outbuf_redraws_clear, + NULL, _outbuf_free, ob->w, ob->h)) goto init_err; @@ -70,33 +70,16 @@ eng_output_info_setup(void *info) einfo->render_mode = EVAS_RENDER_MODE_BLOCKING; } -static void -eng_output_resize(void *engine EINA_UNUSED, void *data, int w, int h) +static int +eng_output_update(void *engine EINA_UNUSED, void *data, void *einfo, unsigned int w, unsigned int h) { Render_Engine *re = data; Evas_Engine_Info_Drm *info; - info = re->generic.ob->info; - if (!info) return; - + info = (Evas_Engine_Info_Drm *)einfo; _outbuf_reconfigure(re->generic.ob, w, h, info->info.rotation, info->info.depth); - evas_common_tilebuf_free(re->generic.tb); - if ((re->generic.tb = evas_common_tilebuf_new(w, h))) - evas_common_tilebuf_set_tile_size(re->generic.tb, TILESIZE, TILESIZE); - - re->generic.w = w; - re->generic.h = h; -} - -static int -eng_output_update(void *engine, void *data, void *einfo EINA_UNUSED, unsigned int w, unsigned int h) -{ - Render_Engine *re = data; - - eng_output_resize(engine, data, w, h); - evas_render_engine_software_generic_update(&re->generic, re->generic.ob, w, h); @@ -251,7 +234,6 @@ module_open(Evas_Module *em) ORD(output_setup); ORD(output_update); ORD(output_free); - ORD(output_resize); ORD(image_plane_assign); ORD(image_plane_release);