diff --git a/OptiScaler/upscalers/FeatureProvider_Dx11.cpp b/OptiScaler/upscalers/FeatureProvider_Dx11.cpp index 6bc75b67..6329744e 100644 --- a/OptiScaler/upscalers/FeatureProvider_Dx11.cpp +++ b/OptiScaler/upscalers/FeatureProvider_Dx11.cpp @@ -123,6 +123,12 @@ bool FeatureProvider_Dx11::ChangeFeature(Upscaler upscaler, ID3D11Device* device // first release everything if (contextData->changeBackendCounter == 1) { + if (state.currentFG != nullptr && state.activeFgInput == FGInput::Upscaler) + { + state.fgChanged = true; + state.clearCapturedHudlesses = true; + } + if (contextData->feature != nullptr) { LOG_INFO("changing backend to {0}", UpscalerDisplayName(state.newBackend)); diff --git a/OptiScaler/upscalers/FeatureProvider_Dx12.cpp b/OptiScaler/upscalers/FeatureProvider_Dx12.cpp index 4fb6aade..867f9531 100644 --- a/OptiScaler/upscalers/FeatureProvider_Dx12.cpp +++ b/OptiScaler/upscalers/FeatureProvider_Dx12.cpp @@ -114,9 +114,8 @@ bool FeatureProvider_Dx12::ChangeFeature(Upscaler upscaler, ID3D12Device* device // first release everything if (contextData->changeBackendCounter == 1) { - if (state.currentFG != nullptr && state.currentFG->IsActive() && state.activeFgInput == FGInput::Upscaler) + if (state.currentFG != nullptr && state.activeFgInput == FGInput::Upscaler) { - state.currentFG->DestroyFGContext(); state.fgChanged = true; state.clearCapturedHudlesses = true; }