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 中定义为宏。
相关主题