atomic _ und (sm5 - asm)
Atomarer bitweiser AND-Speicher.
| atomic _ und dst, dstAddress [ .swizzle, ] src0 [ .select _ component] |
|---|
| Element | Beschreibung |
|---|---|
| Dst |
[in ] Die Komponenten in AND mit src0. Dieser Wert muss eine ungeordnete Zugriffsansicht (UAV) (u) # sein. Im Compute-Shader kann es sich auch um gemeinsam genutzten Threadgruppenspeicher (g ) # sein. |
| dstAddress |
[in ] Die Speicheradresse. |
| src0 |
[in ] Die Komponenten in AND mit dst. |
Hinweise
Dieser Vorgang führt einen 32-Bit-Einzelkomponenten-AND des Operanden src0 in dst bei einer 32-Bit-Adresse pro Komponente dstAddress aus, die atomisch ausgeführt wird.
Die Anzahl von Komponenten, die aus der Adresse genommen werden, wird durch die Dimensionalität von dst u # oder g # bestimmt.
Wenn dst ein u ist, kann es als unformatiert, # typisch oder strukturiert deklariert werden. Bei Typ muss es als UINT/SINT deklariert werden, und das gebundene Ressourcenformat ist R32 _ _ UINT/SINT.
Wenn dst g # ist, muss es als roh oder strukturiert deklariert werden.
An den Shader wird nichts zurückgegeben.
Wenn der Shaderaufruf inaktiv ist, z. B. wenn das Pixel zuvor in seiner Ausführung verworfen wurde oder ein Pixel-/Beispielaufruf nur als Hilfs für ein echtes Pixel/Beispiel für Ableitungen vorhanden ist, ändert diese Anweisung den dst-Speicher überhaupt nicht (im Hintergrund).
Die Adressierung außerhalb der Grenzen für u bewirkt, dass nichts in den Arbeitsspeicher geschrieben wird, außer wenn u strukturiert ist und der Byteoffset in die Struktur (zweite Komponente der Adresse) den Zugriff außerhalb der Grenzen verursacht, dann wird der gesamte Inhalt der # # UAV nicht definiert.
Eine Nicht-Begrenzungs-Adressierung auf g (die Grenzen dieses bestimmten g im Gegensatz zum gesamten freigegebenen Speicher) führt dazu, dass der gesamte Inhalt des gesamten freigegebenen # Speichers # undefiniert wird.
Diese Anweisung gilt für die folgenden Shaderstufen:
| Scheitelpunkt | Rumpf | Domain | Geometrie | Pixel | Compute |
|---|---|---|---|---|---|
| X | X |
Da UAVs in allen Shaderstufen für Direct3D 11.1 verfügbar sind, gilt diese Anweisung für alle Shaderstufen für die Direct3D 11.1-Runtime, die ab Windows 8.
| Scheitelpunkt | Rumpf | Domain | Geometrie | Pixel | Compute |
|---|---|---|---|---|---|
| X | X | X | X | X | X |
Minimales Shadermodell
Diese Anweisung wird in den folgenden Shadermodellen unterstützt:
| Shadermodell | Unterstützt |
|---|---|
| Shadermodell 5 | Ja |
| Shadermodell 4.1 | Nein |
| Shadermodell 4 | Nein |
| Shadermodell 3 (DirectX HLSL) | Nein |
| Shadermodell 2 (DirectX HLSL) | Nein |
| Shadermodell 1 (DirectX HLSL) | Nein |