// d3dkmddi.h
typedef struct _DXGK_PLANE_SPECIFIC_INPUT_FLAGS {
union {
struct {
UINT Enabled : 1;
UINT FlipImmediate : 1;
UINT FlipOnNextVSync : 1;
UINT SharedPrimaryTransition : 1;
UINT IndependentFlipExclusive : 1;
UINT FlipImmediateNoTearing : 1;
#if ...
UINT Reserved : 26;
#else
UINT Reserved : 27;
#endif
};
UINT Value;
};
} DXGK_PLANE_SPECIFIC_INPUT_FLAGS;
View the official Windows Driver Kit DDI referenceNo description available.
A structure containing the input flags to be used for the driver that apply to a plane.
EnabledIndicates whether the overlay plane is enabled for display.
FlipImmediateIndicates that the driver should perform a flip operation that occurs without vertical sync.
FlipOnNextVSyncIndicates that the driver should perform a flip operation that occurs on the next vertical sync.
If the current line being displayed is less than DXGK_MULTIPLANE_OVERLAY_PLANE3.MaxImmediateFlipLine, the driver should convert this flip to an immediate flip and set DXGK_PLANE_SPECIFIC_OUTPUT_FLAGS. FlipConvertedToImmediate to TRUE.
SharedPrimaryTransitionSpecifies that the driver is transitioning to or from a shared managed primary allocation.
This member is set if either of the following transitions occurs:
When SharedPrimaryTransition is set, the display miniport driver must validate that the hardware can seamlessly switch back and forth between primary and shared primary allocations, and it must perform any hardware programming needed to make the seamless switch occur.
IndependentFlipExclusiveWhen IndependentFlipExlusive is set, the flip is done in the independent flip exclusive mode. The front buffer is accessed only by the display hardware and not by the DWM. The kernel mode driver can apply vertical sync-related optimizations.
FlipImmediateNoTearingDrivers that support Variable Refresh Rate can support this flag. When FlipImmediateNoTearing is set, the driver should flip as soon as possible, but only within the blank period to avoid tearing.
If the monitor is already in the blank period at the time of the flip request, the driver should immediately end the blank period and start the next frame immediately.
If the monitor is in the active period, the flip needs to wait until the active period ends. As soon as the blank period starts, the driver should process the flip and start a new active period so that the blank period is as short as possible between those two frames.
ReservedThis 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.
Value