Fonction interverrouillée (référence HLSL)
Exécute un ou atomique garanti.
Syntaxe
void InterlockedOr(
in R dest,
in T value,
out T original_value
);
Paramètres
-
dest [ . dans]
-
Type : R
Adresse de destination.
-
valeur [ dans]
-
Type : T
Valeur d'entrée.
-
_ valeur d’origine []
-
Type : T
facultatif. Valeur d’entrée d’origine.
Valeur renvoyée
Cette fonction ne retourne pas de valeur.
Notes
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 exécute un atomique ou une valeur dans 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 une valeur atomique ou de valeur à l’emplacement de la ressource référencée par dest. La fonction surchargée a une variable de sortie supplémentaire qui sera définie sur la valeur d’origine de dest. Cette opération surchargée est disponible uniquement lorsque R est accessible en lecture et en écriture.
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 |