Funzione InterlockedCompareStore (riferimento HLSL)

Confronta in modo atomico la destinazione con il valore di confronto. Se sono identici, la destinazione viene sovrascritta con il valore di input.

Sintassi

void InterlockedCompareStore(
  in R dest,
  in T compare_value,
  in T value
);

Parametri

dest [in]

Tipo: R

Indirizzo di destinazione.

compare_value [in]

Tipo: T

Valore di confronto.

value [in]

Tipo: T

Valore di input.

Valore restituito

Questa funzione non restituisce un valore.

Commenti

Confronta in modo atomico il valore a cui fa riferimento dest con compare_value e archivia il valore nella posizione a cui fa riferimento dest se i valori corrispondono. Questa operazione può essere eseguita solo su risorse tipizzate int o uint e variabili di memoria condivisa. Per questa funzione sono disponibili due usi possibili. Il primo è quando R è un tipo di variabile di memoria condivisa. In questo caso, la funzione esegue l'operazione sul registro di memoria condivisa a cui fa riferimento dest. Il secondo scenario è quando R è un tipo di variabile di risorsa. In questo scenario, la funzione esegue l'operazione sulla posizione della risorsa a cui fa riferimento dest.

Le operazioni interlocked non implicano alcuna barriera/recinto di memoria.

Modello minimo shader

Questa funzione è supportata nei modelli di shader seguenti.

Modello di shader Supportato
Modello shader 5 e versioni successive dello shader

 

Questa funzione è supportata nei tipi di shader seguenti:

Vertice Scafo Dominio Geometria Pixel Calcolo
x x x x x x

 

Vedi anche

Funzioni intrinseche

Modello shader 5