PFND3DDDI_CHECKDIRECTFLIPSUPPORT callback function (d3dumddi.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
PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;
HRESULT Pfnd3dddiCheckdirectflipsupport(
HANDLE hDevice,
D3DDDIARG_CHECKDIRECTFLIPSUPPORT *unnamedParam2
)
{...}
Parameters
hDevice
A handle to the display device (graphics context).
unnamedParam2
pData [in, out]
A pointer to a D3DDDIARG_CHECKDIRECTFLIPSUPPORT structure that defines the parameters for the operation.
Return value
Returns S_OK or an appropriate error result if the operation is not successfully performed.
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 member of the D3DDDI_CHECK_DIRECT_FLIP_FLAGS structure 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.
Because the DWM typically creates its own device using the highest possible Microsoft Direct3D feature level, the DWM will not call this function if the hardware supports a Direct3D device driver interface (DDI) that is greater than version 9.3. However, any Microsoft Direct3D 9 driver should implement this function to enable the Direct Flip user experience.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 |
Minimum supported server | Windows Server 2012 |
Target Platform | Desktop |
Header | d3dumddi.h (include D3dumddi.h) |