Freigeben über


dmul (sm5 - asm)

Komponentenweise doppelte Genauigkeit multiplizieren.

dmul[_sat] dest[.mask], [-]src0[_abs][.swizzle], [src1[_abs][.swizzle]
Element BESCHREIBUNG
Dest
[in] Die Adresse des Ergebnisses des Vorgangs.
Dest = src0 * src1
src0
[in] Die Komponenten, die mit src1 multipliziert werden sollen.
src1
[in] Die Komponenten, die mit src0 multipliziert werden sollen.

Bemerkungen

Die gültigen Swizzles für die Quellparameter sind .xyzw, .xyxy, .zwxy, .zwzwzw. Die gültigen Dest-Masken sind .xy, .zw und .xyzw. Die folgenden src-Zuordnungen sind post-swizzle:

  • dest ist ein Double vec2 across (x 32LSB, y 32MSB) und (z 32LSB, w 32MSB).
  • src0 ist ein double vec2 across (x 32LSB, y 32MSB) und (z 32LSB, w 32MSB).
  • src1 ist ein double vec2 across (x 32LSB, y 32MSB) und (z 32LSB, w 32MSB).

Die folgende Tabelle zeigt die Ergebnisse, die beim Ausführen der Anweisung mit verschiedenen Zahlenklassen erhalten werden, vorausgesetzt, dass weder Überlauf noch Unterlauf auftreten.

F bedeutet endlich-reelle Zahl.

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

Diese Anweisung gilt für die folgenden Shaderphasen:

Scheitelpunkt Hull Domain Geometrie Pixel Compute
X X X X X X

Minimales Shadermodell

Diese Anweisung wird in den folgenden Shadermodellen unterstützt:

Shadermodell Unterstützt
Shadermodell 5 ja
Shadermodell 4.1 Nein
Shadermodell 4 Nein
Shadermodell 3 (DirectX HLSL) Nein
Shadermodell 2 (DirectX HLSL) Nein
Shadermodell 1 (DirectX HLSL) Nein

Shadermodell 5-Assembly (DirectX HLSL)