movc (sm4 - asm)

Movimiento condicional basado en componentes.

movc[_sat] dest[.mask], src0[.swizzle], ],src1[_abs][.swizzle], ],src2[_abs][.swizzle],
Elemento Descripción
Dest
[in] Dirección del resultado de la operación.
Si es src0, dest = src1 else dest = src2
src0
[in] Componentes en los que se va a probar la condición.
src1
[in] Componentes que se van a mover.
src2
[in] Componentes que se van a mover.

Comentarios

En el ejemplo siguiente se muestra cómo usar esta instrucción.

                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

Los modificadores de src1 y src2, distintos de swizzle, suponen que los datos son de punto flotante. La ausencia de modificadores simplemente mueve los datos sin modificar los bits.

Esta instrucción se aplica a las siguientes fases del sombreador:

Sombreador de vértices Sombreador de geometría Sombreador de píxeles
x x x

Modelo de sombreador mínimo

Esta función se admite en los siguientes modelos de sombreador.

Modelo de sombreador Compatible
Modelo de sombreador 5
Modelo de sombreador 4.1
Modelo de sombreador 4
Modelo de sombreador 3 (DirectX HLSL) no
Modelo de sombreador 2 (DirectX HLSL) no
Modelo de sombreador 1 (DirectX HLSL) no

Ensamblado del modelo de sombreador 4 (DirectX HLSL)