Source register swizzling (referensi HLSL PS)
Swizzling mengacu pada kemampuan untuk menyalin komponen register sumber apa pun ke komponen register sementara. Menggeser tidak memengaruhi data register sumber. Sebelum instruksi berjalan, data dalam register sumber disalin ke register sementara.
Source Swizzling
Swizzle sumber memungkinkan komponen individual dari register sumber untuk mengambil nilai salah satu dari empat komponen dari register sumber yang sama sebelum register dibaca untuk komputasi.
Misalnya, swizzle .zxxy berarti:
- Komponen .x akan mengambil nilai komponen .z
- Komponen .y akan mengambil nilai komponen .x
- Komponen .z akan mengambil nilai komponen .x
- Komponen .w akan mengambil nilai komponen .y
Komponen dapat muncul dalam urutan apa pun. Jika kurang dari empat komponen ditentukan, komponen terakhir akan diulang. Contohnya:
.xy = .xyyy
.wzx = .wzxx
.z = .zzzz
Jika tidak ada komponen yang ditentukan, tidak ada geser yang diterapkan.
Beberapa instruksi memiliki batasan untuk swizzle sumber. Mereka tercantum di halaman referensi instruksi yang dihormati.
Versi shader piksel | 1_1 | 1_2 | 1_3 | 1_4 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|---|---|---|
.X | x | x | x | x | x | x | |||
.Y | x | x | x | x | x | x | |||
.Z | x* | x* | x* | x | x | x | x | x | x |
.W | x | x | x | x | x | x | x | x | x |
.xyzw (default) | x | x | x | x | x | x | x | x | x |
.yzxw | x | x | x | x | x | ||||
.zxyw | x | x | x | x | x | ||||
.wzyx | x | x | x | x | x | ||||
gerimis arbitrer | x | x | x | x |
* Hanya tersedia jika masker tulis tujuan adalah .w (.a).
Swizzle Arbitrer
Swizzles dapat diterapkan ke register sumber dalam urutan arbitrer; artinya, setiap register sumber dapat mengambil masker komponen apa pun, dalam urutan apa pun.
Replikasi Swizzle
Replikasi swizzle menyalin satu komponen ke komponen lainnya. Ini, tepat salah satu komponen .x, .y, .z, .w swizzle (atau .r, .g, .b, .a equivalents) harus ditentukan.
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