Metode ID3D12Device::CopyDescriptors (d3d12.h)
Menyalin deskriptor dari sumber ke tujuan.
Sintaks
void CopyDescriptors(
[in] UINT NumDestDescriptorRanges,
[in] const D3D12_CPU_DESCRIPTOR_HANDLE *pDestDescriptorRangeStarts,
[in, optional] const UINT *pDestDescriptorRangeSizes,
[in] UINT NumSrcDescriptorRanges,
[in] const D3D12_CPU_DESCRIPTOR_HANDLE *pSrcDescriptorRangeStarts,
[in, optional] const UINT *pSrcDescriptorRangeSizes,
[in] D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
);
Parameter
[in] NumDestDescriptorRanges
Jenis: UINT
Jumlah rentang deskriptor tujuan yang akan disalin.
[in] pDestDescriptorRangeStarts
Jenis: const D3D12_CPU_DESCRIPTOR_HANDLE*
Array objek D3D12_CPU_DESCRIPTOR_HANDLE untuk disalin.
Semua deskriptor tujuan dan sumber harus berada dalam timbunan D3D12_DESCRIPTOR_HEAP_TYPE yang sama.
[in, optional] pDestDescriptorRangeSizes
Jenis: const UINT*
Array ukuran rentang deskriptor tujuan untuk disalin.
[in] NumSrcDescriptorRanges
Jenis: UINT
Jumlah rentang deskriptor sumber untuk disalin.
[in] pSrcDescriptorRangeStarts
Jenis: const D3D12_CPU_DESCRIPTOR_HANDLE*
Array objek D3D12_CPU_DESCRIPTOR_HANDLE untuk disalin.
Penting
Semua elemen dalam parameter pSrcDescriptorRangeStarts harus berada dalam tumpukan deskriptor yang tidak terlihat shader. Ini karena tumpukan deskriptor yang terlihat shader dapat dibuat dalam memori WRITE_COMBINE atau memori lokal GPU, yang sangat lambat untuk dibaca. Jika aplikasi Anda mengelola tumpukan deskriptor melalui penyalinan deskriptor yang diperlukan untuk pass atau bingkai tertentu dari tumpukan deskriptor "penyimpanan" lokal ke tumpukan deskriptor yang terikat GPU, gunakan tumpukan shader-buram untuk tumpukan penyimpanan dan salin ke timbunan yang terlihat GPU sesuai kebutuhan.
[in, optional] pSrcDescriptorRangeSizes
Jenis: const UINT*
Array ukuran rentang deskriptor sumber untuk disalin.
[in] DescriptorHeapsType
Jenis: D3D12_DESCRIPTOR_HEAP_TYPE
Nilai D3D12_DESCRIPTOR_HEAP_TYPE-ketik yang menentukan jenis tumpukan deskriptor untuk disalin. Ini diperlukan karena jenis deskriptor yang berbeda mungkin memiliki ukuran yang berbeda.
Tumpukan deskriptor sumber dan tujuan harus memiliki jenis yang sama, jika tidak, lapisan debug akan memancarkan kesalahan.
Nilai kembali
Tidak ada
Keterangan
Jika berlaku, pilih ID3D12Device::CopyDescriptorsSimple ke metode ini. Ini dapat memiliki laju kehilangan cache CPU yang lebih baik karena sifat linear salinan.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Windows |
Header | d3d12.h |
Pustaka | D3D12.lib |
DLL | D3D12.dll |