diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2016-11-14 14:12:58 -0600 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2016-11-14 14:12:58 -0600 |
commit | bf7814aca01e9589062eedcd0d7807b4f3f90ce2 (patch) | |
tree | 7bddfa5d2b4afbd00add94dda948300afd2df759 /src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | |
parent | 2480b4bb22aa9c8141e605561549dd7f848dc1ce (diff) |
ecore_evas_drm: Use timestamp from pageflip event for animator time
Should be more accurate this way.
Diffstat (limited to 'src/modules/ecore_evas/engines/drm/ecore_evas_drm.c')
-rw-r--r-- | src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c index 79c1c58623..2d8e7897fb 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | |||
@@ -612,7 +612,7 @@ _cb_drm_event(void *data, Ecore_Fd_Handler *hdlr EINA_UNUSED) | |||
612 | } | 612 | } |
613 | 613 | ||
614 | static void | 614 | static void |
615 | _cb_pageflip(int fd EINA_UNUSED, unsigned int frame EINA_UNUSED, unsigned int sec EINA_UNUSED, unsigned int usec EINA_UNUSED, void *data) | 615 | _cb_pageflip(int fd EINA_UNUSED, unsigned int frame EINA_UNUSED, unsigned int sec, unsigned int usec, void *data) |
616 | { | 616 | { |
617 | Ecore_Evas *ee; | 617 | Ecore_Evas *ee; |
618 | Ecore_Evas_Engine_Drm_Data *edata; | 618 | Ecore_Evas_Engine_Drm_Data *edata; |
@@ -627,7 +627,9 @@ _cb_pageflip(int fd EINA_UNUSED, unsigned int frame EINA_UNUSED, unsigned int se | |||
627 | 627 | ||
628 | if (edata->ticking) | 628 | if (edata->ticking) |
629 | { | 629 | { |
630 | ecore_evas_animator_tick(ee, NULL, ecore_loop_time_get()); | 630 | double t = (double)sec + ((double)usec / 1000000); |
631 | |||
632 | ecore_evas_animator_tick(ee, NULL, t); | ||
631 | ecore_drm2_fb_flip(NULL, edata->output); | 633 | ecore_drm2_fb_flip(NULL, edata->output); |
632 | } | 634 | } |
633 | else if (ret) ecore_drm2_fb_flip(NULL, edata->output); | 635 | else if (ret) ecore_drm2_fb_flip(NULL, edata->output); |