概览
以下函数可用于从脚本创建 Allocation。
这些函数可以通过可调用函数直接或间接调用。如果某些控制流路径可能导致从 RenderScript 内核函数调用这些函数,则会生成编译器错误。
总结
函数 | |
---|---|
rsCreateAllocation | 创建给定类型的 rs_allocation 对象。 |
rsCreateElement | 创建指定数据类型的 rs_element 对象 |
rsCreatePixelElement | 创建具有指定数据类型和数据类型的 rs_element 对象 |
rsCreateType | 使用指定的元素和形状属性创建 rs_type 对象 |
rsCreateVectorElement | 创建具有指定数据类型和矢量宽度的 rs_element 对象 |
函数
rsCreateAllocation :创建给定类型的 rs_allocation 对象。
rs_allocation rsCreateAllocation(rs_type type); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation(rs_type type, rs_allocation_mipmap_control mipmap, uint32_t usages, void* ptr); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation(rs_type type, uint32_t usage); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_double4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
参数
类型 | 分配类型 |
---|---|
能耗 | 分配的用法标志 |
mipmap | |
用法 | |
百分比 | |
暗色 | |
调暗 | |
调暗 |
创建具有指定类型和用法的 rs_allocation 对象。
对于在 RenderScript 脚本中创建的 Allocation,RS_ALLOCATION_USAGE_ 您可以在这里使用标志 RS_ALLOCATION_USAGE_STREAM 和 RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE 作为唯一用途标志。
您还可以使用 rsCreateAllocation_
例如,rsCreateAllocation_int4() 会返回指定维度的 int4 数据类型的 Allocation。
rsCreateElement :创建指定数据类型的 rs_element 对象
rs_element rsCreateElement(int32_t data_type, int32_t data_Kind, bool isNormalized, uint32_t vecSize); | 在 API 级别 24 中引入 |
rs_element rsCreateElement(rs_data_type data_type); | 在 API 级别 24 中引入 |
参数
数据类型 | 元素的数据类型 |
---|---|
数据种类 | |
已标准化 | |
vecSize |
创建指定数据类型的 rs_element 对象。该元素的数据类型将设置为 RS_KIND_USER,vector_width 将设置为 1,表示非矢量。
rsCreatePixelElement :创建具有指定数据类型和数据类型的 rs_element 对象
rs_element rsCreatePixelElement(rs_data_type data_type, rs_data_Kind data_Kind); | 在 API 级别 24 中引入 |
参数
数据类型 | 元素的数据类型 |
---|---|
数据种类 | 元素的数据类型 |
创建具有指定数据类型和数据类型的 rs_element 对象。该 Element 的 vector_width 将设为 1,表示为非矢量。
rsCreateType :使用指定的 Element 和形状属性创建 rs_type 对象
rs_type rsCreateType(rs_element element, uint32_t dimX); | 在 API 级别 24 中引入 |
rs_type rsCreateType(rs_element element, uint32_t dimX, uint32_t dimY); | 在 API 级别 24 中引入 |
rs_type rsCreateType(rs_element element, uint32_t dimX, uint32_t dimY, uint32_t dimZ); | 在 API 级别 24 中引入 |
rs_type rsCreateType(rs_element element, uint32_t dimX, uint32_t dimY, uint32_t dimZ, bool mipmaps, bool face, rs_yuv_format yuv_format); | 在 API 级别 24 中引入 |
参数
元素 | 要与类型关联的元素 |
---|---|
暗色 | 沿 X 维度调整尺寸 |
调暗 | 沿 Y 维度调整尺寸 |
调暗 | 沿 Z 维度调整尺寸 |
mipmap | 此标记指示类型是否具有 mipmap 链 |
脸 | 此标记指示类型是否为立方体映射 |
yuv_format | 类型的 YUV 布局 |
使用指定的元素和形状属性创建 rs_type 对象。
dimX 用于指定 X 维度的大小。
dimY(如果存在且非零)表示 Y 维度存在并指示其大小。
dimZ(如果存在且非零)表示 Z 维度存在并指示其大小。
mipmap 表示存在细节级别 (LOD)。
surface 表示存在立方体贴图面。
yuv_format 表示关联的 YUV 格式(或 RS_YUV_NONE)。
rsCreateVectorElement :创建具有指定数据类型和矢量宽度的 rs_element 对象
rs_element rsCreateVectorElement(rs_data_type data_type, uint32_t vector_width); | 在 API 级别 24 中引入 |
参数
数据类型 | 元素的数据类型 |
---|---|
矢量宽度 | 矢量宽度(2、3 或 4) |
创建具有指定数据类型和矢量宽度的 rs_element 对象。 vector_width 的值必须为 2、3 或 4。元素的数据类型将设置为 RS_KIND_USER。