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 |
Topik terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk