diff options
author | jonas echterhoff <jonas@unity3d.com> | 2020-03-23 15:09:24 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-23 15:09:24 +0300 |
commit | 49e0fa85e4b5ba0bb4b37e14c64e19ca20bd3789 (patch) | |
tree | faacc1b1fe32e357260e667a944403700d31f9a5 | |
parent | 78e14e571951fdc228cd0d40e4c0c439004d6eed (diff) | |
parent | 7cae2c26e3c7bb7be5b865d85fa9512450bc6cb5 (diff) |
Merge pull request #53 from Unity-Technologies/switch-time-fix
Fix GET_TIME, MS_TIME_DIFF & NS_TIME_DIFF macros for Switch.
-rw-r--r-- | include/private/gc_priv.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/private/gc_priv.h b/include/private/gc_priv.h index 6acaabb4..2bd85e3d 100644 --- a/include/private/gc_priv.h +++ b/include/private/gc_priv.h @@ -463,7 +463,21 @@ EXTERN_C_END # define GET_TIME(x) (void)(x = n3ds_get_system_tick()) # define MS_TIME_DIFF(a,b) ((long)n3ds_convert_tick_to_ms((a)-(b))) # define NS_TIME_DIFF(a,b) ((long long)n3ds_convert_tick_to_ms((a)-(b)) * 1000000) -#else /* !BSD_TIME && !NN_PLATFORM_CTR && !MSWIN32 && !MSWINCE */ +#elif defined(NINTENDO_SWITCH) +#include <time.h> +# define CLOCK_TYPE long long +# define GET_TIME(x) \ + do { \ + struct timespec t;\ + int r = clock_gettime(CLOCK_REALTIME, &t);\ + x=-1;\ + if (r != -1) {\ + x = (t.tv_sec * 1000000000) + t.tv_nsec;\ + }\ + } while (0) +# define MS_TIME_DIFF(a,b) ((unsigned long)(((a) - (b)) / 1000000)) +# define NS_TIME_DIFF(a,b) ((a)-(b)) +#else /* !BSD_TIME && !NN_PLATFORM_CTR && !MSWIN32 && !MSWINCE && !NINTENDO_SWITCH */ # include <time.h> # if defined(FREEBSD) && !defined(CLOCKS_PER_SEC) # include <machine/limits.h> |