raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=90e5fd831d11a0d378999b90a3c24e6ecef2a284

commit 90e5fd831d11a0d378999b90a3c24e6ecef2a284
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Wed Feb 3 02:26:54 2021 +0000

    ecore-x - vsync - also log the direct device timestamp if it goes back
---
 src/lib/ecore_x/ecore_x_vsync.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_x/ecore_x_vsync.c b/src/lib/ecore_x/ecore_x_vsync.c
index 26454a2ae9..5ad828d0fe 100644
--- a/src/lib/ecore_x/ecore_x_vsync.c
+++ b/src/lib/ecore_x/ecore_x_vsync.c
@@ -384,12 +384,20 @@ _drm_vblank_handler(int fd EINA_UNUSED,
         if (pframe != frame)
           {
 #define DELTA_COUNT 10
-             double t = (double)sec + ((double)usec / 1000000);
              double tnow = ecore_time_get();
+             double t = (double)sec + ((double)usec / 1000000);
+             unsigned long long tusec, ptusec;
              static double tdelta[DELTA_COUNT];
              static double tdelta_avg = 0.0;
              static int tdelta_n = 0;
+             static unsigned int psec = 0, pusec = 0;
 
+             tusec = ((unsigned long long)sec) * 1000000 + usec;
+             ptusec = ((unsigned long long)psec) * 1000000 + pusec;
+             if (tusec <= ptusec)
+               fprintf(stderr,
+                       "EEEEEEK! drm time went backwards! %u.%06u -> 
%u.%06u\n",
+                       psec, pusec, sec, usec);
              if (t > tnow)
                {
                   if (tdelta_n > DELTA_COUNT)
@@ -420,6 +428,8 @@ _drm_vblank_handler(int fd EINA_UNUSED,
              _drm_fail_count = 0;
              _drm_send_time(t);
              pframe = frame;
+             psec = sec;
+             pusec = usec;
           }
      }
    else

-- 


Reply via email to