dmul (sm5 - asm)
分量双精度乘法。
dmul[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle] |
---|
项 | 说明 |
---|---|
dest |
[in]操作结果的地址。 dest = src0 * src1 |
src0 |
[in]要与 src1 相乘的分量。 |
src1 |
[in]要与 src0 相乘的分量。 |
备注
源参数的有效重排是 .xyzw、.xyxy、.zwxy、.zwzw。 有效的 dest 掩码为 .xy、.zw 和 .xyzw。 以下 src 映射是后重排:
- dest 是跨 (x 32LSB、y 32MSB) 和 (z 32LSB、w 32MSB) 的双 vec2。
- src0 是跨 (x 32LSB、y 32MSB) 和 (z 32LSB、w 32MSB) 的双 vec2。
- src1 是跨 (x 32LSB、y 32MSB) 和 (z 32LSB 的双 vec2,w 32MSB) 。
下表显示了使用各种数字类执行指令时获得的结果,假定不会发生溢出或下溢。
F 表示有限实数。
src0 src1-> | -Inf | -F | -1.0 | -0 | +0 | +1.0 | +F | +inf | NaN |
---|---|---|---|---|---|---|---|---|---|
-Inf | +inf | +inf | +inf | NaN | NaN | -inf | -inf | -inf | NaN |
-F | +inf | + F | -src0 | +0 | -0 | src0 | -F | -inf | NaN |
-1.0F | +inf | -src1 | +1.0 | +0 | -0 | -1.0 | -src1 | -inf | NaN |
-0 | NaN | +0 | +0 | +0 | -0 | -0 | -0 | NaN | NaN |
+0 | NaN | -0 | -0 | -0 | +0 | +0 | +0 | NaN | NaN |
+1.0 | -inf | src1 | -1.0 | -0 | +0 | +1 | src1 | +inf | NaN |
+F | -inf | -F | -src0 | -0 | +0 | src0 | + F | +inf | NaN |
+inf | -inf | -inf | -inf | NaN | NaN | +inf | +inf | +inf | NaN |
NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
此指令适用于以下着色器阶段:
顶点 | 外壳 | 域 | Geometry | 像素 | 计算 |
---|---|---|---|---|---|
X | X | X | X | X | X |
最小着色器模型
以下着色器模型中支持此指令:
着色器模型 | 支持 |
---|---|
着色器模型 5 | 是 |
着色器模型 4.1 | 否 |
着色器模型 4 | 否 |
着色器模型 3 (DirectX HLSL) | 否 |
着色器模型 2 (DirectX HLSL) | 否 |
着色器模型 1 (DirectX HLSL) | 否 |