imm_atomic_exch (sm5 - asm)

Pertukaran atom langsung ke memori.

imm_atomic_exch dst0[.single_component_mask], dst1, dstAddress[.swizzle], src0[.select_component]
Item Deskripsi
dst0
[in] Berisi nilai dari dst1 sebelum penulisan.
dst1
[in] Tampilan akses tidak berurut (UAV) (u#). Di Compute Shader, ini juga dapat berupa Thread Group Shared Memory (g#).
dstAddress
[in] Alamat memori.
src0
[in] Nilai untuk menulis ke dst1 di dstAddress.

Keterangan

Instruksi ini melakukan penulisan nilai komponen tunggal 32-bit dari operand src0 ke dst1 pada 32-bit per alamat komponen dstAddress.

Jika dst1 adalah u#, dst1 mungkin telah dinyatakan sebagai mentah, diketik, atau terstruktur. Jika diketik, harus dinyatakan sebagai UINT/SINT dengan format sumber daya terikat R32_UINT/_SINT.

Jika dst1 adalah g#, dst1 harus dinyatakan sebagai mentah atau terstruktur.

Jumlah komponen yang diambil dari alamat ditentukan oleh dimensi sumber daya yang dideklarasikan pada dst1.

Nilai asli 32-bit dalam memori tujuan ditulis ke dst0.

Seluruh operasi dilakukan secara atomik.

Jika pemanggilan shader tidak aktif, misalnya jika piksel telah dibuang sebelumnya dalam eksekusinya, atau pemanggilan piksel/sampel hanya ada untuk berfungsi sebagai pembantu ke piksel/sampel nyata untuk turunan, instruksi ini tidak mengubah memori dst1 sama sekali, dan nilai yang dikembalikan tidak terdefinisi.

Alamat di luar batas pada u# tidak menyebabkan apa pun ditulis ke memori, kecuali jika u# terstruktur, dan byte offset ke dalam struktur (komponen kedua alamat) menyebabkan akses di luar batas, maka seluruh isi UAV menjadi tidak terdefinisi.

Alamat di luar batas pada u# atau g# menyebabkan hasil yang tidak terdefinisi dikembalikan ke shader di dst0.

Instruksi ini berlaku untuk tahap shader berikut:

Puncak Hull Domain Geometri Pixel Compute
X X

Karena UAV tersedia di semua tahap shader untuk Direct3D 11.1, instruksi ini berlaku untuk semua tahap shader untuk runtime Direct3D 11.1, yang tersedia dimulai dengan Windows 8.

Puncak Hull Domain Geometri Pixel Compute
X X X X X X

Minimum Shader Model

Instruksi ini didukung dalam model shader berikut:

Shader Model Didukung
Model Shader 5 ya
Model Shader 4.1 tidak
Model Shader 4 tidak
Shader Model 3 (DirectX HLSL) tidak
Shader Model 2 (DirectX HLSL) tidak
Shader Model 1 (DirectX HLSL) tidak

Shader Model 5 Assembly (DirectX HLSL)