Поделиться через


imm_atomic_and (sm5 - asm)

Немедленный атомарный побитовый И в память. Возвращает значение в памяти перед И.

imm_atomic_and dst0[.single_component_mask], dst1, dstAddress[.swizzle], src0[.select_component]
Элемент Описание
dst0
[in] Содержит значение dst1 до И.
dst1
[in] Представление неупорядоченного доступа (U#). В шейдере вычислений это также может быть общая память группы потоков (g#).
dstAddress
[in] Целевая память.
src0
Значение AND с dst.

Комментарии

Эта инструкция выполняет один компонент с 32-битовой побитовой инструкцией AND операнда src0 с dst1 с 32-разрядным адресом каждого компонента dstAddress.

Если dst1 является u#, он может быть объявлен как необработанный, типизированный или структурированный. Если тип задан, он должен быть объявлен как UINT/SINT с привязанным форматом ресурса R32_UINT/_SINT.

Если dst1 имеет значение g#, он должен быть объявлен как необработанный или структурированный.

Значение в памяти dst1 до И возвращается в dst0.

Вся операция выполняется атомарно.

Количество компонентов, взятых из адреса, определяется размерностью ресурса, объявленного в dst1.

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

Адресация за пределы границ в U# не приводит к записи в память, за исключением случаев, когда u# структурирован, а смещение байтов в структуре (второй компонент адреса) приводит к выходу за пределы границ доступа, то все содержимое UAV становится неопределенным.

Адресация за пределы границ в u# или g# приводит к возврату неопределенного результата в шейдер в dst0.

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

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

Так как БПЛА доступны на всех этапах шейдера для Direct3D 11.1, эта инструкция применяется ко всем этапам шейдера для среды выполнения Direct3D 11.1, которая доступна начиная с Windows 8.

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

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

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

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

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