discard (sm4 - asm)

Условно помечайте результаты шейдера пикселей, которые будут удалены при достижении конца программы.

src0.select_component discard{_z|_nz}
Элемент Описание
src0
[in] Значение, определяющее, следует ли удалить текущий обрабатываемый пиксель.

Комментарии

Эта инструкция помечает текущий пиксель как завершенный, продолжая выполнение, чтобы другие пиксели, выполняющиеся параллельно, могли при необходимости получить производные. Несмотря на то, что выполнение продолжается, все выходные данные шейдера пикселей записываются до или после инструкции отмены .

Для discard_z, если все биты в src0.select_component равны нулю, пиксель удаляется.

Для discard_nz, если какие-либо биты в src0.select_component являются ненулевыми, пиксель удаляется.

Кроме того, инструкция отмены может присутствовать в любой конструкции управления потоком.

В шейдере может присутствовать несколько инструкций отмены , и если они выполняются, пиксель завершается.

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

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

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

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

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

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