Freigeben über


DXGK_GDIARG_BITBLT Struktur (d3dkmddi.h)

Die DXGK_GDIARG_BITBLT Struktur beschreibt die Eigenschaften einer hardwarebeschleunigten Bitblockübertragung (Bitblt) ohne Dehnung.

Syntax

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;

Angehörige

[in] SrcRect

Eine RECT- Struktur, die den zu kopierenden rechteckigen Bereich definiert. Dieses Rechteck wird im Koordinatensystem der Quelloberfläche angegeben und durch zwei Punkte definiert: oben links und unten rechts. Die beiden Punkte, die das Rechteck definieren, sind immer gut sortiert.

Das Quellrechteck kann die Grenzen der Quelloberfläche überschreiten.

Dieses Rechteck wird dem Zielrechteck zugeordnet, das durch DstRectdefiniert wird. SrcRect wird verwendet, um Unterrechtecke aus dem Quellbereich in den Zielbereich zu transformieren.

Weitere Informationen finden Sie im Abschnitt "Hinweise".

[in] DstRect

Eine RECT- Struktur, die den zu ändernden rechteckigen Bereich definiert. Dieses Rechteck wird im Koordinatensystem der Zieloberfläche angegeben und durch zwei Punkte definiert: oben links und unten rechts. Das Rechteck ist ausschließlich unten rechts; d. h. ihre unteren und rechten Ränder sind kein Teil der Bitblockübertragung. Die beiden Punkte, die das Rechteck definieren, sind immer gut sortiert.

Das durch DstRect- definierte Zielrechteck kann die Grenzen der Zieloberfläche überschreiten, aber Unterrechtecke können nicht. Darüber hinaus werden alle Unterrechtecke garantiert in die Zieloberfläche passen. Unterrechtecke können weiter durch ein umgebendes Rechteck eingeschränkt werden, das kleiner als das Zielrechteck ist.

Weitere Informationen finden Sie im Abschnitt "Hinweise".

SrcAllocationIndex

[in] Ein Index des Elements in der Zuordnungsliste, das die Zuordnung angibt, auf die vom SrcRect Quellrechteck verwiesen wird.

DstAllocationIndex

[in] Ein Index des Elements in der Zuordnungsliste, der die Zuordnung angibt, auf die vom DstRect Zielrechteck verwiesen wird.

NumSubRects

[in] Die Anzahl der Unterrechtecke im Zieloberflächenbereich, die durch das DstRect- Zielrechteck begrenzt ist.

pSubRects

[in] Ein Zeiger auf die Unterrechtecke im Zieloberflächenbereich, der durch das DstRect Zielrechteck begrenzt ist.

Rop

[in] Ein 8-Bit-Wert, der einen GDI-Rastervorgang (ROP) angibt, der durch die Konstantenwerte der DXGK_GDIROP_BITBLT Enumeration definiert wird.

Rop3

[in] Ein 8-Bit-Wert, der einen ternären GDI-Rastervorgang (ROP3) angibt, der einen Pinsel, eine Quellbitmap und eine Zielbitmap in einer von 256 möglichen Kombinationen kombiniert. Dieser Rastervorgangstyp wird nur verarbeitet, wenn der Treiber das SupportAllBltRops- element in der DXGK_PRESENTATIONCAPS-Struktur festgelegt hat.

SrcPitch

[in] Die Neigung der Quelloberfläche in Byte. Weitere Informationen zur Verwendung von Neigungswinkeln finden Sie im Abschnitt "Hinweise".

DstPitch

[in] Die Neigung der Zieloberfläche in Byte. Weitere Informationen zur Verwendung von Neigungswinkeln finden Sie im Abschnitt "Hinweise".

Bemerkungen

Die SrcPitch und DstPitch Pitch-Werte müssen verwendet werden, um die Bytepositionen der SrcRect und DstRect Rechtecke bzw. für die folgenden Zuordnungen des Typs D3DKMDT_GDISURFACETYPEzu bestimmen:

D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE

D3DKMDT_GDISURFACE_EXISTINGSYSMEM

Pitch sollte für andere Zuordnungstypen ignoriert werden.

Der Abstand wird garantiert in der Bitblockübertragung gemäß dem AlignmentShift Member der DXGK_PRESENTATIONCAPS Struktur (d. h. DXGK_DRIVERCAPS) ausgerichtet. PresentationCaps.AlignmentShift).

Wenn ein Rechteck durch zwei Pixel an Koordinaten (links, oben) und (rechts, unten) definiert wird, lautet die Adresse des ersten Pixels:

Allocation.BaseAddress + (top * Pitch) + (left * 4)

Die Adresse des letzten Pixels des Rechtecks lautet:

Allocation.BaseAddress + ((bottom - 1) * Pitch) + ((right - 1) * 4)

Wenn Unterrechtecke in den Quelloberflächenbereich transformiert werden, ist das Ergebnis garantiert innerhalb der Quelloberfläche. Diese Transformation wird durch die folgende Formel definiert:

<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;

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 7
Header- d3dkmddi.h (einschließlich D3dkmddi.h)

Siehe auch

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DXGK_GDIROP_BITBLT

DXGK_PRESENTATIONCAPS

RECT-