Batas Berlapis Kontrol Aliran
Instruksi kontrol aliran shader vertex memiliki dua batasan khusus. Kedalaman berlapis membatasi jumlah instruksi yang dapat dipanggil di dalam satu sama lain. Selain itu, setiap instruksi memiliki jumlah slot instruksi yang berlaku terhadap jumlah maksimum instruksi yang dapat didukung shader.
Catatan
Saat Anda menggunakan profil shader *_4_0_level_9_x HLSL, Anda secara implisit menggunakan profil Shader Model 2.x untuk mendukung perangkat keras berkemampuan Direct3D 9. Profil Shader Model 2.x mendukung perilaku kontrol alur yang lebih terbatas daripada profil Model Shader 4.x dan yang lebih baru.
Jumlah Kedalaman per Instruksi untuk vs_2_0
Setiap instruksi dihitung terhadap satu atau beberapa batas kedalaman bersarang. Tabel ini memperlihatkan jumlah kedalaman yang ditambahkan atau dikurangi setiap instruksi dari kedalaman yang ada:
Instruksi | Bersarang statis | Bersarang dinamis | loop/rep nesting | panggilan bersarang | Jumlah aliran statis |
---|---|---|---|---|---|
jika bool - vs | 0 | 0 | 0 | 0 | 1 |
if_comp - vs | n/a | n/a | n/a | n/a | n/a |
if pred - vs | n/a | n/a | n/a | n/a | n/a |
else - vs | 0 | 0 | 0 | 0 | 1(jika bool - vs saja) |
endif - vs | -1 | 0 | 0 | 0 | 0 |
rep - vs | 0 | 0 | 1 | 0 | 1 |
endrep - vs | 0 | 0 | -1 | 0 | 0 |
perulangan - vs | 0 | 0 | 1 | 0 | 1 |
endloop - vs | 0 | 0 | -1 | 0 | 0 |
break - vs | n/a | n/a | n/a | n/a | n/a |
break_comp - vs | n/a | n/a | n/a | n/a | n/a |
breakp - vs | n/a | n/a | n/a | n/a | n/a |
panggilan - vs | 0 | 0 | 0 | 1 | 1 |
bool callnz - vs | 0 | 0 | 0 | 1 | 1 |
callnz pred - vs | n/a | n/a | n/a | n/a | n/a |
ret - vs | 0 | 0 | 0 | -1 | 0 |
setp_comp - vs | n/a | n/a | n/a | n/a | n/a |
Kedalaman Berlapis
Kedalaman berlapis menentukan berapa banyak instruksi yang dapat dipanggil di dalam satu sama lain. Setiap jenis instruksi memiliki satu atau beberapa batas bersarang:
Jenis Instruksi | Maksimum |
---|---|
Bersarang statis | Hanya dibatasi oleh jumlah alur statis |
Bersarang dinamis | n/a |
loop/rep nesting | 1 |
panggilan bersarang | 1 |
Jumlah aliran statis | 16 |
Jumlah Kedalaman per Instruksi untuk vs_2_x
Setiap instruksi dihitung terhadap satu atau beberapa batas kedalaman bersarang. Tabel ini memperlihatkan jumlah kedalaman yang ditambahkan atau dikurangi setiap instruksi dari kedalaman yang ada:
Instruksi | Bersarang statis | Bersarang dinamis | loop/rep nesting | panggilan bersarang | Jumlah aliran statis |
---|---|---|---|---|---|
jika bool - vs | 1 | 0 | 0 | 0 | 1 |
if_comp - vs | 0 | 1 | 0 | 0 | 0 |
if pred - vs | 0 | 1 | 0 | 0 | 0 |
else - vs | 0 | 0 | 0 | 0 | 1(jika bool - vs saja) |
endif - vs | -1(jika bool - vs) | -1(jika pred - vs atau if_comp - vs) | 0 | 0 | 0 |
rep - vs | 0 | 0 | 1 | 0 | 1 |
endrep - vs | 0 | 0 | -1 | 0 | 0 |
perulangan - vs | 0 | 0 | 1 | 0 | 1 |
endloop - vs | 0 | 0 | -1 | 0 | 0 |
break - vs | 0 | 0 | 0 | 0 | 0 |
break_comp - vs | 0 | 1, -1 | 0 | 0 | 0 |
breakp - vs | 0 | 0 | 0 | 0 | 0 |
panggilan - vs | 0 | 0 | 0 | 1 | 1 |
callnz bool - vs | 0 | 0 | 0 | 1 | 1 |
callnz pred - vs | 0 | 1 | 0 | 1 | 0 |
ret - vs | 0 | -1 (callnz pred - vs) | 0 | -1 | 0 |
setp_comp - vs | 0 | 0 | 0 | 0 | 0 |
Kedalaman Berlapis
Kedalaman berlapis menentukan berapa banyak instruksi yang dapat dipanggil di dalam satu sama lain. Setiap jenis instruksi memiliki satu atau beberapa batas bersarang:
Jenis Instruksi | Maksimum |
---|---|
Bersarang statis | Hanya dibatasi oleh jumlah aliran statis |
Bersarang dinamis | 0 atau 24, lihat D3DCAPS9. VS20Caps.DynamicFlowControlDepth |
perulangan/rep bersarang | 1 hingga 4, lihat D3DCAPS9. VS20Caps.StaticFlowControlDepth |
panggilan bersarang | 1 hingga 4, lihat D3DCAPS9. VS20Caps.StaticFlowControlDepth (terlepas dari batas perulangan/rep) |
Jumlah aliran statis | 16 |
Jumlah Kedalaman per Instruksi untuk vs_2_sw
Setiap instruksi dihitung terhadap satu atau beberapa batas kedalaman bersarang. Tabel ini memperlihatkan jumlah kedalaman yang ditambahkan atau dikurangi setiap instruksi dari kedalaman yang ada:
Instruksi | Bersarang statis | Bersarang dinamis | perulangan/rep bersarang | panggilan bersarang | Jumlah aliran statis |
---|---|---|---|---|---|
jika bool - vs | 1 | 0 | 0 | 0 | n/a |
if_comp - vs | 0 | 1 | 0 | 0 | n/a |
if pred - vs | 0 | 1 | 0 | 0 | n/a |
else - vs | 0 | 0 | 0 | 0 | n/a |
endif - vs | -1(jika bool - vs) | -1(jika pred - vs atau if_comp - vs) | 0 | 0 | n/a |
rep - vs | 0 | 0 | 1 | 0 | n/a |
endrep - vs | 0 | 0 | -1 | 0 | n/a |
perulangan - vs | 0 | 0 | 1 | 0 | n/a |
endloop - vs | 0 | 0 | -1 | 0 | n/a |
break - vs | 0 | 0 | 0 | 0 | n/a |
break_comp - vs | 0 | 1, -1 | 0 | 0 | n/a |
breakp - vs | 0 | 0 | 0 | 0 | n/a |
panggilan - vs | 0 | 0 | 0 | 1 | n/a |
callnz bool - vs | 0 | 0 | 0 | 1 | n/a |
callnz pred - vs | 0 | 1 | 0 | 1 | n/a |
ret - vs | 0 | -1 (callnz pred - vs) | 0 | -1 | n/a |
setp_comp - vs | 0 | 0 | 0 | 0 | n/a |
Kedalaman Berlapis
Kedalaman berlapis menentukan berapa banyak instruksi yang dapat dipanggil di dalam satu sama lain. Setiap jenis instruksi memiliki satu atau beberapa batas bersarang:
Jenis Instruksi | Maksimum |
---|---|
Bersarang statis | 24 |
Bersarang dinamis | 24 |
perulangan/rep bersarang | 4 |
panggilan bersarang | 4 |
Jumlah aliran statis | Tanpa batasan |
Jumlah Kedalaman per Instruksi untuk vs_3_0
Setiap instruksi dihitung terhadap satu atau beberapa batas kedalaman bersarang. Tabel ini memperlihatkan jumlah kedalaman yang ditambahkan atau dikurangi setiap instruksi dari kedalaman yang ada:
Instruksi | Bersarang statis | Bersarang dinamis | perulangan/rep bersarang | panggilan bersarang | Jumlah aliran statis |
---|---|---|---|---|---|
jika bool - vs | 1 | 0 | 0 | 0 | n/a |
if_comp - vs | 0 | 1 | 0 | 0 | n/a |
if pred - vs | 0 | 1 | 0 | 0 | n/a |
else - vs | 0 | 0 | 0 | 0 | n/a |
endif - vs | -1(jika bool - vs) | -1(jika pred - vs atau if_comp - vs) | 0 | 0 | n/a |
rep - vs | 0 | 0 | 1 | 0 | n/a |
endrep - vs | 0 | 0 | -1 | 0 | n/a |
perulangan - vs | 0 | 0 | 1 | 0 | n/a |
endloop - vs | 0 | 0 | -1 | 0 | n/a |
break - vs | 0 | 0 | 0 | 0 | n/a |
break_comp - vs | 0 | 1, -1 | 0 | 0 | n/a |
breakp - vs | 0 | 0 | 0 | 0 | n/a |
panggilan - vs | 0 | 0 | 0 | 1 | n/a |
bool callnz - vs | 0 | 0 | 0 | 1 | n/a |
callnz pred - vs | 0 | 1 | 0 | 1 | n/a |
ret - vs | 0 | -1 (callnz pred - vs) | 0 | -1 | n/a |
setp_comp - vs | 0 | 0 | 0 | 0 | n/a |
Kedalaman Berlapis
Kedalaman berlapis menentukan berapa banyak instruksi yang dapat dipanggil di dalam satu sama lain. Setiap jenis instruksi memiliki satu atau beberapa batas bersarang:
Jenis Instruksi | Maksimum |
---|---|
Bersarang statis | 24 |
Bersarang dinamis | 24 |
loop/rep nesting | 4 |
panggilan bersarang | 4 |
Jumlah aliran statis | Tanpa batasan |
Jumlah Kedalaman per Instruksi untuk vs_3_sw
Setiap instruksi dihitung terhadap satu atau beberapa batas kedalaman bersarang. Tabel ini memperlihatkan jumlah kedalaman yang ditambahkan atau dikurangi setiap instruksi dari kedalaman yang ada:
Instruksi | Bersarang statis | Bersarang dinamis | loop/rep nesting | panggilan bersarang | Jumlah aliran statis |
---|---|---|---|---|---|
jika bool - vs | 1 | 0 | 0 | 0 | n/a |
if_comp - vs | 0 | 1 | 0 | 0 | n/a |
if pred - vs | 0 | 1 | 0 | 0 | n/a |
else - vs | 0 | 0 | 0 | 0 | n/a |
endif - vs | -1(jika bool - vs) | -1(jika pred - vs atau if_comp - vs) | 0 | 0 | n/a |
rep - vs | 0 | 0 | 1 | 0 | n/a |
endrep - vs | 0 | 0 | -1 | 0 | n/a |
perulangan - vs | 0 | 0 | 1 | 0 | n/a |
endloop - vs | 0 | 0 | -1 | 0 | n/a |
break - vs | 0 | 0 | 0 | 0 | n/a |
break_comp - vs | 0 | 1, -1 | 0 | 0 | n/a |
breakp - vs | 0 | 0 | 0 | 0 | n/a |
panggilan - vs | 0 | 0 | 0 | 1 | n/a |
bool callnz - vs | 0 | 0 | 0 | 1 | n/a |
callnz pred - vs | 0 | 1 | 0 | 1 | n/a |
ret - vs | 0 | -1 (callnz pred - vs) | 0 | -1 | n/a |
setp_comp - vs | 0 | 0 | 0 | 0 | n/a |
Kedalaman Berlapis
Kedalaman berlapis menentukan berapa banyak instruksi yang dapat dipanggil di dalam satu sama lain. Setiap jenis instruksi memiliki satu atau beberapa batas bersarang:
Jenis Instruksi | Maksimum |
---|---|
Bersarang statis | 24 |
Bersarang dinamis | 24 |
loop/rep nesting | 4 |
panggilan bersarang | 4 |
Jumlah aliran statis | Tanpa batasan |
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