Konstanta D3DCOMPILE
Konstanta D3DCOMPILE menentukan bagaimana pengkompilasi mengkompilasi kode HLSL.
Terus-menerus | Deskripsi | Catatan |
---|---|---|
|
Mengarahkan pengkompilasi untuk menyisipkan informasi file debug/baris/jenis/simbol ke dalam kode output. | Lihat D3DXSHADER_DEBUG |
|
Mengarahkan kompilator untuk tidak memvalidasi kode yang dihasilkan terhadap kemampuan dan batasan yang diketahui. Kami menyarankan agar Anda menggunakan konstanta ini hanya dengan shader yang telah berhasil dikompilasi di masa lalu. DirectX selalu memvalidasi shader sebelum mengaturnya ke perangkat. | Lihat D3DXSHADER_SKIPVALIDATION |
|
Mengarahkan pengkompilasi untuk melewati langkah-langkah pengoptimalan selama pembuatan kode. Kami menyarankan agar Anda mengatur konstanta ini hanya untuk tujuan debug. | Lihat D3DXSHADER_SKIPOPTIMIZATION |
|
Mengarahkan pengkompilasi untuk mengemas matriks dalam urutan besar baris pada input dan output dari shader. | Lihat D3DXSHADER_PACKMATRIX_ROWMAJOR |
|
Mengarahkan pengkompilasi untuk mengemas matriks dalam urutan kolom-utama pada input dan output dari shader. Jenis pengemasan ini umumnya lebih efisien karena serangkaian produk titik kemudian dapat melakukan perkalian vektor-matriks. | Lihat D3DXSHADER_PACKMATRIX_COLUMNMAJOR |
|
Mengarahkan kompilator untuk melakukan semua komputasi dengan presisi parsial. Jika Anda mengatur konstanta ini, kode yang dikompilasi mungkin berjalan lebih cepat pada beberapa perangkat keras. | Lihat D3DXSHADER_PARTIALPRECISION |
|
Mengarahkan kompilator untuk mengkompilasi shader vertex untuk profil shader tertinggi berikutnya. Konstanta ini mengaktifkan penelusuran kesalahan dan pengoptimalan. | Bendera ini hanya berlaku untuk Direct3D 9. Lihat D3DXSHADER_FORCE_VS_SOFTWARE_NOOPT |
|
Mengarahkan pengkompilasi untuk mengkompilasi shader piksel untuk profil shader tertinggi berikutnya. Konstanta ini juga menonaktifkan penelusuran kesalahan dan pengoptimalan. | Bendera ini hanya berlaku untuk Direct3D 9. Lihat D3DXSHADER_FORCE_PS_SOFTWARE_NOOPT |
|
Mengarahkan kompilator untuk menonaktifkan Preshaders. Jika Anda mengatur konstanta ini, pengkompilasi tidak mengeluarkan ekspresi statis untuk evaluasi. | Bendera ini hanya berlaku untuk Direct3D 9 warisan dan Direct3D 10 Effects (FX). Lihat D3DXSHADER_NO_PRESHADER |
|
Mengarahkan kompilator untuk tidak menggunakan konstruksi kontrol aliran jika memungkinkan. | Lihat D3DXSHADER_AVOID_FLOW_CONTROL |
|
Memaksa kompilasi ketat, yang mungkin tidak memungkinkan sintaksis warisan. Secara default, pengkompilasi menonaktifkan ketegasan pada sintaks yang tidak digunakan lagi. | |
|
Memaksa kompilasi ketat IEEE yang menghindari pengoptimalan yang dapat melanggar aturan IEEE. | Lihat D3DXSHADER_IEEE_STRICTNESS |
|
Mengarahkan pengkompilasi untuk mengaktifkan shader yang lebih lama untuk dikompilasi ke target 5_0. | Lihat D3DXSHADER_ENABLE_BACKWARDS_COMPATIBILITY |
|
Mengarahkan kompilator untuk menggunakan tingkat pengoptimalan terendah. Jika Anda mengatur konstanta ini, pengkompilasi mungkin menghasilkan kode yang lebih lambat tetapi menghasilkan kode dengan lebih cepat. Atur konstanta ini saat Anda mengembangkan shader secara berulang. | Lihat D3DXSHADER_OPTIMIZATION_LEVEL0 |
|
Mengarahkan kompilator untuk menggunakan tingkat pengoptimalan terendah kedua. | Lihat D3DXSHADER_OPTIMIZATION_LEVEL1 |
|
Mengarahkan kompilator untuk menggunakan tingkat pengoptimalan tertinggi kedua. | Lihat D3DXSHADER_OPTIMIZATION_LEVEL2 |
|
Mengarahkan kompilator untuk menggunakan tingkat pengoptimalan tertinggi. Jika Anda mengatur konstanta ini, pengkompilasi menghasilkan kode terbaik tetapi mungkin membutuhkan waktu yang jauh lebih lama untuk melakukannya. Atur konstanta ini untuk build akhir aplikasi ketika performa adalah faktor yang paling penting. | Lihat D3DXSHADER_OPTIMIZATION_LEVEL3 |
|
Mengarahkan pengkompilasi untuk memperlakukan semua peringatan sebagai kesalahan ketika mengkompilasi kode shader. Kami menyarankan agar Anda menggunakan konstanta ini untuk kode shader baru, sehingga Anda dapat menyelesaikan semua peringatan dan menurunkan jumlah cacat kode yang sulit ditemukan. | |
|
Mengarahkan kompilator untuk mengasumsikan bahwa tampilan akses yang tidak diurutkan (UAV) dan tampilan sumber daya shader (SRV) mungkin alias untuk cs_5_0. | Hanya berlaku untuk DirectX 12 / Shader Model 5.1 |
|
Mengarahkan pengkompilasi untuk mengaktifkan tabel deskriptor yang tidak terikat. | Hanya berlaku untuk DirectX 12 / Shader Model 5.1 |
|
Mengarahkan pengkompilasi untuk memastikan semua sumber daya terikat. | Hanya berlaku untuk DirectX 12 / Shader Model 5.1 |
|
Saat menghasilkan PDB debug, ini memanfaatkan file sumber dan biner untuk hash. | |
|
Saat menghasilkan PDB debug, ini menggunakan nama file biner hanya untuk hash. |
Catatan
Konstanta D3DCOMPILE_RESOURCES_MAY_ALIAS
pengkompilasi , D3DCOMPILE_ENABLE_UNBOUNDED_DESCRIPTOR_TABLES
, dan D3DCOMPILE_ALL_RESOURCES_BOUND
baru dimulai dengan D3dcompiler_47.dll yang dikirim dengan SDK Windows 8.1 atau yang lebih baru.
Catatan
Konstanta D3DCOMPILE_DEBUG_NAME_FOR_SOURCE
pengkompilasi dan D3DCOMPILE_DEBUG_NAME_FOR_BINARY
baru dimulai dengan D3dcompiler_47.dll yang dikirim dengan SDK Pembaruan Windows 10 Fall Creator (versi 16299) atau yang lebih baru. Lihat posting blog ini.
Catatan
Untuk DirectX 12, Model Shader 5.1, API D3DCompile, dan FXC semuanya tidak digunakan lagi. Gunakan Shader Model 6 melalui DXIL sebagai gantinya. Lihat GitHub.
Persyaratan
Persyaratan | Nilai |
---|---|
Header |
|