Partager via


Copie de descripteurs

Les méthodes ID3D12Device::CopyDescriptors et ID3D12Device::CopyDescriptorsSimple sur l’interface de l’appareil utilisent le processeur pour copier immédiatement les descripteurs. Ils peuvent être appelés threads libres tant que plusieurs threads sur le processeur ou le GPU n’effectuent pas d’écritures potentiellement conflictuelles.

Copie immédiate des descripteurs (chronologie du processeur)

Le nombre de descripteurs sources (à partir duquel copier), spécifié sous la forme d’un ensemble de plages de descripteurs, doit être égal au nombre de descripteurs de destination (à copier vers), spécifié sous la forme d’un ensemble distinct de plages de descripteurs. Les plages source et de destination n’ont pas à s’aligner. Par exemple, un ensemble partiellement alloué de descripteurs peut être copié dans une destination contiguë, inversement, ou dans une combinaison quelconque.

Plusieurs tas de descripteurs peuvent être impliqués dans l’opération de copie, à la fois comme source et comme destination. L’utilisation de handles de descripteur en tant que paramètres signifie que les méthodes de copie ne se soucient pas des tas dans lesquels se trouve un descripteur donné : elles ne sont que de la mémoire.

Les types de tas de descripteurs copiés à partir de et vers doivent correspondre, de sorte que les méthodes prennent un type de tas de descripteur unique comme entrée. Le pilote doit connaître le type de tas de tous les descripteurs de l’opération de copie donnée, afin qu’il sache quelle taille de données est impliquée dans l’opération de copie. Le pilote peut également avoir besoin d’effectuer un travail de copie personnalisé si un type de tas de descripteur donné le justifie , un détail d’implémentation. Notez que les descripteurs eux-mêmes n’identifient pas le type vers lequel ils pointent ; par conséquent, un paramètre supplémentaire est requis pour l’opération de copie.

Une API alternative à CopyDescriptors est fournie pour le cas simple de copie d’une plage unique de descripteurs d’un emplacement vers un autre : CopyDescriptorsSimple.

Pour ces méthodes de copie de descripteur basées sur l’appareil (uc chronologie), les descripteurs sources doivent provenir d’un tas de descripteur visible non-nuanceur. Les descripteurs de destination peuvent se trouver dans n’importe quel tas de descripteur visible par le processeur (nuanceur visible ou non).

Descripteurs