Инструкции по ps_3_0
В этом разделе содержатся справочные сведения по инструкциям по пиксельным шейдерам версии 3_0.
Существует несколько типов инструкций по шейдеру текстуры, как показано в таблице. Столбцы справа означают следующее:
- Слоты инструкций — количество слотов инструкций, используемых каждой инструкцией.
- Настройка. Пиксельный шейдер должен иметь инструкцию версии и быть первой инструкцией.
- Арифметика. Эти инструкции предоставляют математические операции в шейдере.
- Текстура. Эти инструкции используются для загрузки и выборки данных текстуры, а также для изменения координат текстуры.
- Управление потоком. Эти инструкции обеспечивают статическое и динамическое управление потоком для выполнения инструкций.
- Создать — эти инструкции являются новыми для данной версии.
Набор инструкций
Имя | Описание | Слоты инструкций | Настройка | Арифметический | Текстура | Управление потоком | Создать |
---|---|---|---|---|---|---|---|
abs - ps | Абсолютное значение | 1 | x | ||||
add - ps | Добавление двух векторов | 1 | x | ||||
break - ps | Вырваться из цикла... endloop или rep... блок endrep | 1 | x | ||||
break_comp — ps | Условно вырваться из цикла... endloop или rep... блок endrep с сравнением | 3 | x | ||||
breakp - ps | вырваться из цикла... endloop или rep... блок endrep на основе предиката | 3 | x | ||||
call - 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-точечная продукция и добавить | 2 | x | ||||
dp3 — ps | 3D-точечное изделие | 1 | x | ||||
dp4 — ps | 4D-точечная продукция | 1 | x | ||||
dsx — ps | Скорость изменения в направлении X | 2 | x | ||||
dsy — ps | Скорость изменения в направлении y | 2 | x | ||||
else - ps | Начало блока else | 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 | ||||
if bool - ps | Начало блока if | 3 | x | ||||
if_comp — ps | Начало блока if с помощью сравнения | 3 | x | ||||
if pred — ps | Начало блока if с предикацией | 3 | x | ||||
label — ps | Метка | 0 | x | ||||
log — ps | Журнал полной точности(x) | 1 | x | ||||
loop — ps | Loop | 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 | ||||
mad - ps | Умножение и добавление | 1 | x | ||||
max — ps | Максимум | 1 | x | ||||
min - ps | Минимальные | 1 | x | ||||
mov - ps | Переместить | 1 | x | ||||
mul - ps | Multiply | 1 | x | ||||
nop - ps | Нет операции | 1 | x | ||||
nrm — ps | Normalize | 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 | Subtract | 1 | x | ||||
texkill - ps | Преобразовывая отрисовка пикселе | 2 | x | ||||
texld — ps_2_0 и вверх | Пример текстуры | См. примечание 1 | x | ||||
texldb — ps | Выборка текстуры с смещением уровня детализации из w-компонента | 6 | x | ||||
texldl — ps | Выборка текстуры с уровнем детализации из w-component | См. примечание 2 | x | x | |||
texldd — ps | Выборка текстур с градиентами, предоставленными пользователем | 3 | x | ||||
texldp — ps | Выборка текстуры с проективным делением на w-компонент | См. примечание 3. | x |
Примечания.
- Если текстура является кубической картой, слоты = 4; в противном случае слоты = 1.
- Если текстура является кубической картой, слоты = 5; в противном случае слоты = 2.
- Если текстура является кубической картой, слоты = 4; в противном случае слоты = 3.
Связанные темы