https://bugs.winehq.org/show_bug.cgi?id=46245
Bug ID: 46245 Summary: Ingame vsync setting does not work Product: vkd3d Version: 1.1 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: enhancement Priority: P2 Component: vkd3d Assignee: wine-bugs@winehq.org Reporter: cybermax@dexter.no Distribution: ---
Disabling vsync ingame (tested with World of Warcraft) does not work. Vsync is always on.
Can force this to "always off" with:
diff --git a/dlls/dxgi/swapchain.c b/dlls/dxgi/swapchain.c index 4dfa068..3f82cfa 100644 --- a/dlls/dxgi/swapchain.c +++ b/dlls/dxgi/swapchain.c @@ -1491,7 +1491,7 @@ vk_swapchain_desc.pQueueFamilyIndices = NULL; vk_swapchain_desc.preTransform = surface_caps.currentTransform; vk_swapchain_desc.compositeAlpha = VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR; - vk_swapchain_desc.presentMode = VK_PRESENT_MODE_FIFO_KHR; + vk_swapchain_desc.presentMode = VK_PRESENT_MODE_IMMEDIATE_KHR; vk_swapchain_desc.clipped = VK_TRUE; vk_swapchain_desc.oldSwapchain = swapchain->vk_swapchain; if ((vr = vk_funcs->p_vkCreateSwapchainKHR(vk_device, &vk_swapchain_desc, NULL, &vk_swapchain)) < 0)
But i guess that is just as awful as having it on all the time.
If possible - make some logic to follow the ingame setting? :)