Função InterlockedMax (referência HLSL)
Executa um máximo atômico garantido.
Sintaxe
void InterlockedMax(
in R dest,
in T value,
out T original_value
);
Parâmetros
-
dest [in]
-
Tipo: R
O endereço de destino.
-
value [in]
-
Tipo: T
O valor de entrada.
-
original_value [out]
-
Tipo: T
Opcional. O valor de entrada original.
Retornar valor
Essa função não retorna um valor.
Comentários
Essa operação só pode ser executada em recursos digitados int e 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 um máximo atômico de valor para o 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 um máximo atômico de valor para o local do recurso referenciado por dest. A função sobrecarregada tem uma variável de saída adicional que será definida como o valor original de dest. Essa operação sobrecarregada só está disponível quando R é legível e gravável.
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