ID3D12Device-Schnittstelle (d3d12.h)

Stellt einen virtuellen Adapter dar; Es wird verwendet, um Befehlszuordnungen, Befehlslisten, Befehlswarteschlangen, Zäune, Ressourcen, Pipelinestatusobjekte, Heaps, Stammsignaturen, Sampler und viele Ressourcensichten zu erstellen.

Hinweis Diese Schnittstelle wurde in Windows 10 eingeführt. Anwendungen, die auf Windows 10 abzielen, sollten diese Schnittstelle anstelle höherer Versionen verwenden. Anwendungen, die auf eine höhere Version von Windows 10 abzielen, sollten die entsprechende Version der ID3D12Device-Schnittstelle verwenden. Die neueste Version dieser Schnittstelle ist ID3D12Device3, die in Windows 10 Fall Creators Update eingeführt wurde.
 

Vererbung

Die ID3D12Device-Schnittstelle erbt von ID3D12Object. ID3D12Device verfügt auch über folgende Arten von Membern:

Methoden

Die ID3D12Device-Schnittstelle verfügt über diese Methoden.

 
ID3D12Device::CheckFeatureSupport

Ruft Informationen zu den Features ab, die vom aktuellen Grafiktreiber unterstützt werden. (ID3D12Device.CheckFeatureSupport)
ID3D12Device::CopyDescriptors

Kopiert Deskriptoren aus einer Quelle in ein Ziel. (ID3D12Device.CopyDescriptors)
ID3D12Device::CopyDescriptorsSimple

Kopiert Deskriptoren aus einer Quelle in ein Ziel. (ID3D12Device.CopyDescriptorsSimple)
ID3D12Device::CreateCommandAllocator

Erstellt ein Befehlszuordnungsobjekt.
ID3D12Device::CreateCommandList

Erstellt eine Befehlsliste.
ID3D12Device::CreateCommandQueue

Erstellt eine Befehlswarteschlange.
ID3D12Device::CreateCommandSignature

Diese Methode erstellt eine Befehlssignatur.
ID3D12Device::CreateCommittedResource

Erstellt sowohl eine Ressource als auch einen impliziten Heap, sodass der Heap groß genug ist, um die gesamte Ressource zu enthalten, und die Ressource dem Heap zugeordnet wird.
ID3D12Device::CreateComputePipelineState

Erstellt ein Computepipelinezustandsobjekt.
ID3D12Device::CreateConstantBufferView

Erstellt eine Konstantenpuffersicht für den Zugriff auf Ressourcendaten.
ID3D12Device::CreateDepthStencilView

Erstellt eine Tiefenschablonenansicht für den Zugriff auf Ressourcendaten.
ID3D12Device::CreateDescriptorHeap

Erstellt ein Deskriptor-Heapobjekt.
ID3D12Device::CreateFence

Erstellt ein Zaunobjekt. (ID3D12Device.CreateFence)
ID3D12Device::CreateGraphicsPipelineState

Erstellt ein Grafikpipelinezustandsobjekt.
ID3D12Device::CreateHeap

Erstellt einen Heap, der mit platzierten Ressourcen und reservierten Ressourcen verwendet werden kann.
ID3D12Device::CreatePlacedResource

Erstellt eine Ressource, die in einem bestimmten Heap platziert wird. Platzierte Ressourcen sind die leichtesten verfügbaren Ressourcenobjekte und sind die schnellsten, um sie zu erstellen und zu zerstören.
ID3D12Device::CreateQueryHeap

Erstellt einen Abfrageheap. Ein Abfrageheap enthält ein Array von Abfragen.
ID3D12Device::CreateRenderTargetView

Erstellt eine Renderzielansicht für den Zugriff auf Ressourcendaten. (ID3D12Device.CreateRenderTargetView)
ID3D12Device::CreateReservedResource

Erstellt eine Ressource, die reserviert ist und noch keinen Seiten in einem Heap zugeordnet ist.
ID3D12Device::CreateRootSignature

Erstellt ein Stammsignaturlayout.
ID3D12Device::CreateSampler

Erstellen Sie ein Samplerobjekt, das Samplinginformationen für eine Textur kapselt.
ID3D12Device::CreateShaderResourceView

Erstellt eine Shaderressourcensicht für den Zugriff auf Daten in einer Ressource. (ID3D12Device.CreateShaderResourceView)
ID3D12Device::CreateSharedHandle

Erstellt ein freigegebenes Handle für ein Heap-, Ressourcen- oder Zaunobjekt.
ID3D12Device::CreateUnorderedAccessView

Erstellt eine Ansicht für den ungeordneten Zugriff.
ID3D12Device::Evict

Aktiviert das Ausblättern von Daten, was den GPU-Zugriff auf diese Daten ausschließt.
ID3D12Device::GetAdapterLuid

Ruft einen lokal eindeutigen Bezeichner für das aktuelle Gerät (Adapter) ab.
ID3D12Device::GetCopyableFootprints

Ruft ein Ressourcenlayout ab, das kopiert werden kann. Unterstützt die App beim Ausfüllen von D3D12_PLACED_SUBRESOURCE_FOOTPRINT und D3D12_SUBRESOURCE_FOOTPRINT beim Unterzuweisen von Speicherplatz in Uploadheaps.
ID3D12Device::GetDescriptorHandleIncrementSize

Ruft die Größe des Handleinkrements für den angegebenen Typ des Deskriptorheaps ab. Dieser Wert wird in der Regel verwendet, um ein Handle in ein Deskriptorarray um den richtigen Betrag zu erhöhen.
ID3D12Device::GetDeviceRemovedReason

Ruft den Grund ab, aus dem das Gerät entfernt wurde.
ID3D12Device::GetNodeCount

Gibt die Anzahl der physischen Adapter (Knoten) an, die diesem Gerät zugeordnet sind.
ID3D12Device::GetResourceTiling

Ruft Informationen darüber ab, wie eine gekachelte Ressource in Kacheln unterteilt wird. (ID3D12Device.GetResourceTiling)
ID3D12Device::MakeResident

Stellt Objekte für das Gerät ein.
ID3D12Device::OpenSharedHandle

Öffnet mithilfe von HANDLE und REFIID ein Handle für freigegebene Ressourcen, freigegebene Heaps und freigegebene Zäune.
ID3D12Device::OpenSharedHandleByName

Öffnet mithilfe von Name und Access ein Handle für freigegebene Ressourcen, freigegebene Heaps und freigegebene Zäune.
ID3D12Device::SetStablePowerState

Eine Hilfe zur Entwicklungszeit für bestimmte Arten von Profilerstellung und experimentellem Prototyping.

Hinweise

Verwenden Sie D3D12CreateDevice , um ein Gerät zu erstellen.

Für Windows 10 Anniversary sind einige zusätzliche Funktionen über ID3D12Device1 verfügbar.

Beispiele

Das D3D1211on12-Beispiel verwendet ID3D12Device wie folgt:

Headerdateideklarationen.

// 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;

Überprüfung unterstützter Features.

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;
}

Weitere Informationen finden Sie im Beispielcode in der D3D12-Referenz.

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile d3d12.h

Weitere Informationen

Kernschnittstellen

Erstellen von Deskriptoren

ID3D12Device1

ID3D12Device2

ID3D12Object

Arbeitsspeicherverwaltung in Direct3D 12