123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- header:
- summary: Allocation Creation Functions
- description:
- 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.
- end:
- function: rsCreateElement
- version: 24
- ret: rs_element
- arg: rs_data_type data_type, "Data type of the Element"
- summary: Creates an rs_element object of the specified data type
- description:
- 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.
- test: none
- end:
- function: rsCreateVectorElement
- version: 24
- ret: rs_element
- arg: rs_data_type data_type, "Data type of the Element"
- arg: uint32_t vector_width, "Vector width (either 2, 3, or 4)"
- summary: Creates an rs_element object of the specified data type and vector width
- description:
- 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.
- test: none
- end:
- function: rsCreatePixelElement
- version: 24
- ret: rs_element
- arg: rs_data_type data_type, "Data type of the Element"
- arg: rs_data_kind data_kind, "Data kind of the Element"
- summary: Creates an rs_element object of the specified data type and data kind
- description:
- 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.
- test: none
- end:
- function: rsCreateElement
- version: 24
- internal: true
- ret: rs_element
- arg: int32_t data_type
- arg: int32_t data_kind
- arg: bool isNormalized
- arg: uint32_t vecSize
- test: none
- end:
- function: rsCreateType
- version: 24
- ret: rs_type
- arg: rs_element element, "Element to be associated with the Type"
- arg: uint32_t dimX, "Size along the X dimension"
- arg: uint32_t dimY, "Size along the Y dimension"
- arg: uint32_t dimZ, "Size along the Z dimension"
- arg: bool mipmaps, "Flag indicating if the Type has a mipmap chain"
- arg: bool faces, "Flag indicating if the Type is a cubemap"
- arg: rs_yuv_format yuv_format, "YUV layout for the Type"
- summary: Creates an rs_type object with the specified Element and shape attributes
- description:
- 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).
- test: none
- end:
- function: rsCreateType
- version: 24
- ret: rs_type
- arg: rs_element element
- arg: uint32_t dimX
- arg: uint32_t dimY
- arg: uint32_t dimZ
- test:none
- end:
- function: rsCreateType
- version: 24
- ret: rs_type
- arg: rs_element element
- arg: uint32_t dimX
- arg: uint32_t dimY
- test:none
- end:
- function: rsCreateType
- version: 24
- ret: rs_type
- arg: rs_element element
- arg: uint32_t dimX
- test:none
- end:
- function: rsCreateAllocation
- version: 24
- ret: rs_allocation
- arg: rs_type type, "Type of the Allocation"
- arg: uint32_t usage, "Usage flag for the allocation"
- summary: Create an rs_allocation object of given Type.
- description:
- 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_<type><width> wrapper functions to directly
- create Allocations of scalar and vector numerical types without creating
- intermediate rs_element or rs_type objects.
- E.g. rsCreateAllocation_int4() returns an Allocation of int4 data type of
- specified dimensions.
- test: none
- end:
- function: rsCreateAllocation
- version: 24
- ret: rs_allocation
- arg: rs_type type
- test: none
- end:
- function: rsCreateAllocation
- version: 24
- internal: true
- ret: rs_allocation
- arg: rs_type type
- arg: rs_allocation_mipmap_control mipmap
- arg: uint32_t usages
- arg: void* ptr
- test: none
- end:
- function: rsCreateAllocation_#1
- version: 24
- t: u8, u16, u32, u64, i8, i16, i32, i64, f16, f32, f64
- ret: rs_allocation
- arg: uint32_t dimX
- arg: uint32_t dimY
- arg: uint32_t dimZ
- inline:
- rs_element e = rsCreateElement(RS_TYPE_#RST_1);
- rs_type t = rsCreateType(e, dimX, dimY, dimZ);
- return rsCreateAllocation(t);
- test: none
- end:
- function: rsCreateAllocation_#2#1
- version: 24
- w: 2, 3, 4
- t: u8, u16, u32, u64, i8, i16, i32, i64, f16, f32, f64
- ret: rs_allocation
- arg: uint32_t dimX
- arg: uint32_t dimY
- arg: uint32_t dimZ
- inline:
- rs_element e = rsCreateVectorElement(RS_TYPE_#RST_2, #1);
- rs_type t = rsCreateType(e, dimX, dimY, dimZ);
- return rsCreateAllocation(t);
- test: none
- end:
- function: rsCreateAllocation_#1
- version: 24
- t: u8, u16, u32, u64, i8, i16, i32, i64, f16, f32, f64
- ret: rs_allocation
- arg: uint32_t dimX
- arg: uint32_t dimY
- inline:
- rs_element e = rsCreateElement(RS_TYPE_#RST_1);
- rs_type t = rsCreateType(e, dimX, dimY);
- return rsCreateAllocation(t);
- test: none
- end:
- function: rsCreateAllocation_#2#1
- version: 24
- w: 2, 3, 4
- t: u8, u16, u32, u64, i8, i16, i32, i64, f16, f32, f64
- ret: rs_allocation
- arg: uint32_t dimX
- arg: uint32_t dimY
- inline:
- rs_element e = rsCreateVectorElement(RS_TYPE_#RST_2, #1);
- rs_type t = rsCreateType(e, dimX, dimY);
- return rsCreateAllocation(t);
- test: none
- end:
- function: rsCreateAllocation_#1
- version: 24
- t: u8, u16, u32, u64, i8, i16, i32, i64, f16, f32, f64
- ret: rs_allocation
- arg: uint32_t dimX
- inline:
- rs_element e = rsCreateElement(RS_TYPE_#RST_1);
- rs_type t = rsCreateType(e, dimX);
- return rsCreateAllocation(t);
- test: none
- end:
- function: rsCreateAllocation_#2#1
- version: 24
- w: 2, 3, 4
- t: u8, u16, u32, u64, i8, i16, i32, i64, f16, f32, f64
- ret: rs_allocation
- arg: uint32_t dimX
- inline:
- rs_element e = rsCreateVectorElement(RS_TYPE_#RST_2, #1);
- rs_type t = rsCreateType(e, dimX);
- return rsCreateAllocation(t);
- test: none
- end:
|