blob: d4c40fee899ae31c5955e3f13f2f6b3ec2b498ed [file] [log] [blame]
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -07001/*
2 * Copyright (C) 2015 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
Stephen Hines3f868232015-04-10 09:22:19 -070017// Don't edit this file! It is auto-generated by frameworks/rs/api/generate.sh.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070018
19/*
Stephen Hines3f868232015-04-10 09:22:19 -070020 * rs_object_info.rsh: Object Characteristics Functions
21 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -070022 * The functions below can be used to query the characteristics of an Allocation, Element,
23 * or Sampler object. These objects are created from Java. You can't create them from a
24 * script.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070025 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -070026 * Allocations:
27 *
28 * Allocations are the primary method used to pass data to and from RenderScript kernels.
29 *
30 * They are a structured collection of cells that can be used to store bitmaps, textures,
31 * arbitrary data points, etc.
32 *
33 * This collection of cells may have many dimensions (X, Y, Z, Array0, Array1, Array2, Array3),
34 * faces (for cubemaps), and level of details (for mipmapping).
35 *
36 * See the android.renderscript.Allocation for details on to create Allocations.
37 *
38 * Elements:
39 *
40 * The term "element" is used a bit ambiguously in RenderScript, as both type information
41 * for the cells of an Allocation and the instantiation of that type. For example:
Stephen Hines3f868232015-04-10 09:22:19 -070042 * - rs_element is a handle to a type specification, and
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -070043 * - In functions like rsGetElementAt(), "element" means the instantiation of the type,
44 * i.e. a cell of an Allocation.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070045 *
46 * The functions below let you query the characteristics of the type specificiation.
47 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -070048 * An Element can specify a simple data types as found in C, e.g. an integer, float, or
49 * boolean. It can also specify a handle to a RenderScript object. See rs_data_type for
50 * a list of basic types.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070051 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -070052 * Elements can specify fixed size vector (of size 2, 3, or 4) versions of the basic types.
53 * Elements can be grouped together into complex Elements, creating the equivalent of
54 * C structure definitions.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070055 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -070056 * Elements can also have a kind, which is semantic information used to interpret pixel
57 * data. See rs_data_kind.
58 *
59 * When creating Allocations of common elements, you can simply use one of the many predefined
60 * Elements like F32_2.
61 *
62 * To create complex Elements, use the Element.Builder Java class.
63 *
64 * Samplers:
65 *
66 * Samplers objects define how Allocations can be read as structure within a kernel.
67 * See android.renderscript.S.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070068 */
Stephen Hines3f868232015-04-10 09:22:19 -070069
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070070#ifndef RENDERSCRIPT_RS_OBJECT_INFO_RSH
71#define RENDERSCRIPT_RS_OBJECT_INFO_RSH
72
73/*
74 * rsAllocationGetDimFaces: Presence of more than one face
75 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -070076 * If the Allocation is a cubemap, this function returns 1 if there's more than one face
77 * present. In all other cases, it returns 0.
Stephen Hines3f868232015-04-10 09:22:19 -070078 *
79 * Use rsGetDimHasFaces() to get the dimension of a currently running kernel.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070080 *
81 * Returns: Returns 1 if more than one face is present, 0 otherwise.
82 */
83extern uint32_t __attribute__((overloadable))
84 rsAllocationGetDimFaces(rs_allocation a);
85
86/*
Stephen Hines3f868232015-04-10 09:22:19 -070087 * rsAllocationGetDimLOD: Presence of levels of detail
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070088 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -070089 * Query an Allocation for the presence of more than one Level Of Detail. This is useful
90 * for mipmaps.
Stephen Hines3f868232015-04-10 09:22:19 -070091 *
92 * Use rsGetDimLod() to get the dimension of a currently running kernel.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -070093 *
94 * Returns: Returns 1 if more than one LOD is present, 0 otherwise.
95 */
96extern uint32_t __attribute__((overloadable))
97 rsAllocationGetDimLOD(rs_allocation a);
98
99/*
100 * rsAllocationGetDimX: Size of the X dimension
101 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700102 * Returns the size of the X dimension of the Allocation.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700103 *
Stephen Hines3f868232015-04-10 09:22:19 -0700104 * Use rsGetDimX() to get the dimension of a currently running kernel.
105 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700106 * Returns: X dimension of the Allocation.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700107 */
108extern uint32_t __attribute__((overloadable))
109 rsAllocationGetDimX(rs_allocation a);
110
111/*
112 * rsAllocationGetDimY: Size of the Y dimension
113 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700114 * Returns the size of the Y dimension of the Allocation. If the Allocation has less
115 * than two dimensions, returns 0.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700116 *
Stephen Hines3f868232015-04-10 09:22:19 -0700117 * Use rsGetDimY() to get the dimension of a currently running kernel.
118 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700119 * Returns: Y dimension of the Allocation.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700120 */
121extern uint32_t __attribute__((overloadable))
122 rsAllocationGetDimY(rs_allocation a);
123
124/*
125 * rsAllocationGetDimZ: Size of the Z dimension
126 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700127 * Returns the size of the Z dimension of the Allocation. If the Allocation has less
128 * than three dimensions, returns 0.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700129 *
Stephen Hines3f868232015-04-10 09:22:19 -0700130 * Use rsGetDimZ() to get the dimension of a currently running kernel.
131 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700132 * Returns: Z dimension of the Allocation.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700133 */
134extern uint32_t __attribute__((overloadable))
135 rsAllocationGetDimZ(rs_allocation a);
136
137/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700138 * rsAllocationGetElement: Get the object that describes the cell of an Allocation
139 *
140 * Get the Element object describing the type, kind, and other characteristics of a cell
141 * of an Allocation. See the rsElement* functions below.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700142 *
143 * Parameters:
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700144 * a: Allocation to get data from.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700145 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700146 * Returns: Element describing Allocation layout.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700147 */
148extern rs_element __attribute__((overloadable))
149 rsAllocationGetElement(rs_allocation a);
150
151/*
Stephen Hines3f868232015-04-10 09:22:19 -0700152 * rsClearObject: Release an object
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700153 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700154 * Tells the run time that this handle will no longer be used to access the the related
155 * object. If this was the last handle to that object, resource recovery may happen.
Stephen Hines3f868232015-04-10 09:22:19 -0700156 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700157 * After calling this function, *dst will be set to an empty handle. See rsIsObject().
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700158 */
159extern void __attribute__((overloadable))
160 rsClearObject(rs_element* dst);
161
162extern void __attribute__((overloadable))
163 rsClearObject(rs_type* dst);
164
165extern void __attribute__((overloadable))
166 rsClearObject(rs_allocation* dst);
167
168extern void __attribute__((overloadable))
169 rsClearObject(rs_sampler* dst);
170
171extern void __attribute__((overloadable))
172 rsClearObject(rs_script* dst);
173
174/*
Stephen Hines3f868232015-04-10 09:22:19 -0700175 * rsIsObject: Check for an empty handle
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700176 *
Stephen Hines3f868232015-04-10 09:22:19 -0700177 * Returns true if the handle contains a non-null reference.
178 *
179 * This function does not validate that the internal pointer used in the handle
180 * points to an actual valid object; it only checks for null.
181 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700182 * This function can be used to check the Element returned by rsElementGetSubElement()
183 * or see if rsClearObject() has been called on a handle.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700184 */
185extern bool __attribute__((overloadable))
186 rsIsObject(rs_element v);
187
188extern bool __attribute__((overloadable))
189 rsIsObject(rs_type v);
190
191extern bool __attribute__((overloadable))
192 rsIsObject(rs_allocation v);
193
194extern bool __attribute__((overloadable))
195 rsIsObject(rs_sampler v);
196
197extern bool __attribute__((overloadable))
198 rsIsObject(rs_script v);
199
200/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700201 * rsElementGetBytesSize: Size of an Element
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700202 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700203 * Returns the size in bytes that an instantiation of this Element will occupy.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700204 */
205#if (defined(RS_VERSION) && (RS_VERSION >= 16))
206extern uint32_t __attribute__((overloadable))
207 rsElementGetBytesSize(rs_element e);
208#endif
209
210/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700211 * rsElementGetDataKind: Kind of an Element
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700212 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700213 * Returns the Element's data kind. This is used to interpret pixel data.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700214 *
215 * See rs_data_kind.
216 */
217#if (defined(RS_VERSION) && (RS_VERSION >= 16))
218extern rs_data_kind __attribute__((overloadable))
219 rsElementGetDataKind(rs_element e);
220#endif
221
222/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700223 * rsElementGetDataType: Data type of an Element
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700224 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700225 * Returns the Element's base data type. This can be a type similar to C/C++ (e.g.
226 * RS_TYPE_UNSIGNED_8), a handle (e.g. RS_TYPE_ALLOCATION and RS_TYPE_ELEMENT), or a
227 * more complex numerical type (e.g. RS_TYPE_UNSIGNED_5_6_5 and RS_TYPE_MATRIX_4X4).
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700228 * See rs_data_type.
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700229 *
230 * If the Element describes a vector, this function returns the data type of one of its items.
231 * Use rsElementGetVectorSize to get the size of the vector.
232 *
233 * If the Element describes a structure, RS_TYPE_NONE is returned. Use the rsElementGetSub*
234 * functions to explore this complex Element.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700235 */
236#if (defined(RS_VERSION) && (RS_VERSION >= 16))
237extern rs_data_type __attribute__((overloadable))
238 rsElementGetDataType(rs_element e);
239#endif
240
241/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700242 * rsElementGetSubElement: Sub-element of a complex Element
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700243 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700244 * For Elements that represents a structure, this function returns the sub-element at the
245 * specified index.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700246 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700247 * If the Element is not a structure or the index is greater or equal to the number of
248 * sub-elements, an invalid handle is returned.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700249 *
250 * Parameters:
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700251 * e: Element to query.
252 * index: Index of the sub-element to return.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700253 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700254 * Returns: Sub-element at the given index.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700255 */
256#if (defined(RS_VERSION) && (RS_VERSION >= 16))
257extern rs_element __attribute__((overloadable))
258 rsElementGetSubElement(rs_element e, uint32_t index);
259#endif
260
261/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700262 * rsElementGetSubElementArraySize: Array size of a sub-element of a complex Element
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700263 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700264 * For complex Elements, sub-elements can be statically sized arrays. This function
265 * returns the array size of the sub-element at the index. This sub-element repetition
266 * is different than fixed size vectors.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700267 *
268 * Parameters:
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700269 * e: Element to query.
270 * index: Index of the sub-element.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700271 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700272 * Returns: Array size of the sub-element.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700273 */
274#if (defined(RS_VERSION) && (RS_VERSION >= 16))
275extern uint32_t __attribute__((overloadable))
276 rsElementGetSubElementArraySize(rs_element e, uint32_t index);
277#endif
278
279/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700280 * rsElementGetSubElementCount: Number of sub-elements
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700281 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700282 * Elements can be simple, such as an int or a float, or a structure with multiple
283 * sub-elements. This function returns zero for simple Elements and the number of
284 * sub-elements for complex Elements.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700285 *
286 * Parameters:
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700287 * e: Element to get data from.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700288 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700289 * Returns: Number of sub-elements.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700290 */
291#if (defined(RS_VERSION) && (RS_VERSION >= 16))
292extern uint32_t __attribute__((overloadable))
293 rsElementGetSubElementCount(rs_element e);
294#endif
295
296/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700297 * rsElementGetSubElementName: Name of a sub-element
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700298 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700299 * For complex Elements, this function returns the name of the sub-element at the
300 * specified index.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700301 *
302 * Parameters:
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700303 * e: Element to get data from.
304 * index: Index of the sub-element.
305 * name: Address of the array to store the name into.
306 * nameLength: Length of the provided name array.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700307 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700308 * Returns: Number of characters copied, excluding the null terminator.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700309 */
310#if (defined(RS_VERSION) && (RS_VERSION >= 16))
311extern uint32_t __attribute__((overloadable))
312 rsElementGetSubElementName(rs_element e, uint32_t index, char* name, uint32_t nameLength);
313#endif
314
315/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700316 * rsElementGetSubElementNameLength: Length of the name of a sub-element
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700317 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700318 * For complex Elements, this function returns the length of the name of the sub-element
319 * at the specified index.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700320 *
321 * Parameters:
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700322 * e: Element to get data from.
323 * index: Index of the sub-element.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700324 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700325 * Returns: Length of the sub-element name including the null terminator.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700326 */
327#if (defined(RS_VERSION) && (RS_VERSION >= 16))
328extern uint32_t __attribute__((overloadable))
329 rsElementGetSubElementNameLength(rs_element e, uint32_t index);
330#endif
331
332/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700333 * rsElementGetSubElementOffsetBytes: Offset of the instantiated sub-element
334 *
335 * This function returns the relative position of the instantiation of the specified
336 * sub-element within the instantiation of the Element.
337 *
338 * For example, if the Element describes a 32 bit float followed by a 32 bit integer,
339 * the offset return for the first will be 0 and the second 4.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700340 *
341 * Parameters:
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700342 * e: Element to get data from.
343 * index: Index of the sub-element.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700344 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700345 * Returns: Offset in bytes.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700346 */
347#if (defined(RS_VERSION) && (RS_VERSION >= 16))
348extern uint32_t __attribute__((overloadable))
349 rsElementGetSubElementOffsetBytes(rs_element e, uint32_t index);
350#endif
351
352/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700353 * rsElementGetVectorSize: Vector size of the Element
354 *
355 * Returns the Element's vector size. If the Element does not represent a vector,
356 * 1 is returned.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700357 *
358 * Parameters:
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700359 * e: Element to get data from.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700360 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700361 * Returns: Length of the element vector.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700362 */
363#if (defined(RS_VERSION) && (RS_VERSION >= 16))
364extern uint32_t __attribute__((overloadable))
365 rsElementGetVectorSize(rs_element e);
366#endif
367
368/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700369 * rsGetAllocation: Return the Allocation for a given pointer
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700370 *
Stephen Hines3f868232015-04-10 09:22:19 -0700371 * DEPRECATED. Do not use.
372 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700373 * Returns the Allocation for a given pointer. The pointer should point within a valid
374 * allocation. The results are undefined if the pointer is not from a valid Allocation.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700375 */
Pirama Arumuga Nainar340676f2015-06-02 13:32:57 -0700376extern rs_allocation __attribute__((overloadable
377#if (defined(RS_VERSION) && (RS_VERSION >= 22))
378, deprecated("This function is deprecated and will be removed from the SDK in a future release.")
379#endif
380))
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700381 rsGetAllocation(const void* p);
382
383/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700384 * rsSamplerGetAnisotropy: Anisotropy of the Sampler
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700385 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700386 * Get the Sampler's anisotropy.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700387 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700388 * See android.renderscript.S.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700389 */
390#if (defined(RS_VERSION) && (RS_VERSION >= 16))
391extern float __attribute__((overloadable))
392 rsSamplerGetAnisotropy(rs_sampler s);
393#endif
394
395/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700396 * rsSamplerGetMagnification: Sampler magnification value
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700397 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700398 * Get the Sampler's magnification value.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700399 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700400 * See android.renderscript.S.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700401 */
402#if (defined(RS_VERSION) && (RS_VERSION >= 16))
403extern rs_sampler_value __attribute__((overloadable))
404 rsSamplerGetMagnification(rs_sampler s);
405#endif
406
407/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700408 * rsSamplerGetMinification: Sampler minification value
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700409 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700410 * Get the Sampler's minification value.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700411 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700412 * See android.renderscript.S.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700413 */
414#if (defined(RS_VERSION) && (RS_VERSION >= 16))
415extern rs_sampler_value __attribute__((overloadable))
416 rsSamplerGetMinification(rs_sampler s);
417#endif
418
419/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700420 * rsSamplerGetWrapS: Sampler wrap S value
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700421 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700422 * Get the Sampler's wrap S value.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700423 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700424 * See android.renderscript.S.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700425 */
426#if (defined(RS_VERSION) && (RS_VERSION >= 16))
427extern rs_sampler_value __attribute__((overloadable))
428 rsSamplerGetWrapS(rs_sampler s);
429#endif
430
431/*
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700432 * rsSamplerGetWrapT: Sampler wrap T value
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700433 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700434 * Get the sampler's wrap T value.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700435 *
Pirama Arumuga Nainardb745862015-05-11 14:34:37 -0700436 * See android.renderscript.S.
Jean-Luc Brouillet4fbd9032015-04-02 14:46:27 -0700437 */
438#if (defined(RS_VERSION) && (RS_VERSION >= 16))
439extern rs_sampler_value __attribute__((overloadable))
440 rsSamplerGetWrapT(rs_sampler s);
441#endif
442
443/*
444 * rsSetObject: For internal use.
445 *
446 */
447extern void __attribute__((overloadable))
448 rsSetObject(rs_element* dst, rs_element src);
449
450extern void __attribute__((overloadable))
451 rsSetObject(rs_type* dst, rs_type src);
452
453extern void __attribute__((overloadable))
454 rsSetObject(rs_allocation* dst, rs_allocation src);
455
456extern void __attribute__((overloadable))
457 rsSetObject(rs_sampler* dst, rs_sampler src);
458
459extern void __attribute__((overloadable))
460 rsSetObject(rs_script* dst, rs_script src);
461
462#endif // RENDERSCRIPT_RS_OBJECT_INFO_RSH