movc (sm4 - asm)
按组件进行条件移动。
movc[_sat] dest[.mask], src0[.swizzle], [-]src1[_abs][.swizzle], [-]src2[_abs][.swizzle], |
---|
项 | 说明 |
---|---|
dest |
[in]操作结果的地址。 如果 src0,则 dest = src1 else dest = src2 |
src0 |
[in]要对其测试条件的组件。 |
src1 |
[in]要移动的组件。 |
src2 |
[in]要移动的组件。 |
备注
以下示例演示如何使用此命令。
for each component in dest[.mask]
if the corresponding component in src0 (POS-swizzle)
has any bit set
{
copy this component (POS-swizzle) from src1 into dest
}
else
{
copy this component (POS-swizzle) from src2 into dest
}
endfor
除重排外, src1 和 src2 上的修饰符假定数据为浮点。 缺少修饰符只是移动数据而不更改位。
此指令适用于以下着色器阶段:
顶点着色器 | 几何着色器 | 像素着色器 |
---|---|---|
x | x | x |
最小着色器模型
以下着色器模型中支持此函数。
着色器模型 | 支持 |
---|---|
着色器模型 5 | 是 |
着色器模型 4.1 | 是 |
着色器模型 4 | 是 |
着色器模型 3 (DirectX HLSL) | 否 |
着色器模型 2 (DirectX HLSL) | 否 |
着色器模型 1 (DirectX HLSL) | 否 |