D3DKMTUpdateGpuVirtualAddress-Funktion (d3dkmthk.h)
D3DKMTUpdateGpuVirtualAddress ist ein spezieller Vorgang, der im Kontext von Kachelressourcen verwendet wird. Dadurch kann der Treiber eine Reihe von Zuordnungsvorgängen angeben, die in einem einzelnen Batch von Seitentabellenupdates auf den virtuellen Prozessadressraum angewendet werden sollen.
Syntax
NTSTATUS D3DKMTUpdateGpuVirtualAddress(
[in] const D3DKMT_UPDATEGPUVIRTUALADDRESS *unnamedParam1
);
Parameter
[in] unnamedParam1
Ein Zeiger auf eine D3DKMT_UPDATEGPUVIRTUALADDRESS Struktur, die den Vorgang beschreibt.
Rückgabewert
Rückgabecode | Beschreibung |
---|---|
STATUS_SUCCESS | Der Gerätekontext wurde erfolgreich erstellt. |
STATUS_INVALID_PARAMETER | Die Parameter wurden überprüft und als falsch ermittelt. |
Diese Funktion gibt möglicherweise auch andere NTSTATUS-Werte zurück.
Hinweise
Der Bereich der virtuellen GPU-Adressen (Graphics Processing Unit) in allen Vorgängen (mit Ausnahme der Quelle der Kopiervorgänge) muss zu einem einzelnen virtuellen Adressbereich gehören, der durch Aufrufen von ReserveGpuVirtualAddressRange abgerufen wurde. Ebenso müssen die virtuellen Adressbereiche aller Quellen in Kopiervorgängen zu einem einzelnen virtuellen Adressbereich gehören, der durch Aufrufen von ReserveGpuVirtualAddressRange 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.
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 UpdateVirtualAddress-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.
Treiber können viele UpdateGpuVirtualAddress-Aufrufe senden, die hinter dem Renderingzaun in die Warteschlange eingereiht werden. Wenn die Anzahl von Aktualisierungsvorgängen in der Warteschlange 128 überschreitet, wird der aufrufende Thread blockiert, bis die vorherigen Vorgänge vom Videospeicher-Manager verarbeitet wurden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 10 |
Unterstützte Mindestversion (Server) | Windows Server 2016 |
Zielplattform | Universell |
Header | d3dkmthk.h (include D3dkmthk.h) |
Bibliothek | Gdi32.lib |
DLL | Gdi32.dll |
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für