'\" t .\" Title: imageAtomicXor .\" 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 "IMAGEATOMICXOR" "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" imageAtomicXor \- atomically compute the logical exclusive OR of a value with an existing value in memory, store that value and return the original value .SH "DECLARATION" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimage1D\ " "image" ", int\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimage2D\ " "image" ", ivec2\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimage3D\ " "image" ", ivec3\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimage2DRect\ " "image" ", ivec2\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimageCube\ " "image" ", ivec3\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gbufferImage\ " "image" ", int\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimage1DArray\ " "image" ", ivec2\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimage2DArray\ " "image" ", ivec3\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimageCubeArray\ " "image" ", ivec3\ " "P" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimage2DMS\ " "image" ", ivec2\ " "P" ", int\ " "sample" ", uint\ " "data" ");" .HP \w'uint\ imageAtomicXor('u .BI "uint imageAtomicXor(gimage2DMSArray\ " "image" ", ivec3\ " "P" ", int\ " "sample" ", uint\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimage1D\ " "image" ", int\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimage2D\ " "image" ", ivec2\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimage3D\ " "image" ", ivec3\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimage2DRect\ " "image" ", ivec2\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimageCube\ " "image" ", ivec3\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gbufferImage\ " "image" ", int\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimage1DArray\ " "image" ", ivec2\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimage2DArray\ " "image" ", ivec3\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimageCubeArray\ " "image" ", ivec3\ " "P" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimage2DMS\ " "image" ", ivec2\ " "P" ", int\ " "sample" ", int\ " "data" ");" .HP \w'int\ imageAtomicXor('u .BI "int imageAtomicXor(gimage2DMSArray\ " "image" ", ivec3\ " "P" ", int\ " "sample" ", int\ " "data" ");" .SH "PARAMETERS" .PP \fIimage\fR .RS 4 Specify the image unit into which to store \fIdata\fR\&. .RE .PP \fIP\fR .RS 4 Specify the coordinate at which to store the data\&. .RE .PP \fIsample\fR .RS 4 When present, specifies the sample within the image to store into\&. .RE .PP \fIdata\fR .RS 4 Specifies the data to logically XOR into the image\&. .RE .SH "DESCRIPTION" .PP \fBimageAtomicXor\fR atomically computes a new value by logically XORing 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{ imageAtomicXor 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(), \fBimageAtomicAdd\fR(), \fBimageAtomicMin\fR(), \fBimageAtomicMax\fR(), \fBimageAtomicOr\fR(), \fBimageAtomicAnd\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