软件着色器
软件着色器实现以允许开发没有基础硬件支持的着色器。 它们支持完整的功能集。 由于它们在软件中实现,因此不会产生最佳性能。
版本 | 功能集 | 要求 |
---|---|---|
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来说,这是宽松的。 允许无限制的说明。 |
Float 常量计数: | 对于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 位有符号交错器。 Interation count can be up to MAX_INT/64. |
读取端口限制: | vs_2_sw、vs_3_sw、ps_2_sw和ps_3_sw没有读取端口限制。 |
内插器数: | vs_3_sw中有 16 个 寄存器 - vs_3_0 (o#)和 10 ps_3_0 寄存器 (v#) 用于ps_3_sw。 |
相关主题