Interfaz ID3D12Device (d3d12.h)

Representa un adaptador virtual; se usa para crear asignadores de comandos, listas de comandos, colas de comandos, vallas, recursos, objetos de estado de canalización, montones, firmas raíz, muestreadores y muchas vistas de recursos.

Nota Esta interfaz se introdujo en Windows 10. Las aplicaciones destinadas a Windows 10 deben usar esta interfaz en lugar de versiones posteriores. Las aplicaciones destinadas a una versión posterior de Windows 10 deben usar la versión adecuada de la interfaz ID3D12Device. La versión más reciente de esta interfaz es ID3D12Device3 introducida en Windows 10 Fall Creators Update.
 

Herencia

La interfaz ID3D12Device hereda de ID3D12Object. ID3D12Device también tiene estos tipos de miembros:

Métodos

La interfaz ID3D12Device tiene estos métodos.

 
ID3D12Device::CheckFeatureSupport

Obtiene información sobre las características compatibles con el controlador de gráficos actual. (ID3D12Device.CheckFeatureSupport)
ID3D12Device::CopyDescriptors

Copia descriptores de un origen en un destino. (ID3D12Device.CopyDescriptors)
ID3D12Device::CopyDescriptorsSimple

Copia descriptores de un origen en un destino. (ID3D12Device.CopyDescriptorsSimple)
ID3D12Device::CreateCommandAllocator

Crea un objeto de asignador de comandos.
ID3D12Device::CreateCommandList

Crea una lista de comandos.
ID3D12Device::CreateCommandQueue

Crea una cola de comandos.
ID3D12Device::CreateCommandSignature

Este método crea una firma de comando.
ID3D12Device::CreateCommittedResource

Crea un recurso y un montón implícito, de modo que el montón es lo suficientemente grande como para contener todo el recurso y el recurso se asigna al montón.
ID3D12Device::CreateComputePipelineState

Crea un objeto de estado de canalización de proceso.
ID3D12Device::CreateConstantBufferView

Crea una vista de búfer constante para acceder a los datos de recursos.
ID3D12Device::CreateDepthStencilView

Crea una vista de galería de símbolos de profundidad para acceder a los datos de recursos.
ID3D12Device::CreateDescriptorHeap

Crea un objeto de montón de descriptores.
ID3D12Device::CreateFence

Crea un objeto de barrera. (ID3D12Device.CreateFence)
ID3D12Device::CreateGraphicsPipelineState

Crea un objeto de estado de canalización de gráficos.
ID3D12Device::CreateHeap

Crea un montón que se puede usar con recursos colocados y recursos reservados.
ID3D12Device::CreatePlacedResource

Crea un recurso que se coloca en un montón específico. Los recursos colocados son los objetos de recursos más ligeros disponibles y son los más rápidos para crear y destruir.
ID3D12Device::CreateQueryHeap

Crea un montón de consultas. Un montón de consultas contiene una matriz de consultas.
ID3D12Device::CreateRenderTargetView

Crea una vista de destino de representación para acceder a los datos de recursos. (ID3D12Device.CreateRenderTargetView)
ID3D12Device::CreateReservedResource

Crea un recurso reservado y aún no asignado a ninguna página de un montón.
ID3D12Device::CreateRootSignature

Crea un diseño de firma raíz.
ID3D12Device::CreateSampler

Cree un objeto sampler que encapsula la información de muestreo de una textura.
ID3D12Device::CreateShaderResourceView

Crea una vista de recursos de sombreador para acceder a los datos de un recurso. (ID3D12Device.CreateShaderResourceView)
ID3D12Device::CreateSharedHandle

Crea un identificador compartido en un montón, un recurso o un objeto de barrera.
ID3D12Device::CreateUnorderedAccessView

Crea una vista para el acceso desordenado.
ID3D12Device::Evict

Habilita la página fuera de los datos, lo que impide el acceso de GPU a esos datos.
ID3D12Device::GetAdapterLuid

Obtiene un identificador único local para el dispositivo actual (adaptador).
ID3D12Device::GetCopyableFootprints

Obtiene un diseño de recursos que se puede copiar. Ayuda al relleno de la aplicación D3D12_PLACED_SUBRESOURCE_FOOTPRINT y a D3D12_SUBRESOURCE_FOOTPRINT cuando se sube el espacio en montones de carga.
ID3D12Device::GetDescriptorHandleIncrementSize

Obtiene el tamaño del incremento del identificador para el tipo determinado de montón de descriptores. Este valor se usa normalmente para incrementar un identificador en una matriz de descriptores por la cantidad correcta.
ID3D12Device::GetDeviceRemovedReason

Obtiene el motivo por el que se quitó el dispositivo.
ID3D12Device::GetNodeCount

Notifica el número de adaptadores físicos (nodos) asociados a este dispositivo.
ID3D12Device::GetResourceTiling

Obtiene información sobre cómo se divide un recurso en mosaico en iconos. (ID3D12Device.GetResourceTiling)
ID3D12Device::MakeResident

Hace que los objetos resida para el dispositivo.
ID3D12Device::OpenSharedHandle

Abre un identificador para recursos compartidos, montones compartidos y barreras compartidas mediante HANDLE y REFIID.
ID3D12Device::OpenSharedHandleByName

Abre un identificador para recursos compartidos, montones compartidos y barreras compartidas, mediante El nombre y el acceso.
ID3D12Device::SetStablePowerState

Ayuda en tiempo de desarrollo para determinados tipos de generación de perfiles y prototipos experimentales.

Comentarios

Use D3D12CreateDevice para crear un dispositivo.

Para Windows 10 aniversario, hay disponible alguna funcionalidad adicional a través de ID3D12Device1.

Ejemplos

El ejemplo D3D1211on12 usa ID3D12Device de la siguiente manera:

Declaraciones de archivo de encabezado.

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

Comprobación de las características admitidas.

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 el código de ejemplo en la referencia D3D12.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado d3d12.h

Consulte también

Interfaces principales

Creación de descriptores

ID3D12Device1

ID3D12Device2

ID3D12Object

Administración de la memoria en Direct3D 12