ps_2_x
可编程像素着色器由一组对像素数据进行操作的指令组成。 注册传入和传出 ALU 的数据。 可以应用其他控制来修改指令、结果或写出的数据。
- ps_2_x指令 包含可用指令的列表。
- ps_2_x寄存器 列出了顶点着色器 ALU 使用的不同类型的寄存器。
- 修饰 符 用于修改指令的工作方式。
- 目标寄存器写入掩码 确定写入目标寄存器的组件。
- 像素着色器源寄存器修饰符 在指令运行之前更改源寄存器数据。
- 源寄存器重排 提供对读取、复制或写入的寄存器组件的额外控制。
动态流控制
DynamicFlowControlDepth 表示动态流控制指令的嵌套深度: if、 if_comp、 if_pred、 break - ps 和 break_comp - ps。 该值等于if_comp块的嵌套深度。 如果此上限为零,则设备不支持动态流控制指令。
临时寄存器数
设备支持的临时寄存器数。 范围为 12 到 32。
静态流控制嵌套深度
StaticFlowControlDepth 表示两种类型的静态流控制指令的嵌套深度:循环 /代表和 callnz /。 loop /rep 指令可以嵌套到 StaticFlowControlDepth deep。 调用 /callnz 指令可以独立嵌套到 StaticFlowControlDepth 深。
指令槽数
指令槽的数目范围为 96 到最多 512,由 MaxPixelShaderInstructionSlots 指定。 可以运行的指令总数由 MaxPixelShaderInstructionsExecuted 定义。 由于循环和子例程调用,这可以大于指令槽的数目。
任意重排
如果设置了 D3DD3DPSHADERCAPS2_0_ARBITRARYSWIZZLE ,则支持任意重排。 请参阅 源寄存器重排。
渐变指令
如果设置了 D3DD3DPSHADERCAPS2_0_GRADIENTINSTRUCTIONS ,则支持渐变指令。 请参阅 dsx - ps、 dsy - ps 和 texldd - ps。
预测
如果设置了 D3DD3DPSHADERCAPS2_0_PREDICATION ,则支持指令预测。 请参阅 谓词注册。
依赖读取限制
如果设置了 D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT ,则没有依赖读取限制。
纹理指令限制
如果设置了 D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT ,则纹理指令没有限制。
取样器计数
可用的纹理采样器数量为 16。
相关主题