源参数标记
源参数令牌描述源寄存器的属性,由以下位组成:
位
[10:00] 位 0 到 10 指示寄存器文件) 中的寄存器编号 (偏移量。
[12:11] 位 11 和 12 是用于指示 寄存器类型的第四位和第五位 [3,4]。
[13] 对于低于 3_0 的 PS) 版本的像素着色器 (,将保留位 13 并将其设置为0x0。
对于像素着色器 (PS) 版本 3_0 及更高版本以及所有版本的顶点着色器 (VS) ,位 13 指示是否使用相对寻址模式。 如果设置为 1,则应用 相对寻址 。
[15:14] 保留给所有版本的 PS 和 VS。 此值设置为 0x0。
[23:16] 位 16 到 23 指示通道 重排。 所有算术运算在四个 (X、Y、Z、W) 并行通道中执行。 重排指定哪个源组件参与操作通道。 有关重排的详细信息,请参阅最新的 DirectX SDK 文档。 此字段的位指定以下通道的重排:
Bits | 通道 |
---|---|
17:16 |
通道 X 重排 |
19:18 |
通道 Y 重排 |
21:20 |
通道 Z 重排 |
23:22 |
通道 W 重排 |
上述任意一组位中的以下值指定在操作通道中使用的源组件:
“值” | 组件 |
---|---|
0x0 |
使用组件 X。 |
0x1 |
使用组件 Y。 |
0x2 |
使用组件 Z。 |
0x3 |
使用组件 W。 |
例如,如果 19:18 位设置为 0x2,则组件 Z 用作通道 Y 操作的源。
[27:24] 位 24 到 27 指示源修饰符。 此 4 位值指示以下源修饰符类型:
值 | 源修饰符类型 |
---|---|
0x0 |
无 |
0x1 |
Negate |
0x2 |
偏差 |
0x3 |
偏差和否定 |
0x4 |
(bx2) 签名 |
0x5 |
(bx2) 和否定签名 |
0x6 |
补充 |
0x7 |
x2 (PS 1_4) |
0x8 |
x2 和否定 (PS 1_4) |
0x9 |
dz (除以 Z 分量 - PS 1_4) |
0xa |
dw (除以 W 组件 âˆ' PS 1_4) |
0xb |
abs (x) 计算绝对值 |
0xc |
-abs (x) 计算绝对值和求反值 |
0xd |
不。 仅适用于谓词寄存器,即 BOOL。 因此,这是逻辑 NOT。 |
0xe-0xf |
预留 |
[30:28] 位 28 到 30 是指示 寄存器类型的前三位 [0,1,2]。
[31] 位 31 为0x1。
备注
位 28、29、30、11 和 12 形成一个指示寄存器类型的 5 位值。 有关寄存器类型的信息,请参阅 着色器寄存器类型。
要求
在 Windows Vista 和更高版本的 Windows 操作系统中可用。