Поделиться через


vs_2_x

Программируемый шейдер вершин состоит из набора инструкций, которые работают с данными вершин. Регистрирует данные передачи в ALU и из него. Чтобы изменить инструкцию, результаты или данные, которые записываются, можно применить дополнительные элементы управления.

Версия вершинного шейдера vs_2_x расширяет набор функций, поддерживаемый vs_2_0. Каждая дополнительная функция представлена соответствующим ограничением в структуре D3DCAPS9 в D3DVS20CAPS. Чтобы использовать какие-либо расширенные функции, представленные этими ограничениями, версию вершинного шейдера необходимо указать как vs_2_x.

Новые возможности

Ниже перечислены новые возможности.

Управление динамическим потоком

Если D3DVS20CAPS> 0, поддерживаются следующие инструкции по управлению динамическим потоком:

Если также задан параметр D3DVS20CAPS , поддерживаются следующие дополнительные инструкции по управлению потоком:

Диапазон значений для динамической глубины управления потоком составляет от 0 до 24 и равен глубине вложенности инструкций по управлению динамическим потоком (дополнительные сведения см. в разделе Ограничения вложенности элемента управления потоком ). Если это ограничение равно нулю, устройство не поддерживает динамические инструкции управления потоком.

Количество временных регистров

D3DVS20CAPS представляет количество временных регистров, поддерживаемых устройством. Диапазон значений для этого ограничения составляет от 12 до 32.

Глубина вложенного элемента управления статическим потоком

D3DVS20CAPS представляет глубину вложенности двух типов инструкций управления статическим потоком: loop - vs/rep - vs и call - vs/callnz bool - vs/if bool - vs. loop - vs/rep - vs инструкции могут быть вложены до D3DVS20CAPS глубоко. Независимо от того, что call - vs/callnz bool - vs инструкции могут быть вложены до D3DVS20CAPS глубоко. Если также задан параметр D3DVS20CAPS, то аргумент callnz pred - vs учитывается в отношении глубины вложенности вызова - vs/callnz bool - vs/if bool - vs (дополнительные сведения см. в разделе Ограничения вложенности управления потоком ).

Предикация

Если задан параметр D3DVS20CAPS , устройство поддерживает setp_comp и предикацию инструкций. Если значение D3DVS20CAPS также больше 0, поддерживаются следующие дополнительные инструкции по управлению динамическим потоком:

Количество инструкций

Каждый вершинный шейдер может содержать до 256 инструкций. Количество выполняемых инструкций может быть гораздо больше (из-за поддержки циклов и повторов) и ограничено D3DCAPS9, которое должно быть по крайней мере 0xFFFF.

Вершинные шейдеры