次の方法で共有


ソフトウェア シェーダー

ソフトウェア シェーダーは、ハードウェアのサポートに依存せずにシェーダーを開発できるように実装されています。ソフトウェア シェーダーはすべての機能セットをサポートしています。ソフトウェアとして実装されているため、ベストのパフォーマンスは期待できません。

バージョン 機能セット 要件
vs_2_sw vs_2_x のすべての機能 ソフトウェア頂点処理およびリファレンス デバイスのみでサポートされます。
vs_3_sw vs_3_0 のすべての機能 ソフトウェア頂点処理およびリファレンス デバイスのみでサポートされます。
ps_2_sw ps_2_x のすべての機能 リファレンス デバイスのみでサポートされます。
ps_3_sw ps_3_0 のすべての機能 リファレンス デバイスのみでサポートされます。

一部の検証は、ソフトウェア シェーダーに対して緩和されています。これは、デバッグおよびプロトタイピングが目的の場合には便利です。次の検証が緩和されています(その他のすべての検証は同じままです)。

検証の種類 緩和
命令カウント これは、vs_2_sw、vs_3_sw、ps_2_sw、および ps_3_sw に対して緩和されています。無制限の数の命令が許可されます。
浮動小数点型定数カウント これは、vs_2_sw、vs_3_sw、ps_2_sw、および ps_3_sw に対して緩和されています。最大で 8192 個の定数が許可されます。
浮動小数点型定数カウント これは、vs_2_sw、vs_3_sw、ps_2_sw、および ps_3_sw に対して緩和されています。最大で 8192 個の定数が許可されます。
ブール型定数カウント これは、vs_2_sw、vs_3_sw、ps_2_sw、および ps_3_sw に対して緩和されています。最大で 8192 個の定数が許可されます。
従属読み込みの深度 これは、ps_2_sw について緩和されます。vs_3_0 および ps_3_0 と同様に、無制限の従属読み込みが許可されます。
フロー制御命令とラベルの数 これは、vs_2_sw について緩和されます。無制限のフロー制御命令と最大 2048 のラベルが許可されます。
ループのカウント/開始/ステップ これらは、vs_2_sw、vs_3_sw、ps_2_sw、および ps_3_sw について緩和されます。rep 命令および loop 命令の反復の開始と反復ステップのサイズは、32 ビットの符号付き整数です。反復カウントは、最大で MAX_INT/64 までです。
読み取りポート制限 vs_2_sw、vs_3_sw、ps_2_sw、および ps_3_sw には、読み取りポート制限はありません。
インターポレータの数 vs_3_sw では 16 個の レジスタ - vs_3_0 (o#)、ps_3_sw では 10 個の レジスタ - ps_3_0 (v#) があります。