diff options
author | Christopher Michael <cp.michael@samsung.com> | 2019-03-05 13:36:09 -0500 |
---|---|---|
committer | Christopher Michael <cp.michael@samsung.com> | 2019-03-21 14:00:15 -0400 |
commit | 86cfaad63f3d189fa37a0e09843f8cc3f7ab0b26 (patch) | |
tree | b2cef902e7382034f5d3617c586a6200f8c2d8b4 | |
parent | 1b6327450eb76dd86f7a64824d9736151ca763ec (diff) | |
download | efl-86cfaad63f3d189fa37a0e09843f8cc3f7ab0b26.tar.gz |
ecore-drm2: Update plane state values based on FB
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
Differential Revision: https://phab.enlightenment.org/D8111
-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); |