atomic _ oder (sm5 - asm)
Atomarer bitweiser OR-Speicher.
| atomic _ oder dst, dstAddress [ .swizzle, ] src0 [ .select _ component] |
|---|
| Element | BESCHREIBUNG |
|---|---|
| Dst |
[in ] Die Komponenten in OR 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 ] The components to OR with dst. |
Bemerkungen
Diese Anweisung führt eine einzelne Komponente mit bitweisem OR 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 wenn 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 |