Freigeben über


imm_atomic_xor (sm5 - asm)

Direktes atomares bitweises XOR zum Arbeitsspeicher. Gibt den Wert im Arbeitsspeicher vor dem XOR zurück.

imm_atomic_xor dst0[.single_component_mask], dst1, dstAddress[.swizzle], src0[.select_component]
Element BESCHREIBUNG
dst0
[in] Enthält den Wert von dst1 vor dem XOR.
dst1
[in] Eine ungeordnete Zugriffsansicht (UAV) (u#). Im Compute-Shader kann dies auch freigegebener Threadgruppenspeicher (g#) sein.
dstAddress
[in] Die Speicheradresse.
src0
Der Wert für XOR mit dst1.

Bemerkungen

Diese Anweisung führt eine einzelne komponente 32-bit bitweise XOR von operand src0 mit dst1 bei 32-Bit pro Komponentenadresse dstAddress durch.

Wenn dst1 ein u# ist, wurde es möglicherweise als roh, typisiert oder strukturiert deklariert. Wenn sie eingegeben wird, muss sie als UINT/SINT deklariert werden, wobei das gebundene Ressourcenformat R32_UINT/_SINT ist.

Wenn dst1 g# ist, muss es als roh oder strukturiert deklariert werden.

Der Wert im dst1-Arbeitsspeicher , bevor der XOR an dst0 zurückgegeben wird.

Der gesamte Vorgang wird atomar ausgeführt.

Die Anzahl der Aus der Adresse entnommenen Komponenten wird durch die Dimensionalität der Ressource bestimmt, die bei dst1 deklariert wird.

Wenn der Shaderaufruf inaktiv ist, wird der dst1-Speicher mit dieser Anweisung nicht geändert, und der zurückgegebene Wert ist nicht definiert.

Die Adressierung von Out-of-Bounds auf u# bewirkt, dass nichts in den Arbeitsspeicher geschrieben wird, außer wenn der u# strukturiert ist und der Byteoffset in die Struktur (zweite Komponente der Adresse) den Zugriff außerhalb der Grenzen verursacht, wird der gesamte Inhalt des UAV undefiniert.

Die Adressierung von Out-of-Bounds für u# oder g# führt dazu, dass ein nicht definiertes Ergebnis an den Shader in dst0 zurückgegeben wird.

Diese Anweisung gilt für die folgenden Shaderphasen:

Scheitelpunkt Hull Domain Geometrie Pixel Compute
X X

Da UAVs in allen Shaderphasen 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 verfügbar ist.

Scheitelpunkt Hull 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

Shadermodell 5-Assembly (DirectX HLSL)