mad-Funktion

Führt einen arithmetischen Multi-/Add-Vorgang für drei Werte aus.

Syntax

numeric mad(
  in numeric mvalue,
  in numeric avalue,
  in numeric bvalue
);

Parameter

mvalue [in]

Typ: numerisch

Der Multiplikationswert.

avalue [in]

Typ: numerisch

Der erste Additionswert.

bvalue [in]

Typ: numerisch

Der zweite Additionswert.

Rückgabewert

Typ: numerisch

Das Ergebnis von mvalue * avalue + bvalue.

Bemerkungen

Minimales Shadermodell

Diese Funktion wird in den folgenden Shadermodellen unterstützt.

Shadermodell Unterstützt
Shadermodell 5 und höher ja

 

Diese Funktion wird in den folgenden Shadertypen unterstützt:

Scheitelpunkt Hull Domain Geometrie Pixel Compute
x x x x x x

 

Shaderautoren können die verrückte Instrinsik verwenden, um explizit auf die mad Hardware-Anweisung in der kompilierten Shaderausgabe zu zielen, was besonders bei Shadern nützlich ist, die Ergebnisse mit dem präzisen Schlüsselwort (keyword) markieren. Die verrückte Anweisung kann in der Hardware entweder als "fused" implementiert werden, was eine höhere Genauigkeit bietet als die Implementierung einer mul-Anweisung gefolgt von einer Add-Anweisung , oder als mul + add.

Wenn Shaderautoren die verrückte Instrinsik verwenden, um ein Ergebnis zu berechnen, das der Shader als präzise markiert hat, geben sie der Hardware an, jede gültige Implementierung der verrückten Anweisung (fused oder nicht) zu verwenden, solange die Implementierung für alle Verwendungen dieses verrückten Intrins in jedem Shader auf dieser Hardware konsistent ist. Shader können dann potenzielle Leistungsverbesserungen nutzen, indem sie eine native verrückte Anweisung (im Gegensatz zu mul + add) auf einer Hardware verwenden. Das Ergebnis einer nativen , verrückten Hardware-Anweisung kann oder nicht anders sein als die Ausführung eines Mul gefolgt von einem Add. Unabhängig vom Ergebnis muss das Ergebnis jedoch konsistent sein, damit derselbe Vorgang in mehreren Shadern oder verschiedenen Teilen eines Shaders ausgeführt wird.

Siehe auch

Systeminterne Funktionen

Shadermodell 5