ps_2_x

プログラマブル ピクセル シェーダーは、ピクセル データを処理する一連の命令から成ります。レジスタは、ALU との間でデータをやり取りします。追加の制御を適用し、命令、結果、または書き出されるデータを変更することができます。

動的フロー制御

DynamicFlowControlDepth は、動的フロー制御命令 ifif_compif_predbreak - ps、および break_comp - ps のネストの深さを表します。この値は、if_comp ブロックのネストの深さと同等です。この能力が 0 の場合、デバイスは動的フロー制御命令をサポートしません。

テンポラリ レジスタの数

デバイスがサポートしているテンポラリ レジスターの数。この値の範囲は 12 ~ 32 です。

静的フロー制御のネストの深さ

StaticFlowControlDepth は、2 種類の静的フロー制御命令loop /rep および call /callnz のネストの深さを表します。loop /rep 命令は、StaticFlowControlDepth の深さまでネストすることができます。これとは別に、call/callnz 命令は StaticFlowControlDepth の深さまでネストできます。

命令スロットの数

命令スロットの数の範囲は、96 個から最大で 512 個までであり、MaxPixelShaderInstructionSlots で指定されます。実行可能な命令の総数は、MaxPixelShaderInstructionsExecuted で定義されます。ループやサブルーチン呼び出しがあると、この数は命令スロットの数より大きくなります。

任意の入れ換え

D3DD3DPSHADERCAPS2_0_ARBITRARYSWIZZLE が設定されている場合、任意のスイズルがサポートされています。「ソース レジスタのスィズル」を参照してください。

グラデーション命令

D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS が設定されている場合、グラデーション命令がサポートされています。「dsx - ps」、「dsy - ps」、および「texldd - ps」を参照してください。

プレディケーション

D3DD3DPSHADERCAPS2_0_PREDICATION が設定されている場合、命令のプレディケーションがサポートされています。「プレディケーション レジスタ」を参照してください。

従属読み込みの制限

D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT が設定されている場合、従属読み取りに制限はありません。

テクスチャー命令の制限

D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT が設定されている場合、テクスチャー命令に制限はありません。

サンプラーのカウント

16 個のテクスチャー サンプラーを使用できます。