atomic_imax (sm5 - asm)

Numero intero con segno atomico alla memoria.

atomic_imax dest, dstAddress[.swizzle], src0[.select_component]
Elemento Descrizione
Dest
[in] Componenti da confrontare con src0. Questo valore deve essere una visualizzazione di accesso non ordinata (UAV) (u#). Nello shader di calcolo può essere anche la memoria condivisa del gruppo di thread (g#).
dstAddress
[in] Indirizzo di memoria.
src0
[in] Componenti da confrontare con il massimo.

Commenti

Questa operazione esegue un singolo componente con segno massimo a 32 bit di operando src0 in dest a 32 bit per ogni indirizzo del componente dstAddress, eseguito atomicamente.

Il numero di componenti presi dall'indirizzo è determinato dalla dimensionalità del più dest u# o g#.

Se il massimo è un u#, può essere dichiarato come non elaborato, digitato o strutturato. Se digitato, deve essere dichiarato come UINT/SINT con il formato di risorsa associato R32_UINT/_SINT.

Se il massimo è g#, deve essere dichiarato come non elaborato o strutturato.

Non viene restituito nulla al shader.

Se la chiamata dello shader è inattiva, ad esempio se il pixel è stato rimosso in precedenza nell'esecuzione o se esiste solo una chiamata pixel/campione per un helper a un reale pixel/campione per i derivati, questa istruzione non modifica la memoria più dest (in modo silenzioso).

Gli indirizzi out of bounds su u# causano la scrittura di nulla in memoria, tranne se l'u# è strutturata e l'offset di byte nello struct (secondo componente dell'indirizzo) causa l'uscita dai limiti di accesso, quindi l'intero contenuto dell'UAV diventa non definito.

Gli indirizzi non associati a g# (i limiti di quel determinato g#, anziché a tutti i valori di memoria condivisa) causano la non definizione dell'intero contenuto di tutta la memoria condivisa.

Questa istruzione si applica alle fasi dello shader seguenti:

Vertice Scafo Dominio Geometria Pixel Calcolo
X X

Poiché le UAV sono disponibili in tutte le fasi shader per Direct3D 11.1, questa istruzione si applica a tutte le fasi dello shader per il runtime Direct3D 11.1, disponibile a partire da Windows 8.

Vertice Scafo Dominio Geometria Pixel Calcolo
X X X X X X

Modello di shader minimo

Questa istruzione è supportata nei modelli shader seguenti:

Modello di shader Supportato
Modello shader 5
Modello shader 4.1 no
Modello shader 4 no
Modello shader 3 (DirectX HLSL) no
Modello shader 2 (DirectX HLSL) no
Modello shader 1 (DirectX HLSL) no

Shader Model 5 Assembly (DirectX HLSL)