dmovc (sm5 - asm)

Pemindahan bersyariah komponen bijaksana.

dmovc[_sat] dest[.mask], src0[.swizzle], [-]src1[_abs][.swizzle], [-]src2[_abs][.swizzle],
Item Deskripsi
Dest
[in] Tujuan pemindahan.
Jika src0, maka dest = src1 lain dest = src2.
src0
[in] Komponen untuk menguji kondisi.
src1
[in] Komponen yang akan dipindahkan jika kondisinya benar.
src2
[in] Komponen yang akan dipindahkan jika kondisinya salah.

Keterangan

Contoh berikut menunjukkan cara menggunakan instruksi ini.

                if(the dest mask contains .xy)
                {
                    if(the first 32-bit component of src0, post-swizzle, 
                       has any bit set)
                    {
                        copy the first double from src1 (post swizzle)
                        into dest.xy
                    }
                    else
                    {
                        copy the first double from src2 (post swizzle)
                        into dest.xy
                    }
                }
                if(the dest mask contains .zw)
                {
                    if(the second 32-bit component of src0, post-swizzle, 
                       has any bit set)
                    {
                        copy the second double from src1 (post swizzle)
                        into dest.zw
                    }
                    else
                    {
                        copy the second double from src2 (post swizzle)
                        into dest.zw
                    }
                }

Masker yang valid untuk tujuan adalah .xy, .zw, .xyzw.

Gerimis yang valid untuk src0 adalah apa saja. Dua komponen pertama pasca-swizzle digunakan untuk mengindentifikasi dua nilai kondisi 32-bit.

Swizzles yang valid untuk src1 dan src2 yang berisi double adalah .xyzw, .xyxy, .zwxy, .zwzw. adalah .xy, .zw, dan .xyzw.

Pemetaan src berikut di bawah ini adalah post-swizzle:

  • dest adalah vek2 ganda di seluruh (x 32LSB, y 32MSB) dan (z 32LSB, w 32MSB).
  • src0 adalah vek2 32bit/komponen di x dan y (zw diabaikan).
  • src1 adalah vek2 ganda di seluruh (x 32LSB, y 32MSB) dan (z 32LSB, w 32MSB).
  • src2 adalah vek2 ganda di seluruh (x 32LSB, y 32MSB) dan (z 32LSB, w 32MSB).

Pengubah pada src1 dan src2, selain swizzle, mengasumsikan datanya ganda. Tidak adanya pengubah memindahkan data tanpa mengubah bit.

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)