ps_2_x

可编程像素着色器由一组对像素数据进行操作的指令组成。 注册传入和传出 ALU 的数据。 可以应用其他控制来修改指令、结果或写出的数据。

动态流控制

DynamicFlowControlDepth 表示动态流控制指令的嵌套深度: ifif_compif_predbreak - psbreak_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 - psdsy - pstexldd - ps

预测

如果设置了 D3DD3DPSHADERCAPS2_0_PREDICATION ,则支持指令预测。 请参阅 谓词注册

依赖读取限制

如果设置了 D3DD3DPSHADERCAPS2_0_NODEPENDENTREADLIMIT ,则没有依赖读取限制。

纹理指令限制

如果设置了 D3DD3DPSHADERCAPS2_0_NOTEXINSTRUCTIONLIMIT ,则纹理指令没有限制。

取样器计数

可用的纹理采样器数量为 16。

像素着色器