summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2017-06-16 16:15:57 -0500
committerDerek Foreman <derekf@osg.samsung.com>2017-06-23 08:15:41 -0500
commitbc8b11bd7853b349e311a4b05db76d3525c85189 (patch)
treef2907c096d78f2db3da7bce9d4672381cdb0634e
parenta8c7b89cb7a3a8136102f340b6838a6a05fcb231 (diff)
downloadefl-bc8b11bd7853b349e311a4b05db76d3525c85189.tar.gz
ecore_drm2: Track whether an Ecore_Drm2_Plane has ever been on scanout
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_fb.c6
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_private.h1
2 files changed, 6 insertions, 1 deletions
diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c b/src/lib/ecore_drm2/ecore_drm2_fb.c
index ddd7c3e5dc..28154e567e 100644
--- a/src/lib/ecore_drm2/ecore_drm2_fb.c
+++ b/src/lib/ecore_drm2/ecore_drm2_fb.c
@@ -284,7 +284,11 @@ ecore_drm2_fb_flip_complete(Ecore_Drm2_Output *output)
EINA_LIST_FOREACH_SAFE(output->planes, l, ll, plane)
{
- if (!plane->dead) continue;
+ if (!plane->dead)
+ {
+ plane->scanout = EINA_TRUE;
+ continue;
+ }
output->planes = eina_list_remove_list(output->planes, l);
free(plane);
}
diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h
index 730c7b52ce..d387e90f42 100644
--- a/src/lib/ecore_drm2/ecore_drm2_private.h
+++ b/src/lib/ecore_drm2/ecore_drm2_private.h
@@ -176,6 +176,7 @@ struct _Ecore_Drm2_Plane
Ecore_Drm2_Output *output;
Ecore_Drm2_Fb *fb;
Eina_Bool dead;
+ Eina_Bool scanout;
};
struct _Ecore_Drm2_Output_Mode