Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Signed integer multiply and add.
imad dest[.mask], [-]src0[.swizzle], [-]src1[.swizzle], [-]src2[.swizzle] |
---|
Item | Description |
---|---|
dest |
[in] The result of the operation. |
src0 |
[in] Value to multiply with src1. |
src1 |
[in] Value to multiply with src0. |
src2 |
[in] Value to add to the product of src0 and src1. |
Remarks
Component-wise imul of 32-bit operands src0 and src1 (signed), keeping low 32-bits (per component) of the result, followed by an iadd of src2, producing the correct low 32-bit (per component) result. The 32-bit results are placed in dest.
Optional negate modifier on source operands takes 2's complement before performing arithmetic operation.
This instruction applies to the following shader stages:
Vertex Shader | Geometry Shader | Pixel Shader |
---|---|---|
x | x | x |
Minimum Shader Model
This function is supported in the following shader models.
Shader Model | Supported |
---|---|
Shader Model 5 | yes |
Shader Model 4.1 | yes |
Shader Model 4 | yes |
Shader Model 3 (DirectX HLSL) | no |
Shader Model 2 (DirectX HLSL) | no |
Shader Model 1 (DirectX HLSL) | no |