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