From c8f234e77c95a0fa38c2d30fa68f07bed677a09f Mon Sep 17 00:00:00 2001 From: cdozdil Date: Wed, 15 Oct 2025 11:09:59 +0300 Subject: [PATCH] Added exposureScale check for <= 0 values --- OptiScaler/upscalers/xess/XeSSFeature_Dx11.cpp | 3 ++- OptiScaler/upscalers/xess/XeSSFeature_Dx11on12.cpp | 3 ++- OptiScaler/upscalers/xess/XeSSFeature_Dx12.cpp | 3 ++- OptiScaler/upscalers/xess/XeSSFeature_Vk.cpp | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/OptiScaler/upscalers/xess/XeSSFeature_Dx11.cpp b/OptiScaler/upscalers/xess/XeSSFeature_Dx11.cpp index 5489b803..99c6f9b6 100644 --- a/OptiScaler/upscalers/xess/XeSSFeature_Dx11.cpp +++ b/OptiScaler/upscalers/xess/XeSSFeature_Dx11.cpp @@ -315,7 +315,8 @@ bool XeSSFeature_Dx11::Evaluate(ID3D11DeviceContext* DeviceContext, NVSDK_NGX_Pa InParameters->Get(NVSDK_NGX_Parameter_Jitter_Offset_X, ¶ms.jitterOffsetX); InParameters->Get(NVSDK_NGX_Parameter_Jitter_Offset_Y, ¶ms.jitterOffsetY); - if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Exposure_Scale, ¶ms.exposureScale) != NVSDK_NGX_Result_Success) + if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Exposure_Scale, ¶ms.exposureScale) != NVSDK_NGX_Result_Success || + params.exposureScale <= 0.0f) params.exposureScale = 1.0f; InParameters->Get(NVSDK_NGX_Parameter_Reset, ¶ms.resetHistory); diff --git a/OptiScaler/upscalers/xess/XeSSFeature_Dx11on12.cpp b/OptiScaler/upscalers/xess/XeSSFeature_Dx11on12.cpp index 493e9cb0..302eb5d9 100644 --- a/OptiScaler/upscalers/xess/XeSSFeature_Dx11on12.cpp +++ b/OptiScaler/upscalers/xess/XeSSFeature_Dx11on12.cpp @@ -170,7 +170,8 @@ bool XeSSFeatureDx11on12::Evaluate(ID3D11DeviceContext* InDeviceContext, NVSDK_N InParameters->Get(NVSDK_NGX_Parameter_Jitter_Offset_X, ¶ms.jitterOffsetX); InParameters->Get(NVSDK_NGX_Parameter_Jitter_Offset_Y, ¶ms.jitterOffsetY); - if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Exposure_Scale, ¶ms.exposureScale) != NVSDK_NGX_Result_Success) + if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Exposure_Scale, ¶ms.exposureScale) != NVSDK_NGX_Result_Success || + params.exposureScale <= 0.0f) params.exposureScale = 1.0f; InParameters->Get(NVSDK_NGX_Parameter_Reset, ¶ms.resetHistory); diff --git a/OptiScaler/upscalers/xess/XeSSFeature_Dx12.cpp b/OptiScaler/upscalers/xess/XeSSFeature_Dx12.cpp index a916bf65..319cbf40 100644 --- a/OptiScaler/upscalers/xess/XeSSFeature_Dx12.cpp +++ b/OptiScaler/upscalers/xess/XeSSFeature_Dx12.cpp @@ -72,7 +72,8 @@ bool XeSSFeatureDx12::Evaluate(ID3D12GraphicsCommandList* InCommandList, NVSDK_N InParameters->Get(NVSDK_NGX_Parameter_Jitter_Offset_X, ¶ms.jitterOffsetX); InParameters->Get(NVSDK_NGX_Parameter_Jitter_Offset_Y, ¶ms.jitterOffsetY); - if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Exposure_Scale, ¶ms.exposureScale) != NVSDK_NGX_Result_Success) + if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Exposure_Scale, ¶ms.exposureScale) != NVSDK_NGX_Result_Success || + params.exposureScale <= 0.0f) params.exposureScale = 1.0f; InParameters->Get(NVSDK_NGX_Parameter_Reset, ¶ms.resetHistory); diff --git a/OptiScaler/upscalers/xess/XeSSFeature_Vk.cpp b/OptiScaler/upscalers/xess/XeSSFeature_Vk.cpp index 8045e168..72f4a517 100644 --- a/OptiScaler/upscalers/xess/XeSSFeature_Vk.cpp +++ b/OptiScaler/upscalers/xess/XeSSFeature_Vk.cpp @@ -422,7 +422,8 @@ bool XeSSFeature_Vk::Evaluate(VkCommandBuffer InCmdBuffer, NVSDK_NGX_Parameter* InParameters->Get(NVSDK_NGX_Parameter_Jitter_Offset_X, ¶ms.jitterOffsetX); InParameters->Get(NVSDK_NGX_Parameter_Jitter_Offset_Y, ¶ms.jitterOffsetY); - if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Exposure_Scale, ¶ms.exposureScale) != NVSDK_NGX_Result_Success) + if (InParameters->Get(NVSDK_NGX_Parameter_DLSS_Exposure_Scale, ¶ms.exposureScale) != NVSDK_NGX_Result_Success || + params.exposureScale <= 0.0f) params.exposureScale = 1.0f; InParameters->Get(NVSDK_NGX_Parameter_Reset, ¶ms.resetHistory);