From 9606c3fca9d568dc43711017dcb35a408c0d2883 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Sun, 10 Sep 2023 02:09:28 +0200 Subject: timer: teach it about nanoseconds Those changes will alow to change vsync base to more precise time base. In general there is no reason to truncate values returned by system. --- osdep/timer-darwin.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'osdep/timer-darwin.c') diff --git a/osdep/timer-darwin.c b/osdep/timer-darwin.c index 2e7122eabf..a114d0d727 100644 --- a/osdep/timer-darwin.c +++ b/osdep/timer-darwin.c @@ -26,18 +26,18 @@ #include "common/msg.h" #include "timer.h" -static double timebase_ratio; +static double timebase_ratio_ns; void mp_sleep_us(int64_t us) { - uint64_t deadline = us / 1e6 / timebase_ratio + mach_absolute_time(); + uint64_t deadline = us * 1e3 / timebase_ratio_ns + mach_absolute_time(); mach_wait_until(deadline); } -uint64_t mp_raw_time_us(void) +uint64_t mp_raw_time_ns(void) { - return mach_absolute_time() * timebase_ratio * 1e6; + return mach_absolute_time() * timebase_ratio_ns; } void mp_raw_time_init(void) @@ -45,5 +45,5 @@ void mp_raw_time_init(void) struct mach_timebase_info timebase; mach_timebase_info(&timebase); - timebase_ratio = (double)timebase.numer / (double)timebase.denom * 1e-9; + timebase_ratio_ns = (double)timebase.numer / (double)timebase.denom; } -- cgit v1.2.3