ID3D12Device::CopyDescriptorsSimple, méthode (d3d12.h)
Copie les descripteurs d’une source vers une destination.
Syntaxe
void CopyDescriptorsSimple(
[in] UINT NumDescriptors,
[in] D3D12_CPU_DESCRIPTOR_HANDLE DestDescriptorRangeStart,
[in] D3D12_CPU_DESCRIPTOR_HANDLE SrcDescriptorRangeStart,
[in] D3D12_DESCRIPTOR_HEAP_TYPE DescriptorHeapsType
);
Paramètres
[in] NumDescriptors
Type : UINT
Nombre de descripteurs à copier.
[in] DestDescriptorRangeStart
Type : D3D12_CPU_DESCRIPTOR_HANDLE
D3D12_CPU_DESCRIPTOR_HANDLE qui décrit les descripteurs de destination vers 1000.
Les descripteurs de destination et source doivent se trouver dans des tas du même D3D12_DESCRIPTOR_HEAP_TYPE.
[in] SrcDescriptorRangeStart
Type : D3D12_CPU_DESCRIPTOR_HANDLE
D3D12_CPU_DESCRIPTOR_HANDLE qui décrit les descripteurs sources à partir duquel commencer la copie.
Important
Le paramètre SrcDescriptorRangeStart doit se trouver dans un tas de descripteur non visible par le nuanceur. Cela est dû au fait que des tas de descripteurs visibles par le nuanceur peuvent être créés dans WRITE_COMBINE mémoire ou mémoire locale GPU, ce qui est trop lent à lire. Si votre application gère les tas de descripteurs en copiant les descripteurs requis pour une passe ou une trame donnée à partir des tas de descripteurs de « stockage » locaux vers le tas de descripteur lié au GPU, utilisez des tas opaques de nuanceur pour les tas de stockage et copiez-les dans le tas visible par GPU si nécessaire.
[in] DescriptorHeapsType
Type : D3D12_DESCRIPTOR_HEAP_TYPE
Valeur de type D3D12_DESCRIPTOR_HEAP_TYPE qui spécifie le type de tas de descripteur à copier. Cela est nécessaire, car différents types de descripteurs peuvent avoir des tailles différentes.
Les tas de descripteurs source et de destination doivent avoir le même type, sinon la couche de débogage émet une erreur.
Valeur de retour
None
Notes
Le cas échéant, préférez cette méthode à ID3D12Device::CopyDescriptors. Il peut avoir un meilleur taux d’absence du cache du processeur en raison de la nature linéaire de la copie.
Spécifications
Plateforme cible | Windows |
En-tête | d3d12.h |
Bibliothèque | D3D12.lib |
DLL | D3D12.dll |