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 分钟/32 最大值: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 |
相关主题