mad - функция

Выполняет арифметическую операцию умножения и сложения по трем значениям.

Синтаксис

numeric mad(
  in numeric mvalue,
  in numeric avalue,
  in numeric bvalue
);

Параметры

mvalue [in]

Тип: числовой

Значение умножения.

avalue [in]

Тип: числовой

Первое сложенное значение.

bvalue [in]

Тип: числовой

Второе значение сложения.

Возвращаемое значение

Тип: числовой

Результат mvalue * avalue + bvalue.

Комментарии

Минимальная модель шейдера

Эта функция поддерживается в следующих моделях шейдеров.

Модель шейдера Поддерживается
Модели шейдеров 5 и более поздних версий да

 

Эта функция поддерживается в следующих типах шейдеров:

Вершина Корпуса Домен Geometry Пиксель Вычисления
x x x x x x

 

Авторы шейдеров могут использовать безумный instrinsic для явной нацеливания на безумную аппаратную инструкцию в скомпилированных выходных данных шейдеров, что особенно полезно для шейдеров, которые помечают результаты с точным ключевое слово. Безумная инструкция может быть реализована на оборудовании как "слитая", которая обеспечивает более высокую точность, чем реализация инструкции mul с последующим добавлением инструкции или как добавление mul + .

Если авторы шейдеров используют безумный instrinsic для вычисления результата, который шейдер помечает как точный, они указывают оборудованию на использование любой допустимой реализации безумной инструкции (слитой или нет), если реализация согласована для всех применений этой безумной встроенной функции в любом шейдере на этом оборудовании. Затем шейдеры могут воспользоваться преимуществами потенциальных улучшений производительности, используя собственную безумную инструкцию (по сравнению с добавлением MUL + ) на некотором оборудовании. Результат выполнения собственных безумных аппаратных инструкций может отличаться от выполнения mul с последующим добавлением. Тем не менее, независимо от результата, результат должен быть согласованным, чтобы та же операция происходила в нескольких шейдерах или разных частях шейдера.

См. также раздел

Встроенные функции

Модель шейдера 5