IMM _ Atomic _ Umax (SM5-ASM)
Quantité maximale atomique non signée de la mémoire. Retourne la valeur en mémoire avant l’opération max.
| IMM _ Atomic _ dst0 [ . masque à _ composant _ unique ] , dst1, dstAddress [ . Swizzle ] , src0 [ . Select _ Component] |
|---|
| Élément | Description |
|---|---|
| dst0 |
[dans ] contient la valeur de dst1 avant cette instruction. |
| dst1 |
[dans ] un affichage d’accès non ordonné (UAV) (u # ). Dans le nuanceur de calcul, il peut également s’agir d’une mémoire partagée de groupe de threads (g # ). |
| dstAddress |
[dans ] l’adresse mémoire. |
| src0 |
[dans ] la valeur à comparer à Dst1 sur dstAddress. |
Notes
Cette instruction effectue un seul composant 32 bits non signé de l’opérande src0 avec dst1 à 32 bits par adresse de composant dstAddress.
Si dst1 est un u # , il a peut-être été déclaré comme brut, typé ou structuré. Si elle est typée, elle doit être déclarée en tant que UINT/Saint-avec le format de ressource lié R32 _ uint/Saint-est _ .
Si dst1 est g # , il doit être déclaré comme RAW ou Structured.
La valeur dans dst1 Memory avant Max est retournée à dst0.
Le nombre de composants pris à partir de l’adresse est déterminé par la dimensionnalité de dst1.
La totalité de l’opération est effectuée atomiquement.
Si l’appel du nuanceur est inactif, par exemple si le pixel a été ignoré plus tôt dans son exécution, ou s’il n’existe qu’un appel d’assistance à un réel pixel/échantillon pour les dérivés, cette instruction ne modifie pas le tout la mémoire dst1 , et la valeur retournée n’est pas définie.
L’adressage hors limites sur u n' # entraîne pas l’écriture dans la mémoire, sauf si u # est structuré et que l’offset d’octet dans le struct (composant « second » de l’adresse) est à l’origine de l’accès hors limites, alors que le contenu entier du UAV devient non défini.
L’adressage hors limites sur u # ou g # entraîne le retour d’un résultat non défini au nuanceur dans dst0.
Cette instruction s’applique aux étapes suivantes du nuanceur :
| Sommet | Forme | Domain | Géométrie | Pixel | Calcul |
|---|---|---|---|---|---|
| X | X |
Étant donné que les UAVs sont disponibles à toutes les étapes de nuanceur pour Direct3D 11,1, cette instruction s’applique à toutes les étapes de nuanceur pour le runtime Direct3D 11,1, disponible à partir de Windows 8.
| Sommet | Forme | Domain | Géométrie | Pixel | Calcul |
|---|---|---|---|---|---|
| X | X | X | X | X | X |
Modèle de nuanceur minimal
Cette instruction est prise en charge dans les modèles de nuanceur suivants :
| Modèle de nuanceur | Prise en charge |
|---|---|
| Shader, modèle 5 | Oui |
| Modèle de nuanceur 4,1 | non |
| Nuanceur modèle 4 | non |
| Shader Model 3 (DirectX HLSL) | non |
| Shader Model 2 (DirectX HLSL) | non |
| Shader Model 1 (DirectX HLSL) | non |