ps_2_0 レジスタ
ピクセル シェーダーはレジスタを使用して、頂点データの取得、ピクセル データの出力、計算中の一時的な結果の保持、テクスチャー サンプリング ステージの識別を行います。レジスタにはさまざまな種類があり、それぞれが固有の機能を持っています。ここでは、ピクセル シェーダー バージョン 2_x 命令のリファレンス情報について説明します。
入力レジスタの種類
レジスタ | 名前 | カウント | 読み取り/書き込み | 読み取りポートの数 | 1 命令あたりの読み取り数 | ディメンジョン | 相対アドレス | デフォルト | DCL の要/不要 |
---|---|---|---|---|---|---|---|---|---|
v# | 入力カラー レジスタ | 2 | R | 1 | 制限なし | 4 | N | Partial(0001)注意 4 を参照してください。 | Y |
r# | テンポラリ レジスタ | 注意 1 を参照してください。 | 読み取り/書き込み | 3 | 制限なし | 4 | N | なし | N |
c# | 浮動小数点型定数レジスタ | 32 | R | 1 | 2 | 4 | N | 0000 | N |
i# | 整数型定数レジスタ | 16 | 注意 2 を参照 | 1 | 1 | 4 | N | 0000 | N |
b# | ブール型定数レジスタ | 16 | 注意 2 を参照 | 1 | 1 | 1 | N | 不適用 | N |
p0 | プレディケーション レジスタ | 1 | 注意 2 を参照 | 1 | 1 | 1 | N | なし | Y |
s# | サンプラー (Direct3D 9 asm-ps) | 16 | 注意 3 を参照 | 1 | 1 | 4 | N | 注意 5 を参照してください。 | Y |
t# | テクスチャー座標レジスタ | 8 | R | 1 | 1 | 4 | N | なし | Y |
注意 :
- 最小 12/最大 32 :r# レジスタの数は、D3DPSHADERCAPS2_0.NumTemps (範囲は 12 ~ 32) によって決まります。
- フロー制御命令のみ使用可能です。
- テクスチャー サンプリング命令のみ使用可能です。
- partial(x, y, z, w) です。レジスタ内でチャンネルのサブセットのみが更新された場合は、他のチャンネルはデフォルト値 (x, y, z, w) をとります。
- サンプラ ルックアップのデフォルトは存在しますが、その値はテクスチャーのフォーマットに依存します。
読み取りポートの数は、1 つの命令で読み取ることのできるレジスタ (それぞれ種類が異なるレジスタ) の数です。
出力レジスタの種類
レジスタ | 名前 | カウント | 読み取り/書き込み | ディメンジョン | 相対アドレス | デフォルト | DCL の要/不要 |
---|---|---|---|---|---|---|---|
oC# | 出力カラー レジスタ | 「複数の要素テクスチャー (Direct3D 9)」を参照 | W | 4 | N | なし | N |
oDepth | 出力深度レジスタ | 1 | W | 1 | N | なし | N |