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


imm_atomic_xor (sm5 - asm)

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

imm_atomic_xor dst0[.single_component_mask], dst1, dstAddress[.swizzle], src0[.select_component]
Товар Описание
dst0
[in] Содержит значение от dst1 до XOR.
dst1
[in] Неупорядоченное представление доступа (UAV) (u#). В шейдере вычислений это также может быть общая память группы потоков (g#).
dstAddress
[in] Адрес памяти.
src0
Значение XOR с dst1.

Замечания

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

шейдер модели 5 (DirectX HLSL)