сетп _ comp-PS

Задайте регистр предиката.

Синтаксис

сетпие _ летнего времени, src0, src1

Где:

  • _Comp — это сравнение двух исходных регистров по каналу. Может принимать одно из следующих значений:

    Синтаксис Сравнение
    _gt Больше
    _светл Меньше чем
    _GE Больше или равно
    _Le Меньше или равно
    _EQ Равно
    _видимому Не равно
  • DST — это регистр регистрации предиката , P0.

  • src0 является исходным регистром.

  • src1 является исходным регистром.

Комментарии

Версии шейдеров пикселей 1_1 1_2 1 _ 3 1_4 2 _ 0 2 _ x 2 _ SW 3 _ 0 3 _ SW
сетпная _ comp x x x x

Эта инструкция работает следующим образом:

per channel in destination write mask
{
  dst.channel = src0.channel cmp src1.channel
}

Для каждого канала, который может быть записан в соответствии с целевой маской записи, сохраните логический результат операции сравнения между соответствующими каналами src0 и src1 (после разрешения модификатора источника свиззлес).

Регистры источников позволяют указать произвольный компонент свиззлес.

Регистр назначения позволяет использовать произвольные маски записи.

Регистр летнего времени должен быть регистром предиката.

Применение регистра предиката

После инициализации регистра предиката с помощью сетп _ comp его можно использовать для управления инструкциями на каждый компонент. Ниже приведен синтаксис.

([!]p0[.swizzle]) instruction dest, src0, ...

Где:

  • [!] является необязательным логическим значением NOT
  • P0 — это регистр предикатов
  • [. свиззле ] — это необязательный свиззле, применяемый к содержимому регистра предиката, прежде чем использовать его для маскирования инструкции. Доступные свиззлес:. ксизв (по умолчанию, если не указано ни одного) или репликация свиззле:. x/. r,. y/. g,. z/. b или. a/. w.
  • Инструкция является любой аритметик или инструкцией текстуры. Это не может быть статической или динамической инструкцией по управлению потоком.
  • dest, src0,... являются регистрами, необходимыми для инструкции

При условии, что регистр предиката настроен для значений компонентов (true, true, false, false), он может быть применен к этой инструкции:

(p0) add r1, r2, r3

чтобы выполнить 2 компонента, добавьте.

r1.x = r2.x + r3.x
r1.y = r2.y + r3.y

Компоненты z и w элемента R1 не будут записаны, так как регистр предикатов содержал значение false в компонентах z и w.

Применение регистра предиката к арифметической или текстурной инструкции увеличивает число слотов инструкций на 1.

Кроме того, регистр предиката можно применить к инструкциям in -PS, каллнз пред-PS и бреакп-PS . Эти инструкции по управлению потоком не увеличивают число слотов инструкций при использовании регистра предиката.

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