swapc (sm5 - asm)
Melakukan pertukaran kondisi komponen-bijaksana dari nilai antara dua register input.
swapc dst0[.mask], dst1[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle] |
---|
Item | Deskripsi |
---|---|
dst0 |
[in] Daftar dengan masker tulis yang tidak kosong secara arbitrer. Harus berbeda dari dst1. |
dst1 |
[in] Daftar dengan masker tulis yang tidak kosong secara arbitrer. Harus berbeda dari dst0. |
src0 |
[in] Menyediakan 4 kondisi. Nilai bilangan bulat bukan nol berarti true. |
src1 |
[in] Salah satu nilai yang akan ditukar. |
src2 |
[in] Salah satu nilai yang akan ditukar. |
Keterangan
Pengodean instruksi ini mencoba untuk secara kompak mengekspresikan beberapa pertukaran kondisional paralel skalar di dua register 4 komponen, dengan fleksibilitas kecil dalam pengaturan pasangan angka yang terlibat dalam pertukaran.
Pilihan register dan nilai untuk src0, src1, dan src2 tidak dibatasi dengan cara apa pun, seperti movc.
Semantik instruksi ini dapat dijelaskan oleh operasi yang setara dengan instruksi movc . Kasus terburuk ditunjukkan dalam contoh berikut, memastikan register tujuan tidak diperbarui hingga akhir.
swapc dst0[.mask],
dst1[.mask],
src0[.swizzle],
src1[.swizzle],
src2[.swizzle]
expands to:
movc temp[dst0 s mask],
src0[.swizzle],
src2[.swizzle], src1[.swizzle]
movc dst1[.mask],
src0[.swizzle],
src1[.swizzle], src2[.swizzle]
mov dst0.mask, temp
Anda dapat memilih cara mengatasi tugas, jika tidak secara langsung. Misalnya, efek yang sama dapat dicapai dengan urutan hingga 4 pertukaran kondisional skalar sederhana, atau seperti di atas, dua instruksi movc vektor, ditambah overhead apa pun untuk memastikan nilai sumber tidak disumbat oleh operasi sebelumnya di tengah ekspansi.
Gunakan instruksi ini untuk pengurutan.
Instruksi ini berlaku untuk tahap shader berikut:
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