Funções de criação de alocação do RenderScript

Visão geral

As funções abaixo podem ser usadas para criar alocações de um script.

Essas funções podem ser chamadas direta ou indiretamente de uma função invocável. Se algum caminho do fluxo de controle puder resultar em uma chamada para essas funções a partir de uma função do kernel do RenderScript, será gerado um erro do compilador.

Resumo

Funções
rsCreateAllocation (link em inglês) Cria um objeto rs_allocation de determinado tipo.
rsCreateElement (link em inglês) Cria um objeto rs_element do tipo de dados especificado
rsCreatePixelElement (em inglês) Cria um objeto rs_element do tipo de dados e do tipo de dados especificados
rsCreateType (em inglês) Cria um objeto rs_type com os atributos de elemento e forma especificados
rsCreateVectorElement (link em inglês) Cria um objeto rs_element do tipo de dados e largura de vetor especificados

Funções

rsCreateAllocation : cria um objeto rs_allocation de um determinado tipo.

rs_allocation rsCreateAllocation(tipo rs_type); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation(tipo rs_type, rs_allocation_mipmap_control mipmap, usos uint32_t, void* ptr); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation(tipo rs_type, uso uint32_t); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_double4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
Parâmetros
digitarTipo de alocação
usoSinalização de uso para a alocação
mipmap
usos
ptr
dimX
dimY
Escurecer

Cria um objeto rs_allocation do Tipo e do uso fornecidos.

RS_ALLOCATION_USAGE_Script e RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE são as únicas sinalizações de uso compatíveis para alocações criadas em um script do RenderScript.

Também é possível usar as funções wrapper rsCreateAllocation_ para criar alocações diretas de tipos numéricos vetoriais e escalares sem criar objetos rs_element ou rs_type intermediários.

Por exemplo, rsCreateAllocation_int4() retorna uma alocação de tipo de dados int4 de dimensões especificadas.

rsCreateElement : cria um objeto rs_element do tipo de dados especificado

rs_element rsCreateElement(int32_t data_type, int32_t data_Kind, bool isNormalized, uint32_t vecSize); Adicionado no nível 24 da API.
rs_element rsCreateElement(rs_data_type data_type); Adicionado no nível 24 da API.
Parâmetros
data_typeTipo de dados do elemento
tipo_de_dados
isNormalized
Tamanho vec

Cria um objeto rs_element do tipo de dados especificado. O tipo de dados do elemento vai ser definido como RS_KIND_USER e vector_width será definido como 1, indicando não vetorial.

rsCreatePixelElement : cria um objeto rs_element do tipo de dados e do tipo de dados especificados

rs_element rsCreatePixelElement(rs_data_type data_type, rs_data_Kind data_Kind); Adicionado no nível 24 da API.
Parâmetros
data_typeTipo de dados do elemento
tipo_de_dadosTipo de dados do elemento

Cria um objeto rs_element do tipo de dados e do tipo de dados especificados. A vetor_width do elemento será definida como 1, indicando não vetorial.

rsCreateType : cria um objeto rs_type com os atributos de elemento e forma especificados

rs_type rsCreateType(rs_element, uint32_t dimX); Adicionado no nível 24 da API.
elemento rs_type rsCreateType(rs_element, uint32_t dimX, uint32_t dimY); Adicionado no nível 24 da API.
rs_type rsCreateType(rs_element, uint32_t dimX, uint32_t dimY, uint32_t dimZ); Adicionado no nível 24 da API.
elemento rs_type rsCreateType(rs_element, uint32_t dimX, uint32_t dimY, uint32_t dimZ, mipmaps bool, faces bool, rs_yuv_format yuv_format); Adicionado no nível 24 da API.
Parâmetros
ElementoElemento a ser associado ao Tipo
dimXTamanho na dimensão X
dimYTamanho ao longo da dimensão Y
EscurecerTamanho ao longo da dimensão Z
mipmapsSinalização que indica se o tipo tem uma cadeia de mipmaps
rostosSinalização que indica se o tipo é um mapa de cubo
formato yuvLayout YUV para o tipo

Cria um objeto rs_type com os atributos de elemento e forma especificados.

dimX especifica o tamanho da dimensão X.

dimY, se presente e diferente de zero, indica que a dimensão Y está presente e o tamanho dela.

dimZ, se presente e diferente de zero, indica que a dimensão Z está presente e o tamanho dela.

mipmaps indicam a presença de nível de detalhe (LOD).

Faces indica a presença de faces do cubemap.

yuv_format indica o formato YUV associado (ou RS_YUV_NONE).

rsCreateVectorElement : cria um objeto rs_element do tipo de dados e largura de vetor especificados

rs_element rsCreateVectorElement(rs_data_type data_type, uint32_t vector_width); Adicionado no nível 24 da API.
Parâmetros
data_typeTipo de dados do elemento
largura_do_vetorLargura do vetor (2, 3 ou 4)

Cria um objeto rs_element do tipo de dados e largura de vetor especificados. O valor da largura_do_vetor precisa ser 2, 3 ou 4. O tipo de dados do elemento será definido como RS_KIND_USER.