Condividi tramite


dmul (sm5 - asm)

Moltiplicare la precisione doppia del componente.

dmul[_sat] dest[.mask], |src0[_abs][.swizzle], |src1[_abs][.swizzle]
Elemento Descrizione
Dest
[in] Indirizzo del risultato dell'operazione.
Dest = src0 * src1
src0
[in] Componenti da moltiplicare con src1.
src1
[in] Componenti da moltiplicare con src0.

Commenti

I swizzles validi per i parametri di origine sono .xyzw, .xyxy, .zwxy, .zwzw. Le maschere più valide sono .xy, .zw e .xyzw. I mapping src seguenti sono post-swizzle:

  • dest è un double vec2 su (x 32LSB, y 32MSB) e (z 32LSB, w 32MSB).
  • src0 è un doppio vec2 tra (x 32LSB, y 32MSB) e (z 32LSB, w 32MSB).
  • src1 è un doppio vec2 tra (x 32LSB, y 32MSB) e (z 32LSB, w 32MSB).

La tabella seguente mostra i risultati ottenuti durante l'esecuzione dell'istruzione con varie classi di numeri, presupponendo che non si verifichino overflow o sottoflow.

F significa numero finito-reale.

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

Questa istruzione si applica alle fasi dello shader seguenti:

Vertice Scafo Dominio Geometria Pixel Calcolo
X X X X X X

Modello minimo shader

Questa istruzione è supportata nei modelli di shader seguenti:

Modello di shader Supportato
Modello shader 5
Modello shader 4.1 no
Modello shader 4 no
Modello shader 3 (DirectX HLSL) no
Modello shader 2 (DirectX HLSL) no
Modello shader 1 (DirectX HLSL) no

Assembly modello shader 5 (DirectX HLSL)