Added DontUseFakenvapiForXeLLOnNvidia

This commit is contained in:
cdozdil
2026-03-15 22:49:34 +03:00
parent 4f9b4121b9
commit d32b23ec23
4 changed files with 10 additions and 2 deletions
+4
View File
@@ -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
; -------------------------------------------------------
+3
View File
@@ -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",
+1
View File
@@ -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 };
+2 -2
View File
@@ -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();
}