Freigeben über


drcp (sm5 – asm)

Berechnet eine komponentenweise doppelte Genauigkeit reziprok.

drcp[_sat] dest[.mask], [-]src0[_abs][.swizzle]
Element BESCHREIBUNG
Dest
[in] Die Adresse der Ergebnisse
Dest = 1.0 / src0. Der Ergebniswert muss auf 1,0 ULP genau sein.
src0
[in] Die Zahl, von der das Reziproz von zu nehmen ist.

Hinweise

Die DRCP-Anweisung wird vom HLSL-Compiler nur ausgegeben, wenn sie explizit über den intrinsischen rcp() aufgerufen wird, wenn ein Double als Argument verwendet wird. Die Genauigkeit dieser Anweisung muss 1.0 ULP sein.

Shader, die diese Anweisung verwenden, werden mit einem Shaderflag gekennzeichnet, das dazu führt, dass sie nicht binden können, es sei denn, alle folgenden Bedingungen sind erfüllt.

  • Das System unterstützt DirectX 11.1.
  • Das System enthält einen WDDM 1.2-Treiber.
  • Der Treiber meldet Unterstützung für diese Anweisung über D3D11_FEATURE_DATA_D3D11_OPTIONS. ExtendedDoublesShaderInstructions ist auf TRUE festgelegt.

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

In dieser Tabelle bedeutet F endlich-reelle Zahl.

src-> -Inf -F -0 +0 +F +inf NaN
dest-> -0 -F -inf +inf +F +0 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)