Funzioni di creazione di allocazione RenderScript

Panoramica

Le funzioni seguenti possono essere utilizzate per creare allocazioni da uno script.

Queste funzioni possono essere chiamate direttamente o indirettamente da una funzione evocabile. Se un percorso del flusso di controllo può comportare una chiamata a queste funzioni da una funzione kernel RenderScript, verrà generato un errore del compilatore.

Riepilogo

Funzioni
rsCreateAllocation Crea un oggetto rs_allocation di un determinato tipo.
rsCreateElement Crea un oggetto rs_element del tipo di dati specificato
rsCreatePixelElement Crea un oggetto rs_element del tipo di dati e del tipo di dati specificati
rsCreateType Crea un oggetto rs_type con gli attributi Elemento e Forma specificati
rsCreateVectorElement Crea un oggetto rs_element del tipo di dati e della larghezza del vettore specificati

Funzioni

rsCreateAllocation : crea un oggetto rs_allocation del tipo specificato.

rs_allocation rsCreateAllocation(rs_type type); Aggiunto al livello API 24
rs_allocation rsCreateAllocation(rs_type type, rs_allocation_mipmap_control mipmap, uint32_t utilizzi, void* ptr); Aggiunto al livello API 24
rs_allocation rsCreateAllocation(tipo rs_type, utilizzo uint32_t); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_char4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_double2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_Double4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_float4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_half4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_int4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_long4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_short4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uchar4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_uint4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ulong4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort2(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort3(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_allocation rsCreateAllocation_ushort4(uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
Parametri
digitaTipo di allocazione
UtilizzoFlag di utilizzo per l'allocazione
mipmap
utilizzi
ptr
dimX
attenuato
attenua

Crea un oggetto rs_allocation del tipo e dell'utilizzo specificati.

RS_ALLOCATION_USAGE_SCRIPT e RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE sono gli unici flag di utilizzo supportati per le allocazioni create dall'interno di uno script RenderScript.

Puoi anche utilizzare le funzioni wrapper rsCreateAllocation_ per creare direttamente allocazioni di tipi numerici scalari e vettoriali senza creare oggetti rs_element o rs_type intermedi.

Ad esempio, rsCreateAllocation_int4() restituisce un'allocazione del tipo di dati int4 delle dimensioni specificate.

rsCreateElement : crea un oggetto rs_element del tipo di dati specificato

rs_element rsCreateElement(int32_t data_type, int32_t data_kind, bool isNormalized, uint32_t vecSize); Aggiunto al livello API 24
rs_element rsCreateElement(rs_data_type data_type); Aggiunto al livello API 24
Parametri
tipo_datiTipo di dati dell'elemento
tipo di dati
isNormalizzato
vecSize

Crea un oggetto rs_element del tipo di dati specificato. Il tipo di dati dell'elemento verrà impostato su RS_KIND_USER e vector_width verrà impostato su 1, a indicare un tipo non vettoriale.

rsCreatePixelElement : crea un oggetto rs_element del tipo di dati e del tipo di dati specificati

rs_element rsCreatePixelElement(rs_data_type data_type, rs_data_kind data_kind); Aggiunto al livello API 24
Parametri
tipo_datiTipo di dati dell'elemento
tipo di datiTipo di dati dell'elemento

Crea un oggetto rs_element del tipo di dati e del tipo di dati specificati. Il valore vector_width dell'elemento verrà impostato su 1, a indicare un valore non vettoriale.

rsCreateType : crea un oggetto rs_type con gli attributi Elemento e Forma specificati

rs_type rsCreateType(elemento rs_element, uint32_t dimX); Aggiunto al livello API 24
rs_type rsCreateType(elemento rs_element, uint32_t dimX, uint32_t dimY); Aggiunto al livello API 24
rs_type rsCreateType(elemento rs_element, uint32_t dimX, uint32_t dimY, uint32_t dimZ); Aggiunto al livello API 24
rs_type rsCreateType(elemento rs_element, uint32_t dimX, uint32_t dimY, uint32_t dimZ, bool mipmaps, bool face, rs_yuv_format yuv_format); Aggiunto al livello API 24
Parametri
elementoElemento da associare al tipo
dimXDimensione lungo la dimensione X
attenuatoDimensione in base alla dimensione Y
attenuaDimensione in base alla dimensione Z
mipmapFlag che indica se il Tipo ha una catena mipmap
voltiFlag che indica se il tipo è una mappa cubica
Formato_yuvLayout YUV per il tipo

Crea un oggetto rs_type con gli attributi Elemento e Forma specificati.

dimX specifica la dimensione della dimensione X.

dimY, se presente e diverso da zero, indica che la dimensione Y è presente e ne indica la dimensione.

dimZ, se presente e diverso da zero, indica che la dimensione Z è presente e indica la sua dimensione.

mipmaps indica la presenza di livello di dettaglio (LOD).

facce indica la presenza di facce a mappa cubica.

yuv_format indica il formato YUV associato (o RS_YUV_NONE).

rsCreateVectorElement : crea un oggetto rs_element del tipo di dati e della larghezza vettoriale specificati

rs_element rsCreateVectorElement(rs_data_type data_type, uint32_t vector_width); Aggiunto al livello API 24
Parametri
tipo_datiTipo di dati dell'elemento
larghezza_vettoreLarghezza vettore (2, 3 o 4)

Crea un oggetto rs_element con il tipo di dati e la larghezza vettoriale specificati. Il valore di vector_width deve essere 2, 3 o 4. Il tipo di dati dell'elemento verrà impostato su RS_KIND_USER.