Share via


dcl_indexableTemp (sm4 - asm)

Déclare un registre temporaire indexable.

dcl_indexableTemp xN[size], ComponentCount
Élément Description
Xn
[in] Registre indexable temporaire.
  • N est un entier qui identifie le numéro de registre.
  • [size] est une valeur entière facultative. Nombre d’éléments dans le tableau de registre.
ComponentCount
[in] Valeur entière facultative. Nombre de composants dans le tableau de registre.

Un registre contient suffisamment d’espace pour une valeur à quatre composants 32 bits ; le nombre d’éléments dans le tableau de registres temporaires (indexables et non indexables) ne peut pas dépasser 4096.

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 de code généré pour les registres indexables.

dcl_indexableTemp x0[23], 2 ; // An indexable array of 23, 2-component, 32-bit elements
dcl_indexableTemp x1[16], 4 ; // An indexable array of 16, 4-component, 32-bit elements

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

Shader Model 4 Assembly (DirectX HLSL)