dcl_input_sv (sm4 - asm)
Déclare un registre d’entrée de nuanceur qui s’attend à ce qu’une valeur système soit fournie à partir d’une étape précédente.
dcl_input_sv vN[.mask], systemValueName[, interpolationMode] |
---|
Élément | Description |
---|---|
vN |
[in] Registre de données de vertex.
|
systemValueName |
[in] Nom de la valeur système qui est une chaîne (voir sémantique de valeur système) sans le préfixe « SV_ ». |
interpolationMode |
[in] Facultatif. Mode d’interpolation qui affecte la façon dont les valeurs sont calculées pendant la rastérisation ; le mode est utilisé uniquement par un nuanceur de pixels. Ce peut être l’une des valeurs suivantes :
|
Un masque de composant pour une déclaration de valeur système peut être n’importe quel sous-ensemble approprié de [xyzw]; les déclarations ne peuvent pas se chevaucher (chaque déclaration doit suivre la séquence xyzw). Lorsque vous déclarez des valeurs système scalaires (distance de découpage et distance d’élimination, par exemple), vous pouvez déclarer plusieurs valeurs système dans un même registre. Si vous procédez ainsi, assurez-vous que les autres modificateurs tels que les modes d’interpolation correspondent.
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 un nuanceur en langage d’assembly à l’aide du modèle de nuanceur 4.
Exemple
Voici quelques exemples :
// valid
dcl_input v0.y, linear
dcl_input_sv v0.w, clipDistance
dcl_input_sv v0.z, cullDistance
// invalid declarations
dcl_input v0.y, linear
dcl_input_sv v0.x, clipDistance // the y component was previously declared, this declaration must use
// either the z or w component
dcl_input v0.y, linearNoPerspective // the interpolation mode is linear-no-perspective
dcl_input_sv v0.z, renderTargetArrayIndex, constant // the interpolation modes is constant
// the interpolation modes must match
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 |
Modèle de nuanceur 3 (DirectX HLSL) | non |
Shader Model 2 (DirectX HLSL) | non |
Modèle de nuanceur 1 (DirectX HLSL) | non |