Программные шейдеры
Программные шейдеры реализуются для разработки шейдеров без поддержки базового оборудования. Они поддерживают полный набор функций. Так как они реализованы в программном обеспечении, они не будут производить лучшую производительность.
Версия | Набор возможностей | Требования |
---|---|---|
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#) и 10 регистров ps_3_0 (v#) для ps_3_sw. |
Связанные темы