Skip to content

Commit 7f1f3de

Browse files
committed
Fix for OptiFG when rendering resolution is bigger than display resolution (Control Ultimate's Super Sampling option)
1 parent 9e57df9 commit 7f1f3de

File tree

1 file changed

+4
-7
lines changed

1 file changed

+4
-7
lines changed

OptiScaler/hooks/HooksDx.cpp

+4-7
Original file line numberDiff line numberDiff line change
@@ -4327,16 +4327,13 @@ void FrameGen_Dx12::CreateFGContext(ID3D12Device* InDevice, IFeature* deviceCont
43274327
// use swapchain buffer info
43284328
DXGI_SWAP_CHAIN_DESC desc{};
43294329
if (HooksDx::currentSwapchain->GetDesc(&desc) == S_OK)
4330-
{
43314330
createFg.displaySize = { desc.BufferDesc.Width, desc.BufferDesc.Height };
4332-
createFg.maxRenderSize = { desc.BufferDesc.Width, desc.BufferDesc.Height };
4333-
}
43344331
else
4335-
{
4336-
// this might cause issues
43374332
createFg.displaySize = { deviceContext->DisplayWidth(), deviceContext->DisplayHeight() };
4338-
createFg.maxRenderSize = { deviceContext->DisplayWidth(), deviceContext->DisplayHeight() };
4339-
}
4333+
4334+
// For internal res is bigger than display res situations
4335+
createFg.maxRenderSize = { deviceContext->DisplayWidth() > deviceContext->RenderWidth() ? deviceContext->DisplayWidth() : deviceContext->RenderWidth(),
4336+
deviceContext->DisplayHeight() > deviceContext->RenderHeight() ? deviceContext->DisplayHeight() : deviceContext->RenderHeight() };
43404337

43414338
createFg.flags = 0;
43424339

0 commit comments

Comments
 (0)