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 中定义为宏。

着色器常量