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


imad (sm4 - asm)

Целое число со знаком умножает и добавляет.

imad dest[.mask], [-]src0[.swizzle], [-]src1[.swizzle], [-]src2[.swizzle]
Элемент Описание
Dest
[in] Результат операции.
src0
[in] Значение для умножения с помощью src1.
src1
[in] Значение для умножения с помощью src0.
src2
[in] Значение, добавляемое к произведению src0 и src1.

Комментарии

Компонентный imul из 32-разрядных операндов src0 и src1 (со знаком), сохраняя низкие 32-разрядные значения (на каждый компонент) результата, а затем iaddsrc2, что приводит к правильному низкому 32-разрядному результату (для каждого компонента). 32-разрядные результаты помещаются в dest.

Необязательный модификатор negate для исходных операндов принимает дополнение 2 перед выполнением арифметической операции.

Эта инструкция применяется к следующим этапам шейдера:

Вершинный построитель текстуры Шейдер геометрии Построитель текстуры
x x x

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

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

Модель шейдера Поддерживается
Модель шейдера 5 да
Модель шейдера 4.1 да
Модель шейдера 4 да
Модель шейдера 3 (DirectX HLSL) нет
Модель шейдера 2 (DirectX HLSL) нет
Модель шейдера 1 (DirectX HLSL) нет

Сборка шейдера модели 4 (DirectX HLSL)