Fix timing on macos

This commit is contained in:
Hasen Judy
2018-05-13 19:33:08 +09:00
parent 6164672421
commit 9dc2c01aaa
+25 -3
View File
@@ -29,7 +29,23 @@ u64 win32_time_stamp__freq(void) {
return win32_perf_count_freq.QuadPart; return win32_perf_count_freq.QuadPart;
} }
#elif defined(GB_SYSTEM_OSX) || defined(GB_SYSTEM_UNIX) #elif defined(GB_SYSTEM_OSX)
#include <mach/mach_time.h>
u64 osx_time_stamp_time_now(void) {
return mach_absolute_time();
}
u64 osx_time_stamp__freq(void) {
mach_timebase_info_data_t data;
data.numer = 0;
data.denom = 0;
mach_timebase_info(&data);
return (data.numer / data.denom) * 1000000000;
}
#elif defined(GB_SYSTEM_UNIX)
#include <time.h> #include <time.h>
@@ -52,6 +68,8 @@ u64 unix_time_stamp__freq(void) {
return freq; return freq;
} }
#else #else
#error Implement system #error Implement system
#endif #endif
@@ -59,7 +77,9 @@ u64 unix_time_stamp__freq(void) {
u64 time_stamp_time_now(void) { u64 time_stamp_time_now(void) {
#if defined(GB_SYSTEM_WINDOWS) #if defined(GB_SYSTEM_WINDOWS)
return win32_time_stamp_time_now(); return win32_time_stamp_time_now();
#elif defined(GB_SYSTEM_OSX) || defined(GB_SYSTEM_UNIX) #elif defined(GB_SYSTEM_OSX)
return osx_time_stamp_time_now();
#elif defined(GB_SYSTEM_UNIX)
return unix_time_stamp_time_now(); return unix_time_stamp_time_now();
#else #else
#error time_stamp_time_now #error time_stamp_time_now
@@ -69,7 +89,9 @@ u64 time_stamp_time_now(void) {
u64 time_stamp__freq(void) { u64 time_stamp__freq(void) {
#if defined(GB_SYSTEM_WINDOWS) #if defined(GB_SYSTEM_WINDOWS)
return win32_time_stamp__freq(); return win32_time_stamp__freq();
#elif defined(GB_SYSTEM_OSX) || defined(GB_SYSTEM_UNIX) #elif defined(GB_SYSTEM_OSX)
return osx_time_stamp__freq();
#elif defined(GB_SYSTEM_UNIX)
return unix_time_stamp__freq(); return unix_time_stamp__freq();
#else #else
#error time_stamp__freq #error time_stamp__freq