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)
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)
181 181
182 fallback_id = plane->state->fid.value; 182 fallback_id = plane->state->fid.value;
183 plane->state->fid.value = fb->id; 183 plane->state->fid.value = fb->id;
184
185 /* Update plane state based on fb */
186 plane->state->sw.value = fb->w << 16;
187 plane->state->sh.value = fb->h << 16;
188 plane->state->cw.value = fb->w;
189 plane->state->ch.value = fb->h;
190
184 if (_fb_atomic_flip_test(plane->output)) 191 if (_fb_atomic_flip_test(plane->output))
185 { 192 {
186 _ecore_drm2_fb_ref(fb); 193 _ecore_drm2_fb_ref(fb);