Função InterlockedCompareStore (referência HLSL)

Compara atomicamente o destino com o valor de comparação. Se forem idênticos, o destino será substituído com o valor de entrada.

Sintaxe

void InterlockedCompareStore(
  in R dest,
  in T compare_value,
  in T value
);

Parâmetros

dest [in]

Tipo: R

O endereço de destino.

compare_value [in]

Tipo: T

O valor de comparação.

value [in]

Tipo: T

O valor de entrada.

Retornar valor

Essa função não retorna um valor.

Comentários

Compara atomicamente o valor referenciado por dest com compare_value e armazena o valor no local referenciado por dest se os valores corresponderem. Essa operação só pode ser executada em recursos digitados int ou uint e variáveis de memória compartilhada. Há dois usos possíveis para essa função. A primeira é quando R é um tipo de variável de memória compartilhada. Nesse caso, a função executa a operação no registro de memória compartilhada referenciado por dest. O segundo cenário é quando R é um tipo de variável de recurso. Nesse cenário, a função executa a operação no local do recurso referenciado por dest.

As operações interligadas não implicam nenhuma cerca/barreira de memória.

Modelo de sombreador mínimo

Essa função tem suporte nos seguintes modelos de sombreador.

Modelo de Sombreador Com suporte
Modelo de sombreador 5 e modelos de sombreador superior sim

 

Essa função tem suporte nos seguintes tipos de sombreadores:

Vértice Casco Domínio Geometry Pixel Computação
x x x x x x

 

Confira também

Funções intrínsecas

Modelo de sombreador 5