From 406e8a3397e9c501c7775b971800f8edad67df84 Mon Sep 17 00:00:00 2001 From: Niko Date: Tue, 30 Aug 2022 09:51:56 -0400 Subject: [PATCH] disable MT if extension is not found --- .../HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp index 3e1065cc..4cd5cf48 100644 --- a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp +++ b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp @@ -200,16 +200,23 @@ void VulkanRenderer::DetermineVendor() { forceLog_printf("Driver version: %s", driverProperties.driverInfo); - // needed for multithreaded pipelines on nvidia (requires 515 or higher) - m_featureControl.disableMultithreadedCompilation = (StringHelpers::ToInt(std::string(driverProperties.driverInfo)) < 515); + if(m_vendor == GfxVendor::Nvidia) + { + // multithreaded pipelines on nvidia (requires 515 or higher) + m_featureControl.disableMultithreadedCompilation = (StringHelpers::ToInt(std::string(driverProperties.driverInfo)) < 515); + } } else { forceLog_printf("Driver version (as stored in device info): %08X", properties.properties.driverVersion); - - // disableMultithreadedCompilation defaults to false, not like there's any other driver - // on the planet with broken multithreading except Nvidia, which will always have a driver version string + + if(m_vendor == GfxVendor::Nvidia) + { + // if the driver does not support the extension, + // it is assumed the driver is under version 515 + m_featureControl.disableMultithreadedCompilation = 1; + } } }