InterlockedXor-Funktion
Führt einen atomaren XOR für den Wert aus.
Syntax
void InterlockedXor(
in UINT dest,
in UINT value,
out UINT original_value
);
Parameter
-
dest [in]
-
Typ: UINT
Die Zieladresse.
-
Wert [in]
-
Typ: UINT
Der Eingabewert.
-
original_value [out]
-
Typ: UINT
Der ursprüngliche Wert.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Bemerkungen
Dieser Vorgang kann nur für INT - oder UINT-typisierte Ressourcen und freigegebene Arbeitsspeichervariablen ausgeführt werden. Es gibt drei mögliche Verwendungsmöglichkeiten für diese Funktion. Die erste ist, wenn R ein Shared Memory-Variablentyp ist. In diesem Fall führt die Funktion einen atomaren XOR mit dem Wert des von dest referenzierten Shared Memory-Registers aus. Das zweite Szenario ist, wenn R ein Ressourcenvariablentyp ist. In diesem Szenario führt die Funktion einen atomaren XOR mit dem Wert des Ressourcenstandorts aus, auf den von dest verwiesen wird. Schließlich ist das dritte Szenario, wenn R ein lokaler Variablentyp ist. In diesem Szenario reduziert sich die Funktion auf einen XOR der Werte von dest und value. Das Ergebnis des Vorgangs ersetzt den Wert in dest. Die überladene Funktion verfügt über eine zusätzliche Ausgabevariable, die auf den ursprünglichen Wert von dest festgelegt wird. Dieser überladene Vorgang ist nur verfügbar, wenn R lesbar und beschreibbar ist.
Diese Funktion wird in den folgenden Shadertypen unterstützt:
VS | HS | DS | GS | PS | CS |
---|---|---|---|---|---|
x | x | x | x | x | x |
Siehe auch