Advertisement

DXGI_SWAP_EFFECT_DISCARD to DXGI_SWAP_EFFECT_FLIP_DISCARD

Started by April 09, 2018 05:35 PM
11 comments, last by ROGRat 6 years, 3 months ago
19 minutes ago, matt77hias said:

I also noticed a new problem: I cannot switch anymore between fullscreen and windowed mode via m_swap_chain->SetFullscreenState(FALSE/TRUE, nullptr); ?

Ah, right, forgot about that difference. For D3D11, there's no guarantee that the present path used in fullscreen will support the same sync method used to implement the waitable object. Blt model and exclusive fullscreen don't support it, only windowed flip.

Advertisement
25 minutes ago, SoldierOfLight said:

Ah, right, forgot about that difference. For D3D11, there's no guarantee that the present path used in fullscreen will support the same sync method used to implement the waitable object. Blt model and exclusive fullscreen don't support it, only windowed flip.

That is a bummer :(

This makes the DXGI_SWAP_CHAIN_FLAG_FRAME_LATENCY_WAITABLE_OBJECT not usable for me (e.g. I still want to be able to switch between windowed and exclusive fullscreen).

I tried to change the flags on a switch, which triggers a resize (m_swap_chain->ResizeBuffers(0u, 0u, 0u, DXGI_FORMAT_UNKNOWN, flags);), but that doesn't change anything.

 

🧙

The WaitableObject can be used in fuscreen “windowed mode” (borderless window covering the whole screen).  You also need to call SwapChain.SetMaximumFrameLatency(1) when using the WaitableObject.

This topic is closed to new replies.

Advertisement