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 |
注意 :
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定されている場合は 2、そうでない場合は 1 です。
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定され、テクスチャーがキューブ マップの場合は 4、そうでない場合は 1 です。
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定されている場合は 6、そうでない場合は 1 です。
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定されていない場合は 1 です。そうでない場合は、次のようになります。
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定され、テクスチャーがキューブ マップの場合は 4 です。
- D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定され、テクスチャーがキューブ マップでない場合は 3 です。