共用方式為


D3DKMT_PRESENTFLAGS 結構 (d3dkmthk.h)

D3DKMT_PRESENTFLAGS 結構會識別如何執行目前作業。

語法

typedef struct _D3DKMT_PRESENTFLAGS {
  union {
    struct {
      UINT Blt : 1;
      UINT ColorFill : 1;
      UINT Flip : 1;
      UINT FlipDoNotFlip : 1;
      UINT FlipDoNotWait : 1;
      UINT FlipRestart : 1;
      UINT DstRectValid : 1;
      UINT SrcRectValid : 1;
      UINT RestrictVidPnSource : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT LinearToSrgb : 1;
      UINT PresentCountValid : 1;
      UINT Rotate : 1;
      UINT PresentToBitmap : 1;
      UINT RedirectedFlip : 1;
      UINT RedirectedBlt : 1;
      UINT FlipStereo : 1;
      UINT FlipStereoTemporaryMono : 1;
      UINT FlipStereoPreferRight : 1;
      UINT BltStereoUseRight : 1;
      UINT PresentHistoryTokenOnly : 1;
      UINT PresentRegionsValid : 1;
      UINT PresentDDA : 1;
      UINT ProtectedContentBlankedOut : 1;
      UINT RemoteSession : 1;
      UINT CrossAdapter : 1;
      UINT DurationValid : 1;
      UINT PresentIndirect : 1;
      UINT PresentHMD : 1;
#if ...
      UINT Reserved : 2;
#elif
      UINT Reserved : 6;
#else
      UINT Reserved : 15;
#endif
    };
         UINT Value;
  };
} D3DKMT_PRESENTFLAGS;

成員

Blt

UINT 值,指定是否要將 bit-block transfer (bitblt) 數據傳送至主要介面。 此位欄位旗標可以搭配 DstRectValidSrcRectValid 位字段旗標使用。

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

ColorFill

UINT 值,指定是否要使用 D3DKMT_PRESENT 結構的 Color 成員中的值,對主要表面執行 colorfill bitblt。 此位字段旗標可以搭配 DstRectValid 位字段旗標使用。

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

Flip

UINT 值,指定是否要翻轉至新的表面。

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

FlipDoNotFlip

UINT 值,指定是否要將佇列等候插入轉譯數據流。 設定此成員表示翻轉至目前正在掃描的相同表面。

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

FlipDoNotWait

UINT 值,指定 OpenGL 可安裝用戶端驅動程式是否 (ICD) 要求目前的作業等候佇列翻轉表面數目低於作業開始之前的特定限制。 設定此成員表示 ICD 不需要等候。 佇列翻轉表面數目的預設限制為三個。

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

FlipRestart

UINT 值,指定是否要重新啟動翻轉至新的表面。

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

DstRectValid

UINT 值,指定 bitblt 是否使用目的地矩形區域。

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

SrcRectValid

UINT 值,指定 bitblt 是否使用來源矩形區域。

設定這個成員相當於設定 32 位 Value 成員的第八位 (0x00000080) 。

RestrictVidPnSource

UINT 值,指定是否限制 bitblt。 如果 hWindow 成員為 NULL,D3DKMT_PRESENT 結構的 VidPnSourceId 成員會指出要導向全螢幕 bitblt 的輸出;如果 hWindow 不是 NULL,VidPnSourceId 會指出要限制視窗位的輸出。

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

SrcColorKey

UINT 值,指定是否要使用 D3DKMT_PRESENT 結構的 Color 成員中的值來執行來源色彩索引鍵。 也就是說,符合色彩索引鍵的來源介面中的任何圖元不應複製到目的地介面,而且應該複製不符合色彩索引鍵的所有來源圖元。

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

DstColorKey

UINT 值,指定是否要使用 D3DKMT_PRESENT 的 Color 成員中的 值來執行目的地色彩索引鍵。 也就是說,符合色彩索引鍵的目的地介面中的任何像素都應該取代為來源介面中的對應圖元,而且不應取代不符合色彩索引鍵的所有目的地圖元。

設定此成員相當於設定 32 位 Value 成員的第十一位 (0x00000400) 。

LinearToSrgb

UINT 值,指定是否要在複製作業期間將線性格式的來源轉換成 sRGB 格式。 sRGB 格式已更正 gamma。 如需 sRGB 格式的詳細資訊,請參閱 sRGB 網站。

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

PresentCountValid

UINT 值,指定D3DKMT_PRESENT結構之 PresentCount 成員中設定的值是否有效。

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

[in] Rotate

UINT 值,指定是否要在簡報位區塊傳輸 (bitblt) 期間旋轉簡報數據,以符合畫面的目前方向。 畫面的目前方向是在D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION結構的 Rotation 成員中設定,該成員是在影片呈現路徑之D3DKMDT_VIDPN_PRESENT_PATH結構的 ContentTransformation 成員中設定。

只有在設定 [旋轉 位字段] 旗標時,顯示迷你埠驅動程式才應該旋轉數據。 即使驅動程序判斷螢幕的目前方向是從簡報數據旋轉,而且未設定 Rotate ,驅動程式不應該旋轉數據。

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

PresentToBitmap

UINT 值,指定是否要呈現給點陣圖。

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

從 Windows 7 開始支援。

RedirectedFlip

UINT 值,指定是否要將翻轉重新導向至新的表面。

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

從 Windows 7 開始支援。

RedirectedBlt

UINT 值,指定是否要將 bitblt 重新導向至新的表面。

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

從 Windows 7 開始支援。

FlipStereo

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

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

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

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

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

設定此成員相當於設定 32 位 Value 成員的第十八位 (0x00020000) 。

從 Windows 8 開始支援。

FlipStereoTemporaryMono

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

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

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

FlipStereoTemporaryMonoFlipStereoPreferRight 成員不能同時設定。

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

設定此成員相當於設定 32 位 Value 成員的第十九位 (0x00040000) 。

從 Windows 8 開始支援。

FlipStereoPreferRight

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

FlipStereoTemporaryMonoFlipStereoPreferRight 成員不能同時設定。

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

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

從 Windows 8 開始支援。

BltStereoUseRight

指定當驅動程式從立體聲配置呈現到單聲道配置時,應該使用正確的影像。 如果未設定,驅動程式應該使用左映像。

設定此成員相當於設定 32 位 Value 成員 (0x00100000) 的第二十一位。

從 Windows 8 開始支援。

PresentHistoryTokenOnly

指定驅動程序應該只提交目前歷程記錄令牌。

目前歷程記錄令牌是轉譯應用程式送出的數據封包,通知桌面視窗管理員 (DWM) 轉譯已完成,且交換鏈結返回緩衝區已準備好呈現。

設定此成員相當於設定 32 位 Value 成員的二十二秒位 (0x00200000) 。

從 Windows 8 開始支援。

PresentRegionsValid

指定 D3DKMT_PRESENTpPresentRegions 成員是有效的指標, (不是 NULL) 。

設定此成員相當於設定 32 位 Value 成員 (0x00400000) 的第二十三位。

從 Windows 8 開始支援。

PresentDDA

這個成員是保留的,而且應該設定為零。

設定此成員相當於設定 32 位 Value 成員的第二十四位 (0x00800000) 。

從 Windows 8 開始支援。

ProtectedContentBlankedOut

這個成員是保留的,而且應該設定為零。

設定此成員相當於設定 32 位 Value 成員 (0x01000000) 的 25 位。

從 Windows 8 開始支援。

RemoteSession

指定將目前作業導向遠程會話。

設定此成員相當於設定 32 位 Value 成員的 26 位 (0x02000000) 。

從 Windows 8 開始支援。

CrossAdapter

交叉配接器。

DurationValid

指出持續時間是否有效。

PresentIndirect

呈現間接。

PresentHMD

Reserved

從 Windows 8 開始支援。

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

Value

識別如何執行目前作業的32位值。

備註

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

規格需求

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

另請參閱

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

D3DKMT_PRESENT

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS