From 6a9bffe6a9f773014d34b739ea1a8260520b4ac6 Mon Sep 17 00:00:00 2001 From: Christopher Michael Date: Fri, 22 Mar 2019 12:41:08 -0400 Subject: [PATCH] ecore-drm2: Update plane state values based on FB Summary: When we are trying to set an FB onto a plane, we need to update the plane state values to reflect any changes in the FB. Failure to do this will result in Atomic Commit failures as the plane state values will not match what the FB is. ref T7690 @fix Depends on D8110 Reviewers: raster, cedric, zmike Reviewed By: cedric Subscribers: cedric Tags: #efl, #do_not_merge Maniphest Tasks: T7690 Differential Revision: https://phab.enlightenment.org/D8111 --- src/lib/ecore_drm2/ecore_drm2_plane.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/lib/ecore_drm2/ecore_drm2_plane.c b/src/lib/ecore_drm2/ecore_drm2_plane.c index b9601cc..6dfa0bc 100644 --- a/src/lib/ecore_drm2/ecore_drm2_plane.c +++ b/src/lib/ecore_drm2/ecore_drm2_plane.c @@ -181,6 +181,13 @@ ecore_drm2_plane_fb_set(Ecore_Drm2_Plane *plane, Ecore_Drm2_Fb *fb) fallback_id = plane->state->fid.value; plane->state->fid.value = fb->id; + + /* Update plane state based on fb */ + plane->state->sw.value = fb->w << 16; + plane->state->sh.value = fb->h << 16; + plane->state->cw.value = fb->w; + plane->state->ch.value = fb->h; + if (_fb_atomic_flip_test(plane->output)) { _ecore_drm2_fb_ref(fb); -- 2.7.4