1be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2291330fbaf7486a1cea33de7dd26c18e57c71391Stephen Hines * Copyright (C) 2016 The Android Open Source Project
3be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
4be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Licensed under the Apache License, Version 2.0 (the "License");
5be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * you may not use this file except in compliance with the License.
6be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * You may obtain a copy of the License at
7be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
8be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *      http://www.apache.org/licenses/LICENSE-2.0
9be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
10be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * Unless required by applicable law or agreed to in writing, software
11be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * distributed under the License is distributed on an "AS IS" BASIS,
12be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * See the License for the specific language governing permissions and
14be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * limitations under the License.
15be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
16be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
174a73004df5231d188c41267fee17c566ae7c3631Jean-Luc Brouillet// Don't edit this file!  It is auto-generated by frameworks/rs/api/generate.sh.
18be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
19be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
2020b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet * rs_object_types.rsh: Object Types
21be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
226386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * The types below are used to manipulate RenderScript objects like allocations, samplers,
236386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * elements, and scripts.  Most of these object are created using the Java RenderScript APIs.
24be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
254a73004df5231d188c41267fee17c566ae7c3631Jean-Luc Brouillet
26be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#ifndef RENDERSCRIPT_RS_OBJECT_TYPES_RSH
27be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#define RENDERSCRIPT_RS_OBJECT_TYPES_RSH
28be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
29be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#define NULL ((void *)0)
30be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
31be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet// Opaque handle to a RenderScript object. Do not use this directly.
32be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#ifndef __LP64__
33ca51c78b9e3097ee31dd24cdc5982f550ee563d1Stephen Hines#define _RS_OBJECT_DECL \
34ca51c78b9e3097ee31dd24cdc5982f550ee563d1Stephen Hines{\
35be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet  const int* const p;\
36be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet} __attribute__((packed, aligned(4)))
37be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#else
38ca51c78b9e3097ee31dd24cdc5982f550ee563d1Stephen Hines#define _RS_OBJECT_DECL \
39ca51c78b9e3097ee31dd24cdc5982f550ee563d1Stephen Hines{\
40be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet  const long* const p;\
41700e68883c4324c15b380ff6724249f39d4f498cI-Jui (Ray) Sung  const long* const unused1;\
42700e68883c4324c15b380ff6724249f39d4f498cI-Jui (Ray) Sung  const long* const unused2;\
43700e68883c4324c15b380ff6724249f39d4f498cI-Jui (Ray) Sung  const long* const unused3;\
44be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet}
45be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
46be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
47be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
48be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rs_element: Handle to an element
49be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
506386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * An opaque handle to a RenderScript element.
512217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet *
522217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet * See android.renderscript.Element.
53be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
54ca51c78b9e3097ee31dd24cdc5982f550ee563d1Stephen Hinestypedef struct rs_element _RS_OBJECT_DECL rs_element;
55be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
56be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
57be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rs_type: Handle to a Type
58be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
596386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * An opaque handle to a RenderScript type.
602217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet *
612217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet * See android.renderscript.Type.
62be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
63ca51c78b9e3097ee31dd24cdc5982f550ee563d1Stephen Hinestypedef struct rs_type _RS_OBJECT_DECL rs_type;
64be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
65be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
66be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rs_allocation: Handle to an allocation
67be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
686386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * An opaque handle to a RenderScript allocation.
692217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet *
702217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet * See android.renderscript.Allocation.
71be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
72ca51c78b9e3097ee31dd24cdc5982f550ee563d1Stephen Hinestypedef struct rs_allocation _RS_OBJECT_DECL rs_allocation;
73be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
74be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
75be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rs_sampler: Handle to a Sampler
76be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
776386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * An opaque handle to a RenderScript sampler object.
782217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet *
792217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet * See android.renderscript.Sampler.
80be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
81ca51c78b9e3097ee31dd24cdc5982f550ee563d1Stephen Hinestypedef struct rs_sampler _RS_OBJECT_DECL rs_sampler;
82be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
83be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
84be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rs_script: Handle to a Script
85be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
866386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * An opaque handle to a RenderScript script object.
872217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet *
882217eb7b12e598e5b435a732207647918c171560Jean-Luc Brouillet * See android.renderscript.ScriptC.
89be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
90ca51c78b9e3097ee31dd24cdc5982f550ee563d1Stephen Hinestypedef struct rs_script _RS_OBJECT_DECL rs_script;
91be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
92be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
93be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rs_allocation_cubemap_face: Enum for selecting cube map faces
94be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
956386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * An enum used to specify one the six faces of a cubemap.
96be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
97be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 14))
98be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettypedef enum {
99be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_X = 0,
100be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_X = 1,
101be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Y = 2,
102be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Y = 3,
103be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    RS_ALLOCATION_CUBEMAP_FACE_POSITIVE_Z = 4,
104be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    RS_ALLOCATION_CUBEMAP_FACE_NEGATIVE_Z = 5
105be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet} rs_allocation_cubemap_face;
106be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
107be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
108be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
1096386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rs_allocation_usage_type: Bitfield to specify how an allocation is used
110be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
111be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * These values are ORed together to specify which usages or memory spaces are
112be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * relevant to an allocation or an operation on an allocation.
113be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
114be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 14))
115be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettypedef enum {
116f1d7b463a3f589e788b772e59fce9b608f4bc2d9Jean-Luc Brouillet    RS_ALLOCATION_USAGE_SCRIPT = 0x0001, // Allocation is bound to and accessed by scripts.
1173ccf0062326427828d1a6050ab329bb5964796e5Miao Wang    RS_ALLOCATION_USAGE_GRAPHICS_TEXTURE = 0x0002, // Allocation is used as a texture source.
118be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    RS_ALLOCATION_USAGE_GRAPHICS_VERTEX = 0x0004, // Deprecated.
119be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    RS_ALLOCATION_USAGE_GRAPHICS_CONSTANTS = 0x0008, // Deprecated.
120f1d7b463a3f589e788b772e59fce9b608f4bc2d9Jean-Luc Brouillet    RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010, // Deprecated.
121f1d7b463a3f589e788b772e59fce9b608f4bc2d9Jean-Luc Brouillet    RS_ALLOCATION_USAGE_IO_INPUT = 0x0020, // Allocation is used as a Surface consumer.
122f1d7b463a3f589e788b772e59fce9b608f4bc2d9Jean-Luc Brouillet    RS_ALLOCATION_USAGE_IO_OUTPUT = 0x0040, // Allocation is used as a Surface producer.
123f1d7b463a3f589e788b772e59fce9b608f4bc2d9Jean-Luc Brouillet    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.
124be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet} rs_allocation_usage_type;
125be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
126be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
127be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
1286386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rs_data_type: Element basic data type
1296386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
1306386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * rs_data_type is used to encode the type information of a basic element.
1316386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
1326386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * RS_TYPE_UNSIGNED_5_6_5, RS_TYPE_UNSIGNED_5_5_5_1, RS_TYPE_UNSIGNED_4_4_4_4 are for packed
1336386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * graphical data formats and represent vectors with per vector member sizes which are treated
1346386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * as a single unit for packing and alignment purposes.
135be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
136be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
137be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettypedef enum {
1386386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_NONE = 0, // Element is a complex type, i.e. a struct.
139421d8ceaa1a8f5612d35eb06feffd07fd21ebd97Pirama Arumuga Nainar    RS_TYPE_FLOAT_16 = 1, // A 16 bit floating point value.
140421d8ceaa1a8f5612d35eb06feffd07fd21ebd97Pirama Arumuga Nainar    RS_TYPE_FLOAT_32 = 2, // A 32 bit floating point value.
1416386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_FLOAT_64 = 3, // A 64 bit floating point value.
1426386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_SIGNED_8 = 4, // An 8 bit signed integer.
1436386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_SIGNED_16 = 5, // A 16 bit signed integer.
1446386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_SIGNED_32 = 6, // A 32 bit signed integer.
1456386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_SIGNED_64 = 7, // A 64 bit signed integer.
1466386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_UNSIGNED_8 = 8, // An 8 bit unsigned integer.
1476386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_UNSIGNED_16 = 9, // A 16 bit unsigned integer.
1486386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_UNSIGNED_32 = 10, // A 32 bit unsigned integer.
1496386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_UNSIGNED_64 = 11, // A 64 bit unsigned integer.
1506386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_BOOLEAN = 12, // 0 or 1 (false or true) stored in an 8 bit container.
1516386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_UNSIGNED_5_6_5 = 13, // A 16 bit unsigned integer packing graphical data in 5, 6, and 5 bit sections.
1526386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_UNSIGNED_5_5_5_1 = 14, // A 16 bit unsigned integer packing graphical data in 5, 5, 5, and 1 bit sections.
1536386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_UNSIGNED_4_4_4_4 = 15, // A 16 bit unsigned integer packing graphical data in 4, 4, 4, and 4 bit sections.
1546386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_MATRIX_4X4 = 16, // A 4x4 matrix of 32 bit floats, aligned on a 32 bit boundary.
1556386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_MATRIX_3X3 = 17, // A 3x3 matrix of 32 bit floats, aligned on a 32 bit boundary.
1566386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_MATRIX_2X2 = 18, // A 2x2 matrix of 32 bit floats, aligned on a 32 bit boundary.
1576386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_ELEMENT = 1000, // A handle to an Element.
1586386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_TYPE = 1001, // A handle to a Type.
1596386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_ALLOCATION = 1002, // A handle to an Allocation.
1606386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_SAMPLER = 1003, // A handle to a Sampler.
1616386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_SCRIPT = 1004, // A handle to a Script.
1626386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_MESH = 1005, // Deprecated.
1636386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_PROGRAM_FRAGMENT = 1006, // Deprecated.
1646386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_PROGRAM_VERTEX = 1007, // Deprecated.
1656386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_PROGRAM_RASTER = 1008, // Deprecated.
1666386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_PROGRAM_STORE = 1009, // Deprecated.
1676386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_TYPE_FONT = 1010, // Deprecated.
16820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet    RS_TYPE_INVALID = 10000
169be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet} rs_data_type;
170be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
171be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
172be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
173be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rs_data_kind: Element data kind
174be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
1756386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * This enumeration is primarly useful for graphical data.  It provides additional information to
1766386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * help interpret the rs_data_type.
1776386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
1786386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * RS_KIND_USER indicates no special interpretation is expected.
1796386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
1806386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * The RS_KIND_PIXEL_* values are used in conjunction with the standard data types for representing
1816386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * texture formats.
1826386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet *
1836386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet * See the Element.createPixel() method.
184be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
185be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
186be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettypedef enum {
1876386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_KIND_USER         = 0, // No special interpretation.
1886386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_KIND_PIXEL_L      = 7, // Luminance.
1896386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_KIND_PIXEL_A      = 8, // Alpha.
1906386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_KIND_PIXEL_LA     = 9, // Luminance and Alpha.
1916386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_KIND_PIXEL_RGB    = 10, // Red, Green, Blue.
1926386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_KIND_PIXEL_RGBA   = 11, // Red, Green, Blue, and Alpha.
1936386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_KIND_PIXEL_DEPTH  = 12, // Depth for a depth texture.
1946386ceb3bf25e442513224aaa45691dfe49562d9Jean-Luc Brouillet    RS_KIND_PIXEL_YUV    = 13, // Luminance and chrominance.
195be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet    RS_KIND_INVALID      = 100
196be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet} rs_data_kind;
197be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
198be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
199be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet/*
200b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar * rs_yuv_format: YUV format
201b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar *
202b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar *  Android YUV formats that can be associated with a RenderScript Type.
203b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar *
204b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar *  See android.graphics.ImageFormat for a description of each format.
205b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar */
206fba00d3fa4c59b71640506b40d9e9ef0af8bccc7Yang Ni#if (defined(RS_VERSION) && (RS_VERSION >= 24))
207b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainartypedef enum {
208b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar    RS_YUV_NONE = 0,
209b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar    RS_YUV_YV12 = 0x32315659,
210b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar    RS_YUV_NV21 = 0x11,
211b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar    RS_YUV_420_888 = 0x23
212b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar} rs_yuv_format;
213b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar#endif
214b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar
215b4b74afc0ab3876afa2dd189ecbcf44d6a3db285Pirama Arumuga Nainar/*
216be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet * rs_sampler_value: Sampler wrap T value
217be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet *
218be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet */
219be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#if (defined(RS_VERSION) && (RS_VERSION >= 16))
220be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillettypedef enum {
22120b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet    RS_SAMPLER_NEAREST = 0,
22220b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet    RS_SAMPLER_LINEAR = 1,
22320b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet    RS_SAMPLER_LINEAR_MIP_LINEAR = 2,
22420b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet    RS_SAMPLER_WRAP = 3,
22520b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet    RS_SAMPLER_CLAMP = 4,
22620b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet    RS_SAMPLER_LINEAR_MIP_NEAREST = 5,
22720b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet    RS_SAMPLER_MIRRORED_REPEAT = 6,
22820b27d602a4778ed50a83df2147416a35b7c92beJean-Luc Brouillet    RS_SAMPLER_INVALID = 100
229be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet} rs_sampler_value;
230be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif
231be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet
232be2163801c33d6849ae580d42b919b8803d55095Jean-Luc Brouillet#endif // RENDERSCRIPT_RS_OBJECT_TYPES_RSH
233