Core-Schnittstellen
Die folgenden Schnittstellen werden in d3d12.h deklariert.
In diesem Abschnitt
Thema | BESCHREIBUNG |
---|---|
ID3D12CommandAllocator | Stellt die Speicherzuordnungen für GPU-Befehle (Graphics Processing Unit) dar. |
ID3D12CommandList | Eine Schnittstelle, von der ID3D12GraphicsCommandList erbt. Es stellt einen geordneten Satz von Befehlen dar, die von der GPU ausgeführt werden, während die Erweiterung andere Befehlslisten unterstützt, als nur die für Grafiken (z. B. Compute und Kopieren). |
ID3D12CommandQueue | Stellt Methoden zum Übermitteln von Befehlslisten, Synchronisieren der Befehlslistenausführung, Instrumentieren der Befehlswarteschlange und Aktualisieren von Ressourcenkachelzuordnungen bereit. |
ID3D12CommandSignature | Mit einem Befehlssignaturobjekt können Apps indirekte Zeichnung angeben, einschließlich des Pufferformats, des Befehlstyps und der zu verwendenden Ressourcenbindungen. |
ID3D12DescriptorHeap | Ein Deskriptorheap ist eine Sammlung zusammenhängender Zuordnungen von Deskriptoren, eine Zuordnung für jeden Deskriptor. Deskriptorheaps enthalten viele Objekttypen, die nicht Teil eines Pipelinestatusobjekts (Pipeline State Object, PSO) sind, z. B. Shader Resource Views (SRVs), Unordered Access Views (UAVs), Constant Buffer Views (CBVs) und Sampler. |
ID3D12Device | Stellt einen virtuellen Adapter dar; Es wird verwendet, um Befehlszuordnungen, Befehlslisten, Befehlswarteschlangen, Zäune, Ressourcen, Pipelinestatusobjekte, Heaps, Stammsignaturen, Sampler und viele Ressourcensichten zu erstellen. |
ID3D12Device1 | Stellt einen virtuellen Adapter dar und erweitert den Von ID3D12Device bereitgestellten Methodenbereich. |
ID3D12Device2 | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device1 , um Pipelinestatusobjekte aus Pipelinestatusdatenstrombeschreibungen zu erstellen. |
ID3D12Device3 | Stellt einen virtuellen Adapter dar. Diese Schnittstelle erweitert ID3D12Device2 , um die Erstellung von Speziellen Diagnoseheaps im Systemspeicher zu unterstützen, die auch im Fall eines GPU-Fehlers oder eines Geräteferneszenarios beibehalten werden. |
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, ID3D12Pageable und ID3D12RootSignature. Es stellt eine Methode bereit, um zu dem Geräteobjekt zurückzukehren, für das es erstellt wurde. |
ID3D12DeviceRemovedExtendedData | Bietet Laufzeitzugriff auf DRED-Daten (Device Removed Extended Data). |
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 mindestens einer GPUs verwendet wird. |
ID3D12Fence1 | Stellt einen Zaun dar. Diese Schnittstelle erweitert ID3D12Fence und 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 Befehlslistenausführung sowie zum Festlegen und Löschen des Pipelinestatus. |
ID3D12GraphicsCommandList1 | Kapselt eine Liste von Grafikbefehlen zum Rendern, erweitert das Inteface, um programmierbare Beispielpositionen, atomare Kopien für die Implementierung von Spät-Latch-Techniken und optionale Tiefengrenzentests zu unterstützen. |
ID3D12GraphicsCommandList2 | Kapselt eine Liste von Grafikbefehlen für das Rendern, wodurch die Schnittstelle erweitert wird, um das Schreiben von unmittelbaren Werten direkt in einen Puffer zu unterstützen. |
ID3D12GraphicsCommandList3 | Kapselt eine Liste von Grafikbefehlen zum Rendern. |
ID3D12GraphicsCommandList4 | Kapselt eine Liste von Grafikbefehlen zum Rendern und erweitert die Schnittstelle, um Raytracing und Renderdurchläufe zu unterstützen. |
ID3D12GraphicsCommandList7 | TBD |
ID3D12Heap | Ein Heap ist eine Abstraktion der zusammenhängenden Speicherzuordnung, die zum Verwalten des physischen Arbeitsspeichers verwendet wird. Dieser Heap kann mit ID3D12Resource-Objekten verwendet werden, um platzierte Oder reservierte Ressourcen zu unterstützen. |
ID3D12LifetimeOwner | Stellt einen anwendungsdefinierten Rückruf dar, der verwendet wird, um über Änderungen der Lebensdauer eines Objekts benachrichtigt zu werden. |
ID3D12LifetimeTracker | Stellt Funktionen zum Steuern der Lebensdauer eines lebensgetrackten 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. Sie bietet Methoden zum Zuordnen privater Daten und zum Kommentieren von Objektnamen. |
ID3D12Pageable | Eine Schnittstelle, von der viele andere Kernschnittstellen erben. Es gibt an, dass der Objekttyp eine gewisse Menge an GPU-zugänglichem Arbeitsspeicher kapselt. gibt jedoch nicht eindeutig an, ob die Anwendung die Residenz 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 Pipelinestatusdatenstroms zu laden. |
ID3D12PipelineState | Stellt den Zustand aller derzeit festgelegten Shader sowie bestimmte feste Funktionszustandsobjekte dar. |
ID3D12QueryHeap | Verwaltet einen Abfrageheap. Ein Abfrageheap enthält ein Array von Abfragen, auf die von Indizes verwiesen wird. |
ID3D12Resource | Kapselt eine generalisierte Fähigkeit der CPU und GPU zum Lesen und Schreiben in physischen Arbeitsspeicher oder Heaps. Es enthält Abstraktionen zum Organisieren und Bearbeiten einfacher Datenarrays sowie mehrdimensionale Daten, die für shader-Sampling 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 des Konfigurationszustands dar, einschließlich Shadern, die eine Anwendung als einzelne Einheit verwaltet und die einem Treiber atomisch zum Verarbeiten zugewiesen 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 Runtime für Tools wie PIX zu konfigurieren. Es ist nicht für ein anderes Szenario vorgesehen oder unterstützt. |
ID3D12VersionedRootSignatureDeserializer | Enthält Methoden zum Zurückgeben der deserialisierten D3D12-ROOT-SIGNATURE-DESC11-Datenstruktur einer beliebigen Version einer serialisierten Stammsignatur. |
ID3D12VirtualizationGuestDevice | TBD |