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
プライマリ サーフェスへのデータのビット ブロック転送 (bitblt) を行うかどうかを指定する UINT 値。 このビット フィールド フラグは、DstRectValid および SrcRectValid ビット フィールド フラグと共に使用できます。
このメンバーの設定は、32 ビット Value メンバー (0x00000001) の最初のビットを設定することと同じです。
ColorFill
D3DKMT_PRESENT 構造体の Color メンバーの値を使用して、プライマリ サーフェスに対してカラーフィル ビットブレットを実行するかどうかを指定する UINT 値。 このビット フィールド フラグは、DstRectValid ビット フィールド フラグと共に使用できます。
このメンバーの設定は、32 ビット Value メンバー (0x00000002) の 2 番目のビットを設定することと同じです。
Flip
新しいサーフェスに反転するかどうかを指定する UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000004) の 3 番目のビットを設定することと同じです。
FlipDoNotFlip
キューに登録された待機をレンダリング ストリームに挿入するかどうかを指定する UINT 値。 このメンバーを設定すると、現在スキャンアウトされているのと同じサーフェスに反転することを示します。
このメンバーの設定は、32 ビット Value メンバー (0x00000008) の 4 番目のビットを設定することと同じです。
FlipDoNotWait
OpenGL インストール可能クライアント ドライバー (ICD) で、現在の操作で、キューに入っているフリップ サーフェスの数が特定の制限を下回るまで待機してから操作を開始する必要があるかどうかを指定する UINT 値。 このメンバーを設定すると、ICD は待機する必要がないことを示します。 キューに配置されたフリップ サーフェスの数の既定の制限は 3 です。
このメンバーの設定は、32 ビット Value メンバー (0x00000010) の 5 番目のビットを設定することと同じです。
FlipRestart
新しいサーフェスへのフリップを再開するかどうかを指定する UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000020) の 6 番目のビットを設定することと同じです。
DstRectValid
ビットが宛先の四角形領域を使用するかどうかを指定する UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000040) の 7 ビットを設定することと同じです。
SrcRectValid
bitblt がソース矩形領域を使用するかどうかを指定する UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00000080) の 8 ビットを設定することと同じです。
RestrictVidPnSource
ビットblt を制限するかどうかを指定する UINT 値。 hWindow メンバーが NULL 場合、D3DKMT_PRESENT 構造体の VidPnSourceId メンバーは、全画面表示ビットblt の出力先を示します。hWindow が null以外の場合、VidPnSourceId 、ウィンドウ化されたビットブレットを制限する出力を示します。
このメンバーの設定は、32 ビット Value メンバー (0x00000100) の 9 番目のビットを設定することと同じです。
SrcColorKey
D3DKMT_PRESENT 構造体の Color メンバーの値を使用して、ソース のカラー キー設定を実行するかどうかを指定する UINT 値。 つまり、カラー キーに一致するソース サーフェス内のピクセルはコピー先のサーフェスにコピーしないでください。また、カラー キーと一致しないすべてのソース ピクセルをコピーする必要があります。
このメンバーの設定は、32 ビット Value メンバー (0x00000200) の 10 ビットを設定することと同じです。
DstColorKey
D3DKMT_PRESENTの Color メンバーの値を使用して、コピー先のカラー キー設定を実行するかどうかを指定する UINT 値。 つまり、カラー キーに一致するターゲット サーフェス内のピクセルは、ソース サーフェスの対応するピクセルに置き換える必要があり、カラー キーと一致しないすべてのターゲット ピクセルは置き換えないでください。
このメンバーの設定は、32 ビット Value メンバー (0x00000400) の 11 ビットを設定することと同じです。
LinearToSrgb
コピー操作中に、線形形式のソースを sRGB 形式に変換するかどうかを指定する UINT 値。 sRGB 形式がガンマ修正されました。 sRGB 形式の詳細については、sRGB Web サイトを参照してください。
このメンバーの設定は、32 ビット Value メンバー (0x00000800) の 12 ビットを設定することと同じです。
PresentCountValid
D3DKMT_PRESENT 構造体の PresentCount メンバーに設定された値が有効かどうかを示す UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00001000) の 13 ビットを設定することと同じです。
[in] Rotate
プレゼンテーション ビット ブロック転送 (bitblt) 中に、プレゼンテーション データを画面の現在の向きに合わせて回転させるかどうかを指定する UINT 値。 画面の現在の向きは、ビデオの現在のパスの D3DKMDT_VIDPN_PRESENT_PATH 構造の ContentTransformation メンバーで設定される、D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION 構造体の Rotation メンバーで設定されます。
ディスプレイ ミニポート ドライバーは、回転 ビット フィールド フラグが設定されている場合にのみ、データを回転する必要があります。 プレゼンテーション データから画面の現在の向きが回転し、回転 が設定されていないとドライバーが判断した場合でも、ドライバーはデータを回転させるべきではありません。
このメンバーの設定は、32 ビット Value メンバー (0x00002000) の 14 ビットを設定することと同じです。
PresentToBitmap
ビットマップに表示するかどうかを指定する UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00004000) の 15 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
RedirectedFlip
フリップを新しいサーフェスにリダイレクトするかどうかを指定する UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00008000) の 16 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
RedirectedBlt
ビットレットを新しいサーフェスにリダイレクトするかどうかを指定する UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00010000) の 17 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
FlipStereo
ドライバーがステレオ割り当ての左と右の両方の画像を反転するかどうかを指定します。
DXGK_SETVIDPNSOURCEADDRESS_FLAGS 構造体の FlipOnNextVSync メンバーが設定されている場合、ドライバーは次の VSync で左のイメージへのフリップを完了し、次の VSync で右の画像へのフリップを完了する必要があります。
FlipImmediateDXGK_SETVIDPNSOURCEADDRESS_FLAGS 構造体のメンバーが設定されている場合、ドライバーはすぐに新しい割り当てからスキャンアウトを開始する必要があります。 たとえば、ドライバーが適切なイメージをスキャンしていた場合は、新しい割り当ての右側のイメージ内の同じ相対オフセットから新しいスキャンを開始する必要があります。
FlipStereo と FlipStereoTemporaryMono メンバーを同時に設定することはできません。
その他の要件については、「解説」セクションを参照してください。
このメンバーの設定は、32 ビット Value メンバー (0x00020000) の 18 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
FlipStereoTemporaryMono
ドライバーがステレオ フレームの左右の部分に対してステレオ割り当ての左イメージを使用するかどうかを指定します。 ドライバーは、FlipStereoと同じ現在の操作を実行します。ただし、ステレオ フレームの両方の画像を生成するには、左側の画像からのみスキャンアウトする必要があります。
このメンバーは、ドライバーが現在の表示モードでこのオプションのサポートを報告する場合にのみ、D3DKMDT_VIDPN_SOURCE_MODE 構造体の Type メンバーをD3DKMDT_RMT_GRAPHICS_STEREO_ADVANCED_SCANに設定する必要があります。
FlipStereo と FlipStereoTemporaryMono メンバーを同時に設定することはできません。
FlipStereoTemporaryMono と FlipStereoPreferRight メンバーを同時に設定することはできません。
その他の要件については、「解説」セクションを参照してください。
このメンバーの設定は、32 ビット Value メンバー (0x00040000) の 19 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
FlipStereoPreferRight
ドライバーがモノラル モニターにステレオプライマリ割り当てを複製するときに、適切なイメージを使用するように指定します。
FlipStereoTemporaryMono と FlipStereoPreferRight メンバーを同時に設定することはできません。
その他の要件については、「解説」セクションを参照してください。
このメンバーの設定は、32 ビット Value メンバー (0x00080000) の 20 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
BltStereoUseRight
ドライバーがステレオ割り当てからモノラル割り当てに提示する場合に、適切なイメージを使用するように指定します。 設定されていない場合、ドライバーは左のイメージを使用する必要があります。
このメンバーの設定は、32 ビット Value メンバー (0x00100000) の 21 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
PresentHistoryTokenOnly
ドライバーが現在の履歴トークンのみを送信することを指定します。
表示履歴トークン は、レンダリング アプリが送信するデータ パケットで、レンダリングが完了し、スワップ チェーン バック バッファーを表示する準備ができていることをデスクトップ ウィンドウ マネージャー (DWM) に通知します。
このメンバーの設定は、32 ビット Value メンバー (0x00200000) の 22 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
PresentRegionsValid
D3DKMT_PRESENTを指定します。pPresentRegions メンバーは有効なポインターです (NULL ではありません)。
このメンバーの設定は、32 ビット Value メンバー (0x00400000) の 23 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
PresentDDA
このメンバーは予約されており、0 に設定する必要があります。
このメンバーの設定は、32 ビット Value メンバー (0x00800000) の 24 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
ProtectedContentBlankedOut
このメンバーは予約されており、0 に設定する必要があります。
このメンバーの設定は、32 ビット Value メンバー (0x01000000) の 25 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
RemoteSession
現在の操作をリモート セッションに転送することを指定します。
このメンバーの設定は、32 ビット Value メンバー (0x02000000) の 26 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
CrossAdapter
クロス アダプター。
DurationValid
期間が有効かどうかを示します。
PresentIndirect
間接を提示します。
PresentHMD
Reserved
Windows 8 以降でサポートされています。
このメンバーは予約されており、0 に設定する必要があります。 このメンバーを 0 に設定することは、32 ビット Value メンバーの残りの 9 ビット (0xFF800000) をゼロに設定することと同じです。
Value
現在の操作の実行方法を識別する 32 ビット値。
備考
FlipStereo、flipStereoTemporaryMono 、または flipStereoPreferRight メンバーが設定されている場合は、次の条件が適用されます。
- DXGKARG_SETVIDPNSOURCEADDRESS 構造体の hAllocation メンバーは、D3DKMT_DISPLAYMODE 構造体の Flags メンバーに設定された Stereo メンバーを使用して作成された割り当てを指す必要があります。
- DXGKARG_SETVIDPNSOURCEADDRESS の primarySegment および PrimaryAddress メンバーは、割り当ての開始物理アドレスを指す必要があります。
- ドライバーは、FlipImmediate と FlipOnNextVSyncDXGK_SETVIDPNSOURCEADDRESS_FLAGS 構造体のメンバーの設定を尊重する必要があります。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降で使用できます。 |
ヘッダー | d3dkmthk.h (D3dkmthk.h を含む) |