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 | sì |
Questa funzione è supportata nei tipi di shader seguenti:
Vertice | Scafo | Dominio | Geometria | Pixel | Calcolo |
---|---|---|---|---|---|
x | x | x | x | x | x |
Vedi anche