DXGI flip in Windows 8.1?

398 views Asked by At

Does Windows 8.1 support the DXGI flip model? I.e. DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL and DXGI_SWAP_EFFECT_FLIP_DISCARD? I am seeing conflicting information online.

Link1 and link2 indicate that at least DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL is supported by Windows 8, yet the common way to test for DXGI flip model support is:

ComPtr<IDXGIFactory4> factory4;
if (FAILED(m_dxgiFactory.As(&factory4)))
{
    m_options &= ~c_FlipPresent;
}

which seems to fail on Windows 8.1. I'm using Visual Studio 2019 with Windows SDK version 10.0.14393.0. Here's my GPU info:

GPU info

As a quick sanity check, I've run the SimpleInstancingPC example from Xbox-ATG-Samples / DirectXTK. It states:

INFO: Flip swap effects not supported
Direct3D Adapter (0): VID:10DE, PID:1F82 - NVIDIA GeForce GTX 1650

If DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL is in fact supported by Windows 8.1 but DXGI_SWAP_EFFECT_FLIP_DISCARD is not, what is the correct way to check for this functionality, given that the IDXGIFactory4 approach fails?

1

There are 1 answers

6
Chuck Walbourn On

The optimization work that is discussed in the "Use the flip model" blog post is only in Windows 10, so it's best to stick with legacy blit and treat Windows 8.x and Windows 7 the same.

For Windows 8.x, the main and only real use for DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL is Windows Store apps.

The background here that game developers don't worry much about Windows 8.x these days given the Steam Hardware Survey numbers: It's less than 1% total.

UPDATE: See this blog post series as well for more guidance on swapchains.