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

除重排外, src1src2 上的修饰符假定数据为浮点。 缺少修饰符只是移动数据而不更改位。

此指令适用于以下着色器阶段:

顶点着色器 几何着色器 像素着色器
x x x

最小着色器模型

以下着色器模型中支持此函数。

着色器模型 支持
着色器模型 5
着色器模型 4.1
着色器模型 4
着色器模型 3 (DirectX HLSL)
着色器模型 2 (DirectX HLSL)
着色器模型 1 (DirectX HLSL)

着色器模型 4 程序集 (DirectX HLSL)