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 | sí |
Modelo de sombreador 4.1 | sí |
Modelo de sombreador 4 | sí |
Modelo de sombreador 3 (DirectX HLSL) | no |
Modelo de sombreador 2 (DirectX HLSL) | no |
Modelo de sombreador 1 (DirectX HLSL) | no |