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 中的宏。

著色器常數