Freigeben über


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