summaryrefslogtreecommitdiff
path: root/src/lib/ecore_drm2
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2018-06-26 15:28:07 -0400
committerChris Michael <cp.michael@samsung.com>2018-06-26 15:28:07 -0400
commit7d54989f9beccb4d260681d11bf83e177bc75f9e (patch)
tree60b71cea65976ec68ae9c0a64c09e19237267c0b /src/lib/ecore_drm2
parent80baf516a3267b5ae02a2c8d931ff153f3b1f64a (diff)
ecore_drm2: Fix failure to properly set up new plane
Summary: When we add a plane we need to add it to the list before doing the atomic test to ensure we're testing new state that includes the plane, and to ensure the next screen update includes the plane we just added. Fix T7066 Reviewers: devilhorns Subscribers: cedric, #committers, zmike Tags: #efl Maniphest Tasks: T7066 Differential Revision: https://phab.enlightenment.org/D6432
Diffstat (limited to 'src/lib/ecore_drm2')
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_plane.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_plane.c b/src/lib/ecore_drm2/ecore_drm2_plane.c
index 796302dc1f..b9601cc347 100644
--- a/src/lib/ecore_drm2/ecore_drm2_plane.c
+++ b/src/lib/ecore_drm2/ecore_drm2_plane.c
@@ -112,8 +112,11 @@ out:
112 plane->type = pstate->type.value; 112 plane->type = pstate->type.value;
113 plane->output = output; 113 plane->output = output;
114 114
115 output->planes = eina_list_append(output->planes, plane);
116
115 if (!_fb_atomic_flip_test(output)) 117 if (!_fb_atomic_flip_test(output))
116 { 118 {
119 output->planes = eina_list_remove(output->planes, plane);
117 plane->state->in_use = EINA_FALSE; 120 plane->state->in_use = EINA_FALSE;
118 free(plane); 121 free(plane);
119 122
@@ -122,7 +125,6 @@ out:
122 125
123 _ecore_drm2_fb_ref(fb); 126 _ecore_drm2_fb_ref(fb);
124 DBG("FB %d assigned to Plane %d", fb->id, pstate->obj_id); 127 DBG("FB %d assigned to Plane %d", fb->id, pstate->obj_id);
125 output->planes = eina_list_append(output->planes, plane);
126 128
127 if (fb->status_handler) 129 if (fb->status_handler)
128 fb->status_handler(fb, 130 fb->status_handler(fb,