ps_2_x寄存器
像素着色器依赖于寄存器来获取顶点数据、输出像素数据、在计算期间保存临时结果以及标识纹理采样阶段。 有几种类型的寄存器,每个寄存器都具有独特的功能。 本部分包含由像素着色器版本2_x实现的输入和输出寄存器的参考信息。
输入寄存器类型
注册 | 名字 | 计数 | R/W | # 读取端口 | # Reads/inst | 尺寸 | RelAddr | 违约 | 需要 DCL |
---|---|---|---|---|---|---|---|---|---|
v# | 输入颜色寄存器 | 2 | R | 1 | 无限 | 4 | N | Partial(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 | 假 | N |
p0 | 谓词注册 | 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)确定。
- 仅可由流控制指令使用。
- 只有纹理采样指令可用。
- partial(x, y, z, w) - 如果寄存器中只更新了一部分通道,其余通道将默认为指定值(x,y,z,w)。
- 采样器查找的默认值存在,但值取决于纹理格式。
读取端口数是可在单个指令中读取的不同寄存器数(对于每个寄存器类型)。
输出寄存器类型
注册 | 名字 | 计数 | R/W | 尺寸 | RelAddr | 违约 | 需要 DCL |
---|---|---|---|---|---|---|---|
oC# | 输出颜色寄存器 | 请参阅 多元素纹理(Direct3D 9) | W | 4 | N | 没有 | N |
oDepth | 输出深度寄存器 | 1 | W | 1 | N | 没有 | N |
相关主题