2012-11-13 46 views
1

我编写了一个像素着色器(版本3.0)并使用fxc命令编译它。编译没有问题,但有一件我不明白的东西。Direct3D像素着色器汇编语言中的混合操作

有一些混合操作,其行为是无证的。下面是一个例子:

附加r1.xyz,-r0.z,C3

(r1.xyz已长度3,-r0.z已经长度1和C3具有长度4)

任何人都知道当操作数/结果寄存器长度不相同时,哪个值将写入r1的每个向量分量?

http://msdn.microsoft.com/en-us/library/windows/desktop/bb172242(v=vs.85).aspx的文档不清楚这种情况。 文档的某些部分说,如果操作数的通道字母数少于结果数,则会重复最后一个字母。但是,它并没有说明当操作数比结果更多的字母或操作数根本没有字母时(和结果不包含4个分量)会发生什么情况。

由于

回答