blob: 4765940650b88db07cd7aada7d21f22f4a6612d1 [file] [log] [blame]
Shih-wei Liao462aefd2010-06-04 15:32:04 -07001#ifdef USE_ELEMENT_DATA_TYPE
2
3# define GET_ELEMENT_DATA_TYPE(type) ELEMENT_DATA_TYPE_ ## type
4
5# define ELEMENT_DATA_TYPE_FLOAT_32 RSExportPrimitiveType::DataTypeFloat32
6# define ELEMENT_DATA_TYPE_SIGNED_8 RSExportPrimitiveType::DataTypeSigned8
7# define ELEMENT_DATA_TYPE_SIGNED_16 RSExportPrimitiveType::DataTypeSigned16
8# define ELEMENT_DATA_TYPE_SIGNED_32 RSExportPrimitiveType::DataTypeSigned32
9# define ELEMENT_DATA_TYPE_UNSIGNED_8 RSExportPrimitiveType::DataTypeUnsigned8
10# define ELEMENT_DATA_TYPE_UNSIGNED_16 RSExportPrimitiveType::DataTypeUnsigned16
11# define ELEMENT_DATA_TYPE_UNSIGNED_32 RSExportPrimitiveType::DataTypeUnsigned32
12# define ELEMENT_DATA_TYPE_UNSIGNED_565 RSExportPrimitiveType::DataTypeUnsigned565
13# define ELEMENT_DATA_TYPE_UNSIGNED_5551 RSExportPrimitiveType::DataTypeUnsigned5551
14# define ELEMENT_DATA_TYPE_UNSIGNED_4444 RSExportPrimitiveType::DataTypeUnsigned4444
Shih-wei Liao1f0d88f2010-06-25 00:15:24 -070015# define ELEMENT_DATA_TYPE_BOOL RSExportPrimitiveType::DataTypeBool
Shih-wei Liao462aefd2010-06-04 15:32:04 -070016# define ELEMENT_DATA_TYPE_RS_ELEMENT RSExportPrimitiveType::DataTypeRSElement
17# define ELEMENT_DATA_TYPE_RS_TYPE RSExportPrimitiveType::DataTypeRSType
18# define ELEMENT_DATA_TYPE_RS_ALLOCATION RSExportPrimitiveType::DataTypeRSAllocation
19# define ELEMENT_DATA_TYPE_RS_SAMPLER RSExportPrimitiveType::DataTypeRSSampler
20# define ELEMENT_DATA_TYPE_RS_SCRIPT RSExportPrimitiveType::DataTypeRSScript
21# define ELEMENT_DATA_TYPE_RS_MESH RSExportPrimitiveType::DataTypeRSMesh
22# define ELEMENT_DATA_TYPE_RS_PROGRAM_FRAGMENT RSExportPrimitiveType::DataTypeRSProgramFragment
23# define ELEMENT_DATA_TYPE_RS_PROGRAM_VERTEX RSExportPrimitiveType::DataTypeRSProgramVertex
24# define ELEMENT_DATA_TYPE_RS_PROGRAM_RASTER RSExportPrimitiveType::DataTypeRSProgramRaster
25# define ELEMENT_DATA_TYPE_RS_PROGRAM_STORE RSExportPrimitiveType::DataTypeRSProgramStore
Shih-wei Liaocbbdd922010-06-24 12:11:39 -070026# define ELEMENT_DATA_TYPE_RS_FONT RSExportPrimitiveType::DataTypeRSFont
Shih-wei Liao462aefd2010-06-04 15:32:04 -070027
28#endif /* USE_ELEMENT_TYPE_NAME */
29
Shih-wei Liao1f0d88f2010-06-25 00:15:24 -070030
Shih-wei Liao462aefd2010-06-04 15:32:04 -070031#ifdef USE_ELEMENT_DATA_KIND
32
33# define GET_ELEMENT_DATA_KIND(kind) ELEMENT_DATA_KIND_ ## kind
34
35# define ELEMENT_DATA_KIND_USER RSExportPrimitiveType::DataKindUser
36# define ELEMENT_DATA_KIND_COLOR RSExportPrimitiveType::DataKindColor
37# define ELEMENT_DATA_KIND_POSITION RSExportPrimitiveType::DataKindPosition
38# define ELEMENT_DATA_KIND_TEXTURE RSExportPrimitiveType::DataKindTexture
39# define ELEMENT_DATA_KIND_NORMAL RSExportPrimitiveType::DataKindNormal
40# define ELEMENT_DATA_KIND_INDEX RSExportPrimitiveType::DataKindIndex
41# define ELEMENT_DATA_KIND_POINT_SIZE RSExportPrimitiveType::DataKindPointSize
42# define ELEMENT_DATA_KIND_PIXEL_L RSExportPrimitiveType::DataKindPixelL
43# define ELEMENT_DATA_KIND_PIXEL_A RSExportPrimitiveType::DataKindPixelA
44# define ELEMENT_DATA_KIND_PIXEL_LA RSExportPrimitiveType::DataKindPixelLA
45# define ELEMENT_DATA_KIND_PIXEL_RGB RSExportPrimitiveType::DataKindPixelRGB
46# define ELEMENT_DATA_KIND_PIXEL_RGBA RSExportPrimitiveType::DataKindPixelRGBA
47
48#endif /* USE_ELEMENT_TYPE_KIND */
49
50/* DEF_ELEMENT(name, dk, dt, norm, vsize) */
51#ifdef DEF_ELEMENT
52
53 /* RS_KIND_INDEX */
54 DEF_ELEMENT("rs_index", INDEX, UNSIGNED_16, false, 1)
55
56 /* RS_KIND_COLOR */
57 DEF_ELEMENT("rs_color3f", COLOR, FLOAT_32, false, 3)
58 DEF_ELEMENT("rs_color4f", COLOR, FLOAT_32, false, 4)
59 DEF_ELEMENT("rs_color3u", COLOR, UNSIGNED_8, true, 3)
60 DEF_ELEMENT("rs_color4u", COLOR, UNSIGNED_8, true, 4)
61
62 /* RS_KIND_POSITION */
63 DEF_ELEMENT("rs_position1", POSITION, FLOAT_32, false, 1)
64 DEF_ELEMENT("rs_position2", POSITION, FLOAT_32, false, 2)
65 DEF_ELEMENT("rs_position3", POSITION, FLOAT_32, false, 3)
66 DEF_ELEMENT("rs_position4", POSITION, FLOAT_32, false, 4)
67
68 /* RS_KIND_TEXTURE */
69 DEF_ELEMENT("rs_texture_coord1", TEXTURE, FLOAT_32, false, 1)
70 DEF_ELEMENT("rs_texture_coord2", TEXTURE, FLOAT_32, false, 2)
71 DEF_ELEMENT("rs_texture_coord3", TEXTURE, FLOAT_32, false, 3)
72 DEF_ELEMENT("rs_texture_coord4", TEXTURE, FLOAT_32, false, 4)
73
74 /* RS_KIND_NORMAL */
75 DEF_ELEMENT("rs_normal", NORMAL, FLOAT_32, false, 3)
76
77 /* RS_KIND_POINT_SIZE */
78 DEF_ELEMENT("rs_point_size", POINT_SIZE, FLOAT_32, false, 3)
79
80#endif /* DEF_ELEMENT */
81
82#if 0
83
84/* Element.createPixel(), always normalized */
85#ifdef DEF_PIXEL_ELEMENT /* (dk, dt, vsize) */
86 DEF_PIXEL_ELEMENT(PIXEL_L, UNSIGNED_8, 1)
87 DEF_PIXEL_ELEMENT(PIXEL_A, UNSIGNED_8, 1)
88 DEF_PIXEL_ELEMENT(PIXEL_LA, UNSIGNED_8, 2)
89 DEF_PIXEL_ELEMENT(PIXEL_RGB, UNSIGNED_8, 3)
90 DEF_PIXEL_ELEMENT(PIXEL_RGBA, UNSIGNED_8, 4)
91 DEF_PIXEL_ELEMENT(PIXEL_RGB, UNSIGNED_565, 1)
92 DEF_PIXEL_ELEMENT(PIXEL_RGBA, UNSIGNED_5551, 1)
93 DEF_PIXEL_ELEMENT(PIXEL_RGBA, UNSIGNED_4444, 1)
94# undef DEF_PIXEL_ELEMENT
95#endif /* DEF_PIXEL_ELEMENT */
96
97#endif
98
99
100#ifdef DEF_PRIMITIVE_DATA_TYPE /* (type, name) */
101
102 DEF_PRIMITIVE_DATA_TYPE(FLOAT_32, "float")
103 DEF_PRIMITIVE_DATA_TYPE(SIGNED_8, "char")
104 DEF_PRIMITIVE_DATA_TYPE(SIGNED_16, "short")
105 DEF_PRIMITIVE_DATA_TYPE(SIGNED_32, "int")
106 DEF_PRIMITIVE_DATA_TYPE(UNSIGNED_8, "uchar")
107 DEF_PRIMITIVE_DATA_TYPE(UNSIGNED_16, "ushort")
108 DEF_PRIMITIVE_DATA_TYPE(UNSIGNED_32, "uint")
109 DEF_PRIMITIVE_DATA_TYPE(UNSIGNED_565, "u565")
110 DEF_PRIMITIVE_DATA_TYPE(UNSIGNED_5551, "u5551")
111 DEF_PRIMITIVE_DATA_TYPE(UNSIGNED_4444, "u4444")
Shih-wei Liao1f0d88f2010-06-25 00:15:24 -0700112 DEF_PRIMITIVE_DATA_TYPE(BOOL, "bool")
Shih-wei Liao462aefd2010-06-04 15:32:04 -0700113
114# undef DEF_PRIMITIVE_DATA_TYPE
115#endif /* DEF_PRIMITIVE_DATA_TYPE */
116
117#ifdef DEF_RS_OBJECT_TYPE /* (type, name) */
118
119 DEF_RS_OBJECT_TYPE(RS_ELEMENT, "rs_element")
120 DEF_RS_OBJECT_TYPE(RS_TYPE, "rs_type")
121 DEF_RS_OBJECT_TYPE(RS_ALLOCATION, "rs_allocation")
122 DEF_RS_OBJECT_TYPE(RS_SAMPLER, "rs_sampler")
123 DEF_RS_OBJECT_TYPE(RS_SCRIPT, "rs_script")
124 DEF_RS_OBJECT_TYPE(RS_MESH, "rs_mesh")
125 DEF_RS_OBJECT_TYPE(RS_PROGRAM_FRAGMENT, "rs_program_fragment")
126 DEF_RS_OBJECT_TYPE(RS_PROGRAM_VERTEX, "rs_program_vertex")
127 DEF_RS_OBJECT_TYPE(RS_PROGRAM_RASTER, "rs_program_raster")
128 DEF_RS_OBJECT_TYPE(RS_PROGRAM_STORE, "rs_program_store")
Shih-wei Liaocbbdd922010-06-24 12:11:39 -0700129 DEF_RS_OBJECT_TYPE(RS_FONT, "rs_font")
Shih-wei Liao462aefd2010-06-04 15:32:04 -0700130
131# undef DEF_RS_OBJECT_TYPE
132#endif /* DEF_RS_OBJECT_TYPE */
133
134#ifdef DEF_ELEMENT
135# undef DEF_ELEMENT
136#endif
137
138#ifdef USE_ELEMENT_DATA_TYPE
139
140# undef GET_ELEMENT_DATA_TYPE
141
142# undef ELEMENT_DATA_TYPE_FLOAT_32
143# undef ELEMENT_DATA_TYPE_SIGNED_8
144# undef ELEMENT_DATA_TYPE_SIGNED_16
145# undef ELEMENT_DATA_TYPE_SIGNED_32
146# undef ELEMENT_DATA_TYPE_UNSIGNED_8
147# undef ELEMENT_DATA_TYPE_UNSIGNED_16
148# undef ELEMENT_DATA_TYPE_UNSIGNED_32
149# undef ELEMENT_DATA_TYPE_UNSIGNED_565
150# undef ELEMENT_DATA_TYPE_UNSIGNED_5551
151# undef ELEMENT_DATA_TYPE_UNSIGNED_4444
Shih-wei Liao1f0d88f2010-06-25 00:15:24 -0700152# undef ELEMENT_DATA_TYPE_BOOL
Shih-wei Liao462aefd2010-06-04 15:32:04 -0700153# undef ELEMENT_DATA_TYPE_RS_ELEMENT
154# undef ELEMENT_DATA_TYPE_RS_TYPE
155# undef ELEMENT_DATA_TYPE_RS_ALLOCATION
156# undef ELEMENT_DATA_TYPE_RS_SAMPLER
157# undef ELEMENT_DATA_TYPE_RS_SCRIPT
158# undef ELEMENT_DATA_TYPE_RS_MESH
159# undef ELEMENT_DATA_TYPE_RS_PROGRAM_FRAGMENT
160# undef ELEMENT_DATA_TYPE_RS_PROGRAM_VERTEX
161# undef ELEMENT_DATA_TYPE_RS_PROGRAM_RASTER
162# undef ELEMENT_DATA_TYPE_RS_PROGRAM_STORE
Shih-wei Liaocbbdd922010-06-24 12:11:39 -0700163# undef ELEMENT_DATA_TYPE_RS_FONT
Shih-wei Liao462aefd2010-06-04 15:32:04 -0700164
165# undef USE_ELEMENT_DATA_TYPE
166
167#endif
168
169#ifdef USE_ELEMENT_DATA_KIND
170
171# undef GET_ELEMENT_DATA_KIND
172
173# undef ELEMENT_DATA_KIND_USER
174# undef ELEMENT_DATA_KIND_COLOR
175# undef ELEMENT_DATA_KIND_POSITION
176# undef ELEMENT_DATA_KIND_TEXTURE
177# undef ELEMENT_DATA_KIND_NORMAL
178# undef ELEMENT_DATA_KIND_INDEX
179# undef ELEMENT_DATA_KIND_POINT_SIZE
180# undef ELEMENT_DATA_KIND_PIXEL_L
181# undef ELEMENT_DATA_KIND_PIXEL_A
182# undef ELEMENT_DATA_KIND_PIXEL_LA
183# undef ELEMENT_DATA_KIND_PIXEL_RGB
184# undef ELEMENT_DATA_KIND_PIXEL_RGBA
185
186# undef USE_ELEMENT_DATA_KIND
187
188#endif