InterlockedMax-Funktion (HLSL-Referenz)

Führt einen garantierten atomaren Maximalen aus.

Syntax

void InterlockedMax(
  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

Optional. Der ursprüngliche Eingabewert.

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 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 einen atomaren Maximalwert 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 einen atomaren Maximalwert für den Ressourcenspeicherort aus, auf den vom dest verwiesen wird. 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.

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

Weitere Informationen

Systeminterne Funktionen

Shadermodell 5