ps_3_0
Shader piksel yang dapat diprogram terdiri dari serangkaian instruksi yang beroperasi pada data piksel. Mendaftarkan data transfer masuk dan keluar dari ALU. Kontrol tambahan dapat diterapkan untuk memodifikasi instruksi, hasil, atau data apa yang akan ditulis.
- ps_3_0 Instruksi berisi daftar instruksi yang tersedia.
- ps_3_0 Mendaftar mencantumkan berbagai jenis register yang digunakan oleh piksel shader ALU.
- Pengubah Digunakan untuk memodifikasi cara kerja instruksi.
- Destination Register Write Mask menentukan komponen register tujuan apa yang ditulis.
- Modifikasi Register Sumber Pixel Shader mengubah data register sumber sebelum instruksi berjalan.
- Source Register Swizzling memberikan kontrol tambahan atas komponen register mana yang dibaca, disalin, atau ditulis.
Fitur baru
Tambahkan daftar wajah. Tambahkan register posisi. Daftar warna (v#) sekarang sepenuhnya floating point dan register koordinat tekstur (t#) telah dikonsolidasikan. Deklarasi input mengambil nama penggunaan, dan beberapa penggunaan diizinkan untuk komponen register tertentu.
Kontrol Alur Dinamis
Perangkat mendukung kontrol aliran dinamis (jika bool - ps, break - ps, dan break_comp - ps). Kedalaman bersarang berkisar antara 0 hingga 24.
Jumlah Daftar Sementara
Jumlah register sementara yang didukung adalah 32.
Kontrol Aliran Statis Kedalaman Bersarang
Panggilan - ps/callnz /call_pred dapat disarangkan ke kedalaman maksimum 4. Secara independen, perulangan - ps/rep - instruksi ps dapat disarangkan ke kedalaman maksimum 4.
Swizzle Arbitrer
Moncong arbitrer didukung. Lihat Sumber Register Swizzling.
Instruksi Gradien
Instruksi gradien didukung. Lihat dsx - ps, dsy - ps, dan texldd - ps.
Predikasi
Predikasi instruksi didukung. Lihat Daftar Predikat.
Batas Baca Dependen
Tidak ada batas baca dependen.
Batas Instruksi Tekstur
Tidak ada batasan pada instruksi tekstur.
Jumlah Instruksi
Setiap shader piksel diizinkan dari 512 hingga jumlah slot di MaxPixelShader30InstructionSlots (tidak lebih dari 32768). Jumlah instruksi yang dijalankan bisa jauh lebih tinggi karena dukungan perulangan. MaxPShaderInstructionsExecuted harus setidaknya 2^16.
Jumlah Sampler
Jumlah sampel tekstur yang tersedia adalah 16.
Batas Perangkat
Jika ps_3_0 didukung, batas berikut didukung dalam perangkat keras (minimal):
Cap | Nilai |
---|---|
MaxTextureWidth, MaxTextureHeight | Masing-masing 4K |
MaxTextureRepeat | 8K |
MaxAnisotropy | 16 |
PixelShaderVersion | 3_0 |
MaxPixelShader30InstructionSlots | 512 |
Batas primitif berikut diatur: | D3DPMISCCAPS_BLENDOP, D3DPMISCCAPS_CLIPPLANESCALEDPOINTS, D3DPMISCCAPS_CLIPTLVERTS, D3DPMISCCAPS_CULLCCW, D3DPMISCCAPS_CULLCW, D3DPMISCCAPS_CULLNONE, D3DPMISCCAPS_FOGINFVF, D3DPMISCCAPS_MASKZ |
Topi raster berikut diatur: | D3DPRASTERCAPS_MIPMAPLODBIAS, D3DPRASTERCAPS_ANISOTROPY, D3DPRASTERCAPS_COLORPERSPECTIVE, D3DPRASTERCAPS_SCISSORTEST di D3DCAPS9 |
Dukungan penuh untuk bias kedalaman termasuk: | D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS, D3DPRASTERCAPS_DEPTHBIAS |
Set lengkap perbandingan untuk tes kedalaman dan alfa termasuk: | Semua D3DPCMPCAPS di D3DCAPS9. |
Mode blending sumber | Semua mode blending didukung sebagai sumber (kecuali D3DPBLENDCAPS_SRCALPHASAT, D3DPBLENDCAPS_BOTHSRCALPHA, dan D3DPBLENDCAPS_BOTHINVSRCALPHA). |
Batas tekstur berikut didukung: | D3DPTEXTURECAPS_CUBEMAP, D3DPTEXTURECAPS_MIPCUBEMAP, D3DPTEXTURECAPS_MIPMAP, D3DPTEXTURECAPS_MIPVOLUMEMAP, D3DPTEXTURECAPS_PERSPECTIVE, D3DPTEXTURECAPS_PROJECTED, D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE, D3DPTEXTURECAPS_VOLUMEMAP |
Berikut ini didukung pada batas filter tekstur, batas filter tekstur volume, dan batas filter tekstur kubus: | D3DPTFILTERCAPS_MINFPOINT, D3DPTFILTERCAPS_MINFLINEAR, D3DPTFILTERCAPS_MINFANISOTROPIC (Ini tidak diperlukan untuk VolumeTextureFilterCaps dan CubeTextureFilterCaps ), D3DPTFILTERCAPS_MIPFPOINT, D3DPTFILTERCAPS_MIPFLINEAR, D3DPTFILTERCAPS_MAGFPOINT, D3DPTFILTERCAPS_MAGFLINEAR |
Mode alamat tekstur berikut didukung pada tahap vertex dan piksel: | D3DPTADDRESSCAPS_WRAP, D3DPTADDRESSCAPS_MIRROR, D3DPTADDRESSCAPS_CLAMP, D3DPTADDRESSCAPS_BORDER, D3DPTADDRESSCAPS_INDEPENDENTUV, D3DPTADDRESSCAPS_MIRRORONCE |
Semua batas shader piksel didukung. | DynamicFlowControlDepth = 24, NumTemps = 32, StaticFlowControlDepth = 4, NumInstructionSlots = 512. Fitur-fitur berikut didukung: predikasi, moncong arbitrer, dan instruksi gradien. Tidak ada batas baca dependen, dan tidak ada batasan pada campuran tekstur dan instruksi matematika. |
Semua operasi stensil didukung. Ini termasuk stensil dua sisi. | Lihat D3DSTENCILOP |
Ukuran titik dukungan perangkat per puncak | D3DFVFCAPS_PSIZE di D3DCAPS9 |
Non-daya 2 dukungan tekstur. | Baik dukungan penuh atau dukungan non-pow-2 kondisi; perangkat seharusnya tidak memiliki batasan tekstur persegi saja seperti dalam D3DPTEXTURECAPS_SQUAREONLY. |
Jika perangkat mendukung beberapa rendertarget, batas berikut didukung: | D3DPMISCCAPS_INDEPENDENTWRITEMASKS, D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING |
Jika vs_3_0 didukung | MaxUserClipPlanes di D3DCAPS9 adalah 6 |
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