コア インターフェイス

d3d12.h では、次のインターフェイスが宣言されています。

このセクションの内容

トピック 説明
ID3D12CommandAllocator グラフィックス処理装置 (GPU) コマンドのストレージの割り当てを表します。
ID3D12CommandList ID3D12GraphicsCommandList の継承元となるインターフェイス。 これは、GPU が実行するコマンドの順序付きセットを表します。一方、拡張機能ではグラフィックス用のコマンド リスト (コンピューティングやコピーなど) だけでなく、他のコマンド リストもサポートできます。
ID3D12CommandQueue コマンド リストの送信、コマンド リストの実行の同期、コマンド キューのインストルメント化、リソース タイル マッピングの更新を行うメソッドを提供します。
ID3D12CommandSignature コマンド 署名オブジェクトを使用すると、アプリは、バッファー形式、コマンドの種類、使用するリソース バインドなど、間接描画を指定できます。
ID3D12DescriptorHeap 記述子ヒープは、記述子の連続した割り当てのコレクションです。記述子ごとに 1 つの割り当てがあります。 記述子ヒープに格納されているのは、パイプライン状態オブジェクト (PSO) の一部ではないさまざまな種類のオブジェクトです。たとえば、シェーダー リソース ビュー (SRV)、順序指定されていないアクセス ビュー (UAV)、定数バッファー ビュー (CBV)、サンプラーです。
ID3D12Device 仮想アダプターを表します。これは、コマンド アロケーター、コマンド リスト、コマンド キュー、フェンス、リソース、パイプライン状態オブジェクト、ヒープ、ルート署名、サンプラー、および多くのリソース ビューを作成するために使用されます。
ID3D12Device1 仮想アダプターを表し、 ID3D12Device によって提供されるメソッドの範囲を拡張します。
ID3D12Device2 仮想アダプターを表します。 このインターフェイスは 、ID3D12Device1 を拡張して、パイプライン状態ストリームの説明からパイプライン状態オブジェクトを作成します。
ID3D12Device3 仮想アダプターを表します。 このインターフェイスは 、ID3D12Device2 を拡張して、GPU 障害またはデバイスが削除されたシナリオの場合でも保持されるシステム メモリ内の特殊な目的の診断ヒープの作成をサポートします。
ID3D12Device4 仮想アダプターを表します。 このインターフェイスは ID3D12Device3 を拡張します
ID3D12Device5 仮想アダプターを表します。 このインターフェイスは ID3D12Device4 を拡張します
ID3D12Device6 仮想アダプターを表します。 このインターフェイスは ID3D12Device5 を拡張します。
ID3D12Device7 仮想アダプターを表します。 このインターフェイスは ID3D12Device6 を拡張します
ID3D12Device8 仮想アダプターを表します。 このインターフェイスは ID3D12Device7 を拡張します
ID3D12Device9 仮想アダプターを表します。 このインターフェイスは 、ID3D12Device8 を拡張して、シェーダー キャッシュを管理するメソッドを追加します。
ID3D12Device10 仮想アダプターを表します。
ID3D12DeviceChild ID3D12PipelineLibrary、ID3D12CommandList、ID3D12PageableID3D12RootSignature など、他のコア インターフェイスの継承元となるインターフェイス。 作成されたデバイス オブジェクトに戻るメソッドが提供されます。
ID3D12DeviceRemovedExtendedData デバイス削除された拡張データ (DRED) データへのランタイム アクセスを提供します。
ID3D12DeviceRemovedExtendedDataSettings このインターフェイスは、デバイスの削除された拡張データ (DRED) 設定を制御します。
ID3D12Fence フェンスを表します。CPU と 1 つ以上の GPU の同期に使用されるオブジェクトです。
ID3D12Fence1 フェンスを表します。 このインターフェイスは ID3D12Fence を拡張し、元のフェンスの作成に使用されるフラグの取得をサポートします。
ID3D12GraphicsCommandList レンダリング用のグラフィックス コマンドの一覧をカプセル化します。 コマンド リストの実行をインストルメント化するための API と、パイプラインの状態を設定およびクリアするための API が含まれています。
ID3D12GraphicsCommandList1 レンダリング、プログラミング可能なサンプル位置をサポートするインターフェイスの拡張、遅延ラッチ手法を実装するためのアトミック コピー、およびオプションの深度境界テストのためのグラフィックス コマンドの一覧をカプセル化します。
ID3D12GraphicsCommandList2 レンダリング用のグラフィックス コマンドの一覧をカプセル化し、インターフェイスを拡張して、即時値をバッファーに直接書き込むのをサポートします。
ID3D12GraphicsCommandList3 レンダリング用のグラフィックス コマンドの一覧をカプセル化します。
ID3D12GraphicsCommandList4 レンダリング用のグラフィックス コマンドの一覧をカプセル化し、レイ トレーシングとレンダー パスをサポートするようにインターフェイスを拡張します。
ID3D12GraphicsCommandList7 TBD
ID3D12Heap ヒープは、物理メモリの管理に使用される連続したメモリ割り当ての抽象化です。 このヒープは 、ID3D12Resource オブジェクトと共に使用して、配置されたリソースまたは予約済みリソースをサポートできます。
ID3D12LifetimeOwner オブジェクトの有効期間の変更を通知するために使用されるアプリケーション定義のコールバックを表します。
ID3D12LifetimeTracker 有効期間追跡オブジェクトの有効期間を制御するための機能を表します。
ID3D12MetaCommand メタ コマンドを表します。 メタ コマンドは、独立系ハードウェア ベンダー (IHV) によって高速化されるアルゴリズムを表すDirect3D 12 オブジェクトです。 これは、ドライバーによって実装されるコマンド ジェネレーターへの不透明な参照です。
ID3D12Object ID3D12DeviceID3D12DeviceChild の継承元となるインターフェイス。 プライベート データを関連付け、オブジェクト名に注釈を付けるメソッドを提供します。
ID3D12Pageable 他の多くのコア インターフェイスの継承元となるインターフェイス。 これは、オブジェクトの種類が GPU アクセス可能なメモリの量をカプセル化することを示します。ただし、アプリケーションがオブジェクトの所在地を操作できるかどうかを強く示すものではありません。
ID3D12PipelineLibrary パイプライン ライブラリ (特に個々の PCO の読み込みと取得) を管理します。
ID3D12PipelineLibrary1 パイプライン ライブラリを管理します。 このインターフェイスは 、ID3D12PipelineLibrary を拡張して、パイプライン状態ストリームの説明から PSO を読み込みます。
ID3D12PipelineState 現在設定されているすべてのシェーダーの状態と、特定の固定関数状態オブジェクトを表します。
ID3D12QueryHeap クエリ ヒープを管理します。 クエリ ヒープは、インデックスによって参照されるクエリの配列を保持します。
ID3D12Resource CPU と GPU の一般化された機能をカプセル化して、物理メモリ (ヒープ) の読み取りと書き込みを行います。 これには、単純なデータ配列を整理および操作するための抽象化と、シェーダー サンプリング用に最適化された多次元データが含まれています。
ID3D12RootSignature ルート署名は、グラフィックス パイプラインにバインドされるリソースを定義します。 ルート署名はアプリで構成され、シェーダーが必要とするリソースにコマンド リストをリンクします。 現在、アプリごとに 1 つのグラフィックスと 1 つのコンピューティング ルート署名があります。
ID3D12RootSignatureDeserializer シリアル化されたルート署名バージョン 1.0 の逆シリアル化された D3D12-ROOT-SIGNATURE-DESC データ構造を返すメソッドが含まれています。
ID3D12SDKConfiguration SDK の構成方法を提供します。
ID3D12ShaderCacheSession シェーダー キャッシュ セッションを表します。
ID3D12StateObject アプリケーションが 1 つのユニットとして管理し、コンパイルや最適化などの処理をアトミックにドライバーに与える、シェーダーを含む可変量の構成状態を表します。
ID3D12StateObjectProperties ID3D12StateObject のプロパティを取得および設定するためのメソッドを提供します。
ID3D12Tools このインターフェイスは、PIX などのツールのランタイムを構成するために使用されます。 これは、他のシナリオでは意図もサポートもされていません。
ID3D12VersionedRootSignatureDeserializer シリアル化されたルート署名の任意のバージョンの逆シリアル化された D3D12-ROOT-SIGNATURE-DESC1 データ構造を返すメソッドが含まれます。
ID3D12VirtualizationGuestDevice TBD