Skip to content

Latest commit

 

History

History
157 lines (93 loc) · 8.14 KB

ns-d3dkmddi-_dxgk_flipcaps.md

File metadata and controls

157 lines (93 loc) · 8.14 KB
UID title description old-location ms.date keywords ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos tech.root req.typenames f1_keywords topic_type api_type api_location api_name
NS:d3dkmddi._DXGK_FLIPCAPS
_DXGK_FLIPCAPS (d3dkmddi.h)
The DXGK_FLIPCAPS structure identifies flipping capabilities of the display miniport driver that the driver provides through a call to its DxgkDdiQueryAdapterInfo function.
display\dxgk_flipcaps.htm
05/10/2018
DXGK_FLIPCAPS structure
DXGK_FLIPCAPS, DXGK_FLIPCAPS structure [Display Devices], DmStructs_11bba63e-8001-41d2-9c60-978024921994.xml, _DXGK_FLIPCAPS, d3dkmddi/DXGK_FLIPCAPS, display.dxgk_flipcaps
d3dkmddi.h
D3dkmddi.h
Windows
Windows Vista
Windows
display
DXGK_FLIPCAPS
_DXGK_FLIPCAPS
d3dkmddi/_DXGK_FLIPCAPS
DXGK_FLIPCAPS
d3dkmddi/DXGK_FLIPCAPS
APIRef
kbSyntax
HeaderDef
d3dkmddi.h
_DXGK_FLIPCAPS
DXGK_FLIPCAPS

_DXGK_FLIPCAPS structure

-description

The DXGK_FLIPCAPS structure identifies flipping capabilities of the display miniport driver that the driver provides through a call to its DxgkDdiQueryAdapterInfo function.

-struct-fields

-field FlipOnVSyncWithNoWait

A UINT value that specifies whether the driver supports the scheduling of a flip command that will take effect on the next vertical retrace period (vertical sync) without causing the graphics pipeline to stall until that vertical sync occurs. That is, the graphics pipeline must proceed immediately after the driver writes the physical address of the flipping surface into flip-pending registers at the hardware. Although most hardware uses a depth of one flip-pending register, if hardware uses more than one flip-pending register, the driver should specify the number in the MaxQueuedFlipOnVSync member of the DXGK_DRIVERCAPS structure.

If FlipOnVSyncWithNoWait is set to 1 (TRUE), the driver supports this mechanism. If FlipOnVSyncWithNoWait is set to 0 (FALSE), the driver does not support this mechanism. That is, the graphics pipeline must wait until the next vertical sync occurs after the scheduling of a flip command to take effect on the next vertical sync.

Setting this member is equivalent to setting the first bit of the 32-bit Value member (0x00000001).

-field FlipOnVSyncMmIo

A UINT value that specifies whether the driver supports a memory mapped I/O (MMIO)-based flip that takes effect on the next vertical sync. To support this type of flip, the display miniport driver must support the following operations:

  • No generation of a DMA buffer to pass in a call to its DxgkDdiPresent function (that is, NULL is passed in the pDmaBuffer member of the DXGKARG_PRESENT structure).
  • A flip through a call to its DxgkDdiSetVidPnSourceAddress function at device interrupt request level (DIRQL). In the call to DxgkDdiSetVidPnSourceAddress, the driver should program the digital-to-analog converter (DAC) and use the value in the PrimaryAddress member of the DXGKARG_SETVIDPNSOURCEADDRESS structure to start the scan out. After the vertical sync, the driver should notify the GPU scheduler to report the effective scan address by calling the DxgkCbNotifyInterrupt function with the DXGK_INTERRUPT_CRTC_VSYNC value set in the InterruptType member of the DXGKARGCB_NOTIFY_INTERRUPT_DATA structure. The driver should then call the DxgkCbNotifyDpc function to perform most of the scan-out processing.

-field FlipInterval

A UINT value that specifies whether the driver supports the scheduling of a flip command to take effect after two, three, or four vertical syncs occur. Regardless of whether the driver supports a flip interval of two or greater, the driver must support an immediate flip and a flip interval of one.

Setting this member is equivalent to setting the third bit of the 32-bit Value member (0x00000004).

-field FlipImmediateMmIo

A UINT value that specifies whether the driver supports a memory mapped I/O (MMIO)-based immediate flip. This type of flip takes effect immediately following a call to the driver's DxgkDdiSetVidPnSourceAddress function without waiting for the next vertical sync to occur.

Setting this member is equivalent to setting the fourth bit of the 32-bit Value member (0x00000008).

Supported starting with Windows 7.

-field FlipIndependent

A UINT value that specifies whether the driver supports an independent flip. WDDM 1.3 and later drivers must set this member to 1.

In an independent flip, the operating system attempts to bypass a Desktop Window Manager (DWM) user-mode present call and flips to the application back buffer by calling DxgkDdiPresent and DxgkDdiSetVidPnSourceAddress in Direct Flip and multiplane overlay presentation models.

Note that there will be cases when a DWM user-mode present call is made even when FlipIndependent is set. Your driver must still handle such cases.

Setting this member is equivalent to setting the fifth bit of the 32-bit Value member (0x00000010).

Supported starting with Windows 8.1.

-field DdiPresentForIFlip

-field FlipImmediateOnHSync

-field Reserved

This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting the remaining 27 bits (0xFFFFFFE0) of the 32-bit Value member to zeros.

This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting the remaining 28 bits (0xFFFFFFF0) of the 32-bit Value member to zeros.

-field Value

A member in the union that DXGK_FLIPCAPS contains that can hold a 32-bit value that identifies flipping capabilities.

-see-also

DXGKARGCB_NOTIFY_INTERRUPT_DATA

DXGKARG_PRESENT

DXGKARG_QUERYADAPTERINFO

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_DRIVERCAPS

DxgkCbNotifyDpc

DxgkCbNotifyInterrupt

DxgkDdiPresent

DxgkDdiQueryAdapterInfo

DxgkDdiSetVidPnSourceAddress