From 1552f85edeb7bd137d0a2215df3f03e8572483aa Mon Sep 17 00:00:00 2001 From: Derek Foreman Date: Fri, 16 Jun 2017 16:32:45 -0500 Subject: [PATCH] ecore_drm2: Add scanout status callbacks This generates callbacks when a fb becomes scanned out on a hardware plane or when it no longer is. --- src/lib/ecore_drm2/ecore_drm2_fb.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c b/src/lib/ecore_drm2/ecore_drm2_fb.c index 8977528..d601803 100644 --- a/src/lib/ecore_drm2/ecore_drm2_fb.c +++ b/src/lib/ecore_drm2/ecore_drm2_fb.c @@ -299,6 +299,10 @@ ecore_drm2_fb_flip_complete(Ecore_Drm2_Output *output) fb->scanout_count++; plane->scanout = EINA_TRUE; + if (fb->status_handler && (fb->scanout_count == 1)) + fb->status_handler(fb, + ECORE_DRM2_FB_STATUS_SCANOUT_ON, + fb->status_data); continue; } plane_scanout = plane->scanout; @@ -307,6 +311,10 @@ ecore_drm2_fb_flip_complete(Ecore_Drm2_Output *output) if (!plane_scanout) continue; fb->scanout_count--; + if (fb->status_handler && (fb->scanout_count == 0)) + fb->status_handler(fb, + ECORE_DRM2_FB_STATUS_SCANOUT_OFF, + fb->status_data); } } -- 2.7.4