diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2017-07-12 16:30:07 -0500 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2017-07-13 11:31:11 -0500 |
commit | b5f7f3c274fd841e6c6e967e456100cb57b75a32 (patch) | |
tree | 78f14c26a697c5b1239b3ccfaaef74d5f8b0d4d6 | |
parent | a9196ebc3a4705a9d97360d36d95364f4337ecd5 (diff) | |
download | efl-b5f7f3c274fd841e6c6e967e456100cb57b75a32.tar.gz |
ecore_evas_drm: Provide a last_tick_get callback
Allow the drm engine to provide a tick timestamp for the previous vblank
interval.
ref T5462
-rw-r--r-- | src/modules/ecore_evas/engines/drm/ecore_evas_drm.c | 15 |
1 files changed, 14 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 96d0c27656..dd46ce00d0 100644 --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c @@ -673,6 +673,19 @@ _drm_animator_unregister(Ecore_Evas *ee) edata->ticking = EINA_FALSE; } +static double +_drm_last_tick_get(Ecore_Evas *ee) +{ + Ecore_Evas_Engine_Drm_Data *edata; + long sec, usec; + + edata = ee->engine.data; + if (!ecore_drm2_output_blanktime_get(edata->output, &sec, &usec)) + return -1.0; + + return sec + usec / 1000000.0; +} + static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func = { _drm_free, @@ -760,7 +773,7 @@ static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func = NULL, //fn_callback_device_mouse_out_set NULL, //fn_pointer_device_xy_get NULL, //fn_prepare - NULL, //fn_last_tick_get + _drm_last_tick_get, }; static Ecore_Evas * |