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)

着色器模型 5 程序集 (DirectX HLSL)