vs_2_x

Shader vertex yang dapat diprogram terdiri dari serangkaian instruksi yang beroperasi pada data vertex. Mendaftarkan transfer data masuk dan keluar dari ALU. Kontrol tambahan dapat diterapkan untuk memodifikasi instruksi, hasil, atau data apa yang akan ditulis.

Versi shader vertex vs_2_x memperluas set fitur yang didukung oleh vs_2_0. Setiap fitur tambahan diwakili oleh batas yang sesuai dalam struktur D3DCAPS9 dalam D3DVS20CAPS. Untuk menggunakan salah satu fitur yang disempurnakan yang diwakili oleh batas ini, versi shader vertex harus ditentukan sebagai vs_2_x.

Fitur baru

Fitur baru adalah sebagai berikut:

Kontrol Alur Dinamis

Jika D3DVS20CAPS> 0, instruksi kontrol alur dinamis berikut didukung:

Jika D3DVS20CAPS juga diatur, instruksi kontrol alur tambahan berikut didukung:

Rentang nilai untuk kedalaman kontrol aliran dinamis adalah 0 hingga 24 dan sama dengan kedalaman bersarang dari instruksi kontrol alur dinamis (lihat Batas Bersarang Kontrol Alur untuk detailnya). Jika batas ini nol, perangkat tidak mendukung instruksi kontrol alur dinamis.

Jumlah Daftar Sementara

D3DVS20CAPS menunjukkan jumlah Daftar Sementarayang didukung oleh perangkat. Rentang nilai untuk batas ini adalah 12 hingga 32.

Kedalaman Bersarang Kontrol Aliran Statis

D3DVS20CAPS mewakili kedalaman bersarang dari dua jenis instruksi kontrol aliran statis: perulangan - vs/rep - vs dan panggilan - vs/callnz bool - vs/jika bool - vs. perulangan - vs/rep - vs instruksi dapat ditumpuk hingga D3DVS20CAPS dalam. Secara independen, panggilan - vs/callnz bool - vs instruksi dapat disarangkan hingga ke dalam D3DVS20CAPS. Jika D3DVS20CAPS juga diatur, maka callnz pred - vs dihitung terhadap kedalaman panggilan bersarang - vs/callnz bool - vs/if bool - vs (lihat BatasAn Bersarang Kontrol Alur untuk detailnya).

Predikasi

Jika D3DVS20CAPS diatur, perangkat mendukung predikasi setp_comp - vs dan instruksi. Jika D3DVS20CAPS juga lebih besar dari 0, instruksi kontrol alur dinamis tambahan berikut didukung:

Jumlah Instruksi

Setiap shader vertex dapat memiliki hingga 256 instruksi yang disimpan. Jumlah instruksi yang dijalankan bisa jauh lebih tinggi (karena dukungan loop/rep), dan dibatasi oleh D3DCAPS9, yang setidaknya harus 0xFFFF.

Vertex Shaders