Pengubah Daftar Sumber Pemecah Piksel
Gunakan pengubah register sumber untuk mengubah nilai yang dibaca dari register sebelum instruksi berjalan. Isi register sumber dibiarkan tidak berubah. Pengubah berguna untuk menyesuaikan rentang data register dalam persiapan untuk instruksi. Sekumpulan pengubah yang disebut pemilih menyalin atau mereplikasi data dari satu saluran (r,g,b,a) ke saluran lain.
ps_1_1 - ps_1_4
Tabel ini mengidentifikasi versi yang mendukung setiap pengubah:
Pengubah register sumber | Sintaks | Versi 1_1 | Versi 1_2 | Versi 1_3 | Versi 1_4 |
---|---|---|---|---|---|
Bias | register_bias | X | X | X | X |
Balikkan | 1 - daftar | X | X | X | X |
negate | -Daftar | X | X | X | X |
skala sebesar 2 | register_x2 | X | |||
penskalakan yang ditandatangani | register_bx2 | X | X | X | X |
pengubah texld dan texcrd | register_d* | X | X | X | X |
sumber register swizzling | register.xyzw | X | X | X | X |
Pengubah register sumber hanya dapat digunakan pada instruksi aritmatika. Mereka tidak dapat digunakan pada instruksi alamat tekstur. Pengecualian untuk ini adalah skala dengan 2 pengubah. Untuk versi 1_1, skala yang ditandatangani dapat digunakan pada argumen sumber dari instruksi texm* apa pun. Untuk versi 1_2 atau 1_3, skala yang ditandatangani dapat digunakan pada argumen sumber dari instruksi alamat tekstur apa pun.
Beberapa pembatasan khusus pengubah:
- Negasi dapat dikombinasikan dengan bias, penskalakan yang ditandatangani, atau pengubah scalex2. Saat digabungkan, negasi dijalankan terakhir.
- Invert tidak dapat dikombinasikan dengan pengubah lain.
- Invert, negate, bias, signed scaling, dan scalex2 dapat dikombinasikan dengan salah satu pemilih.
- Pengubah register sumber tidak boleh digunakan pada register konstan karena akan menyebabkan hasil yang tidak terdefinisi. Untuk versi 1_4, pengubah pada konstanta tidak diizinkan dan akan gagal validasi.
ps_2_0 ke Atas
Untuk versi ps_2_0 dan yang lebih baru, jumlah pengubah telah disederhanakan.
Meniadakan
Meniadakan isi register sumber.
Pengubah komponen | Deskripsi |
---|---|
-R | Negasi sumber |
Pengubah negasi tidak dapat digunakan pada register sumber kedua dari instruksi ini: m3x2 - ps, m3x3 - ps, m3x4 - ps, m4x3 - ps, dan m4x4 - ps.
Versi shader piksel | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|
- | x | x | x | x | x |
Nilai Absolut
Ambil nilai absolut register.
Versi shader piksel | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|
abs | x | x |
Jika ada shader versi 3 yang dibaca dari satu atau beberapa register float konstan (c#), salah satu dari berikut ini harus benar.
- Semua register titik mengambang konstan harus menggunakan pengubah abs.
- Tidak ada register titik mengambang konstan dapat menggunakan pengubah abs.
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