From 8da6ca6772699c3d788cb3d2aaeb353f0d01bafc Mon Sep 17 00:00:00 2001 From: Hans-Kristian Arntzen Date: Wed, 6 Jul 2022 11:35:52 +0200 Subject: [PATCH] common: Add rdtsc helper. Signed-off-by: Hans-Kristian Arntzen --- include/private/vkd3d_common.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/include/private/vkd3d_common.h b/include/private/vkd3d_common.h index 33890c57..1147401a 100644 --- a/include/private/vkd3d_common.h +++ b/include/private/vkd3d_common.h @@ -311,4 +311,19 @@ static inline uint64_t vkd3d_get_current_time_ns(void) #endif } +#ifdef _MSC_VER +#pragma intrinsic(__rdtsc) +#endif + +static inline uint64_t vkd3d_get_current_time_ticks(void) +{ +#ifdef _MSC_VER + return __rdtsc(); +#elif defined(__i386__) || defined(__x86_64__) + return __builtin_ia32_rdtsc(); +#else + return vkd3d_get_current_time_ns(); +#endif +} + #endif /* __VKD3D_COMMON_H */