D3D10_SHADER常數
HLSL 編譯選項。
#define | 描述 |
---|---|
D3D10_SHADER_AVOID_FLOW_CONTROL | 告知編譯器在可能的情況下不允許流程式控制制 () 。 |
D3D10_SHADER_DEBUG | 插入偵錯檔案/行/類型/符號資訊。 |
D3D10_SHADER_ENABLE_STRICTNESS | 根據預設,HLSL 編譯器會停用已淘汰語法的嚴格性。 指定此旗標會啟用不允許舊版語法的嚴格性。 |
D3D10_SHADER_ENABLE_BACKWARDS_COMPATIBILITY | 這可讓較舊的著色器編譯為 4_0 目標。 |
D3D10_SHADER_FORCE_VS_SOFTWARE_NO_OPT | 編譯下一個最高著色器設定檔的頂點著色器。 此選項會開啟 (偵錯,並將優化關閉) 。 |
D3D10_SHADER_FORCE_PS_SOFTWARE_NO_OPT | 編譯下一個最高著色器設定檔的圖元著色器。 此選項會開啟 (偵錯,並將優化關閉) 。 |
D3D10_SHADER_IEEE_STRICTNESS | 啟用 IEEE 嚴格性。 |
D3D10_SHADER_NO_PRESHADER | 停用 Preshaders。 使用此旗標會導致編譯器不會提取靜態運算式以進行評估。 |
D3D10_SHADER_OPTIMIZATION_LEVEL0 | 最低優化層級。 可能會產生較慢的程式碼,但會更快速地執行此動作。 這在高度反復的著色器開發週期中可能很有用。 |
D3D10_SHADER_OPTIMIZATION_LEVEL1 | 第二個最低優化層級。 |
D3D10_SHADER_OPTIMIZATION_LEVEL2 | 第二個最高優化層級。 |
D3D10_SHADER_OPTIMIZATION_LEVEL3 | 最高優化層級。 將產生最佳的可能程式碼,但可能需要很長的時間才能這麼做。 這對於效能是最重要的因素之應用程式的最終組建很有用。 |
D3D10_SHADER_PACK_MATRIX_ROW_MAJOR | 除非明確指定,否則矩陣會以著色器輸入和輸出的資料列主要順序封裝。 |
D3D10_SHADER_PACK_MATRIX_COLUMN_MAJOR | 除非明確指定,否則矩陣會以著色器輸入和輸出的資料行主要順序封裝。 這通常更有效率,因為它允許使用一系列的點產品來執行向量矩陣乘法。 |
D3D10_SHADER_PARTIAL_PRECISION | 強制使用部分精確度完成所有計算;這可能會在某些硬體上更快執行。 |
D3D10_SHADER_PREFER_FLOW_CONTROL | 請告訴編譯器盡可能使用流程式控制制 () 。 |
D3D10_SHADER_SKIP_OPTIMIZATION | 在程式碼產生期間略過優化;通常建議只偵錯。 |
D3D10_SHADER_SKIP_VALIDATION | 請勿根據已知功能和條件約束來驗證產生的程式碼。 請只搭配過去成功編譯的著色器使用此功能。 在設定為裝置之前,DirectX 一律會先驗證著色器。 |
D3D10_SHADER_WARNINGS_ARE_ERRORS | 通知 HLSL 編譯器,在編譯著色器程式碼時將所有警告視為錯誤。 針對新的著色器程式碼,您應該使用此選項,以便解決所有警告,並確保最少可能難以尋找的程式碼瑕疵。 |
這些常數會定義為 d3d10shader.h 中的宏。
相關主題