diff --git a/CyberXeSS/backends/fsr2/FSR2Feature_Dx11.cpp b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11.cpp index 66b9c9ed..6eead989 100644 --- a/CyberXeSS/backends/fsr2/FSR2Feature_Dx11.cpp +++ b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11.cpp @@ -280,8 +280,8 @@ bool FSR2FeatureDx11::Evaluate(ID3D11DeviceContext* InContext, const NVSDK_NGX_P { D3D11_TEXTURE2D_DESC desc; ((ID3D11Texture2D*)paramVelocity)->GetDesc(&desc); - bool lowResMV = desc.Width == params.renderSize.width; - + bool lowResMV = desc.Width < DisplayWidth(); + if (Config::Instance()->DisplayResolution.value_or(false) && lowResMV) { spdlog::warn("FSR2FeatureDx11::Evaluate MotionVectors size and feature init config not matching!!"); diff --git a/CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.cpp b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.cpp index 61f5c56d..288e8351 100644 --- a/CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.cpp +++ b/CyberXeSS/backends/fsr2/FSR2Feature_Dx11On12.cpp @@ -133,7 +133,7 @@ bool FSR2FeatureDx11on12::Evaluate(ID3D11DeviceContext* InDeviceContext, const N if (_hasMV && !Config::Instance()->DisplayResolution.has_value()) { auto desc = dx11Mv.Dx12Resource->GetDesc(); - bool lowResMV = desc.Width == params.renderSize.width; + bool lowResMV = desc.Width < DisplayWidth(); if (Config::Instance()->DisplayResolution.value_or(false) && lowResMV) { diff --git a/CyberXeSS/backends/fsr2/FSR2Feature_Dx12.cpp b/CyberXeSS/backends/fsr2/FSR2Feature_Dx12.cpp index 5901c7bc..00483267 100644 --- a/CyberXeSS/backends/fsr2/FSR2Feature_Dx12.cpp +++ b/CyberXeSS/backends/fsr2/FSR2Feature_Dx12.cpp @@ -107,7 +107,7 @@ bool FSR2FeatureDx12::Evaluate(ID3D12GraphicsCommandList* InCommandList, const N if (!Config::Instance()->DisplayResolution.has_value()) { auto desc = paramVelocity->GetDesc(); - bool lowResMV = desc.Width == params.renderSize.width; + bool lowResMV = desc.Width < DisplayWidth(); if (Config::Instance()->DisplayResolution.value_or(false) && lowResMV) { diff --git a/CyberXeSS/backends/fsr2_212/FSR2Feature_Dx11On12_212.cpp b/CyberXeSS/backends/fsr2_212/FSR2Feature_Dx11On12_212.cpp index 48cc3570..0866031a 100644 --- a/CyberXeSS/backends/fsr2_212/FSR2Feature_Dx11On12_212.cpp +++ b/CyberXeSS/backends/fsr2_212/FSR2Feature_Dx11On12_212.cpp @@ -131,7 +131,7 @@ bool FSR2FeatureDx11on12_212::Evaluate(ID3D11DeviceContext* InDeviceContext, con if (_hasMV && !Config::Instance()->DisplayResolution.has_value()) { auto desc = dx11Mv.Dx12Resource->GetDesc(); - bool lowResMV = desc.Width == params.renderSize.width; + bool lowResMV = desc.Width < DisplayWidth(); if (Config::Instance()->DisplayResolution.value_or(false) && lowResMV) { diff --git a/CyberXeSS/backends/fsr2_212/FSR2Feature_Dx12_212.cpp b/CyberXeSS/backends/fsr2_212/FSR2Feature_Dx12_212.cpp index c5593bf6..5f69e0ed 100644 --- a/CyberXeSS/backends/fsr2_212/FSR2Feature_Dx12_212.cpp +++ b/CyberXeSS/backends/fsr2_212/FSR2Feature_Dx12_212.cpp @@ -101,7 +101,7 @@ bool FSR2FeatureDx12_212::Evaluate(ID3D12GraphicsCommandList* InCommandList, con if (!Config::Instance()->DisplayResolution.has_value()) { auto desc = paramVelocity->GetDesc(); - bool lowResMV = desc.Width == params.renderSize.width; + bool lowResMV = desc.Width < DisplayWidth(); if (Config::Instance()->DisplayResolution.value_or(false) && lowResMV) { diff --git a/CyberXeSS/backends/xess/XeSSFeature_Dx11.cpp b/CyberXeSS/backends/xess/XeSSFeature_Dx11.cpp index a79dd27e..db13bf76 100644 --- a/CyberXeSS/backends/xess/XeSSFeature_Dx11.cpp +++ b/CyberXeSS/backends/xess/XeSSFeature_Dx11.cpp @@ -198,7 +198,7 @@ bool XeSSFeatureDx11::Evaluate(ID3D11DeviceContext* InDeviceContext, const NVSDK if (_hasMV && !Config::Instance()->DisplayResolution.has_value()) { auto desc = dx11Mv.Dx12Resource->GetDesc(); - bool lowResMV = desc.Width == params.inputWidth; + bool lowResMV = desc.Width < DisplayWidth(); if (Config::Instance()->DisplayResolution.value_or(false) && lowResMV) { diff --git a/CyberXeSS/backends/xess/XeSSFeature_Dx12.cpp b/CyberXeSS/backends/xess/XeSSFeature_Dx12.cpp index cc5d0a11..a6babbbe 100644 --- a/CyberXeSS/backends/xess/XeSSFeature_Dx12.cpp +++ b/CyberXeSS/backends/xess/XeSSFeature_Dx12.cpp @@ -146,7 +146,7 @@ bool XeSSFeatureDx12::Evaluate(ID3D12GraphicsCommandList* InCommandList, const N if (_hasMV && !Config::Instance()->DisplayResolution.has_value()) { auto desc = params.pVelocityTexture->GetDesc(); - bool lowResMV = desc.Width == params.inputWidth; + bool lowResMV = desc.Width < DisplayWidth(); if (Config::Instance()->DisplayResolution.value_or(false) && lowResMV) {