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