InterlockedExchange-Funktion (HLSL-Referenz)
Weist dem Wert dest zu und gibt den ursprünglichen Wert zurück.
Syntax
void InterlockedExchange(
in R dest,
in T value,
out T original_value
);
Parameter
-
dest [ In]
-
Typ: R
Die Zieladresse.
-
value [ In]
-
Typ: T
Der Eingabewert.
-
ursprünglicher _ Wert [ out]
-
Typ: T
Der ursprüngliche Wert.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Hinweise
Dieser Vorgang kann nur für skalar typierte Ressourcen und Freigegebene Arbeitsspeichervariablen ausgeführt werden. Es gibt zwei mögliche Verwendungsmöglichkeiten für diese Funktion. Die erste ist, wenn R ein Variablentyp für freigegebenen Arbeitsspeicher ist. In diesem Fall führt die Funktion den Vorgang für das Shared Memory-Register aus, auf das vom dest verwiesen wird. Das zweite Szenario ist, wenn R ein Ressourcenvariablentyp ist. In diesem Szenario führt die Funktion den Vorgang für den Ressourcenspeicherort aus, auf den vom dest verwiesen wird. Dieser Vorgang ist nur verfügbar, wenn R lesbar und schreibbar ist.
Minimales Shadermodell
Diese Funktion wird in den folgenden Shadermodellen unterstützt.
| Shadermodell | Unterstützt |
|---|---|
| Shadermodell 5 und höher– Shadermodelle | ja |
Diese Funktion wird in den folgenden Shadertypen unterstützt:
| Scheitelpunkt | Rumpf | Domain | Geometrie | Pixel | Compute |
|---|---|---|---|---|---|
| x | x | x | x | x | x |