From 9972b082157ef4dc65c6176bcf527afaff6b951b Mon Sep 17 00:00:00 2001 From: cdozdil Date: Mon, 4 May 2026 16:54:41 +0300 Subject: [PATCH] Remove redundant DLSS file searches from inputs --- OptiScaler/inputs/FSR2_Dx11.cpp | 29 ------------------- OptiScaler/inputs/FSR2_Dx12.cpp | 29 ------------------- OptiScaler/inputs/FSR2_Vk.cpp | 29 ------------------- OptiScaler/inputs/FSR3_Dx12.cpp | 29 ------------------- OptiScaler/inputs/FfxApiExe_Dx12.cpp | 30 -------------------- OptiScaler/inputs/FfxApi_Dx12.cpp | 29 ------------------- OptiScaler/inputs/FfxApi_Vk.cpp | 29 ------------------- OptiScaler/inputs/XeSS_Dx11.cpp | 42 ++++++++++++++-------------- OptiScaler/inputs/XeSS_Dx12.cpp | 42 ++++++++++++++-------------- OptiScaler/inputs/XeSS_Vulkan.cpp | 29 ------------------- 10 files changed, 42 insertions(+), 275 deletions(-) diff --git a/OptiScaler/inputs/FSR2_Dx11.cpp b/OptiScaler/inputs/FSR2_Dx11.cpp index 222cb631..6dc90ae3 100644 --- a/OptiScaler/inputs/FSR2_Dx11.cpp +++ b/OptiScaler/inputs/FSR2_Dx11.cpp @@ -217,36 +217,7 @@ static FfxErrorCode ffxFsr2ContextCreate_Dx11(FfxFsr2Context* context, FfxFsr2Co if (!state.NvngxDx11Inited) { NVSDK_NGX_FeatureCommonInfo fcInfo {}; - auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - - std::vector pathStorage; - - pathStorage.push_back(exePath.wstring()); - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } - - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_D3D11_Init_with_ProjectID( OPTI_GUID, state.NVNGX_Engine, OPTI_VERSION, exePath.c_str(), _d3d11Device, &fcInfo, diff --git a/OptiScaler/inputs/FSR2_Dx12.cpp b/OptiScaler/inputs/FSR2_Dx12.cpp index d643cdd5..2b291ac8 100644 --- a/OptiScaler/inputs/FSR2_Dx12.cpp +++ b/OptiScaler/inputs/FSR2_Dx12.cpp @@ -414,36 +414,7 @@ static Fsr212::FfxErrorCode ffxFsr2ContextCreate_Dx12(Fsr212::FfxFsr2Context* co if (!state.NvngxDx12Inited) { NVSDK_NGX_FeatureCommonInfo fcInfo {}; - auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - - std::vector pathStorage; - - pathStorage.push_back(exePath.wstring()); - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } - - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_D3D12_Init_with_ProjectID( OPTI_GUID, state.NVNGX_Engine, OPTI_VERSION, exePath.c_str(), _d3d12Device, &fcInfo, diff --git a/OptiScaler/inputs/FSR2_Vk.cpp b/OptiScaler/inputs/FSR2_Vk.cpp index 8171d09c..b511cf37 100644 --- a/OptiScaler/inputs/FSR2_Vk.cpp +++ b/OptiScaler/inputs/FSR2_Vk.cpp @@ -339,36 +339,7 @@ static FfxErrorCode ffxFsr2ContextCreate_Vk(FfxFsr2Context* context, FfxFsr2Cont if (!state.NvngxVkInited) { NVSDK_NGX_FeatureCommonInfo fcInfo {}; - auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - - std::vector pathStorage; - - pathStorage.push_back(exePath.wstring()); - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } - - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_VULKAN_Init_ProjectID_Ext( OPTI_GUID, state.NVNGX_Engine, OPTI_VERSION, exePath.c_str(), State::Instance().VulkanInstance, diff --git a/OptiScaler/inputs/FSR3_Dx12.cpp b/OptiScaler/inputs/FSR3_Dx12.cpp index 1cf214b5..2b7f9535 100644 --- a/OptiScaler/inputs/FSR3_Dx12.cpp +++ b/OptiScaler/inputs/FSR3_Dx12.cpp @@ -264,36 +264,7 @@ static Fsr3::FfxErrorCode ffxFsr3ContextCreate_Dx12(Fsr3::FfxFsr3UpscalerContext if (!state.NvngxDx12Inited) { NVSDK_NGX_FeatureCommonInfo fcInfo {}; - auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - - std::vector pathStorage; - - pathStorage.push_back(exePath.wstring()); - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } - - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_D3D12_Init_with_ProjectID( OPTI_GUID, state.NVNGX_Engine, OPTI_VERSION, exePath.c_str(), _d3d12Device, &fcInfo, diff --git a/OptiScaler/inputs/FfxApiExe_Dx12.cpp b/OptiScaler/inputs/FfxApiExe_Dx12.cpp index 7c700e67..0450da30 100644 --- a/OptiScaler/inputs/FfxApiExe_Dx12.cpp +++ b/OptiScaler/inputs/FfxApiExe_Dx12.cpp @@ -203,37 +203,7 @@ static ffxReturnCode_t ffxCreateContext_Dx12(ffxContext* context, ffxCreateConte if (!State::Instance().NvngxDx12Inited) { NVSDK_NGX_FeatureCommonInfo fcInfo {}; - auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - - std::vector pathStorage; - - pathStorage.push_back(exePath.wstring()); - - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } - - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_D3D12_Init_with_ProjectID( OPTI_GUID, State::Instance().NVNGX_Engine, OPTI_VERSION, exePath.c_str(), _d3d12Device, &fcInfo, diff --git a/OptiScaler/inputs/FfxApi_Dx12.cpp b/OptiScaler/inputs/FfxApi_Dx12.cpp index 9759efb6..f278075a 100644 --- a/OptiScaler/inputs/FfxApi_Dx12.cpp +++ b/OptiScaler/inputs/FfxApi_Dx12.cpp @@ -258,36 +258,7 @@ ffxReturnCode_t ffxCreateContext_Dx12(ffxContext* context, ffxCreateContextDescH if (!state.NvngxDx12Inited) { NVSDK_NGX_FeatureCommonInfo fcInfo {}; - auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - - std::vector pathStorage; - - pathStorage.push_back(exePath.wstring()); - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } - - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_D3D12_Init_with_ProjectID( OPTI_GUID, state.NVNGX_Engine, OPTI_VERSION, exePath.c_str(), _d3d12Device, &fcInfo, diff --git a/OptiScaler/inputs/FfxApi_Vk.cpp b/OptiScaler/inputs/FfxApi_Vk.cpp index 8674e408..61cbab16 100644 --- a/OptiScaler/inputs/FfxApi_Vk.cpp +++ b/OptiScaler/inputs/FfxApi_Vk.cpp @@ -398,36 +398,7 @@ ffxReturnCode_t ffxCreateContext_Vk(ffxContext* context, ffxCreateContextDescHea if (!State::Instance().NvngxVkInited) { NVSDK_NGX_FeatureCommonInfo fcInfo {}; - auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - - std::vector pathStorage; - - pathStorage.push_back(exePath.wstring()); - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } - - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_VULKAN_Init_ProjectID_Ext( OPTI_GUID, State::Instance().NVNGX_Engine, OPTI_VERSION, exePath.c_str(), State::Instance().VulkanInstance, diff --git a/OptiScaler/inputs/XeSS_Dx11.cpp b/OptiScaler/inputs/XeSS_Dx11.cpp index d1b73671..5ff5e063 100644 --- a/OptiScaler/inputs/XeSS_Dx11.cpp +++ b/OptiScaler/inputs/XeSS_Dx11.cpp @@ -105,34 +105,34 @@ xess_result_t hk_xessD3D11CreateContext(ID3D11Device* device, xess_context_handl NVSDK_NGX_FeatureCommonInfo fcInfo {}; auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); + // auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); + // auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); + // auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - std::vector pathStorage; + // std::vector pathStorage; - pathStorage.push_back(exePath.wstring()); - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); + // pathStorage.push_back(exePath.wstring()); + // if (nvngxDlssPath.has_value()) + // pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); + // if (nvngxDlssDPath.has_value()) + // pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); + // if (nvngxDlssGPath.has_value()) + // pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); + // if (Config::Instance()->DLSSFeaturePath.has_value()) + // pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } + //// Build pointer array + // wchar_t const** paths = new const wchar_t*[pathStorage.size()]; + // for (size_t i = 0; i < pathStorage.size(); ++i) + //{ + // paths[i] = pathStorage[i].c_str(); + // } - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); + // fcInfo.PathListInfo.Path = paths; + // fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_D3D11_Init_with_ProjectID( OPTI_GUID, NVSDK_NGX_ENGINE_TYPE_CUSTOM, OPTI_VERSION, exePath.c_str(), device, &fcInfo, diff --git a/OptiScaler/inputs/XeSS_Dx12.cpp b/OptiScaler/inputs/XeSS_Dx12.cpp index 661993b9..eea21597 100644 --- a/OptiScaler/inputs/XeSS_Dx12.cpp +++ b/OptiScaler/inputs/XeSS_Dx12.cpp @@ -106,34 +106,34 @@ xess_result_t hk_xessD3D12CreateContext(ID3D12Device* pDevice, xess_context_hand NVSDK_NGX_FeatureCommonInfo fcInfo {}; auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); + // auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); + // auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); + // auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - std::vector pathStorage; + // std::vector pathStorage; - pathStorage.push_back(exePath.wstring()); - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); + // pathStorage.push_back(exePath.wstring()); + // if (nvngxDlssPath.has_value()) + // pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); + // if (nvngxDlssDPath.has_value()) + // pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); + // if (nvngxDlssGPath.has_value()) + // pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); + // if (Config::Instance()->DLSSFeaturePath.has_value()) + // pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } + //// Build pointer array + // wchar_t const** paths = new const wchar_t*[pathStorage.size()]; + // for (size_t i = 0; i < pathStorage.size(); ++i) + //{ + // paths[i] = pathStorage[i].c_str(); + // } - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); + // fcInfo.PathListInfo.Path = paths; + // fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_D3D12_Init_with_ProjectID( OPTI_GUID, NVSDK_NGX_ENGINE_TYPE_CUSTOM, OPTI_VERSION, exePath.c_str(), pDevice, &fcInfo, diff --git a/OptiScaler/inputs/XeSS_Vulkan.cpp b/OptiScaler/inputs/XeSS_Vulkan.cpp index 8de05173..3286439f 100644 --- a/OptiScaler/inputs/XeSS_Vulkan.cpp +++ b/OptiScaler/inputs/XeSS_Vulkan.cpp @@ -132,36 +132,7 @@ xess_result_t hk_xessVKCreateContext(VkInstance instance, VkPhysicalDevice physi if (!State::Instance().NvngxVkInited) { NVSDK_NGX_FeatureCommonInfo fcInfo {}; - auto exePath = Util::ExePath().remove_filename(); - auto nvngxDlssPath = Util::FindFilePath(exePath, "nvngx_dlss.dll"); - auto nvngxDlssDPath = Util::FindFilePath(exePath, "nvngx_dlssd.dll"); - auto nvngxDlssGPath = Util::FindFilePath(exePath, "nvngx_dlssg.dll"); - - std::vector pathStorage; - - pathStorage.push_back(exePath.wstring()); - if (nvngxDlssPath.has_value()) - pathStorage.push_back(nvngxDlssPath.value().parent_path().wstring()); - - if (nvngxDlssDPath.has_value()) - pathStorage.push_back(nvngxDlssDPath.value().parent_path().wstring()); - - if (nvngxDlssGPath.has_value()) - pathStorage.push_back(nvngxDlssGPath.value().parent_path().wstring()); - - if (Config::Instance()->DLSSFeaturePath.has_value()) - pathStorage.push_back(Config::Instance()->DLSSFeaturePath.value()); - - // Build pointer array - wchar_t const** paths = new const wchar_t*[pathStorage.size()]; - for (size_t i = 0; i < pathStorage.size(); ++i) - { - paths[i] = pathStorage[i].c_str(); - } - - fcInfo.PathListInfo.Path = paths; - fcInfo.PathListInfo.Length = (int) pathStorage.size(); auto nvResult = NVSDK_NGX_VULKAN_Init_ProjectID_Ext( OPTI_GUID, NVSDK_NGX_ENGINE_TYPE_CUSTOM, OPTI_VERSION, exePath.c_str(), _instance, _physicalDevice, _device,