Registro de direcciones

El registro a0 es un registro de direcciones. Hay disponible un único registro en la versión vs_1_1. El registro de direcciones, designado como a0.x en vs_1_1, se puede usar como un desplazamiento entero con signo para el direccionamiento relativo en el archivo de registro constante. Para las versiones vs_2_0 y versiones posteriores, los cuatro componentes (.x, .y, .z, .w) están disponibles para el direccionamiento relativo.

c[a0.x + n]

Un sombreador de vértices no puede leer el registro de direcciones, solo se puede usar para el direccionamiento relativo de un registro constante. La lectura de valores fuera del intervalo legal devolverá (0,0, 0,0, 0,0, 0,0). El registro de direcciones solo puede ser un destino para el mov - vs instrucción. Si un número de punto flotante se mueve a un registro entero, se produce una conversión de redondeo a más cercana.

Todos los sombreadores deben inicializar el registro de direcciones antes de usarlo. Para la versión vs_2_0 y versiones posteriores, la instrucción mova - vs puede mover un valor de punto flotante a un registro de direcciones.

Versiones del sombreador de vértices 1_1 2_0 2_sw 2_x 3_0 3_sw
Registro de direcciones x x x x x x

 

Registros de sombreador de vértices