Antarmuka ID3D12Device (d3d12.h)
Mewakili adaptor virtual; ini digunakan untuk membuat alokator perintah, daftar perintah, antrean perintah, pagar, sumber daya, objek status alur, tumpukan, tanda tangan akar, sampler, dan banyak tampilan sumber daya.
Warisan
Antarmuka ID3D12Device mewarisi dari ID3D12Object. ID3D12Device juga memiliki jenis anggota berikut:
Metode
Antarmuka ID3D12Device memiliki metode ini.
ID3D12Device::CheckFeatureSupport Mendapatkan informasi tentang fitur yang didukung oleh driver grafis saat ini. (ID3D12Device.CheckFeatureSupport) |
ID3D12Device::CopyDescriptors Menyalin deskriptor dari sumber ke tujuan. (ID3D12Device.CopyDescriptors) |
ID3D12Device::CopyDescriptorsSimple Menyalin deskriptor dari sumber ke tujuan. (ID3D12Device.CopyDescriptorsSimple) |
ID3D12Device::CreateCommandAllocator Membuat objek alokator perintah. |
ID3D12Device::CreateCommandList Membuat daftar perintah. |
ID3D12Device::CreateCommandQueue Membuat antrean perintah. |
ID3D12Device::CreateCommandSignature Metode ini membuat tanda tangan perintah. |
ID3D12Device::CreateCommittedResource Membuat sumber daya dan tumpukan implisit, sehingga tumpukan cukup besar untuk memuat seluruh sumber daya, dan sumber daya dipetakan ke tumpukan. |
ID3D12Device::CreateComputePipelineState Membuat objek status alur komputasi. |
ID3D12Device::CreateConstantBufferView Membuat tampilan buffer konstan untuk mengakses data sumber daya. |
ID3D12Device::CreateDepthStencilView Membuat tampilan stensil kedalaman untuk mengakses data sumber daya. |
ID3D12Device::CreateDescriptorHeap Membuat objek timbunan deskriptor. |
ID3D12Device::CreateFence Membuat objek pagar. (ID3D12Device.CreateFence) |
ID3D12Device::CreateGraphicsPipelineState Membuat objek status alur grafis. |
ID3D12Device::CreateHeap Membuat tumpukan yang dapat digunakan dengan sumber daya yang ditempatkan dan sumber daya yang dipesan. |
ID3D12Device::CreatePlacedResource Membuat sumber daya yang ditempatkan dalam tumpukan tertentu. Sumber daya yang ditempatkan adalah objek sumber daya dengan bobot paling ringan yang tersedia, dan merupakan yang tercepat untuk dibuat dan dihancurkan. |
ID3D12Device::CreateQueryHeap Membuat timbunan kueri. Timbunan kueri berisi array kueri. |
ID3D12Device::CreateRenderTargetView Membuat tampilan target render untuk mengakses data sumber daya. (ID3D12Device.CreateRenderTargetView) |
ID3D12Device::CreateReservedResource Membuat sumber daya yang dicadangkan, dan belum dipetakan ke halaman mana pun dalam tumpukan. |
ID3D12Device::CreateRootSignature Membuat tata letak tanda tangan akar. |
ID3D12Device::CreateSampler Buat objek sampler yang merangkum informasi pengambilan sampel untuk tekstur. |
ID3D12Device::CreateShaderResourceView Membuat tampilan sumber daya shader untuk mengakses data dalam sumber daya. (ID3D12Device.CreateShaderResourceView) |
ID3D12Device::CreateSharedHandle Membuat handel bersama ke objek heap, sumber daya, atau pagar. |
ID3D12Device::CreateUnorderedAccessView Membuat tampilan untuk akses yang tidak berurut. |
ID3D12Device::Evict Memungkinkan page-out data, yang menghalangi akses GPU dari data tersebut. |
ID3D12Device::GetAdapterLuid Mendapatkan pengidentifikasi unik lokal untuk perangkat saat ini (adaptor). |
ID3D12Device::GetCopyableFootprints Mendapatkan tata letak sumber daya yang dapat disalin. Membantu aplikasi mengisi D3D12_PLACED_SUBRESOURCE_FOOTPRINT dan D3D12_SUBRESOURCE_FOOTPRINT saat melakukan suballocating ruang dalam heap pengunggahan. |
ID3D12Device::GetDescriptorHandleIncrementSize Mendapatkan ukuran kenaikan handel untuk jenis tumpukan deskriptor yang diberikan. Nilai ini biasanya digunakan untuk menaikkan handel ke dalam array deskriptor dengan jumlah yang benar. |
ID3D12Device::GetDeviceRemovedReason Mendapatkan alasan perangkat dihapus. |
ID3D12Device::GetNodeCount Melaporkan jumlah adaptor fisik (simpul) yang terkait dengan perangkat ini. |
ID3D12Device::GetResourceTiling Mendapatkan info tentang bagaimana sumber daya ubin dipecah menjadi petak peta. (ID3D12Device.GetResourceTiling) |
ID3D12Device::MakeResident Membuat objek residen untuk perangkat. |
ID3D12Device::OpenSharedHandle Membuka handel untuk sumber daya bersama, tumpukan bersama, dan pagar bersama, dengan menggunakan HANDLE dan REFIID. |
ID3D12Device::OpenSharedHandleByName Membuka handel untuk sumber daya bersama, tumpukan bersama, dan pagar bersama, dengan menggunakan Nama dan Akses. |
ID3D12Device::SetStablePowerState Bantuan waktu pengembangan untuk jenis pembuatan profil tertentu dan pembuatan prototipe eksperimental. |
Keterangan
Gunakan D3D12CreateDevice untuk membuat perangkat.
Untuk Windows 10 Anniversary, beberapa fungsionalitas tambahan tersedia melalui ID3D12Device1.
Contoh
Sampel D3D1211on12 menggunakan ID3D12Device sebagai berikut:
Deklarasi file header.
// 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;
Memeriksa fitur yang didukung.
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;
}
Lihat Contoh Kode dalam Referensi D3D12.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d12.h |