ubfe (sm5 - asm)

Учитывая диапазон битов в числе, переместите эти биты в LSB и установите для оставшихся битов значение 0.

ubfe dest[.mask], src0[.swizzle], src1[.swizzle], src2[.swizzle]
Элемент Описание
Dest
[in] Содержит результаты инструкции.
src0
[in] 5 бит LSB обеспечивают ширину битового поля (0–31).
src1
[in] LSB 5 бит src1 обеспечивают смещение битового поля (0–31).
src2
[in] Число для сдвига.

Комментарии

 
        Given width, offset:
                if( width == 0 )
                {
                    dest = 0
                }
                else if( width + offset < 32 )
                {
                    shl dest, src2, 32-(width+offset)
                    ushr dest, dest, 32-width
                }
                else
                {
                    ushr dest, src2, offset
                }

Используйте эту инструкцию для распаковки целых чисел или флагов без знака.

Эта инструкция применяется к следующим этапам шейдера:

Вершина Корпуса Домен Geometry Пиксель Вычисления
X X X X X X

Минимальная модель шейдера

Эта инструкция поддерживается в следующих моделях шейдеров:

Модель шейдера Поддерживается
Модель шейдера 5 да
Модель шейдера 4.1 нет
Модель шейдера 4 нет
Модель шейдера 3 (DirectX HLSL) нет
Модель шейдера 2 (DirectX HLSL) нет
Модель шейдера 1 (DirectX HLSL) нет

Сборка шейдера модели 5 (DirectX HLSL)