mirror of
https://github.com/optiscaler/OptiScaler.git
synced 2026-08-25 15:46:45 +00:00
Standardize NVSDK Init code between APIs
This commit is contained in:
@@ -144,6 +144,12 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D11_Init_Ext(unsigned long long InApp
|
||||
if (!_skipInit)
|
||||
UpdateInitPaths(&localFeatureInfo);
|
||||
|
||||
State::Instance().NVNGX_ApplicationId = InApplicationId;
|
||||
State::Instance().NVNGX_ApplicationDataPath = std::wstring(InApplicationDataPath);
|
||||
State::Instance().NVNGX_Version = InSDKVersion;
|
||||
State::Instance().NVNGX_FeatureInfo = InFeatureInfo;
|
||||
State::Instance().NVNGX_Version = InSDKVersion;
|
||||
|
||||
if (Config::Instance()->DLSSEnabled.value_or_default() && !_skipInit)
|
||||
{
|
||||
if (Config::Instance()->UseGenericAppIdWithDlss.value_or_default())
|
||||
@@ -164,16 +170,21 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D11_Init_Ext(unsigned long long InApp
|
||||
if (result == NVSDK_NGX_Result_Success)
|
||||
NVNGXProxy::SetDx11Inited(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
LOG_WARN("NVNGXProxy::NVNGXModule or NVNGXProxy::D3D11_Init_Ext is nullptr!");
|
||||
}
|
||||
}
|
||||
|
||||
State::Instance().NVNGX_ApplicationId = InApplicationId;
|
||||
State::Instance().NVNGX_ApplicationDataPath = std::wstring(InApplicationDataPath);
|
||||
State::Instance().NVNGX_Version = InSDKVersion;
|
||||
State::Instance().NVNGX_FeatureInfo = InFeatureInfo;
|
||||
|
||||
if (InFeatureInfo != nullptr && InSDKVersion > 0x0000013)
|
||||
State::Instance().NVNGX_Logger = InFeatureInfo->LoggingInfo;
|
||||
|
||||
if (State::Instance().NvngxDx11Inited)
|
||||
{
|
||||
LOG_WARN("NVNGX already inited");
|
||||
return NVSDK_NGX_Result_Success;
|
||||
}
|
||||
|
||||
LOG_INFO("AppId: {0}", InApplicationId);
|
||||
LOG_INFO("SDK: {0:x}", (int) InSDKVersion);
|
||||
std::wstring string(InApplicationDataPath);
|
||||
@@ -391,6 +402,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D11_GetParameters(NVSDK_NGX_Parameter
|
||||
}
|
||||
|
||||
*OutParameters = GetNGXParameters("OptiDx11");
|
||||
|
||||
LOG_DEBUG("Returning custom Opti parameters");
|
||||
|
||||
return NVSDK_NGX_Result_Success;
|
||||
}
|
||||
|
||||
@@ -419,6 +433,8 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D11_GetCapabilityParameters(NVSDK_NGX
|
||||
|
||||
*OutParameters = GetNGXParameters("OptiDx11");
|
||||
|
||||
LOG_DEBUG("Returning custom Opti parameters");
|
||||
|
||||
return NVSDK_NGX_Result_Success;
|
||||
}
|
||||
|
||||
|
||||
@@ -151,9 +151,6 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D12_Init_Ext(unsigned long long InApp
|
||||
{
|
||||
LOG_FUNC();
|
||||
|
||||
if (Config::Instance()->UseGenericAppIdWithDlss.value_or_default())
|
||||
InApplicationId = app_id_override;
|
||||
|
||||
NVSDK_NGX_FeatureCommonInfo localFeatureInfo = {};
|
||||
std::memcpy(&localFeatureInfo, InFeatureInfo, sizeof(NVSDK_NGX_FeatureCommonInfo));
|
||||
|
||||
@@ -164,18 +161,20 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D12_Init_Ext(unsigned long long InApp
|
||||
State::Instance().NVNGX_ApplicationDataPath = std::wstring(InApplicationDataPath);
|
||||
State::Instance().NVNGX_Version = InSDKVersion;
|
||||
State::Instance().NVNGX_FeatureInfo = &localFeatureInfo;
|
||||
|
||||
if (InFeatureInfo != nullptr && InSDKVersion > 0x0000013)
|
||||
State::Instance().NVNGX_Logger = InFeatureInfo->LoggingInfo;
|
||||
State::Instance().NVNGX_Version = InSDKVersion;
|
||||
|
||||
if (Config::Instance()->DLSSEnabled.value_or_default() && !_skipInit)
|
||||
{
|
||||
if (Config::Instance()->UseGenericAppIdWithDlss.value_or_default())
|
||||
InApplicationId = app_id_override;
|
||||
|
||||
if (NVNGXProxy::NVNGXModule() == nullptr)
|
||||
NVNGXProxy::InitNVNGX();
|
||||
|
||||
if (NVNGXProxy::NVNGXModule() != nullptr && NVNGXProxy::D3D12_Init_Ext() != nullptr)
|
||||
{
|
||||
LOG_INFO("calling NVNGXProxy::D3D12_Init_Ext");
|
||||
|
||||
auto result = NVNGXProxy::D3D12_Init_Ext()(InApplicationId, InApplicationDataPath, InDevice, InSDKVersion,
|
||||
&localFeatureInfo);
|
||||
LOG_INFO("calling NVNGXProxy::D3D12_Init_Ext result: {0:X}", (UINT) result);
|
||||
@@ -189,6 +188,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D12_Init_Ext(unsigned long long InApp
|
||||
}
|
||||
}
|
||||
|
||||
if (InFeatureInfo != nullptr && InSDKVersion > 0x0000013)
|
||||
State::Instance().NVNGX_Logger = InFeatureInfo->LoggingInfo;
|
||||
|
||||
if (State::Instance().NvngxDx12Inited)
|
||||
{
|
||||
LOG_WARN("NVNGX already inited");
|
||||
@@ -459,6 +461,8 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D12_GetParameters(NVSDK_NGX_Parameter
|
||||
|
||||
*OutParameters = GetNGXParameters("OptiDx12");
|
||||
|
||||
LOG_DEBUG("Returning custom Opti parameters");
|
||||
|
||||
return NVSDK_NGX_Result_Success;
|
||||
}
|
||||
|
||||
@@ -486,6 +490,8 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_D3D12_GetCapabilityParameters(NVSDK_NGX
|
||||
|
||||
*OutParameters = GetNGXParameters("OptiDx12");
|
||||
|
||||
LOG_DEBUG("Returning custom Opti parameters");
|
||||
|
||||
return NVSDK_NGX_Result_Success;
|
||||
}
|
||||
|
||||
|
||||
@@ -150,6 +150,12 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_Init_Ext2(
|
||||
if (!_skipInit)
|
||||
UpdateInitPaths(&localFeatureInfo);
|
||||
|
||||
State::Instance().NVNGX_ApplicationId = InApplicationId;
|
||||
State::Instance().NVNGX_ApplicationDataPath = std::wstring(InApplicationDataPath);
|
||||
State::Instance().NVNGX_Version = InSDKVersion;
|
||||
State::Instance().NVNGX_FeatureInfo = &localFeatureInfo;
|
||||
State::Instance().NVNGX_Version = InSDKVersion;
|
||||
|
||||
if (Config::Instance()->DLSSEnabled.value_or_default() && !_skipInit)
|
||||
{
|
||||
if (Config::Instance()->UseGenericAppIdWithDlss.value_or_default())
|
||||
@@ -170,15 +176,21 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_Init_Ext2(
|
||||
}
|
||||
}
|
||||
|
||||
DLSSGMod::InitDLSSGMod_Vulkan();
|
||||
DLSSGMod::VULKAN_Init_Ext2(InApplicationId, InApplicationDataPath, InInstance, InPD, InDevice, InGIPA, InGDPA,
|
||||
InSDKVersion, &localFeatureInfo);
|
||||
if (InFeatureInfo != nullptr && InSDKVersion > 0x0000013)
|
||||
State::Instance().NVNGX_Logger = InFeatureInfo->LoggingInfo;
|
||||
|
||||
State::Instance().NVNGX_ApplicationId = InApplicationId;
|
||||
State::Instance().NVNGX_ApplicationDataPath = std::wstring(InApplicationDataPath);
|
||||
State::Instance().NVNGX_Version = InSDKVersion;
|
||||
State::Instance().NVNGX_FeatureInfo = &localFeatureInfo;
|
||||
State::Instance().NVNGX_Version = InSDKVersion;
|
||||
if (State::Instance().NvngxVkInited)
|
||||
{
|
||||
LOG_WARN("NVNGX already inited");
|
||||
return NVSDK_NGX_Result_Success;
|
||||
}
|
||||
|
||||
if (State::Instance().activeFgInput == FGInput::Nukems)
|
||||
{
|
||||
DLSSGMod::InitDLSSGMod_Vulkan();
|
||||
DLSSGMod::VULKAN_Init_Ext2(InApplicationId, InApplicationDataPath, InInstance, InPD, InDevice, InGIPA, InGDPA,
|
||||
InSDKVersion, &localFeatureInfo);
|
||||
}
|
||||
|
||||
State::Instance().NVNGX_FeatureInfo_Paths.clear();
|
||||
|
||||
@@ -458,6 +470,9 @@ NVSDK_NGX_API NVSDK_NGX_Result NVSDK_NGX_VULKAN_GetParameters(NVSDK_NGX_Paramete
|
||||
}
|
||||
|
||||
*OutParameters = GetNGXParameters("OptiVk");
|
||||
|
||||
LOG_DEBUG("Returning custom Opti parameters");
|
||||
|
||||
return NVSDK_NGX_Result_Success;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user