Tas du descripteur non visible par le nuanceur

Certains segments de descripteurs ne peuvent pas être référencés par les nuanceurs via des tables de descripteurs, mais ils existent soit pour aider l’application à préproduction des descripteurs avant l’enregistrement d’une liste de commandes, soit parce qu’aucun tas visible par le nuanceur n’est requis.

Affichages non visibles

Tous les tas de descripteurs, y compris les tas de descripteurs accessibles au nuanceur décrits précédemment, peuvent être manipulés par le processeur et/ou les listes de commandes en fonction du pool de mémoire et des propriétés d’accès au processeur que l’application sélectionne pour un tas de descripteur.

Pour les tas de descripteurs visibles du nuanceur, la raison évidente de refuser l’accès du nuanceur à ces tas de descripteurs est pendant leur mise en scène. Ensuite, ces tas sont rendus visibles par le nuanceur et accessibles via des tables de descripteurs lors de l’exécution de la liste de commandes. Toutefois, il n’est pas nécessaire de mettre en scène des tas visibles par le nuanceur. Ils peuvent être renseignés directement.

D’autres descripteurs sont liés au pipeline en ayant leur contenu enregistré directement dans la liste de commandes. Ces descripteurs servent uniquement à traduire les paramètres d’affichage au moment de l’enregistrement de la liste de commandes. Ces tas sont toujours non-nuanceurs visibles et contiennent les éléments suivants.

  • Affichages cibles de rendu (RTV)
  • Vues de gabarit de profondeur (DSV)

Les vues de mémoire tampon d’index (IBV), les vues tampons de vertex (VBV) et les vues de sortie de flux (SOV) sont transmises directement aux méthodes d’API. Elles n’ont pas de types de tas spécifiques.

Après avoir enregistré dans la liste de commandes (avec un appel tel que OMSetRenderTargets, par exemple), la mémoire utilisée pour contenir les descripteurs pour cet appel est immédiatement disponible pour une réutilisation après l’appel.

Même les tables de descripteurs ont des options dans lesquelles une application peut permettre à l’implémentation de choisir d’enregistrer le contenu de la table lors de l’enregistrement de la liste de commandes (plutôt que de déréférencer le pointeur de table au moment de l’exécution).

Récapitulatif

Nuanceur visible, écriture processeur uniquement Non-nuanceur visible, lecture/écriture du processeur
CBV, SRV, UAV Oui Oui
SAMPLER Oui Oui
Retour au fournisseur non Oui
DSV non Oui

 

Tas de descripteurs