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 結構,定義要複製的矩形區域。 這個矩形是在來源介面的座標系統中指定,由兩個點定義:左上方和右下角。 定義矩形的兩個點一律會排序良好。
來源矩形可以超過來源介面的界限。
此矩形會對應至 DstRect所定義的目的地矩形。 SrcRect 可用來將子矩形從來源空間轉換成目的地空間。
如需詳細資訊,請參閱一節。
[in] DstRect
RECT 結構,定義要修改的矩形區域。 這個矩形是在目的介面的座標系統中指定,由兩個點定義:左上方和右下角。 矩形是右下角獨佔;也就是說,其下邊緣和右邊緣不是位區塊傳輸的一部分。 定義矩形的兩個點一律會排序良好。
DstRect 所定義的目的矩形 可以超過目的介面的界限,但子矩形無法。 此外,所有子矩形都保證能容納在目的介面內。 子矩形可以透過小於目的矩形的周框進一步限制。
如需詳細資訊,請參閱一節。
SrcAllocationIndex
[in]配置清單中的專案索引,指定 SrcRect 來源矩形所參考的配置。
DstAllocationIndex
[in]配置清單中的專案索引,指定 DstRect 目的地矩形所參考的配置。
NumSubRects
[in]DstRect 目的矩形所系結之目的介面空間中的子矩形數目。
pSubRects
[in]目的地介面空間中子矩形的指標,由 DstRect 目的矩形系結。
Rop
[in]8 位值,指定由 DXGK_GDIROP_BITBLT 列舉的常數值所定義的 GDI 點陣運算 (ROP)。
Rop3
[in]8 位值,指定三元 GDI 點陣運算 (ROP3),結合筆刷、來源位陣圖,以及 256 個可能組合之一的目的地位圖。 只有當驅動程式在 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)。
其中矩形是由座標(左、上)和(右、下)的兩個像素所定義,則第一個像素的位址為:
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) |