=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: winemac: Add +fps support for Vulkan.
Alexandre Julliard
julliard at winehq.org
Wed Apr 24 16:33:30 CDT 2019
Module: wine
Branch: master
Commit: f5e00b0a3e621f493430cf111beea5a16feb0159
URL: https://source.winehq.org/git/wine.git/?a=commit;h=f5e00b0a3e621f493430cf111beea5a16feb0159
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Sat Apr 20 16:05:40 2019 +0200
winemac: Add +fps support for Vulkan.
Signed-off-by: Stefan Dösinger <stefan at codeweavers.com>
Signed-off-by: Ken Thomases <ken at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/winemac.drv/vulkan.c | 27 ++++++++++++++++++++++++++-
1 file changed, 26 insertions(+), 1 deletion(-)
diff --git a/dlls/winemac.drv/vulkan.c b/dlls/winemac.drv/vulkan.c
index d49c9a1..ea785c9 100644
--- a/dlls/winemac.drv/vulkan.c
+++ b/dlls/winemac.drv/vulkan.c
@@ -45,6 +45,8 @@ WINE_DEFAULT_DEBUG_CHANNEL(vulkan);
#ifdef SONAME_LIBMOLTENVK
+WINE_DECLARE_DEBUG_CHANNEL(fps);
+
typedef VkFlags VkMacOSSurfaceCreateFlagsMVK;
#define VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK 1000123000
@@ -463,7 +465,30 @@ static VkResult macdrv_vkGetSwapchainImagesKHR(VkDevice device,
static VkResult macdrv_vkQueuePresentKHR(VkQueue queue, const VkPresentInfoKHR *present_info)
{
TRACE("%p, %p\n", queue, present_info);
- return pvkQueuePresentKHR(queue, present_info);
+ VkResult res = pvkQueuePresentKHR(queue, present_info);
+
+ if (TRACE_ON(fps))
+ {
+ static unsigned long frames, frames_total;
+ static long prev_time, start_time;
+ DWORD time;
+
+ time = GetTickCount();
+ frames++;
+ frames_total++;
+ if (time - prev_time > 1500)
+ {
+ TRACE_(fps)("%p @ approx %.2ffps, total %.2ffps\n",
+ queue, 1000.0 * frames / (time - prev_time),
+ 1000.0 * frames_total / (time - start_time));
+ prev_time = time;
+ frames = 0;
+ if (!start_time)
+ start_time = time;
+ }
+ }
+
+ return res;
}
static const struct vulkan_funcs vulkan_funcs =
More information about the wine-cvs
mailing list