panggilan - vs
Melakukan panggilan fungsi ke instruksi yang ditandai dengan label yang disediakan.
Sintaks
panggil l # |
---|
where l# adalah label - vs menandai awal sub-rutin yang akan dipanggil.
Keterangan
Versi shader vertex | 1_1 | 2_0 | 2_x | 2_sw | 3_0 | 3_sw |
---|---|---|---|---|---|---|
Panggilan | x | x | x | x | x |
Instruksi ini melakukan hal berikut:
- Dorong alamat instruksi berikutnya ke tumpukan alamat pengembalian.
- Lanjutkan eksekusi dari instruksi yang ditandai oleh label.
Di vertex shader 2_0, panggilan bersarang tidak diizinkan.
Dalam 2_x shader puncak, kedalaman bersarang dibatasi oleh elemen StaticFlowControlDepth dari struktur D3DVSHADERCAPS2_0 . Untuk informasi selengkapnya, lihat GetDeviceCaps.
Dalam vertex shader 3_0, empat tingkat sarang panggilan diizinkan.
Hanya panggilan pengalihan yang diizinkan. Ini berarti bahwa lokasi label di dalam shader puncak harus setelah instruksi panggilan mereferensikannya.
Jika instruksi panggilan dipanggil di dalam perulangan... blok endloop , nilai Loop Counter Register (aL) dapat diakses di dalam subroutine.
Jika sub-rutin mereferensikan Loop Counter Register (aL) yang terletak di luar subroutine, setiap instans panggilan ke subroutine ini harus dikelilingi oleh perulangan... blok endloop.
Topik terkait