Export (0) Print
Expand All
Expand Minimize

CheckDirectFlipSupport(D3D11_1) routine

Called by the Desktop Window Manager (DWM) to verify that the user-mode driver supports Direct Flip operations, in which video memory is seamlessly flipped between an application's managed primary allocations and the DWM's managed primary allocations.



VOID APIENTRY* CheckDirectFlipSupport(D3D11_1)(
  D3D10DDI_HDEVICE hDevice,
  D3D10DDI_HRESOURCE hResource1,
  D3D10DDI_HRESOURCE hResource2,
  UINT CheckDirectFlipFlags,
  _Out_  BOOL *pSupported
{ ... }



A handle to the display device (graphics context).


A resource in the application's swapchain.


A resource in the DWM's swapchain.


If this parameter has a value of D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE, seamless flipping should occur immediately and does not have to be synchronized with a VSync interrupt.

pSupported [out]

Set to TRUE if the driver can seamlessly flip video memory between an application's managed primary allocations and the DWM's managed primary allocations. Otherwise, set to FALSE.

Return value

This routine does not return a value.


This function is called at least once before the DWM attempts to present to a Direct Flip swapchain. It is also called after each mode change occurs, or after the DWM re-creates its own swapchain for any reason.

The user-mode driver should ensure that the managed primary allocations of the application and the DWM have the following compatible resources:

  • Stereo resources.
  • Multiple Sample Anti Aliasing (MSAA) formats.
  • Swizzle formats. If the swizzle can only be changed at every VSync interval, ensure that the CheckDirectFlipFlags parameter does not have a value of D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE.
  • Both managed primary allocations should be created using the same VidPnSourceId value in the D3DDDI_ALLOCATIONINFO structure.
  • Display adapter configurations are linked.

The user-mode driver might need to call the kernel-mode driver to perform these validations. To do this, call the pfnEscapeCb callback function and then call the DxgkCbGetHandleData function to access the kernel-mode driver's resource allocation data.


Minimum supported client

Windows 8

Minimum supported server

Windows Server 2012


D3d10umddi.h (include D3d10umddi.h)

See also




Send comments about this topic to Microsoft

© 2015 Microsoft