DXGK_GDIARG_BITBLT-Struktur (d3dkmddi.h)

Die DXGK_GDIARG_BITBLT-Struktur beschreibt die Merkmale einer GDI-bitbeschleunigten 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;

Member

[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: links oben 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 von DstRect definierten Zielrechteck zugeordnet. SrcRect wird verwendet, um Unterrechtecke vom Quellbereich in den Zielbereich zu transformieren.

Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

[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: links oben und unten rechts. Das Rechteck ist unten rechts exklusiv; Das heißt, die 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, subrechtecke können jedoch nicht verwendet werden. Darüber hinaus passen alle Unterrechtecke garantiert in die Zieloberfläche. Unterrechtecke können durch ein umgebendes Rechteck, das kleiner als das Zielrechteck ist, weiter eingeschränkt werden.

Weitere Informationen finden Sie im Abschnitt mit Hinweisen.

SrcAllocationIndex

[in] Ein Index des Elements in der Zuordnungsliste, der 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 Teilrechtecke im Zieloberflächenbereich, der durch das DstRect-Zielrechteck begrenzt wird.

pSubRects

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

Rop

[in] Ein 8-Bit-Wert, der einen GDI-Rastervorgang (ROP) angibt, der durch die konstanten Werte 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 Quellbitbitbit und eine Zielbit in einer von 256 möglichen Kombinationen kombiniert. Diese Art von Rastervorgang wird nur verarbeitet, wenn der Treiber den SupportAllBltRops-Member in der DXGK_PRESENTATIONCAPS-Struktur festgelegt hat.

SrcPitch

[in] Die Tonhöhe der Quelloberfläche in Bytes. Weitere Informationen zur Verwendung von Tonhöhe finden Sie im Abschnitt Hinweise.

DstPitch

[in] Die Tonhöhe der Zieloberfläche in Bytes. Weitere Informationen zur Verwendung von Tonhöhe finden Sie im Abschnitt Hinweise.

Hinweise

Die Tonhöhenwerte SrcPitch und DstPitch müssen verwendet werden, um die Bytepositionen der Rechtecke SrcRect bzw. DstRect für die folgenden Zuordnungen vom Typ D3DKMDT_GDISURFACETYPE zu bestimmen:

D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE

D3DKMDT_GDISURFACE_EXISTINGSYSMEM

Die Tonhöhe sollte für andere Zuordnungstypen ignoriert werden.

Die Tonhöhe wird bei der Bitblockübertragung gemäß dem AlignmentShift-Element der DXGK_PRESENTATIONCAPS-Struktur (d. h. DXGK_DRIVERCAPS) garantiert 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 Teilrechtecke in den Quelloberflächenbereich transformiert werden, wird das Ergebnis garantiert innerhalb der Quelloberfläche angezeigt. 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
Unterstützte Mindestversion (Client) Windows 7
Kopfzeile d3dkmddi.h (einschließlich D3dkmddi.h)

Weitere Informationen

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DXGK_GDIROP_BITBLT

DXGK_PRESENTATIONCAPS

RECT