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

注意 :

  1. 最小 12/最大 32 :r# レジスタの数は、D3DPSHADERCAPS2_0.NumTemps (範囲は 12 ~ 32) によって決まります。
  2. フロー制御命令のみ使用可能です。
  3. テクスチャー サンプリング命令のみ使用可能です。
  4. partial(x, y, z, w) です。レジスタ内でチャンネルのサブセットのみが更新された場合は、他のチャンネルはデフォルト値 (x, y, z, w) をとります。
  5. サンプラ ルックアップのデフォルトは存在しますが、その値はテクスチャーのフォーマットに依存します。

読み取りポートの数は、1 つの命令で読み取ることのできるレジスタ (それぞれ種類が異なるレジスタ) の数です。

出力レジスタの種類

レジスタ 名前 カウント 読み取り/書き込み ディメンジョン 相対アドレス デフォルト DCL の要/不要
oC# 出力カラー レジスタ 複数の要素テクスチャー (Direct3D 9)」を参照 W 4 N なし N
oDepth 出力深度レジスタ 1 W 1 N なし N