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


atomic_and (sm5 - asm)

Атомарная побитовая операция И в память.

atomic_and dest, dstAddress[.swizzle], src0[.select_component]
Элемент Описание
Dest
[in] Компоненты для AND с src0. Это значение должно быть неупорядоченным представлением доступа (U#). В шейдере вычислений это также может быть общая память группы потоков (g#).
dstAddress
[in] Адрес памяти.
src0
[in] Компоненты для И с dest.

Комментарии

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

Количество компонентов, взятых из адреса, определяется размерностью dest u# или g#.

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

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

Шейдер ничего не возвращается.

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

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

За пределы адресов в g# (границы конкретного g# в отличие от всей общей памяти) приводит к тому, что все содержимое всей общей памяти становится неопределенным.

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

Вершина Корпуса Домен 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)