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

Voir aussi

Copie de descripteurs

ID3D12Device