ps_2_x寄存器
像素着色器依赖于寄存器来获取顶点数据、输出像素数据、在计算期间保存临时结果以及识别纹理采样阶段。 有几种类型的寄存器,每个寄存器都具有独特的功能。 本部分包含像素着色器版本2_x实现的输入和输出寄存器的参考信息。
输入寄存器类型
注册 | 名称 | Count | R/W | # 读取端口 | # Reads/inst | 维度 | RelAddr | 默认值 | 需要 DCL |
---|---|---|---|---|---|---|---|---|---|
V# | 输入颜色寄存器 | 2 | R | 1 | 无限制 | 4 | N | 部分 (0001) 。 请参阅注释 4 | Y |
R# | 临时寄存器 | 请参阅注释 1 | R/W | 3 | 无限制 | 4 | N | 无 | N |
c# | 常量浮点寄存器 | 32 | R | 1 | 2 | 4 | N | 0000 | N |
我# | 常量整数寄存器 | 16 | 查看注释 2 | 1 | 1 | 4 | N | 0000 | N |
B# | 常量布尔寄存器 | 16 | 查看注释 2 | 1 | 1 | 1 | N | FALSE | N |
P | 谓词寄存器 | 1 | 查看注释 2 | 1 | 1 | 1 | N | 无 | Y |
s# | 采样器 (Direct3D 9 asm-ps) | 16 | 请参阅注释 3 | 1 | 1 | 4 | N | 参阅注释 5 | Y |
t# | 纹理坐标寄存器 | 8 | R | 1 | 1 | 4 | N | 无 | Y |
注意:
- 12 min/32 max:r# 寄存器数由 D3DPSHADERCAPS2_0.NumTemps (确定,范围为 12 到 32) 。
- 只能由流控制指令使用。
- 只有纹理采样指令可用。
- 部分 (x、y、z、w) - 如果寄存器中只有一部分通道更新,其余通道将默认为指定值 (x、y、z、w) 。
- 采样器查找的默认值存在,但值取决于纹理格式。
读取端口数是每个寄存器类型 (的不同寄存器数,) 可以在单个指令中读取。
输出寄存器类型
注册 | 名称 | Count | R/W | 维度 | RelAddr | 默认值 | 需要 DCL |
---|---|---|---|---|---|---|---|
Oc# | 输出颜色寄存器 | 请参阅 Direct3D 9 (多元素纹理) | W | 4 | N | 无 | N |
oDepth | 输出深度寄存器 | 1 | W | 1 | N | 无 | N |
相关主题