PFND3DDDI_BLT Rückruffunktion (d3dumddi.h)

Die Blt-Funktion kopiert den Inhalt einer Quelloberfläche auf eine Zieloberfläche.

Syntax

PFND3DDDI_BLT Pfnd3dddiBlt;

HRESULT Pfnd3dddiBlt(
  HANDLE hDevice,
  const D3DDDIARG_BLT *unnamedParam2
)
{...}

Parameter

hDevice

Ein Handle für das Anzeigegerät (Grafikkontext).

unnamedParam2

pData [in]

Ein Zeiger auf eine D3DDDIARG_BLT-Struktur , die die Parameter der Bitblockübertragung (bitblt) beschreibt.

Rückgabewert

Blt gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
S_OK Der Bitblt für die Ressource wurde erfolgreich ausgeführt.
E_OUTOFMEMORY Blt konnte nicht den erforderlichen Arbeitsspeicher zuweisen, um es zu vervollständigen.

Hinweise

Die Microsoft Direct3D-Runtime ruft die Blt-Funktion des Benutzermodusanzeigetreibers auf, um den Inhalt einer Quelloberfläche auf eine Zieloberfläche zu kopieren. Nach dem Zuordnen der Oberflächenverweise zu Zuordnungsverweisen sollte der Benutzermodusanzeigetreiber die entsprechenden Hardwarebefehle ausgeben. Wenn sich die Quell- oder Zielzuordnung im Systemspeicher befindet, muss der Anzeigetreiber im Benutzermodus möglicherweise synchronisiert werden (d. h. die PfnRenderCb-Funktion aufrufen), wenn der ausstehende Hardwarebefehlsdatenstrom Verweise auf die Systemspeicherbelegung enthält. Wenn sich sowohl die Quell- als auch die Zielzuordnung im Systemspeicher befinden, sollte der Treiber nach Bedarf synchronisiert werden, aber nicht den Inhalt der Quelloberfläche kopieren. Die Direct3D-Runtime kopiert den Inhalt, nachdem der Aufruf von pfnRenderCb zurückgegeben wurde.

Der Benutzermodusanzeigetreiber muss die folgenden Bedingungen behandeln, die während eines Kopiervorgangs auftreten können:

  • Ziel- und Quelloberflächen sind Teil derselben Ressource (d. h . die hSrcResource - und hDstResource-Member von D3DDDIARG_BLT geben Handles für dieselbe Ressource an).
  • Die Quell- und Zielrechtecke überlappen sich (d. a. die Koordinaten der RECT-Strukturen in den Elementen SrcRect und DstRect von D3DDDIARG_BLT Überlappung).
Der Anzeigetreiber für den Benutzermodus muss alle Bitblt-Dateien vom und zum Videospeicher verarbeiten, einschließlich bitblt vom Videospeicher in den Systemspeicher. Wenn der Anzeigetreiber für den Benutzermodus die Grafikverarbeitungseinheit (GRAPHICS Processing Unit, GPU) nicht verwenden kann, um einen Bitblt vom Videospeicher in den Systemspeicher auszugeben, kann der Anzeigetreiber im Benutzermodus die Daten mithilfe der CPU kopieren.

Der Anzeigetreiber für den Benutzermodus darf Colorkeys nur mit Formaten unterstützen, die vor Microsoft DirectX 8.0 eingeführt wurden. Für Formate, die in DirectX 8.0 und höher-Runtimes eingeführt wurden, ist keine Unterstützung für Farbschlüssel erforderlich.

Der Typ der auszuführenden Bitblt wird durch die Bitfeldflags angegeben, die im Flags-Member von D3DDDIARG_BLT angegeben sind. Videospeicher-in-Videospeicher-Bitblts können Colorkeying, Stretching, Spiegelung und die Konvertierung des Linear-in-sRGB-Formats umfassen. Bitblts für Den Systemspeicher zu Videospeicher können stretchen und die Formatkonvertierung linear in sRGB umfassen. Diese Arten von Bitblts enthalten jedoch niemals Spiegelung oder Colorkeying. Alle Bitblts von Videospeicher zu Systemspeicher und Bitblts von Systemspeicher zu Systemspeicher sind nur gerade Kopien. Das heißt, diese Arten von Bitblts umfassen niemals Dehnung, Spiegelung, Colorkeying oder die Konvertierung des Linear-in-sRGB-Formats. Weitere Informationen zum sRGB-Format finden Sie auf der sRGB-Website .

Weitere Informationen zu Regeln, die die Blt-Funktion beim Konvertieren von Tiefenschablonenwerten befolgen muss, finden Sie unter Kopieren Depth-Stencil Werte.

Die Direct3D-Runtime kann die Blt-Funktion des Benutzermodusanzeigetreibers aufrufen, um den Inhalt eines beliebigen Quelloberflächentyps (z. B. offscreen-plain-Typ, Renderzieltyp oder Texturtyp) in einen anderen Zieloberflächentyp zu kopieren.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und höheren Versionen der Windows-Betriebssysteme.
Zielplattform Desktop
Kopfzeile d3dumddi.h (include D3dumddi.h)

Weitere Informationen

D3DDDIARG_BLT

D3DDDI_DEVICEFUNCS

pfnRenderCb