DXGK_SETVIDPNSOURCEADDRESS_FLAGS结构(d3dkmddi.h)
DXGK_SETVIDPNSOURCEADDRESS_FLAGS结构标识在调用显示微型端口驱动程序 DxgkDdiSetVidPnSourceAddress 或 DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay 函数时要执行的特定作类型。
语法
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 成员,驱动程序会立即开始从新分配中扫描出来。 例如,如果驱动程序正在扫描正确的映像,则会从新分配的右映像中的相同相对偏移量启动新扫描。
FlipStereo 和 FlipStereoTemporaryMono 成员不能同时设置。
有关更多要求,请参阅“备注”部分。
设置此成员相当于设置 32 位 值 成员的第四位(0x00000008)。
[in] FlipStereoTemporaryMono
从 Windows 8 开始支持。
指定驱动程序是否对立体声帧的左右部分使用立体声分配的左侧图像。 驱动程序执行与 FlipStereo相同的演示作,只扫描左侧图像以生成立体声帧的两个图像。
仅当驱动程序报告当前显示模式下对此选项的支持时,才应设置此成员,方法是将 D3DKMDT_VIDPN_SOURCE_MODE 结构的 类型 成员设置为D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN。
FlipStereo 和 FlipStereoTemporaryMono 成员不能同时设置。
FlipStereoTemporaryMono 和 FlipStereoPreferRight 成员不能同时设置。
有关更多要求,请参阅“备注”部分。
设置此成员相当于设置 32 位 值 成员(0x00000010)的第五位。
[in] FlipStereoPreferRight
从 Windows 8 开始支持。
指定当驱动程序将立体声主分配克隆到单声道监视器时,它将使用正确的图像。
FlipStereoTemporaryMono 和 FlipStereoPreferRight 成员不能同时设置。
有关更多要求,请参阅“备注”部分。
设置此成员相当于设置 32 位 值 成员的第六位(0x00000020)。
[in] SharedPrimaryTransition
从 Windows 8 开始支持。
指定驱动程序正在转换到共享托管主分配或从共享托管主分配转换。
如果发生以下任一转换,则设置此成员:
- 当前主分配不是共享主分配,而是新的分配。
- 当前主分配是共享的主分配,但新分配不是。
设置此成员相当于设置 32 位 值 成员的第七位(0x00000040)。
[in] IndependentFlipExclusive
从 Windows 10 开始支持。
IndependentFlipExlusive 设置时,该翻转是在独立翻转独占模式下完成的。 前缓冲区只能由显示硬件(而不是 DWM 访问),内核模式驱动程序可以应用与垂直同步相关的优化。
[in] MoveFlip
从 Windows 10 开始支持。
设置 MoveFlip 时,系统会通知驱动程序使用从上一个翻转保存的任何状态来配置新的扫描请求。
[in] Reserved
此成员是保留的,应设置为零。 将此成员设置为零相当于将 32 位 值 成员的剩余 23 位(0xFFFFFF00)设置为零。
Value
联合中的成员,DXGK_SETVIDPNSOURCEADDRESS_FLAGS包含可以保存标识作类型的 32 位值。
言论
如果设置了任何 FlipStereo、FlipStereoTemporaryMono或 FlipStereoPreferRight 成员,则这些条件适用:
- DXGKARG_SETVIDPNSOURCEADDRESS 结构的 hAllocation 成员指向使用 标志D3DKMT_DISPLAYMODE 结构成员中设置的 立体声 成员创建的分配。
- PrimarySegment 和 PrimaryAddressDXGKARG_SETVIDPNSOURCEADDRESS 成员指向分配的起始物理地址。
- 驱动程序遵循 FlipImmediate 和 FlipOnNextVSyncDXGK_SETVIDPNSOURCEADDRESS_FLAGS 结构成员的设置。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows Vista 开始可用。 |
标头 | d3dkmddi.h (包括 D3dkmddi.h) |