diff options
author | Christopher Michael <cp.michael@samsung.com> | 2019-03-22 12:41:08 -0400 |
---|---|---|
committer | Christopher Michael <cp.michael@samsung.com> | 2019-03-22 12:41:08 -0400 |
commit | 10474986cc691a6bc9fa39250a73a71906a94000 (patch) | |
tree | 1eadc039ab901bb169151a88fdc706719ce3716e /src/lib/ecore_drm2 | |
parent | 9d301e4e033e4406ae3f50dbd9eb2789d11cefcf (diff) | |
download | efl-10474986cc691a6bc9fa39250a73a71906a94000.tar.gz |
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
Diffstat (limited to 'src/lib/ecore_drm2')
-rw-r--r-- | src/lib/ecore_drm2/ecore_drm2_plane.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_plane.c b/src/lib/ecore_drm2/ecore_drm2_plane.c index b9601cc347..6dfa0bcb85 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); |