次の方法で共有


ps_2_x 命令

このトピックでは、ピクセル シェーダー バージョン 2_X の命令のリファレンス情報について説明します。

次の表に示すように、ピクセル シェーダー命令にはいくつかの種類があります。右側の列の意味は次のとおりです。

  • 命令スロット - 各命令で使われる命令スロットの数です。
  • セットアップ - ピクセル シェーダーには、バージョン命令を 1 つ指定する必要があり、その命令は最初の命令でなければなりません。
  • 算術 - これらの命令は、シェーダー内の算術演算を行います。
  • テクスチャー - これらの命令は、テクスチャー データをロードおよびサンプリングするためと、テクスチャー座標を修飾するために使用します。
  • フロー制御 - これらの命令は命令の実行に対して静的および動的なフロー制御を適用します。
  • 新規 - これらの命令は、このバージョンで新たに追加された命令です。

命令セット

名前 説明 命令スロット セットアップ 算術 テクスチャー フロー制御 新規
abs - ps 絶対値 1 x
add - ps 2 つのベクトルの加算 1 x
break - ps rep...endrep ブロックから抜け出す 1 x x
break_comp - ps 条件に応じて、比較を使って rep...endrep ブロックから抜け出す 3 x x
breakp - ps プレディケーションに基づいて、rep...endrep ブロックから抜け出す 3 x x
call - ps サブルーチンを呼び出します。 2 x x
callnz bool - ps ブール型のレジスタがゼロでない場合に、サブルーチンを呼び出す。 3 x x
callnz pred - ps プレディケーション レジスタが 0 でない場合にサブルーチンを呼び出します。 3 x x
cmp - ps 入力を 0 と比較する 1 x
crs - ps 外積 2 x
dcl_samplerType (sm2, sm3 - ps asm) サンプラのテクスチャー ディメンジョンの宣言 0 x
dcl - (sm2, sm3 - ps asm) 頂点シェーダー出力レジスタとピクセル シェーダー入力レジスタ間の関連付けを宣言する 0 x
def - ps 定数の定義 0 x
defb - ps ブール型定数を定義します。 0 x x
defi - ps 整数型定数を定義します。 0 x x
dp2add - ps 2D の内積と加算 2 x
dp3 - ps 3D の内積 1 x
dp4 - ps 4D の内積 1 x
dsx - ps x 方向の変化割合です。 2 x x
dsy - ps y 方向の変化割合です。 2 x x
else - ps else ブロックの開始 1 x x
endif - ps if...else ブロックの終了 1 x x
endrep - ps 繰り返しブロックを終了します。 2 x x
exp - ps 完全精度の 2x 1 x
frc - ps 小数部 1 x
if bool - ps if ブロックの開始 3 x x
if_comp - ps 比較に基づいて、if ブロックを開始 3 x x
if pred - ps プレディケーションに基づいて、if ブロックを開始 3 x x
label - ps ラベル 0 x x
log - ps 完全精度の log2(x) 1 x
lrp - ps 線形補間 2 x
m3x2 - ps 3x2 行列乗算 2 x
m3x3 - ps 3x3 行列乗算 3 x
m3x4 - ps 3x4 行列乗算 4 x
m4x3 - ps 4x3 行列乗算 3 x
m4x4 - ps 4x4 行列乗算 4 x
mad - ps 乗算と加算 1 x
max - ps 最大 1 x
min - ps 最小 1 x
mov - ps 移動 1 x
mul - ps 乗算 1 x
nop - ps 操作なし 1 x
nrm - ps 正規化 3 x
pow - ps xy 3 x
ps バージョン 0 x
rcp - ps 逆数 1 x
rep - ps 繰り返します。 3 x x
ret - ps サブルーチンの終了です。 1 x x
rsq - ps 逆数平方根 1 x
setp_comp プレディケーション レジスタを設定します。 1 x x
sincos - ps サインおよびコサイン 8 x
sub - ps 減算 1 x
texkill - ps ピクセル レンダリングを終了させる 注意 1 を参照 x
texld - ps_2_0 以上 テクスチャーのサンプリング 注意 2 を参照 x
texldb - ps w 成分の詳細レベルのバイアスを使ったテクスチャー サンプリング 注意 3 を参照 x
texldd - ps ユーザー指定のグラデーションを使用したテクスチャー サンプリングです。 3 x x
texldp - ps w 成分による射影除算を使ったテクスチャー サンプリング 注意 4 を参照 x

注意 :

  1. D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定されている場合は 2、そうでない場合は 1 です。
  2. D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定され、テクスチャーがキューブ マップの場合は 4、そうでない場合は 1 です。
  3. D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定されている場合は 6、そうでない場合は 1 です。
  4. D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定されていない場合は 1 です。そうでない場合は、次のようになります。
    • D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定され、テクスチャーがキューブ マップの場合は 4 です。
    • D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定され、テクスチャーがキューブ マップでない場合は 3 です。