Freigeben über


PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Rückruffunktion (d3dumddi.h)

pfnUpdateGpuVirtualAddressCb ist ein spezieller Vorgang, der im Kontext von Kachelressourcen verwendet wird. Er ermöglicht es dem Benutzermodustreiber, eine Reihe von Zuordnungsvorgängen anzugeben, die auf den virtuellen Adressraum des Prozesses in einem einzigen Batch von Seitentabellenaktualisierungen angewendet werden sollen.

Der Bereich der virtuellen GPU-Adressen (Grafikverarbeitungseinheit) in allen Vorgängen (mit Ausnahme der Quelladresse von Kopiervorgängen) muss zu einem einzelnen virtuellen Adressbereich gehören, der durch Aufrufen von pfnReserveGpuVirtualAddressCbabgerufen wurde. Ebenso müssen die virtuellen Adressbereiche aller Quellen in Kopiervorgängen zu einem einzigen virtuellen Adressbereich gehören, der durch Aufrufen pfnReserveGpuVirtualAddressCbabgerufen wurde.

Die Aktualisierungen der Seitentabelle werden in einem Auslagerungskontext ausgeführt, der dem angegebenen Renderingkontext zugeordnet ist und nur nach dem zugeordneten Renderingkontext FenceValue für das angegebene überwachte Zaunobjekt ausgeführt wird. Wenn die Seitentabelle aktualisiert wird, signalisiert der Auslagerungskontext das überwachte Zaunobjekt FenceValue+1, sodass der Renderingkontext eng mit den Seitentabellenaktualisierungen verbunden werden kann.

Syntax

PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Pfnd3dddiUpdategpuvirtualaddresscb;

HRESULT Pfnd3dddiUpdategpuvirtualaddresscb(
  HANDLE hDevice,
  const D3DDDICB_UPDATEGPUVIRTUALADDRESS *unnamedParam2
)
{...}

Parameter

hDevice

Ein Handle für das Anzeigegerät.

unnamedParam2

pData- [in]

Ein Zeiger auf eine D3DDDICB_UPDATEGPUVIRTUALADDRESS Struktur, die den auszuführenden Vorgang beschreibt.

Rückgabewert

Wenn diese Rückruffunktion erfolgreich ist, wird S_OKzurückgegeben. Andernfalls wird ein HRESULT- Fehlercode zurückgegeben.

Bemerkungen

Die virtuellen Adressbereiche in den Aktualisierungsvorgängen dürfen sich überschneiden. Die Vorgänge werden in der Reihenfolge angewendet, in der sie übermittelt werden.

In einem einzelnen pfnUpdateVirtualAddressCb Aufruf:

  • Alle virtuellen Adressbereiche in Zuordnungsvorgängen und der Zielbereich in Kopiervorgängen müssen zum gleichen reservierten (Null)-Bereich gehören.
  • Der virtuelle Adressbereich der Quelle in Kopiervorgängen darf aus einem anderen reservierten (Null)-Bereich stammen.
  • Der virtuelle Quelladressbereich in allen Kopiervorgängen muss zum gleichen reservierten (Null)-Bereich gehören.
Der Benutzermodustreiber kann viele pfnUpdateGpuVirtualAddressCb Aufrufe und Vorgänge hinter dem Renderingzaun in die Warteschlange gestellt werden. Wenn die Anzahl der Aktualisierungsvorgänge in der Warteschlange 128 überschreitet, wird der aufrufende Thread blockiert, bis die vorherigen Vorgänge vom Videospeicher-Manager verarbeitet werden.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10
mindestens unterstützte Server- Windows Server 2016
Zielplattform- Desktop
Header- d3dumddi.h (include D3dumddi.h)

Siehe auch

D3DDDICB_UPDATEGPUVIRTUALADDRESS

pfnReserveGpuVirtualAddressCb