地址寄存器

a0 寄存器是地址寄存器。 单个寄存器在版本vs_1_1中可用。 地址寄存器(在 vs_1_1 中指定为 a0.x)可用作将相对寻址到常量寄存器文件中的带符号整数偏移量。 对于vs_2_0及更高版本, (.x、.y、.z、.w) 的所有四个组件都可用于相对寻址。

c[a0.x + n]

地址寄存器不能由顶点着色器读取,它只能用于常量寄存器的相对寻址。 读取超出法定范围的值将返回 (0.0、0.0、0.0、0.0、0.0) 。 地址寄存器只能是 mov - vs 指令的目标。 如果将浮点数移动到整数寄存器中,则会发生从舍入到最接近的转换。

所有着色器必须先初始化地址寄存器,然后才能使用它。 对于vs_2_0及更高版本, mova - vs 指令可以将浮点值移动到地址寄存器。

顶点着色器版本 1_1 2_0 2_sw 2_x 3_0 3_sw
地址寄存器 x x x x x x

 

顶点着色器寄存器