DXGK_SETVIDPNSOURCEADDRESS_FLAGS结构(d3dkmddi.h)

DXGK_SETVIDPNSOURCEADDRESS_FLAGS结构标识在调用显示微型端口驱动程序 DxgkDdiSetVidPnSourceAddressDxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay 函数时要执行的特定作类型。

语法

typedef struct _DXGK_SETVIDPNSOURCEADDRESS_FLAGS {
  union {
    struct {
      UINT ModeChange : 1;
      UINT FlipImmediate : 1;
      UINT FlipOnNextVSync : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT SharedPrimaryTransition : 1;
      UINT IndependentFlipExclusive : 1;
      UINT MoveFlip : 1;
#if ...
      UINT Reserved : 23;
#elif
      UINT Reserved : 24;
#elif
      UINT Reserved : 25;
#else
      UINT Reserved : 29;
#endif
    };
         UINT Value;
  };
} DXGK_SETVIDPNSOURCEADDRESS_FLAGS;

成员

ModeChange

一个 UINT 值,指定驱动程序切换显示模式。

设置此成员等效于设置 32 位 成员的第一位(0x00000001)。

FlipImmediate

一个 UINT 值,该值指定驱动程序执行不进行垂直同步的翻转作。

设置此成员等效于设置 32 位 成员的第二位(0x00000002)。

FlipOnNextVSync

一个 UINT 值,该值指定驱动程序执行在下一次垂直同步上发生的翻转作。

设置此成员相当于设置 32 位 成员(0x00000004)的第三位。

[in] FlipStereo

从 Windows 8 开始支持。

指定驱动程序是否同时翻转立体声分配的左右图像。

如果设置了 DXGK_SETVIDPNSOURCEADDRESS_FLAGS 结构的 FlipOnNextVSync 成员,驱动程序将完成下一个 VSync 上左侧映像的翻转,然后完成以下 VSync 上右侧图像的翻转。

如果设置了 DXGK_SETVIDPNSOURCEADDRESS_FLAGS 结构的 FlipImmediate 成员,驱动程序会立即开始从新分配中扫描出来。 例如,如果驱动程序正在扫描正确的映像,则会从新分配的右映像中的相同相对偏移量启动新扫描。

FlipStereoFlipStereoTemporaryMono 成员不能同时设置。

有关更多要求,请参阅“备注”部分。

设置此成员相当于设置 32 位 成员的第四位(0x00000008)。

[in] FlipStereoTemporaryMono

从 Windows 8 开始支持。

指定驱动程序是否对立体声帧的左右部分使用立体声分配的左侧图像。 驱动程序执行与 FlipStereo相同的演示作,只扫描左侧图像以生成立体声帧的两个图像。

仅当驱动程序报告当前显示模式下对此选项的支持时,才应设置此成员,方法是将 D3DKMDT_VIDPN_SOURCE_MODE 结构的 类型 成员设置为D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN。

FlipStereoFlipStereoTemporaryMono 成员不能同时设置。

FlipStereoTemporaryMonoFlipStereoPreferRight 成员不能同时设置。

有关更多要求,请参阅“备注”部分。

设置此成员相当于设置 32 位 成员(0x00000010)的第五位。

[in] FlipStereoPreferRight

从 Windows 8 开始支持。

指定当驱动程序将立体声主分配克隆到单声道监视器时,它将使用正确的图像。

FlipStereoTemporaryMonoFlipStereoPreferRight 成员不能同时设置。

有关更多要求,请参阅“备注”部分。

设置此成员相当于设置 32 位 成员的第六位(0x00000020)。

[in] SharedPrimaryTransition

从 Windows 8 开始支持。

指定驱动程序正在转换到共享托管主分配或从共享托管主分配转换。

如果发生以下任一转换,则设置此成员:

  • 当前主分配不是共享主分配,而是新的分配。
  • 当前主分配是共享的主分配,但新分配不是。
设置 SharedPrimaryTransition 时,显示微型端口驱动程序必须验证硬件是否可以在主分配和共享主分配之间无缝切换,并且必须执行任何硬件编程才能实现无缝切换。

设置此成员相当于设置 32 位 成员的第七位(0x00000040)。

[in] IndependentFlipExclusive

从 Windows 10 开始支持。

IndependentFlipExlusive 设置时,该翻转是在独立翻转独占模式下完成的。 前缓冲区只能由显示硬件(而不是 DWM 访问),内核模式驱动程序可以应用与垂直同步相关的优化。

[in] MoveFlip

从 Windows 10 开始支持。

设置 MoveFlip 时,系统会通知驱动程序使用从上一个翻转保存的任何状态来配置新的扫描请求。

[in] Reserved

此成员是保留的,应设置为零。 将此成员设置为零相当于将 32 位 成员的剩余 23 位(0xFFFFFF00)设置为零。

Value

联合中的成员,DXGK_SETVIDPNSOURCEADDRESS_FLAGS包含可以保存标识作类型的 32 位值。

言论

如果设置了任何 FlipStereoFlipStereoTemporaryMonoFlipStereoPreferRight 成员,则这些条件适用:

从 Windows 8 开始,显示微型端口驱动程序可能无法调用 DxgkDdiSetVidPnSourceAddress 函数,返回STATUS_INVALID_PARAMETER,当 sharedPrimaryTransition 成员在 pSetVidPnSourceAddress->标志设置时。 但是,除非用户模式驱动程序实现 CheckDirectFlipSupport 函数或在桌面窗口管理器(DWM)中出现错误,否则不会发生此类故障。 如果发生此类故障,则作系统不会无缝故障回复到合成模式,并且演示不正确。

要求

要求 价值
最低支持的客户端 从 Windows Vista 开始可用。
标头 d3dkmddi.h (包括 D3dkmddi.h)

另请参阅

D3DKMT_DISPLAYMODE

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiSetVidPnSourceAddress

DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay