atomic_xor (sm5 - asm)

Атомарная побитовая XOR в память.

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

Комментарии

Эта инструкция выполняет один компонент 32-битовое XOR операнда 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) нет

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