Interface ID3D12Device (d3d12.h)
Representa um adaptador virtual; ele é usado para criar alocadores de comandos, listas de comandos, filas de comandos, cercas, recursos, objetos de estado de pipeline, heaps, assinaturas raiz, exemplores e muitas exibições de recursos.
Herança
A interface ID3D12Device herda de ID3D12Object. ID3D12Device também tem estes tipos de membros:
Métodos
A interface ID3D12Device tem esses métodos.
ID3D12Device::CheckFeatureSupport Obtém informações sobre os recursos compatíveis com o driver de gráficos atual. (ID3D12Device.CheckFeatureSupport) |
ID3D12Device::CopyDescriptors Copia descritores de uma origem para um destino. (ID3D12Device.CopyDescriptors) |
ID3D12Device::CopyDescriptorsSimple Copia descritores de uma origem para um destino. (ID3D12Device.CopyDescriptorsSimple) |
ID3D12Device::CreateCommandAllocator Cria um objeto alocador de comando. |
ID3D12Device::CreateCommandList Cria uma lista de comandos. |
ID3D12Device::CreateCommandQueue Cria uma fila de comandos. |
ID3D12Device::CreateCommandSignature Esse método cria uma assinatura de comando. |
ID3D12Device::CreateCommittedResource Cria um recurso e um heap implícito, de modo que o heap seja grande o suficiente para conter todo o recurso e o recurso seja mapeado para o heap. |
ID3D12Device::CreateComputePipelineState Cria um objeto de estado do pipeline de computação. |
ID3D12Device::CreateConstantBufferView Cria uma exibição de buffer constante para acessar dados de recursos. |
ID3D12Device::CreateDepthStencilView Cria uma exibição de estêncil de profundidade para acessar dados de recursos. |
ID3D12Device::CreateDescriptorHeap Cria um objeto heap de descritor. |
ID3D12Device::CreateFence Cria um objeto fence. (ID3D12Device.CreateFence) |
ID3D12Device::CreateGraphicsPipelineState Cria um objeto de estado de pipeline gráfico. |
ID3D12Device::CreateHeap Cria um heap que pode ser usado com recursos colocados e recursos reservados. |
ID3D12Device::CreatePlacedResource Cria um recurso que é colocado em um heap específico. Os recursos colocados são os objetos de recurso mais leves disponíveis e são os mais rápidos para criar e destruir. |
ID3D12Device::CreateQueryHeap Cria um heap de consulta. Um heap de consulta contém uma matriz de consultas. |
ID3D12Device::CreateRenderTargetView Cria uma exibição de destino de renderização para acessar dados de recurso. (ID3D12Device.CreateRenderTargetView) |
ID3D12Device::CreateReservedResource Cria um recurso reservado e ainda não mapeado para nenhuma página em um heap. |
ID3D12Device::CreateRootSignature Cria um layout de assinatura raiz. |
ID3D12Device::CreateSampler Crie um objeto de amostra que encapsula informações de amostragem para uma textura. |
ID3D12Device::CreateShaderResourceView Cria uma exibição de recurso de sombreador para acessar dados em um recurso. (ID3D12Device.CreateShaderResourceView) |
ID3D12Device::CreateSharedHandle Cria um identificador compartilhado para um heap, recurso ou objeto fence. |
ID3D12Device::CreateUnorderedAccessView Cria uma exibição para acesso não ordenado. |
ID3D12Device::Remove Habilita a página de dados, o que impede o acesso à GPU desses dados. |
ID3D12Device::GetAdapterLuid Obtém um identificador exclusivo localmente para o dispositivo atual (adaptador). |
ID3D12Device::GetCopyableFootprints Obtém um layout de recurso que pode ser copiado. Ajuda o aplicativo a preencher D3D12_PLACED_SUBRESOURCE_FOOTPRINT e D3D12_SUBRESOURCE_FOOTPRINT ao subalocar espaço em heaps de upload. |
ID3D12Device::GetDescriptorHandleIncrementSize Obtém o tamanho do incremento do identificador para o tipo determinado de heap de descritor. Esse valor normalmente é usado para incrementar um identificador em uma matriz de descritor pelo valor correto. |
ID3D12Device::GetDeviceRemovedReason Obtém o motivo pelo qual o dispositivo foi removido. |
ID3D12Device::GetNodeCount Relata o número de adaptadores físicos (nós) associados a este dispositivo. |
ID3D12Device::GetResourceTiling Obtém informações sobre como um recurso lado a lado é dividido em blocos. (ID3D12Device.GetResourceTiling) |
ID3D12Device::MakeResident Torna os objetos residentes para o dispositivo. |
ID3D12Device::OpenSharedHandle Abre um identificador para recursos compartilhados, heaps compartilhados e cercas compartilhadas usando HANDLE e REFIID. |
ID3D12Device::OpenSharedHandleByName Abre um identificador para recursos compartilhados, heaps compartilhados e cercas compartilhadas usando Nome e Acesso. |
ID3D12Device::SetStablePowerState Um auxílio em tempo de desenvolvimento para determinados tipos de criação de perfil e prototipagem experimental. |
Comentários
Use D3D12CreateDevice para criar um dispositivo.
Para Windows 10 Aniversário, algumas funcionalidades adicionais estão disponíveis por meio de ID3D12Device1.
Exemplos
O exemplo D3D1211on12 usa ID3D12Device da seguinte maneira:
Declarações de arquivo de cabeçalho.
// 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;
Verificando os recursos com suporte.
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;
}
Consulte o código de exemplo na referência D3D12.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d12.h |