次の方法で共有


D3DDDI_BLTFLAGS構造体 (d3dumddi.h)

D3DDDI_BLTFLAGS構造体は、実行するビット ブロック転送 (bitblt) の種類を識別します。

構文

typedef struct _D3DDDI_BLTFLAGS {
  union {
    struct {
      UINT Point : 1;
      UINT Linear : 1;
      UINT SrcColorKey : 1;
      UINT DstColorKey : 1;
      UINT MirrorLeftRight : 1;
      UINT MirrorUpDown : 1;
      UINT LinearToSrgb : 1;
      UINT Rotate : 1;
      UINT BeginPresentToDwm : 1;
      UINT ContinuePresentToDwm : 1;
      UINT EndPresentToDwm : 1;
#if ...
      UINT Reserved : 21;
      UINT Discard : 1;
      UINT NoOverwrite : 1;
      UINT Tileable : 1;
#else
      UINT Reserved : 18;
#endif
    };
    UINT Value;
  };
} D3DDDI_BLTFLAGS;

メンバーズ

Point

ビット ブロック転送でポイント フィルタリングを使用するかどうかを指定する UINT 値。 このメンバーの設定は、32 ビット Value メンバー (0x00000001) の最初のビットを設定することと同じです。

Linear

ビット ブロック転送で線形フィルター処理を使用するかどうかを指定する UINT 値。 このメンバーの設定は、32 ビット Value メンバー (0x00000002) の 2 番目のビットを設定することと同じです。

SrcColorKey

ColorKey メンバーの値を使用してソース のカラー キー設定を実行するかどうかを指定する UINT 値。 つまり、カラー キーに一致するソース サーフェス内のピクセルはコピー先のサーフェスにコピーしないでください。また、カラー キーと一致しないすべてのソース ピクセルをコピーする必要があります。

このメンバーの設定は、32 ビット Value メンバー (0x00000004) の 3 番目のビットを設定することと同じです。

DstColorKey

ColorKey メンバーの値を使用して、コピー先のカラー キー設定を実行するかどうかを指定する UINT 値。 つまり、カラー キーに一致するターゲット サーフェス内のピクセルは、ソース サーフェスの対応するピクセルに置き換える必要があり、カラー キーと一致しないすべてのターゲット ピクセルは置き換えないでください。

このメンバーの設定は、32 ビット Value メンバー (0x00000008) の 4 番目のビットを設定することと同じです。

MirrorLeftRight

ソース サーフェスの内容を、ビットブレットの中心軸に沿って移動先サーフェスに水平方向に反転するかどうかを指定する UINT 値です。 つまり、ソース サーフェスの左側のコンテンツは、コピー先サーフェスの右側にコピーされ、その逆も同様です。

このメンバーの設定は、32 ビット Value メンバー (0x00000010) の 5 番目のビットを設定することと同じです。

MirrorUpDown

ソース サーフェスの内容を、ビットブレットの中心軸に沿ってターゲット サーフェスに垂直方向に反転するかどうかを指定する UINT 値です。 つまり、ソース サーフェスの上部にあるコンテンツは、コピー先サーフェスの下部にコピーされ、その逆も同様です。

このメンバーの設定は、32 ビット Value メンバー (0x00000020) の 6 番目のビットを設定することと同じです。

LinearToSrgb

bitblt 操作中に線形形式のソースを sRGB 形式に変換するかどうかを指定する UINT 値。 sRGB 形式がガンマ修正されました。 sRGB 形式の詳細については、sRGB Web サイトを参照してください。

このメンバーの設定は、32 ビット Value メンバー (0x00000040) の 7 ビットを設定することと同じです。

Rotate

ビットブレット操作中にソースを回転するかどうかを指定する UINT 値。

このメンバーの設定は、32 ビット Value メンバー (0x00000080) の 8 ビットを設定することと同じです。

BeginPresentToDwm

Bitblt 操作中に Microsoft Direct3D ランタイムが DWM 存在操作を開始するかどうかを指定する UINT 値。 BeginPresentToDwm の詳細については、「解説」を参照してください。

このメンバーの設定は、32 ビット Value メンバー (0x00000100) の 9 番目のビットを設定することと同じです。

ContinuePresentToDwm

Bitblt 操作中に Direct3D ランタイムが DWM 存在操作を続行するかどうかを指定する UINT 値。 ContinuePresentToDwm の詳細については、「解説」を参照してください。

このメンバーの設定は、32 ビット Value メンバー (0x00000200) の 10 ビットを設定することと同じです。

EndPresentToDwm

Bitblt 操作中に Direct3D ランタイムが DWM 存在操作を終了するかどうかを指定する UINT 値。 EndPresentToDwmの詳細については、「解説」を参照してください。

このメンバーの設定は、32 ビット Value メンバー (0x00000400) の 11 ビットを設定することと同じです。

Reserved

このメンバーは予約されており、0 に設定する必要があります。 このメンバーを 0 に設定することは、32 ビット Value メンバーの残りの 21 ビット (0xFFFFF800) をゼロに設定することと同じです。

このメンバーは予約されており、0 に設定する必要があります。

このメンバーを 0 に設定することは、32 ビット Value メンバーの残りの 18 ビット (0xFFFFC000) をゼロに設定することと同じです。

Windows 8 以降でサポートされています。

Discard

ユーザー モード ディスプレイ ドライバーがリソース全体の以前の内容を破棄できることを示します。 ドライバーは、この機能を利用して、パフォーマンスとメモリ使用量を最適化できます。

このメンバーが NULL でない場合は、NoOverwrite し、タイル可能な NULL する必要があります。

このメンバーの設定は、32 ビット Value メンバーの 12 ビット (0xFFFFF800) をゼロに設定することと同じです。

Windows 8 以降でサポートされています。

NoOverwrite

呼び出し元が、新しいデータで書き込まれるサーフェスの部分が現在参照されていないか、以前のレンダリング操作によってアクセスされていないことを保証することを示します。 ドライバーは、この機能を利用して、パフォーマンスとメモリ使用量を最適化できます。

このメンバーが NULL でない場合は、破棄 を NULL する必要があります。

このメンバーの設定は、32 ビット Value メンバーの 13 ビット (0x00001000) を 0 に設定することと同じです。

Windows 8 以降でサポートされています。

Tileable

タイル ベースの遅延レンダリングの場合、コピー操作はソースリソースまたはコピー先リソースで現在処理されているタイルでのみ動作でき、シーンをすべてのタイルでフラッシュする必要がないことを示します。

このメンバーが NULL でない場合は、破棄 を NULL する必要があります。

このメンバーの設定は、32 ビット Value メンバーの 14 ビット (0x00002000) を 0 に設定することと同じです。

Windows 8 以降でサポートされています。

Value

実行する bitblt の型を識別する 1 つの 32 ビット値を保持できる、D3DDDI_BLTFLAGSに含まれる共用体内のメンバー。

備考

BeginPresentToDwmContinuePresentToDwm、および EndPresentToDwm ビット フィールド フラグは、Direct3D ランタイムが DWM の現在の操作の一部を実行する時刻をユーザー モード表示ドライバーに通知します。 DWM の現在の操作は複数のステップで発生する可能性があるため、Direct3D ランタイムはこれらのフラグを使用して、一連のビットブレットのステップをマークします。 例えば:

  • 現在の操作が 1 つのビットブレットで構成されている場合、bitblt は次のようにマークされます。
    • BeginPresentToDwm = TRUE;
    • ContinuePresentToDwm = FALSE;
    • EndPresentToDwm = TRUE;
  • 現在の演算が 2 つのビットブレットで構成されている場合、ビットブレットは 2 つの順次ビットブレット操作で示されているようにマークされます。
    1. 最初のビット:
      • BeginPresentToDwm = TRUE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. 2 番目のビットblt:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = TRUE;
  • 現在の操作が 3 つ以上のビットブレットで構成されている場合、ビットブレットは次の順次ビットブレット操作で示されているようにマークされます。
    1. 最初のビット:
      • BeginPresentToDwm = TRUE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = FALSE;
    2. 2 番目のビットレットと連続するビットブレット (最終的なビットブレットは含まれません):
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = TRUE;
      • EndPresentToDwm = FALSE;
    3. 最後のビット:
      • BeginPresentToDwm = FALSE;
      • ContinuePresentToDwm = FALSE;
      • EndPresentToDwm = TRUE;

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降で使用できます。
ヘッダー d3dumddi.h (D3dumddi.h を含む)

関連項目

D3DDDIARG_BLT

フラッシュ