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
Модификаторы src1 и src2, кроме swizzle, предполагают, что данные являются плавающей запятой. Отсутствие модификаторов просто перемещает данные без изменения битов.
Эта инструкция применяется к следующим этапам шейдера:
Вершинный построитель текстуры | Шейдер геометрии | Построитель текстуры |
---|---|---|
x | x | x |
Минимальная модель шейдера
Эта функция поддерживается в следующих моделях шейдеров.
Модель шейдера | Поддерживается |
---|---|
Модель шейдера 5 | да |
Модель шейдера 4.1 | да |
Модель шейдера 4 | да |
Модель шейдера 3 (DirectX HLSL) | нет |
Модель шейдера 2 (DirectX HLSL) | нет |
Модель шейдера 1 (DirectX HLSL) | нет |