X-Git-Url: http://git.hcoop.net/clinton/guile-figl.git/blobdiff_plain/b002944dd992dc5a273e0067504beb48e1ae3d1c..a6a00658f26c164551287799b194cc2f07eb78be:/upstream-doc/manglsl/xhtml/atomicExchange.xml diff --git a/upstream-doc/manglsl/xhtml/atomicExchange.xml b/upstream-doc/manglsl/xhtml/atomicExchange.xml new file mode 100644 index 0000000..f913703 --- /dev/null +++ b/upstream-doc/manglsl/xhtml/atomicExchange.xml @@ -0,0 +1,33 @@ + + + +atomicExchange - OpenGL Shading Language (GLSL)

Name

atomicExchange — perform an atomic exchange operation to a variable

Declaration

int atomicExchange(inout int mem, int data);

uint atomicExchange(inout uint  mem,
 uint  data);

Parameters

mem

+ The variable to use as the target of the operation. +

data

+ The data to be exchanged with mem. +

Description

+ atomicExchange performs an atomic exhange of data with the contents of + mem. The content of data is written into mem and the original contents of mem + are returned. The contents of the memory being updated by the atomic operation are + guaranteed not to be modified by any other assignment or atomic memory function in any shader + invocation between the time the original value is read and the time the new value is written. +

+ Atomic memory functions are supported only for a limited set of variables. A shader will fail to compile + if the value passed to the mem argument of an atomic memory function does not correspond to a buffer or + shared variable. It is acceptable to pass an element of an array or a single component of a vector to the + mem argument of an atomic memory function, as long as the underlying array or vector is a buffer or + shared variable. +

Version Support

FunctionVersion 1.10Version 1.20Version 1.30Version 1.40Version 1.50Version 3.30Version 4.00Version 4.10Version 4.20Version 4.30
atomicExchange---------Y

See Also

+ atomicAdd, + atomicAnd, + atomicOr, + atomicXor, + atomicMin, + atomicMax, + atomicCompSwap +

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/. +