Инструкции— vs_3_0

Этот раздел содержит справочные сведения для инструкций по шейдеру вершин версии 3_0.

Существует несколько типов инструкций шейдера вершин, как показано в таблице. Столбцы справа означают следующее:

  • Слоты инструкций — количество слотов инструкций, используемых каждой инструкцией.
  • Настройка — неарифметические инструкции. Каждый шейдер должен иметь инструкцию версии и быть первой инструкцией.
  • Арифметика . Эти инструкции предоставляют математические операции в шейдере.
  • Текстура — эти инструкции поддерживают поиск адреса текстуры.
  • Управление потоком. Эти инструкции добавляют элементы управления потоком, такие как циклы, повторы и , если bool - и ... иначе... сравнения endif .
  • Новые — эти инструкции являются новыми для этой версии.

Набор инструкций

Имя Описание Слоты инструкций Настройка Арифметический Текстура Управление потоком Создать
abs - vs Абсолютное значение 1 x
add — vs Добавление двух векторов 1 x
break — vs Вырваться из цикла - против... endloop - vs или rep... блок endrep 1 x
break_comp по сравнению с Условно вырваться из цикла - против... endloop - vs или rep... блок endrep с сравнением 3 x
breakp — vs Вырваться из цикла - против... endloop - vs или rep... блок endrep на основе предиката 3 x
call - vs Вызов подпрограммы 2 x
callnz bool - vs Вызов подпрограммы, если логический регистр не равен нулю 3 x
callnz pred — vs Вызов подпрограммы, если регистр предиката не равен нулю 3 x
crs — vs Перекрестный продукт 2 x
dcl_usage входные данные (sm1, sm2, sm3 — vs asm) Объявление регистров входных вершин (см . раздел Регистры — vs_3_0) 0 x
dcl_samplerType (sm3 — asm) Объявление измерения текстуры для выборки 0 x x
def — vs Определение констант 0 x
defb — против Объявление логической константы 0 x
defi — vs Объявление целочисленной константы 0 x
dp3 — vs Трехкомпонентный точечный продукт 1 x
dp4 — vs Четырехкомпонентный точечный продукт 1 x
dst — против Расстояние 1 x
else — против Начало блока else 1 x
endif — vs Окончание bool if - против... else block 1 x
endloop — vs Конец цикла — против блока 2 x
endrep — vs Конец блока повтора 2 x
exp — vs Полная точность 2x 1 x
expp - vs Частичная точность 2x 1 x
frc — vs Дробный компонент 1 x
if bool — vs Начало bool if — vs block (с использованием логического условия) 3 x
if_comp по сравнению с Начало типа if bool - vs block с помощью сравнения 3 x
If pred — vs Начало bool if - vs block с условием предиката 3 x
label — vs Метка 0 x
lit - vs Вычисление освещения 3 x
log — vs Журнал полной точности(x) 1 x
logp — и Журнал частичной точности(x) 1 x
loop — vs Loop 3 x
lrp — vs Линейная интерполяция 2 x
m3x2 — против Умножение 3x2 2 x
m3x3 — против Умножение 3x3 3 x
m3x4 — против Умножение 3x4 4 x
m4x3 — против Умножение 4x3 3 x
m4x4 — vs Умножение 4x4 4 x
mad - vs Умножение и добавление 1 x
max — vs Максимум 1 x
min - vs Минимальные 1 x
mov — vs Переместить 1 x
mova - vs Перемещение данных из регистра с плавающей запятой в целочисленный регистр 1 x
mul — vs Multiply 1 x
nop — против Нет операции 1 x
nrm — vs Normalize 3 x
pow — против xy 3 x
rcp — vs Взаимные 1 x
rep - vs Повторить 3 x
ret — vs Конец подпрограммы 1 x
rsq — vs Обратный квадратный корень 1 x
setp_comp по сравнению с Установка регистра предиката 1 x
sge - vs Сравнение больше или равно 1 x
sgn — vs Знак 3 x
sincos - vs Синус и косинус 8 x
slt — vs Меньше сравнения 1 x
sub - vs Subtract 1 x
texldl — vs Загрузка текстуры с настраиваемым пользователем уровнем детализации См. примечание 1. x x
Vs Версия 0 x

 

Примечания.

  • Если текстура является кубической картой, слоты = 5; в противном случае слоты = 2

Инструкции по шейдеру вершин