Función InterlockedXor (referencia de HLSL)
Realiza un xor atómico garantizado.
Sintaxis
void InterlockedXor(
in R dest,
in T value,
out T original_value
);
Parámetros
-
dest [in]
-
Tipo: R
La 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 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 un XOR atómico 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 valor XORof atómico 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 de 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 posteriores | 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