[d3d11] Re-introduce support for dxgi.numBackBuffers option

This commit is contained in:
Philip Rebohle 2018-12-14 14:58:36 +01:00
parent 64aefcc2a1
commit 328871de7e
No known key found for this signature in database
GPG Key ID: C8CC613427A31C99
2 changed files with 12 additions and 2 deletions

View File

@ -308,7 +308,7 @@ namespace dxvk {
void D3D11SwapChain::RecreateSwapChain(BOOL Vsync) {
vk::PresenterDesc presenterDesc;
presenterDesc.imageExtent = { m_desc.Width, m_desc.Height };
presenterDesc.imageCount = m_desc.BufferCount;
presenterDesc.imageCount = PickImageCount(m_desc.BufferCount);
presenterDesc.numFormats = PickFormats(m_desc.Format, presenterDesc.formats);
presenterDesc.numPresentModes = PickPresentModes(Vsync, presenterDesc.presentModes);
@ -329,7 +329,7 @@ namespace dxvk {
vk::PresenterDesc presenterDesc;
presenterDesc.imageExtent = { m_desc.Width, m_desc.Height };
presenterDesc.imageCount = m_desc.BufferCount;
presenterDesc.imageCount = PickImageCount(m_desc.BufferCount);
presenterDesc.numFormats = PickFormats(m_desc.Format, presenterDesc.formats);
presenterDesc.numPresentModes = PickPresentModes(false, presenterDesc.presentModes);
@ -720,4 +720,11 @@ namespace dxvk {
return n;
}
uint32_t D3D11SwapChain::PickImageCount(
UINT Preferred) {
int32_t option = m_parent->GetOptions()->numBackBuffers;
return option > 0 ? uint32_t(option) : uint32_t(Preferred);
}
}

View File

@ -153,6 +153,9 @@ namespace dxvk {
BOOL Vsync,
VkPresentModeKHR* pDstModes);
uint32_t PickImageCount(
UINT Preferred);
};
}