2 * Copyright (C) 2016 The Android Open Source Project
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
17 // Don't edit this file! It is auto-generated by frameworks/rs/api/generate.sh.
20 * rs_allocation_data.rsh: Allocation Data Access Functions
22 * The functions below can be used to get and set the cells that comprise
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.
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.
36 #ifndef RENDERSCRIPT_RS_ALLOCATION_DATA_RSH
37 #define RENDERSCRIPT_RS_ALLOCATION_DATA_RSH
40 * rsAllocationCopy1DRange: Copy consecutive cells between allocations
42 * Copies the specified number of cells from one allocation to another.
44 * The two allocations must be different. Using this function to copy whithin
45 * the same allocation yields undefined results.
47 * The function does not validate whether the offset plus count exceeds the size
48 * of either allocation. Be careful!
50 * This function should only be called between 1D allocations. Calling it
51 * on other allocations is undefined.
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
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.
66 #if (defined(RS_VERSION) && (RS_VERSION >= 14))
67 extern 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);
73 * rsAllocationCopy2DRange: Copy a rectangular region of cells between allocations
75 * Copies a rectangular region of cells from one allocation to another.
76 * (width * heigth) cells are copied.
78 * The two allocations must be different. Using this function to copy whithin
79 * the same allocation yields undefined results.
81 * The function does not validate whether the the source or destination region
82 * exceeds the size of its respective allocation. Be careful!
84 * This function should only be called between 2D allocations. Calling it
85 * on other allocations is undefined.
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
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.
105 #if (defined(RS_VERSION) && (RS_VERSION >= 14))
106 extern 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);
114 * rsAllocationVLoadX: Get a vector from an allocation of scalars
116 * This function returns a vector composed of successive cells of the allocation.
117 * It assumes that the allocation contains scalars.
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()
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.
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.
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.
135 * See also rsAllocationVStoreX().
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.
143 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
144 extern float2 __attribute__((overloadable))
145 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x);
148 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
149 extern float3 __attribute__((overloadable))
150 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x);
153 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
154 extern float4 __attribute__((overloadable))
155 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x);
158 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
159 extern double2 __attribute__((overloadable))
160 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x);
163 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
164 extern double3 __attribute__((overloadable))
165 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x);
168 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
169 extern double4 __attribute__((overloadable))
170 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x);
173 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
174 extern char2 __attribute__((overloadable))
175 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x);
178 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
179 extern char3 __attribute__((overloadable))
180 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x);
183 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
184 extern char4 __attribute__((overloadable))
185 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x);
188 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
189 extern uchar2 __attribute__((overloadable))
190 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x);
193 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
194 extern uchar3 __attribute__((overloadable))
195 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x);
198 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
199 extern uchar4 __attribute__((overloadable))
200 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x);
203 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
204 extern short2 __attribute__((overloadable))
205 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x);
208 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
209 extern short3 __attribute__((overloadable))
210 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x);
213 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
214 extern short4 __attribute__((overloadable))
215 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x);
218 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
219 extern ushort2 __attribute__((overloadable))
220 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x);
223 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
224 extern ushort3 __attribute__((overloadable))
225 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x);
228 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
229 extern ushort4 __attribute__((overloadable))
230 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x);
233 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
234 extern int2 __attribute__((overloadable))
235 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x);
238 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
239 extern int3 __attribute__((overloadable))
240 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x);
243 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
244 extern int4 __attribute__((overloadable))
245 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x);
248 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
249 extern uint2 __attribute__((overloadable))
250 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x);
253 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
254 extern uint3 __attribute__((overloadable))
255 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x);
258 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
259 extern uint4 __attribute__((overloadable))
260 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x);
263 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
264 extern long2 __attribute__((overloadable))
265 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x);
268 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
269 extern long3 __attribute__((overloadable))
270 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x);
273 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
274 extern long4 __attribute__((overloadable))
275 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x);
278 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
279 extern ulong2 __attribute__((overloadable))
280 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x);
283 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
284 extern ulong3 __attribute__((overloadable))
285 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x);
288 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
289 extern ulong4 __attribute__((overloadable))
290 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x);
293 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
294 extern float2 __attribute__((overloadable))
295 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y);
298 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
299 extern float3 __attribute__((overloadable))
300 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y);
303 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
304 extern float4 __attribute__((overloadable))
305 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y);
308 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
309 extern double2 __attribute__((overloadable))
310 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y);
313 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
314 extern double3 __attribute__((overloadable))
315 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y);
318 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
319 extern double4 __attribute__((overloadable))
320 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y);
323 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
324 extern char2 __attribute__((overloadable))
325 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y);
328 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
329 extern char3 __attribute__((overloadable))
330 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y);
333 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
334 extern char4 __attribute__((overloadable))
335 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y);
338 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
339 extern uchar2 __attribute__((overloadable))
340 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y);
343 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
344 extern uchar3 __attribute__((overloadable))
345 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y);
348 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
349 extern uchar4 __attribute__((overloadable))
350 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y);
353 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
354 extern short2 __attribute__((overloadable))
355 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y);
358 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
359 extern short3 __attribute__((overloadable))
360 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y);
363 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
364 extern short4 __attribute__((overloadable))
365 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y);
368 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
369 extern ushort2 __attribute__((overloadable))
370 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y);
373 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
374 extern ushort3 __attribute__((overloadable))
375 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y);
378 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
379 extern ushort4 __attribute__((overloadable))
380 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y);
383 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
384 extern int2 __attribute__((overloadable))
385 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y);
388 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
389 extern int3 __attribute__((overloadable))
390 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y);
393 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
394 extern int4 __attribute__((overloadable))
395 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y);
398 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
399 extern uint2 __attribute__((overloadable))
400 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y);
403 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
404 extern uint3 __attribute__((overloadable))
405 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y);
408 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
409 extern uint4 __attribute__((overloadable))
410 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y);
413 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
414 extern long2 __attribute__((overloadable))
415 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y);
418 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
419 extern long3 __attribute__((overloadable))
420 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y);
423 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
424 extern long4 __attribute__((overloadable))
425 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y);
428 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
429 extern ulong2 __attribute__((overloadable))
430 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y);
433 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
434 extern ulong3 __attribute__((overloadable))
435 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y);
438 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
439 extern ulong4 __attribute__((overloadable))
440 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y);
443 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
444 extern float2 __attribute__((overloadable))
445 rsAllocationVLoadX_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
448 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
449 extern float3 __attribute__((overloadable))
450 rsAllocationVLoadX_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
453 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
454 extern float4 __attribute__((overloadable))
455 rsAllocationVLoadX_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
458 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
459 extern double2 __attribute__((overloadable))
460 rsAllocationVLoadX_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
463 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
464 extern double3 __attribute__((overloadable))
465 rsAllocationVLoadX_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
468 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
469 extern double4 __attribute__((overloadable))
470 rsAllocationVLoadX_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
473 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
474 extern char2 __attribute__((overloadable))
475 rsAllocationVLoadX_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
478 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
479 extern char3 __attribute__((overloadable))
480 rsAllocationVLoadX_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
483 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
484 extern char4 __attribute__((overloadable))
485 rsAllocationVLoadX_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
488 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
489 extern uchar2 __attribute__((overloadable))
490 rsAllocationVLoadX_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
493 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
494 extern uchar3 __attribute__((overloadable))
495 rsAllocationVLoadX_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
498 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
499 extern uchar4 __attribute__((overloadable))
500 rsAllocationVLoadX_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
503 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
504 extern short2 __attribute__((overloadable))
505 rsAllocationVLoadX_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
508 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
509 extern short3 __attribute__((overloadable))
510 rsAllocationVLoadX_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
513 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
514 extern short4 __attribute__((overloadable))
515 rsAllocationVLoadX_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
518 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
519 extern ushort2 __attribute__((overloadable))
520 rsAllocationVLoadX_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
523 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
524 extern ushort3 __attribute__((overloadable))
525 rsAllocationVLoadX_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
528 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
529 extern ushort4 __attribute__((overloadable))
530 rsAllocationVLoadX_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
533 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
534 extern int2 __attribute__((overloadable))
535 rsAllocationVLoadX_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
538 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
539 extern int3 __attribute__((overloadable))
540 rsAllocationVLoadX_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
543 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
544 extern int4 __attribute__((overloadable))
545 rsAllocationVLoadX_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
548 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
549 extern uint2 __attribute__((overloadable))
550 rsAllocationVLoadX_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
553 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
554 extern uint3 __attribute__((overloadable))
555 rsAllocationVLoadX_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
558 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
559 extern uint4 __attribute__((overloadable))
560 rsAllocationVLoadX_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
563 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
564 extern long2 __attribute__((overloadable))
565 rsAllocationVLoadX_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
568 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
569 extern long3 __attribute__((overloadable))
570 rsAllocationVLoadX_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
573 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
574 extern long4 __attribute__((overloadable))
575 rsAllocationVLoadX_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
578 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
579 extern ulong2 __attribute__((overloadable))
580 rsAllocationVLoadX_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
583 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
584 extern ulong3 __attribute__((overloadable))
585 rsAllocationVLoadX_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
588 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
589 extern ulong4 __attribute__((overloadable))
590 rsAllocationVLoadX_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
594 * rsAllocationVStoreX: Store a vector into an allocation of scalars
596 * This function stores the entries of a vector into successive cells of an allocation.
597 * It assumes that the allocation contains scalars.
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.
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].
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.
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.
614 * See also rsAllocationVLoadX().
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.
623 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
624 extern void __attribute__((overloadable))
625 rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x);
628 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
629 extern void __attribute__((overloadable))
630 rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x);
633 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
634 extern void __attribute__((overloadable))
635 rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x);
638 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
639 extern void __attribute__((overloadable))
640 rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x);
643 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
644 extern void __attribute__((overloadable))
645 rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x);
648 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
649 extern void __attribute__((overloadable))
650 rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x);
653 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
654 extern void __attribute__((overloadable))
655 rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x);
658 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
659 extern void __attribute__((overloadable))
660 rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x);
663 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
664 extern void __attribute__((overloadable))
665 rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x);
668 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
669 extern void __attribute__((overloadable))
670 rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x);
673 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
674 extern void __attribute__((overloadable))
675 rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x);
678 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
679 extern void __attribute__((overloadable))
680 rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x);
683 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
684 extern void __attribute__((overloadable))
685 rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x);
688 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
689 extern void __attribute__((overloadable))
690 rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x);
693 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
694 extern void __attribute__((overloadable))
695 rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x);
698 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
699 extern void __attribute__((overloadable))
700 rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x);
703 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
704 extern void __attribute__((overloadable))
705 rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x);
708 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
709 extern void __attribute__((overloadable))
710 rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x);
713 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
714 extern void __attribute__((overloadable))
715 rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x);
718 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
719 extern void __attribute__((overloadable))
720 rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x);
723 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
724 extern void __attribute__((overloadable))
725 rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x);
728 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
729 extern void __attribute__((overloadable))
730 rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x);
733 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
734 extern void __attribute__((overloadable))
735 rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x);
738 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
739 extern void __attribute__((overloadable))
740 rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x);
743 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
744 extern void __attribute__((overloadable))
745 rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x);
748 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
749 extern void __attribute__((overloadable))
750 rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x);
753 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
754 extern void __attribute__((overloadable))
755 rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x);
758 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
759 extern void __attribute__((overloadable))
760 rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x);
763 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
764 extern void __attribute__((overloadable))
765 rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x);
768 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
769 extern void __attribute__((overloadable))
770 rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x);
773 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
774 extern void __attribute__((overloadable))
775 rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y);
778 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
779 extern void __attribute__((overloadable))
780 rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y);
783 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
784 extern void __attribute__((overloadable))
785 rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y);
788 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
789 extern void __attribute__((overloadable))
790 rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y);
793 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
794 extern void __attribute__((overloadable))
795 rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y);
798 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
799 extern void __attribute__((overloadable))
800 rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y);
803 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
804 extern void __attribute__((overloadable))
805 rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y);
808 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
809 extern void __attribute__((overloadable))
810 rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y);
813 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
814 extern void __attribute__((overloadable))
815 rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y);
818 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
819 extern void __attribute__((overloadable))
820 rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y);
823 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
824 extern void __attribute__((overloadable))
825 rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y);
828 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
829 extern void __attribute__((overloadable))
830 rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y);
833 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
834 extern void __attribute__((overloadable))
835 rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y);
838 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
839 extern void __attribute__((overloadable))
840 rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y);
843 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
844 extern void __attribute__((overloadable))
845 rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y);
848 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
849 extern void __attribute__((overloadable))
850 rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y);
853 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
854 extern void __attribute__((overloadable))
855 rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y);
858 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
859 extern void __attribute__((overloadable))
860 rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y);
863 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
864 extern void __attribute__((overloadable))
865 rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y);
868 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
869 extern void __attribute__((overloadable))
870 rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y);
873 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
874 extern void __attribute__((overloadable))
875 rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y);
878 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
879 extern void __attribute__((overloadable))
880 rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y);
883 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
884 extern void __attribute__((overloadable))
885 rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y);
888 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
889 extern void __attribute__((overloadable))
890 rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y);
893 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
894 extern void __attribute__((overloadable))
895 rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y);
898 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
899 extern void __attribute__((overloadable))
900 rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y);
903 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
904 extern void __attribute__((overloadable))
905 rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y);
908 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
909 extern void __attribute__((overloadable))
910 rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y);
913 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
914 extern void __attribute__((overloadable))
915 rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y);
918 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
919 extern void __attribute__((overloadable))
920 rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y);
923 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
924 extern void __attribute__((overloadable))
925 rsAllocationVStoreX_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z);
928 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
929 extern void __attribute__((overloadable))
930 rsAllocationVStoreX_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z);
933 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
934 extern void __attribute__((overloadable))
935 rsAllocationVStoreX_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z);
938 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
939 extern void __attribute__((overloadable))
940 rsAllocationVStoreX_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z);
943 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
944 extern void __attribute__((overloadable))
945 rsAllocationVStoreX_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z);
948 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
949 extern void __attribute__((overloadable))
950 rsAllocationVStoreX_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z);
953 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
954 extern void __attribute__((overloadable))
955 rsAllocationVStoreX_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z);
958 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
959 extern void __attribute__((overloadable))
960 rsAllocationVStoreX_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z);
963 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
964 extern void __attribute__((overloadable))
965 rsAllocationVStoreX_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z);
968 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
969 extern void __attribute__((overloadable))
970 rsAllocationVStoreX_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z);
973 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
974 extern void __attribute__((overloadable))
975 rsAllocationVStoreX_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z);
978 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
979 extern void __attribute__((overloadable))
980 rsAllocationVStoreX_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z);
983 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
984 extern void __attribute__((overloadable))
985 rsAllocationVStoreX_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z);
988 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
989 extern void __attribute__((overloadable))
990 rsAllocationVStoreX_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z);
993 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
994 extern void __attribute__((overloadable))
995 rsAllocationVStoreX_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z);
998 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
999 extern void __attribute__((overloadable))
1000 rsAllocationVStoreX_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z);
1003 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1004 extern void __attribute__((overloadable))
1005 rsAllocationVStoreX_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z);
1008 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1009 extern void __attribute__((overloadable))
1010 rsAllocationVStoreX_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z);
1013 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1014 extern void __attribute__((overloadable))
1015 rsAllocationVStoreX_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z);
1018 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1019 extern void __attribute__((overloadable))
1020 rsAllocationVStoreX_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z);
1023 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1024 extern void __attribute__((overloadable))
1025 rsAllocationVStoreX_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z);
1028 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1029 extern void __attribute__((overloadable))
1030 rsAllocationVStoreX_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z);
1033 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1034 extern void __attribute__((overloadable))
1035 rsAllocationVStoreX_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z);
1038 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1039 extern void __attribute__((overloadable))
1040 rsAllocationVStoreX_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z);
1043 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1044 extern void __attribute__((overloadable))
1045 rsAllocationVStoreX_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z);
1048 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1049 extern void __attribute__((overloadable))
1050 rsAllocationVStoreX_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z);
1053 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1054 extern void __attribute__((overloadable))
1055 rsAllocationVStoreX_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z);
1058 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1059 extern void __attribute__((overloadable))
1060 rsAllocationVStoreX_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z);
1063 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1064 extern void __attribute__((overloadable))
1065 rsAllocationVStoreX_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z);
1068 #if (defined(RS_VERSION) && (RS_VERSION >= 22))
1069 extern void __attribute__((overloadable))
1070 rsAllocationVStoreX_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z);
1074 * rsGetElementAt: Return a cell from an allocation
1076 * This function extracts a single cell from an allocation.
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.
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.
1086 extern const void* __attribute__((overloadable))
1087 rsGetElementAt(rs_allocation a, uint32_t x);
1089 extern const void* __attribute__((overloadable))
1090 rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y);
1092 extern const void* __attribute__((overloadable))
1093 rsGetElementAt(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
1095 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1096 static inline float __attribute__((overloadable))
1097 rsGetElementAt_float(rs_allocation a, uint32_t x) {
1098 return ((float *)rsGetElementAt(a, x))[0];
1102 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1103 static inline float2 __attribute__((overloadable))
1104 rsGetElementAt_float2(rs_allocation a, uint32_t x) {
1105 return ((float2 *)rsGetElementAt(a, x))[0];
1109 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1110 static inline float3 __attribute__((overloadable))
1111 rsGetElementAt_float3(rs_allocation a, uint32_t x) {
1112 return ((float3 *)rsGetElementAt(a, x))[0];
1116 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1117 static inline float4 __attribute__((overloadable))
1118 rsGetElementAt_float4(rs_allocation a, uint32_t x) {
1119 return ((float4 *)rsGetElementAt(a, x))[0];
1123 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1124 static inline double __attribute__((overloadable))
1125 rsGetElementAt_double(rs_allocation a, uint32_t x) {
1126 return ((double *)rsGetElementAt(a, x))[0];
1130 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1131 static inline double2 __attribute__((overloadable))
1132 rsGetElementAt_double2(rs_allocation a, uint32_t x) {
1133 return ((double2 *)rsGetElementAt(a, x))[0];
1137 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1138 static inline double3 __attribute__((overloadable))
1139 rsGetElementAt_double3(rs_allocation a, uint32_t x) {
1140 return ((double3 *)rsGetElementAt(a, x))[0];
1144 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1145 static inline double4 __attribute__((overloadable))
1146 rsGetElementAt_double4(rs_allocation a, uint32_t x) {
1147 return ((double4 *)rsGetElementAt(a, x))[0];
1151 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1152 static inline char __attribute__((overloadable))
1153 rsGetElementAt_char(rs_allocation a, uint32_t x) {
1154 return ((char *)rsGetElementAt(a, x))[0];
1158 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1159 static inline char2 __attribute__((overloadable))
1160 rsGetElementAt_char2(rs_allocation a, uint32_t x) {
1161 return ((char2 *)rsGetElementAt(a, x))[0];
1165 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1166 static inline char3 __attribute__((overloadable))
1167 rsGetElementAt_char3(rs_allocation a, uint32_t x) {
1168 return ((char3 *)rsGetElementAt(a, x))[0];
1172 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1173 static inline char4 __attribute__((overloadable))
1174 rsGetElementAt_char4(rs_allocation a, uint32_t x) {
1175 return ((char4 *)rsGetElementAt(a, x))[0];
1179 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1180 static inline uchar __attribute__((overloadable))
1181 rsGetElementAt_uchar(rs_allocation a, uint32_t x) {
1182 return ((uchar *)rsGetElementAt(a, x))[0];
1186 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1187 static inline uchar2 __attribute__((overloadable))
1188 rsGetElementAt_uchar2(rs_allocation a, uint32_t x) {
1189 return ((uchar2 *)rsGetElementAt(a, x))[0];
1193 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1194 static inline uchar3 __attribute__((overloadable))
1195 rsGetElementAt_uchar3(rs_allocation a, uint32_t x) {
1196 return ((uchar3 *)rsGetElementAt(a, x))[0];
1200 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1201 static inline uchar4 __attribute__((overloadable))
1202 rsGetElementAt_uchar4(rs_allocation a, uint32_t x) {
1203 return ((uchar4 *)rsGetElementAt(a, x))[0];
1207 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1208 static inline short __attribute__((overloadable))
1209 rsGetElementAt_short(rs_allocation a, uint32_t x) {
1210 return ((short *)rsGetElementAt(a, x))[0];
1214 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1215 static inline short2 __attribute__((overloadable))
1216 rsGetElementAt_short2(rs_allocation a, uint32_t x) {
1217 return ((short2 *)rsGetElementAt(a, x))[0];
1221 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1222 static inline short3 __attribute__((overloadable))
1223 rsGetElementAt_short3(rs_allocation a, uint32_t x) {
1224 return ((short3 *)rsGetElementAt(a, x))[0];
1228 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1229 static inline short4 __attribute__((overloadable))
1230 rsGetElementAt_short4(rs_allocation a, uint32_t x) {
1231 return ((short4 *)rsGetElementAt(a, x))[0];
1235 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1236 static inline ushort __attribute__((overloadable))
1237 rsGetElementAt_ushort(rs_allocation a, uint32_t x) {
1238 return ((ushort *)rsGetElementAt(a, x))[0];
1242 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1243 static inline ushort2 __attribute__((overloadable))
1244 rsGetElementAt_ushort2(rs_allocation a, uint32_t x) {
1245 return ((ushort2 *)rsGetElementAt(a, x))[0];
1249 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1250 static inline ushort3 __attribute__((overloadable))
1251 rsGetElementAt_ushort3(rs_allocation a, uint32_t x) {
1252 return ((ushort3 *)rsGetElementAt(a, x))[0];
1256 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1257 static inline ushort4 __attribute__((overloadable))
1258 rsGetElementAt_ushort4(rs_allocation a, uint32_t x) {
1259 return ((ushort4 *)rsGetElementAt(a, x))[0];
1263 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1264 static inline int __attribute__((overloadable))
1265 rsGetElementAt_int(rs_allocation a, uint32_t x) {
1266 return ((int *)rsGetElementAt(a, x))[0];
1270 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1271 static inline int2 __attribute__((overloadable))
1272 rsGetElementAt_int2(rs_allocation a, uint32_t x) {
1273 return ((int2 *)rsGetElementAt(a, x))[0];
1277 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1278 static inline int3 __attribute__((overloadable))
1279 rsGetElementAt_int3(rs_allocation a, uint32_t x) {
1280 return ((int3 *)rsGetElementAt(a, x))[0];
1284 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1285 static inline int4 __attribute__((overloadable))
1286 rsGetElementAt_int4(rs_allocation a, uint32_t x) {
1287 return ((int4 *)rsGetElementAt(a, x))[0];
1291 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1292 static inline uint __attribute__((overloadable))
1293 rsGetElementAt_uint(rs_allocation a, uint32_t x) {
1294 return ((uint *)rsGetElementAt(a, x))[0];
1298 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1299 static inline uint2 __attribute__((overloadable))
1300 rsGetElementAt_uint2(rs_allocation a, uint32_t x) {
1301 return ((uint2 *)rsGetElementAt(a, x))[0];
1305 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1306 static inline uint3 __attribute__((overloadable))
1307 rsGetElementAt_uint3(rs_allocation a, uint32_t x) {
1308 return ((uint3 *)rsGetElementAt(a, x))[0];
1312 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1313 static inline uint4 __attribute__((overloadable))
1314 rsGetElementAt_uint4(rs_allocation a, uint32_t x) {
1315 return ((uint4 *)rsGetElementAt(a, x))[0];
1319 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1320 static inline long __attribute__((overloadable))
1321 rsGetElementAt_long(rs_allocation a, uint32_t x) {
1322 return ((long *)rsGetElementAt(a, x))[0];
1326 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1327 static inline long2 __attribute__((overloadable))
1328 rsGetElementAt_long2(rs_allocation a, uint32_t x) {
1329 return ((long2 *)rsGetElementAt(a, x))[0];
1333 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1334 static inline long3 __attribute__((overloadable))
1335 rsGetElementAt_long3(rs_allocation a, uint32_t x) {
1336 return ((long3 *)rsGetElementAt(a, x))[0];
1340 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1341 static inline long4 __attribute__((overloadable))
1342 rsGetElementAt_long4(rs_allocation a, uint32_t x) {
1343 return ((long4 *)rsGetElementAt(a, x))[0];
1347 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1348 static inline ulong __attribute__((overloadable))
1349 rsGetElementAt_ulong(rs_allocation a, uint32_t x) {
1350 return ((ulong *)rsGetElementAt(a, x))[0];
1354 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1355 static inline ulong2 __attribute__((overloadable))
1356 rsGetElementAt_ulong2(rs_allocation a, uint32_t x) {
1357 return ((ulong2 *)rsGetElementAt(a, x))[0];
1361 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1362 static inline ulong3 __attribute__((overloadable))
1363 rsGetElementAt_ulong3(rs_allocation a, uint32_t x) {
1364 return ((ulong3 *)rsGetElementAt(a, x))[0];
1368 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1369 static inline ulong4 __attribute__((overloadable))
1370 rsGetElementAt_ulong4(rs_allocation a, uint32_t x) {
1371 return ((ulong4 *)rsGetElementAt(a, x))[0];
1375 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1376 static inline float __attribute__((overloadable))
1377 rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y) {
1378 return ((float *)rsGetElementAt(a, x, y))[0];
1382 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1383 static inline float2 __attribute__((overloadable))
1384 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y) {
1385 return ((float2 *)rsGetElementAt(a, x, y))[0];
1389 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1390 static inline float3 __attribute__((overloadable))
1391 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y) {
1392 return ((float3 *)rsGetElementAt(a, x, y))[0];
1396 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1397 static inline float4 __attribute__((overloadable))
1398 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y) {
1399 return ((float4 *)rsGetElementAt(a, x, y))[0];
1403 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1404 static inline double __attribute__((overloadable))
1405 rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y) {
1406 return ((double *)rsGetElementAt(a, x, y))[0];
1410 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1411 static inline double2 __attribute__((overloadable))
1412 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y) {
1413 return ((double2 *)rsGetElementAt(a, x, y))[0];
1417 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1418 static inline double3 __attribute__((overloadable))
1419 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y) {
1420 return ((double3 *)rsGetElementAt(a, x, y))[0];
1424 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1425 static inline double4 __attribute__((overloadable))
1426 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y) {
1427 return ((double4 *)rsGetElementAt(a, x, y))[0];
1431 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1432 static inline char __attribute__((overloadable))
1433 rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y) {
1434 return ((char *)rsGetElementAt(a, x, y))[0];
1438 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1439 static inline char2 __attribute__((overloadable))
1440 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y) {
1441 return ((char2 *)rsGetElementAt(a, x, y))[0];
1445 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1446 static inline char3 __attribute__((overloadable))
1447 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y) {
1448 return ((char3 *)rsGetElementAt(a, x, y))[0];
1452 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1453 static inline char4 __attribute__((overloadable))
1454 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y) {
1455 return ((char4 *)rsGetElementAt(a, x, y))[0];
1459 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1460 static inline uchar __attribute__((overloadable))
1461 rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y) {
1462 return ((uchar *)rsGetElementAt(a, x, y))[0];
1466 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1467 static inline uchar2 __attribute__((overloadable))
1468 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y) {
1469 return ((uchar2 *)rsGetElementAt(a, x, y))[0];
1473 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1474 static inline uchar3 __attribute__((overloadable))
1475 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y) {
1476 return ((uchar3 *)rsGetElementAt(a, x, y))[0];
1480 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1481 static inline uchar4 __attribute__((overloadable))
1482 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y) {
1483 return ((uchar4 *)rsGetElementAt(a, x, y))[0];
1487 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1488 static inline short __attribute__((overloadable))
1489 rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y) {
1490 return ((short *)rsGetElementAt(a, x, y))[0];
1494 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1495 static inline short2 __attribute__((overloadable))
1496 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y) {
1497 return ((short2 *)rsGetElementAt(a, x, y))[0];
1501 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1502 static inline short3 __attribute__((overloadable))
1503 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y) {
1504 return ((short3 *)rsGetElementAt(a, x, y))[0];
1508 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1509 static inline short4 __attribute__((overloadable))
1510 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y) {
1511 return ((short4 *)rsGetElementAt(a, x, y))[0];
1515 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1516 static inline ushort __attribute__((overloadable))
1517 rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y) {
1518 return ((ushort *)rsGetElementAt(a, x, y))[0];
1522 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1523 static inline ushort2 __attribute__((overloadable))
1524 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y) {
1525 return ((ushort2 *)rsGetElementAt(a, x, y))[0];
1529 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1530 static inline ushort3 __attribute__((overloadable))
1531 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y) {
1532 return ((ushort3 *)rsGetElementAt(a, x, y))[0];
1536 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1537 static inline ushort4 __attribute__((overloadable))
1538 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y) {
1539 return ((ushort4 *)rsGetElementAt(a, x, y))[0];
1543 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1544 static inline int __attribute__((overloadable))
1545 rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y) {
1546 return ((int *)rsGetElementAt(a, x, y))[0];
1550 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1551 static inline int2 __attribute__((overloadable))
1552 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y) {
1553 return ((int2 *)rsGetElementAt(a, x, y))[0];
1557 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1558 static inline int3 __attribute__((overloadable))
1559 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y) {
1560 return ((int3 *)rsGetElementAt(a, x, y))[0];
1564 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1565 static inline int4 __attribute__((overloadable))
1566 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y) {
1567 return ((int4 *)rsGetElementAt(a, x, y))[0];
1571 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1572 static inline uint __attribute__((overloadable))
1573 rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y) {
1574 return ((uint *)rsGetElementAt(a, x, y))[0];
1578 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1579 static inline uint2 __attribute__((overloadable))
1580 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y) {
1581 return ((uint2 *)rsGetElementAt(a, x, y))[0];
1585 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1586 static inline uint3 __attribute__((overloadable))
1587 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y) {
1588 return ((uint3 *)rsGetElementAt(a, x, y))[0];
1592 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1593 static inline uint4 __attribute__((overloadable))
1594 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y) {
1595 return ((uint4 *)rsGetElementAt(a, x, y))[0];
1599 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1600 static inline long __attribute__((overloadable))
1601 rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y) {
1602 return ((long *)rsGetElementAt(a, x, y))[0];
1606 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1607 static inline long2 __attribute__((overloadable))
1608 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y) {
1609 return ((long2 *)rsGetElementAt(a, x, y))[0];
1613 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1614 static inline long3 __attribute__((overloadable))
1615 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y) {
1616 return ((long3 *)rsGetElementAt(a, x, y))[0];
1620 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1621 static inline long4 __attribute__((overloadable))
1622 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y) {
1623 return ((long4 *)rsGetElementAt(a, x, y))[0];
1627 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1628 static inline ulong __attribute__((overloadable))
1629 rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y) {
1630 return ((ulong *)rsGetElementAt(a, x, y))[0];
1634 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1635 static inline ulong2 __attribute__((overloadable))
1636 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y) {
1637 return ((ulong2 *)rsGetElementAt(a, x, y))[0];
1641 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1642 static inline ulong3 __attribute__((overloadable))
1643 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y) {
1644 return ((ulong3 *)rsGetElementAt(a, x, y))[0];
1648 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1649 static inline ulong4 __attribute__((overloadable))
1650 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y) {
1651 return ((ulong4 *)rsGetElementAt(a, x, y))[0];
1655 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1656 static 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];
1662 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1663 static 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];
1669 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1670 static 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];
1676 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1677 static 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];
1683 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1684 static 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];
1690 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1691 static 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];
1697 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1698 static 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];
1704 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1705 static 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];
1711 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1712 static 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];
1718 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1719 static 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];
1725 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1726 static 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];
1732 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1733 static 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];
1739 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1740 static 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];
1746 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1747 static 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];
1753 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1754 static 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];
1760 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1761 static 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];
1767 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1768 static 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];
1774 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1775 static 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];
1781 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1782 static 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];
1788 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1789 static 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];
1795 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1796 static 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];
1802 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1803 static 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];
1809 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1810 static 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];
1816 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1817 static 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];
1823 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1824 static 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];
1830 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1831 static 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];
1837 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1838 static 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];
1844 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1845 static 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];
1851 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1852 static 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];
1858 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1859 static 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];
1865 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1866 static 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];
1872 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1873 static 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];
1879 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1880 static 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];
1886 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1887 static 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];
1893 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1894 static 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];
1900 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1901 static 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];
1907 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1908 static 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];
1914 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1915 static 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];
1921 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1922 static 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];
1928 #if !defined(RS_VERSION) || (RS_VERSION <= 17)
1929 static 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];
1935 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1936 extern float __attribute__((overloadable))
1937 rsGetElementAt_float(rs_allocation a, uint32_t x);
1940 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1941 extern float2 __attribute__((overloadable))
1942 rsGetElementAt_float2(rs_allocation a, uint32_t x);
1945 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1946 extern float3 __attribute__((overloadable))
1947 rsGetElementAt_float3(rs_allocation a, uint32_t x);
1950 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1951 extern float4 __attribute__((overloadable))
1952 rsGetElementAt_float4(rs_allocation a, uint32_t x);
1955 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1956 extern double __attribute__((overloadable))
1957 rsGetElementAt_double(rs_allocation a, uint32_t x);
1960 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1961 extern double2 __attribute__((overloadable))
1962 rsGetElementAt_double2(rs_allocation a, uint32_t x);
1965 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1966 extern double3 __attribute__((overloadable))
1967 rsGetElementAt_double3(rs_allocation a, uint32_t x);
1970 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1971 extern double4 __attribute__((overloadable))
1972 rsGetElementAt_double4(rs_allocation a, uint32_t x);
1975 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1976 extern char __attribute__((overloadable))
1977 rsGetElementAt_char(rs_allocation a, uint32_t x);
1980 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1981 extern char2 __attribute__((overloadable))
1982 rsGetElementAt_char2(rs_allocation a, uint32_t x);
1985 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1986 extern char3 __attribute__((overloadable))
1987 rsGetElementAt_char3(rs_allocation a, uint32_t x);
1990 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1991 extern char4 __attribute__((overloadable))
1992 rsGetElementAt_char4(rs_allocation a, uint32_t x);
1995 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
1996 extern uchar __attribute__((overloadable))
1997 rsGetElementAt_uchar(rs_allocation a, uint32_t x);
2000 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2001 extern uchar2 __attribute__((overloadable))
2002 rsGetElementAt_uchar2(rs_allocation a, uint32_t x);
2005 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2006 extern uchar3 __attribute__((overloadable))
2007 rsGetElementAt_uchar3(rs_allocation a, uint32_t x);
2010 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2011 extern uchar4 __attribute__((overloadable))
2012 rsGetElementAt_uchar4(rs_allocation a, uint32_t x);
2015 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2016 extern short __attribute__((overloadable))
2017 rsGetElementAt_short(rs_allocation a, uint32_t x);
2020 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2021 extern short2 __attribute__((overloadable))
2022 rsGetElementAt_short2(rs_allocation a, uint32_t x);
2025 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2026 extern short3 __attribute__((overloadable))
2027 rsGetElementAt_short3(rs_allocation a, uint32_t x);
2030 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2031 extern short4 __attribute__((overloadable))
2032 rsGetElementAt_short4(rs_allocation a, uint32_t x);
2035 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2036 extern ushort __attribute__((overloadable))
2037 rsGetElementAt_ushort(rs_allocation a, uint32_t x);
2040 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2041 extern ushort2 __attribute__((overloadable))
2042 rsGetElementAt_ushort2(rs_allocation a, uint32_t x);
2045 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2046 extern ushort3 __attribute__((overloadable))
2047 rsGetElementAt_ushort3(rs_allocation a, uint32_t x);
2050 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2051 extern ushort4 __attribute__((overloadable))
2052 rsGetElementAt_ushort4(rs_allocation a, uint32_t x);
2055 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2056 extern int __attribute__((overloadable))
2057 rsGetElementAt_int(rs_allocation a, uint32_t x);
2060 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2061 extern int2 __attribute__((overloadable))
2062 rsGetElementAt_int2(rs_allocation a, uint32_t x);
2065 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2066 extern int3 __attribute__((overloadable))
2067 rsGetElementAt_int3(rs_allocation a, uint32_t x);
2070 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2071 extern int4 __attribute__((overloadable))
2072 rsGetElementAt_int4(rs_allocation a, uint32_t x);
2075 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2076 extern uint __attribute__((overloadable))
2077 rsGetElementAt_uint(rs_allocation a, uint32_t x);
2080 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2081 extern uint2 __attribute__((overloadable))
2082 rsGetElementAt_uint2(rs_allocation a, uint32_t x);
2085 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2086 extern uint3 __attribute__((overloadable))
2087 rsGetElementAt_uint3(rs_allocation a, uint32_t x);
2090 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2091 extern uint4 __attribute__((overloadable))
2092 rsGetElementAt_uint4(rs_allocation a, uint32_t x);
2095 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2096 extern long __attribute__((overloadable))
2097 rsGetElementAt_long(rs_allocation a, uint32_t x);
2100 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2101 extern long2 __attribute__((overloadable))
2102 rsGetElementAt_long2(rs_allocation a, uint32_t x);
2105 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2106 extern long3 __attribute__((overloadable))
2107 rsGetElementAt_long3(rs_allocation a, uint32_t x);
2110 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2111 extern long4 __attribute__((overloadable))
2112 rsGetElementAt_long4(rs_allocation a, uint32_t x);
2115 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2116 extern ulong __attribute__((overloadable))
2117 rsGetElementAt_ulong(rs_allocation a, uint32_t x);
2120 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2121 extern ulong2 __attribute__((overloadable))
2122 rsGetElementAt_ulong2(rs_allocation a, uint32_t x);
2125 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2126 extern ulong3 __attribute__((overloadable))
2127 rsGetElementAt_ulong3(rs_allocation a, uint32_t x);
2130 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2131 extern ulong4 __attribute__((overloadable))
2132 rsGetElementAt_ulong4(rs_allocation a, uint32_t x);
2135 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2136 extern float __attribute__((overloadable))
2137 rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y);
2140 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2141 extern float2 __attribute__((overloadable))
2142 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y);
2145 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2146 extern float3 __attribute__((overloadable))
2147 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y);
2150 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2151 extern float4 __attribute__((overloadable))
2152 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y);
2155 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2156 extern double __attribute__((overloadable))
2157 rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y);
2160 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2161 extern double2 __attribute__((overloadable))
2162 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y);
2165 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2166 extern double3 __attribute__((overloadable))
2167 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y);
2170 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2171 extern double4 __attribute__((overloadable))
2172 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y);
2175 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2176 extern char __attribute__((overloadable))
2177 rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y);
2180 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2181 extern char2 __attribute__((overloadable))
2182 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y);
2185 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2186 extern char3 __attribute__((overloadable))
2187 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y);
2190 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2191 extern char4 __attribute__((overloadable))
2192 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y);
2195 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2196 extern uchar __attribute__((overloadable))
2197 rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y);
2200 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2201 extern uchar2 __attribute__((overloadable))
2202 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y);
2205 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2206 extern uchar3 __attribute__((overloadable))
2207 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y);
2210 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2211 extern uchar4 __attribute__((overloadable))
2212 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y);
2215 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2216 extern short __attribute__((overloadable))
2217 rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y);
2220 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2221 extern short2 __attribute__((overloadable))
2222 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y);
2225 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2226 extern short3 __attribute__((overloadable))
2227 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y);
2230 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2231 extern short4 __attribute__((overloadable))
2232 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y);
2235 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2236 extern ushort __attribute__((overloadable))
2237 rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y);
2240 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2241 extern ushort2 __attribute__((overloadable))
2242 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y);
2245 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2246 extern ushort3 __attribute__((overloadable))
2247 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y);
2250 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2251 extern ushort4 __attribute__((overloadable))
2252 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y);
2255 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2256 extern int __attribute__((overloadable))
2257 rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y);
2260 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2261 extern int2 __attribute__((overloadable))
2262 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y);
2265 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2266 extern int3 __attribute__((overloadable))
2267 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y);
2270 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2271 extern int4 __attribute__((overloadable))
2272 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y);
2275 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2276 extern uint __attribute__((overloadable))
2277 rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y);
2280 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2281 extern uint2 __attribute__((overloadable))
2282 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y);
2285 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2286 extern uint3 __attribute__((overloadable))
2287 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y);
2290 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2291 extern uint4 __attribute__((overloadable))
2292 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y);
2295 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2296 extern long __attribute__((overloadable))
2297 rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y);
2300 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2301 extern long2 __attribute__((overloadable))
2302 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y);
2305 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2306 extern long3 __attribute__((overloadable))
2307 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y);
2310 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2311 extern long4 __attribute__((overloadable))
2312 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y);
2315 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2316 extern ulong __attribute__((overloadable))
2317 rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y);
2320 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2321 extern ulong2 __attribute__((overloadable))
2322 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y);
2325 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2326 extern ulong3 __attribute__((overloadable))
2327 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y);
2330 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2331 extern ulong4 __attribute__((overloadable))
2332 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y);
2335 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2336 extern float __attribute__((overloadable))
2337 rsGetElementAt_float(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2340 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2341 extern float2 __attribute__((overloadable))
2342 rsGetElementAt_float2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2345 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2346 extern float3 __attribute__((overloadable))
2347 rsGetElementAt_float3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2350 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2351 extern float4 __attribute__((overloadable))
2352 rsGetElementAt_float4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2355 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2356 extern double __attribute__((overloadable))
2357 rsGetElementAt_double(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2360 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2361 extern double2 __attribute__((overloadable))
2362 rsGetElementAt_double2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2365 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2366 extern double3 __attribute__((overloadable))
2367 rsGetElementAt_double3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2370 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2371 extern double4 __attribute__((overloadable))
2372 rsGetElementAt_double4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2375 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2376 extern char __attribute__((overloadable))
2377 rsGetElementAt_char(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2380 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2381 extern char2 __attribute__((overloadable))
2382 rsGetElementAt_char2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2385 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2386 extern char3 __attribute__((overloadable))
2387 rsGetElementAt_char3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2390 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2391 extern char4 __attribute__((overloadable))
2392 rsGetElementAt_char4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2395 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2396 extern uchar __attribute__((overloadable))
2397 rsGetElementAt_uchar(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2400 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2401 extern uchar2 __attribute__((overloadable))
2402 rsGetElementAt_uchar2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2405 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2406 extern uchar3 __attribute__((overloadable))
2407 rsGetElementAt_uchar3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2410 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2411 extern uchar4 __attribute__((overloadable))
2412 rsGetElementAt_uchar4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2415 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2416 extern short __attribute__((overloadable))
2417 rsGetElementAt_short(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2420 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2421 extern short2 __attribute__((overloadable))
2422 rsGetElementAt_short2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2425 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2426 extern short3 __attribute__((overloadable))
2427 rsGetElementAt_short3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2430 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2431 extern short4 __attribute__((overloadable))
2432 rsGetElementAt_short4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2435 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2436 extern ushort __attribute__((overloadable))
2437 rsGetElementAt_ushort(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2440 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2441 extern ushort2 __attribute__((overloadable))
2442 rsGetElementAt_ushort2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2445 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2446 extern ushort3 __attribute__((overloadable))
2447 rsGetElementAt_ushort3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2450 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2451 extern ushort4 __attribute__((overloadable))
2452 rsGetElementAt_ushort4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2455 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2456 extern int __attribute__((overloadable))
2457 rsGetElementAt_int(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2460 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2461 extern int2 __attribute__((overloadable))
2462 rsGetElementAt_int2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2465 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2466 extern int3 __attribute__((overloadable))
2467 rsGetElementAt_int3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2470 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2471 extern int4 __attribute__((overloadable))
2472 rsGetElementAt_int4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2475 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2476 extern uint __attribute__((overloadable))
2477 rsGetElementAt_uint(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2480 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2481 extern uint2 __attribute__((overloadable))
2482 rsGetElementAt_uint2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2485 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2486 extern uint3 __attribute__((overloadable))
2487 rsGetElementAt_uint3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2490 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2491 extern uint4 __attribute__((overloadable))
2492 rsGetElementAt_uint4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2495 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2496 extern long __attribute__((overloadable))
2497 rsGetElementAt_long(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2500 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2501 extern long2 __attribute__((overloadable))
2502 rsGetElementAt_long2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2505 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2506 extern long3 __attribute__((overloadable))
2507 rsGetElementAt_long3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2510 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2511 extern long4 __attribute__((overloadable))
2512 rsGetElementAt_long4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2515 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2516 extern ulong __attribute__((overloadable))
2517 rsGetElementAt_ulong(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2520 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2521 extern ulong2 __attribute__((overloadable))
2522 rsGetElementAt_ulong2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2525 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2526 extern ulong3 __attribute__((overloadable))
2527 rsGetElementAt_ulong3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2530 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2531 extern ulong4 __attribute__((overloadable))
2532 rsGetElementAt_ulong4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2535 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2536 extern half __attribute__((overloadable))
2537 rsGetElementAt_half(rs_allocation a, uint32_t x);
2540 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2541 extern half2 __attribute__((overloadable))
2542 rsGetElementAt_half2(rs_allocation a, uint32_t x);
2545 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2546 extern half3 __attribute__((overloadable))
2547 rsGetElementAt_half3(rs_allocation a, uint32_t x);
2550 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2551 extern half4 __attribute__((overloadable))
2552 rsGetElementAt_half4(rs_allocation a, uint32_t x);
2555 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2556 extern half __attribute__((overloadable))
2557 rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y);
2560 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2561 extern half2 __attribute__((overloadable))
2562 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y);
2565 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2566 extern half3 __attribute__((overloadable))
2567 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y);
2570 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2571 extern half4 __attribute__((overloadable))
2572 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y);
2575 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2576 extern half __attribute__((overloadable))
2577 rsGetElementAt_half(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2580 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2581 extern half2 __attribute__((overloadable))
2582 rsGetElementAt_half2(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2585 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2586 extern half3 __attribute__((overloadable))
2587 rsGetElementAt_half3(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2590 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
2591 extern half4 __attribute__((overloadable))
2592 rsGetElementAt_half4(rs_allocation a, uint32_t x, uint32_t y, uint32_t z);
2596 * rsGetElementAtYuv_uchar_U: Get the U component of an allocation of YUVs
2598 * Extracts the U component of a single YUV value from a 2D allocation of YUVs.
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.
2604 * See rsGetElementAtYuv_uchar_Y().
2606 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2607 extern uchar __attribute__((overloadable))
2608 rsGetElementAtYuv_uchar_U(rs_allocation a, uint32_t x, uint32_t y);
2612 * rsGetElementAtYuv_uchar_V: Get the V component of an allocation of YUVs
2614 * Extracts the V component of a single YUV value from a 2D allocation of YUVs.
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.
2620 * See rsGetElementAtYuv_uchar_Y().
2622 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2623 extern uchar __attribute__((overloadable))
2624 rsGetElementAtYuv_uchar_V(rs_allocation a, uint32_t x, uint32_t y);
2628 * rsGetElementAtYuv_uchar_Y: Get the Y component of an allocation of YUVs
2630 * Extracts the Y component of a single YUV value from a 2D allocation of YUVs.
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.
2636 * See rsGetElementAtYuv_uchar_U() and rsGetElementAtYuv_uchar_V().
2638 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2639 extern uchar __attribute__((overloadable))
2640 rsGetElementAtYuv_uchar_Y(rs_allocation a, uint32_t x, uint32_t y);
2644 * rsSample: Sample a value from a texture allocation
2646 * Fetches a value from a texture allocation in a way described by the sampler.
2648 * If your allocation is 1D, use the variant with float for location. For 2D,
2649 * use the float2 variant.
2651 * See android.renderscript.Sampler for more details.
2654 * a: Allocation to sample from.
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.
2659 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
2660 extern float4 __attribute__((overloadable))
2661 rsSample(rs_allocation a, rs_sampler s, float location);
2664 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
2665 extern float4 __attribute__((overloadable))
2666 rsSample(rs_allocation a, rs_sampler s, float location, float lod);
2669 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
2670 extern float4 __attribute__((overloadable))
2671 rsSample(rs_allocation a, rs_sampler s, float2 location);
2674 #if (defined(RS_VERSION) && (RS_VERSION >= 16))
2675 extern float4 __attribute__((overloadable))
2676 rsSample(rs_allocation a, rs_sampler s, float2 location, float lod);
2680 * rsSetElementAt: Set a cell of an allocation
2682 * This function stores a value into a single cell of an allocation.
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.
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
2693 * See also rsGetElementAt().
2695 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2696 extern void __attribute__((overloadable))
2697 rsSetElementAt(rs_allocation a, void* ptr, uint32_t x);
2700 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2701 extern void __attribute__((overloadable))
2702 rsSetElementAt(rs_allocation a, void* ptr, uint32_t x, uint32_t y);
2705 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2706 extern void __attribute__((overloadable))
2707 rsSetElementAt_float(rs_allocation a, float val, uint32_t x);
2710 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2711 extern void __attribute__((overloadable))
2712 rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x);
2715 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2716 extern void __attribute__((overloadable))
2717 rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x);
2720 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2721 extern void __attribute__((overloadable))
2722 rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x);
2725 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2726 extern void __attribute__((overloadable))
2727 rsSetElementAt_double(rs_allocation a, double val, uint32_t x);
2730 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2731 extern void __attribute__((overloadable))
2732 rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x);
2735 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2736 extern void __attribute__((overloadable))
2737 rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x);
2740 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2741 extern void __attribute__((overloadable))
2742 rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x);
2745 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2746 extern void __attribute__((overloadable))
2747 rsSetElementAt_char(rs_allocation a, char val, uint32_t x);
2750 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2751 extern void __attribute__((overloadable))
2752 rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x);
2755 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2756 extern void __attribute__((overloadable))
2757 rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x);
2760 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2761 extern void __attribute__((overloadable))
2762 rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x);
2765 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2766 extern void __attribute__((overloadable))
2767 rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x);
2770 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2771 extern void __attribute__((overloadable))
2772 rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x);
2775 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2776 extern void __attribute__((overloadable))
2777 rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x);
2780 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2781 extern void __attribute__((overloadable))
2782 rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x);
2785 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2786 extern void __attribute__((overloadable))
2787 rsSetElementAt_short(rs_allocation a, short val, uint32_t x);
2790 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2791 extern void __attribute__((overloadable))
2792 rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x);
2795 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2796 extern void __attribute__((overloadable))
2797 rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x);
2800 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2801 extern void __attribute__((overloadable))
2802 rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x);
2805 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2806 extern void __attribute__((overloadable))
2807 rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x);
2810 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2811 extern void __attribute__((overloadable))
2812 rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x);
2815 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2816 extern void __attribute__((overloadable))
2817 rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x);
2820 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2821 extern void __attribute__((overloadable))
2822 rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x);
2825 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2826 extern void __attribute__((overloadable))
2827 rsSetElementAt_int(rs_allocation a, int val, uint32_t x);
2830 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2831 extern void __attribute__((overloadable))
2832 rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x);
2835 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2836 extern void __attribute__((overloadable))
2837 rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x);
2840 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2841 extern void __attribute__((overloadable))
2842 rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x);
2845 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2846 extern void __attribute__((overloadable))
2847 rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x);
2850 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2851 extern void __attribute__((overloadable))
2852 rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x);
2855 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2856 extern void __attribute__((overloadable))
2857 rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x);
2860 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2861 extern void __attribute__((overloadable))
2862 rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x);
2865 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2866 extern void __attribute__((overloadable))
2867 rsSetElementAt_long(rs_allocation a, long val, uint32_t x);
2870 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2871 extern void __attribute__((overloadable))
2872 rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x);
2875 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2876 extern void __attribute__((overloadable))
2877 rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x);
2880 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2881 extern void __attribute__((overloadable))
2882 rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x);
2885 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2886 extern void __attribute__((overloadable))
2887 rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x);
2890 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2891 extern void __attribute__((overloadable))
2892 rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x);
2895 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2896 extern void __attribute__((overloadable))
2897 rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x);
2900 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2901 extern void __attribute__((overloadable))
2902 rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x);
2905 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2906 extern void __attribute__((overloadable))
2907 rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y);
2910 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2911 extern void __attribute__((overloadable))
2912 rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y);
2915 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2916 extern void __attribute__((overloadable))
2917 rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y);
2920 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2921 extern void __attribute__((overloadable))
2922 rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y);
2925 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2926 extern void __attribute__((overloadable))
2927 rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y);
2930 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2931 extern void __attribute__((overloadable))
2932 rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y);
2935 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2936 extern void __attribute__((overloadable))
2937 rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y);
2940 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2941 extern void __attribute__((overloadable))
2942 rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y);
2945 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2946 extern void __attribute__((overloadable))
2947 rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y);
2950 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2951 extern void __attribute__((overloadable))
2952 rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y);
2955 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2956 extern void __attribute__((overloadable))
2957 rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y);
2960 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2961 extern void __attribute__((overloadable))
2962 rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y);
2965 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2966 extern void __attribute__((overloadable))
2967 rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y);
2970 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2971 extern void __attribute__((overloadable))
2972 rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y);
2975 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2976 extern void __attribute__((overloadable))
2977 rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y);
2980 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2981 extern void __attribute__((overloadable))
2982 rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y);
2985 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2986 extern void __attribute__((overloadable))
2987 rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y);
2990 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2991 extern void __attribute__((overloadable))
2992 rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y);
2995 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
2996 extern void __attribute__((overloadable))
2997 rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y);
3000 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3001 extern void __attribute__((overloadable))
3002 rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y);
3005 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3006 extern void __attribute__((overloadable))
3007 rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y);
3010 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3011 extern void __attribute__((overloadable))
3012 rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y);
3015 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3016 extern void __attribute__((overloadable))
3017 rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y);
3020 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3021 extern void __attribute__((overloadable))
3022 rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y);
3025 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3026 extern void __attribute__((overloadable))
3027 rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y);
3030 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3031 extern void __attribute__((overloadable))
3032 rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y);
3035 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3036 extern void __attribute__((overloadable))
3037 rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y);
3040 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3041 extern void __attribute__((overloadable))
3042 rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y);
3045 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3046 extern void __attribute__((overloadable))
3047 rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y);
3050 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3051 extern void __attribute__((overloadable))
3052 rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y);
3055 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3056 extern void __attribute__((overloadable))
3057 rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y);
3060 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3061 extern void __attribute__((overloadable))
3062 rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y);
3065 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3066 extern void __attribute__((overloadable))
3067 rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y);
3070 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3071 extern void __attribute__((overloadable))
3072 rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y);
3075 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3076 extern void __attribute__((overloadable))
3077 rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y);
3080 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3081 extern void __attribute__((overloadable))
3082 rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y);
3085 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3086 extern void __attribute__((overloadable))
3087 rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y);
3090 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3091 extern void __attribute__((overloadable))
3092 rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y);
3095 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3096 extern void __attribute__((overloadable))
3097 rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y);
3100 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3101 extern void __attribute__((overloadable))
3102 rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y);
3105 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3106 extern void __attribute__((overloadable))
3107 rsSetElementAt_float(rs_allocation a, float val, uint32_t x, uint32_t y, uint32_t z);
3110 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3111 extern void __attribute__((overloadable))
3112 rsSetElementAt_float2(rs_allocation a, float2 val, uint32_t x, uint32_t y, uint32_t z);
3115 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3116 extern void __attribute__((overloadable))
3117 rsSetElementAt_float3(rs_allocation a, float3 val, uint32_t x, uint32_t y, uint32_t z);
3120 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3121 extern void __attribute__((overloadable))
3122 rsSetElementAt_float4(rs_allocation a, float4 val, uint32_t x, uint32_t y, uint32_t z);
3125 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3126 extern void __attribute__((overloadable))
3127 rsSetElementAt_double(rs_allocation a, double val, uint32_t x, uint32_t y, uint32_t z);
3130 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3131 extern void __attribute__((overloadable))
3132 rsSetElementAt_double2(rs_allocation a, double2 val, uint32_t x, uint32_t y, uint32_t z);
3135 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3136 extern void __attribute__((overloadable))
3137 rsSetElementAt_double3(rs_allocation a, double3 val, uint32_t x, uint32_t y, uint32_t z);
3140 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3141 extern void __attribute__((overloadable))
3142 rsSetElementAt_double4(rs_allocation a, double4 val, uint32_t x, uint32_t y, uint32_t z);
3145 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3146 extern void __attribute__((overloadable))
3147 rsSetElementAt_char(rs_allocation a, char val, uint32_t x, uint32_t y, uint32_t z);
3150 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3151 extern void __attribute__((overloadable))
3152 rsSetElementAt_char2(rs_allocation a, char2 val, uint32_t x, uint32_t y, uint32_t z);
3155 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3156 extern void __attribute__((overloadable))
3157 rsSetElementAt_char3(rs_allocation a, char3 val, uint32_t x, uint32_t y, uint32_t z);
3160 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3161 extern void __attribute__((overloadable))
3162 rsSetElementAt_char4(rs_allocation a, char4 val, uint32_t x, uint32_t y, uint32_t z);
3165 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3166 extern void __attribute__((overloadable))
3167 rsSetElementAt_uchar(rs_allocation a, uchar val, uint32_t x, uint32_t y, uint32_t z);
3170 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3171 extern void __attribute__((overloadable))
3172 rsSetElementAt_uchar2(rs_allocation a, uchar2 val, uint32_t x, uint32_t y, uint32_t z);
3175 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3176 extern void __attribute__((overloadable))
3177 rsSetElementAt_uchar3(rs_allocation a, uchar3 val, uint32_t x, uint32_t y, uint32_t z);
3180 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3181 extern void __attribute__((overloadable))
3182 rsSetElementAt_uchar4(rs_allocation a, uchar4 val, uint32_t x, uint32_t y, uint32_t z);
3185 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3186 extern void __attribute__((overloadable))
3187 rsSetElementAt_short(rs_allocation a, short val, uint32_t x, uint32_t y, uint32_t z);
3190 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3191 extern void __attribute__((overloadable))
3192 rsSetElementAt_short2(rs_allocation a, short2 val, uint32_t x, uint32_t y, uint32_t z);
3195 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3196 extern void __attribute__((overloadable))
3197 rsSetElementAt_short3(rs_allocation a, short3 val, uint32_t x, uint32_t y, uint32_t z);
3200 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3201 extern void __attribute__((overloadable))
3202 rsSetElementAt_short4(rs_allocation a, short4 val, uint32_t x, uint32_t y, uint32_t z);
3205 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3206 extern void __attribute__((overloadable))
3207 rsSetElementAt_ushort(rs_allocation a, ushort val, uint32_t x, uint32_t y, uint32_t z);
3210 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3211 extern void __attribute__((overloadable))
3212 rsSetElementAt_ushort2(rs_allocation a, ushort2 val, uint32_t x, uint32_t y, uint32_t z);
3215 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3216 extern void __attribute__((overloadable))
3217 rsSetElementAt_ushort3(rs_allocation a, ushort3 val, uint32_t x, uint32_t y, uint32_t z);
3220 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3221 extern void __attribute__((overloadable))
3222 rsSetElementAt_ushort4(rs_allocation a, ushort4 val, uint32_t x, uint32_t y, uint32_t z);
3225 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3226 extern void __attribute__((overloadable))
3227 rsSetElementAt_int(rs_allocation a, int val, uint32_t x, uint32_t y, uint32_t z);
3230 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3231 extern void __attribute__((overloadable))
3232 rsSetElementAt_int2(rs_allocation a, int2 val, uint32_t x, uint32_t y, uint32_t z);
3235 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3236 extern void __attribute__((overloadable))
3237 rsSetElementAt_int3(rs_allocation a, int3 val, uint32_t x, uint32_t y, uint32_t z);
3240 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3241 extern void __attribute__((overloadable))
3242 rsSetElementAt_int4(rs_allocation a, int4 val, uint32_t x, uint32_t y, uint32_t z);
3245 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3246 extern void __attribute__((overloadable))
3247 rsSetElementAt_uint(rs_allocation a, uint val, uint32_t x, uint32_t y, uint32_t z);
3250 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3251 extern void __attribute__((overloadable))
3252 rsSetElementAt_uint2(rs_allocation a, uint2 val, uint32_t x, uint32_t y, uint32_t z);
3255 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3256 extern void __attribute__((overloadable))
3257 rsSetElementAt_uint3(rs_allocation a, uint3 val, uint32_t x, uint32_t y, uint32_t z);
3260 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3261 extern void __attribute__((overloadable))
3262 rsSetElementAt_uint4(rs_allocation a, uint4 val, uint32_t x, uint32_t y, uint32_t z);
3265 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3266 extern void __attribute__((overloadable))
3267 rsSetElementAt_long(rs_allocation a, long val, uint32_t x, uint32_t y, uint32_t z);
3270 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3271 extern void __attribute__((overloadable))
3272 rsSetElementAt_long2(rs_allocation a, long2 val, uint32_t x, uint32_t y, uint32_t z);
3275 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3276 extern void __attribute__((overloadable))
3277 rsSetElementAt_long3(rs_allocation a, long3 val, uint32_t x, uint32_t y, uint32_t z);
3280 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3281 extern void __attribute__((overloadable))
3282 rsSetElementAt_long4(rs_allocation a, long4 val, uint32_t x, uint32_t y, uint32_t z);
3285 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3286 extern void __attribute__((overloadable))
3287 rsSetElementAt_ulong(rs_allocation a, ulong val, uint32_t x, uint32_t y, uint32_t z);
3290 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3291 extern void __attribute__((overloadable))
3292 rsSetElementAt_ulong2(rs_allocation a, ulong2 val, uint32_t x, uint32_t y, uint32_t z);
3295 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3296 extern void __attribute__((overloadable))
3297 rsSetElementAt_ulong3(rs_allocation a, ulong3 val, uint32_t x, uint32_t y, uint32_t z);
3300 #if (defined(RS_VERSION) && (RS_VERSION >= 18))
3301 extern void __attribute__((overloadable))
3302 rsSetElementAt_ulong4(rs_allocation a, ulong4 val, uint32_t x, uint32_t y, uint32_t z);
3305 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3306 extern void __attribute__((overloadable))
3307 rsSetElementAt_half(rs_allocation a, half val, uint32_t x);
3310 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3311 extern void __attribute__((overloadable))
3312 rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x);
3315 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3316 extern void __attribute__((overloadable))
3317 rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x);
3320 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3321 extern void __attribute__((overloadable))
3322 rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x);
3325 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3326 extern void __attribute__((overloadable))
3327 rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y);
3330 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3331 extern void __attribute__((overloadable))
3332 rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y);
3335 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3336 extern void __attribute__((overloadable))
3337 rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y);
3340 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3341 extern void __attribute__((overloadable))
3342 rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y);
3345 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3346 extern void __attribute__((overloadable))
3347 rsSetElementAt_half(rs_allocation a, half val, uint32_t x, uint32_t y, uint32_t z);
3350 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3351 extern void __attribute__((overloadable))
3352 rsSetElementAt_half2(rs_allocation a, half2 val, uint32_t x, uint32_t y, uint32_t z);
3355 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3356 extern void __attribute__((overloadable))
3357 rsSetElementAt_half3(rs_allocation a, half3 val, uint32_t x, uint32_t y, uint32_t z);
3360 #if (defined(RS_VERSION) && (RS_VERSION >= 23))
3361 extern void __attribute__((overloadable))
3362 rsSetElementAt_half4(rs_allocation a, half4 val, uint32_t x, uint32_t y, uint32_t z);
3365 #endif // RENDERSCRIPT_RS_ALLOCATION_DATA_RSH