Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Unity-Technologies/bdwgc.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjonas echterhoff <jonas@unity3d.com>2020-03-23 15:09:24 +0300
committerGitHub <noreply@github.com>2020-03-23 15:09:24 +0300
commit49e0fa85e4b5ba0bb4b37e14c64e19ca20bd3789 (patch)
treefaacc1b1fe32e357260e667a944403700d31f9a5
parent78e14e571951fdc228cd0d40e4c0c439004d6eed (diff)
parent7cae2c26e3c7bb7be5b865d85fa9512450bc6cb5 (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.h16
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>