diff --git a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanPipelineStableCache.cpp b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanPipelineStableCache.cpp index 739341e6..024f85bd 100644 --- a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanPipelineStableCache.cpp +++ b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanPipelineStableCache.cpp @@ -46,7 +46,7 @@ uint32 VulkanPipelineStableCache::BeginLoading(uint64 cacheTitleId) m_numCompilationThreads = std::clamp(cpuCoreCount, 1u, 8u); if (g_renderer->GetVendor() == GfxVendor::Nvidia) { - if (VulkanRenderer::GetInstance()->GetDriverVersion() < 515.0f) + if(VulkanRenderer::GetInstance()->GetDriverVersion() < 515) { forceLog_printf("Disable multi-threaded pipeline loading due to an issue with Nvidia drivers"); m_numCompilationThreads = 1; diff --git a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp index 2164772e..98bec9a3 100644 --- a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp +++ b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp @@ -12,6 +12,7 @@ #include "Cafe/CafeSystem.h" #include "util/helpers/helpers.h" +#include "util/helpers/StringHelpers.h" #include "config/ActiveSettings.h" #include "config/CemuConfig.h" @@ -199,8 +200,8 @@ void VulkanRenderer::DetermineVendor() { forceLog_printf("Driver version: %s", driverProperties.driverInfo); - // needed for multithreaded pipelines on nvidia (requires 515.0 or higher) - sscanf(driverProperties.driverInfo, "%f", &driverVersion); + // needed for multithreaded pipelines on nvidia (requires 515 or higher) + driverVersion = StringHelpers::ToInt(std::string(driverProperties.driverInfo)); } else @@ -208,7 +209,7 @@ void VulkanRenderer::DetermineVendor() forceLog_printf("Driver version (as stored in device info): %08X", properties.properties.driverVersion); // disables multithreaded pipeline loading on nvidia (requires 515.0 or higher) - driverVersion = 0.0f; + driverVersion = -1; } } diff --git a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.h b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.h index 1c310386..18480fa3 100644 --- a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.h +++ b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.h @@ -1012,7 +1012,7 @@ private: public: - float GetDriverVersion() { return driverVersion; } + int GetDriverVersion() { return driverVersion; } bool useTFViaSSBO() { return m_featureControl.mode.useTFEmulationViaSSBO; } bool IsDebugUtilsEnabled() const { @@ -1021,7 +1021,7 @@ public: private: - float driverVersion; + int driverVersion; // debug void debug_genericBarrier();