Partager via


dcl_indexRange (sm4 - asm)

Déclare une plage de registres qui sera accessible par index (entier calculé dans le nuanceur).

dcl_indexRange minRegisterM, maxRegisterN
Élément Description
minRegisterM
[in] Premier registre à 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 du nuanceur de vertex.
  • M est un entier qui désigne le numéro de registre.
maxRegisterN
[in] Dernier registre auquel accéder par index. Le même formulaire que minRegister , à l’exception de N , est le numéro de 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, tant qu’elles ne se chevauchent pas.
  • Le nombre minimal de registres doit être inférieur au nombre maximal de registres.
  • Un registre d’index ne peut pas contenir de valeur système.
  • L’indexation d’un registre en dehors de la déclaration d’index maximale produit des résultats non définis.

Les registres d’entrée du 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 géométrique a deux dimensions (axe des sommets, axe des attributs) ; la plage d’index s’applique uniquement à l’axe des attributs, car l’axe des sommets est toujours entièrement indexable.

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

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 un nuanceur dans le langage d’assembly à l’aide du modèle de nuanceur 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 Pris en charge
Modèle de nuanceur 5 Oui
Modèle de nuanceur 4.1 Oui
Modèle de nuanceur 4 Oui
Nuanceur modèle 3 (DirectX HLSL) Non
Nuanceur modèle 2 (DirectX HLSL) Non
Nuanceur modèle 1 (DirectX HLSL) Non

Assembly de nuanceur modèle 4 (DirectX HLSL)