Syntaxe
Paramètres
NumDescriptors [in]Type : UINT Le nombre de descripteurs à copier. DestDescriptorRangeStart [in]
Type : D3D12_CPU_DESCRIPTOR_HANDLE Un D3D12_CPU_DESCRIPTOR_HANDLE qui décrit les descripteurs de destination à partir desquels commencer la copie. Les descripteurs de destination et de source doivent se trouver dans des tas du même D3D12_DESCRIPTOR_HEAP_TYPE. SrcDescriptorRangeStart [in]
Type : D3D12_CPU_DESCRIPTOR_HANDLE Un D3D12_CPU_DESCRIPTOR_HANDLE qui décrit les descripteurs source à partir desquels commencer la copie.
Le paramètre SrcDescriptorRangeStart doit se trouver dans un tas de descripteurs non visible par les shaders. En effet, les tas de descripteurs visibles par les shaders peuvent être créés dans de la mémoire WRITE_COMBINE ou dans la mémoire locale du GPU, dont la lecture est extrêmement lente. Si votre application gère les tas de descripteurs en copiant les descripteurs requis pour une passe ou une image donnée depuis des tas de descripteurs de « stockage » locaux vers le tas de descripteurs lié au GPU, utilisez des tas opaques pour les shaders comme tas de stockage et copiez-les dans le tas visible par le GPU selon les besoins.
Type : D3D12_DESCRIPTOR_HEAP_TYPE Valeur de type D3D12_DESCRIPTOR_HEAP_TYPE qui spécifie le type de tas de descripteurs utilisé pour la copie. Ce paramètre est requis, car différents types de descripteurs peuvent avoir des tailles différentes. Les tas de descripteurs source et de destination doivent être du même type, sinon la couche de débogage émettra une erreur.
Valeur renvoyée
Type : void Aucune.Remarques
Lorsque cela est possible, préférez cette méthode à ID3D12Device::CopyDescriptors. Elle peut présenter un meilleur taux d’échec de cache CPU en raison de la nature linéaire de la copie.Configuration requise
En-tête : d3d12_xs.h ou d3d12_x.hBibliothèque : d3d12_xs.lib ou d3d12_x.lib
Plateformes prises en charge : consoles XBOX Series et famille XBOX One
