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

 

注意:

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

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

输出寄存器类型

注册 名称 Count R/W 维度 RelAddr 默认值 需要 DCL
Oc# 输出颜色寄存器 请参阅 Direct3D 9 (多元素纹理) W 4 N N
oDepth 输出深度寄存器 1 W 1 N N

 

寄存器