imad (sm4 – asm)

O inteiro com sinal multiplica e adiciona.

imad dest[.mask], [-]src0[.swizzle], [-]src1[.swizzle], [-]src2[.swizzle]
Item Descrição
Dest
[in] O resultado da operação.
src0
[in] Valor a ser multiplicado com src1.
src1
[in] Valor a ser multiplicado com src0.
src2
[in] Valor a ser adicionado ao produto de src0 e src1.

Comentários

Imul em termos de componente de operandos de 32 bits src0 e src1 (assinado), mantendo baixos 32 bits (por componente) do resultado, seguido por um iadd de src2, produzindo o resultado correto baixo de 32 bits (por componente). Os resultados de 32 bits são colocados em dest.

Modificador de negação opcional em operandos de origem usa o complemento de 2 antes de executar a operação aritmética.

Esta instrução se aplica aos seguintes estágios de sombreador:

Sombreador de vértice Sombreador de geometria Sombreador de pixel
x x x

Modelo de sombreador mínimo

Essa função tem suporte nos seguintes modelos de sombreador.

Modelo de Sombreador Com suporte
Modelo de sombreador 5 sim
Modelo de sombreador 4.1 sim
Modelo de sombreador 4 sim
Modelo de Sombreador 3 (DirectX HLSL) não
Modelo de Sombreador 2 (DirectX HLSL) não
Modelo de Sombreador 1 (DirectX HLSL) não

Assembly do Modelo de Sombreador 4 (DirectX HLSL)