diff options
| -rw-r--r-- | src/til.c | 19 | ||||
| -rw-r--r-- | src/til.h | 1 | 
2 files changed, 20 insertions, 0 deletions
| @@ -26,6 +26,7 @@  #define TIL_DEFAULT_NESTED_MODULE	"compose"  static til_threads_t	*til_threads; +static struct timeval	til_start_tv;  extern til_module_t	blinds_module;  extern til_module_t	checkers_module; @@ -92,6 +93,8 @@ int til_init(void)  	if (!(til_threads = til_threads_create()))  		return -errno; +	gettimeofday(&til_start_tv, NULL); +  	return 0;  } @@ -109,6 +112,22 @@ void til_shutdown(void)  } +/* returns number of "ticks" since til_init(), which are currently milliseconds */ +unsigned til_ticks_now(void) +{ +	struct timeval	now, diff; + +	/* for profiling purposes in particular, it'd be nice to bump up to microseconds... +	 * but then it'll prolly need uint64_t +	 */ + +	gettimeofday(&now, NULL); +	timersub(&now, &til_start_tv, &diff); + +	return diff.tv_sec * 1000 + diff.tv_usec / 1000; +} + +  /* "blank" built-in module */  static void _blank_prepare_frame(til_module_context_t *context, til_stream_t *stream, unsigned ticks, til_fb_fragment_t **fragment_ptr, til_frame_plan_t *res_frame_plan)  { @@ -40,6 +40,7 @@ struct til_module_t {  int til_init(void);  void til_quiesce(void);  void til_shutdown(void); +unsigned til_ticks_now(void);  const til_module_t * til_lookup_module(const char *name);  void til_get_modules(const til_module_t ***res_modules, size_t *res_n_modules);  char * til_get_module_names(unsigned flags_excluded, const char **exclusions); | 
