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

 

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

Funciones intrínsecas

Modelo de sombreador 5