DCL _ indexRange (SM4-ASM)

Déclare une plage de registres accessibles par index (un entier calculé dans le nuanceur).

DCL _ IndexRange minRegisterM, maxRegisterN
Élément Description
minRegisterM
dans Premier registre auquel accéder par index.
  • minRegister est soit v pour un registre d’entrée de nuanceur de vertex ou de pixels, soit o pour un registre de sortie de nuanceur de sommets.
  • M est un entier qui indique le numéro du Registre.
maxRegisterN
dans Dernier registre auquel accéder par index. Même forme que minRegister , sauf que N est le numéro du Registre.

Les restrictions suivantes s’appliquent à tous les registres :

  • Les registres min et Max doivent être du même type et avoir les mêmes masques de composant (si les masques sont déclarés).
  • Un registre peut avoir plusieurs plages d’index, à condition qu’elles ne se chevauchent pas.
  • Le numéro de Registre minimal doit être inférieur au nombre maximal de registres.
  • Un registre d’index ne peut pas contenir une valeur système.
  • L’indexation d’un registre en dehors de la déclaration d’index max génère des résultats indéfinis.

Les registres d’entrée de nuanceur de pixels doivent utiliser le même mode d’interpolation ; les registres de sortie du nuanceur de pixels ne sont pas indexables.

Un registre d’entrée de nuanceur Geometry a deux dimensions (axe de vertex, axe d’attribut); la plage d’index s’applique uniquement à l’axe des attributs, car l’axe des vertex est toujours entièrement indexé.

Cette instruction s’applique aux étapes suivantes du nuanceur :

Nuanceur de sommets Nuanceur de géométrie Nuanceur de pixels
x x x

Cette instruction est incluse pour faciliter le débogage d’un nuanceur dans l’assembly. vous ne pouvez pas créer de nuanceur dans un langage assembleur à l’aide du nuanceur modèle 4.

Exemple

Voici un exemple.

dcl_indexRange v1, v3
dcl_indexRange v4, v9

Modèle de nuanceur minimal

Cette fonction est prise en charge dans les modèles de nuanceur suivants.

Modèle de nuanceur Prise en charge
Shader, modèle 5 Oui
Modèle de nuanceur 4,1 Oui
Nuanceur modèle 4 Oui
Shader Model 3 (DirectX HLSL) Non
Shader Model 2 (DirectX HLSL) Non
Shader Model 1 (DirectX HLSL) Non

Assembly modèle 4 du nuanceur (DirectX HLSL)