InterlockedMax-Funktion
Sucht den maximal zulässigen Wert atomisch.
Syntax
void InterlockedMax(
in UINT dest,
in UINT value,
out UINT original_value
);
Parameter
-
dest [ In]
-
Typ: UINT
Die Zieladresse.
-
value [ In]
-
Typ: UINT
Der Eingabewert.
-
ursprünglicher _ Wert [ out]
-
Typ: UINT
Der ursprüngliche Wert.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Hinweise
Dieser Vorgang kann nur für int- und uint-typierte Ressourcen und Freigegebene Arbeitsspeichervariablen ausgeführt werden. Es gibt drei 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 einen atomaren Höchstwert des Werts für das Shared Memory-Register aus, auf das von dest verwiesen wird. Das zweite Szenario ist, wenn R ein Ressourcenvariablentyp ist. In diesem Szenario führt die Funktion ein atomares Maximum des Werts für den Ressourcenspeicherort aus, auf den vom dest verwiesen wird. Schließlich ist das dritte Szenario, wenn R ein lokaler Variablentyp ist. In diesem Szenario wird die -Funktion auf einen Höchstwert von dest und value reduziert, der in dest gespeichert ist. 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 |