ID3D12Device::CopyDescriptorsSimple 方法 (d3d12.h)
將描述項從來源複製到目的地。
語法
void CopyDescriptorsSimple(
[in] UINT NumDescriptors,
[in] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
[in] D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
[in] D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
);
參數
[in] NumDescriptors
類型: UINT
要複製的描述項數目。
[in] DestDescriptorRangeStart
類型: D3D12_CPU_DESCRIPTOR_HANDLE
描述要開始複製目的地描述項 的D3D12_CPU_DESCRIPTOR_HANDLE 。
目的地和來源描述項必須位於相同 D3D12_DESCRIPTOR_HEAP_TYPE的堆積中。
[in] SrcDescriptorRangeStart
類型: D3D12_CPU_DESCRIPTOR_HANDLE
描述要開始複製來源描述項的 D3D12_CPU_DESCRIPTOR_HANDLE 。
重要
SrcDescriptorRangeStart參數必須位於非著色器可見描述元堆積中。 這是因為著色器可見描述元堆積可能會在 WRITE_COMBINE 記憶體或 GPU 本機記憶體中建立,這非常緩慢而無法讀取。 如果您的應用程式透過將指定傳遞或框架所需的描述元複製到 GPU 系結描述元堆積,以管理描述元堆積,則請視需要使用儲存體堆積的著色器不透明堆積,並視需要複製到 GPU 可見堆積。
[in] DescriptorHeapsType
類型: D3D12_DESCRIPTOR_HEAP_TYPE
D3D12_DESCRIPTOR_HEAP_TYPE型別值,指定要複製的描述項堆積類型。 這是必要的,因為不同的描述元類型可能會有不同的大小。
來源和目的地描述元堆積都必須具有相同類型,否則偵錯層將會發出錯誤。
傳回值
無
備註
如果適用,請偏好使用這個方法 ID3D12Device::CopyDescriptors。 由於複本的線性本質,它可能會有更好的 CPU 快取遺漏率。
需求
目標平台 | Windows |
標頭 | d3d12.h |
程式庫 | D3D12.lib |
Dll | D3D12.dll |