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
This commit is contained in:
Christopher Michael 2019-03-22 12:41:38 -04:00
parent 8011277dfc
commit 95ae131502
1 changed files with 4 additions and 22 deletions

View File

@ -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);