软件着色器
实现软件着色器以允许在没有基础硬件支持的情况下开发着色器。 它们支持完整的功能集。 因为它们是在软件中实现的,所以它们不会产生最佳性能。
版本 | 功能集 | 要求 |
---|---|---|
vs_2_sw | vs_2_x 的所有功能 | 仅受软件顶点处理和参考设备支持。 |
vs_3_sw | vs_3_0 的所有功能 | 仅受软件顶点处理和参考设备支持。 |
ps_2_sw | ps_2_x 的所有功能 | 仅受参考设备支持。 |
ps_3_sw | ps_3_0 的所有功能 | 仅受参考设备支持。 |
对于软件着色器,某些验证是宽松的。 这对于调试和原型制作非常有用。 以下验证是宽松的: (所有其他验证保持不变)
验证类型 | 放松 |
---|---|
指令计数: | 对于vs_2_sw、vs_3_sw和ps_2_sw ps_3_sw来说,这很轻松。 允许无限制的指令。 |
浮点常量计数: | 对于vs_2_sw、vs_3_sw和ps_2_sw ps_3_sw来说,这很轻松。 最多允许 8192 个常量。 |
整数常量计数: | 对于vs_2_sw、vs_3_sw和ps_2_sw ps_3_sw来说,这很轻松。 最多允许 2048 个常量。 |
布尔常量计数: | 对于vs_2_sw、vs_3_sw和ps_2_sw ps_3_sw来说,这很轻松。 最多允许 2048 个常量。 |
依赖读取深度: | 对于ps_2_sw来说,这很轻松。 与vs_3_0和ps_3_0一样,允许无限的从属读取。 |
流控制指令和标签的数目: | 对于vs_2_sw来说,这很轻松。 允许无限流量控制指令和最多 2048 个标签。 |
循环计数/开始/步骤: | 这些vs_2_sw、vs_3_sw、ps_2_sw和ps_3_sw都比较宽松。 代表和循环指令的迭代开始和交互步骤大小是 32 位有符号的交错器。 插接计数最多可以为 MAX_INT/64。 |
读取端口限制: | vs_2_sw、vs_3_sw、ps_2_sw和ps_3_sw没有读取端口限制。 |
内插器数: | vs_3_sw 中有 16 个 寄存器 - vs_3_0 (o#) ,ps_3_sw 有 10 个 ps_3_0 寄存器 (v#) 。 |
相关主题