ID3D12Device 接口 (d3d12.h)
表示虚拟适配器;它用于创建命令分配器、命令列表、命令队列、围栏、资源、管道状态对象、堆、根签名、采样器和许多资源视图。
注意此接口是在 Windows 10 中引入的。 面向Windows 10的应用程序应使用此接口,而不是更高版本。 面向更高版本的 Windows 10 的应用程序应使用相应版本的 ID3D12Device 接口。 此接口的最新版本是 Windows 10 Fall Creators Update 中引入的 ID3D12Device3。
继承
ID3D12Device 接口继承自 ID3D12Object。 ID3D12Device 还具有以下类型的成员:
方法
ID3D12Device 接口具有这些方法。
注解
使用 D3D12CreateDevice 创建设备。
对于Windows 10周年纪念日,ID3D12Device1 提供了一些附加功能。
示例
D3D1211on12 示例使用 ID3D12Device,如下所示:
头文件声明。
// 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;
检查支持的功能。
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;
}
请参阅 D3D12 参考中的示例代码。
要求
要求 | 值 |
---|---|
目标平台 | Windows |
标头 | d3d12.h |