firstbit (sm5 - asm)
Находит первый бит, заданный в число, из LSB или MSB.
firstbit{_hi|_lo|_shi} dest[.mask], src0[.swizzle] |
---|
Элемент | Описание |
---|---|
Dest |
[in] Целочисленное положение первого бита, заданного в src0 , начиная с LSB для firstbit_lo или MSB для firstbit_hi. |
src0 |
[in] Входное целое число. |
Комментарии
Эта операция возвращает целочисленную позицию первого битового набора в 32-разрядном входе, начиная с LSB для firstbit_lo или MSB для firstbit_hi. Например, firstbit_lo 0x00000001 возвращает 0. firstbit_hi 0x10000000 возвращает значение 3.
firstbit_shi (s для со знаком) возвращает первые 0 из MSB, если число отрицательное; В противном случае возвращается первое 1 из MSB.
Все варианты инструкции возвращают ~0 (0xffffffff в 32-разрядном регистре), если совпадение не найдено.
Используйте эту инструкцию для быстрого перечисления заданных битов в битовом поле или для поиска наибольшей мощности 2 в числе.
Эта инструкция применяется к следующим этапам шейдера:
Вершина | Корпуса | Домен | Geometry | Пиксель | Вычисления |
---|---|---|---|---|---|
X | X | X | X | X | X |
Модель шейдера Mimimum
Эта инструкция поддерживается в следующих моделях шейдеров:
Модель шейдера | Поддерживается |
---|---|
Модель шейдера 5 | да |
Модель шейдера 4.1 | нет |
Модель шейдера 4 | нет |
Модель шейдера 3 (DirectX HLSL) | нет |
Модель шейдера 2 (DirectX HLSL) | нет |
Модель шейдера 1 (DirectX HLSL) | нет |