blob: 928b649fde2009fb324e5c4734fb067e008fc75f [file] [log] [blame]
Jason Sams044e2ee2011-08-08 16:52:30 -07001/*
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002 * Copyright (C) 2015 The Android Open Source Project
Jason Sams044e2ee2011-08-08 16:52:30 -07003 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Jean-Luc Brouillet4a730042015-04-02 16:15:25 -070017// Don't edit this file! It is auto-generated by frameworks/rs/api/generate.sh.
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070018
19/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070020 * rs_allocation_data.rsh: Allocation Data Access Functions
Jean-Luc Brouilletbe216382015-03-22 12:44:27 -070021 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070022 * The functions below can be used to get and set the cells that comprise
23 * an allocation.
Jason Sams044e2ee2011-08-08 16:52:30 -070024 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070025 * - Individual cells are accessed using the rsGetElementAt* and
26 * rsSetElementAt functions.
27 * - Multiple cells can be copied using the rsAllocationCopy* and
28 * rsAllocationV* functions.
29 * - For getting values through a sampler, use rsSample.
30 *
31 * The rsGetElementAt and rsSetElement* functions are somewhat misnamed.
32 * They don't get or set elements, which are akin to data types; they get
33 * or set cells. Think of them as rsGetCellAt and and rsSetCellAt.
Jason Sams044e2ee2011-08-08 16:52:30 -070034 */
Jean-Luc Brouillet4a730042015-04-02 16:15:25 -070035
Jean-Luc Brouilletbe216382015-03-22 12:44:27 -070036#ifndef RENDERSCRIPT_RS_ALLOCATION_DATA_RSH
37#define RENDERSCRIPT_RS_ALLOCATION_DATA_RSH
Jason Sams044e2ee2011-08-08 16:52:30 -070038
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070039/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070040 * rsAllocationCopy1DRange: Copy consecutive cells between allocations
Jason Sams08695a92012-09-20 18:30:21 -070041 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070042 * Copies the specified number of cells from one allocation to another.
Jason Sams044e2ee2011-08-08 16:52:30 -070043 *
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070044 * The two allocations must be different. Using this function to copy whithin
45 * the same allocation yields undefined results.
Jason Sams044e2ee2011-08-08 16:52:30 -070046 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070047 * The function does not validate whether the offset plus count exceeds the size
48 * of either allocation. Be careful!
49 *
50 * This function should only be called between 1D allocations. Calling it
51 * on other allocations is undefined.
52 *
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070053 * Parameters:
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070054 * dstAlloc: Allocation to copy cells into.
55 * dstOff: Offset in the destination of the first cell to be copied into.
56 * dstMip: Mip level in the destination allocation. 0 if mip mapping is not used.
57 * count: Number of cells to be copied.
58 * srcAlloc: Source allocation.
59 * srcOff: Offset in the source of the first cell to be copied.
60 * srcMip: Mip level in the source allocation. 0 if mip mapping is not used.
Jason Sams044e2ee2011-08-08 16:52:30 -070061 */
Alex Sakhartchouk43253872011-09-28 15:23:18 -070062#if (defined(RS_VERSION) && (RS_VERSION >= 14))
Jason Sams044e2ee2011-08-08 16:52:30 -070063extern void __attribute__((overloadable))
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070064 rsAllocationCopy1DRange(rs_allocation dstAlloc, uint32_t dstOff, uint32_t dstMip, uint32_t count,
65 rs_allocation srcAlloc, uint32_t srcOff, uint32_t srcMip);
Jason Sams988bfc42013-02-26 13:11:28 -080066#endif
Jason Sams9c7d4c42012-09-24 17:00:05 -070067
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070068/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070069 * rsAllocationCopy2DRange: Copy a rectangular region of cells between allocations
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070070 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070071 * Copies a rectangular region of cells from one allocation to another.
72 * (width * heigth) cells are copied.
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070073 *
74 * The two allocations must be different. Using this function to copy whithin
75 * the same allocation yields undefined results.
76 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070077 * The function does not validate whether the the source or destination region
78 * exceeds the size of its respective allocation. Be careful!
79 *
80 * This function should only be called between 2D allocations. Calling it
81 * on other allocations is undefined.
82 *
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070083 * Parameters:
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070084 * dstAlloc: Allocation to copy cells into.
85 * dstXoff: X offset in the destination of the region to be set.
86 * dstYoff: Y offset in the destination of the region to be set.
87 * dstMip: Mip level in the destination allocation. 0 if mip mapping is not used.
88 * dstFace: Cubemap face of the destination allocation. Ignored for allocations that aren't cubemaps.
Jean-Luc Brouillet4a730042015-04-02 16:15:25 -070089 * width: Width of the incoming region to update.
90 * height: Height of the incoming region to update.
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -070091 * srcAlloc: Source allocation.
92 * srcXoff: X offset in the source.
93 * srcYoff: Y offset in the source.
94 * srcMip: Mip level in the source allocation. 0 if mip mapping is not used.
95 * srcFace: Cubemap face of the source allocation. Ignored for allocations that aren't cubemaps.
Jason Samsb3220332012-04-02 14:41:54 -070096 */
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070097#if (defined(RS_VERSION) && (RS_VERSION >= 14))
Jean-Luc Brouillet40da3632015-03-03 13:50:23 -080098extern void __attribute__((overloadable))
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -070099 rsAllocationCopy2DRange(rs_allocation dstAlloc, uint32_t dstXoff, uint32_t dstYoff,
100 uint32_t dstMip, rs_allocation_cubemap_face dstFace, uint32_t width,
101 uint32_t height, rs_allocation srcAlloc, uint32_t srcXoff,
102 uint32_t srcYoff, uint32_t srcMip, rs_allocation_cubemap_face srcFace);
103#endif
Jason Samsb3220332012-04-02 14:41:54 -0700104
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -0700105/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -0700106 * rsAllocationVLoadX: Get a vector from an allocation of scalars
107 *
108 * This function returns a vector composed of successive cells of the allocation.
109 * It assumes that the allocation contains scalars.
110 *
111 * The "X" in the name indicates that successive values are extracted by
112 * increasing the X index. There are currently no functions to get successive
113 * values incrementing other dimensions. Use multiple calls to rsGetElementAt()
114 * instead.
115 *
116 * For example, when calling rsAllocationVLoadX_int4(a, 20, 30),
117 * an int4 composed of a[20, 30], a[21, 30], a[22, 30], and a[23, 30] is returned.
118 *
119 * When retrieving from a three dimensional allocations, use the x, y, z
120 * variant. Similarly, use the x, y variant for two dimensional
121 * allocations and x for the mono dimensional allocations.
122 *
123 * For efficiency, this function does not validate the inputs. Trying to
124 * wrap the X index, exceeding the size of the allocation, or using indexes
125 * incompatible with the dimensionality of the allocation yields undefined results.
126 *
127 * See also rsAllocationVStoreX().
128 *
129 * Parameters:
130 * a: Allocation to get the data from.
131 * x: X offset in the allocation of the first cell to be copied from.
132 * y: Y offset in the allocation of the first cell to be copied from.
133 * z: Z offset in the allocation of the first cell to be copied from.
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -0700134 */
135#if (defined(RS_VERSION) && (RS_VERSION >= 22))
136extern float2 __attribute__((overloadable))
137 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x);
138#endif
Tim Murraycc63efe2012-10-17 11:43:50 -0700139
Jason Sams85e51c22014-12-08 12:48:45 -0800140#if (defined(RS_VERSION) && (RS_VERSION >= 22))
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -0700141extern float3 __attribute__((overloadable))
142 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x);
Jason Sams044e2ee2011-08-08 16:52:30 -0700143#endif
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -0700144
145#if (defined(RS_VERSION) && (RS_VERSION >= 22))
146extern float4 __attribute__((overloadable))
147 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x);
148#endif
149
150#if (defined(RS_VERSION) && (RS_VERSION >= 22))
151extern double2 __attribute__((overloadable))
152 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x);
153#endif
154
155#if (defined(RS_VERSION) && (RS_VERSION >= 22))
156extern double3 __attribute__((overloadable))
157 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x);
158#endif
159
160#if (defined(RS_VERSION) && (RS_VERSION >= 22))
161extern double4 __attribute__((overloadable))
162 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x);
163#endif
164
165#if (defined(RS_VERSION) && (RS_VERSION >= 22))
166extern char2 __attribute__((overloadable))
167 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x);
168#endif
169
170#if (defined(RS_VERSION) && (RS_VERSION >= 22))
171extern char3 __attribute__((overloadable))
172 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x);
173#endif
174
175#if (defined(RS_VERSION) && (RS_VERSION >= 22))
176extern char4 __attribute__((overloadable))
177 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x);
178#endif
179
180#if (defined(RS_VERSION) && (RS_VERSION >= 22))
181extern uchar2 __attribute__((overloadable))
182 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x);
183#endif
184
185#if (defined(RS_VERSION) && (RS_VERSION >= 22))
186extern uchar3 __attribute__((overloadable))
187 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x);
188#endif
189
190#if (defined(RS_VERSION) && (RS_VERSION >= 22))
191extern uchar4 __attribute__((overloadable))
192 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x);
193#endif
194
195#if (defined(RS_VERSION) && (RS_VERSION >= 22))
196extern short2 __attribute__((overloadable))
197 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x);
198#endif
199
200#if (defined(RS_VERSION) && (RS_VERSION >= 22))
201extern short3 __attribute__((overloadable))
202 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x);
203#endif
204
205#if (defined(RS_VERSION) && (RS_VERSION >= 22))
206extern short4 __attribute__((overloadable))
207 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x);
208#endif
209
210#if (defined(RS_VERSION) && (RS_VERSION >= 22))
211extern ushort2 __attribute__((overloadable))
212 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x);
213#endif
214
215#if (defined(RS_VERSION) && (RS_VERSION >= 22))
216extern ushort3 __attribute__((overloadable))
217 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x);
218#endif
219
220#if (defined(RS_VERSION) && (RS_VERSION >= 22))
221extern ushort4 __attribute__((overloadable))
222 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x);
223#endif
224
225#if (defined(RS_VERSION) && (RS_VERSION >= 22))
226extern int2 __attribute__((overloadable))
227 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x);
228#endif
229
230#if (defined(RS_VERSION) && (RS_VERSION >= 22))
231extern int3 __attribute__((overloadable))
232 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x);
233#endif
234
235#if (defined(RS_VERSION) && (RS_VERSION >= 22))
236extern int4 __attribute__((overloadable))
237 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x);
238#endif
239
240#if (defined(RS_VERSION) && (RS_VERSION >= 22))
241extern uint2 __attribute__((overloadable))
242 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x);
243#endif
244
245#if (defined(RS_VERSION) && (RS_VERSION >= 22))
246extern uint3 __attribute__((overloadable))
247 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x);
248#endif
249
250#if (defined(RS_VERSION) && (RS_VERSION >= 22))
251extern uint4 __attribute__((overloadable))
252 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x);
253#endif
254
255#if (defined(RS_VERSION) && (RS_VERSION >= 22))
256extern long2 __attribute__((overloadable))
257 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x);
258#endif
259
260#if (defined(RS_VERSION) && (RS_VERSION >= 22))
261extern long3 __attribute__((overloadable))
262 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x);
263#endif
264
265#if (defined(RS_VERSION) && (RS_VERSION >= 22))
266extern long4 __attribute__((overloadable))
267 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x);
268#endif
269
270#if (defined(RS_VERSION) && (RS_VERSION >= 22))
271extern ulong2 __attribute__((overloadable))
272 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x);
273#endif
274
275#if (defined(RS_VERSION) && (RS_VERSION >= 22))
276extern ulong3 __attribute__((overloadable))
277 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x);
278#endif
279
280#if (defined(RS_VERSION) && (RS_VERSION >= 22))
281extern ulong4 __attribute__((overloadable))
282 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x);
283#endif
284
285#if (defined(RS_VERSION) && (RS_VERSION >= 22))
286extern float2 __attribute__((overloadable))
287 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y);
288#endif
289
290#if (defined(RS_VERSION) && (RS_VERSION >= 22))
291extern float3 __attribute__((overloadable))
292 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y);
293#endif
294
295#if (defined(RS_VERSION) && (RS_VERSION >= 22))
296extern float4 __attribute__((overloadable))
297 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y);
298#endif
299
300#if (defined(RS_VERSION) && (RS_VERSION >= 22))
301extern double2 __attribute__((overloadable))
302 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y);
303#endif
304
305#if (defined(RS_VERSION) && (RS_VERSION >= 22))
306extern double3 __attribute__((overloadable))
307 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y);
308#endif
309
310#if (defined(RS_VERSION) && (RS_VERSION >= 22))
311extern double4 __attribute__((overloadable))
312 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y);
313#endif
314
315#if (defined(RS_VERSION) && (RS_VERSION >= 22))
316extern char2 __attribute__((overloadable))
317 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y);
318#endif
319
320#if (defined(RS_VERSION) && (RS_VERSION >= 22))
321extern char3 __attribute__((overloadable))
322 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y);
323#endif
324
325#if (defined(RS_VERSION) && (RS_VERSION >= 22))
326extern char4 __attribute__((overloadable))
327 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y);
328#endif
329
330#if (defined(RS_VERSION) && (RS_VERSION >= 22))
331extern uchar2 __attribute__((overloadable))
332 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y);
333#endif
334
335#if (defined(RS_VERSION) && (RS_VERSION >= 22))
336extern uchar3 __attribute__((overloadable))
337 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y);
338#endif
339
340#if (defined(RS_VERSION) && (RS_VERSION >= 22))
341extern uchar4 __attribute__((overloadable))
342 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y);
343#endif
344
345#if (defined(RS_VERSION) && (RS_VERSION >= 22))
346extern short2 __attribute__((overloadable))
347 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y);
348#endif
349
350#if (defined(RS_VERSION) && (RS_VERSION >= 22))
351extern short3 __attribute__((overloadable))
352 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y);
353#endif
354
355#if (defined(RS_VERSION) && (RS_VERSION >= 22))
356extern short4 __attribute__((overloadable))
357 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y);
358#endif
359
360#if (defined(RS_VERSION) && (RS_VERSION >= 22))
361extern ushort2 __attribute__((overloadable))
362 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y);
363#endif
364
365#if (defined(RS_VERSION) && (RS_VERSION >= 22))
366extern ushort3 __attribute__((overloadable))
367 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y);
368#endif
369
370#if (defined(RS_VERSION) && (RS_VERSION >= 22))
371extern ushort4 __attribute__((overloadable))
372 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y);
373#endif
374
375#if (defined(RS_VERSION) && (RS_VERSION >= 22))
376extern int2 __attribute__((overloadable))
377 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y);
378#endif
379
380#if (defined(RS_VERSION) && (RS_VERSION >= 22))
381extern int3 __attribute__((overloadable))
382 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y);
383#endif
384
385#if (defined(RS_VERSION) && (RS_VERSION >= 22))
386extern int4 __attribute__((overloadable))
387 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y);
388#endif
389
390#if (defined(RS_VERSION) && (RS_VERSION >= 22))
391extern uint2 __attribute__((overloadable))
392 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y);
393#endif
394
395#if (defined(RS_VERSION) && (RS_VERSION >= 22))
396extern uint3 __attribute__((overloadable))
397 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y);
398#endif
399
400#if (defined(RS_VERSION) && (RS_VERSION >= 22))
401extern uint4 __attribute__((overloadable))
402 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y);
403#endif
404
405#if (defined(RS_VERSION) && (RS_VERSION >= 22))
406extern long2 __attribute__((overloadable))
407 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y);
408#endif
409
410#if (defined(RS_VERSION) && (RS_VERSION >= 22))
411extern long3 __attribute__((overloadable))
412 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y);
413#endif
414
415#if (defined(RS_VERSION) && (RS_VERSION >= 22))
416extern long4 __attribute__((overloadable))
417 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y);
418#endif
419
420#if (defined(RS_VERSION) && (RS_VERSION >= 22))
421extern ulong2 __attribute__((overloadable))
422 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y);
423#endif
424
425#if (defined(RS_VERSION) && (RS_VERSION >= 22))
426extern ulong3 __attribute__((overloadable))
427 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y);
428#endif
429
430#if (defined(RS_VERSION) && (RS_VERSION >= 22))
431extern ulong4 __attribute__((overloadable))
432 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y);
433#endif
434
435#if (defined(RS_VERSION) && (RS_VERSION >= 22))
436extern float2 __attribute__((overloadable))
437 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
438#endif
439
440#if (defined(RS_VERSION) && (RS_VERSION >= 22))
441extern float3 __attribute__((overloadable))
442 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
443#endif
444
445#if (defined(RS_VERSION) && (RS_VERSION >= 22))
446extern float4 __attribute__((overloadable))
447 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
448#endif
449
450#if (defined(RS_VERSION) && (RS_VERSION >= 22))
451extern double2 __attribute__((overloadable))
452 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
453#endif
454
455#if (defined(RS_VERSION) && (RS_VERSION >= 22))
456extern double3 __attribute__((overloadable))
457 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
458#endif
459
460#if (defined(RS_VERSION) && (RS_VERSION >= 22))
461extern double4 __attribute__((overloadable))
462 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
463#endif
464
465#if (defined(RS_VERSION) && (RS_VERSION >= 22))
466extern char2 __attribute__((overloadable))
467 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
468#endif
469
470#if (defined(RS_VERSION) && (RS_VERSION >= 22))
471extern char3 __attribute__((overloadable))
472 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
473#endif
474
475#if (defined(RS_VERSION) && (RS_VERSION >= 22))
476extern char4 __attribute__((overloadable))
477 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
478#endif
479
480#if (defined(RS_VERSION) && (RS_VERSION >= 22))
481extern uchar2 __attribute__((overloadable))
482 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
483#endif
484
485#if (defined(RS_VERSION) && (RS_VERSION >= 22))
486extern uchar3 __attribute__((overloadable))
487 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
488#endif
489
490#if (defined(RS_VERSION) && (RS_VERSION >= 22))
491extern uchar4 __attribute__((overloadable))
492 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
493#endif
494
495#if (defined(RS_VERSION) && (RS_VERSION >= 22))
496extern short2 __attribute__((overloadable))
497 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
498#endif
499
500#if (defined(RS_VERSION) && (RS_VERSION >= 22))
501extern short3 __attribute__((overloadable))
502 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
503#endif
504
505#if (defined(RS_VERSION) && (RS_VERSION >= 22))
506extern short4 __attribute__((overloadable))
507 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
508#endif
509
510#if (defined(RS_VERSION) && (RS_VERSION >= 22))
511extern ushort2 __attribute__((overloadable))
512 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
513#endif
514
515#if (defined(RS_VERSION) && (RS_VERSION >= 22))
516extern ushort3 __attribute__((overloadable))
517 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
518#endif
519
520#if (defined(RS_VERSION) && (RS_VERSION >= 22))
521extern ushort4 __attribute__((overloadable))
522 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
523#endif
524
525#if (defined(RS_VERSION) && (RS_VERSION >= 22))
526extern int2 __attribute__((overloadable))
527 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
528#endif
529
530#if (defined(RS_VERSION) && (RS_VERSION >= 22))
531extern int3 __attribute__((overloadable))
532 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
533#endif
534
535#if (defined(RS_VERSION) && (RS_VERSION >= 22))
536extern int4 __attribute__((overloadable))
537 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
538#endif
539
540#if (defined(RS_VERSION) && (RS_VERSION >= 22))
541extern uint2 __attribute__((overloadable))
542 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
543#endif
544
545#if (defined(RS_VERSION) && (RS_VERSION >= 22))
546extern uint3 __attribute__((overloadable))
547 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
548#endif
549
550#if (defined(RS_VERSION) && (RS_VERSION >= 22))
551extern uint4 __attribute__((overloadable))
552 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
553#endif
554
555#if (defined(RS_VERSION) && (RS_VERSION >= 22))
556extern long2 __attribute__((overloadable))
557 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
558#endif
559
560#if (defined(RS_VERSION) && (RS_VERSION >= 22))
561extern long3 __attribute__((overloadable))
562 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
563#endif
564
565#if (defined(RS_VERSION) && (RS_VERSION >= 22))
566extern long4 __attribute__((overloadable))
567 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
568#endif
569
570#if (defined(RS_VERSION) && (RS_VERSION >= 22))
571extern ulong2 __attribute__((overloadable))
572 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
573#endif
574
575#if (defined(RS_VERSION) && (RS_VERSION >= 22))
576extern ulong3 __attribute__((overloadable))
577 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
578#endif
579
580#if (defined(RS_VERSION) && (RS_VERSION >= 22))
581extern ulong4 __attribute__((overloadable))
582 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
583#endif
584
585/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -0700586 * rsAllocationVStoreX: Store a vector into an allocation of scalars
587 *
588 * This function stores the entries of a vector into successive cells of an
589 * allocation. It assumes that the allocation contains scalars.
590 *
591 * The "X" in the name indicates that successive values are stored by
592 * increasing the X index. There are currently no functions to store successive
593 * values incrementing other dimensions. Use multiple calls to rsSetElementAt()
594 * instead.
595 *
596 * For example, when calling rsAllocationVStoreX_int3(a, v, 20, 30),
597 * v.x is stored at a[20, 30], v.y at a[21, 30], and v.z at a[22, 30].
598 *
599 * When storing into a three dimensional allocations, use the x, y, z
600 * variant. Similarly, use the x, y variant for two dimensional
601 * allocations and x for the mono dimensional allocations.
602 *
603 * For efficiency, this function does not validate the inputs. Trying to
604 * wrap the X index, exceeding the size of the allocation, or using indexes
605 * incompatible with the dimensionality of the allocation yiels undefined results.
606 *
607 * See also rsAllocationVLoadX().
608 *
609 * Parameters:
610 * a: Allocation to store the data into.
611 * val: Value to be stored.
612 * x: X offset in the allocation of the first cell to be copied into.
613 * y: Y offset in the allocation of the first cell to be copied into.
614 * z: Z offset in the allocation of the first cell to be copied into.
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -0700615 */
616#if (defined(RS_VERSION) && (RS_VERSION >= 22))
617extern void __attribute__((overloadable))
618 rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x);
619#endif
620
621#if (defined(RS_VERSION) && (RS_VERSION >= 22))
622extern void __attribute__((overloadable))
623 rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x);
624#endif
625
626#if (defined(RS_VERSION) && (RS_VERSION >= 22))
627extern void __attribute__((overloadable))
628 rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x);
629#endif
630
631#if (defined(RS_VERSION) && (RS_VERSION >= 22))
632extern void __attribute__((overloadable))
633 rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x);
634#endif
635
636#if (defined(RS_VERSION) && (RS_VERSION >= 22))
637extern void __attribute__((overloadable))
638 rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x);
639#endif
640
641#if (defined(RS_VERSION) && (RS_VERSION >= 22))
642extern void __attribute__((overloadable))
643 rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x);
644#endif
645
646#if (defined(RS_VERSION) && (RS_VERSION >= 22))
647extern void __attribute__((overloadable))
648 rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x);
649#endif
650
651#if (defined(RS_VERSION) && (RS_VERSION >= 22))
652extern void __attribute__((overloadable))
653 rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x);
654#endif
655
656#if (defined(RS_VERSION) && (RS_VERSION >= 22))
657extern void __attribute__((overloadable))
658 rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x);
659#endif
660
661#if (defined(RS_VERSION) && (RS_VERSION >= 22))
662extern void __attribute__((overloadable))
663 rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x);
664#endif
665
666#if (defined(RS_VERSION) && (RS_VERSION >= 22))
667extern void __attribute__((overloadable))
668 rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x);
669#endif
670
671#if (defined(RS_VERSION) && (RS_VERSION >= 22))
672extern void __attribute__((overloadable))
673 rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x);
674#endif
675
676#if (defined(RS_VERSION) && (RS_VERSION >= 22))
677extern void __attribute__((overloadable))
678 rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x);
679#endif
680
681#if (defined(RS_VERSION) && (RS_VERSION >= 22))
682extern void __attribute__((overloadable))
683 rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x);
684#endif
685
686#if (defined(RS_VERSION) && (RS_VERSION >= 22))
687extern void __attribute__((overloadable))
688 rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x);
689#endif
690
691#if (defined(RS_VERSION) && (RS_VERSION >= 22))
692extern void __attribute__((overloadable))
693 rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x);
694#endif
695
696#if (defined(RS_VERSION) && (RS_VERSION >= 22))
697extern void __attribute__((overloadable))
698 rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x);
699#endif
700
701#if (defined(RS_VERSION) && (RS_VERSION >= 22))
702extern void __attribute__((overloadable))
703 rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x);
704#endif
705
706#if (defined(RS_VERSION) && (RS_VERSION >= 22))
707extern void __attribute__((overloadable))
708 rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x);
709#endif
710
711#if (defined(RS_VERSION) && (RS_VERSION >= 22))
712extern void __attribute__((overloadable))
713 rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x);
714#endif
715
716#if (defined(RS_VERSION) && (RS_VERSION >= 22))
717extern void __attribute__((overloadable))
718 rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x);
719#endif
720
721#if (defined(RS_VERSION) && (RS_VERSION >= 22))
722extern void __attribute__((overloadable))
723 rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x);
724#endif
725
726#if (defined(RS_VERSION) && (RS_VERSION >= 22))
727extern void __attribute__((overloadable))
728 rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x);
729#endif
730
731#if (defined(RS_VERSION) && (RS_VERSION >= 22))
732extern void __attribute__((overloadable))
733 rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x);
734#endif
735
736#if (defined(RS_VERSION) && (RS_VERSION >= 22))
737extern void __attribute__((overloadable))
738 rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x);
739#endif
740
741#if (defined(RS_VERSION) && (RS_VERSION >= 22))
742extern void __attribute__((overloadable))
743 rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x);
744#endif
745
746#if (defined(RS_VERSION) && (RS_VERSION >= 22))
747extern void __attribute__((overloadable))
748 rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x);
749#endif
750
751#if (defined(RS_VERSION) && (RS_VERSION >= 22))
752extern void __attribute__((overloadable))
753 rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x);
754#endif
755
756#if (defined(RS_VERSION) && (RS_VERSION >= 22))
757extern void __attribute__((overloadable))
758 rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x);
759#endif
760
761#if (defined(RS_VERSION) && (RS_VERSION >= 22))
762extern void __attribute__((overloadable))
763 rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x);
764#endif
765
766#if (defined(RS_VERSION) && (RS_VERSION >= 22))
767extern void __attribute__((overloadable))
768 rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y);
769#endif
770
771#if (defined(RS_VERSION) && (RS_VERSION >= 22))
772extern void __attribute__((overloadable))
773 rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y);
774#endif
775
776#if (defined(RS_VERSION) && (RS_VERSION >= 22))
777extern void __attribute__((overloadable))
778 rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y);
779#endif
780
781#if (defined(RS_VERSION) && (RS_VERSION >= 22))
782extern void __attribute__((overloadable))
783 rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y);
784#endif
785
786#if (defined(RS_VERSION) && (RS_VERSION >= 22))
787extern void __attribute__((overloadable))
788 rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y);
789#endif
790
791#if (defined(RS_VERSION) && (RS_VERSION >= 22))
792extern void __attribute__((overloadable))
793 rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y);
794#endif
795
796#if (defined(RS_VERSION) && (RS_VERSION >= 22))
797extern void __attribute__((overloadable))
798 rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y);
799#endif
800
801#if (defined(RS_VERSION) && (RS_VERSION >= 22))
802extern void __attribute__((overloadable))
803 rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y);
804#endif
805
806#if (defined(RS_VERSION) && (RS_VERSION >= 22))
807extern void __attribute__((overloadable))
808 rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y);
809#endif
810
811#if (defined(RS_VERSION) && (RS_VERSION >= 22))
812extern void __attribute__((overloadable))
813 rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y);
814#endif
815
816#if (defined(RS_VERSION) && (RS_VERSION >= 22))
817extern void __attribute__((overloadable))
818 rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y);
819#endif
820
821#if (defined(RS_VERSION) && (RS_VERSION >= 22))
822extern void __attribute__((overloadable))
823 rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y);
824#endif
825
826#if (defined(RS_VERSION) && (RS_VERSION >= 22))
827extern void __attribute__((overloadable))
828 rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y);
829#endif
830
831#if (defined(RS_VERSION) && (RS_VERSION >= 22))
832extern void __attribute__((overloadable))
833 rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y);
834#endif
835
836#if (defined(RS_VERSION) && (RS_VERSION >= 22))
837extern void __attribute__((overloadable))
838 rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y);
839#endif
840
841#if (defined(RS_VERSION) && (RS_VERSION >= 22))
842extern void __attribute__((overloadable))
843 rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y);
844#endif
845
846#if (defined(RS_VERSION) && (RS_VERSION >= 22))
847extern void __attribute__((overloadable))
848 rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y);
849#endif
850
851#if (defined(RS_VERSION) && (RS_VERSION >= 22))
852extern void __attribute__((overloadable))
853 rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y);
854#endif
855
856#if (defined(RS_VERSION) && (RS_VERSION >= 22))
857extern void __attribute__((overloadable))
858 rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y);
859#endif
860
861#if (defined(RS_VERSION) && (RS_VERSION >= 22))
862extern void __attribute__((overloadable))
863 rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y);
864#endif
865
866#if (defined(RS_VERSION) && (RS_VERSION >= 22))
867extern void __attribute__((overloadable))
868 rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y);
869#endif
870
871#if (defined(RS_VERSION) && (RS_VERSION >= 22))
872extern void __attribute__((overloadable))
873 rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y);
874#endif
875
876#if (defined(RS_VERSION) && (RS_VERSION >= 22))
877extern void __attribute__((overloadable))
878 rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y);
879#endif
880
881#if (defined(RS_VERSION) && (RS_VERSION >= 22))
882extern void __attribute__((overloadable))
883 rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y);
884#endif
885
886#if (defined(RS_VERSION) && (RS_VERSION >= 22))
887extern void __attribute__((overloadable))
888 rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y);
889#endif
890
891#if (defined(RS_VERSION) && (RS_VERSION >= 22))
892extern void __attribute__((overloadable))
893 rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y);
894#endif
895
896#if (defined(RS_VERSION) && (RS_VERSION >= 22))
897extern void __attribute__((overloadable))
898 rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y);
899#endif
900
901#if (defined(RS_VERSION) && (RS_VERSION >= 22))
902extern void __attribute__((overloadable))
903 rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y);
904#endif
905
906#if (defined(RS_VERSION) && (RS_VERSION >= 22))
907extern void __attribute__((overloadable))
908 rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y);
909#endif
910
911#if (defined(RS_VERSION) && (RS_VERSION >= 22))
912extern void __attribute__((overloadable))
913 rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y);
914#endif
915
916#if (defined(RS_VERSION) && (RS_VERSION >= 22))
917extern void __attribute__((overloadable))
918 rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z);
919#endif
920
921#if (defined(RS_VERSION) && (RS_VERSION >= 22))
922extern void __attribute__((overloadable))
923 rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z);
924#endif
925
926#if (defined(RS_VERSION) && (RS_VERSION >= 22))
927extern void __attribute__((overloadable))
928 rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z);
929#endif
930
931#if (defined(RS_VERSION) && (RS_VERSION >= 22))
932extern void __attribute__((overloadable))
933 rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z);
934#endif
935
936#if (defined(RS_VERSION) && (RS_VERSION >= 22))
937extern void __attribute__((overloadable))
938 rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z);
939#endif
940
941#if (defined(RS_VERSION) && (RS_VERSION >= 22))
942extern void __attribute__((overloadable))
943 rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z);
944#endif
945
946#if (defined(RS_VERSION) && (RS_VERSION >= 22))
947extern void __attribute__((overloadable))
948 rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z);
949#endif
950
951#if (defined(RS_VERSION) && (RS_VERSION >= 22))
952extern void __attribute__((overloadable))
953 rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z);
954#endif
955
956#if (defined(RS_VERSION) && (RS_VERSION >= 22))
957extern void __attribute__((overloadable))
958 rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z);
959#endif
960
961#if (defined(RS_VERSION) && (RS_VERSION >= 22))
962extern void __attribute__((overloadable))
963 rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z);
964#endif
965
966#if (defined(RS_VERSION) && (RS_VERSION >= 22))
967extern void __attribute__((overloadable))
968 rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z);
969#endif
970
971#if (defined(RS_VERSION) && (RS_VERSION >= 22))
972extern void __attribute__((overloadable))
973 rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z);
974#endif
975
976#if (defined(RS_VERSION) && (RS_VERSION >= 22))
977extern void __attribute__((overloadable))
978 rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z);
979#endif
980
981#if (defined(RS_VERSION) && (RS_VERSION >= 22))
982extern void __attribute__((overloadable))
983 rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z);
984#endif
985
986#if (defined(RS_VERSION) && (RS_VERSION >= 22))
987extern void __attribute__((overloadable))
988 rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z);
989#endif
990
991#if (defined(RS_VERSION) && (RS_VERSION >= 22))
992extern void __attribute__((overloadable))
993 rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z);
994#endif
995
996#if (defined(RS_VERSION) && (RS_VERSION >= 22))
997extern void __attribute__((overloadable))
998 rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z);
999#endif
1000
1001#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1002extern void __attribute__((overloadable))
1003 rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z);
1004#endif
1005
1006#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1007extern void __attribute__((overloadable))
1008 rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z);
1009#endif
1010
1011#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1012extern void __attribute__((overloadable))
1013 rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z);
1014#endif
1015
1016#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1017extern void __attribute__((overloadable))
1018 rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z);
1019#endif
1020
1021#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1022extern void __attribute__((overloadable))
1023 rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z);
1024#endif
1025
1026#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1027extern void __attribute__((overloadable))
1028 rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z);
1029#endif
1030
1031#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1032extern void __attribute__((overloadable))
1033 rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z);
1034#endif
1035
1036#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1037extern void __attribute__((overloadable))
1038 rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z);
1039#endif
1040
1041#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1042extern void __attribute__((overloadable))
1043 rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z);
1044#endif
1045
1046#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1047extern void __attribute__((overloadable))
1048 rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z);
1049#endif
1050
1051#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1052extern void __attribute__((overloadable))
1053 rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z);
1054#endif
1055
1056#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1057extern void __attribute__((overloadable))
1058 rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z);
1059#endif
1060
1061#if (defined(RS_VERSION) && (RS_VERSION >= 22))
1062extern void __attribute__((overloadable))
1063 rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z);
1064#endif
1065
1066/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07001067 * rsGetElementAt: Return a cell from an allocation
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07001068 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07001069 * This function extracts a single cell from an allocation.
1070 *
1071 * When retrieving from a three dimensional allocations, use the x, y, z
1072 * variant. Similarly, use the x, y variant for two dimensional
1073 * allocations and x for the mono dimensional allocations.
1074 *
1075 * This function has two styles. One returns the address of the value using a
1076 * void*, the other returns the actual value, e.g. rsGetElementAt() vs.
1077 * rsGetElementAt_int4(). For primitive types, always use the latter as it is
1078 * more efficient.
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07001079 */
1080extern const void* __attribute__((overloadable))
1081 rsGetElementAt(rs_allocation a, uint32_t x);
1082
1083extern const void* __attribute__((overloadable))
1084 rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y);
1085
1086extern const void* __attribute__((overloadable))
1087 rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
1088
1089#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1090static inline float __attribute__((overloadable))
1091 rsGetElementAt_float(rs_allocation a, uint32_t x) {
1092 return ((float *)rsGetElementAt(a, x))[0];
1093}
1094#endif
1095
1096#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1097static inline float2 __attribute__((overloadable))
1098 rsGetElementAt_float2(rs_allocation a, uint32_t x) {
1099 return ((float2 *)rsGetElementAt(a, x))[0];
1100}
1101#endif
1102
1103#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1104static inline float3 __attribute__((overloadable))
1105 rsGetElementAt_float3(rs_allocation a, uint32_t x) {
1106 return ((float3 *)rsGetElementAt(a, x))[0];
1107}
1108#endif
1109
1110#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1111static inline float4 __attribute__((overloadable))
1112 rsGetElementAt_float4(rs_allocation a, uint32_t x) {
1113 return ((float4 *)rsGetElementAt(a, x))[0];
1114}
1115#endif
1116
1117#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1118static inline double __attribute__((overloadable))
1119 rsGetElementAt_double(rs_allocation a, uint32_t x) {
1120 return ((double *)rsGetElementAt(a, x))[0];
1121}
1122#endif
1123
1124#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1125static inline double2 __attribute__((overloadable))
1126 rsGetElementAt_double2(rs_allocation a, uint32_t x) {
1127 return ((double2 *)rsGetElementAt(a, x))[0];
1128}
1129#endif
1130
1131#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1132static inline double3 __attribute__((overloadable))
1133 rsGetElementAt_double3(rs_allocation a, uint32_t x) {
1134 return ((double3 *)rsGetElementAt(a, x))[0];
1135}
1136#endif
1137
1138#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1139static inline double4 __attribute__((overloadable))
1140 rsGetElementAt_double4(rs_allocation a, uint32_t x) {
1141 return ((double4 *)rsGetElementAt(a, x))[0];
1142}
1143#endif
1144
1145#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1146static inline char __attribute__((overloadable))
1147 rsGetElementAt_char(rs_allocation a, uint32_t x) {
1148 return ((char *)rsGetElementAt(a, x))[0];
1149}
1150#endif
1151
1152#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1153static inline char2 __attribute__((overloadable))
1154 rsGetElementAt_char2(rs_allocation a, uint32_t x) {
1155 return ((char2 *)rsGetElementAt(a, x))[0];
1156}
1157#endif
1158
1159#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1160static inline char3 __attribute__((overloadable))
1161 rsGetElementAt_char3(rs_allocation a, uint32_t x) {
1162 return ((char3 *)rsGetElementAt(a, x))[0];
1163}
1164#endif
1165
1166#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1167static inline char4 __attribute__((overloadable))
1168 rsGetElementAt_char4(rs_allocation a, uint32_t x) {
1169 return ((char4 *)rsGetElementAt(a, x))[0];
1170}
1171#endif
1172
1173#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1174static inline uchar __attribute__((overloadable))
1175 rsGetElementAt_uchar(rs_allocation a, uint32_t x) {
1176 return ((uchar *)rsGetElementAt(a, x))[0];
1177}
1178#endif
1179
1180#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1181static inline uchar2 __attribute__((overloadable))
1182 rsGetElementAt_uchar2(rs_allocation a, uint32_t x) {
1183 return ((uchar2 *)rsGetElementAt(a, x))[0];
1184}
1185#endif
1186
1187#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1188static inline uchar3 __attribute__((overloadable))
1189 rsGetElementAt_uchar3(rs_allocation a, uint32_t x) {
1190 return ((uchar3 *)rsGetElementAt(a, x))[0];
1191}
1192#endif
1193
1194#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1195static inline uchar4 __attribute__((overloadable))
1196 rsGetElementAt_uchar4(rs_allocation a, uint32_t x) {
1197 return ((uchar4 *)rsGetElementAt(a, x))[0];
1198}
1199#endif
1200
1201#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1202static inline short __attribute__((overloadable))
1203 rsGetElementAt_short(rs_allocation a, uint32_t x) {
1204 return ((short *)rsGetElementAt(a, x))[0];
1205}
1206#endif
1207
1208#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1209static inline short2 __attribute__((overloadable))
1210 rsGetElementAt_short2(rs_allocation a, uint32_t x) {
1211 return ((short2 *)rsGetElementAt(a, x))[0];
1212}
1213#endif
1214
1215#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1216static inline short3 __attribute__((overloadable))
1217 rsGetElementAt_short3(rs_allocation a, uint32_t x) {
1218 return ((short3 *)rsGetElementAt(a, x))[0];
1219}
1220#endif
1221
1222#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1223static inline short4 __attribute__((overloadable))
1224 rsGetElementAt_short4(rs_allocation a, uint32_t x) {
1225 return ((short4 *)rsGetElementAt(a, x))[0];
1226}
1227#endif
1228
1229#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1230static inline ushort __attribute__((overloadable))
1231 rsGetElementAt_ushort(rs_allocation a, uint32_t x) {
1232 return ((ushort *)rsGetElementAt(a, x))[0];
1233}
1234#endif
1235
1236#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1237static inline ushort2 __attribute__((overloadable))
1238 rsGetElementAt_ushort2(rs_allocation a, uint32_t x) {
1239 return ((ushort2 *)rsGetElementAt(a, x))[0];
1240}
1241#endif
1242
1243#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1244static inline ushort3 __attribute__((overloadable))
1245 rsGetElementAt_ushort3(rs_allocation a, uint32_t x) {
1246 return ((ushort3 *)rsGetElementAt(a, x))[0];
1247}
1248#endif
1249
1250#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1251static inline ushort4 __attribute__((overloadable))
1252 rsGetElementAt_ushort4(rs_allocation a, uint32_t x) {
1253 return ((ushort4 *)rsGetElementAt(a, x))[0];
1254}
1255#endif
1256
1257#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1258static inline int __attribute__((overloadable))
1259 rsGetElementAt_int(rs_allocation a, uint32_t x) {
1260 return ((int *)rsGetElementAt(a, x))[0];
1261}
1262#endif
1263
1264#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1265static inline int2 __attribute__((overloadable))
1266 rsGetElementAt_int2(rs_allocation a, uint32_t x) {
1267 return ((int2 *)rsGetElementAt(a, x))[0];
1268}
1269#endif
1270
1271#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1272static inline int3 __attribute__((overloadable))
1273 rsGetElementAt_int3(rs_allocation a, uint32_t x) {
1274 return ((int3 *)rsGetElementAt(a, x))[0];
1275}
1276#endif
1277
1278#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1279static inline int4 __attribute__((overloadable))
1280 rsGetElementAt_int4(rs_allocation a, uint32_t x) {
1281 return ((int4 *)rsGetElementAt(a, x))[0];
1282}
1283#endif
1284
1285#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1286static inline uint __attribute__((overloadable))
1287 rsGetElementAt_uint(rs_allocation a, uint32_t x) {
1288 return ((uint *)rsGetElementAt(a, x))[0];
1289}
1290#endif
1291
1292#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1293static inline uint2 __attribute__((overloadable))
1294 rsGetElementAt_uint2(rs_allocation a, uint32_t x) {
1295 return ((uint2 *)rsGetElementAt(a, x))[0];
1296}
1297#endif
1298
1299#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1300static inline uint3 __attribute__((overloadable))
1301 rsGetElementAt_uint3(rs_allocation a, uint32_t x) {
1302 return ((uint3 *)rsGetElementAt(a, x))[0];
1303}
1304#endif
1305
1306#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1307static inline uint4 __attribute__((overloadable))
1308 rsGetElementAt_uint4(rs_allocation a, uint32_t x) {
1309 return ((uint4 *)rsGetElementAt(a, x))[0];
1310}
1311#endif
1312
1313#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1314static inline long __attribute__((overloadable))
1315 rsGetElementAt_long(rs_allocation a, uint32_t x) {
1316 return ((long *)rsGetElementAt(a, x))[0];
1317}
1318#endif
1319
1320#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1321static inline long2 __attribute__((overloadable))
1322 rsGetElementAt_long2(rs_allocation a, uint32_t x) {
1323 return ((long2 *)rsGetElementAt(a, x))[0];
1324}
1325#endif
1326
1327#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1328static inline long3 __attribute__((overloadable))
1329 rsGetElementAt_long3(rs_allocation a, uint32_t x) {
1330 return ((long3 *)rsGetElementAt(a, x))[0];
1331}
1332#endif
1333
1334#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1335static inline long4 __attribute__((overloadable))
1336 rsGetElementAt_long4(rs_allocation a, uint32_t x) {
1337 return ((long4 *)rsGetElementAt(a, x))[0];
1338}
1339#endif
1340
1341#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1342static inline ulong __attribute__((overloadable))
1343 rsGetElementAt_ulong(rs_allocation a, uint32_t x) {
1344 return ((ulong *)rsGetElementAt(a, x))[0];
1345}
1346#endif
1347
1348#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1349static inline ulong2 __attribute__((overloadable))
1350 rsGetElementAt_ulong2(rs_allocation a, uint32_t x) {
1351 return ((ulong2 *)rsGetElementAt(a, x))[0];
1352}
1353#endif
1354
1355#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1356static inline ulong3 __attribute__((overloadable))
1357 rsGetElementAt_ulong3(rs_allocation a, uint32_t x) {
1358 return ((ulong3 *)rsGetElementAt(a, x))[0];
1359}
1360#endif
1361
1362#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1363static inline ulong4 __attribute__((overloadable))
1364 rsGetElementAt_ulong4(rs_allocation a, uint32_t x) {
1365 return ((ulong4 *)rsGetElementAt(a, x))[0];
1366}
1367#endif
1368
1369#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1370static inline float __attribute__((overloadable))
1371 rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y) {
1372 return ((float *)rsGetElementAt(a, x, y))[0];
1373}
1374#endif
1375
1376#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1377static inline float2 __attribute__((overloadable))
1378 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y) {
1379 return ((float2 *)rsGetElementAt(a, x, y))[0];
1380}
1381#endif
1382
1383#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1384static inline float3 __attribute__((overloadable))
1385 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y) {
1386 return ((float3 *)rsGetElementAt(a, x, y))[0];
1387}
1388#endif
1389
1390#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1391static inline float4 __attribute__((overloadable))
1392 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y) {
1393 return ((float4 *)rsGetElementAt(a, x, y))[0];
1394}
1395#endif
1396
1397#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1398static inline double __attribute__((overloadable))
1399 rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y) {
1400 return ((double *)rsGetElementAt(a, x, y))[0];
1401}
1402#endif
1403
1404#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1405static inline double2 __attribute__((overloadable))
1406 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y) {
1407 return ((double2 *)rsGetElementAt(a, x, y))[0];
1408}
1409#endif
1410
1411#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1412static inline double3 __attribute__((overloadable))
1413 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y) {
1414 return ((double3 *)rsGetElementAt(a, x, y))[0];
1415}
1416#endif
1417
1418#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1419static inline double4 __attribute__((overloadable))
1420 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y) {
1421 return ((double4 *)rsGetElementAt(a, x, y))[0];
1422}
1423#endif
1424
1425#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1426static inline char __attribute__((overloadable))
1427 rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y) {
1428 return ((char *)rsGetElementAt(a, x, y))[0];
1429}
1430#endif
1431
1432#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1433static inline char2 __attribute__((overloadable))
1434 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y) {
1435 return ((char2 *)rsGetElementAt(a, x, y))[0];
1436}
1437#endif
1438
1439#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1440static inline char3 __attribute__((overloadable))
1441 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y) {
1442 return ((char3 *)rsGetElementAt(a, x, y))[0];
1443}
1444#endif
1445
1446#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1447static inline char4 __attribute__((overloadable))
1448 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y) {
1449 return ((char4 *)rsGetElementAt(a, x, y))[0];
1450}
1451#endif
1452
1453#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1454static inline uchar __attribute__((overloadable))
1455 rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y) {
1456 return ((uchar *)rsGetElementAt(a, x, y))[0];
1457}
1458#endif
1459
1460#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1461static inline uchar2 __attribute__((overloadable))
1462 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y) {
1463 return ((uchar2 *)rsGetElementAt(a, x, y))[0];
1464}
1465#endif
1466
1467#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1468static inline uchar3 __attribute__((overloadable))
1469 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y) {
1470 return ((uchar3 *)rsGetElementAt(a, x, y))[0];
1471}
1472#endif
1473
1474#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1475static inline uchar4 __attribute__((overloadable))
1476 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y) {
1477 return ((uchar4 *)rsGetElementAt(a, x, y))[0];
1478}
1479#endif
1480
1481#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1482static inline short __attribute__((overloadable))
1483 rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y) {
1484 return ((short *)rsGetElementAt(a, x, y))[0];
1485}
1486#endif
1487
1488#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1489static inline short2 __attribute__((overloadable))
1490 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y) {
1491 return ((short2 *)rsGetElementAt(a, x, y))[0];
1492}
1493#endif
1494
1495#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1496static inline short3 __attribute__((overloadable))
1497 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y) {
1498 return ((short3 *)rsGetElementAt(a, x, y))[0];
1499}
1500#endif
1501
1502#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1503static inline short4 __attribute__((overloadable))
1504 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y) {
1505 return ((short4 *)rsGetElementAt(a, x, y))[0];
1506}
1507#endif
1508
1509#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1510static inline ushort __attribute__((overloadable))
1511 rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y) {
1512 return ((ushort *)rsGetElementAt(a, x, y))[0];
1513}
1514#endif
1515
1516#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1517static inline ushort2 __attribute__((overloadable))
1518 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y) {
1519 return ((ushort2 *)rsGetElementAt(a, x, y))[0];
1520}
1521#endif
1522
1523#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1524static inline ushort3 __attribute__((overloadable))
1525 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y) {
1526 return ((ushort3 *)rsGetElementAt(a, x, y))[0];
1527}
1528#endif
1529
1530#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1531static inline ushort4 __attribute__((overloadable))
1532 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y) {
1533 return ((ushort4 *)rsGetElementAt(a, x, y))[0];
1534}
1535#endif
1536
1537#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1538static inline int __attribute__((overloadable))
1539 rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y) {
1540 return ((int *)rsGetElementAt(a, x, y))[0];
1541}
1542#endif
1543
1544#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1545static inline int2 __attribute__((overloadable))
1546 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y) {
1547 return ((int2 *)rsGetElementAt(a, x, y))[0];
1548}
1549#endif
1550
1551#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1552static inline int3 __attribute__((overloadable))
1553 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y) {
1554 return ((int3 *)rsGetElementAt(a, x, y))[0];
1555}
1556#endif
1557
1558#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1559static inline int4 __attribute__((overloadable))
1560 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y) {
1561 return ((int4 *)rsGetElementAt(a, x, y))[0];
1562}
1563#endif
1564
1565#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1566static inline uint __attribute__((overloadable))
1567 rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y) {
1568 return ((uint *)rsGetElementAt(a, x, y))[0];
1569}
1570#endif
1571
1572#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1573static inline uint2 __attribute__((overloadable))
1574 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y) {
1575 return ((uint2 *)rsGetElementAt(a, x, y))[0];
1576}
1577#endif
1578
1579#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1580static inline uint3 __attribute__((overloadable))
1581 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y) {
1582 return ((uint3 *)rsGetElementAt(a, x, y))[0];
1583}
1584#endif
1585
1586#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1587static inline uint4 __attribute__((overloadable))
1588 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y) {
1589 return ((uint4 *)rsGetElementAt(a, x, y))[0];
1590}
1591#endif
1592
1593#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1594static inline long __attribute__((overloadable))
1595 rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y) {
1596 return ((long *)rsGetElementAt(a, x, y))[0];
1597}
1598#endif
1599
1600#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1601static inline long2 __attribute__((overloadable))
1602 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y) {
1603 return ((long2 *)rsGetElementAt(a, x, y))[0];
1604}
1605#endif
1606
1607#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1608static inline long3 __attribute__((overloadable))
1609 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y) {
1610 return ((long3 *)rsGetElementAt(a, x, y))[0];
1611}
1612#endif
1613
1614#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1615static inline long4 __attribute__((overloadable))
1616 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y) {
1617 return ((long4 *)rsGetElementAt(a, x, y))[0];
1618}
1619#endif
1620
1621#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1622static inline ulong __attribute__((overloadable))
1623 rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y) {
1624 return ((ulong *)rsGetElementAt(a, x, y))[0];
1625}
1626#endif
1627
1628#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1629static inline ulong2 __attribute__((overloadable))
1630 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y) {
1631 return ((ulong2 *)rsGetElementAt(a, x, y))[0];
1632}
1633#endif
1634
1635#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1636static inline ulong3 __attribute__((overloadable))
1637 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y) {
1638 return ((ulong3 *)rsGetElementAt(a, x, y))[0];
1639}
1640#endif
1641
1642#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1643static inline ulong4 __attribute__((overloadable))
1644 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y) {
1645 return ((ulong4 *)rsGetElementAt(a, x, y))[0];
1646}
1647#endif
1648
1649#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1650static inline float __attribute__((overloadable))
1651 rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1652 return ((float *)rsGetElementAt(a, x, y, z))[0];
1653}
1654#endif
1655
1656#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1657static inline float2 __attribute__((overloadable))
1658 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1659 return ((float2 *)rsGetElementAt(a, x, y, z))[0];
1660}
1661#endif
1662
1663#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1664static inline float3 __attribute__((overloadable))
1665 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1666 return ((float3 *)rsGetElementAt(a, x, y, z))[0];
1667}
1668#endif
1669
1670#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1671static inline float4 __attribute__((overloadable))
1672 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1673 return ((float4 *)rsGetElementAt(a, x, y, z))[0];
1674}
1675#endif
1676
1677#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1678static inline double __attribute__((overloadable))
1679 rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1680 return ((double *)rsGetElementAt(a, x, y, z))[0];
1681}
1682#endif
1683
1684#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1685static inline double2 __attribute__((overloadable))
1686 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1687 return ((double2 *)rsGetElementAt(a, x, y, z))[0];
1688}
1689#endif
1690
1691#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1692static inline double3 __attribute__((overloadable))
1693 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1694 return ((double3 *)rsGetElementAt(a, x, y, z))[0];
1695}
1696#endif
1697
1698#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1699static inline double4 __attribute__((overloadable))
1700 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1701 return ((double4 *)rsGetElementAt(a, x, y, z))[0];
1702}
1703#endif
1704
1705#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1706static inline char __attribute__((overloadable))
1707 rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1708 return ((char *)rsGetElementAt(a, x, y, z))[0];
1709}
1710#endif
1711
1712#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1713static inline char2 __attribute__((overloadable))
1714 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1715 return ((char2 *)rsGetElementAt(a, x, y, z))[0];
1716}
1717#endif
1718
1719#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1720static inline char3 __attribute__((overloadable))
1721 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1722 return ((char3 *)rsGetElementAt(a, x, y, z))[0];
1723}
1724#endif
1725
1726#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1727static inline char4 __attribute__((overloadable))
1728 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1729 return ((char4 *)rsGetElementAt(a, x, y, z))[0];
1730}
1731#endif
1732
1733#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1734static inline uchar __attribute__((overloadable))
1735 rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1736 return ((uchar *)rsGetElementAt(a, x, y, z))[0];
1737}
1738#endif
1739
1740#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1741static inline uchar2 __attribute__((overloadable))
1742 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1743 return ((uchar2 *)rsGetElementAt(a, x, y, z))[0];
1744}
1745#endif
1746
1747#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1748static inline uchar3 __attribute__((overloadable))
1749 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1750 return ((uchar3 *)rsGetElementAt(a, x, y, z))[0];
1751}
1752#endif
1753
1754#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1755static inline uchar4 __attribute__((overloadable))
1756 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1757 return ((uchar4 *)rsGetElementAt(a, x, y, z))[0];
1758}
1759#endif
1760
1761#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1762static inline short __attribute__((overloadable))
1763 rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1764 return ((short *)rsGetElementAt(a, x, y, z))[0];
1765}
1766#endif
1767
1768#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1769static inline short2 __attribute__((overloadable))
1770 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1771 return ((short2 *)rsGetElementAt(a, x, y, z))[0];
1772}
1773#endif
1774
1775#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1776static inline short3 __attribute__((overloadable))
1777 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1778 return ((short3 *)rsGetElementAt(a, x, y, z))[0];
1779}
1780#endif
1781
1782#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1783static inline short4 __attribute__((overloadable))
1784 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1785 return ((short4 *)rsGetElementAt(a, x, y, z))[0];
1786}
1787#endif
1788
1789#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1790static inline ushort __attribute__((overloadable))
1791 rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1792 return ((ushort *)rsGetElementAt(a, x, y, z))[0];
1793}
1794#endif
1795
1796#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1797static inline ushort2 __attribute__((overloadable))
1798 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1799 return ((ushort2 *)rsGetElementAt(a, x, y, z))[0];
1800}
1801#endif
1802
1803#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1804static inline ushort3 __attribute__((overloadable))
1805 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1806 return ((ushort3 *)rsGetElementAt(a, x, y, z))[0];
1807}
1808#endif
1809
1810#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1811static inline ushort4 __attribute__((overloadable))
1812 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1813 return ((ushort4 *)rsGetElementAt(a, x, y, z))[0];
1814}
1815#endif
1816
1817#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1818static inline int __attribute__((overloadable))
1819 rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1820 return ((int *)rsGetElementAt(a, x, y, z))[0];
1821}
1822#endif
1823
1824#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1825static inline int2 __attribute__((overloadable))
1826 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1827 return ((int2 *)rsGetElementAt(a, x, y, z))[0];
1828}
1829#endif
1830
1831#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1832static inline int3 __attribute__((overloadable))
1833 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1834 return ((int3 *)rsGetElementAt(a, x, y, z))[0];
1835}
1836#endif
1837
1838#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1839static inline int4 __attribute__((overloadable))
1840 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1841 return ((int4 *)rsGetElementAt(a, x, y, z))[0];
1842}
1843#endif
1844
1845#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1846static inline uint __attribute__((overloadable))
1847 rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1848 return ((uint *)rsGetElementAt(a, x, y, z))[0];
1849}
1850#endif
1851
1852#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1853static inline uint2 __attribute__((overloadable))
1854 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1855 return ((uint2 *)rsGetElementAt(a, x, y, z))[0];
1856}
1857#endif
1858
1859#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1860static inline uint3 __attribute__((overloadable))
1861 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1862 return ((uint3 *)rsGetElementAt(a, x, y, z))[0];
1863}
1864#endif
1865
1866#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1867static inline uint4 __attribute__((overloadable))
1868 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1869 return ((uint4 *)rsGetElementAt(a, x, y, z))[0];
1870}
1871#endif
1872
1873#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1874static inline long __attribute__((overloadable))
1875 rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1876 return ((long *)rsGetElementAt(a, x, y, z))[0];
1877}
1878#endif
1879
1880#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1881static inline long2 __attribute__((overloadable))
1882 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1883 return ((long2 *)rsGetElementAt(a, x, y, z))[0];
1884}
1885#endif
1886
1887#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1888static inline long3 __attribute__((overloadable))
1889 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1890 return ((long3 *)rsGetElementAt(a, x, y, z))[0];
1891}
1892#endif
1893
1894#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1895static inline long4 __attribute__((overloadable))
1896 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1897 return ((long4 *)rsGetElementAt(a, x, y, z))[0];
1898}
1899#endif
1900
1901#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1902static inline ulong __attribute__((overloadable))
1903 rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1904 return ((ulong *)rsGetElementAt(a, x, y, z))[0];
1905}
1906#endif
1907
1908#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1909static inline ulong2 __attribute__((overloadable))
1910 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1911 return ((ulong2 *)rsGetElementAt(a, x, y, z))[0];
1912}
1913#endif
1914
1915#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1916static inline ulong3 __attribute__((overloadable))
1917 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1918 return ((ulong3 *)rsGetElementAt(a, x, y, z))[0];
1919}
1920#endif
1921
1922#if !defined(RS_VERSION) || (RS_VERSION <= 17)
1923static inline ulong4 __attribute__((overloadable))
1924 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z) {
1925 return ((ulong4 *)rsGetElementAt(a, x, y, z))[0];
1926}
1927#endif
1928
1929#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1930extern float __attribute__((overloadable))
1931 rsGetElementAt_float(rs_allocation a, uint32_t x);
1932#endif
1933
1934#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1935extern float2 __attribute__((overloadable))
1936 rsGetElementAt_float2(rs_allocation a, uint32_t x);
1937#endif
1938
1939#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1940extern float3 __attribute__((overloadable))
1941 rsGetElementAt_float3(rs_allocation a, uint32_t x);
1942#endif
1943
1944#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1945extern float4 __attribute__((overloadable))
1946 rsGetElementAt_float4(rs_allocation a, uint32_t x);
1947#endif
1948
1949#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1950extern double __attribute__((overloadable))
1951 rsGetElementAt_double(rs_allocation a, uint32_t x);
1952#endif
1953
1954#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1955extern double2 __attribute__((overloadable))
1956 rsGetElementAt_double2(rs_allocation a, uint32_t x);
1957#endif
1958
1959#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1960extern double3 __attribute__((overloadable))
1961 rsGetElementAt_double3(rs_allocation a, uint32_t x);
1962#endif
1963
1964#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1965extern double4 __attribute__((overloadable))
1966 rsGetElementAt_double4(rs_allocation a, uint32_t x);
1967#endif
1968
1969#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1970extern char __attribute__((overloadable))
1971 rsGetElementAt_char(rs_allocation a, uint32_t x);
1972#endif
1973
1974#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1975extern char2 __attribute__((overloadable))
1976 rsGetElementAt_char2(rs_allocation a, uint32_t x);
1977#endif
1978
1979#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1980extern char3 __attribute__((overloadable))
1981 rsGetElementAt_char3(rs_allocation a, uint32_t x);
1982#endif
1983
1984#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1985extern char4 __attribute__((overloadable))
1986 rsGetElementAt_char4(rs_allocation a, uint32_t x);
1987#endif
1988
1989#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1990extern uchar __attribute__((overloadable))
1991 rsGetElementAt_uchar(rs_allocation a, uint32_t x);
1992#endif
1993
1994#if (defined(RS_VERSION) && (RS_VERSION >= 18))
1995extern uchar2 __attribute__((overloadable))
1996 rsGetElementAt_uchar2(rs_allocation a, uint32_t x);
1997#endif
1998
1999#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2000extern uchar3 __attribute__((overloadable))
2001 rsGetElementAt_uchar3(rs_allocation a, uint32_t x);
2002#endif
2003
2004#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2005extern uchar4 __attribute__((overloadable))
2006 rsGetElementAt_uchar4(rs_allocation a, uint32_t x);
2007#endif
2008
2009#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2010extern short __attribute__((overloadable))
2011 rsGetElementAt_short(rs_allocation a, uint32_t x);
2012#endif
2013
2014#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2015extern short2 __attribute__((overloadable))
2016 rsGetElementAt_short2(rs_allocation a, uint32_t x);
2017#endif
2018
2019#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2020extern short3 __attribute__((overloadable))
2021 rsGetElementAt_short3(rs_allocation a, uint32_t x);
2022#endif
2023
2024#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2025extern short4 __attribute__((overloadable))
2026 rsGetElementAt_short4(rs_allocation a, uint32_t x);
2027#endif
2028
2029#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2030extern ushort __attribute__((overloadable))
2031 rsGetElementAt_ushort(rs_allocation a, uint32_t x);
2032#endif
2033
2034#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2035extern ushort2 __attribute__((overloadable))
2036 rsGetElementAt_ushort2(rs_allocation a, uint32_t x);
2037#endif
2038
2039#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2040extern ushort3 __attribute__((overloadable))
2041 rsGetElementAt_ushort3(rs_allocation a, uint32_t x);
2042#endif
2043
2044#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2045extern ushort4 __attribute__((overloadable))
2046 rsGetElementAt_ushort4(rs_allocation a, uint32_t x);
2047#endif
2048
2049#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2050extern int __attribute__((overloadable))
2051 rsGetElementAt_int(rs_allocation a, uint32_t x);
2052#endif
2053
2054#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2055extern int2 __attribute__((overloadable))
2056 rsGetElementAt_int2(rs_allocation a, uint32_t x);
2057#endif
2058
2059#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2060extern int3 __attribute__((overloadable))
2061 rsGetElementAt_int3(rs_allocation a, uint32_t x);
2062#endif
2063
2064#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2065extern int4 __attribute__((overloadable))
2066 rsGetElementAt_int4(rs_allocation a, uint32_t x);
2067#endif
2068
2069#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2070extern uint __attribute__((overloadable))
2071 rsGetElementAt_uint(rs_allocation a, uint32_t x);
2072#endif
2073
2074#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2075extern uint2 __attribute__((overloadable))
2076 rsGetElementAt_uint2(rs_allocation a, uint32_t x);
2077#endif
2078
2079#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2080extern uint3 __attribute__((overloadable))
2081 rsGetElementAt_uint3(rs_allocation a, uint32_t x);
2082#endif
2083
2084#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2085extern uint4 __attribute__((overloadable))
2086 rsGetElementAt_uint4(rs_allocation a, uint32_t x);
2087#endif
2088
2089#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2090extern long __attribute__((overloadable))
2091 rsGetElementAt_long(rs_allocation a, uint32_t x);
2092#endif
2093
2094#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2095extern long2 __attribute__((overloadable))
2096 rsGetElementAt_long2(rs_allocation a, uint32_t x);
2097#endif
2098
2099#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2100extern long3 __attribute__((overloadable))
2101 rsGetElementAt_long3(rs_allocation a, uint32_t x);
2102#endif
2103
2104#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2105extern long4 __attribute__((overloadable))
2106 rsGetElementAt_long4(rs_allocation a, uint32_t x);
2107#endif
2108
2109#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2110extern ulong __attribute__((overloadable))
2111 rsGetElementAt_ulong(rs_allocation a, uint32_t x);
2112#endif
2113
2114#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2115extern ulong2 __attribute__((overloadable))
2116 rsGetElementAt_ulong2(rs_allocation a, uint32_t x);
2117#endif
2118
2119#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2120extern ulong3 __attribute__((overloadable))
2121 rsGetElementAt_ulong3(rs_allocation a, uint32_t x);
2122#endif
2123
2124#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2125extern ulong4 __attribute__((overloadable))
2126 rsGetElementAt_ulong4(rs_allocation a, uint32_t x);
2127#endif
2128
2129#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2130extern float __attribute__((overloadable))
2131 rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y);
2132#endif
2133
2134#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2135extern float2 __attribute__((overloadable))
2136 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y);
2137#endif
2138
2139#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2140extern float3 __attribute__((overloadable))
2141 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y);
2142#endif
2143
2144#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2145extern float4 __attribute__((overloadable))
2146 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y);
2147#endif
2148
2149#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2150extern double __attribute__((overloadable))
2151 rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y);
2152#endif
2153
2154#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2155extern double2 __attribute__((overloadable))
2156 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y);
2157#endif
2158
2159#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2160extern double3 __attribute__((overloadable))
2161 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y);
2162#endif
2163
2164#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2165extern double4 __attribute__((overloadable))
2166 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y);
2167#endif
2168
2169#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2170extern char __attribute__((overloadable))
2171 rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y);
2172#endif
2173
2174#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2175extern char2 __attribute__((overloadable))
2176 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y);
2177#endif
2178
2179#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2180extern char3 __attribute__((overloadable))
2181 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y);
2182#endif
2183
2184#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2185extern char4 __attribute__((overloadable))
2186 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y);
2187#endif
2188
2189#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2190extern uchar __attribute__((overloadable))
2191 rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y);
2192#endif
2193
2194#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2195extern uchar2 __attribute__((overloadable))
2196 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y);
2197#endif
2198
2199#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2200extern uchar3 __attribute__((overloadable))
2201 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y);
2202#endif
2203
2204#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2205extern uchar4 __attribute__((overloadable))
2206 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y);
2207#endif
2208
2209#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2210extern short __attribute__((overloadable))
2211 rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y);
2212#endif
2213
2214#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2215extern short2 __attribute__((overloadable))
2216 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y);
2217#endif
2218
2219#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2220extern short3 __attribute__((overloadable))
2221 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y);
2222#endif
2223
2224#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2225extern short4 __attribute__((overloadable))
2226 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y);
2227#endif
2228
2229#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2230extern ushort __attribute__((overloadable))
2231 rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y);
2232#endif
2233
2234#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2235extern ushort2 __attribute__((overloadable))
2236 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y);
2237#endif
2238
2239#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2240extern ushort3 __attribute__((overloadable))
2241 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y);
2242#endif
2243
2244#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2245extern ushort4 __attribute__((overloadable))
2246 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y);
2247#endif
2248
2249#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2250extern int __attribute__((overloadable))
2251 rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y);
2252#endif
2253
2254#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2255extern int2 __attribute__((overloadable))
2256 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y);
2257#endif
2258
2259#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2260extern int3 __attribute__((overloadable))
2261 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y);
2262#endif
2263
2264#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2265extern int4 __attribute__((overloadable))
2266 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y);
2267#endif
2268
2269#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2270extern uint __attribute__((overloadable))
2271 rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y);
2272#endif
2273
2274#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2275extern uint2 __attribute__((overloadable))
2276 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y);
2277#endif
2278
2279#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2280extern uint3 __attribute__((overloadable))
2281 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y);
2282#endif
2283
2284#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2285extern uint4 __attribute__((overloadable))
2286 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y);
2287#endif
2288
2289#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2290extern long __attribute__((overloadable))
2291 rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y);
2292#endif
2293
2294#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2295extern long2 __attribute__((overloadable))
2296 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y);
2297#endif
2298
2299#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2300extern long3 __attribute__((overloadable))
2301 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y);
2302#endif
2303
2304#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2305extern long4 __attribute__((overloadable))
2306 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y);
2307#endif
2308
2309#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2310extern ulong __attribute__((overloadable))
2311 rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y);
2312#endif
2313
2314#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2315extern ulong2 __attribute__((overloadable))
2316 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y);
2317#endif
2318
2319#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2320extern ulong3 __attribute__((overloadable))
2321 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y);
2322#endif
2323
2324#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2325extern ulong4 __attribute__((overloadable))
2326 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y);
2327#endif
2328
2329#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2330extern float __attribute__((overloadable))
2331 rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2332#endif
2333
2334#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2335extern float2 __attribute__((overloadable))
2336 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2337#endif
2338
2339#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2340extern float3 __attribute__((overloadable))
2341 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2342#endif
2343
2344#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2345extern float4 __attribute__((overloadable))
2346 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2347#endif
2348
2349#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2350extern double __attribute__((overloadable))
2351 rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2352#endif
2353
2354#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2355extern double2 __attribute__((overloadable))
2356 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2357#endif
2358
2359#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2360extern double3 __attribute__((overloadable))
2361 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2362#endif
2363
2364#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2365extern double4 __attribute__((overloadable))
2366 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2367#endif
2368
2369#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2370extern char __attribute__((overloadable))
2371 rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2372#endif
2373
2374#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2375extern char2 __attribute__((overloadable))
2376 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2377#endif
2378
2379#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2380extern char3 __attribute__((overloadable))
2381 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2382#endif
2383
2384#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2385extern char4 __attribute__((overloadable))
2386 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2387#endif
2388
2389#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2390extern uchar __attribute__((overloadable))
2391 rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2392#endif
2393
2394#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2395extern uchar2 __attribute__((overloadable))
2396 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2397#endif
2398
2399#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2400extern uchar3 __attribute__((overloadable))
2401 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2402#endif
2403
2404#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2405extern uchar4 __attribute__((overloadable))
2406 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2407#endif
2408
2409#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2410extern short __attribute__((overloadable))
2411 rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2412#endif
2413
2414#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2415extern short2 __attribute__((overloadable))
2416 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2417#endif
2418
2419#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2420extern short3 __attribute__((overloadable))
2421 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2422#endif
2423
2424#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2425extern short4 __attribute__((overloadable))
2426 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2427#endif
2428
2429#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2430extern ushort __attribute__((overloadable))
2431 rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2432#endif
2433
2434#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2435extern ushort2 __attribute__((overloadable))
2436 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2437#endif
2438
2439#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2440extern ushort3 __attribute__((overloadable))
2441 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2442#endif
2443
2444#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2445extern ushort4 __attribute__((overloadable))
2446 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2447#endif
2448
2449#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2450extern int __attribute__((overloadable))
2451 rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2452#endif
2453
2454#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2455extern int2 __attribute__((overloadable))
2456 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2457#endif
2458
2459#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2460extern int3 __attribute__((overloadable))
2461 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2462#endif
2463
2464#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2465extern int4 __attribute__((overloadable))
2466 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2467#endif
2468
2469#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2470extern uint __attribute__((overloadable))
2471 rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2472#endif
2473
2474#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2475extern uint2 __attribute__((overloadable))
2476 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2477#endif
2478
2479#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2480extern uint3 __attribute__((overloadable))
2481 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2482#endif
2483
2484#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2485extern uint4 __attribute__((overloadable))
2486 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2487#endif
2488
2489#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2490extern long __attribute__((overloadable))
2491 rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2492#endif
2493
2494#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2495extern long2 __attribute__((overloadable))
2496 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2497#endif
2498
2499#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2500extern long3 __attribute__((overloadable))
2501 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2502#endif
2503
2504#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2505extern long4 __attribute__((overloadable))
2506 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2507#endif
2508
2509#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2510extern ulong __attribute__((overloadable))
2511 rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2512#endif
2513
2514#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2515extern ulong2 __attribute__((overloadable))
2516 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2517#endif
2518
2519#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2520extern ulong3 __attribute__((overloadable))
2521 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2522#endif
2523
2524#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2525extern ulong4 __attribute__((overloadable))
2526 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2527#endif
2528
2529/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002530 * rsGetElementAtYuv_uchar_U: Get the U component of an allocation of YUVs
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002531 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002532 * Extracts the U component of a single YUV value from a 2D allocation of YUVs.
2533 *
2534 * Inside an allocation, Y, U, and V components may be stored if different planes
2535 * and at different resolutions. The x, y coordinates provided here are in the
2536 * dimensions of the Y plane.
2537 *
2538 * See rsGetElementAtYuv_uchar_Y().
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002539 */
2540#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2541extern uchar __attribute__((overloadable))
2542 rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y);
2543#endif
2544
2545/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002546 * rsGetElementAtYuv_uchar_V: Get the V component of an allocation of YUVs
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002547 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002548 * Extracts the V component of a single YUV value from a 2D allocation of YUVs.
2549 *
2550 * Inside an allocation, Y, U, and V components may be stored if different planes
2551 * and at different resolutions. The x, y coordinates provided here are in the
2552 * dimensions of the Y plane.
2553 *
2554 * See rsGetElementAtYuv_uchar_Y().
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002555 */
2556#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2557extern uchar __attribute__((overloadable))
2558 rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y);
2559#endif
2560
2561/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002562 * rsGetElementAtYuv_uchar_Y: Get the Y component of an allocation of YUVs
2563 *
2564 * Extracts the Y component of a single YUV value from a 2D allocation of YUVs.
2565 *
2566 * Inside an allocation, Y, U, and V components may be stored if different planes
2567 * and at different resolutions. The x, y coordinates provided here are in the
2568 * dimensions of the Y plane.
2569 *
2570 * See rsGetElementAtYuv_uchar_U() and rsGetElementAtYuv_uchar_V().
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002571 */
2572#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2573extern uchar __attribute__((overloadable))
2574 rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y);
2575#endif
2576
2577/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002578 * rsSample: Sample a value from a texture allocation
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002579 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002580 * Fetches a value from a texture allocation in a way described by the sampler.
2581 *
2582 * If your allocation is 1D, use the variant with float for location. For 2D,
2583 * use the float2 variant.
2584 *
2585 * See android.renderscript.Sampler for more details.
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002586 *
2587 * Parameters:
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002588 * a: Allocation to sample from.
2589 * s: Sampler state.
2590 * location: Location to sample from.
2591 * lod: Mip level to sample from, for fractional values mip levels will be interpolated if RS_SAMPLER_LINEAR_MIP_LINEAR is used.
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002592 */
2593#if (defined(RS_VERSION) && (RS_VERSION >= 16))
2594extern float4 __attribute__((overloadable))
2595 rsSample(rs_allocation a, rs_sampler s, float location);
2596#endif
2597
2598#if (defined(RS_VERSION) && (RS_VERSION >= 16))
2599extern float4 __attribute__((overloadable))
2600 rsSample(rs_allocation a, rs_sampler s, float location, float lod);
2601#endif
2602
2603#if (defined(RS_VERSION) && (RS_VERSION >= 16))
2604extern float4 __attribute__((overloadable))
2605 rsSample(rs_allocation a, rs_sampler s, float2 location);
2606#endif
2607
2608#if (defined(RS_VERSION) && (RS_VERSION >= 16))
2609extern float4 __attribute__((overloadable))
2610 rsSample(rs_allocation a, rs_sampler s, float2 location, float lod);
2611#endif
2612
2613/*
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002614 * rsSetElementAt: Set a cell of an allocation
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002615 *
Jean-Luc Brouillet20b27d62015-04-03 14:39:53 -07002616 * This function stores a value into a single cell of an allocation.
2617 *
2618 * When storing into a three dimensional allocations, use the x, y, z
2619 * variant. Similarly, use the x, y variant for two dimensional
2620 * allocations and x for the mono dimensional allocations.
2621 *
2622 * This function has two styles. One passes the value to be stored using
2623 * a void*, the other has the actual value as an argument, e.g. rsSetElementAt()
2624 * vs. rsSetElementAt_int4(). For primitive types, always use the latter as it is
2625 * more efficient.
2626 *
2627 * See also rsGetElementAt().
Jean-Luc Brouilletc5184e22015-03-13 13:51:24 -07002628 */
2629#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2630extern void __attribute__((overloadable))
2631 rsSetElementAt(rs_allocation a, void* ptr, uint32_t x);
2632#endif
2633
2634#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2635extern void __attribute__((overloadable))
2636 rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y);
2637#endif
2638
2639#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2640extern void __attribute__((overloadable))
2641 rsSetElementAt_float(rs_allocation a, float val, uint32_t x);
2642#endif
2643
2644#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2645extern void __attribute__((overloadable))
2646 rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x);
2647#endif
2648
2649#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2650extern void __attribute__((overloadable))
2651 rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x);
2652#endif
2653
2654#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2655extern void __attribute__((overloadable))
2656 rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x);
2657#endif
2658
2659#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2660extern void __attribute__((overloadable))
2661 rsSetElementAt_double(rs_allocation a, double val, uint32_t x);
2662#endif
2663
2664#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2665extern void __attribute__((overloadable))
2666 rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x);
2667#endif
2668
2669#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2670extern void __attribute__((overloadable))
2671 rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x);
2672#endif
2673
2674#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2675extern void __attribute__((overloadable))
2676 rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x);
2677#endif
2678
2679#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2680extern void __attribute__((overloadable))
2681 rsSetElementAt_char(rs_allocation a, char val, uint32_t x);
2682#endif
2683
2684#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2685extern void __attribute__((overloadable))
2686 rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x);
2687#endif
2688
2689#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2690extern void __attribute__((overloadable))
2691 rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x);
2692#endif
2693
2694#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2695extern void __attribute__((overloadable))
2696 rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x);
2697#endif
2698
2699#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2700extern void __attribute__((overloadable))
2701 rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x);
2702#endif
2703
2704#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2705extern void __attribute__((overloadable))
2706 rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x);
2707#endif
2708
2709#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2710extern void __attribute__((overloadable))
2711 rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x);
2712#endif
2713
2714#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2715extern void __attribute__((overloadable))
2716 rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x);
2717#endif
2718
2719#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2720extern void __attribute__((overloadable))
2721 rsSetElementAt_short(rs_allocation a, short val, uint32_t x);
2722#endif
2723
2724#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2725extern void __attribute__((overloadable))
2726 rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x);
2727#endif
2728
2729#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2730extern void __attribute__((overloadable))
2731 rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x);
2732#endif
2733
2734#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2735extern void __attribute__((overloadable))
2736 rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x);
2737#endif
2738
2739#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2740extern void __attribute__((overloadable))
2741 rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x);
2742#endif
2743
2744#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2745extern void __attribute__((overloadable))
2746 rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x);
2747#endif
2748
2749#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2750extern void __attribute__((overloadable))
2751 rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x);
2752#endif
2753
2754#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2755extern void __attribute__((overloadable))
2756 rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x);
2757#endif
2758
2759#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2760extern void __attribute__((overloadable))
2761 rsSetElementAt_int(rs_allocation a, int val, uint32_t x);
2762#endif
2763
2764#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2765extern void __attribute__((overloadable))
2766 rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x);
2767#endif
2768
2769#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2770extern void __attribute__((overloadable))
2771 rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x);
2772#endif
2773
2774#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2775extern void __attribute__((overloadable))
2776 rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x);
2777#endif
2778
2779#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2780extern void __attribute__((overloadable))
2781 rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x);
2782#endif
2783
2784#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2785extern void __attribute__((overloadable))
2786 rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x);
2787#endif
2788
2789#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2790extern void __attribute__((overloadable))
2791 rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x);
2792#endif
2793
2794#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2795extern void __attribute__((overloadable))
2796 rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x);
2797#endif
2798
2799#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2800extern void __attribute__((overloadable))
2801 rsSetElementAt_long(rs_allocation a, long val, uint32_t x);
2802#endif
2803
2804#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2805extern void __attribute__((overloadable))
2806 rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x);
2807#endif
2808
2809#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2810extern void __attribute__((overloadable))
2811 rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x);
2812#endif
2813
2814#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2815extern void __attribute__((overloadable))
2816 rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x);
2817#endif
2818
2819#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2820extern void __attribute__((overloadable))
2821 rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x);
2822#endif
2823
2824#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2825extern void __attribute__((overloadable))
2826 rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x);
2827#endif
2828
2829#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2830extern void __attribute__((overloadable))
2831 rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x);
2832#endif
2833
2834#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2835extern void __attribute__((overloadable))
2836 rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x);
2837#endif
2838
2839#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2840extern void __attribute__((overloadable))
2841 rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y);
2842#endif
2843
2844#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2845extern void __attribute__((overloadable))
2846 rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y);
2847#endif
2848
2849#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2850extern void __attribute__((overloadable))
2851 rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y);
2852#endif
2853
2854#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2855extern void __attribute__((overloadable))
2856 rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y);
2857#endif
2858
2859#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2860extern void __attribute__((overloadable))
2861 rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y);
2862#endif
2863
2864#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2865extern void __attribute__((overloadable))
2866 rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y);
2867#endif
2868
2869#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2870extern void __attribute__((overloadable))
2871 rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y);
2872#endif
2873
2874#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2875extern void __attribute__((overloadable))
2876 rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y);
2877#endif
2878
2879#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2880extern void __attribute__((overloadable))
2881 rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y);
2882#endif
2883
2884#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2885extern void __attribute__((overloadable))
2886 rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y);
2887#endif
2888
2889#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2890extern void __attribute__((overloadable))
2891 rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y);
2892#endif
2893
2894#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2895extern void __attribute__((overloadable))
2896 rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y);
2897#endif
2898
2899#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2900extern void __attribute__((overloadable))
2901 rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y);
2902#endif
2903
2904#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2905extern void __attribute__((overloadable))
2906 rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y);
2907#endif
2908
2909#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2910extern void __attribute__((overloadable))
2911 rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y);
2912#endif
2913
2914#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2915extern void __attribute__((overloadable))
2916 rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y);
2917#endif
2918
2919#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2920extern void __attribute__((overloadable))
2921 rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y);
2922#endif
2923
2924#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2925extern void __attribute__((overloadable))
2926 rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y);
2927#endif
2928
2929#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2930extern void __attribute__((overloadable))
2931 rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y);
2932#endif
2933
2934#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2935extern void __attribute__((overloadable))
2936 rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y);
2937#endif
2938
2939#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2940extern void __attribute__((overloadable))
2941 rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y);
2942#endif
2943
2944#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2945extern void __attribute__((overloadable))
2946 rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y);
2947#endif
2948
2949#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2950extern void __attribute__((overloadable))
2951 rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y);
2952#endif
2953
2954#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2955extern void __attribute__((overloadable))
2956 rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y);
2957#endif
2958
2959#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2960extern void __attribute__((overloadable))
2961 rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y);
2962#endif
2963
2964#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2965extern void __attribute__((overloadable))
2966 rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y);
2967#endif
2968
2969#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2970extern void __attribute__((overloadable))
2971 rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y);
2972#endif
2973
2974#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2975extern void __attribute__((overloadable))
2976 rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y);
2977#endif
2978
2979#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2980extern void __attribute__((overloadable))
2981 rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y);
2982#endif
2983
2984#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2985extern void __attribute__((overloadable))
2986 rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y);
2987#endif
2988
2989#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2990extern void __attribute__((overloadable))
2991 rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y);
2992#endif
2993
2994#if (defined(RS_VERSION) && (RS_VERSION >= 18))
2995extern void __attribute__((overloadable))
2996 rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y);
2997#endif
2998
2999#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3000extern void __attribute__((overloadable))
3001 rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y);
3002#endif
3003
3004#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3005extern void __attribute__((overloadable))
3006 rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y);
3007#endif
3008
3009#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3010extern void __attribute__((overloadable))
3011 rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y);
3012#endif
3013
3014#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3015extern void __attribute__((overloadable))
3016 rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y);
3017#endif
3018
3019#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3020extern void __attribute__((overloadable))
3021 rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y);
3022#endif
3023
3024#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3025extern void __attribute__((overloadable))
3026 rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y);
3027#endif
3028
3029#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3030extern void __attribute__((overloadable))
3031 rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y);
3032#endif
3033
3034#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3035extern void __attribute__((overloadable))
3036 rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y);
3037#endif
3038
3039#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3040extern void __attribute__((overloadable))
3041 rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y, uint32_t z);
3042#endif
3043
3044#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3045extern void __attribute__((overloadable))
3046 rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z);
3047#endif
3048
3049#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3050extern void __attribute__((overloadable))
3051 rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z);
3052#endif
3053
3054#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3055extern void __attribute__((overloadable))
3056 rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z);
3057#endif
3058
3059#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3060extern void __attribute__((overloadable))
3061 rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y, uint32_t z);
3062#endif
3063
3064#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3065extern void __attribute__((overloadable))
3066 rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z);
3067#endif
3068
3069#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3070extern void __attribute__((overloadable))
3071 rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z);
3072#endif
3073
3074#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3075extern void __attribute__((overloadable))
3076 rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z);
3077#endif
3078
3079#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3080extern void __attribute__((overloadable))
3081 rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y, uint32_t z);
3082#endif
3083
3084#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3085extern void __attribute__((overloadable))
3086 rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z);
3087#endif
3088
3089#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3090extern void __attribute__((overloadable))
3091 rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z);
3092#endif
3093
3094#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3095extern void __attribute__((overloadable))
3096 rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z);
3097#endif
3098
3099#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3100extern void __attribute__((overloadable))
3101 rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y, uint32_t z);
3102#endif
3103
3104#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3105extern void __attribute__((overloadable))
3106 rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z);
3107#endif
3108
3109#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3110extern void __attribute__((overloadable))
3111 rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z);
3112#endif
3113
3114#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3115extern void __attribute__((overloadable))
3116 rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z);
3117#endif
3118
3119#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3120extern void __attribute__((overloadable))
3121 rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y, uint32_t z);
3122#endif
3123
3124#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3125extern void __attribute__((overloadable))
3126 rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z);
3127#endif
3128
3129#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3130extern void __attribute__((overloadable))
3131 rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z);
3132#endif
3133
3134#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3135extern void __attribute__((overloadable))
3136 rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z);
3137#endif
3138
3139#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3140extern void __attribute__((overloadable))
3141 rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y, uint32_t z);
3142#endif
3143
3144#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3145extern void __attribute__((overloadable))
3146 rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z);
3147#endif
3148
3149#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3150extern void __attribute__((overloadable))
3151 rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z);
3152#endif
3153
3154#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3155extern void __attribute__((overloadable))
3156 rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z);
3157#endif
3158
3159#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3160extern void __attribute__((overloadable))
3161 rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y, uint32_t z);
3162#endif
3163
3164#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3165extern void __attribute__((overloadable))
3166 rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z);
3167#endif
3168
3169#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3170extern void __attribute__((overloadable))
3171 rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z);
3172#endif
3173
3174#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3175extern void __attribute__((overloadable))
3176 rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z);
3177#endif
3178
3179#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3180extern void __attribute__((overloadable))
3181 rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y, uint32_t z);
3182#endif
3183
3184#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3185extern void __attribute__((overloadable))
3186 rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z);
3187#endif
3188
3189#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3190extern void __attribute__((overloadable))
3191 rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z);
3192#endif
3193
3194#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3195extern void __attribute__((overloadable))
3196 rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z);
3197#endif
3198
3199#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3200extern void __attribute__((overloadable))
3201 rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y, uint32_t z);
3202#endif
3203
3204#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3205extern void __attribute__((overloadable))
3206 rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z);
3207#endif
3208
3209#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3210extern void __attribute__((overloadable))
3211 rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z);
3212#endif
3213
3214#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3215extern void __attribute__((overloadable))
3216 rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z);
3217#endif
3218
3219#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3220extern void __attribute__((overloadable))
3221 rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y, uint32_t z);
3222#endif
3223
3224#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3225extern void __attribute__((overloadable))
3226 rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z);
3227#endif
3228
3229#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3230extern void __attribute__((overloadable))
3231 rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z);
3232#endif
3233
3234#if (defined(RS_VERSION) && (RS_VERSION >= 18))
3235extern void __attribute__((overloadable))
3236 rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z);
3237#endif
3238
Jean-Luc Brouilletbe216382015-03-22 12:44:27 -07003239#endif // RENDERSCRIPT_RS_ALLOCATION_DATA_RSH