Neuerungen in Direct3D 12
In diesem Thema wird die wichtigste neue Direct3D 12-Dokumentation beschrieben, die für verschiedene Releases verfügbar ist.
Informationen zum Abrufen und Installieren von Direct3D finden Sie unter Einrichten der Direct3D 12-Programmierumgebung.
Direct3D 12 auf Windows 11
- DirectX Ultimate a.k.a. D3D_FEATURE_LEVEL_12_2.
- HLSL-Shadermodell 6.6
- ID3D12Device9-Schnittstelle und ihre Methoden.
Siehe auch DirectX Agility SDK 1.4.
Windows 10-Update von Mai 2020
Diese Features und APIs wurden für Windows 10, Version 2004 (10.0; Build 19041) – auch als Windows 10 Mai 2020 Update bezeichnet.
- ID3D12Device7-Schnittstelle und ihre Methoden.
- ID3D12Device8-Schnittstelle und ihre Methoden.
- HLSL-Shadermodell 6.5: Direct3D 12 Raytracing (DXR) Tier 1.1, Mesh & Amplification Shader und Sampler-Feedback.
- Die D3D12_HEAP_FLAGS-Enumeration wurde mit dem Hinzufügen von D3D12_HEAP_FLAG_CREATE_NOT_RESIDENT und D3D12_HEAP_FLAG_CREATE_NOT_ZEROED aktualisiert. Weitere Informationen finden Sie unter Mehr Kontrolle über die Speicherzuordnung.
- Die D3D_SHADER_MODEL-Enumeration wurde mit dem Hinzufügen der D3D_SHADER_MODEL_6_6-Konstanten (ein Feature auf experimenteller Ebene) aktualisiert.
Direct3D 12 unter Windows 7
- Direct3D 12 unter Windows 7 ist jetzt für Entwickler verfügbar.
Windows 10-Update von Mai 2019
Diese Features und APIs wurden für Windows 10 Version 1903 (10.0; Build 18362) – auch als Windows 10 May 2019 Update bezeichnet.
- Schattierung mit variabler Rate (VRS) Ermöglicht ihnen die Zuordnung von Renderingleistung und -leistung zu Raten, die je nach gerendertem Bild variieren.
- HLSL-Shadermodell 6.4. Beschreibt die systeminternen Machine Learning-Funktionen, die dem HLSL-Shadermodell 6.4 hinzugefügt wurden.
- D3D12_DRED_VERSION Enumeration. Definiert Konstanten, die eine Version von Device Removed Extended Data (DRED) angeben.
- D3D12_FEATURE_DATA_D3D12_OPTIONS6 Struktur. Gibt die Ebene der Unterstützung an, die der Adapter für Metabefehle bereitstellt.
- D3D12_FEATURE_DATA_QUERY_META_COMMAND Struktur. Gibt die Ebene der Unterstützung an, die der Adapter für Metabefehle bereitstellt.
- D3D12_VARIABLE_SHADING_RATE_TIER Enumeration. Definiert Konstanten, die einen Schattierungsratentarif angeben (für Schattierung mit variabler Rate oder VRS).
- ID3D12Device6-Schnittstelle und ihre Methoden. Wird verwendet, um den Modus für Die Treiber-Hintergrundverarbeitungsoptimierung festzulegen. Weitere Informationen finden Sie unter Hintergrund-Shaderoptimierungen.
- ID3D12DeviceRemovedExtendedData-Schnittstelle und ihre Methoden. Bietet Laufzeitzugriff auf DRED-Daten (Device Removed Extended Data).
- ID3D12DeviceRemovedExtendedDataSettings-Schnittstelle und ihre Methoden. Steuert Die Einstellungen für erweiterte Daten (DRED) vom Gerät entfernt.
- D3D12GraphicsCommandList5-Schnittstelle und ihre Methoden. Unterstützung für Schattierung mit variabler Rate (VRS).
Die D3D_SHADER_MODEL-Enumeration wurde mit dem Hinzufügen der D3D_SHADER_MODEL_6_5-Konstanten (ein Feature auf experimenteller Ebene) aktualisiert.
Die D3D12_COMMAND_LIST_TYPE-Enumeration wurde mit dem Hinzufügen der D3D12_COMMAND_LIST_TYPE_VIDEO_ENCODE-Konstanten aktualisiert.
Die D3D12_FEATURE-Enumeration wurde mit dem Hinzufügen der konstanten D3D12_FEATURE_D3D12_OPTIONS6 und D3D12_FEATURE_QUERY_META_COMMAND aktualisiert.
Die D3D12_RESOURCE_STATES-Enumeration wurde mit dem Hinzufügen der D3D12_RESOURCE_STATE_SHADING_RATE_SOURCE-Konstante aktualisiert.
Windows 10, Version 1809
Diese Features und APIs wurden für Windows 10, Version 1809 (10.0; Build 17763) – auch bekannt als Windows 10 October 2018 Update.
- Direct3D 12 Raytracing , das HLSL-Shadermodell 6.3 verwendet.
- Direct3D 12-Renderdurchläufe
- ID3D12Device5-Schnittstelle und ihre Methoden.
Windows 10, Version 1803
Diese Features und APIs wurden für Windows 10 Version 1803 (10.0; Build 17134) – auch bekannt als Windows 10 Update vom April 2018.
- ID3D12Device4-Schnittstelle und ihre Methoden.
Windows 10, Version 1709
Diese Schnittstellen wurden der Direct3D-Dokumentation für Windows 10 Version 1709 hinzugefügt.
- ID3D12Fence1 erweitert die Funktionalität zum Erstellen von Zäunen, indem es das Abrufen von Flags unterstützt, die zum Erstellen des Zauns übergeben wurden.
- ID3D12GraphicsCommandList2 erweitert die Liste der verfügbaren Grafikbefehle, indem das Schreiben von unmittelbaren Werten direkt in einen Puffer unterstützt wird.
- ID3D12Device3 erweitert die Funktionalität des virtuellen Adapters, indem spezielle Diagnoseheaps im Systemspeicher erstellt werden, die auch im Fall eines GPU-Fehlers oder gerätefernen Szenarios beibehalten werden.
Die D3D_SHADER_MODEL-Enumeration verfügt über einen neuen D3D_SHADER_MODEL_6_1 Wert, der zum Beschreiben des Shadermodells 6.1 hinzugefügt wurde.
Die D3D12_FEATURE-Enumeration verfügt außerdem über die neuen werte D3D12_FEATURE_D3D12_OPTIONS3 und D3D12_FEATURE_EXISTING_HEAPS . Wie die Namen implizieren, können Sie mit diesen Werten nach zusätzlichen Direct3D12-Optionen suchen und die Unterstützung vorhandener Heaps überprüfen.
Windows 10, Version 1703
Diese Themen wurden der Direct3D-Dokumentation für Windows 10 Version 1703 hinzugefügt.
- Die ID3D12Device2::CreatePipelineState-Methode und D3D12_Pipeline_State_Stream_Desc Struktur stellen eine neue und robustere Möglichkeit zum Erstellen von PsOs dar und vereinheitlicht das Inteface zum Erstellen von Grafik- und Computepipelines.
- Die ID3D12Device1::CreatePipelineLibrary1-Methode erweitert die Pipelinebibliotheksschnittstelle, um die mit der neuen, einheitlichen D3D12_Pipeline_State_Stream_Desc-Struktur erstellten PsOs zu akzeptieren.
- Mit der D3D12EnableExperimentalFeatures-Funktion können Entwickler mit bestimmten Features in der Entwicklung mit einem Computer im Entwicklermodus experimentieren.
- Es gibt fünf neue Schnittstellen (siehe Schnittstellenhierarchie):
- Weitere Informationen finden Sie in der Übersicht über das HLSL-Shadermodell 6.0, in dem die welleninternen Vorgänge für Multithread-Pixel- und Compute-Shader beschrieben werden.
- Die Verwendung von ID3D12Device::SetStablePowerState wurde geändert.
- Einige neue Features für Direct3D 11 werden unter Direct3D 11.4-Features beschrieben.
- AtomicCopyBufferUINT und AtomicCopyBufferUINT64 ermöglichen late-latch , um die pervieved Latenz zu reduzieren.
- ID3D12Device2::CreatePipelineState und OMSetDepthBounds ermöglichen Tiefengrenzentests auf unterstützter Hardware.
- ResolveSubresourceRegion ermöglicht die teilweise Auflösung von Unterressourcen, um die Leistung zu optimieren.
- SetSamplePositions ermöglicht programmierbare Beispielpositionen auf unterstützter Hardware.
Update der Dokumentation vom November 2016
- Überarbeitung der Hinweise für ID3D12GraphicsCommandList::D iscardResource.
- Klärung von "Zustandszerfall zu allgemein" (siehe Verwenden von Ressourcenbarrieren zum Synchronisieren von Ressourcenzuständen in Direct3D 12).
- Die D3dx12.h-Headerdatei, auf die unter Hilfsstrukturen und Funktionen für D3D12 verwiesen wird, kann direkt aus der D3D12-Hilfsbibliothek heruntergeladen werden.
Update 2 der Dokumentation vom August 2016
Ein neuer Leitfadenabschnitt mit dem Titel Grundlegendes zur D3D12-Debugebene.
Drei neue Schnittstellen für Debugebenen (im Vorschaumodus) werden beschrieben: ID3D12Debug1, ID3D12DebugCommandList1, ID3D12DebugDevice1.
Update 1 der Dokumentation vom August 2016
- Überarbeitung der Verwendung von Ressourcenbarrieren zum Synchronisieren von Ressourcenzuständen in Direct3D 12.
- Revision des Ressourcenzugriffs mit mehreren Warteschlangen.
Windows 10, Version 1607
Diese Themen wurden der Direct3D-Dokumentation für Windows 10 Version 1607 hinzugefügt.
- Stammsignaturversion 1.1 : Eine Übersicht über die aktualisierten Stammsignaturen, mit denen Apps angeben können, wie statische oder flüchtige Deskriptoren und Daten sind, die grafiktreiberoptimierungen unterstützen können.
- Die ID3D12Device1::CreatePipelineLibrary-Methode beschreibt die Vorteile des Erstellens einer Pipelinebibliothek.
- Es gibt drei neue Schnittstellen (siehe Schnittstellenhierarchie):
- Weitere Informationen finden Sie in der Übersicht über das HLSL-Shadermodell 6.0, in dem die welleninternen Vorgänge für Multithread-Pixel- und Compute-Shader beschrieben werden.
- Die Verwendung von ID3D12Device::SetStablePowerState wurde geändert.
- Einige neue Features für Direct3D 11 werden unter Direct3D 11.4-Features beschrieben.
- Der Bereich der unterstützten Bibliotheken für Direct3D 12 wurde aktualisiert. Weitere Informationen finden Sie im Abschnitt Unterstützte Tools und Bibliotheken des Setups der Direct3D 12-Programmierumgebung.
- Verwenden von DirectX mit High Dynamic Range-Displays und erweiterter Farbe
- Anzeige variabler Aktualisierungsrate
- DXGI 1.5-Verbesserungen