ps_2_0寄存器

像素着色器依赖于寄存器来获取顶点数据、输出像素数据、在计算期间保存临时结果以及标识纹理采样阶段。 有几种类型的寄存器,每个寄存器都具有独特的功能。 本部分包含由像素着色器版本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

 

笔记:

  1. 12 min/32 max:r# 寄存器数由 D3DPSHADERCAPS2_0.NumTemps(范围为 12 到 32)确定。
  2. 仅可由流控制指令使用。
  3. 只有纹理采样指令可用。
  4. partial(x, y, z, w) - 如果寄存器中只更新了一部分通道,其余通道将默认为指定值(x,y,z,w)。
  5. 采样器查找的默认值存在,但值取决于纹理格式。

读取端口数是可在单个指令中读取的不同寄存器数(对于每个寄存器类型)。

输出寄存器类型

注册 名字 计数 R/W 尺寸 RelAddr 违约 需要 DCL
oC# 输出颜色寄存器 请参阅 多元素纹理(Direct3D 9) W 4 N 没有 N
oDepth 输出深度寄存器 1 W 1 N 没有 N

 

注册