Overview
The functions below can be used to create Allocations from a Script.
These functions can be called directly or indirectly from an invokable function. If some control-flow path can result in a call to these functions from a RenderScript kernel function, a compiler error will be generated.
Summary
Functions | |
---|---|
rsCreateAllocation | Create an rs_allocation object of given Type. |
rsCreateElement | Creates an rs_element object of the specified data type |
rsCreatePixelElement | Creates an rs_element object of the specified data type and data kind |
rsCreateType | Creates an rs_type object with the specified Element and shape attributes |
rsCreateVectorElement | Creates an rs_element object of the specified data type and vector width |
Functions
rsCreateAllocation : Create an rs_allocation object of given Type.
rs_allocation rsCreateAllocation(rs_type type); | Added in API level 24 |
rs_allocation rsCreateAllocation(rs_type type, rs_allocation_mipmap_control mipmap, uint32_t usages, void* ptr); | Added in API level 24 |
rs_allocation rsCreateAllocation(rs_type type, uint32_t usage); | Added in API level 24 |
rs_allocation rsCreateAllocation_char(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_char2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_char3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_char4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_double(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_double(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_double(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_double2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_double3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_double3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_double3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_double4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_double4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_double4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_float(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_float2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_float3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_float4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_half(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_half2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_half3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_half4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_int(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_int2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_int3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_int4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_long(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_long2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_long3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_long4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_short(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_short2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_short3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_short4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
Parameters
type | Type of the Allocation |
---|---|
usage | Usage flag for the allocation |
mipmap | |
usages | |
ptr | |
dimX | |
dimY | |
dimZ |
Creates an rs_allocation object of the given Type and usage.
RS_ALLOCATION_USAGE_SCRIPT and RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE are the only supported usage flags for Allocations created from within a RenderScript Script.
You can also use rsCreateAllocation_
E.g. rsCreateAllocation_int4() returns an Allocation of int4 data type of specified dimensions.
rsCreateElement : Creates an rs_element object of the specified data type
rs_element rsCreateElement(int32_t data_type, int32_t data_kind, bool isNormalized, uint32_t vecSize); | Added in API level 24 |
rs_element rsCreateElement(rs_data_type data_type); | Added in API level 24 |
Parameters
data_type | Data type of the Element |
---|---|
data_kind | |
isNormalized | |
vecSize |
Creates an rs_element object of the specified data type. The data kind of the Element will be set to RS_KIND_USER and vector_width will be set to 1, indicating non-vector.
rsCreatePixelElement : Creates an rs_element object of the specified data type and data kind
rs_element rsCreatePixelElement(rs_data_type data_type, rs_data_kind data_kind); | Added in API level 24 |
Parameters
data_type | Data type of the Element |
---|---|
data_kind | Data kind of the Element |
Creates an rs_element object of the specified data type and data kind. The vector_width of the Element will be set to 1, indicating non-vector.
rsCreateType : Creates an rs_type object with the specified Element and shape attributes
rs_type rsCreateType(rs_element element, uint32_t dimX); | Added in API level 24 |
rs_type rsCreateType(rs_element element, uint32_t dimX, uint32_t dimY); | Added in API level 24 |
rs_type rsCreateType(rs_element element, uint32_t dimX, uint32_t dimY, uint32_t dimZ); | Added in API level 24 |
rs_type rsCreateType(rs_element element, uint32_t dimX, uint32_t dimY, uint32_t dimZ, bool mipmaps, bool faces, rs_yuv_format yuv_format); | Added in API level 24 |
Parameters
element | Element to be associated with the Type |
---|---|
dimX | Size along the X dimension |
dimY | Size along the Y dimension |
dimZ | Size along the Z dimension |
mipmaps | Flag indicating if the Type has a mipmap chain |
faces | Flag indicating if the Type is a cubemap |
yuv_format | YUV layout for the Type |
Creates an rs_type object with the specified Element and shape attributes.
dimX specifies the size of the X dimension.
dimY, if present and non-zero, indicates that the Y dimension is present and indicates its size.
dimZ, if present and non-zero, indicates that the Z dimension is present and indicates its size.
mipmaps indicates the presence of level of detail (LOD).
faces indicates the presence of cubemap faces.
yuv_format indicates the associated YUV format (or RS_YUV_NONE).
rsCreateVectorElement : Creates an rs_element object of the specified data type and vector width
rs_element rsCreateVectorElement(rs_data_type data_type, uint32_t vector_width); | Added in API level 24 |
Parameters
data_type | Data type of the Element |
---|---|
vector_width | Vector width (either 2, 3, or 4) |
Creates an rs_element object of the specified data type and vector width. Value of vector_width must be 2, 3 or 4. The data kind of the Element will be set to RS_KIND_USER.