PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Rückruffunktion (d3dumddi.h)
pfnUpdateGpuVirtualAddressCb ist ein spezieller Vorgang, der im Kontext von Kachelressourcen verwendet wird. Dadurch kann der Benutzermodustreiber eine Reihe von Zuordnungsvorgängen angeben, die in einem einzelnen Batch von Seitentabellenupdates auf den virtuellen Adressraum des Prozesses angewendet werden sollen.
Der Bereich der virtuellen GPU-Adressen (Graphics Processing Unit) in allen Vorgängen (mit Ausnahme der Quelladresse von Kopiervorgängen) muss zu einem einzelnen virtuellen Adressbereich gehören, der durch Aufrufen von pfnReserveGpuVirtualAddressCb abgerufen wurde. Ebenso müssen die virtuellen Adressbereiche aller Quellen in Kopiervorgängen zu einem einzelnen virtuellen Adressbereich gehören, der durch Aufrufen von pfnReserveGpuVirtualAddressCb abgerufen wurde.
Die Seitentabellenupdates werden in einem Pagingkontext ausgeführt, dem angegebenen Renderingkontext zugewiesen und nur auf der GPU ausgeführt, nachdem der zugeordnete Renderingkontext FenceValue für das angegebene überwachte Fence-Objekt signalisiert hat. Wenn die Seitentabellenaktualisierungen abgeschlossen sind, signalisiert der Pagingkontext das überwachte Fence-Objekt an FenceValue+1, sodass der Renderingkontext eine enge Verzahnung mit den Seitentabellenupdates durchführen 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_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.
Hinweise
Die virtuellen Adressbereiche in den Updatevorgängen können 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 bei Kopiervorgängen müssen demselben reservierten Bereich (null) angehören.
- Der virtuelle Quelladressbereich bei Kopiervorgängen darf aus einem anderen reservierten Bereich (null) stammen.
- Der virtuelle Quelladressbereich in allen Kopiervorgängen muss zum gleichen reservierten Bereich (null) gehören.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 |
Unterstützte Mindestversion (Server) | Windows Server 2016 |
Zielplattform | Desktop |
Kopfzeile | d3dumddi.h (include D3dumddi.h) |