ソフトウェア シェーダー
ソフトウェア シェーダーは、ハードウェアのサポートに依存せずにシェーダーを開発できるように実装されています。ソフトウェア シェーダーはすべての機能セットをサポートしています。ソフトウェアとして実装されているため、ベストのパフォーマンスは期待できません。
バージョン | 機能セット | 要件 |
---|---|---|
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#) があります。 |