Función InterlockedAnd (referencia de HLSL)
Realiza un atómico garantizado y.
Sintaxis
void InterlockedAnd(
in R dest,
in T value,
out T original_value
);
Parámetros
-
dest [in]
-
Tipo: R
Dirección de destino.
-
value [in]
-
Tipo: T
Valor de entrada.
-
original_value [out]
-
Tipo: T
Opcional. Valor de entrada original.
Valor devuelto
Esta función no devuelve ningún valor.
Observaciones
Esta operación solo se puede realizar en recursos con tipo int o uint y en variables de memoria compartidas. Hay dos posibles usos para esta función. La primera es cuando R es un tipo de variable de memoria compartida. En este caso, la función realiza un atómico y de valor 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 un atómico y de valor en la ubicación del recurso a la que hace referencia dest. La función sobrecargada tiene una variable de salida adicional que se establecerá en el valor original dest. Esta operación sobrecargada solo está disponible cuando R es legible y grabable.
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 superiores | sí |
Esta función se admite en los siguientes tipos de sombreadores:
Vértice | Casco | Domain | Geometría | Píxel | Compute |
---|---|---|---|---|---|
x | x | x | x | x | x |
Consulte también