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


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

В этом разделе содержатся справочные сведения о версии шейдера вершин, 2_x инструкции.

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

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

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

Имя Описание Слоты инструкций Настройка Арифметика Управление потоком Новые функции
abs - vs Абсолютная величина 1 x
добавление — и Добавление двух векторов 1 x
перерыв - и Разрыв из цикла - vs...endloop - vs или rep...endrep блок 1 x x
break_comp — vs Условный разрыв из цикла - vs...endloop - vs или rep...endrep блок, с сравнением 3 x x
останова — и Разрыв из цикла - vs...endloop - vs или rep...endrep блок, основанный на предикате 3 x x
вызов — vs Вызов подпрограммы 2 x
callnz bool - vs Вызов подпрограммы, если логический регистр не равен нулю 3 x
callnz pred - vs Вызов подпрограммы, если регистр предиката не равен нулю 3 x x
crs - vs Перекрестный продукт 2 x
dcl_usage входные данные (sm1, sm2, sm3 - vs asm) Объявление входных регистров вершин (см. раздел Registers - vs_2_x) 0 x
def — и Определение констант 0 x
defb - vs Определение логического константы 0 x
дефи — vs Определение целочисленной константы 0 x
dp3 — vs Трехкомпонентный продукт dot 1 x
dp4 — vs Продукт с четырьмя компонентами 1 x
dst — vs Вычисление вектора расстояния 1 x
else - vs Начало - и блок 1 x
endif — vs Завершение , если bool - vs...else - vs блок 1 x
endloop - vs Конец цикла — и блок 2 x
endrep — vs Конец блока повтора 2 x
exp — и Полная точность 2x 1 x
expp - vs Частичная точность 2x 1 x
frc - vs Дробный компонент 1 x
если логическое значение — и Начните , если логическое значение — и блок (с использованием логического условия) 3 x
if_comp — и Начните , если логическое значение — и блок, с сравнением 3 x x
, если предопределено — и Начните , если логическое значение — и блок с условием предиката 3 x x
метка — и Ярлык 0 x
свет - и Вычисление частичного освещения 3 x
журнал — и Полный журнал точности (x) 1 x
logp — vs Журнал частичной точности (x) 1 x
цикл — и Петля 3 x
lrp - vs Линейная интерполяция 2 x
m3x2 — и Умножение 3x2 2 x
m3x3 — vs 3x3 умножение 3 x
m3x4 — vs Умножение 3x4 4 x
m4x3 — vs Умножение 4x3 3 x
m4x4 — vs Умножение 4x4 4 x
сумасшедший - vs Умножение и добавление 1 x
максимальное — и Максимум 1 x
мин - и Минимум 1 x
mov - vs Двигаться 1 x
mova - vs Перемещение данных из регистра с плавающей запятой в регистр адресов (a0) 1 x
mul - vs Умножать 1 x
nop - vs Нет операции 1 x
nrm — vs Нормализация 4D-вектора 3 x
pow - vs xy 3 x
rcp — vs Взаимный 1 x
rep - vs Повторять 3 x
ret - vs Конец подпрограммы или основной 1 x
rsq — vs Корень взаимной квадратной площади 1 x
setp_comp — vs Настройка регистра предиката 1 x x
sge - vs Больше или равное сравнение 1 x
sgn - vs Знак 3 x
sincos - vs Синус и косинус 8 x
slt - vs Меньше сравнения 1 x
вложенная — и Вычитать 1 x
и Версия 0 x

 

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