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 の出力を示します。hWindowNULL 以外の場合、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 ビット値。

注釈

FlipStereoFlipStereoTemporaryMono、または FlipStereoPreferRight メンバーのいずれかが設定されている場合、次の条件が適用されます。

  • DXGKARG_SETVIDPNSOURCEADDRESS構造体の hAllocation メンバーは、D3DKMT_DISPLAYMODE構造体の Flags メンバーで Stereo メンバー セットを使用して作成された割り当てを指必要があります。
  • DXGKARG_SETVIDPNSOURCEADDRESSの PrimarySegment メンバーと PrimaryAddress メンバーは、割り当ての開始物理アドレスを指す必要があります。
  • ドライバーは、DXGK_SETVIDPNSOURCEADDRESS_FLAGS構造体の FlipImmediate メンバーと FlipOnNextVSync メンバーの設定を尊重する必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista 以降で使用できます。
Header d3dkmthk.h (D3dkmthk.h を含む)

こちらもご覧ください

D3DKMDT_VIDPN_PRESENT_PATH

D3DKMDT_VIDPN_PRESENT_PATH_TRANSFORMATION

D3DKMT_DISPLAYMODE

D3DKMT_PRESENT

DXGKARG_SETVIDPNSOURCEADDRESS

DXGK_SETVIDPNSOURCEADDRESS_FLAGS