Interfaccia ID3D12Device (d3d12.h)

Rappresenta una scheda virtuale; viene usato per creare allocatori dei comandi, elenchi di comandi, code di comandi, recinzioni, risorse, oggetti stato della pipeline, heaps, firme radice, esempi e molte visualizzazioni delle risorse.

Nota Questa interfaccia è stata introdotta in Windows 10. Le applicazioni destinate Windows 10 devono usare questa interfaccia anziché 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 grafico 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 di comandi.
ID3D12Device::CreateCommandList

Crea un elenco di comandi.
ID3D12Device::CreateCommandQueue

Crea una coda di comandi.
ID3D12Device::CreateCommandSignature

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

Crea sia una risorsa che un heap implicito, in modo che l'heap sia abbastanza grande da contenere l'intera risorsa e che la risorsa venga 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 stencil di profondità per l'accesso ai dati delle risorse.
ID3D12Device::CreateDescriptorHeap

Crea un oggetto heap descrittore.
ID3D12Device::CreateFence

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

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

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

Crea una risorsa inserita in un heap specifico. Le risorse posizionate sono gli oggetti risorsa di peso più leggeri disponibili e sono più veloci da creare e distruggere.
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 a pagine 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 risorsa 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 recinzione.
ID3D12Device::CreateUnorderedAccessView

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

Abilita l'interruzione della pagina dei dati, che impedisce l'accesso alla GPU di 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 heaps di caricamento.
ID3D12Device::GetDescriptorHandleIncrementSize

Ottiene le dimensioni dell'incremento dell'handle per il tipo specificato di heap descrittore. Questo valore viene in genere usato per incrementare un handle in una matrice 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 a questo dispositivo.
ID3D12Device::GetResourceTiling

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

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

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

Apre un handle per le risorse condivise, gli heaps condivisi e le recinzioni condivise usando Nome e Accesso.
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;

Verifica 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

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d12.h

Vedi anche

Interfacce di base

Creazione di descrittori

ID3D12Device1

ID3D12Device2

ID3D12Object

Gestione della memoria in Direct3D 12