1be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2291330fbaf7486a1cea33de7dd26c18e57c71391Stephen Hines * Copyright (C) 2016 The Android Open Source Project
3be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Licensed under the Apache License, Version 2.0 (the "License");
5be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * you may not use this file except in compliance with the License.
6be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * You may obtain a copy of the License at
7be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
8be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *      http://www.apache.org/licenses/LICENSE-2.0
9be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
10be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Unless required by applicable law or agreed to in writing, software
11be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * distributed under the License is distributed on an "AS IS" BASIS,
12be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * See the License for the specific language governing permissions and
14be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * limitations under the License.
15be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
16be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
174a73004df5231d188c41267fee17c566ae7c3631Jean-Luc Brouillet// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
18be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
19be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * rs_object_info.rsh: Object Characteristics Functions
2120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
226386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * The functions below can be used to query the characteristics of an Allocation, Element,
236386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * or Sampler object.  These objects are created from Java.  You can't create them from a
246386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * script.
25be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
266386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Allocations:
276386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
286386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Allocations are the primary method used to pass data to and from RenderScript kernels.
296386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
306386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * They are a structured collection of cells that can be used to store bitmaps, textures,
316386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * arbitrary data points, etc.
326386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
336386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * This collection of cells may have many dimensions (X, Y, Z, Array0, Array1, Array2, Array3),
346386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * faces (for cubemaps), and level of details (for mipmapping).
356386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
366386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * See the android.renderscript.Allocation for details on to create Allocations.
376386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
386386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Elements:
396386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
406386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * The term "element" is used a bit ambiguously in RenderScript, as both type information
416386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * for the cells of an Allocation and the instantiation of that type.  For example:
424a73004df5231d188c41267fee17c566ae7c3631Jean-Luc Brouillet * - rs_element is a handle to a type specification, and
436386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * - In functions like rsGetElementAt(), "element" means the instantiation of the type,
446386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *     i.e. a cell of an Allocation.
45be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
46be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * The functions below let you query the characteristics of the type specificiation.
47be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
486386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * An Element can specify a simple data types as found in C, e.g. an integer, float, or
496386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * boolean.  It can also specify a handle to a RenderScript object.  See rs_data_type for
506386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * a list of basic types.
51be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
526386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Elements can specify fixed size vector (of size 2, 3, or 4) versions of the basic types.
536386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Elements can be grouped together into complex Elements, creating the equivalent of
546386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * C structure definitions.
55be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
566386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Elements can also have a kind, which is semantic information used to interpret pixel
576386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * data.  See rs_data_kind.
586386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
596386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * When creating Allocations of common elements, you can simply use one of the many predefined
606386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Elements like F32_2.
616386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
626386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * To create complex Elements, use the Element.Builder Java class.
636386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
646386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Samplers:
656386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
666386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Samplers objects define how Allocations can be read as structure within a kernel.
676386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * See android.renderscript.S.
68be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
694a73004df5231d188c41267fee17c566ae7c3631Jean-Luc Brouillet
70be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#ifndef RENDERSCRIPT_RS_OBJECT_INFO_RSH
71be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#define RENDERSCRIPT_RS_OBJECT_INFO_RSH
72be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
73be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
74be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rsAllocationGetDimFaces: Presence of more than one face
75be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
766386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * If the Allocation is a cubemap, this function returns 1 if there's more than one face
776386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * present.  In all other cases, it returns 0.
7820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
7920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Use rsGetDimHasFaces() to get the dimension of a currently running kernel.
80be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
81be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Returns: Returns 1 if more than one face is present, 0 otherwise.
82be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
83be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
84be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsAllocationGetDimFaces(rs_allocation a);
85be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
86be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
8720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * rsAllocationGetDimLOD: Presence of levels of detail
88be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
896386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Query an Allocation for the presence of more than one Level Of Detail.  This is useful
906386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * for mipmaps.
9120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
9220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Use rsGetDimLod() to get the dimension of a currently running kernel.
93be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
94be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Returns: Returns 1 if more than one LOD is present, 0 otherwise.
95be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
96be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
97be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsAllocationGetDimLOD(rs_allocation a);
98be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
99be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
100be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rsAllocationGetDimX: Size of the X dimension
101be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
1026386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns the size of the X dimension of the Allocation.
103be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
10420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Use rsGetDimX() to get the dimension of a currently running kernel.
10520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
1066386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: X dimension of the Allocation.
107be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
108be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
109be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsAllocationGetDimX(rs_allocation a);
110be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
111be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
112be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rsAllocationGetDimY: Size of the Y dimension
113be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
1146386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns the size of the Y dimension of the Allocation.  If the Allocation has less
1156386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * than two dimensions, returns 0.
116be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
11720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Use rsGetDimY() to get the dimension of a currently running kernel.
11820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
1196386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Y dimension of the Allocation.
120be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
121be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
122be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsAllocationGetDimY(rs_allocation a);
123be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
124be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
125be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rsAllocationGetDimZ: Size of the Z dimension
126be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
1276386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns the size of the Z dimension of the Allocation.  If the Allocation has less
1286386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * than three dimensions, returns 0.
129be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
13020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Use rsGetDimZ() to get the dimension of a currently running kernel.
13120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
1326386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Z dimension of the Allocation.
133be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
134be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
135be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsAllocationGetDimZ(rs_allocation a);
136be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
137be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
1386386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsAllocationGetElement: Get the object that describes the cell of an Allocation
1396386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
1406386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Get the Element object describing the type, kind, and other characteristics of a cell
1416386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * of an Allocation.  See the rsElement* functions below.
142be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
143be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Parameters:
1446386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   a: Allocation to get data from.
145be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
1466386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Element describing Allocation layout.
147be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
148be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern rs_element __attribute__((overloadable))
149be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsAllocationGetElement(rs_allocation a);
150be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
151be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
15220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * rsClearObject: Release an object
15320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
1546386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Tells the run time that this handle will no longer be used to access the the related
1556386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * object.  If this was the last handle to that object, resource recovery may happen.
156be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
1576386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * After calling this function, *dst will be set to an empty handle.  See rsIsObject().
158be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
159be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
160be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsClearObject(rs_element* dst);
161be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
162be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
163be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsClearObject(rs_type* dst);
164be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
165be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
166be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsClearObject(rs_allocation* dst);
167be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
168be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
169be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsClearObject(rs_sampler* dst);
170be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
171be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
172be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsClearObject(rs_script* dst);
173be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
174be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
17520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * rsIsObject: Check for an empty handle
17620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
17720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * Returns true if the handle contains a non-null reference.
178be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
17920b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * This function does not validate that the internal pointer used in the handle
18020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * points to an actual valid object; it only checks for null.
18120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
1826386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * This function can be used to check the Element returned by rsElementGetSubElement()
1836386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * or see if rsClearObject() has been called on a handle.
184be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
185be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern bool __attribute__((overloadable))
186be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsIsObject(rs_element v);
187be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
188be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern bool __attribute__((overloadable))
189be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsIsObject(rs_type v);
190be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
191be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern bool __attribute__((overloadable))
192be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsIsObject(rs_allocation v);
193be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
194be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern bool __attribute__((overloadable))
195be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsIsObject(rs_sampler v);
196be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
197be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern bool __attribute__((overloadable))
198be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsIsObject(rs_script v);
199be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
200be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2016386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetBytesSize: Size of an Element
202be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2036386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns the size in bytes that an instantiation of this Element will occupy.
204be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
205be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
206be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
207be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetBytesSize(rs_element e);
208be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
209be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
210be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2116386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetDataKind: Kind of an Element
212be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2136386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns the Element's data kind.  This is used to interpret pixel data.
214be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
215be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * See rs_data_kind.
216be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
217be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
218be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern rs_data_kind __attribute__((overloadable))
219be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetDataKind(rs_element e);
220be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
221be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
222be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2236386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetDataType: Data type of an Element
224be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2256386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns the Element's base data type.  This can be a type similar to C/C++ (e.g.
2266386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * RS_TYPE_UNSIGNED_8), a handle (e.g. RS_TYPE_ALLOCATION and RS_TYPE_ELEMENT), or a
2276386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * more complex numerical type (e.g. RS_TYPE_UNSIGNED_5_6_5 and RS_TYPE_MATRIX_4X4).
2286386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * See rs_data_type.
229be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2306386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * If the Element describes a vector, this function returns the data type of one of its items.
2316386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Use rsElementGetVectorSize to get the size of the vector.
232be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2336386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * If the Element describes a structure, RS_TYPE_NONE is returned.  Use the rsElementGetSub*
2346386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * functions to explore this complex Element.
235be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
236be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
237be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern rs_data_type __attribute__((overloadable))
238be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetDataType(rs_element e);
239be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
240be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
241be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2426386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetSubElement: Sub-element of a complex Element
243be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2446386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * For Elements that represents a structure, this function returns the sub-element at the
2456386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * specified index.
246be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2476386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * If the Element is not a structure or the index is greater or equal to the number of
2486386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * sub-elements, an invalid handle is returned.
249be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
250be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Parameters:
2516386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   e: Element to query.
2526386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   index: Index of the sub-element to return.
253be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2546386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Sub-element at the given index.
255be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
256be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
257be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern rs_element __attribute__((overloadable))
258be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetSubElement(rs_element e, uint32_t index);
259be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
260be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
261be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2626386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetSubElementArraySize: Array size of a sub-element of a complex Element
263be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2646386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * For complex Elements, sub-elements can be statically sized arrays.  This function
2656386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * returns the array size of the sub-element at the index.  This sub-element repetition
2666386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * is different than fixed size vectors.
267be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
268be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Parameters:
2696386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   e: Element to query.
2706386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   index: Index of the sub-element.
271be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2726386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Array size of the sub-element.
273be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
274be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
275be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
276be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetSubElementArraySize(rs_element e, uint32_t index);
277be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
278be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
279be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2806386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetSubElementCount: Number of sub-elements
281be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2826386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Elements can be simple, such as an int or a float, or a structure with multiple
2836386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * sub-elements.  This function returns zero for simple Elements and the number of
2846386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * sub-elements for complex Elements.
285be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
286be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Parameters:
2876386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   e: Element to get data from.
288be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2896386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Number of sub-elements.
290be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
291be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
292be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
293be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetSubElementCount(rs_element e);
294be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
295be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
296be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2976386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetSubElementName: Name of a sub-element
298be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
2996386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * For complex Elements, this function returns the name of the sub-element at the
3006386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * specified index.
301be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
302be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Parameters:
3036386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   e: Element to get data from.
3046386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   index: Index of the sub-element.
3056386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   name: Address of the array to store the name into.
3066386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   nameLength: Length of the provided name array.
307be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
3086386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Number of characters copied, excluding the null terminator.
309be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
310be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
311be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
312be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetSubElementName(rs_element e, uint32_t index, char* name, uint32_t nameLength);
313be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
314be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
315be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
3166386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetSubElementNameLength: Length of the name of a sub-element
317be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
3186386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * For complex Elements, this function returns the length of the name of the sub-element
3196386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * at the specified index.
320be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
321be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Parameters:
3226386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   e: Element to get data from.
3236386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   index: Index of the sub-element.
324be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
3256386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Length of the sub-element name including the null terminator.
326be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
327be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
328be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
329be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetSubElementNameLength(rs_element e, uint32_t index);
330be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
331be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
332be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
3336386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetSubElementOffsetBytes: Offset of the instantiated sub-element
3346386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
3356386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * This function returns the relative position of the instantiation of the specified
3366386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * sub-element within the instantiation of the Element.
3376386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
3386386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * For example, if the Element describes a 32 bit float followed by a 32 bit integer,
3396386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * the offset return for the first will be 0 and the second 4.
340be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
341be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Parameters:
3426386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   e: Element to get data from.
3436386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   index: Index of the sub-element.
344be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
3456386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Offset in bytes.
346be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
347be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
348be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
349be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetSubElementOffsetBytes(rs_element e, uint32_t index);
350be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
351be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
352be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
3536386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsElementGetVectorSize: Vector size of the Element
3546386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
3556386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns the Element's vector size.  If the Element does not represent a vector,
3566386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * 1 is returned.
357be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
358be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Parameters:
3596386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *   e: Element to get data from.
360be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
3616386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns: Length of the element vector.
362be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
363be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
364be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern uint32_t __attribute__((overloadable))
365be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsElementGetVectorSize(rs_element e);
366be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
367be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
368be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
3696386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsGetAllocation: Return the Allocation for a given pointer
370be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
37120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * DEPRECATED.  Do not use.
37220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet *
3736386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Returns the Allocation for a given pointer.  The pointer should point within a valid
3746386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * allocation.  The results are undefined if the pointer is not from a valid Allocation.
375be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
37636e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouilletextern rs_allocation __attribute__((overloadable
37736e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 22))
37836e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouillet, deprecated("This function is deprecated and will be removed from the SDK in a future release.")
37936e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouillet#endif
38036e2be56cd398bf4a318114bbc9fa3f4573c158fJean-Luc Brouillet))
381be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsGetAllocation(const void* p);
382be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
383be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
3846386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsSamplerGetAnisotropy: Anisotropy of the Sampler
385be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
3866386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Get the Sampler's anisotropy.
387be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
3886386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * See android.renderscript.S.
389be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
390be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
391be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern float __attribute__((overloadable))
392be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSamplerGetAnisotropy(rs_sampler s);
393be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
394be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
395be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
3966386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsSamplerGetMagnification: Sampler magnification value
397be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
3986386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Get the Sampler's magnification value.
399be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4006386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * See android.renderscript.S.
401be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
402be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
403be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern rs_sampler_value __attribute__((overloadable))
404be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSamplerGetMagnification(rs_sampler s);
405be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
406be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
407be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
4086386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsSamplerGetMinification: Sampler minification value
409be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4106386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Get the Sampler's minification value.
411be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4126386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * See android.renderscript.S.
413be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
414be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
415be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern rs_sampler_value __attribute__((overloadable))
416be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSamplerGetMinification(rs_sampler s);
417be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
418be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
419be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
4206386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsSamplerGetWrapS: Sampler wrap S value
421be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4226386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Get the Sampler's wrap S value.
423be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4246386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * See android.renderscript.S.
425be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
426be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
427be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern rs_sampler_value __attribute__((overloadable))
428be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSamplerGetWrapS(rs_sampler s);
429be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
430be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
431be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
4326386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rsSamplerGetWrapT: Sampler wrap T value
433be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4346386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * Get the sampler's wrap T value.
435be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4366386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * See android.renderscript.S.
437be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
438be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
439be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern rs_sampler_value __attribute__((overloadable))
440be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSamplerGetWrapT(rs_sampler s);
441be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
442be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
443be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
444be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rsSetObject: For internal use.
445be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
446be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
447be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
448be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSetObject(rs_element* dst, rs_element src);
449be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
450be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
451be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSetObject(rs_type* dst, rs_type src);
452be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
453be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
454be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSetObject(rs_allocation* dst, rs_allocation src);
455be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
456be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
457be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSetObject(rs_sampler* dst, rs_sampler src);
458be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
459be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouilletextern void __attribute__((overloadable))
460be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    rsSetObject(rs_script* dst, rs_script src);
461be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
462be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif // RENDERSCRIPT_RS_OBJECT_INFO_RSH
463