Función InterlockedExchange (referencia de HLSL)
Asigna el valor a dest y devuelve el valor original.
Sintaxis
void InterlockedExchange(
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
El valor original.
Valor devuelto
Esta función no devuelve ningún valor.
Observaciones
Esta operación solo se puede realizar en recursos escalares y variables de memoria compartida. 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. Esta operación 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