Partager via


Registre d’adresses

Le registre a0 est un registre d’adresses. Un registre unique est disponible dans la version vs_1_1. Le registre d’adresses, désigné sous la forme a0.x dans vs_1_1, peut être utilisé comme offset d’entier signé pour l’adressage relatif dans le fichier de registre constant. Pour les versions vs_2_0 et ultérieures, les quatre composants (.x, .y, .z, .w) sont disponibles pour l’adressage relatif.

c[a0.x + n]

Le registre d’adresses ne peut pas être lu par un nuanceur de vertex, il peut uniquement être utilisé pour l’adressage relatif d’un registre de constantes. Les valeurs de lecture en dehors de la plage juridique sont retournées (0,0, 0,0, 0,0). Le registre d’adresses ne peut être qu’une destination pour l’instruction mov - vs . Si un nombre à virgule flottante est déplacé dans un registre d’entiers, une conversion arrondie à proche se produit.

Tous les nuanceurs doivent initialiser le registre d’adresses avant de l’utiliser. Pour les versions vs_2_0 et ultérieures, l’instruction mova - vs peut déplacer une valeur à virgule flottante vers un registre d’adresses.

Versions du nuanceur de vertex 1_1 2_0 2_sw 2_x 3_0 3_sw
Registre d’adresses x x x x x x

 

Registres du nuanceur de vertex