Name

imageAtomicCompSwap — atomically compares supplied data with that in memory and conditionally stores it to memory

Declaration

uint imageAtomicCompSwap(gimage1D  image,
 int  P,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gimage2D  image,
 ivec2  P,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gimage3D  image,
 ivec3  P,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gimage2DRect  image,
 ivec2  P,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gimageCube  image,
 ivec3  P,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gbufferImage  image,
 int  P,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gimage1DArray  image,
 ivec2  P,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gimage2DArray  image,
 ivec3  P,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gimageCubeArray  image,
 ivec3  P,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gimage2DMS  image,
 ivec2  P,
 int  sample,
 uint  compare,
 uint  data);
uint imageAtomicCompSwap(gimage2DMSArray  image,
 ivec3  P,
 int  sample,
 uint  compare,
 uint  data);
int imageAtomicCompSwap(gimage1D  image,
 int  P,
 int  compare,
 int  data);
int imageAtomicCompSwap(gimage2D  image,
 ivec2  P,
 int  compare,
 int  data);
int imageAtomicCompSwap(gimage3D  image,
 ivec3  P,
 int  compare,
 int  data);
int imageAtomicCompSwap(gimage2DRect  image,
 ivec2  P,
 int  compare,
 int  data);
int imageAtomicCompSwap(gimageCube  image,
 ivec3  P,
 int  compare,
 int  data);
int imageAtomicCompSwap(gbufferImage  image,
 int  P,
 int  compare,
 int  data);
int imageAtomicCompSwap(gimage1DArray  image,
 ivec2  P,
 int  compare,
 int  data);
int imageAtomicCompSwap(gimage2DArray  image,
 ivec3  P,
 int  compare,
 int  data);
int imageAtomicCompSwap(gimageCubeArray  image,
 ivec3  P,
 int  compare,
 int  data);
int imageAtomicCompSwap(gimage2DMS  image,
 ivec2  P,
 int  sample,
 int  compare,
 int  data);
int imageAtomicCompSwap(gimage2DMSArray  image,
 ivec3  P,
 int  sample,
 int  compare,
 int  data);

Parameters

image

Specify the image unit into which to compare and conditionally store data.

P

Specify the coordinate at which to compare and conditionally store the data.

sample

When present, specifies the sample within the image to compare and conditionally store into.

compare

Specifies the value to compare with the content of the image.

data

Specifies the value to store in the image if compare is equal to the existing image content.

Description

imageAtomicCompSwap atomically compares the value of compare with that of the texel at coordinate P and sample (for multisampled forms) in the image bound to uint image. If the values are equal, data is stored into the texel, otherwise it is discarded. It returns the original value of the texel regardless of the result of the comparison operation.

Version Support

FunctionVersion 1.10Version 1.20Version 1.30Version 1.40Version 1.50Version 3.30Version 4.00Version 4.10Version 4.20Version 4.30
imageAtomicCompSwap--------YY

See Also

imageLoad, imageStore, imageAtomicAdd, imageAtomicMin, imageAtomicMax, imageAtomicXor, imageAtomicOr, imageAtomicAnd, imageAtomicCompSwap

Copyright

Copyright © 2011-2012 Khronos Group. This material may be distributed subject to the terms and conditions set forth in the Open Publication License, v 1.0, 8 June 1999. http://opencontent.org/openpub/.