Bagikan melalui


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.

Catatan Antarmuka ini diperkenalkan dalam Windows 10. Aplikasi yang menargetkan Windows 10 harus menggunakan antarmuka ini alih-alih versi yang lebih baru. Aplikasi yang menargetkan versi Windows 10 yang lebih baru harus menggunakan versi antarmuka ID3D12Device yang sesuai. Versi terbaru antarmuka ini adalah ID3D12Device3 yang diperkenalkan di Windows 10 Fall Creators Update.
 

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

Lihat juga

Antarmuka Core

Membuat Deskriptor

ID3D12Device1

ID3D12Device2

ID3D12Object

Manajemen Memori di Direct3D 12