Метод 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 типизированное значение, указывающее тип кучи дескриптора для копирования. Это необходимо, так как разные типы дескрипторов могут иметь разные размеры.

Кучи дескриптора источника и назначения должны иметь один и тот же тип, иначе уровень отладки выдаст ошибку.

Возвращаемое значение

None

Remarks

При необходимости предпочитать этот метод id3D12Device::CopyDescriptors. Он может иметь лучшую скорость пропуска кэша ЦП из-за линейного характера копирования.

Требования

   
Целевая платформа Windows
Header d3d12.h
Библиотека D3D12.lib
DLL D3D12.dll

См. также раздел

Копирование дескрипторов

ID3D12Device