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
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.
Comentarios
Esta operación solo se puede realizar en recursos escalares y 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 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 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 |
Vea también