Инструкции— 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
Связанные темы