blob: b0366fb834492fb3ee297cb56b2c5403c13c523d [file] [log] [blame]
twiz@google.com0f31ca72011-03-18 17:38:11 +00001/*
2 Copyright 2011 Google Inc.
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
17
18#ifndef GrGLDefines_DEFINED
19#define GrGLDefines_DEFINED
20
21// The following constants consist of the intersection of GL constants
22// exported by GLES 1.0, GLES 2.0, and desktop GL required by the system.
23
24#define GR_GL_DEPTH_BUFFER_BIT 0x00000100
25#define GR_GL_STENCIL_BUFFER_BIT 0x00000400
26#define GR_GL_COLOR_BUFFER_BIT 0x00004000
27
28/* Boolean */
29#define GR_GL_FALSE 0
30#define GR_GL_TRUE 1
31
32/* BeginMode */
33#define GR_GL_POINTS 0x0000
34#define GR_GL_LINES 0x0001
35#define GR_GL_LINE_LOOP 0x0002
36#define GR_GL_LINE_STRIP 0x0003
37#define GR_GL_TRIANGLES 0x0004
38#define GR_GL_TRIANGLE_STRIP 0x0005
39#define GR_GL_TRIANGLE_FAN 0x0006
40
41/* AlphaFunction (not supported in ES20) */
42/* GL_NEVER */
43/* GL_LESS */
44/* GL_EQUAL */
45/* GL_LEQUAL */
46/* GL_GREATER */
47/* GL_NOTEQUAL */
48/* GL_GEQUAL */
49/* GL_ALWAYS */
50
51/* BlendingFactorDest */
52#define GR_GL_ZERO 0
53#define GR_GL_ONE 1
54#define GR_GL_SRC_COLOR 0x0300
55#define GR_GL_ONE_MINUS_SRC_COLOR 0x0301
56#define GR_GL_SRC_ALPHA 0x0302
57#define GR_GL_ONE_MINUS_SRC_ALPHA 0x0303
58#define GR_GL_DST_ALPHA 0x0304
59#define GR_GL_ONE_MINUS_DST_ALPHA 0x0305
60
61/* BlendingFactorSrc */
62/* GL_ZERO */
63/* GL_ONE */
64#define GR_GL_DST_COLOR 0x0306
65#define GR_GL_ONE_MINUS_DST_COLOR 0x0307
66#define GR_GL_SRC_ALPHA_SATURATE 0x0308
67/* GL_SRC_ALPHA */
68/* GL_ONE_MINUS_SRC_ALPHA */
69/* GL_DST_ALPHA */
70/* GL_ONE_MINUS_DST_ALPHA */
71
bsalomon@google.com271cffc2011-05-20 14:13:56 +000072/* ExtendedBlendFactors */
73#define GR_GL_SRC1_COLOR 0x88F9
74#define GR_GL_ONE_MINUS_SRC1_COLOR 0x88FA
75/* GL_SRC1_ALPHA */
76#define GR_GL_ONE_MINUS_SRC1_ALPHA 0x88FB
77
twiz@google.com0f31ca72011-03-18 17:38:11 +000078/* BlendEquationSeparate */
79#define GR_GL_FUNC_ADD 0x8006
80#define GR_GL_BLEND_EQUATION 0x8009
81#define GR_GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */
82#define GR_GL_BLEND_EQUATION_ALPHA 0x883D
83
84/* BlendSubtract */
85#define GR_GL_FUNC_SUBTRACT 0x800A
86#define GR_GL_FUNC_REVERSE_SUBTRACT 0x800B
87
88/* Separate Blend Functions */
89#define GR_GL_BLEND_DST_RGB 0x80C8
90#define GR_GL_BLEND_SRC_RGB 0x80C9
91#define GR_GL_BLEND_DST_ALPHA 0x80CA
92#define GR_GL_BLEND_SRC_ALPHA 0x80CB
93#define GR_GL_CONSTANT_COLOR 0x8001
94#define GR_GL_ONE_MINUS_CONSTANT_COLOR 0x8002
95#define GR_GL_CONSTANT_ALPHA 0x8003
96#define GR_GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
97#define GR_GL_BLEND_COLOR 0x8005
98
99/* Buffer Objects */
100#define GR_GL_ARRAY_BUFFER 0x8892
101#define GR_GL_ELEMENT_ARRAY_BUFFER 0x8893
102#define GR_GL_ARRAY_BUFFER_BINDING 0x8894
103#define GR_GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
104
105#define GR_GL_STREAM_DRAW 0x88E0
106#define GR_GL_STATIC_DRAW 0x88E4
107#define GR_GL_DYNAMIC_DRAW 0x88E8
108
109#define GR_GL_BUFFER_SIZE 0x8764
110#define GR_GL_BUFFER_USAGE 0x8765
111
112#define GR_GL_CURRENT_VERTEX_ATTRIB 0x8626
113
114/* CullFaceMode */
115#define GR_GL_FRONT 0x0404
116#define GR_GL_BACK 0x0405
117#define GR_GL_FRONT_AND_BACK 0x0408
118
119/* DepthFunction */
120/* GL_NEVER */
121/* GL_LESS */
122/* GL_EQUAL */
123/* GL_LEQUAL */
124/* GL_GREATER */
125/* GL_NOTEQUAL */
126/* GL_GEQUAL */
127/* GL_ALWAYS */
128
129/* EnableCap */
130#define GR_GL_TEXTURE_2D 0x0DE1
131#define GR_GL_CULL_FACE 0x0B44
132#define GR_GL_BLEND 0x0BE2
133#define GR_GL_DITHER 0x0BD0
134#define GR_GL_STENCIL_TEST 0x0B90
135#define GR_GL_DEPTH_TEST 0x0B71
136#define GR_GL_SCISSOR_TEST 0x0C11
137#define GR_GL_POLYGON_OFFSET_FILL 0x8037
138#define GR_GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
139#define GR_GL_SAMPLE_COVERAGE 0x80A0
140
141/* ErrorCode */
142#define GR_GL_NO_ERROR 0
143#define GR_GL_INVALID_ENUM 0x0500
144#define GR_GL_INVALID_VALUE 0x0501
145#define GR_GL_INVALID_OPERATION 0x0502
146#define GR_GL_OUT_OF_MEMORY 0x0505
147#define GR_GL_CONTEXT_LOST 0x300E // TODO(gman): What value?
148
149/* FrontFaceDirection */
150#define GR_GL_CW 0x0900
151#define GR_GL_CCW 0x0901
152
153/* GetPName */
154#define GR_GL_LINE_WIDTH 0x0B21
155#define GR_GL_ALIASED_POINT_SIZE_RANGE 0x846D
156#define GR_GL_ALIASED_LINE_WIDTH_RANGE 0x846E
157#define GR_GL_CULL_FACE_MODE 0x0B45
158#define GR_GL_FRONT_FACE 0x0B46
159#define GR_GL_DEPTH_RANGE 0x0B70
160#define GR_GL_DEPTH_WRITEMASK 0x0B72
161#define GR_GL_DEPTH_CLEAR_VALUE 0x0B73
162#define GR_GL_DEPTH_FUNC 0x0B74
163#define GR_GL_STENCIL_CLEAR_VALUE 0x0B91
164#define GR_GL_STENCIL_FUNC 0x0B92
165#define GR_GL_STENCIL_FAIL 0x0B94
166#define GR_GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
167#define GR_GL_STENCIL_PASS_DEPTH_PASS 0x0B96
168#define GR_GL_STENCIL_REF 0x0B97
169#define GR_GL_STENCIL_VALUE_MASK 0x0B93
170#define GR_GL_STENCIL_WRITEMASK 0x0B98
171#define GR_GL_STENCIL_BACK_FUNC 0x8800
172#define GR_GL_STENCIL_BACK_FAIL 0x8801
173#define GR_GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
174#define GR_GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
175#define GR_GL_STENCIL_BACK_REF 0x8CA3
176#define GR_GL_STENCIL_BACK_VALUE_MASK 0x8CA4
177#define GR_GL_STENCIL_BACK_WRITEMASK 0x8CA5
178#define GR_GL_VIEWPORT 0x0BA2
179#define GR_GL_SCISSOR_BOX 0x0C10
180/* GL_SCISSOR_TEST */
181#define GR_GL_COLOR_CLEAR_VALUE 0x0C22
182#define GR_GL_COLOR_WRITEMASK 0x0C23
183#define GR_GL_UNPACK_ALIGNMENT 0x0CF5
184#define GR_GL_PACK_ALIGNMENT 0x0D05
185#define GR_GL_MAX_TEXTURE_SIZE 0x0D33
186#define GR_GL_MAX_VIEWPORT_DIMS 0x0D3A
187#define GR_GL_SUBPIXEL_BITS 0x0D50
188#define GR_GL_RED_BITS 0x0D52
189#define GR_GL_GREEN_BITS 0x0D53
190#define GR_GL_BLUE_BITS 0x0D54
191#define GR_GL_ALPHA_BITS 0x0D55
192#define GR_GL_DEPTH_BITS 0x0D56
193#define GR_GL_STENCIL_BITS 0x0D57
194#define GR_GL_POLYGON_OFFSET_UNITS 0x2A00
195/* GL_POLYGON_OFFSET_FILL */
196#define GR_GL_POLYGON_OFFSET_FACTOR 0x8038
197#define GR_GL_TEXTURE_BINDING_2D 0x8069
198#define GR_GL_SAMPLE_BUFFERS 0x80A8
199#define GR_GL_SAMPLES 0x80A9
200#define GR_GL_SAMPLE_COVERAGE_VALUE 0x80AA
201#define GR_GL_SAMPLE_COVERAGE_INVERT 0x80AB
202
203/* GetTextureParameter */
204/* GL_TEXTURE_MAG_FILTER */
205/* GL_TEXTURE_MIN_FILTER */
206/* GL_TEXTURE_WRAP_S */
207/* GL_TEXTURE_WRAP_T */
208
209#define GR_GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
210#define GR_GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
211
212/* HintMode */
213#define GR_GL_DONT_CARE 0x1100
214#define GR_GL_FASTEST 0x1101
215#define GR_GL_NICEST 0x1102
216
217/* HintTarget */
218#define GR_GL_GENERATE_MIPMAP_HINT 0x8192
219
220/* DataType */
221#define GR_GL_BYTE 0x1400
222#define GR_GL_UNSIGNED_BYTE 0x1401
223#define GR_GL_SHORT 0x1402
224#define GR_GL_UNSIGNED_SHORT 0x1403
225#define GR_GL_INT 0x1404
226#define GR_GL_UNSIGNED_INT 0x1405
227#define GR_GL_FLOAT 0x1406
228#define GR_GL_FIXED 0x140C
229
230/* Lighting */
231#define GR_GL_LIGHTING 0x0B50
232#define GR_GL_LIGHT0 0x4000
233#define GR_GL_LIGHT1 0x4001
234#define GR_GL_LIGHT2 0x4002
235#define GR_GL_LIGHT3 0x4003
236#define GR_GL_LIGHT4 0x4004
237#define GR_GL_LIGHT5 0x4005
238#define GR_GL_LIGHT6 0x4006
239#define GR_GL_LIGHT7 0x4007
240#define GR_GL_SPOT_EXPONENT 0x1205
241#define GR_GL_SPOT_CUTOFF 0x1206
242#define GR_GL_CONSTANT_ATTENUATION 0x1207
243#define GR_GL_LINEAR_ATTENUATION 0x1208
244#define GR_GL_QUADRATIC_ATTENUATION 0x1209
245#define GR_GL_AMBIENT 0x1200
246#define GR_GL_DIFFUSE 0x1201
247#define GR_GL_SPECULAR 0x1202
248#define GR_GL_SHININESS 0x1601
249#define GR_GL_EMISSION 0x1600
250#define GR_GL_POSITION 0x1203
251#define GR_GL_SPOT_DIRECTION 0x1204
252#define GR_GL_AMBIENT_AND_DIFFUSE 0x1602
253#define GR_GL_COLOR_INDEXES 0x1603
254#define GR_GL_LIGHT_MODEL_TWO_SIDE 0x0B52
255#define GR_GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51
256#define GR_GL_LIGHT_MODEL_AMBIENT 0x0B53
257#define GR_GL_FRONT_AND_BACK 0x0408
258#define GR_GL_SHADE_MODEL 0x0B54
259#define GR_GL_FLAT 0x1D00
260#define GR_GL_SMOOTH 0x1D01
261#define GR_GL_COLOR_MATERIAL 0x0B57
262#define GR_GL_COLOR_MATERIAL_FACE 0x0B55
263#define GR_GL_COLOR_MATERIAL_PARAMETER 0x0B56
264#define GR_GL_NORMALIZE 0x0BA1
265
266/* Matrix Mode */
267#define GR_GL_MATRIX_MODE 0x0BA0
268#define GR_GL_MODELVIEW 0x1700
269#define GR_GL_PROJECTION 0x1701
270#define GR_GL_TEXTURE 0x1702
271
272/* multisample */
273#define GR_GL_MULTISAMPLE 0x809D
274
275/* Points */
276#define GR_GL_POINT_SMOOTH 0x0B10
277#define GR_GL_POINT_SIZE 0x0B11
278#define GR_GL_POINT_SIZE_GRANULARITY 0x0B13
279#define GR_GL_POINT_SIZE_RANGE 0x0B12
280
281/* Lines */
282#define GR_GL_LINE_SMOOTH 0x0B20
283#define GR_GL_LINE_STIPPLE 0x0B24
284#define GR_GL_LINE_STIPPLE_PATTERN 0x0B25
285#define GR_GL_LINE_STIPPLE_REPEAT 0x0B26
286#define GR_GL_LINE_WIDTH 0x0B21
287#define GR_GL_LINE_WIDTH_GRANULARITY 0x0B23
288#define GR_GL_LINE_WIDTH_RANGE 0x0B22
289
290/* PixelFormat */
291#define GR_GL_DEPTH_COMPONENT 0x1902
292#define GR_GL_ALPHA 0x1906
293#define GR_GL_RGB 0x1907
294#define GR_GL_RGBA 0x1908
bsalomon@google.comc312bf92011-03-21 21:10:33 +0000295#define GR_GL_BGRA 0x80E1
twiz@google.com0f31ca72011-03-18 17:38:11 +0000296#define GR_GL_LUMINANCE 0x1909
297#define GR_GL_LUMINANCE_ALPHA 0x190A
bsalomon@google.comc312bf92011-03-21 21:10:33 +0000298#define GR_GL_PALETTE8_RGBA8 0x8B96
twiz@google.com0f31ca72011-03-18 17:38:11 +0000299
300/* PixelType */
301/* GL_UNSIGNED_BYTE */
302#define GR_GL_UNSIGNED_SHORT_4_4_4_4 0x8033
303#define GR_GL_UNSIGNED_SHORT_5_5_5_1 0x8034
304#define GR_GL_UNSIGNED_SHORT_5_6_5 0x8363
305
306/* Shaders */
307#define GR_GL_FRAGMENT_SHADER 0x8B30
308#define GR_GL_VERTEX_SHADER 0x8B31
309#define GR_GL_MAX_VERTEX_ATTRIBS 0x8869
310#define GR_GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
311#define GR_GL_MAX_VARYING_VECTORS 0x8DFC
312#define GR_GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
313#define GR_GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
314#define GR_GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
315#define GR_GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
316#define GR_GL_SHADER_TYPE 0x8B4F
317#define GR_GL_DELETE_STATUS 0x8B80
318#define GR_GL_LINK_STATUS 0x8B82
319#define GR_GL_VALIDATE_STATUS 0x8B83
320#define GR_GL_ATTACHED_SHADERS 0x8B85
321#define GR_GL_ACTIVE_UNIFORMS 0x8B86
322#define GR_GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
323#define GR_GL_ACTIVE_ATTRIBUTES 0x8B89
324#define GR_GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
325#define GR_GL_SHADING_LANGUAGE_VERSION 0x8B8C
326#define GR_GL_CURRENT_PROGRAM 0x8B8D
senorblanco@chromium.orgef3913b2011-05-19 17:11:07 +0000327#define GR_GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
328#define GR_GL_MAX_VERTEX_UNIFORM_COMPONENTS 0x8B4A
twiz@google.com0f31ca72011-03-18 17:38:11 +0000329
330/* StencilFunction */
331#define GR_GL_NEVER 0x0200
332#define GR_GL_LESS 0x0201
333#define GR_GL_EQUAL 0x0202
334#define GR_GL_LEQUAL 0x0203
335#define GR_GL_GREATER 0x0204
336#define GR_GL_NOTEQUAL 0x0205
337#define GR_GL_GEQUAL 0x0206
338#define GR_GL_ALWAYS 0x0207
339
340/* StencilOp */
341/* GL_ZERO */
342#define GR_GL_KEEP 0x1E00
343#define GR_GL_REPLACE 0x1E01
344#define GR_GL_INCR 0x1E02
345#define GR_GL_DECR 0x1E03
346#define GR_GL_INVERT 0x150A
347#define GR_GL_INCR_WRAP 0x8507
348#define GR_GL_DECR_WRAP 0x8508
349
350/* StringName */
351#define GR_GL_VENDOR 0x1F00
352#define GR_GL_RENDERER 0x1F01
353#define GR_GL_VERSION 0x1F02
354#define GR_GL_EXTENSIONS 0x1F03
355
356/* Pixel Mode / Transfer */
357#define GR_GL_UNPACK_ROW_LENGTH 0x0CF2
358
359/* TextureMagFilter */
360#define GR_GL_NEAREST 0x2600
361#define GR_GL_LINEAR 0x2601
362
363/* TextureMinFilter */
364/* GL_NEAREST */
365/* GL_LINEAR */
366#define GR_GL_NEAREST_MIPMAP_NEAREST 0x2700
367#define GR_GL_LINEAR_MIPMAP_NEAREST 0x2701
368#define GR_GL_NEAREST_MIPMAP_LINEAR 0x2702
369#define GR_GL_LINEAR_MIPMAP_LINEAR 0x2703
370
371/* TextureParameterName */
372#define GR_GL_TEXTURE_MAG_FILTER 0x2800
373#define GR_GL_TEXTURE_MIN_FILTER 0x2801
374#define GR_GL_TEXTURE_WRAP_S 0x2802
375#define GR_GL_TEXTURE_WRAP_T 0x2803
376
377/* TextureTarget */
378/* GL_TEXTURE_2D */
379#define GR_GL_TEXTURE 0x1702
380#define GR_GL_TEXTURE_CUBE_MAP 0x8513
381#define GR_GL_TEXTURE_BINDING_CUBE_MAP 0x8514
382#define GR_GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
383#define GR_GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
384#define GR_GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
385#define GR_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
386#define GR_GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
387#define GR_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
388#define GR_GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
389
390/* TextureUnit */
391#define GR_GL_TEXTURE0 0x84C0
392#define GR_GL_TEXTURE1 0x84C1
393#define GR_GL_TEXTURE2 0x84C2
394#define GR_GL_TEXTURE3 0x84C3
395#define GR_GL_TEXTURE4 0x84C4
396#define GR_GL_TEXTURE5 0x84C5
397#define GR_GL_TEXTURE6 0x84C6
398#define GR_GL_TEXTURE7 0x84C7
399#define GR_GL_TEXTURE8 0x84C8
400#define GR_GL_TEXTURE9 0x84C9
401#define GR_GL_TEXTURE10 0x84CA
402#define GR_GL_TEXTURE11 0x84CB
403#define GR_GL_TEXTURE12 0x84CC
404#define GR_GL_TEXTURE13 0x84CD
405#define GR_GL_TEXTURE14 0x84CE
406#define GR_GL_TEXTURE15 0x84CF
407#define GR_GL_TEXTURE16 0x84D0
408#define GR_GL_TEXTURE17 0x84D1
409#define GR_GL_TEXTURE18 0x84D2
410#define GR_GL_TEXTURE19 0x84D3
411#define GR_GL_TEXTURE20 0x84D4
412#define GR_GL_TEXTURE21 0x84D5
413#define GR_GL_TEXTURE22 0x84D6
414#define GR_GL_TEXTURE23 0x84D7
415#define GR_GL_TEXTURE24 0x84D8
416#define GR_GL_TEXTURE25 0x84D9
417#define GR_GL_TEXTURE26 0x84DA
418#define GR_GL_TEXTURE27 0x84DB
419#define GR_GL_TEXTURE28 0x84DC
420#define GR_GL_TEXTURE29 0x84DD
421#define GR_GL_TEXTURE30 0x84DE
422#define GR_GL_TEXTURE31 0x84DF
423#define GR_GL_ACTIVE_TEXTURE 0x84E0
424#define GR_GL_MAX_TEXTURE_UNITS 0x84E2
425
426/* TextureWrapMode */
427#define GR_GL_REPEAT 0x2901
428#define GR_GL_CLAMP_TO_EDGE 0x812F
429#define GR_GL_MIRRORED_REPEAT 0x8370
430
431/* Texture mapping */
432#define GR_GL_TEXTURE_ENV 0x2300
433#define GR_GL_TEXTURE_ENV_MODE 0x2200
434#define GR_GL_TEXTURE_1D 0x0DE0
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000435/* GL_TEXTURE_2D */
436/* GL_TEXTURE_WRAP_S */
437/* GL_TEXTURE_WRAP_T */
438/* GL_TEXTURE_MAG_FILTER */
439/* GL_TEXTURE_MIN_FILTER */
twiz@google.com0f31ca72011-03-18 17:38:11 +0000440#define GR_GL_TEXTURE_ENV_COLOR 0x2201
441#define GR_GL_TEXTURE_GEN_S 0x0C60
442#define GR_GL_TEXTURE_GEN_T 0x0C61
443#define GR_GL_TEXTURE_GEN_MODE 0x2500
444#define GR_GL_TEXTURE_BORDER_COLOR 0x1004
445#define GR_GL_TEXTURE_WIDTH 0x1000
446#define GR_GL_TEXTURE_HEIGHT 0x1001
447#define GR_GL_TEXTURE_BORDER 0x1005
448#define GR_GL_TEXTURE_COMPONENTS 0x1003
449#define GR_GL_TEXTURE_RED_SIZE 0x805C
450#define GR_GL_TEXTURE_GREEN_SIZE 0x805D
451#define GR_GL_TEXTURE_BLUE_SIZE 0x805E
452#define GR_GL_TEXTURE_ALPHA_SIZE 0x805F
453#define GR_GL_TEXTURE_LUMINANCE_SIZE 0x8060
454#define GR_GL_TEXTURE_INTENSITY_SIZE 0x8061
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000455#define GR_GL_TEXTURE_INTERNAL_FORMAT 0x1003
456/* GL_NEAREST_MIPMAP_NEAREST */
457/* GL_NEAREST_MIPMAP_LINEAR */
458/* GL_LINEAR_MIPMAP_NEAREST */
459/* GL_LINEAR_MIPMAP_LINEAR */
twiz@google.com0f31ca72011-03-18 17:38:11 +0000460#define GR_GL_OBJECT_LINEAR 0x2401
461#define GR_GL_OBJECT_PLANE 0x2501
462#define GR_GL_EYE_LINEAR 0x2400
463#define GR_GL_EYE_PLANE 0x2502
464#define GR_GL_SPHERE_MAP 0x2402
465#define GR_GL_DECAL 0x2101
466#define GR_GL_MODULATE 0x2100
bsalomon@google.com86c92b32011-03-22 13:08:48 +0000467/* GL_NEAREST */
468/* GL_REPEAT */
twiz@google.com0f31ca72011-03-18 17:38:11 +0000469#define GR_GL_CLAMP 0x2900
470#define GR_GL_S 0x2000
471#define GR_GL_T 0x2001
472#define GR_GL_R 0x2002
473#define GR_GL_Q 0x2003
474#define GR_GL_TEXTURE_GEN_R 0x0C62
475#define GR_GL_TEXTURE_GEN_Q 0x0C63
476
477/* texture_env_combine */
478#define GR_GL_COMBINE 0x8570
479#define GR_GL_COMBINE_RGB 0x8571
480#define GR_GL_COMBINE_ALPHA 0x8572
481#define GR_GL_SOURCE0_RGB 0x8580
482#define GR_GL_SOURCE1_RGB 0x8581
483#define GR_GL_SOURCE2_RGB 0x8582
484#define GR_GL_SOURCE0_ALPHA 0x8588
485#define GR_GL_SOURCE1_ALPHA 0x8589
486#define GR_GL_SOURCE2_ALPHA 0x858A
487#define GR_GL_OPERAND0_RGB 0x8590
488#define GR_GL_OPERAND1_RGB 0x8591
489#define GR_GL_OPERAND2_RGB 0x8592
490#define GR_GL_OPERAND0_ALPHA 0x8598
491#define GR_GL_OPERAND1_ALPHA 0x8599
492#define GR_GL_OPERAND2_ALPHA 0x859A
493#define GR_GL_RGB_SCALE 0x8573
494#define GR_GL_ADD_SIGNED 0x8574
495#define GR_GL_INTERPOLATE 0x8575
496#define GR_GL_SUBTRACT 0x84E7
497#define GR_GL_CONSTANT 0x8576
498#define GR_GL_PRIMARY_COLOR 0x8577
499#define GR_GL_PREVIOUS 0x8578
500#define GR_GL_SRC0_RGB 0x8580
501#define GR_GL_SRC1_RGB 0x8581
502#define GR_GL_SRC2_RGB 0x8582
503#define GR_GL_SRC0_ALPHA 0x8588
504#define GR_GL_SRC1_ALPHA 0x8589
505#define GR_GL_SRC2_ALPHA 0x858A
506
507/* Uniform Types */
508#define GR_GL_FLOAT_VEC2 0x8B50
509#define GR_GL_FLOAT_VEC3 0x8B51
510#define GR_GL_FLOAT_VEC4 0x8B52
511#define GR_GL_INT_VEC2 0x8B53
512#define GR_GL_INT_VEC3 0x8B54
513#define GR_GL_INT_VEC4 0x8B55
514#define GR_GL_BOOL 0x8B56
515#define GR_GL_BOOL_VEC2 0x8B57
516#define GR_GL_BOOL_VEC3 0x8B58
517#define GR_GL_BOOL_VEC4 0x8B59
518#define GR_GL_FLOAT_MAT2 0x8B5A
519#define GR_GL_FLOAT_MAT3 0x8B5B
520#define GR_GL_FLOAT_MAT4 0x8B5C
521#define GR_GL_SAMPLER_2D 0x8B5E
522#define GR_GL_SAMPLER_CUBE 0x8B60
523
524/* Vertex Arrays */
525#define GR_GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
526#define GR_GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
527#define GR_GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
528#define GR_GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
529#define GR_GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
530#define GR_GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
531#define GR_GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
532#define GR_GL_VERTEX_ARRAY 0x8074
533#define GR_GL_NORMAL_ARRAY 0x8075
534#define GR_GL_COLOR_ARRAY 0x8076
535#define GR_GL_INDEX_ARRAY 0x8077
536#define GR_GL_TEXTURE_COORD_ARRAY 0x8078
537#define GR_GL_EDGE_FLAG_ARRAY 0x8079
538#define GR_GL_VERTEX_ARRAY_SIZE 0x807A
539#define GR_GL_VERTEX_ARRAY_TYPE 0x807B
540#define GR_GL_VERTEX_ARRAY_STRIDE 0x807C
541#define GR_GL_NORMAL_ARRAY_TYPE 0x807E
542#define GR_GL_NORMAL_ARRAY_STRIDE 0x807F
543#define GR_GL_COLOR_ARRAY_SIZE 0x8081
544#define GR_GL_COLOR_ARRAY_TYPE 0x8082
545#define GR_GL_COLOR_ARRAY_STRIDE 0x8083
546#define GR_GL_INDEX_ARRAY_TYPE 0x8085
547#define GR_GL_INDEX_ARRAY_STRIDE 0x8086
548#define GR_GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
549#define GR_GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
550#define GR_GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
551#define GR_GL_EDGE_FLAG_ARRAY_STRIDE 0x808C
552#define GR_GL_VERTEX_ARRAY_POINTER 0x808E
553#define GR_GL_NORMAL_ARRAY_POINTER 0x808F
554#define GR_GL_COLOR_ARRAY_POINTER 0x8090
555#define GR_GL_INDEX_ARRAY_POINTER 0x8091
556#define GR_GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
557#define GR_GL_EDGE_FLAG_ARRAY_POINTER 0x8093
558#define GR_GL_V2F 0x2A20
559#define GR_GL_V3F 0x2A21
560#define GR_GL_C4UB_V2F 0x2A22
561#define GR_GL_C4UB_V3F 0x2A23
562#define GR_GL_C3F_V3F 0x2A24
563#define GR_GL_N3F_V3F 0x2A25
564#define GR_GL_C4F_N3F_V3F 0x2A26
565#define GR_GL_T2F_V3F 0x2A27
566#define GR_GL_T4F_V4F 0x2A28
567#define GR_GL_T2F_C4UB_V3F 0x2A29
568#define GR_GL_T2F_C3F_V3F 0x2A2A
569#define GR_GL_T2F_N3F_V3F 0x2A2B
570#define GR_GL_T2F_C4F_N3F_V3F 0x2A2C
571#define GR_GL_T4F_C4F_N3F_V4F 0x2A2D
572
bsalomon@google.comc312bf92011-03-21 21:10:33 +0000573/* Vertex Buffer Object */
574#define GR_GL_WRITE_ONLY 0x88B9
575#define GR_GL_BUFFER_MAPPED 0x88BC
twiz@google.com0f31ca72011-03-18 17:38:11 +0000576/* Read Format */
577#define GR_GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
578#define GR_GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
579
580/* Shader Source */
581#define GR_GL_COMPILE_STATUS 0x8B81
582#define GR_GL_INFO_LOG_LENGTH 0x8B84
583#define GR_GL_SHADER_SOURCE_LENGTH 0x8B88
584#define GR_GL_SHADER_COMPILER 0x8DFA
585
586/* Shader Binary */
587#define GR_GL_SHADER_BINARY_FORMATS 0x8DF8
588#define GR_GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
589
590/* Shader Precision-Specified Types */
591#define GR_GL_LOW_FLOAT 0x8DF0
592#define GR_GL_MEDIUM_FLOAT 0x8DF1
593#define GR_GL_HIGH_FLOAT 0x8DF2
594#define GR_GL_LOW_INT 0x8DF3
595#define GR_GL_MEDIUM_INT 0x8DF4
596#define GR_GL_HIGH_INT 0x8DF5
597
598/* Framebuffer Object. */
599#define GR_GL_FRAMEBUFFER 0x8D40
bsalomon@google.comc312bf92011-03-21 21:10:33 +0000600#define GR_GL_READ_FRAMEBUFFER 0x8CA8
601#define GR_GL_DRAW_FRAMEBUFFER 0x8CA9
602
twiz@google.com0f31ca72011-03-18 17:38:11 +0000603#define GR_GL_RENDERBUFFER 0x8D41
604
605#define GR_GL_RGBA4 0x8056
606#define GR_GL_RGB5_A1 0x8057
607#define GR_GL_RGB565 0x8D62
bsalomon@google.comc312bf92011-03-21 21:10:33 +0000608#define GR_GL_RGBA8 0x8058
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000609#define GR_GL_RGB8 0x8051
610#define GR_GL_SRGB 0x8C40
611#define GR_GL_SRGB8 0x8C41
612#define GR_GL_SRGB_ALPHA 0x8C42
613#define GR_GL_SRGB8_ALPHA8 0x8C43
twiz@google.com0f31ca72011-03-18 17:38:11 +0000614#define GR_GL_DEPTH_COMPONENT16 0x81A5
615#define GR_GL_STENCIL_INDEX 0x1901
bsalomon@google.comc312bf92011-03-21 21:10:33 +0000616#define GR_GL_STENCIL_INDEX4 0x8D47
twiz@google.com0f31ca72011-03-18 17:38:11 +0000617#define GR_GL_STENCIL_INDEX8 0x8D48
bsalomon@google.comc312bf92011-03-21 21:10:33 +0000618#define GR_GL_STENCIL_INDEX16 0x8D49
619#define GR_GL_DEPTH_STENCIL 0x84F9
620#define GR_GL_DEPTH24_STENCIL8 0x88F0
621
622#define GR_GL_MAX_SAMPLES 0x8D57
twiz@google.com0f31ca72011-03-18 17:38:11 +0000623
624#define GR_GL_RENDERBUFFER_WIDTH 0x8D42
625#define GR_GL_RENDERBUFFER_HEIGHT 0x8D43
626#define GR_GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
627#define GR_GL_RENDERBUFFER_RED_SIZE 0x8D50
628#define GR_GL_RENDERBUFFER_GREEN_SIZE 0x8D51
629#define GR_GL_RENDERBUFFER_BLUE_SIZE 0x8D52
630#define GR_GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
631#define GR_GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
632#define GR_GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
633
634#define GR_GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
635#define GR_GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
636#define GR_GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
637#define GR_GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
bsalomon@google.comcee661a2011-07-26 12:32:36 +0000638#define GR_GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER 0x8CD4
639#define GR_GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE 0x8212
640#define GR_GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE 0x8213
641#define GR_GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE 0x8214
642#define GR_GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE 0x8215
643#define GR_GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE 0x8216
644#define GR_GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE 0x8217
twiz@google.com0f31ca72011-03-18 17:38:11 +0000645
646#define GR_GL_COLOR_ATTACHMENT0 0x8CE0
647#define GR_GL_DEPTH_ATTACHMENT 0x8D00
648#define GR_GL_STENCIL_ATTACHMENT 0x8D20
bsalomon@google.comc312bf92011-03-21 21:10:33 +0000649#define GR_GL_DEPTH_STENCIL_ATTACHMENT 0x821A
twiz@google.com0f31ca72011-03-18 17:38:11 +0000650
651#define GR_GL_NONE 0
652
653#define GR_GL_FRAMEBUFFER_COMPLETE 0x8CD5
654#define GR_GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
655#define GR_GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
656#define GR_GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
657#define GR_GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
658
659#define GR_GL_FRAMEBUFFER_BINDING 0x8CA6
660#define GR_GL_RENDERBUFFER_BINDING 0x8CA7
661#define GR_GL_MAX_RENDERBUFFER_SIZE 0x84E8
662
663#define GR_GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
664
reed@google.coma03ec862011-03-22 17:49:13 +0000665#endif