dmovc (sm5 - asm)
Spostamento condizionale a livello di componente.
dmovc[_sat] dest[.mask], src0[.swizzle], |src1[_abs][.swizzle], |src2[_abs][.swizzle], |
---|
Elemento | Descrizione |
---|---|
Dest |
[in] Destinazione di spostamento. Se src0, dest = src1 else dest = src2. |
src0 |
[in] Componenti per testare la condizione su. |
src1 |
[in] Componenti da spostare se la condizione è true. |
src2 |
[in] Componenti da spostare se la condizione è false. |
Commenti
Nell'esempio seguente viene illustrato come usare questa istruzione.
if(the dest mask contains .xy)
{
if(the first 32-bit component of src0, post-swizzle,
has any bit set)
{
copy the first double from src1 (post swizzle)
into dest.xy
}
else
{
copy the first double from src2 (post swizzle)
into dest.xy
}
}
if(the dest mask contains .zw)
{
if(the second 32-bit component of src0, post-swizzle,
has any bit set)
{
copy the second double from src1 (post swizzle)
into dest.zw
}
else
{
copy the second double from src2 (post swizzle)
into dest.zw
}
}
Le maschere valide per il più dest sono .xy, .zw, .xyzw.
I swizzles validi per src0 sono qualsiasi cosa. I primi due componenti post-swizzle vengono usati per indentificare due valori di condizione a 32 bit.
I swizzles validi per src1 e src2 contenenti double sono .xyzw, .xyxy, .zwxy, .zwzw. sono .xy, .zw e .xyzw.
I mapping src seguenti sono post-swizzle:
- dest è un double vec2 su (x 32LSB, y 32MSB) e (z 32LSB, w 32MSB).
- src0 è un vec vec2 bit/componente su x e y (zw ignorato).
- src1 è un doppio vec2 tra (x 32LSB, y 32MSB) e (z 32LSB, w 32MSB).
- src2 è un doppio vec2 tra (x 32LSB, y 32MSB) e (z 32LSB, w 32MSB).
I modificatori su src1 e src2 , diverso da swizzle, presuppongono che i dati siano double. L'assenza di modificatori sposta i dati senza modificare i bit.
Questa istruzione si applica alle fasi dello shader seguenti:
Vertice | Scafo | Dominio | Geometria | Pixel | Calcolo |
---|---|---|---|---|---|
X | X | X | X | X | X |
Modello di shader minimo
Questa istruzione è supportata nei modelli shader seguenti:
Modello di shader | Supportato |
---|---|
Modello shader 5 | sì |
Modello shader 4.1 | no |
Modello shader 4 | no |
Modello shader 3 (DirectX HLSL) | no |
Modello shader 2 (DirectX HLSL) | no |
Modello shader 1 (DirectX HLSL) | no |