Функция InterlockedCompareStore

Сравнивает входные данные со значением сравнения атомарным образом.

Синтаксис

void InterlockedCompareStore(
  in UINT dest,
  in UINT compare_value,
  in UINT value
);

Параметры

dest [in]

Тип: UINT

Адрес назначения.

compare_value [in]

Тип: UINT

Значение сравнения.

value [in]

Тип: UINT

Входное значение.

Возвращаемое значение

Эта функция не возвращает значение.

Комментарии

Эта операция может выполняться только с типизированными ресурсами int или uint и переменными общей памяти. Существует три возможных варианта использования этой функции. Во-первых, R является типом переменной общей памяти. В этом случае функция выполняет операцию с регистром общей памяти, на который ссылается dest. Второй сценарий — это ситуация, когда R является типом переменной ресурса. В этом сценарии функция выполняет операцию с расположением ресурса, на который ссылается dest. Наконец, третий сценарий — это ситуация, когда R является локальным типом переменной. В этом сценарии функция уменьшается до операции, выполняемой с использованием локальных операций.

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

VS HS DS GS PS CS
x x x x x x

 

См. также раздел

RWByteAddressBuffer

Модель шейдера 5