movc (sm4 - asm)
Spostamento condizionale a livello di componente.
movc[_sat] dest[.mask], src0[.swizzle], |src1[_abs][.swizzle], |src2[_abs][.swizzle], |
---|
Elemento | Descrizione |
---|---|
Dest |
[in] Indirizzo del risultato dell'operazione. Se src0, dest src1 else dest = = src2 |
src0 |
[in] Componenti in cui testare la condizione. |
src1 |
[in] Componenti da spostare. |
src2 |
[in] Componenti da spostare. |
Commenti
Nell'esempio seguente viene illustrato come usare questa istruzione.
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
I modificatori su src1 e src2, diversi da swizzle, presuppongono che i dati siano a virgola mobile. L'assenza di modificatori sposta solo i dati senza modificare i bit.
Questa istruzione si applica alle fasi dello shader seguenti:
Vertex shader | Geometry shader | Pixel shader |
---|---|---|
x | x | x |
Modello di shader minimo
Questa funzione è supportata nei modelli shader seguenti.
Modello di shader | Supportato |
---|---|
Modello shader 5 | sì |
Modello shader 4.1 | sì |
Modello shader 4 | sì |
Modello shader 3 (DirectX HLSL) | no |
Modello shader 2 (DirectX HLSL) | no |
Modello shader 1 (DirectX HLSL) | no |