DXGI_DDI_ARG_CHECKPRESENTDURATIONSUPPORT - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// dxgiddi.h

typedef struct _DXGI_DDI_ARG_CHECKPRESENTDURATIONSUPPORT {
        DXGI_DDI_HDEVICE               hDevice;
        D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
        UINT                           DesiredPresentDuration;
        UINT                           ClosestSmallerDuration;
  [out] UINT                           ClosestLargerDuration;
} DXGI_DDI_ARG_CHECKPRESENTDURATIONSUPPORT;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-dxgiddi-_dxgi_ddi_arg_checkpresentdurationsupport)

_DXGI_DDI_ARG_CHECKPRESENTDURATIONSUPPORT structure

Description

Used in a call to the pfnCheckPresentDurationSupport(DXGI) function to check details on hardware device support for seamlessly switching to a new monitor refresh rate.

Members

hDevice

A handle to the display device (graphics context) on which the driver performs the presentation. The Direct3D runtime passes this handle to the driver in the hDrvDevice member of the D3D10DDIARG_CREATEDEVICE structure when the runtime calls the driver's CreateDevice(D3D10) function to create the display device.

VidPnSourceId

The zero-based video present network (VidPN) source identification number of the input for which the hardware support is queried.

DesiredPresentDuration

The desired duration of a single present operation, in units of 100 nanoseconds.

ClosestSmallerDuration

The smallest supported desired duration of a single present operation on the given VidPN source, in units of 100 nanoseconds. The value must be ≤ DesiredPresentDuration.

See Remarks for more limitations on this value.

ClosestLargerDuration [out]

The largest supported desired duration of a single present operation on the given VidPN source, in units of 100 nanoseconds. The value must be ≥ DesiredPresentDuration.

See Remarks for more limitations on this value.

Remarks

Either ClosestSmallerDuration or ClosestLargerDuration can be zero. However, if both are zero, the device cannot seamlessly switch to a new refresh rate.

If both ClosestSmallerDuration and ClosestLargerDuration have the same value as DesiredPresentDuration, the device can precisely match DesiredPresentDuration.

The difference between DesiredPresentDuration and ClosestSmallerDuration (or ClosestLargerDuration) represents the driver’s knowledge of the device capabilities, but there will be additional error during execution. The final accuracy of the device when using per-present durations should typically be the same as the accuracy using existing presentation modes.

See also

CreateDevice(D3D10)

D3D10DDIARG_CREATEDEVICE

pfnCheckPresentDurationSupport(DXGI)