drcp (sm5 – asm)
Berechnet einen komponentenweisen Kehrwert mit doppelter Genauigkeit.
| rcp [ _ 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 der Kehrwert annimmt wird. |
Bemerkungen
Die DRCP-Anweisung wird vom HLSL-Compiler nur ausgegeben, wenn sie explizit über die systeminterne rcp()-Anweisung 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 gebunden werden, 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 Klassen von Zahlen erzielt werden, vorausgesetzt, dass weder Überlauf noch Unterlauf auftreten.
In dieser Tabelle bedeutet F endliche 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 Shaderstufen:
| Scheitelpunkt | Rumpf | Domain | Geometrie | Pixel | Compute |
|---|---|---|---|---|---|
| X | X | X | X | X | X |
Shader-Mindestmodell
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 |