div (sm4 - asm)
按组件划分。
div[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle] |
---|
项 | 说明 |
---|---|
dest |
[in] 操作的结果。 |
src0 |
[输入] 被除数。 |
src1 |
[输入] 除数。 |
备注
下表显示了使用各种数字类执行指令时获得的结果,假定不会发生溢出或下溢。
应注意两个允许的除法实现:a/b 和* (1/b) 。
这一结果之一是下表中存在较大分母值 (大于 8.5070592e+37) 的例外情况,其中 1/分母是一个 denorm。 由于实现可能以* (1/b) 的形式执行除法,而不是直接执行 a/b,并且 1/[大值] 是可能被刷新的反数,因此表中的一些情况会产生不同的结果。 例如, (+/-) INF / (+/-) [value > 8.5070592e+37] 可能会在某些实现上生成 NaN,但在其他实现上 (+/-) INF
在此表中,F 表示有限实数。
src0 src1 -> | -Inf | -F | -denorm | -0 | +0 | +denorm | +F | +inf | 南 |
---|---|---|---|---|---|---|---|---|---|
-Inf | -inf | -inf | -inf | -inf | -inf | -inf | -inf | NaN | NaN |
-F | -inf | -F | src0 | src0 | src0 | src0 | +-F 或 +-0 | +inf | NaN |
-denorm | -inf | src1 | -0 | -0 | +0 | +0 | src1 | +inf | NaN |
-0 | -inf | src1 | -0 | -0 | +0 | +0 | src1 | +inf | NaN |
+0 | -inf | src1 | +0 | +0 | +0 | +0 | src1 | +inf | NaN |
+denorm | -inf | src1 | +0 | +0 | +0 | +0 | src1 | +inf | NaN |
+F | -inf | +-F 或 +-0 | src0 | src0 | src0 | src0 | + F | +inf | NaN |
+inf | NaN | +inf | +inf | +inf | +inf | +inf | +inf | +inf | NaN |
NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
此指令适用于以下着色器阶段:
顶点着色器 | 几何着色器 | 像素着色器 |
---|---|---|
x | x | x |
最小着色器模型
以下着色器模型中支持此函数。
着色器模型 | 支持 |
---|---|
着色器模型 5 | 是 |
着色器模型 4.1 | 是 |
着色器模型 4 | 是 |
着色器模型 3 (DirectX HLSL) | 否 |
着色器模型 2 (DirectX HLSL) | 否 |
着色器模型 1 (DirectX HLSL) | 否 |