Método ID3D12Device::CopyDescriptors (d3d12.h)
Copia descritores de uma origem para um destino.
Sintaxe
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
);
Parâmetros
[in] NumDestDescriptorRanges
Tipo: UINT
O número de intervalos de descritor de destino para o qual copiar.
[in] pDestDescriptorRangeStarts
Tipo: const D3D12_CPU_DESCRIPTOR_HANDLE*
Uma matriz de objetos D3D12_CPU_DESCRIPTOR_HANDLE para o qual copiar.
Todos os descritores de destino e de origem devem estar em heaps do mesmo D3D12_DESCRIPTOR_HEAP_TYPE.
[in, optional] pDestDescriptorRangeSizes
Tipo: const UINT*
Uma matriz de tamanhos de intervalo do descritor de destino para o qual copiar.
[in] NumSrcDescriptorRanges
Tipo: UINT
O número de intervalos de descritores de origem dos qual copiar.
[in] pSrcDescriptorRangeStarts
Tipo: const D3D12_CPU_DESCRIPTOR_HANDLE*
Uma matriz de objetos D3D12_CPU_DESCRIPTOR_HANDLE para copiar.
Importante
Todos os elementos no parâmetro pSrcDescriptorRangeStarts devem estar em um heap de descritor não visível para sombreador. Isso ocorre porque os heaps de descritor visíveis do sombreador podem ser criados na memória WRITE_COMBINE ou na memória local da GPU, o que é proibitivamente lento para leitura. Se o aplicativo gerenciar heaps de descritor por meio da cópia dos descritores necessários para um determinado passe ou quadro de heaps de descritor local de "armazenamento" para o heap de descritor associado à GPU, use heaps opacos de sombreador para os heaps de armazenamento e copie para o heap visível por GPU, conforme necessário.
[in, optional] pSrcDescriptorRangeSizes
Tipo: const UINT*
Uma matriz de tamanhos de intervalo de descritor de origem para copiar.
[in] DescriptorHeapsType
Tipo: D3D12_DESCRIPTOR_HEAP_TYPE
O valor tipado D3D12_DESCRIPTOR_HEAP_TYPE que especifica o tipo de heap de descritor com o qual copiar. Isso é necessário, pois diferentes tipos de descritor podem ter tamanhos diferentes.
Os heaps de descritor de origem e de destino devem ter o mesmo tipo, caso contrário, a camada de depuração emitirá um erro.
Retornar valor
Nenhum
Comentários
Quando aplicável, prefira ID3D12Device::CopyDescriptorsSimple a esse método. Ele pode ter uma taxa de perda de cache de CPU melhor devido à natureza linear da cópia.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Windows |
Cabeçalho | d3d12.h |
Biblioteca | D3D12.lib |
DLL | D3D12.dll |