From 6096779ede1c837461dfe1224f69539dd974631b Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Thu, 21 May 2020 17:58:46 +0100 Subject: [PATCH] ecore - expose "hidden" internal api for debugging to get wakeup time get the real time at which main loop woke up for purposes of debugging and finding jank/scheduling jitter. --- src/lib/ecore/Ecore.h | 2 ++ src/lib/ecore/ecore_main.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/lib/ecore/Ecore.h b/src/lib/ecore/Ecore.h index 294fe0e5a2..e87ccc6093 100644 --- a/src/lib/ecore/Ecore.h +++ b/src/lib/ecore/Ecore.h @@ -331,6 +331,8 @@ extern "C" { #endif #include "Ecore_Eo.h" +EAPI double _ecore_main_loop_wakeup_time_get(void); + #ifdef __cplusplus } #endif diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index 78438b336e..efd5310029 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -207,12 +207,20 @@ static gboolean _ecore_glib_idle_enterer_called; static gboolean ecore_fds_ready; #endif +static double _ecore_main_loop_wakeup_time = 0.0; + +EAPI double _ecore_main_loop_wakeup_time_get(void) +{ + return _ecore_main_loop_wakeup_time; +} + static inline void _update_loop_time(Efl_Loop_Data *pd) { double loop_time = ecore_time_get(); if (loop_time > pd->loop_time) pd->loop_time = loop_time; + _ecore_main_loop_wakeup_time = loop_time; } #ifdef EFL_EXTRA_SANITY_CHECKS