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

另請參閱

複製描述項

ID3D12Device