Функция InterlockedMin (справочник по HLSL)

Выполняет гарантированную атомарную мин.

Синтаксис

void InterlockedMin(
  in  R dest,
  in  T value,
  out T original_value
);

Параметры

dest [in]

Тип: R

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

value [in]

Тип: T

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

original_value [out]

Тип: T

Необязательный элемент. Исходное входное значение.

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

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

Комментарии

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

Операции с блокировкой не подразумевают каких-либо барьеров или барьеров памяти.

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

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

Модель шейдера Поддерживается
Модели шейдеров 5 и более поздних версий да

 

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

Вершина Корпуса Домен Geometry Пиксель Вычисления
x x x x x x

 

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

Встроенные функции

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