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


Инструкции по 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

 

Примечания.

  1. Если задано D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT , слоты = 2; в противном случае слоты = 1.
  2. Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT задано, а текстура является кубической картой, слоты = 4; в противном случае слот = 1.
  3. Если задано D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT , слоты = 6; в противном случае слоты = 1.
  4. Если D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT не задано, слоты = 1; Иначе:

Инструкции по шейдеру пикселей