Pengubah Daftar Sumber Pixel Shader
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 sebagai 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 | |||
penskalan yang ditandatangani | register_bx2 | X | X | X | X |
pengubah texld dan texcrd | register_d* | X | X | X | X |
swizzling register sumber | 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 pengubah bias, penskalan yang ditandatangani, atau scalex2. Jika digabungkan, negasi dijalankan terakhir.
- Invert tidak dapat digabungkan dengan pengubah lainnya.
- Membalikkan, meniadakan, bias, penskalaan yang ditandatangani, 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 negate 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 membaca dari satu atau beberapa register float konstanta (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