[PATCH v4] winevulkan: Implement VK_EXT_calibrated_timestamps

Alexandre Julliard julliard at winehq.org
Tue Jul 21 13:24:07 CDT 2020


Joshua Ashton <joshua at froggi.es> writes:

> @@ -1265,6 +1267,150 @@ VkResult WINAPI wine_vkGetPhysicalDeviceImageFormatProperties2KHR(VkPhysicalDevi
>      return res;
>  }
>  
> +/* From ntdll/unix/sync.c */
> +#define NANOSECONDS_IN_A_SECOND 1000000000
> +#define TICKSPERSEC             10000000
> +
> +static inline VkTimeDomainEXT get_performance_counter_time_domain(void)
> +{
> +#if !defined(__APPLE__) && defined(HAVE_CLOCK_GETTIME)
> +# ifdef CLOCK_MONOTONIC_RAW
> +    return VK_TIME_DOMAIN_CLOCK_MONOTONIC_RAW_EXT;
> +# else
> +    return VK_TIME_DOMAIN_CLOCK_MONOTONIC_EXT;
> +# endif
> +#else
> +    FIXME("No mapping for VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT on this platform.");
> +    return VK_TIME_DOMAIN_QUERY_PERFORMANCE_COUNTER_EXT;
> +#endif
> +}

Do we really need to second-guess what QueryPerformanceCounter() is
using internally?  If so, use of CLOCK_MONOTONIC_RAW is detected at
run-time so #ifdefs are not sufficient.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list