check for dlss, if available set default upscaler

This commit is contained in:
cdozdil
2024-06-19 22:43:17 +03:00
parent 1c4b2254ba
commit c98d60cb5d
+30 -4
View File
@@ -837,11 +837,37 @@ BOOL APIENTRY DllMain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserv
spdlog::info("{0} loaded", VER_PRODUCT_NAME);
CheckWorkingMode();
NVNGXProxy::InitNVNGX();
if (NVNGXProxy::NVNGXModule() == nullptr)
Config::Instance()->DLSSEnabled = false;
// Check if real DLSS available
if (Config::Instance()->DLSSEnabled.value_or(true))
{
NVNGXProxy::InitNVNGX();
if (NVNGXProxy::NVNGXModule() == nullptr)
{
Config::Instance()->DLSSEnabled = false;
if (Config::Instance()->Dx11Upscaler.has_value() && Config::Instance()->Dx11Upscaler.value() == "dlss")
Config::Instance()->Dx11Upscaler.reset();
if (Config::Instance()->Dx12Upscaler.has_value() && Config::Instance()->Dx12Upscaler.value() == "dlss")
Config::Instance()->Dx12Upscaler.reset();
if (Config::Instance()->VulkanUpscaler.has_value() && Config::Instance()->VulkanUpscaler.value() == "dlss")
Config::Instance()->VulkanUpscaler.reset();
}
else
{
if (!Config::Instance()->Dx11Upscaler.has_value())
Config::Instance()->Dx11Upscaler = "dlss";
if (!Config::Instance()->Dx12Upscaler.has_value())
Config::Instance()->Dx12Upscaler = "dlss";
if (!Config::Instance()->VulkanUpscaler.has_value())
Config::Instance()->VulkanUpscaler = "dlss";
}
}
break;