Инструкции ps_3_0
В этом разделе содержатся справочные сведения для инструкций шейдера пикселей версии 3_0.
Существует несколько типов инструкций шейдера пикселей, как показано в таблице. Столбцы справа означают следующее:
- Слоты инструкций — количество слотов инструкций, используемых каждой инструкцией.
- Настройка— шейдер пикселей должен иметь инструкцию версии, и она должна быть первой инструкцией.
- Арифметика — эти инструкции предоставляют математические операции в шейдере.
- Текстура — эти инструкции используются для загрузки и выборки данных текстуры, а также для изменения координат текстуры.
- Управление потоками — эти инструкции предоставляют статический и динамический поток управления выполнением инструкций.
- Новые — эти инструкции являются новыми для этой версии.
Набор инструкций
Имя | Описание | Слоты инструкций | Настройка | Арифметика | Текстура | Управление потоком | Новые функции |
---|---|---|---|---|---|---|---|
abs - ps | Абсолютная величина | 1 | x | ||||
добавление — ps | Добавление двух векторов | 1 | x | ||||
перерыв — ps | Разрыв из цикла... endloop или rep... Блок endrep | 1 | x | ||||
break_comp — ps | Условный разрыв из цикла... endloop или rep... Блок endrep с сравнением | 3 | x | ||||
разрыв — ps | вырваться из цикла... endloop или rep... Блок endrep, основанный на предикате | 3 | x | ||||
вызов — ps | Вызов подпрограммы | 2 | x | ||||
callnz bool - ps | Вызов подпрограммы, если логический регистр не равен нулю | 3 | x | ||||
callnz pred - ps | Вызов подпрограммы, если регистр предиката не равен нулю | 3 | x | ||||
cmp — ps | Сравнение источника с 0 | 1 | x | ||||
crs - ps | Перекрестный продукт | 2 | x | ||||
dcl_samplerType (sm2, sm3 - ps asm) | Объявление измерения текстуры для примера | 0 | x | ||||
dcl_semantics (sm3 - ps asm) | Объявление регистров входных и выходных данных | 0 | x | x | |||
def — ps | Определение констант | 0 | x | ||||
defb — ps | Определение логического константы | 0 | x | ||||
defi — ps | Определение целочисленной константы | 0 | x | ||||
dp2add — ps | 2D dot product and add | 2 | x | ||||
dp3 — ps | 3D dot product | 1 | x | ||||
dp4 — ps | 4D dot product | 1 | x | ||||
dsx — ps | Скорость изменения в направлении x | 2 | x | ||||
dsy — ps | Скорость изменения в направлении y | 2 | x | ||||
else - ps | Начать другой блок | 1 | x | ||||
endif — ps | Конец если... else block | 1 | x | ||||
endloop — ps | Завершение цикла | 2 | x | x | |||
endrep — ps | Конец блока повтора | 2 | x | ||||
exp — ps | Полная точность 2x | 1 | x | ||||
frc — ps | Дробный компонент | 1 | x | ||||
, если bool - ps | Начало блока if | 3 | x | ||||
if_comp — ps | Начало блока if с сравнением | 3 | x | ||||
, если предварительно — ps | Начало блока с предикатом | 3 | x | ||||
метка — ps | Ярлык | 0 | x | ||||
журнал — ps | Полный журнал точности (x) | 1 | x | ||||
цикл — ps | Петля | 3 | x | x | |||
lrp — ps | Линейная интерполяция | 2 | x | ||||
m3x2 — ps | Умножение 3x2 | 2 | x | ||||
m3x3 — ps | 3x3 умножение | 3 | x | ||||
m3x4 — ps | Умножение 3x4 | 4 | x | ||||
m4x3 — ps | Умножение 4x3 | 3 | x | ||||
m4x4 — ps | Умножение 4x4 | 4 | x | ||||
сумасшедший - ps | Умножение и добавление | 1 | x | ||||
максимальное — ps | Максимум | 1 | x | ||||
мин - ps | Минимум | 1 | x | ||||
mov - ps | Двигаться | 1 | x | ||||
mul - ps | Умножать | 1 | x | ||||
nop — ps | Нет операции | 1 | x | ||||
nrm — ps | Нормализовать | 3 | x | ||||
pow - ps | xy | 3 | x | ||||
ps | Версия | 0 | x | ||||
rcp — ps | Взаимный | 1 | x | ||||
rep — ps | Повторять | 3 | x | ||||
ret — ps | Конец подпрограммы | 1 | x | ||||
rsq — ps | Корень взаимной квадратной площади | 1 | x | ||||
setp_comp | Настройка регистра предиката | 1 | x | ||||
sincos - ps | Синус и косинус | 8 | x | ||||
sub — ps | Вычитать | 1 | x | ||||
texkill - ps | Убийство отрисовки пикселей | 2 | x | ||||
texld - ps_2_0 и вверх | Пример текстуры | См. примечание 1 | x | ||||
texldb — ps | Выборка текстуры с предвзятостью уровня детализации от w-component | 6 | x | ||||
texldl — ps | Выборка текстур с уровнем детализации из w-component | См. примечание 2 | x | x | |||
texldd - ps | Выборка текстур с градиентами, предоставляемыми пользователем | 3 | x | ||||
texldp — ps | Выборка текстур с проецивным разделением на w-component | См. примечание 3 | x |
Примечания:
- Если текстура является картой куба, слоты = 4; в противном случае слоты = 1.
- Если текстура является картой куба, слоты = 5; в противном случае слоты = 2.
- Если текстура является картой куба, слоты = 4; в противном случае слоты = 3.
Связанные разделы