DCL _ indexableTemp (SM4-ASM)

Déclare un registre temporaire indexé.

DCL _ indexableTemp x N [ taille ] , ComponentCount
Élément Description
N
[dans ] un entier qui indique le numéro du Registre.
[corps]
[dans ] une valeur entière facultative. Nombre d’éléments dans le tableau de registres.
ComponentCount
[dans ] une valeur entière facultative. Nombre de composants dans le tableau de registres.

Un registre contient suffisamment d’espace pour une valeur de quatre composants 32 bits ; le nombre d’éléments dans le tableau de registres temporaires (indexable et non indexable) 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 de nuanceur dans un langage assembleur à l’aide du nuanceur modèle 4.

Exemple

Voici quelques exemples du 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 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)