Signatures racines
La signature racine définit les types de ressources liés au pipeline graphique.
Dans cette section
Sujet | Description |
---|---|
Vue d’ensemble des signatures racines |
Une signature racine est configurée par l’application et lie des listes de commandes aux ressources dont les nuanceurs ont besoin. La liste de commandes graphiques comporte à la fois une signature graphique et racine de calcul. Une liste de commandes de calcul aura simplement une signature racine de calcul. Ces signatures racines sont indépendantes les unes des autres. |
à l’aide d’une signature racine |
La signature racine est la définition d’une collection arbitrairement organisée de tables de descripteur (y compris leur disposition), de constantes racines et de descripteurs racines. Chaque entrée a un coût vers une limite maximale, de sorte que l’application peut annuler l’équilibre entre le nombre de chaque type d’entrée contenant la signature racine. |
création d’une signature racine |
Les signatures racines sont une structure de données complexe contenant des structures imbriquées. Ceux-ci peuvent être définis par programmation à l’aide de la définition de structure de données ci-dessous (qui inclut des méthodes pour aider à initialiser les membres). Elles peuvent également être créées dans HLSL (High Level Shading Language) ce qui permet au compilateur de valider rapidement que la disposition est compatible avec le nuanceur. |
limites de signature racine |
La signature racine est un immobilier de premier choix, et il existe des limites et des coûts stricts à prendre en compte. |
à l’aide de constantes directement dans la signature racine |
Les applications peuvent définir des constantes racines dans la signature racine, chacune sous la forme d’un ensemble de valeurs 32 bits. Ils apparaissent dans hlSL (High Level Shading Language) comme mémoire tampon constante. Notez que les mémoires tampons constantes pour des raisons historiques sont vues sous forme de jeux de valeurs 4 x 32 bits. |
utiliser des descripteurs directement dans la signature racine |
Les applications peuvent placer des descripteurs directement dans la signature racine pour éviter d’avoir à passer par un tas de descripteurs. Ces descripteurs prennent beaucoup d’espace dans la signature racine (voir la section limites de signature racine), de sorte que les applications doivent les utiliser avec parcimonie. |
exemple de signatures racines |
La section suivante présente les signatures racines qui varient de la complexité de vide à complète. |
spécification de signatures racines dans le HLSL |
La spécification de signatures racines dans le modèle de nuanceur HLSL 5.1 est une alternative à leur spécification dans le code C++. |
signature racine version 1.1 |
L’objectif de la signature racine version 1.1 est de permettre aux applications d’indiquer aux pilotes lorsque les descripteurs dans un tas de descripteur ne changent pas ou que les descripteurs de données pointent pour ne pas changer. Cela permet aux pilotes d’effectuer des optimisations qui peuvent être possibles en sachant qu’un descripteur ou la mémoire à laquelle il pointe est statique pendant une certaine période. |