atomic_iadd (sm5 - asm)
Атомарное целое число добавьте в память.
atomic_iadd dest, dstAddress[.swizzle], src0[.select_component] |
---|
Элемент | Описание |
---|---|
Dest |
[in] Компоненты, добавляемые с помощью 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#, он должен быть объявлен как необработанный или структурированный.
Шейдер ничего не возвращается.
Если вызов шейдера неактивен, например, если пиксель был удален ранее в его выполнении или если вызов пикселя или образца существует только для того, чтобы служить вспомогательным для реального пикселя или образца для производных, эта инструкция не изменяет память dest вообще (без уведомления).
Адресация за пределы границ в 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) | нет |