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 | プレシェーダーを無効にします。このフラグを使用すると、コンパイラーは評価に対して静的な式を取得しなくなります。 |
D3D10_SHADER_OPTIMIZATION_LEVEL0 | 最も低い最適化レベルです。遅いコードが生成されますが、コードの生成は迅速に行われます。これは、シェーダーの開発サイクルが何度も反復される場合に有効です。 |
D3D10_SHADER_OPTIMIZATION_LEVEL1 | 2 番目に低い最適化レベルです。 |
D3D10_SHADER_OPTIMIZATION_LEVEL2 | 2 番目に高い最適化レベルです。 |
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 によって検証されます。 |
これらの定数は、d3d10shader.h 内でマクロとして定義されています。