summaryrefslogtreecommitdiff
path: root/src/modules
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2016-11-14 14:30:11 -0600
committerDerek Foreman <derekf@osg.samsung.com>2016-11-14 14:30:11 -0600
commit20f52cd60703d8e3fc1496117a2c8cf9119b6284 (patch)
tree2dcd2dd43bb23c680e1c9509fdae57bdc9b53aed /src/modules
parentbf7814aca01e9589062eedcd0d7807b4f3f90ce2 (diff)
ecore_evas_drm: Fix bugs in pending tracking
This has been dead wrong for a while but only recently became a showstopper when another bug was fixed that made this one manifest.
Diffstat (limited to 'src/modules')
-rw-r--r--src/modules/ecore_evas/engines/drm/ecore_evas_drm.c8
1 files changed, 7 insertions, 1 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 2d8e7897fb..ac970f5017 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -630,9 +630,14 @@ _cb_pageflip(int fd EINA_UNUSED, unsigned int frame EINA_UNUSED, unsigned int se
630 double t = (double)sec + ((double)usec / 1000000); 630 double t = (double)sec + ((double)usec / 1000000);
631 631
632 ecore_evas_animator_tick(ee, NULL, t); 632 ecore_evas_animator_tick(ee, NULL, t);
633 edata->pending = EINA_TRUE;
634 ecore_drm2_fb_flip(NULL, edata->output);
635 }
636 else if (ret)
637 {
638 edata->pending = EINA_TRUE;
633 ecore_drm2_fb_flip(NULL, edata->output); 639 ecore_drm2_fb_flip(NULL, edata->output);
634 } 640 }
635 else if (ret) ecore_drm2_fb_flip(NULL, edata->output);
636} 641}
637 642
638static void 643static void
@@ -654,6 +659,7 @@ _drm_animator_register(Ecore_Evas *ee)
654 edata = ee->engine.data; 659 edata = ee->engine.data;
655 edata->ticking = EINA_TRUE; 660 edata->ticking = EINA_TRUE;
656 if (!edata->pending) ecore_drm2_fb_flip(NULL, edata->output); 661 if (!edata->pending) ecore_drm2_fb_flip(NULL, edata->output);
662 edata->pending = EINA_TRUE;
657} 663}
658 664
659static void 665static void