アドレス レジスタ
a0 レジスターは、アドレス レジスターです。バージョン vs_1_1 では、単一のレジスタを使用できます。vs_1_1 では a0.x として指定されるアドレス レジスタは、定数レジスタ ファイルに対する相対アドレス指定の符号付き整数オフセットとして使用できます。バージョン vs_2_0 以上では、4 つのすべての要素 (.x、.y、.z、.w) を相対アドレス指定に使用できます。
c[a0.x + n]
頂点シェーダーからアドレス レジスターを読み取ることはできません。アドレス レジスターは、定数レジスターの相対アドレス指定にのみ使用できます。有効範囲外の値を読み取ると、(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 |