rename upstream-man-pages to upstream-doc
[clinton/guile-figl.git] / upstream-doc / manglsl / imageAtomicAdd.xml
CommitLineData
7faf1d71
AW
1<?xml version="1.0" encoding="UTF-8"?>\r
2<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook MathML Module V1.1b1//EN"\r
3 "http://www.oasis-open.org/docbook/xml/mathml/1.1CR1/dbmathml.dtd">\r
4<refentry id="imageAtomicAdd">\r
5 <refmeta>\r
6 <refmetainfo>\r
7 <copyright>\r
8 <year>2011</year>\r
9 <holder>Khronos Group</holder>\r
10 </copyright>\r
11 </refmetainfo>\r
12 <refentrytitle>imageAtomicAdd</refentrytitle>\r
13 <manvolnum>3G</manvolnum>\r
14 </refmeta>\r
15 <refnamediv>\r
16 <refname>imageAtomicAdd</refname>\r
17 <refpurpose>atomically add a value to an existing value in memory and return the original value</refpurpose>\r
18 </refnamediv>\r
19 <refsynopsisdiv><title>Declaration</title>\r
20 <funcsynopsis>\r
21 <funcprototype>\r
22 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
23 <paramdef>gimage1D <parameter>image</parameter></paramdef>\r
24 <paramdef>int <parameter>P</parameter></paramdef>\r
25 <paramdef>uint <parameter>data</parameter></paramdef>\r
26 </funcprototype>\r
27 <funcprototype>\r
28 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
29 <paramdef>gimage2D <parameter>image</parameter></paramdef>\r
30 <paramdef>ivec2 <parameter>P</parameter></paramdef>\r
31 <paramdef>uint <parameter>data</parameter></paramdef>\r
32 </funcprototype>\r
33 <funcprototype>\r
34 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
35 <paramdef>gimage3D <parameter>image</parameter></paramdef>\r
36 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
37 <paramdef>uint <parameter>data</parameter></paramdef>\r
38 </funcprototype>\r
39 <funcprototype>\r
40 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
41 <paramdef>gimage2DRect <parameter>image</parameter></paramdef>\r
42 <paramdef>ivec2 <parameter>P</parameter></paramdef>\r
43 <paramdef>uint <parameter>data</parameter></paramdef>\r
44 </funcprototype>\r
45 <funcprototype>\r
46 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
47 <paramdef>gimageCube <parameter>image</parameter></paramdef>\r
48 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
49 <paramdef>uint <parameter>data</parameter></paramdef>\r
50 </funcprototype>\r
51 <funcprototype>\r
52 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
53 <paramdef>gbufferImage <parameter>image</parameter></paramdef>\r
54 <paramdef>int <parameter>P</parameter></paramdef>\r
55 <paramdef>uint <parameter>data</parameter></paramdef>\r
56 </funcprototype>\r
57 <funcprototype>\r
58 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
59 <paramdef>gimage1DArray <parameter>image</parameter></paramdef>\r
60 <paramdef>ivec2 <parameter>P</parameter></paramdef>\r
61 <paramdef>uint <parameter>data</parameter></paramdef>\r
62 </funcprototype>\r
63 <funcprototype>\r
64 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
65 <paramdef>gimage2DArray <parameter>image</parameter></paramdef>\r
66 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
67 <paramdef>uint <parameter>data</parameter></paramdef>\r
68 </funcprototype>\r
69 <funcprototype>\r
70 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
71 <paramdef>gimageCubeArray <parameter>image</parameter></paramdef>\r
72 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
73 <paramdef>uint <parameter>data</parameter></paramdef>\r
74 </funcprototype>\r
75 <funcprototype>\r
76 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
77 <paramdef>gimage2DMS <parameter>image</parameter></paramdef>\r
78 <paramdef>ivec2 <parameter>P</parameter></paramdef>\r
79 <paramdef>int <parameter>sample</parameter></paramdef>\r
80 <paramdef>uint <parameter>data</parameter></paramdef>\r
81 </funcprototype>\r
82 <funcprototype>\r
83 <funcdef>uint <function>imageAtomicAdd</function></funcdef>\r
84 <paramdef>gimage2DMSArray <parameter>image</parameter></paramdef>\r
85 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
86 <paramdef>int <parameter>sample</parameter></paramdef>\r
87 <paramdef>uint <parameter>data</parameter></paramdef>\r
88 </funcprototype>\r
89 <funcprototype>\r
90 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
91 <paramdef>gimage1D <parameter>image</parameter></paramdef>\r
92 <paramdef>int <parameter>P</parameter></paramdef>\r
93 <paramdef>int <parameter>data</parameter></paramdef>\r
94 </funcprototype>\r
95 <funcprototype>\r
96 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
97 <paramdef>gimage2D <parameter>image</parameter></paramdef>\r
98 <paramdef>ivec2 <parameter>P</parameter></paramdef>\r
99 <paramdef>int <parameter>data</parameter></paramdef>\r
100 </funcprototype>\r
101 <funcprototype>\r
102 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
103 <paramdef>gimage3D <parameter>image</parameter></paramdef>\r
104 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
105 <paramdef>int <parameter>data</parameter></paramdef>\r
106 </funcprototype>\r
107 <funcprototype>\r
108 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
109 <paramdef>gimage2DRect <parameter>image</parameter></paramdef>\r
110 <paramdef>ivec2 <parameter>P</parameter></paramdef>\r
111 <paramdef>int <parameter>data</parameter></paramdef>\r
112 </funcprototype>\r
113 <funcprototype>\r
114 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
115 <paramdef>gimageCube <parameter>image</parameter></paramdef>\r
116 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
117 <paramdef>int <parameter>data</parameter></paramdef>\r
118 </funcprototype>\r
119 <funcprototype>\r
120 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
121 <paramdef>gbufferImage <parameter>image</parameter></paramdef>\r
122 <paramdef>int <parameter>P</parameter></paramdef>\r
123 <paramdef>int <parameter>data</parameter></paramdef>\r
124 </funcprototype>\r
125 <funcprototype>\r
126 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
127 <paramdef>gimage1DArray <parameter>image</parameter></paramdef>\r
128 <paramdef>ivec2 <parameter>P</parameter></paramdef>\r
129 <paramdef>int <parameter>data</parameter></paramdef>\r
130 </funcprototype>\r
131 <funcprototype>\r
132 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
133 <paramdef>gimage2DArray <parameter>image</parameter></paramdef>\r
134 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
135 <paramdef>int <parameter>data</parameter></paramdef>\r
136 </funcprototype>\r
137 <funcprototype>\r
138 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
139 <paramdef>gimageCubeArray <parameter>image</parameter></paramdef>\r
140 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
141 <paramdef>int <parameter>data</parameter></paramdef>\r
142 </funcprototype>\r
143 <funcprototype>\r
144 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
145 <paramdef>gimage2DMS <parameter>image</parameter></paramdef>\r
146 <paramdef>ivec2 <parameter>P</parameter></paramdef>\r
147 <paramdef>int <parameter>sample</parameter></paramdef>\r
148 <paramdef>int <parameter>data</parameter></paramdef>\r
149 </funcprototype>\r
150 <funcprototype>\r
151 <funcdef>int <function>imageAtomicAdd</function></funcdef>\r
152 <paramdef>gimage2DMSArray <parameter>image</parameter></paramdef>\r
153 <paramdef>ivec3 <parameter>P</parameter></paramdef>\r
154 <paramdef>int <parameter>sample</parameter></paramdef>\r
155 <paramdef>int <parameter>data</parameter></paramdef>\r
156 </funcprototype>\r
157 </funcsynopsis>\r
158 </refsynopsisdiv>\r
159 <refsect1 id="parameters"><title>Parameters</title>\r
160 <variablelist>\r
161 <varlistentry>\r
162 <term><parameter>image</parameter></term>\r
163 <listitem>\r
164 <para>\r
165 Specify the image unit into which to add <parameter>data</parameter>.\r
166 </para>\r
167 </listitem>\r
168 </varlistentry>\r
169 <varlistentry>\r
170 <term><parameter>P</parameter></term>\r
171 <listitem>\r
172 <para>\r
173 Specify the coordinate at which to add the data.\r
174 </para>\r
175 </listitem>\r
176 </varlistentry>\r
177 <varlistentry>\r
178 <term><parameter>sample</parameter></term>\r
179 <listitem>\r
180 <para>\r
181 When present, specifies the sample within the image to add into.\r
182 </para>\r
183 </listitem>\r
184 </varlistentry>\r
185 <varlistentry>\r
186 <term><parameter>data</parameter></term>\r
187 <listitem>\r
188 <para>\r
189 Specifies the data to add into the image.\r
190 </para>\r
191 </listitem>\r
192 </varlistentry>\r
193 </variablelist>\r
194 </refsect1>\r
195 <refsect1 id="description"><title>Description</title>\r
196 <para>\r
197 <function>imageAtomicAdd</function> atomically computes a new value by adding the value of <parameter>data</parameter>\r
198 to the contents of the texel at coordinate <parameter>P</parameter> and <parameter>sample</parameter> in the\r
199 image bound to uint <parameter>image</parameter>, stores that value into the image and returns the original value.\r
200 </para>\r
201 </refsect1>\r
202 <refsect1 id="versions"><title>Version Support</title>\r
203 <informaltable frame="topbot">\r
204 #VARTABLECOLS#\r
205 <thead>\r
206 #FUNCTABLEHEADER#\r
207 <row>\r
208 <entry>imageAtomicAdd</entry>#newin42#\r
209 </row>\r
210 </thead>\r
211 </tgroup>\r
212 </informaltable>\r
213 </refsect1>\r
214 <refsect1 id="seealso"><title>See Also</title>\r
215 <para>\r
216 <citerefentry><refentrytitle>imageLoad</refentrytitle></citerefentry>,\r
217 <citerefentry><refentrytitle>imageStore</refentrytitle></citerefentry>,\r
218 <citerefentry><refentrytitle>imageAtomicMin</refentrytitle></citerefentry>,\r
219 <citerefentry><refentrytitle>imageAtomicMax</refentrytitle></citerefentry>,\r
220 <citerefentry><refentrytitle>imageAtomicAnd</refentrytitle></citerefentry>,\r
221 <citerefentry><refentrytitle>imageAtomicOr</refentrytitle></citerefentry>,\r
222 <citerefentry><refentrytitle>imageAtomicXor</refentrytitle></citerefentry>,\r
223 <citerefentry><refentrytitle>imageAtomicExchange</refentrytitle></citerefentry>,\r
224 <citerefentry><refentrytitle>imageAtomicCompSwap</refentrytitle></citerefentry>\r
225 </para>\r
226 </refsect1>\r
227 <refsect1 id="Copyright"><title>Copyright</title>\r
228 <para>\r
229 Copyright <trademark class="copyright"></trademark> 2011 Khronos Group. \r
230 This material may be distributed subject to the terms and conditions set forth in \r
231 the Open Publication License, v 1.0, 8 June 1999.\r
232 <ulink url="http://opencontent.org/openpub/">http://opencontent.org/openpub/</ulink>.\r
233 </para>\r
234 </refsect1>\r
235</refentry>\r