'\" t .\" Title: imageAtomicAdd .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 .\" Date: 01/03/2018 .\" Manual: [FIXME: manual] .\" Source: [FIXME: source] .\" Language: English .\" .TH "IMAGEATOMICADD" "3G" "01/03/2018" "[FIXME: source]" "[FIXME: manual]" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" imageAtomicAdd \- atomically add a value to an existing value in memory and return the original value .SH "DECLARATION" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimage1D\ " "image" ", int\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimage2D\ " "image" ", ivec2\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimage3D\ " "image" ", ivec3\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimage2DRect\ " "image" ", ivec2\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimageCube\ " "image" ", ivec3\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gbufferImage\ " "image" ", int\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimage1DArray\ " "image" ", ivec2\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimage2DArray\ " "image" ", ivec3\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimageCubeArray\ " "image" ", ivec3\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimage2DMS\ " "image" ", ivec2\ " "P" ", int\ " "sample" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicAdd('u .BI "uint imageAtomicAdd(gimage2DMSArray\ " "image" ", ivec3\ " "P" ", int\ " "sample" ", uint\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimage1D\ " "image" ", int\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimage2D\ " "image" ", ivec2\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimage3D\ " "image" ", ivec3\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimage2DRect\ " "image" ", ivec2\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimageCube\ " "image" ", ivec3\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gbufferImage\ " "image" ", int\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimage1DArray\ " "image" ", ivec2\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimage2DArray\ " "image" ", ivec3\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimageCubeArray\ " "image" ", ivec3\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimage2DMS\ " "image" ", ivec2\ " "P" ", int\ " "sample" ", int\ " "data" ");" .HP \w'int\ imageAtomicAdd('u .BI "int imageAtomicAdd(gimage2DMSArray\ " "image" ", ivec3\ " "P" ", int\ " "sample" ", int\ " "data" ");" .SH "PARAMETERS" .PP \fIimage\fR .RS 4 Specify the image unit into which to add \fIdata\fR\&. .RE .PP \fIP\fR .RS 4 Specify the coordinate at which to add the data\&. .RE .PP \fIsample\fR .RS 4 When present, specifies the sample within the image to add into\&. .RE .PP \fIdata\fR .RS 4 Specifies the data to add into the image\&. .RE .SH "DESCRIPTION" .PP \fBimageAtomicAdd\fR atomically computes a new value by adding the value of \fIdata\fR to the contents of the texel at coordinate \fIP\fR and \fIsample\fR in the image bound to uint \fIimage\fR, stores that value into the image and returns the original value\&. .SH "VERSION SUPPORT" .TS allbox tab(:); lB cB s s s s s s s s s s s lB cB cB cB cB cB cB cB cB cB cB cB cB. T{ T}:T{ \fBOpenGL Shading Language Version\fR T} T{ \fBFunction Name\fR T}:T{ \fB1\&.10\fR T}:T{ \fB1\&.20\fR T}:T{ \fB1\&.30\fR T}:T{ \fB1\&.40\fR T}:T{ \fB1\&.50\fR T}:T{ \fB3\&.30\fR T}:T{ \fB4\&.00\fR T}:T{ \fB4\&.10\fR T}:T{ \fB4\&.20\fR T}:T{ \fB4\&.30\fR T}:T{ \fB4\&.40\fR T}:T{ \fB4\&.50\fR T} .T& l c c c c c c c c c c c c. T{ imageAtomicAdd T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ \- T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T}:T{ ✔ T} .TE .sp 1 .SH "SEE ALSO" .PP \fBimageLoad\fR(), \fBimageStore\fR(), \fBimageAtomicMin\fR(), \fBimageAtomicMax\fR(), \fBimageAtomicAnd\fR(), \fBimageAtomicOr\fR(), \fBimageAtomicXor\fR(), \fBimageAtomicExchange\fR(), \fBimageAtomicCompSwap\fR() .SH "COPYRIGHT" .PP Copyright \(co 2011\-2014 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\&. \m[blue]\fBhttp://opencontent\&.org/openpub/\fR\m[]\&. .SH "COPYRIGHT" .br Copyright \(co 2011-2014 Khronos Group .br