ddiv (sm5 - asm)
计算分量级双精度除法。
ddiv[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle] |
---|
项 | 说明 |
---|---|
dest |
[in] 操作的结果。 结果值必须精确到 0.5 ULP。 |
src0 |
[输入] 被除数。 |
src1 |
[输入] 除数。 |
备注
每当将除运算符与 double 一起使用时,HLSL 编译器都会发出 DDIV 指令。 此指令的准确性要求为 0.5 ULP。
使用此指令的着色器将标有着色器标志,这将导致它们无法绑定,除非满足以下所有条件。
- 系统支持 DirectX 11.1。
- 系统包括 WDDM 1.2 驱动程序。
- 驱动程序通过D3D11_FEATURE_DATA_D3D11_OPTIONS报告此指令的支持 。ExtendedDoublesShaderInstructions 设置为 TRUE。
下表显示了使用各种数字类执行指令时的结果,假定不会发生溢出或下溢。
在此表中,F 表示有限实数。
src0 src1 -> | -Inf | -F | -1.0 | -0 | +0 | +1.0 | +F | +inf | NaN |
---|---|---|---|---|---|---|---|---|---|
-Inf | NaN | +inf | +inf | +inf | -inf | -inf | -inf | NaN | NaN |
-F | +0 | + F | -src0 | +inf | -inf | src0 | -F | -0 | NaN |
-0 | +0 | +0 | +0 | NaN | NaN | -0 | -0 | -0 | NaN |
+0 | -0 | -0 | -0 | NaN | NaN | +0 | +0 | +0 | NaN |
+F | -0 | -F | -src0 | -inf | +inf | src0 | + F | +0 | NaN |
+inf | NaN | -inf | -inf | -inf | +inf | +inf | +inf | NaN | 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) | 否 |