Kernschnittstellen
Die folgenden Schnittstellen werden in d3d12.h deklariert.
In diesem Abschnitt
Thema | Beschreibung |
---|---|
ID3D12CommandAllocator- | Stellt die Speicherzuweisungen für GPU-Befehle (Graphics Processing Unit) dar. |
ID3D12CommandList- | Eine Schnittstelle, von der ID3D12GraphicsCommandList erbt. Er stellt einen geordneten Satz von Befehlen dar, die von der GPU ausgeführt werden, während die Erweiterung andere Befehlslisten als nur diejenigen für Grafiken unterstützt (z. B. Berechnen und Kopieren). |
ID3D12CommandQueue | Stellt Methoden zum Übermitteln von Befehlslisten bereit, Synchronisierung der Befehlslistenausführung, Instrumentieren der Befehlswarteschlange und Aktualisieren von Ressourcenkachelzuordnungen. |
ID3D12CommandSignature | Mit einem Befehlssignaturobjekt können Apps eine indirekte Zeichnung angeben, einschließlich des Pufferformats, des Befehlstyps und der zu verwendenden Ressourcenbindungen. |
ID3D12DescriptorHeap- | Ein Deskriptor heap ist eine Sammlung zusammenhängender Zuordnungen von Deskriptoren, einer Zuordnung für jeden Deskriptor. Deskriptor-Heaps enthalten viele Objekttypen, die nicht Teil eines Pipeline state Object (PSO) sind, z. B. Shader-Ressourcenansichten (SRVs), ungeordnete Zugriffsansichten (UAVs), Konstantenpufferansichten (CBVs) und Sampler. |
ID3D12Device- | Stellt einen virtuellen Adapter dar; Es wird verwendet, um Befehlsverteiler, Befehlslisten, Befehlswarteschlangen, Zäune, Ressourcen, Pipelinestatusobjekte, Heaps, Stammsignaturen, Sampler und viele Ressourcenansichten zu erstellen. |
ID3D12Device1 | Stellt einen virtuellen Adapter dar und erweitert den Von ID3D12Devicebereitgestellten Methodenbereich. |
ID3D12Device2- | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device1-, um Pipelinestatusobjekte aus Pipelinestatusbeschreibungen zu erstellen. |
ID3D12Device3- | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device2-, um die Erstellung spezieller Diagnose heaps im Systemspeicher zu unterstützen, die auch bei einem GPU-Fehler- oder gerätefernen Szenario bestehen bleiben. |
ID3D12Device4- | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device3. |
ID3D12Device5- | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device4. |
ID3D12Device6- | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device5. |
ID3D12Device7- | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device6. |
ID3D12Device8- | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device7. |
ID3D12Device9- | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device8-, um Methoden zum Verwalten von Shadercaches hinzuzufügen. |
ID3D12Device10- | Stellt einen virtuellen Adapter dar. |
ID3D12DeviceChild | Eine Schnittstelle, von der andere Kernschnittstellen erben, einschließlich ID3D12PipelineLibrary, ID3D12CommandList, ID3D12Pageableund ID3D12RootSignature. Es stellt eine Methode bereit, um zum Geräteobjekt zurückzukehren, mit dem es erstellt wurde. |
ID3D12DeviceRemovedExtendedData | Stellt Laufzeitzugriff auf Daten vom Typ Device Removed Extended Data (DRED) bereit. |
ID3D12DeviceRemovedExtendedDataSettings | Diese Schnittstelle steuert die Einstellungen für erweiterte Daten (Device Removed Extended Data, DRED). |
ID3D12Fence- | Stellt einen Zaun dar, ein Objekt, das für die Synchronisierung der CPU und einer oder mehrerer GPUs verwendet wird. |
ID3D12Fence1 | Stellt einen Zaun dar. Diese Schnittstelle erweitert ID3D12Fenceund unterstützt den Abruf der Flags, die zum Erstellen des ursprünglichen Zauns verwendet werden. |
ID3D12GraphicsCommandList- | Kapselt eine Liste von Grafikbefehlen zum Rendern. Enthält APIs zum Instrumentieren der Ausführung der Befehlsliste und zum Festlegen und Löschen des Pipelinestatus. |
ID3D12GraphicsCommandList1 | Kapselt eine Liste von Grafikbefehlen für das Rendern, erweitern die Inteface, um programmierbare Beispielpositionen, Atomkopien für die Implementierung von Late-Latch-Techniken und optionale Tiefengrenzentests zu unterstützen. |
ID3D12GraphicsCommandList2 | Kapselt eine Liste von Grafikbefehlen zum Rendern, wodurch die Schnittstelle erweitert wird, um das direkte Schreiben von unmittelbaren Werten in einen Puffer zu unterstützen. |
ID3D12GraphicsCommandList3 | Kapselt eine Liste von Grafikbefehlen zum Rendern. |
ID3D12GraphicsCommandList4 | Kapselt eine Liste von Grafikbefehlen zum Rendern, wodurch die Schnittstelle erweitert wird, um die Ray-Tracing- und Renderdurchläufe zu unterstützen. |
ID3D12GraphicsCommandList7 | TBD |
ID3D12Heap- | Ein Heap ist eine Abstraktion der zusammenhängenden Speicherzuweisung, die zum Verwalten des physischen Speichers verwendet wird. Dieser Heap kann mit ID3D12Resource- Objekten verwendet werden, um platzierte Ressourcen oder reservierte Ressourcen zu unterstützen. |
ID3D12LifetimeOwner | Stellt einen anwendungsdefinierten Rückruf dar, der verwendet wird, um über Lebenszyklusänderungen eines Objekts benachrichtigt zu werden. |
ID3D12LifetimeTracker | Stellt Einrichtungen zum Steuern der Lebensdauer eines lebensspurten Objekts dar. |
ID3D12MetaCommand- | Stellt einen Metabefehl dar. Ein Metabefehl ist ein Direct3D 12-Objekt, das einen Algorithmus darstellt, der von unabhängigen Hardwareanbietern (IHVs) beschleunigt wird. Es handelt sich um einen undurchsichtigen Verweis auf einen Befehlsgenerator, der vom Treiber implementiert wird. |
ID3D12Object- | Eine Schnittstelle, von der ID3D12Device und ID3D12DeviceChild erben. Es stellt Methoden bereit, um private Daten zuzuordnen und Objektnamen zu kommentieren. |
ID3D12Pageable | Eine Schnittstelle, von der viele andere Kernschnittstellen erben. Es weist darauf hin, dass der Objekttyp eine gewisse Menge an GPU-zugänglichen Arbeitsspeicher kapselt. gibt jedoch nicht stark an, ob die Anwendung die Residency des Objekts bearbeiten kann. |
ID3D12PipelineLibrary | Verwaltet eine Pipelinebibliothek, insbesondere das Laden und Abrufen einzelner PSOs. |
ID3D12PipelineLibrary1 | Verwaltet eine Pipelinebibliothek. Diese Schnittstelle erweitert ID3D12PipelineLibrary, um PSOs aus einer Beschreibung des Pipelinestatus zu laden. |
ID3D12PipelineState- | Stellt den Status aller derzeit festgelegten Shader sowie bestimmte Feste Funktionszustandsobjekte dar. |
ID3D12QueryHeap- | Verwaltet einen Abfragehap. Ein Abfragehap enthält ein Array von Abfragen, auf das von Indizes verwiesen wird. |
ID3D12Resource- | Kapselt eine generalisierte Fähigkeit der CPU und GPU zum Lesen und Schreiben in physischen Arbeitsspeicher oder Heaps. Sie enthält Abstraktionen zum Organisieren und Bearbeiten einfacher Arrays von Daten sowie für mehrdimensionale Daten, die für shader-Samplings optimiert sind. |
ID3D12RootSignature | Die Stammsignatur definiert, welche Ressourcen an die Grafikpipeline gebunden sind. Eine Stammsignatur wird von der App konfiguriert und verknüpft Befehlslisten mit den Ressourcen, die die Shader benötigen. Derzeit gibt es eine Grafik und eine Computestammsignatur pro App. |
ID3D12RootSignatureDeserializer | Enthält eine Methode zum Zurückgeben der deserialisierten D3D12-ROOT-SIGNATURE-DESC Datenstruktur einer serialisierten Stammsignatur, Version 1.0. |
ID3D12SDKConfiguration | Stellt SDK-Konfigurationsmethoden bereit. |
ID3D12ShaderCacheSession- | Stellt eine Shadercachesitzung dar. |
ID3D12StateObject | Stellt eine variable Menge an Konfigurationsstatus, einschließlich Shadern, dar, die eine Anwendung als einzelne Einheit verwaltet und einem Treiber atomar zur Verarbeitung übergeben wird, z. B. kompilieren oder optimieren. |
ID3D12StateObjectProperties | Stellt Methoden zum Abrufen und Festlegen der Eigenschaften eines ID3D12StateObject-bereit. |
ID3D12Tools- | Diese Schnittstelle wird verwendet, um die Laufzeit für Tools wie PIX zu konfigurieren. Es ist nicht für ein anderes Szenario vorgesehen oder unterstützt. |
ID3D12VersionedRootSignatureDeserializer | Enthält Methoden, um die deserialisierte D3D12-ROOT-SIGNATURE-DESC1 Datenstruktur einer beliebigen Version einer serialisierten Stammsignatur zurückzugeben. |
ID3D12VirtualizationGuestDevice | TBD |