Función InterlockedCompareStore (referencia de HLSL)
Compara de forma atómica el destino con el valor de comparación. Si son idénticos, el destino se sobrescribe con el valor de entrada.
Sintaxis
void InterlockedCompareStore(
in R dest,
in T compare_value,
in T value
);
Parámetros
-
dest [in]
-
Tipo: R
La dirección de destino.
-
compare_value [in]
-
Tipo: T
Valor de comparación.
-
value [in]
-
Tipo: T
Valor de entrada.
Valor devuelto
Esta función no devuelve ningún valor.
Observaciones
Compara de forma atómica el valor al que hace referencia destcon compare_value y almacena el valor en la ubicación a la que hace referencia dest si los valores coinciden. Esta operación solo se puede realizar en recursos con tipo int o uint y en variables de memoria compartidas. Hay dos usos posibles para esta función. La primera es cuando R es un tipo de variable de memoria compartida. En este caso, la función realiza la operación en el registro de memoria compartida al que hace referencia dest. El segundo escenario es cuando R es un tipo de variable de recurso. En este escenario, la función realiza la operación en la ubicación del recurso a la que hace referencia dest.
Las operaciones interbloqueadas no implican ninguna barrera o barrera de memoria.
Modelo de sombreador mínimo
Esta función se admite en los siguientes modelos de sombreador.
Modelo de sombreador | Compatible |
---|---|
Modelo de sombreador 5 y modelos de sombreador posteriores | sí |
Esta función se admite en los siguientes tipos de sombreadores:
Vértice | Casco | Domain | Geometría | Píxel | Proceso |
---|---|---|---|---|---|
x | x | x | x | x | x |
Consulte también