imm_atomic_consume (sm5 - asm)
Decrementare in modo atomico il contatore nascosto a 32 bit archiviato con una visualizzazione di accesso non ordinata o Accoda accesso non ordinato (UAV), restituendo il nuovo valore.
imm_atomic_consume dest[.single_component_mask], dstUAV |
---|
Elemento | Descrizione |
---|---|
Dest |
[in] Contiene il valore del contatore originale restituito. |
dstUAV |
[in] UAV del buffer strutturato con il flag Count o Append. |
Commenti
Vedere imm_atomic_alloc per una discussione sulla validità del valore del conteggio restituito a seconda che l'UAV sia Count o Append. Lo stesso vale per imm_atomic_consume.
imm_atomic_consume esegue un decremento atomico del valore del contatore, restituendo il nuovo valore a dest.
Non c'è alcun blocco del conteggio, quindi esegue il wrapping sull'underflow.
Lo stesso shader non può tentare sia imm_atomic_alloc che imm_atomic_consume nello stesso UAV. Inoltre, la GPU non può consentire più chiamate shader di combinare imm_atomic_alloc e imm_atomic_consume nello stesso UAV.
Questa istruzione si applica alle fasi dello shader seguenti:
Vertice | Scafo | Dominio | Geometria | Pixel | Calcolo |
---|---|---|---|---|---|
X | X |
Poiché gli UAV sono disponibili in tutte le fasi dello 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 minimo shader
Questa istruzione è supportata nei modelli di shader seguenti:
Modello di shader | Supportato |
---|---|
Modello shader 5 | sì |
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 |