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