PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT callback function (d3d10umddi.h)

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.

Syntax

PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT Pfnd3d111DdiCheckdirectflipsupport;

void Pfnd3d111DdiCheckdirectflipsupport(
        D3D10DDI_HDEVICE unnamedParam1,
        D3D10DDI_HRESOURCE unnamedParam2,
        D3D10DDI_HRESOURCE unnamedParam3,
        UINT CheckDirectFlipFlags,
  [out] BOOL *pSupported
)
{...}

Parameters

unnamedParam1

hDevice [in]

A handle to the display device (graphics context).

unnamedParam2

hResource1

A resource in the application's swapchain.

unnamedParam3

hResource2

A resource in the DWM's swapchain.

CheckDirectFlipFlags

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.

[out] pSupported

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

None

Remarks

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.

Requirements

Requirement Value
Minimum supported client Windows 8
Minimum supported server Windows Server 2012
Target Platform Desktop
Header d3d10umddi.h (include D3d10umddi.h)

See also

D3D11_1_DDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_ALLOCATIONINFO

DxgkCbGetHandleData

pfnEscapeCb