mirror of
https://github.com/optiscaler/OptiScaler.git
synced 2026-05-04 00:31:35 +00:00
Added DontUseFakenvapiForXeLLOnNvidia
This commit is contained in:
@@ -905,6 +905,10 @@ DisableFlipMetering=auto
|
||||
; Default (auto) is local folder
|
||||
NvapiDllPath=auto
|
||||
|
||||
; Do not use fakenvapi for converting Reflex calls to XeLL calls on Nvidia GPUs
|
||||
; Default (auto) is false
|
||||
DontUseFakenvapiForXeLLOnNvidia=auto
|
||||
|
||||
|
||||
|
||||
; -------------------------------------------------------
|
||||
|
||||
@@ -576,6 +576,7 @@ bool Config::Reload(std::filesystem::path iniPath)
|
||||
// NvApi
|
||||
{
|
||||
OverrideNvapiDll.set_from_config(readBool("NvApi", "OverrideNvapiDll"));
|
||||
DontUseFakenvapiForXeLLOnNvidia.set_from_config(readBool("NvApi", "DontUseFakenvapiForXeLLOnNvidia"));
|
||||
NvapiDllPath.set_from_config(readWString("NvApi", "NvapiDllPath", true));
|
||||
DisableFlipMetering.set_from_config(readBool("NvApi", "DisableFlipMetering"));
|
||||
}
|
||||
@@ -1224,6 +1225,8 @@ bool Config::SaveIni()
|
||||
{
|
||||
ini.SetValue("NvApi", "OverrideNvapiDll",
|
||||
GetBoolValue(Instance()->OverrideNvapiDll.value_for_config()).c_str());
|
||||
ini.SetValue("NvApi", "DontUseFakenvapiForXeLLOnNvidia",
|
||||
GetBoolValue(Instance()->DontUseFakenvapiForXeLLOnNvidia.value_for_config()).c_str());
|
||||
ini.SetValue("NvApi", "NvapiDllPath",
|
||||
wstring_to_string(Instance()->NvapiDllPath.value_for_config_or(L"auto")).c_str());
|
||||
ini.SetValue("NvApi", "DisableFlipMetering",
|
||||
|
||||
@@ -398,6 +398,7 @@ class Config
|
||||
|
||||
// NVAPI Override
|
||||
CustomOptional<bool> OverrideNvapiDll { false };
|
||||
CustomOptional<bool> DontUseFakenvapiForXeLLOnNvidia { false };
|
||||
CustomOptional<std::wstring, NoDefault> NvapiDllPath;
|
||||
CustomOptional<bool> DisableFlipMetering { false };
|
||||
|
||||
|
||||
@@ -91,7 +91,7 @@ void fakenvapi::reportFGPresent(IDXGISwapChain* pSwapChain, bool fg_state, bool
|
||||
bool fakenvapi::updateModeAndContext()
|
||||
{
|
||||
if (!isUsingFakenvapi() && State::Instance().activeFgOutput == FGOutput::XeFG &&
|
||||
(!Config::Instance()->OverrideNvapiDll.has_value() || Config::Instance()->OverrideNvapiDll.value()))
|
||||
!Config::Instance()->DontUseFakenvapiForXeLLOnNvidia.value_or_default())
|
||||
{
|
||||
auto loaded = fakenvapi::loadForNvidia();
|
||||
}
|
||||
@@ -133,7 +133,7 @@ bool fakenvapi::updateModeAndContext()
|
||||
bool fakenvapi::setModeAndContext(void* context, Mode mode)
|
||||
{
|
||||
if (!isUsingFakenvapi() && State::Instance().activeFgOutput == FGOutput::XeFG &&
|
||||
(!Config::Instance()->OverrideNvapiDll.has_value() || Config::Instance()->OverrideNvapiDll.value()))
|
||||
!Config::Instance()->DontUseFakenvapiForXeLLOnNvidia.value_or_default())
|
||||
{
|
||||
auto loaded = fakenvapi::loadForNvidia();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user