DXGK_GDIARG_BITBLT構造体 (d3dkmddi.h)
DXGK_GDIARG_BITBLT構造体は、GDI ハードウェアアクセラレータ ビット ブロック転送 (bitblt) の特性をストレッチなしで記述します。
構文
typedef struct _DXGK_GDIARG_BITBLT {
[in] RECT SrcRect;
[in] RECT DstRect;
UINT SrcAllocationIndex;
UINT DstAllocationIndex;
UINT NumSubRects;
RECT *pSubRects;
WORD Rop;
WORD Rop3;
UINT SrcPitch;
UINT DstPitch;
} DXGK_GDIARG_BITBLT;
メンバーズ
[in] SrcRect
コピーする四角形の領域を定義する RECT 構造体。 この四角形は、ソース サーフェスの座標系で指定され、左上と右下の 2 つの点で定義されます。 四角形を定義する 2 つのポイントは、常に適切に並べ替えられます。
ソースの四角形は、ソース サーフェスの境界を超える可能性があります。
この四角形は、DstRect によって定義変換先の四角形にマップされます。 SrcRect は、サブ四角形をソース空間から変換先空間に変換するために使用されます。
詳細については、「解説」セクションを参照してください。
[in] DstRect
変更する四角形領域を定義する RECT 構造体。 この四角形は、変換先サーフェスの座標系で指定され、左上と右下の 2 つの点で定義されます。 四角形は右下の排他的です。つまり、その下端と右端は、ビット ブロック転送の一部ではありません。 四角形を定義する 2 つのポイントは、常に適切に並べ替えられます。
DstRect 定義された移動先の四角形は、移動先サーフェスの境界を超えることができますが、サブ四角形を超えることはできません。 さらに、すべてのサブ四角形は、ターゲット サーフェス内に収まることが保証されます。 サブ四角形は、移動先の四角形よりも小さい外接する四角形によってさらに制約できます。
詳細については、「解説」セクションを参照してください。
SrcAllocationIndex
[in]SrcRect ソース四角形によって参照される割り当てを指定する、割り当てリスト内の要素のインデックス。
DstAllocationIndex
[in]DstRect 変換先の四角形によって参照される割り当てを指定する、割り当てリスト内の要素のインデックス。
NumSubRects
[in]DstRect 変換先の四角形で囲まれた、移動先のサーフェス空間内のサブ四角形の数。
pSubRects
[in]DstRect 変換先の四角形で囲まれた、移動先のサーフェス空間内のサブ四角形へのポインター。
Rop
[in]DXGK_GDIROP_BITBLT 列挙体の定数値によって定義される GDI ラスター演算 (ROP) を指定する 8 ビット値。
Rop3
[in]ブラシ、ソース ビットマップ、およびコピー先ビットマップを 256 個の組み合わせのいずれかで結合する三項 GDI ラスター操作 (ROP3) を指定する 8 ビット値。 この種類のラスター操作は、ドライバーが DXGK_PRESENTATIONCAPS 構造体で SupportAllBltRops メンバーを設定した場合にのみ処理されます。
SrcPitch
[in]ソース サーフェスのピッチ (バイト単位)。 ピッチの使用方法の詳細については、「解説」セクションを参照してください。
DstPitch
[in]コピー先サーフェスのピッチ (バイト単位)。 ピッチの使用方法の詳細については、「解説」セクションを参照してください。
備考
SrcPitch と DstPitch ピッチ値を使用して、SrcRect のバイト位置を決定し、dstRect 四角形を する必要があります。これは、次の D3DKMDT_GDISURFACETYPEの割り当てに対して行います。
D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE
D3DKMDT_GDISURFACE_EXISTINGSYSMEM
他の割り当ての種類ではピッチを無視する必要があります。
ピッチは、DXGK_PRESENTATIONCAPS 構造体の AlignmentShift メンバー (つまり、DXGK_DRIVERCAPSに従ってビット ブロック転送でアラインすることが保証されます。PresentationCaps.AlignmentShift).
四角形が座標 (左、上) と (右、下) の 2 つのピクセルで定義されている場合、最初のピクセルのアドレスは次のようになります。
Allocation.BaseAddress + (top * Pitch) + (left * 4)
四角形の最後のピクセルのアドレスは次のとおりです。
Allocation.BaseAddress + ((bottom - 1) * Pitch) + ((right - 1) * 4)
サブ四角形がソース サーフェス空間に変換されると、結果はソース サーフェス内であることが保証されます。 この変換は、次の式で定義されます。
<SrcSubRect.left = SubRect.left - DstRect.left + SrcRect.left;
SrcSubRect.right = SubRect.right - DstRect.left + SrcRect.left;
SrcSubRect.top = SubRect.top - DstRect.top + SrcRect.top;
SrcSubRect.bottom = SubRect.bottom - DstRect.top + SrcRect.top;
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 7 |
ヘッダー | d3dkmddi.h (D3dkmddi.h を含む) |
関連項目
RECTの