次の方法で共有


ソフトウェア シェーダー

ソフトウェア シェーダーは、基になるハードウェアをサポートせずにシェーダーを開発できるように実装されています。 完全な機能セットをサポートします。 これらはソフトウェアで実装されているため、最高のパフォーマンスを生み出しません。

バージョン 機能セット 必要条件
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のためにリラックスしています。 無制限の手順を使用できます。
Float 定数の数: これは、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のためにリラックスしています。 最大 2048 個の定数を使用できます。
ブール定数の数: これは、vs_2_sw、vs_3_sw、ps_2_sw、ps_3_swのためにリラックスしています。 最大 2048 個の定数を使用できます。
依存読み取り深度: これは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 命令とループ命令の反復開始と反復ステップのサイズは、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#) があります。

 

Asm シェーダー リファレンス