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) | нет |