Bagikan melalui


Instruksi ps_3_0

Bagian ini berisi informasi referensi untuk instruksi pixel shader versi 3_0.

Ada beberapa jenis instruksi shader piksel, seperti yang ditunjukkan dalam tabel. Kolom di sebelah kanan berarti yang berikut ini:

  • Slot instruksi - Jumlah slot instruksi yang digunakan oleh setiap instruksi.
  • Penyiapan - Shader piksel harus memiliki instruksi versi dan harus merupakan instruksi pertama.
  • Aritmatika - Instruksi ini menyediakan operasi matematika dalam shader.
  • Tekstur - Instruksi ini digunakan untuk memuat dan mengambil sampel data tekstur, dan untuk memodifikasi koordinat tekstur.
  • Kontrol alur - Instruksi ini memberikan kontrol aliran statis dan dinamis ke eksekusi instruksi.
  • Baru - Instruksi ini baru untuk versi ini.

Set Instruksi

Nama Deskripsi Slot instruksi Siapkan Aritmatika Tekstur Kontrol aliran Baru
abs - ps Nilai absolut 1 x
add - ps Menambahkan dua vektor 1 x
break - ps Keluar dari perulangan... endloop atau rep... blok endrep 1 x
break_comp - ps Pembobolan kondisional dari perulangan... endloop atau rep... blok endrep, dengan perbandingan 3 x
breakp - ps keluar dari perulangan... endloop atau rep... blok endrep, berdasarkan predikat 3 x
call - ps Memanggil subroutine 2 x
callnz bool - ps Panggil subroutine jika register boolean bukan nol 3 x
callnz pred - ps Panggil subroutine jika register predikat bukan nol 3 x
cmp - ps Membandingkan sumber dengan 0 1 x
crs - ps Produk silang 2 x
dcl_samplerType (sm2, sm3 - ps asm) Mendeklarasikan dimensi tekstur untuk sampler 0 x
dcl_semantics (sm3 - ps asm) Mendeklarasikan register input dan output 0 x x
def - ps Menentukan konstanta 0 x
defb - ps Menentukan konstanta Boolean 0 x
defi - ps Menentukan konstanta bilangan bulat 0 x
dp2add - ps Produk titik 2D dan tambahkan 2 x
dp3 - ps Produk titik 3D 1 x
dp4 - ps Produk titik 4D 1 x
dsx - ps Laju perubahan dalam arah x 2 x
dsy - ps Laju perubahan ke arah y 2 x
else - ps Mulai blok lain 1 x
endif - ps Akhiri jika... blok lain 1 x
endloop - ps Mengakhiri perulangan 2 x x
endrep - ps Akhir blok berulang 2 x
exp - ps Presisi penuh 2x 1 x
frc - ps Komponen pecahan 1 x
if bool - ps Memulai blok if 3 x
if_comp - ps Memulai blok if dengan perbandingan 3 x
if pred - ps Memulai blok if dengan predikasi 3 x
label - ps Label 0 x
log - ps Log presisi penuhâ‚‚(x) 1 x
loop - ps Perulangan 3 x x
lrp - ps Interpolasi linier 2 x
m3x2 - ps 3x2 kalikan 2 x
m3x3 - ps 3x3 kalikan 3 x
m3x4 - ps 3x4 kalikan 4 x
m4x3 - ps 4x3 kalikan 3 x
m4x4 - ps 4x4 kalikan 4 x
mad - ps Mengalikan dan menambahkan 1 x
max - ps Maksimum 1 x
min - ps Minimum 1 x
mov - ps Move 1 x
mul - ps Pengalian 1 x
nop - ps Tidak ada operasi 1 x
nrm - ps Menormalkan 3 x
pow - ps xy 3 x
Mazmur Versi 0 x
rcp - ps Timbal balik 1 x
rep - ps Ulang 3 x
ret - ps Akhir subroutine 1 x
rsq - ps Akar kuadrat timbal balik 1 x
setp_comp Atur register predikat 1 x
sincos - ps Sinus dan kosinus 8 x
sub - ps Pengurangan 1 x
texkill - ps Mematikan render piksel 2 x
texld - ps_2_0 ke atas Contoh tekstur Lihat catatan 1 x
texldb - ps Pengambilan sampel tekstur dengan bias tingkat detail dari w-component 6 x
texldl - ps Pengambilan sampel tekstur dengan tingkat detail dari w-component Lihat catatan 2 x x
texldd - ps Pengambilan sampel tekstur dengan gradien yang disediakan pengguna 3 x
texldp - ps Pengambilan sampel tekstur dengan proyektif dibagi dengan komponen-w Lihat catatan 3 x

 

Catatan:

  1. Jika teksturnya adalah peta kubus, slot = 4; jika tidak, slot = 1.
  2. Jika teksturnya adalah peta kubus, slot = 5; jika tidak, slot = 2.
  3. Jika teksturnya adalah peta kubus, slot = 4; jika tidak, slot = 3.

Instruksi Pixel Shader