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 位 Value 成員的第一個位 (0x00000001) 。

FlipImmediate

UINT 值,指定驅動程式執行不具垂直同步處理的翻轉作業。

設定此成員相當於設定 32 位 Value 成員的第二個位 (0x00000002) 。

FlipOnNextVSync

UINT 值,指定驅動程式執行在下一個垂直同步時發生的翻轉作業。

設定此成員相當於設定 32 位 Value 成員的第三個位 (0x00000004) 。

[in] FlipStereo

從 Windows 8 開始支援。

指定驅動程式是否同時翻轉立體配置的左右影像。

如果已設定DXGK_SETVIDPNSOURCEADDRESS_FLAGS結構的 FlipOnNextVSync 成員,驅動程式就會完成下一個 VSync 上左影像的翻轉,然後完成下列 VSync 上右邊影像的翻轉。

如果已設定 DXGK_SETVIDPNSOURCEADDRESS_FLAGS 結構的 FlipImmediate 成員,驅動程式會立即開始從新的配置中掃描出來。 例如,如果驅動程式正在掃描正確的影像,它會從新配置右影像中的相同相對位移啟動新的掃描。

FlipStereo 和FlipStereoTemporaryMono 成員不能同時設定。

如需更多需求,請參閱一節。

設定此成員相當於設定 32 位 Value 成員的第四個位 (0x00000008) 。

[in] FlipStereoTemporaryMono

從 Windows 8 開始支援。

指定驅動程式是否針對立體聲框架的右邊和左側部分使用立體聲配置的左影像。 驅動程式會執行與 FlipStereo 相同的目前作業,不同之處在於它只會從左側影像掃描出來,以產生立體聲框架的兩個影像。

只有當驅動程式報告目前顯示模式中此選項的支援時,才應該設定這個成員,方法是將D3DKMDT_VIDPN_SOURCE_MODE結構的 Type 成員設定為D3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCAN。

FlipStereo 和FlipStereoTemporaryMono 成員不能同時設定。

FlipStereoTemporaryMonoFlipStereoPreferRight 成員不能同時設定。

如需更多需求,請參閱一節。

設定此成員相當於設定 32 位 Value 成員的第五個位 (0x00000010) 。

[in] FlipStereoPreferRight

從 Windows 8 開始支援。

指定當驅動程式將立體聲主要配置複製到單聲道監視器時,它會使用正確的影像。

FlipStereoTemporaryMonoFlipStereoPreferRight 成員不能同時設定。

如需更多需求,請參閱一節。

設定此成員相當於設定 32 位 Value 成員 (0x00000020) 的第六個位。

[in] SharedPrimaryTransition

從 Windows 8 開始支援。

指定驅動程式正在轉換至共享受控主要配置,或從共用管理的主要配置轉換。

如果發生下列任一轉換,就會設定此成員:

  • 目前的主要配置不是共用的主要配置,但新的配置是 。
  • 目前的主要配置是共用的主要配置,但新的配置不是。
設定 SharedPrimaryTransition 時,顯示迷你埠驅動程式必須驗證硬體可以在主要和共用的主要配置之間順暢地來回切換,而且必須執行任何硬體程序設計,才能進行順暢切換。

設定此成員相當於設定 32 位 Value 成員的第七位 (0x00000040) 。

[in] IndependentFlipExclusive

從Windows 10 開始支援。

設定 IndependentFlipExlusive 時,翻轉會在獨立翻轉獨佔模式中完成。 前端緩衝區只能由顯示硬體 (而非 DWM) 存取,而核心模式驅動程式可以套用垂直同步相關的優化。

[in] MoveFlip

從Windows 10 開始支援。

設定 MoveFlip 時,會通知驅動程式使用先前翻轉儲存的任何狀態,以設定新的掃描輸出要求。

[in] Reserved

這個成員是保留的,而且應該設定為零。 將此成員設定為零相當於將 32 位 Value 成員的剩餘 23 位設定為零 (0xFFFFFF00) 。

Value

DXGK_SETVIDPNSOURCEADDRESS_FLAGS的等位成員包含可保存識別作業類型的32位值。

備註

如果已設定任何 FlipStereo、FlipStereoTemporaryMonoFlipStereoPreferRight 成員,則適用下列條件:

  • DXGKARG_SETVIDPNSOURCEADDRESS 結構的 hAllocation 成員指向在 D3DKMT_DISPLAYMODE 結構的 Flags 成員中設定的 Stereo 成員所建立的配置
  • DXGKARG_SETVIDPNSOURCEADDRESS 的 PrimarySegmentPrimaryAddress成員指向配置的 起始實體位址。
  • 驅動程式會接受 DXGK_SETVIDPNSOURCEADDRESS_FLAGS 結構的 FlipImmediateFlipOnNextVSync 成員的設定。
從 Windows 8 開始,當 SharedPrimaryTransition 成員在 pSetVidPnSourceAddress標中設定 SharedPrimaryTransition 成員時,顯示迷你埠驅動程式可能會失敗呼叫 DxgkDdiSetVidPnSourceAddress-> 函式,並傳回STATUS_INVALID_PARAMETER。 不過,除非使用者模式驅動程序實作 CheckDirectFlipSupport 函式或桌面視窗管理員 (DWM) 發生錯誤,否則不會預期這類失敗。 如果發生這類失敗,操作系統將不會順暢地容錯回復到組合模式,而且呈現方式不正確。

規格需求

需求
最低支援的用戶端 從 Windows Vista 開始提供。
標頭 d3dkmddi.h (包含 D3dkmddi.h)

另請參閱

D3DKMT_DISPLAYMODE

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS

DxgkDdiSetVidPnSourceAddress

DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay