summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2017-05-03 10:56:07 -0400
committerDerek Foreman <derekf@osg.samsung.com>2017-05-04 16:51:18 -0500
commit4e46b3adf048e34d019c8a05a7b56be1ead44431 (patch)
tree77573865186b12f0472b6c540c04e321f1d54c4b
parentd3adfb1a7a90757b38e08e2fe3fa6be03d5af799 (diff)
downloadefl-4e46b3adf048e34d019c8a05a7b56be1ead44431.tar.gz
ecore-drm2: Add 'release' flag for planes
As we cannot immediately remove a plane from an output, due to needing an atomic commit to actually remove the plane from screen, we can use a 'release' flag to indicate that a given plane needs removal from the screen during our next atomic commit. Signed-off-by: Chris Michael <cp.michael@samsung.com>
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_plane.c1
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_private.h2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_plane.c b/src/lib/ecore_drm2/ecore_drm2_plane.c
index 100b8b959d..2ecf96b19f 100644
--- a/src/lib/ecore_drm2/ecore_drm2_plane.c
+++ b/src/lib/ecore_drm2/ecore_drm2_plane.c
@@ -126,6 +126,7 @@ ecore_drm2_plane_release(Ecore_Drm2_Plane *plane)
EINA_SAFETY_ON_NULL_RETURN(plane);
plane->state->in_use = EINA_FALSE;
+ plane->state->release = EINA_TRUE;
}
EAPI void
diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h
index 3bef9fe5bd..f73f8bcb49 100644
--- a/src/lib/ecore_drm2/ecore_drm2_private.h
+++ b/src/lib/ecore_drm2/ecore_drm2_private.h
@@ -652,7 +652,7 @@ typedef struct _Ecore_Drm2_Plane_State
uint32_t num_formats;
uint32_t *formats;
- Eina_Bool in_use;
+ Eina_Bool in_use, release;
} Ecore_Drm2_Plane_State;
struct _Ecore_Drm2_Atomic_State