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

Shader Model 5 Assembly (DirectX HLSL)