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
プライマリ サーフェスへのデータのビット ブロック転送 (ビットblt) を行うかどうかを指定する UINT 値。 このビット フィールド フラグは、 DstRectValid および SrcRectValid ビット フィールド フラグと共 に 使用できます。
このメンバーの設定は、32 ビット 値 メンバー (0x00000001) の最初のビットを設定することと同じです。
ColorFill
D3DKMT_PRESENT構造体の Color メンバーの値を使用して、プライマリ サーフェスに対してカラーフィル ビットblt を実行するかどうかを指定する 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 は、ウィンドウ化されたビットblt を制限する出力を示します。
このメンバーの設定は、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
プレゼンテーション ビット ブロック転送 (ビットblt) 中に、画面の現在の向きに合わせてプレゼンテーション データを回転するかどうかを指定する UINT 値。 画面の現在の向きは、ビデオの現在のパスのD3DKMDT_VIDPN_PRESENT_PATH構造の ContentTransformation メンバーで設定されるD3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION構造体の Rotation メンバーで設定されます。
ディスプレイ ミニポート ドライバーは、ビット フィールドの回転フラグが設定されている場合にのみ、データを 回転 する必要があります。 プレゼンテーション データから画面の現在の向きが回転され、 Rotate が設定されていないとドライバーが判断した場合でも、ドライバーはデータを回転させるべきではありません。
このメンバーの設定は、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 で右のイメージへの反転を完了する必要があります。
DXGK_SETVIDPNSOURCEADDRESS_FLAGS構造体の FlipImmediate メンバーが設定されている場合、ドライバーはすぐに新しい割り当てからスキャンアウトを開始する必要があります。 たとえば、ドライバーが適切なイメージをスキャンしていた場合、新しい割り当ての右側のイメージで同じ相対オフセットから新しいスキャンを開始する必要があります。
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 メンバーは、割り当ての開始物理アドレスを指す必要があります。
- ドライバーは、DXGK_SETVIDPNSOURCEADDRESS_FLAGS構造体の FlipImmediate メンバーと FlipOnNextVSync メンバーの設定を尊重する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降で使用できます。 |
Header | d3dkmthk.h (D3dkmthk.h を含む) |