InterlockedExchange-Funktion (HLSL-Referenz)
Weist dest den Wert 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.
-
Wert [in]
-
Typ: T
Der Eingabewert.
-
original_value [out]
-
Typ: T
Der ursprüngliche Wert.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Bemerkungen
Dieser Vorgang kann nur für skalare 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 mit freigegebenem Speicher ist. In diesem Fall führt die Funktion den Vorgang für das freigegebene Speicherregister aus, auf das von 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 von dest verwiesen wird. Dieser Vorgang ist nur verfügbar, wenn R lesbar und schreibbar ist.
Ineinandergreifende Vorgänge bedeuten keinen Speicherzaun bzw. keine Barriere.
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 |
Siehe auch
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für