Инструкции по ps_2_x
В этом разделе содержатся справочные сведения о версии пиксельного шейдера 2_x инструкции.
Существует несколько типов инструкций по шейдеру пикселей, как показано в таблице. Столбцы справа означают следующее:
- Слоты инструкций — количество слотов инструкций, используемых каждой инструкцией.
- Настройка. Пиксельный шейдер должен иметь инструкцию версии и быть первой инструкцией.
- Арифметика . Эти инструкции предоставляют математические операции в шейдере.
- Текстура . Эти инструкции используются для загрузки и выборки данных текстуры, а также для изменения координат текстуры.
- Управление потоком . Эти инструкции обеспечивают статическое и динамическое управление потоком для выполнения инструкций.
- Новые — эти инструкции являются новыми для этой версии.
Набор инструкций
Имя | Описание | Слоты инструкций | Настройка | Арифметический | Текстура | Управление потоком | Создать |
---|---|---|---|---|---|---|---|
abs - ps | Абсолютное значение | 1 | x | ||||
add — ps | Добавление двух векторов | 1 | x | ||||
break — ps | Вырваться из... блок endrep | 1 | x | x | |||
break_comp — ps | Условно вырваться из... блок endrep с сравнением | 3 | x | x | |||
breakp — ps | Вырваться из... блок endrep на основе предиката | 3 | x | x | |||
call — ps | Вызов подпрограммы | 2 | x | x | |||
callnz bool - ps | Вызов подпрограммы, если логический регистр не равен нулю | 3 | x | x | |||
callnz pred - ps | Вызов подпрограммы, если регистр предиката не равен нулю | 3 | x | x | |||
cmp — ps | Сравнение источника с 0 | 1 | x | ||||
crs - ps | Перекрестный продукт | 2 | x | ||||
dcl_samplerType (sm2, sm3 - ps asm) | Объявление измерения текстуры для выборки | 0 | x | ||||
dcl - (sm2, sm3 - ps asm) | Объявите связь между регистрами выходных данных шейдера вершин и входными регистрами шейдера пикселей. | 0 | x | ||||
def — ps | Определение констант | 0 | x | ||||
defb — ps | Определение логической константы | 0 | x | x | |||
defi — ps | Определение целочисленной константы | 0 | x | x | |||
dp2add — ps | 2D-точечный продукт и добавьте | 2 | x | ||||
dp3 — ps | 3D-точечное изделие | 1 | x | ||||
dp4 — ps | 4D-точечное изделие | 1 | x | ||||
dsx — ps | Скорость изменения в направлении X | 2 | x | x | |||
dsy — ps | Скорость изменения в направлении y | 2 | x | x | |||
else - ps | Начало блока else | 1 | x | x | |||
endif — ps | Завершить если... else block | 1 | x | x | |||
endrep — ps | Конец блока повтора | 2 | x | x | |||
exp — ps | Полная точность 2x | 1 | x | ||||
frc — ps | Дробный компонент | 1 | x | ||||
if bool - ps | Начало блока if | 3 | x | x | |||
if_comp — ps | Начало блока if с помощью сравнения | 3 | x | x | |||
if pred — ps | Начало блока if с предикацией | 3 | x | x | |||
label — ps | Метка | 0 | x | x | |||
log — ps | Журнал полной точности(x) | 1 | 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 | x | |||
ret - ps | Конец подпрограммы | 1 | x | x | |||
rsq — ps | Обратный квадратный корень | 1 | x | ||||
setp_comp | Настройка регистра предиката | 1 | x | x | |||
sincos - ps | Синус и косиус | 8 | x | ||||
sub - ps | Subtract | 1 | x | ||||
texkill - ps | Преобразовывая отрисовка пикселе | См. примечание 1 | x | ||||
texld — ps_2_0 и вверх | Пример текстуры | См. примечание 2 | x | ||||
texldb — ps | Выборка текстуры с смещением уровня детализации из w-компонента | См. примечание 3. | x | ||||
texldd — ps | Выборка текстур с градиентами, предоставленными пользователем | 3 | x | x | |||
texldp — ps | Выборка текстуры с проективным делением на w-компонент | См. примечание 4 | x |
Примечания.
- Если задано D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT , слоты = 2; в противном случае слоты = 1.
- Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT задано, а текстура является кубической картой, слоты = 4; в противном случае слот = 1.
- Если задано D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT , слоты = 6; в противном случае слоты = 1.
- Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT не задано, слоты = 1; Иначе:
- Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT задано, а текстура является кубической картой, слоты = 4.
- Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT задан и текстура не является кубической картой, слоты = 3.
Связанные темы