breakc (sm4 - asm)

Условно перемещает точку выполнения в инструкцию после следующего endloop или endwitch.

src0.select_component breakc{_z|_nz}
Элемент Описание
src0
[in] Компонент, на котором проверяется условие.

Комментарии

Формат маркера для удобства содержит смещение соответствующей инструкции endloop в шейдере.

В следующем примере показана инструкцияbreakc .

                loop
                    // example of termination condition
                    breakc_z  r0.x // break if all bits in r0.x are 0
                    breakc_nz r1.x // break if any bit in r1.x is nonzero
                    ...
                endloop

Эта инструкция должна отображаться в конце цикла/иликонцевом/коммутаторе.

32-разрядный регистр, предоставляемый src0 , тестируется на битовом уровне. Если какой-либо бит является ненулевым, breakc_nz выполнит разрыв. Если все биты равны нулю, breakc_z выполнит разрыв.

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

Вершинный построитель текстуры Шейдер геометрии Построитель текстуры
x x x

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

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

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

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