Interfaccia ID3D12Device (d3d12.h)

Rappresenta una scheda virtuale; viene usato per creare allocatori di comandi, elenchi di comandi, code di comandi, recinto, risorse, oggetti di stato della pipeline, heap, firme radice, campionatori e molte visualizzazioni risorse.

Nota Questa interfaccia è stata introdotta in Windows 10. Le applicazioni destinate Windows 10 devono usare questa interfaccia invece delle versioni successive. Le applicazioni destinate a una versione successiva di Windows 10 devono usare la versione appropriata dell'interfaccia ID3D12Device. La versione più recente di questa interfaccia è ID3D12Device3 introdotta in Windows 10 Fall Creators Update.
 

Ereditarietà

L'interfaccia ID3D12Device eredita da ID3D12Object. ID3D12Device include anche questi tipi di membri:

Metodi

L'interfaccia ID3D12Device include questi metodi.

 
ID3D12Device::CheckFeatureSupport

Ottiene informazioni sulle funzionalità supportate dal driver di grafica corrente. (ID3D12Device.CheckFeatureSupport)
ID3D12Device::CopyDescriptors

Copia i descrittori da un'origine a una destinazione. (ID3D12Device.CopyDescriptors)
ID3D12Device::CopyDescriptorsSimple

Copia i descrittori da un'origine a una destinazione. (ID3D12Device.CopyDescriptorsSimple)
ID3D12Device::CreateCommandAllocator

Crea un oggetto allocatore del comando.
ID3D12Device::CreateCommandList

Crea un elenco di comandi.
ID3D12Device::CreateCommandQueue

Crea una coda di comandi.
ID3D12Device::CreateCommandSignature

Questo metodo crea una firma del comando.
ID3D12Device::CreateCommittedResource

Crea sia una risorsa che un heap implicito, in modo che l'heap sia sufficientemente grande da contenere l'intera risorsa e che la risorsa sia mappata all'heap.
ID3D12Device::CreateComputePipelineState

Crea un oggetto stato della pipeline di calcolo.
ID3D12Device::CreateConstantBufferView

Crea una visualizzazione buffer costante per l'accesso ai dati delle risorse.
ID3D12Device::CreateDepthStencilView

Crea una visualizzazione depth-stencil per l'accesso ai dati delle risorse.
ID3D12Device::CreateDescriptorHeap

Crea un oggetto heap descrittore.
ID3D12Device::CreateFence

Crea un oggetto di isolamento. (ID3D12Device.CreateFence)
ID3D12Device::CreateGraphicsPipelineState

Crea un oggetto stato della pipeline grafica.
ID3D12Device::CreateHeap

Crea un heap che può essere usato con le risorse inserite e le risorse riservate.
ID3D12Device::CreatePlacedResource

Crea una risorsa inserita in un heap specifico. Le risorse posizionate sono gli oggetti risorsa più leggeri disponibili e sono il più veloce per creare e distruggere. (ID3D12Device.CreatePlacedResource)
ID3D12Device::CreateQueryHeap

Crea un heap di query. Un heap di query contiene una matrice di query.
ID3D12Device::CreateRenderTargetView

Crea una visualizzazione di destinazione di rendering per l'accesso ai dati delle risorse. (ID3D12Device.CreateRenderTargetView)
ID3D12Device::CreateReservedResource

Crea una risorsa riservata e non ancora mappata ad alcuna pagina in un heap.
ID3D12Device::CreateRootSignature

Crea un layout di firma radice.
ID3D12Device::CreateSampler

Creare un oggetto sampler che incapsula le informazioni di campionamento per una trama.
ID3D12Device::CreateShaderResourceView

Crea una visualizzazione delle risorse shader per l'accesso ai dati in una risorsa. (ID3D12Device.CreateShaderResourceView)
ID3D12Device::CreateSharedHandle

Crea un handle condiviso in un heap, una risorsa o un oggetto di isolamento.
ID3D12Device::CreateUnorderedAccessView

Crea una visualizzazione per l'accesso non ordinato.
ID3D12Device::Evict

Abilita la pagina dei dati, che impedisce l'accesso gpu a tali dati.
ID3D12Device::GetAdapterLuid

Ottiene un identificatore univoco locale per il dispositivo corrente (adattatore).
ID3D12Device::GetCopyableFootprints

Ottiene un layout di risorsa che può essere copiato. Aiuta l'app a compilare D3D12_PLACED_SUBRESOURCE_FOOTPRINT e D3D12_SUBRESOURCE_FOOTPRINT quando si esegue il suballocating dello spazio negli heap di caricamento.
ID3D12Device::GetCustomHeapProperties

Divulga le proprietà heap personalizzate equivalenti usate per i tipi heap non personalizzati, in base alle proprietà dell'architettura dell'adapter.
ID3D12Device::GetDescriptorHandleIncrementSize

Ottiene le dimensioni dell'incremento dell'handle per il tipo specificato di heap del descrittore. Questo valore viene in genere usato per incrementare un handle in una matrice di descrittore in base alla quantità corretta.
ID3D12Device::GetDeviceRemovedReason

Ottiene il motivo per cui il dispositivo è stato rimosso.
ID3D12Device::GetNodeCount

Segnala il numero di adattatori fisici (nodi) associati al dispositivo.
ID3D12Device::GetResourceAllocationInfo

Ottiene le dimensioni e l'allineamento della memoria necessarie per una raccolta di risorse in questa scheda.
ID3D12Device::GetResourceTiling

Ottiene informazioni sul modo in cui una risorsa affiancata viene suddivisa in riquadri. (ID3D12Device.GetResourceTiling)
ID3D12Device::MakeResident

Rende gli oggetti residenti per il dispositivo.
ID3D12Device::OpenSharedHandle

Apre un handle per le risorse condivise, gli heap condivisi e le recinzioni condivise usando HANDLE e REFIID.
ID3D12Device::OpenSharedHandleByName

Apre un handle per le risorse condivise, gli heap condivisi e le recinzioni condivise usando Name e Access.
ID3D12Device::SetStablePowerState

Un aiuto in fase di sviluppo per determinati tipi di profilatura e prototipazione sperimentale.

Commenti

Usare D3D12CreateDevice per creare un dispositivo.

Per Windows 10 Anniversario alcune funzionalità aggiuntive sono disponibili tramite ID3D12Device1.

Esempio

L'esempio D3D1211on12 usa ID3D12Device come indicato di seguito:

Dichiarazioni di file di intestazione.

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

Controllo delle funzionalità supportate.

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

Fare riferimento al codice di esempio nel riferimento D3D12.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione d3d12.h

Vedi anche

Interfacce di base

Creazione di descrittori

ID3D12Device1

ID3D12Device2

ID3D12Object

Gestione della memoria in Direct3D 12