ID3D12Device インターフェイス (d3d12.h)

仮想アダプターを表します。これは、コマンド アロケーター、コマンド リスト、コマンド キュー、フェンス、リソース、パイプライン状態オブジェクト、ヒープ、ルート署名、サンプラー、および多くのリソース ビューを作成するために使用されます。

メモこのインターフェイスは、Windows 10で導入されました。 Windows 10を対象とするアプリケーションでは、新しいバージョンではなく、このインターフェイスを使用する必要があります。 新しいバージョンの Windows 10 を対象とするアプリケーションでは、適切なバージョンの ID3D12Device インターフェイスを使用する必要があります。 このインターフェイスの最新バージョンは、Windows 10 Fall Creators Updateで導入された ID3D12Device3 です。
 

継承

ID3D12Device インターフェイスは ID3D12Object から継承されます。 ID3D12Device には、次の種類のメンバーもあります。

メソッド

ID3D12Device インターフェイスには、これらのメソッドがあります。

 
ID3D12Device::CheckFeatureSupport

現在のグラフィックス ドライバーでサポートされている機能に関する情報を取得します。 (ID3D12Device.CheckFeatureSupport)
ID3D12Device::CopyDescriptors

ソースから宛先に記述子をコピーします。 (ID3D12Device.CopyDescriptors)
ID3D12Device::CopyDescriptorsSimple

ソースから宛先に記述子をコピーします。 (ID3D12Device.CopyDescriptorsSimple)
ID3D12Device::CreateCommandAllocator

コマンド アロケーター オブジェクトを作成します。
ID3D12Device::CreateCommandList

コマンド リストを作成します。
ID3D12Device::CreateCommandQueue

コマンド キューを作成します。
ID3D12Device::CreateCommandSignature

このメソッドは、コマンド シグネチャを作成します。
ID3D12Device::CreateCommittedResource

リソース全体を格納するのに十分な大きさのヒープであり、リソースがヒープにマップされるように、リソースと暗黙的なヒープの両方を作成します。
ID3D12Device::CreateComputePipelineState

コンピューティング パイプライン状態オブジェクトを作成します。
ID3D12Device::CreateConstantBufferView

リソース データにアクセスするための定数バッファー ビューを作成します。
ID3D12Device::CreateDepthStencilView

リソース データにアクセスするための深度ステンシル ビューを作成します。
ID3D12Device::CreateDescriptorHeap

記述子ヒープ オブジェクトを作成します。
ID3D12Device::CreateFence

フェンス オブジェクトを作成します。 (ID3D12Device.CreateFence)
ID3D12Device::CreateGraphicsPipelineState

グラフィックス パイプライン状態オブジェクトを作成します。
ID3D12Device::CreateHeap

配置されたリソースと予約済みリソースで使用できるヒープを作成します。
ID3D12Device::CreatePlacedResource

特定のヒープに配置されるリソースを作成します。 配置されたリソースは、使用可能な最も軽量なリソース オブジェクトであり、作成と破棄が最も高速です。
ID3D12Device::CreateQueryHeap

クエリ ヒープを作成します。 クエリ ヒープには、クエリの配列が含まれています。
ID3D12Device::CreateRenderTargetView

リソース データにアクセスするためのレンダー ターゲット ビューを作成します。 (ID3D12Device.CreateRenderTargetView)
ID3D12Device::CreateReservedResource

ヒープ内のページにまだマップされていない予約済みのリソースを作成します。
ID3D12Device::CreateRootSignature

ルート署名レイアウトを作成します。
ID3D12Device::CreateSampler

テクスチャのサンプリング情報をカプセル化するサンプラー オブジェクトを作成します。
ID3D12Device::CreateShaderResourceView

リソース内のデータにアクセスするためのシェーダー リソース ビューを作成します。 (ID3D12Device.CreateShaderResourceView)
ID3D12Device::CreateSharedHandle

ヒープ、リソース、またはフェンス オブジェクトへの共有ハンドルを作成します。
ID3D12Device::CreateUnorderedAccessView

順序指定されていないアクセス用のビューを作成します。
ID3D12Device::Evict

データのページアウトを有効にします。これにより、そのデータの GPU アクセスが除外されます。
ID3D12Device::GetAdapterLuid

現在のデバイス (アダプター) のローカル一意識別子を取得します。
ID3D12Device::GetCopyableFootprints

コピーできるリソース レイアウトを取得します。 アップロード ヒープ内の領域をサブ割り当てするときに、アプリのD3D12_PLACED_SUBRESOURCE_FOOTPRINTとD3D12_SUBRESOURCE_FOOTPRINTに役立ちます。
ID3D12Device::GetDescriptorHandleIncrementSize

指定された種類の記述子ヒープのハンドルインクリメントのサイズを取得します。 この値は通常、ハンドルを記述子配列に正しい量だけインクリメントするために使用されます。
ID3D12Device::GetDeviceRemovedReason

デバイスが削除された理由を取得します。
ID3D12Device::GetNodeCount

このデバイスに関連付けられている物理アダプター (ノード) の数を報告します。
ID3D12Device::GetResourceTiling

タイル化されたリソースをタイルに分割する方法に関する情報を取得します。 (ID3D12Device.GetResourceTiling)
ID3D12Device::MakeResident

デバイスにオブジェクトを常駐させます。
ID3D12Device::OpenSharedHandle

HANDLE と REFIID を使用して、共有リソース、共有ヒープ、共有フェンスのハンドルを開きます。
ID3D12Device::OpenSharedHandleByName

名前とアクセスを使用して、共有リソース、共有ヒープ、共有フェンスのハンドルを開きます。
ID3D12Device::SetStablePowerState

特定の種類のプロファイリングと実験的なプロトタイプ作成のための開発時の支援。

注釈

D3D12CreateDevice を使用してデバイスを作成します。

Windows 10記念日には、ID3D12Device1 を通じていくつかの追加機能を利用できます。

D3D1211on12 サンプルでは、次のように ID3D12Device を使用します。

ヘッダー ファイルの宣言。

// Pipeline objects.
D3D12_VIEWPORT m_viewport;
ComPtr<IDXGISwapChain3> m_swapChain;
ComPtr<ID3D12Device> m_device;
ComPtr<ID3D12Resource> m_renderTargets[FrameCount];
ComPtr<ID3D12Resource> m_depthStencil;
ComPtr<ID3D12CommandAllocator> m_commandAllocator;
ComPtr<ID3D12GraphicsCommandList> m_commandList;
ComPtr<ID3D12CommandQueue> m_commandQueue;
ComPtr<ID3D12RootSignature >m_rootSignature;
ComPtr<ID3D12DescriptorHeap> m_rtvHeap;
ComPtr<ID3D12DescriptorHeap> m_cbvSrvHeap;
ComPtr<ID3D12DescriptorHeap> m_dsvHeap;
ComPtr<ID3D12DescriptorHeap> m_samplerHeap;
ComPtr<ID3D12PipelineState> m_pipelineState1;
ComPtr<ID3D12PipelineState> m_pipelineState2;
D3D12_RECT m_scissorRect;

サポートされている機能の確認。

inline UINT8 D3D12GetFormatPlaneCount(
    _In_ ID3D12Device* pDevice,
    DXGI_FORMAT Format
    )
{
    D3D12_FEATURE_DATA_FORMAT_INFO formatInfo = {Format};
    if (FAILED(pDevice->CheckFeatureSupport(D3D12_FEATURE_FORMAT_INFO, &formatInfo, sizeof(formatInfo))))
    {
        return 0;
    }
    return formatInfo.PlaneCount;
}

「D3D12 リファレンス」のコード例を参照してください

要件

要件
対象プラットフォーム Windows
ヘッダー d3d12.h

こちらもご覧ください

コア インターフェイス

記述子の作成

ID3D12Device1

ID3D12Device2

ID3D12Object

Direct3D 12 でのメモリ管理