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