1#
2# Copyright (C) 2015 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8#      http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17header:
18summary: Object Types
19description:
20 The types below are used to manipulate RenderScript objects like allocations, samplers,
21 elements, and scripts.  Most of these object are created using the Java RenderScript APIs.
22include:
23 #define NULL ((void *)0)
24
25 // Opaque handle to a RenderScript object. Do not use this directly.
26 #ifndef __LP64__
27 #define _RS_OBJECT_DECL \
28 {\
29   const int* const p;\
30 } __attribute__((packed, aligned(4)))
31 #else
32 #define _RS_OBJECT_DECL \
33 {\
34   const long* const p;\
35   const long* const unused1;\
36   const long* const unused2;\
37   const long* const unused3;\
38 }
39 #endif
40end:
41
42type: rs_element
43rs_object:
44summary: Handle to an element
45description:
46 An opaque handle to a RenderScript element.
47
48 See <a href="http://developer.android.com/reference/android/renderscript/Element.html">android.renderscript.Element</a>.
49end:
50
51type: rs_type
52rs_object:
53summary: Handle to a Type
54description:
55 An opaque handle to a RenderScript type.
56
57 See <a href="http://developer.android.com/reference/android/renderscript/Type.html">android.renderscript.Type</a>.
58end:
59
60type: rs_allocation
61rs_object:
62summary: Handle to an allocation
63description:
64 An opaque handle to a RenderScript allocation.
65
66 See <a href="http://developer.android.com/reference/android/renderscript/Allocation.html">android.renderscript.Allocation</a>.
67end:
68
69type: rs_sampler
70rs_object:
71summary: Handle to a Sampler
72description:
73 An opaque handle to a RenderScript sampler object.
74
75 See <a href="http://developer.android.com/reference/android/renderscript/Sampler.html">android.renderscript.Sampler</a>.
76end:
77
78type: rs_script
79rs_object:
80summary: Handle to a Script
81description:
82 An opaque handle to a RenderScript script object.
83
84 See <a href="http://developer.android.com/reference/android/renderscript/ScriptC.html">android.renderscript.ScriptC</a>.
85end:
86
87type: rs_allocation_cubemap_face
88version: 14
89enum:
90value: RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0
91value: RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1
92value: RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2
93value: RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3
94value: RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4
95value: RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5
96summary: Enum for selecting cube map faces
97description:
98 An enum used to specify one the six faces of a cubemap.
99end:
100
101type: rs_allocation_usage_type
102version: 14
103enum:
104value: RS_ALLOCATION_USAGE_SCRIPT = 0x0001, "Allocation is bound to and accessed by scripts."
105value: RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002, "Allocation is used as a texture source."
106value: RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004, "Deprecated."
107value: RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008, "Deprecated."
108value: RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010, "Deprecated."
109value: RS_ALLOCATION_USAGE_IO_INPUT = 0x0020, "Allocation is used as a Surface consumer."
110value: RS_ALLOCATION_USAGE_IO_OUTPUT = 0x0040, "Allocation is used as a Surface producer."
111value: RS_ALLOCATION_USAGE_SHARED = 0x0080, "Allocation's backing store is shared with another object (usually a Bitmap).  Copying to or from the original source Bitmap will cause a synchronization rather than a full copy."
112summary: Bitfield to specify how an allocation is used
113description:
114 These values are ORed together to specify which usages or memory spaces are
115 relevant to an allocation or an operation on an allocation.
116end:
117
118type: rs_data_type
119version: 16
120enum:
121value: RS_TYPE_NONE = 0, "Element is a complex type, i.e. a struct."
122value: RS_TYPE_FLOAT_16 = 1, "A 16 bit floating point value."
123value: RS_TYPE_FLOAT_32 = 2, "A 32 bit floating point value."
124value: RS_TYPE_FLOAT_64 = 3, "A 64 bit floating point value."
125value: RS_TYPE_SIGNED_8 = 4, "An 8 bit signed integer."
126value: RS_TYPE_SIGNED_16 = 5, "A 16 bit signed integer."
127value: RS_TYPE_SIGNED_32 = 6, "A 32 bit signed integer."
128value: RS_TYPE_SIGNED_64 = 7, "A 64 bit signed integer."
129value: RS_TYPE_UNSIGNED_8 = 8, "An 8 bit unsigned integer."
130value: RS_TYPE_UNSIGNED_16 = 9, "A 16 bit unsigned integer."
131value: RS_TYPE_UNSIGNED_32 = 10, "A 32 bit unsigned integer."
132value: RS_TYPE_UNSIGNED_64 = 11, "A 64 bit unsigned integer."
133value: RS_TYPE_BOOLEAN = 12, "0 or 1 (false or true) stored in an 8 bit container."
134value: RS_TYPE_UNSIGNED_5_6_5 = 13, "A 16 bit unsigned integer packing graphical data in 5, 6, and 5 bit sections."
135value: RS_TYPE_UNSIGNED_5_5_5_1 = 14, "A 16 bit unsigned integer packing graphical data in 5, 5, 5, and 1 bit sections."
136value: RS_TYPE_UNSIGNED_4_4_4_4 = 15, "A 16 bit unsigned integer packing graphical data in 4, 4, 4, and 4 bit sections."
137value: RS_TYPE_MATRIX_4X4 = 16, "A 4x4 matrix of 32 bit floats, aligned on a 32 bit boundary."
138value: RS_TYPE_MATRIX_3X3 = 17, "A 3x3 matrix of 32 bit floats, aligned on a 32 bit boundary."
139value: RS_TYPE_MATRIX_2X2 = 18, "A 2x2 matrix of 32 bit floats, aligned on a 32 bit boundary."
140value: RS_TYPE_ELEMENT = 1000, "A handle to an Element."
141value: RS_TYPE_TYPE = 1001, "A handle to a Type."
142value: RS_TYPE_ALLOCATION = 1002, "A handle to an Allocation."
143value: RS_TYPE_SAMPLER = 1003, "A handle to a Sampler."
144value: RS_TYPE_SCRIPT = 1004, "A handle to a Script."
145value: RS_TYPE_MESH = 1005, "Deprecated."
146value: RS_TYPE_PROGRAM_FRAGMENT = 1006, "Deprecated."
147value: RS_TYPE_PROGRAM_VERTEX = 1007, "Deprecated."
148value: RS_TYPE_PROGRAM_RASTER = 1008, "Deprecated."
149value: RS_TYPE_PROGRAM_STORE = 1009, "Deprecated."
150value: RS_TYPE_FONT = 1010, "Deprecated."
151value: RS_TYPE_INVALID = 10000
152summary: Element basic data type
153description:
154 rs_data_type is used to encode the type information of a basic element.
155
156 RS_TYPE_UNSIGNED_5_6_5, RS_TYPE_UNSIGNED_5_5_5_1, RS_TYPE_UNSIGNED_4_4_4_4 are for packed
157 graphical data formats and represent vectors with per vector member sizes which are treated
158 as a single unit for packing and alignment purposes.
159end:
160
161type: rs_data_kind
162version: 16
163enum:
164value: RS_KIND_USER         = 0, "No special interpretation."
165value: RS_KIND_PIXEL_L      = 7, "Luminance."
166value: RS_KIND_PIXEL_A      = 8, "Alpha."
167value: RS_KIND_PIXEL_LA     = 9, "Luminance and Alpha."
168value: RS_KIND_PIXEL_RGB    = 10, "Red, Green, Blue."
169value: RS_KIND_PIXEL_RGBA   = 11, "Red, Green, Blue, and Alpha."
170value: RS_KIND_PIXEL_DEPTH  = 12, "Depth for a depth texture."
171value: RS_KIND_PIXEL_YUV    = 13, "Luminance and chrominance."
172value: RS_KIND_INVALID      = 100
173summary: Element data kind
174description:
175 This enumeration is primarly useful for graphical data.  It provides additional information to
176 help interpret the rs_data_type.
177
178 RS_KIND_USER indicates no special interpretation is expected.
179
180 The RS_KIND_PIXEL_* values are used in conjunction with the standard data types for representing
181 texture formats.
182
183 See the <a href='http://developer.android.com/reference/android/renderscript/Element.html#createPixel(android.renderscript.RenderScript,%20android.renderscript.Element.DataType, android.renderscript.Element.DataKind)'>Element.createPixel()</a> method.
184end:
185
186type: rs_yuv_format
187version: 24
188enum:
189value: RS_YUV_NONE = 0
190value: RS_YUV_YV12 = 0x32315659
191value: RS_YUV_NV21 = 0x11
192value: RS_YUV_420_888 = 0x23
193summary: YUV format
194description:
195  Android YUV formats that can be associated with a RenderScript Type.
196
197  See <a href='http://developer.android.com/reference/android/graphics/ImageFormat.html'>android.graphics.ImageFormat</a> for a description of each format.
198end:
199
200type: rs_sampler_value
201version: 16
202enum:
203value: RS_SAMPLER_NEAREST = 0
204value: RS_SAMPLER_LINEAR = 1
205value: RS_SAMPLER_LINEAR_MIP_LINEAR = 2
206value: RS_SAMPLER_WRAP = 3
207value: RS_SAMPLER_CLAMP = 4
208value: RS_SAMPLER_LINEAR_MIP_NEAREST = 5
209value: RS_SAMPLER_MIRRORED_REPEAT = 6
210value: RS_SAMPLER_INVALID = 100
211summary: Sampler wrap T value
212description:
213end:
214