summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Michael <cp.michael@samsung.com>2019-03-05 13:36:09 -0500
committerChristopher Michael <cp.michael@samsung.com>2019-03-21 14:00:15 -0400
commit86cfaad63f3d189fa37a0e09843f8cc3f7ab0b26 (patch)
treeb2cef902e7382034f5d3617c586a6200f8c2d8b4
parent1b6327450eb76dd86f7a64824d9736151ca763ec (diff)
downloadefl-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.c7
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);