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é comme a0.x dans vs_1_1, peut être utilisé comme offset 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 ne peut être utilisé que pour l’adressage relatif d’un registre constant. La lecture des valeurs en dehors de la plage légale retourne (0.0, 0.0, 0.0, 0.0). Le registre d’adresses ne peut être qu’une destination pour le mov - vs instruction. Si un nombre à virgule flottante est déplacé dans un registre entier, une conversion arrondie à la plus proche se produit.

Tous les nuanceurs doivent initialiser le registre d’adresses avant de l’utiliser. Pour la version vs_2_0 et les versions 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

 

nuanceur de vertex inscrit