From 1c2edabbcba5acb9c1228af6d635751b6a9c7d66 Mon Sep 17 00:00:00 2001 From: Liam Middlebrook Date: Wed, 3 Mar 2021 00:54:35 -0800 Subject: [PATCH] [dxvk] Disable NVIDIA HVV bug workaround on fixed drivers Reviewed-by: Arthur Huillet --- src/dxvk/dxvk_memory.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/dxvk/dxvk_memory.cpp b/src/dxvk/dxvk_memory.cpp index c7a9775d..fd7e7a44 100644 --- a/src/dxvk/dxvk_memory.cpp +++ b/src/dxvk/dxvk_memory.cpp @@ -180,7 +180,16 @@ namespace dxvk { /* Work around an issue on Nvidia drivers where using the entire * device_local | host_visible heap can cause crashes, presumably * due to subsequent internal driver allocations failing */ - bool nvidiaBug3114283Active = true; + bool nvidiaBug3114283Active = false; + + // Fix is available in mainline drivers starting with the 465 driver series. + if (device->adapter()->matchesDriver(DxvkGpuVendor::Nvidia, + VK_DRIVER_ID_NVIDIA_PROPRIETARY_KHR, + 0, + VK_MAKE_VERSION(465, 0, 0))) { + nvidiaBug3114283Active = true; + } + applyTristate(nvidiaBug3114283Active, device->config().halveNvidiaHVVHeap); if ((m_device->properties().core.properties.vendorID == uint16_t(DxvkGpuVendor::Nvidia))