InterlockedCompareExchange, fonction (référence HLSL)

Compare atomiquement la destination à la valeur de comparaison. S’ils sont identiques, la destination est remplacée par la valeur d’entrée. La valeur d’origine est définie sur la valeur d’origine de la destination.

Syntaxe

void InterlockedCompareExchange(
  in  R dest,
  in  T compare_value,
  in  T value,
  out T original_value
);

Paramètres

dest [ . dans]

Type : R

Adresse de destination.

comparer la _ valeur [ dans]

Type : T

Valeur de comparaison.

valeur [ dans]

Type : T

Valeur d'entrée.

_ valeur d’origine []

Type : T

Valeur d'origine.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Notes

Compare atomiquement la valeur référencée par dest avec la _ valeur de comparaison, stocke la valeur dans l’emplacement référencé par dest si les valeurs correspondent, retourne la valeur d’origine de dest dans la _ valeur d’origine. Cette opération ne peut être effectuée que sur des ressources typées int ou uint et des variables de mémoire partagée. Il existe deux utilisations possibles de cette fonction. La première est lorsque R est un type de variable de mémoire partagée. Dans ce cas, la fonction effectue l’opération sur le registre de mémoire partagée référencé par dest. Le deuxième scénario est lorsque R est un type de variable de ressource. Dans ce scénario, la fonction effectue l’opération sur l’emplacement de la ressource référencé par dest. Cette opération est uniquement disponible lorsque R est accessible en lecture et en écriture.

Notes

Si vous appelez InterlockedCompareExchange dans une boucle de nuanceur de calcul for ou while , pour compiler correctement, vous devez utiliser l’attribut de [ _ _ ] condition allow UAV sur cette boucle.

Modèle de nuanceur minimal

Cette fonction est prise en charge dans les modèles de nuanceur suivants.

Modèle de nuanceur Prise en charge
Nuancier modèle 5 et modèles de nuanceur supérieurs Oui

Cette fonction est prise en charge dans les types de nuanceurs suivants :

Sommet Forme Domain Géométrie Pixel Compute
x x x x x x

Voir aussi

Fonctions intrinsèques

Shader, modèle 5