Compartilhar via


dmul (sm5 – asm)

Multiplicação de precisão dupla em termos de componente.

dmul[_sat] dest[.mask], [-]src0[_abs][.swizzle], [-]src1[_abs][.swizzle]
Item Descrição
Dest
[in] O endereço do resultado da operação.
Dest = src0 * src1
src0
[in] Os componentes a serem multiplicados por src1.
src1
[in] Os componentes a serem multiplicados por src0.

Comentários

Os swizzles válidos para os parâmetros de origem são .xyzw, .xyxy, .zwxy, .zwzw. As máscaras dest válidas são .xy, .zw e .xyzw. Os seguintes mapeamentos src são pós-swizzle:

  • dest é um vec2 duplo entre (x 32LSB, y 32MSB) e (z 32LSB, w 32MSB).
  • src0 é um vec2 duplo (x 32LSB, y 32MSB) e (z 32LSB, w 32MSB).
  • src1 é um vec2 duplo (x 32LSB, y 32MSB) e (z 32LSB, w 32MSB).

A tabela a seguir mostra os resultados obtidos ao executar a instrução com várias classes de números, supondo que nenhum estouro ou fluxo inferior ocorra.

F significa número finito-real.

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

Esta instrução se aplica aos seguintes estágios de sombreador:

Vértice Casco Domínio Geometry Pixel Computação
X X X X X X

Modelo de sombreador mínimo

Esta instrução tem suporte nos seguintes modelos de sombreador:

Modelo de Sombreador Com suporte
Modelo de sombreador 5 sim
Modelo de sombreador 4.1 não
Modelo de sombreador 4 não
Modelo de sombreador 3 (DirectX HLSL) não
Modelo de sombreador 2 (DirectX HLSL) não
Modelo de sombreador 1 (DirectX HLSL) não

Assembly do Modelo de Sombreador 5 (DirectX HLSL)