Expand Minimize

DXGK_SETVIDPNSOURCEADDRESS_FLAGS structure

The DXGK_SETVIDPNSOURCEADDRESS_FLAGS structure identifies the specific type of operation to perform in a call to the display miniport driver's DxgkDdiSetVidPnSourceAddress or DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay functions.

Syntax


typedef struct _DXGK_SETVIDPNSOURCEADDRESS_FLAGS {
  union {
    struct {
      UINT ModeChange  :1;
      UINT FlipImmediate  :1;
      UINT FlipOnNextVSync  :1;
#if ((DXGKDDI_INTERFACE_VERSION >= DXGKDDI_INTERFACE_VERSION_WIN8) || \
     (D3D_UMD_INTERFACE_VERSION >= D3D_UMD_INTERFACE_VERSION_WIN8))
      UINT FlipStereo  :1;
      UINT FlipStereoTemporaryMono  :1;
      UINT FlipStereoPreferRight  :1;
      UINT SharedPrimaryTransition  :1;
      UINT Reserved  :25;
#else 
      UINT Reserved  :29;
#endif 
    };
    UINT Value;
  };
} DXGK_SETVIDPNSOURCEADDRESS_FLAGS;

Members

ModeChange

A UINT value that specifies for the driver to switch the display mode.

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

FlipImmediate

A UINT value that specifies for the driver to perform a flip operation that occurs without vertical sync.

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

FlipOnNextVSync

A UINT value that specifies for the driver to perform a flip operation that occurs on the next vertical sync.

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

FlipStereo

[in] Supported beginning with Windows 8.

Specifies whether the driver flips both left and right images of a stereo allocation.

If the FlipOnNextVSync member of the DXGK_SETVIDPNSOURCEADDRESS_FLAGS structure is set, the driver completes the flip to the left image on the next VSync and then completes the flip to the right image on the following VSync.

If the FlipImmediate member of the DXGK_SETVIDPNSOURCEADDRESS_FLAGS structure is set, the driver immediately starts to scan out from the new allocation. For example, if the driver was scanning a right image, it starts the new scan from the same relative offset in the right image of the new allocation.

The FlipStereo and FlipStereoTemporaryMono members cannot both be set at the same time.

For more requirements, see the Remarks section.

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

FlipStereoTemporaryMono

[in] Supported beginning with Windows 8.

Specifies whether the driver uses the left image of a stereo allocation for the right and left portions of a stereo frame. The driver performs the same present operation as with FlipStereo, except that it scans out only from the left image to produce both images of a stereo frame.

This member should be set only if the driver reports support for this option in the current display mode by setting the Type member of the D3DKMDT_VIDPN_SOURCE_MODE structure to D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN.

The FlipStereo and FlipStereoTemporaryMono members cannot both be set at the same time.

The FlipStereoTemporaryMono and FlipStereoPreferRight members cannot both be set at the same time.

For more requirements, see the Remarks section.

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

FlipStereoPreferRight

[in] Supported beginning with Windows 8.

Specifies that when the driver clones a stereo primary allocation to a mono monitor, it uses the right image.

The FlipStereoTemporaryMono and FlipStereoPreferRight members cannot both be set at the same time.

For more requirements, see the Remarks section.

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

SharedPrimaryTransition

[in] Supported beginning with Windows 8.

Specifies that the driver is transitioning to or from a shared managed primary allocation.

This member is set if either of the following transitions occurs:

  • The current primary allocation is not a shared primary allocation, but the new one is.
  • The current primary allocation is a shared primary allocation, but the new one is not.

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.

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

Reserved

[in] This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting the remaining 25 bits (0xFFFFFF80) of the 32-bit Value member to zeros.

Reserved

[in] This member is reserved and should be set to zero. Setting this member to zero is equivalent to setting the remaining 29 bits (0xFFFFFFF8) of the 32-bit Value member to zeros.

Value

A member in the union that DXGK_SETVIDPNSOURCEADDRESS_FLAGS contains that can hold a 32-bit value that identifies operation type.

Remarks

If any of the FlipStereo, FlipStereoTemporaryMono, or FlipStereoPreferRight members are set, these conditions apply:

  • The hAllocation member of the DXGKARG_SETVIDPNSOURCEADDRESS structure points to an allocation that is created with the Stereo member set in the Flags member of the D3DKMT_DISPLAYMODE structure.
  • The PrimarySegment and PrimaryAddress members of DXGKARG_SETVIDPNSOURCEADDRESS point to the starting physical address of the allocation.
  • The driver honors the settings of the FlipImmediate and FlipOnNextVSync members of the DXGK_SETVIDPNSOURCEADDRESS_FLAGS structure.

Beginning with Windows 8, the display miniport driver can fail a call to the DxgkDdiSetVidPnSourceAddress function, returning STATUS_INVALID_PARAMETER, when the SharedPrimaryTransition member is set in pSetVidPnSourceAddress->Flags. However, such a failure is not expected unless there is an error in either the user mode driver's implementation of the CheckDirectFlipSupport function or in the Desktop Window Manager (DWM). If such a failure occurs, the operating system will not seamlessly fail back to composition mode, and presentation will be incorrect.

Requirements

Version

Available starting with Windows Vista.

Header

D3dkmddi.h (include D3dkmddi.h)

See also

D3DKMT_DISPLAYMODE
DXGK_SETVIDPNSOURCEADDRESS_FLAGS
DXGKARG_SETVIDPNSOURCEADDRESS
DxgkDdiSetVidPnSourceAddress
DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft