1/*
2Copyright (c) 2012, Broadcom Europe Ltd
3All rights reserved.
4
5Redistribution and use in source and binary forms, with or without
6modification, are permitted provided that the following conditions are met:
7 * Redistributions of source code must retain the above copyright
8 notice, this list of conditions and the following disclaimer.
9 * Redistributions in binary form must reproduce the above copyright
10 notice, this list of conditions and the following disclaimer in the
11 documentation and/or other materials provided with the distribution.
12 * Neither the name of the copyright holder nor the
13 names of its contributors may be used to endorse or promote products
14 derived from this software without specific prior written permission.
15
16THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
20DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26*/
27#ifndef __gl_h_
28#define __gl_h_
29
30/* $Revision: 10601 $ on $Date:: 2010-03-04 22:15:27 -0800 #$ */
31
32#include "glplatform.h"
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38/*
39 * This document is licensed under the SGI Free Software B License Version
40 * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ .
41 */
42
43#ifndef __gl2_h_
44typedef void GLvoid;
45typedef char GLchar;
46typedef unsigned int GLenum;
47typedef unsigned char GLboolean;
48typedef unsigned int GLbitfield;
49typedef khronos_int8_t GLbyte;
50typedef short GLshort;
51typedef int GLint;
52typedef int GLsizei;
53typedef khronos_uint8_t GLubyte;
54typedef unsigned short GLushort;
55typedef unsigned int GLuint;
56typedef khronos_float_t GLfloat;
57typedef khronos_float_t GLclampf;
58typedef khronos_int32_t GLfixed;
59
60typedef khronos_intptr_t GLintptr;
61typedef khronos_ssize_t GLsizeiptr;
62#endif
63typedef khronos_int32_t GLclampx;
64
65/*************************************************************/
66
67/* OpenGL ES core versions */
68#define GL_VERSION_ES_CM_1_0 1
69#define GL_VERSION_ES_CL_1_0 1
70#define GL_VERSION_ES_CM_1_1 1
71#define GL_VERSION_ES_CL_1_1 1
72
73/* ClearBufferMask */
74#define GL_DEPTH_BUFFER_BIT 0x00000100
75#define GL_STENCIL_BUFFER_BIT 0x00000400
76#define GL_COLOR_BUFFER_BIT 0x00004000
77
78/* Boolean */
79#define GL_FALSE (GLboolean)0
80#define GL_TRUE (GLboolean)1
81
82/* BeginMode */
83#define GL_POINTS 0x0000
84#define GL_LINES 0x0001
85#define GL_LINE_LOOP 0x0002
86#define GL_LINE_STRIP 0x0003
87#define GL_TRIANGLES 0x0004
88#define GL_TRIANGLE_STRIP 0x0005
89#define GL_TRIANGLE_FAN 0x0006
90
91/* AlphaFunction */
92#define GL_NEVER 0x0200
93#define GL_LESS 0x0201
94#define GL_EQUAL 0x0202
95#define GL_LEQUAL 0x0203
96#define GL_GREATER 0x0204
97#define GL_NOTEQUAL 0x0205
98#define GL_GEQUAL 0x0206
99#define GL_ALWAYS 0x0207
100
101/* BlendingFactorDest */
102#define GL_ZERO 0
103#define GL_ONE 1
104#define GL_SRC_COLOR 0x0300
105#define GL_ONE_MINUS_SRC_COLOR 0x0301
106#define GL_SRC_ALPHA 0x0302
107#define GL_ONE_MINUS_SRC_ALPHA 0x0303
108#define GL_DST_ALPHA 0x0304
109#define GL_ONE_MINUS_DST_ALPHA 0x0305
110
111/* BlendingFactorSrc */
112/* GL_ZERO */
113/* GL_ONE */
114#define GL_DST_COLOR 0x0306
115#define GL_ONE_MINUS_DST_COLOR 0x0307
116#define GL_SRC_ALPHA_SATURATE 0x0308
117/* GL_SRC_ALPHA */
118/* GL_ONE_MINUS_SRC_ALPHA */
119/* GL_DST_ALPHA */
120/* GL_ONE_MINUS_DST_ALPHA */
121
122/* ClipPlaneName */
123#define GL_CLIP_PLANE0 0x3000
124#define GL_CLIP_PLANE1 0x3001
125#define GL_CLIP_PLANE2 0x3002
126#define GL_CLIP_PLANE3 0x3003
127#define GL_CLIP_PLANE4 0x3004
128#define GL_CLIP_PLANE5 0x3005
129
130/* ColorMaterialFace */
131/* GL_FRONT_AND_BACK */
132
133/* ColorMaterialParameter */
134/* GL_AMBIENT_AND_DIFFUSE */
135
136/* ColorPointerType */
137/* GL_UNSIGNED_BYTE */
138/* GL_FLOAT */
139/* GL_FIXED */
140
141/* CullFaceMode */
142#define GL_FRONT 0x0404
143#define GL_BACK 0x0405
144#define GL_FRONT_AND_BACK 0x0408
145
146/* DepthFunction */
147/* GL_NEVER */
148/* GL_LESS */
149/* GL_EQUAL */
150/* GL_LEQUAL */
151/* GL_GREATER */
152/* GL_NOTEQUAL */
153/* GL_GEQUAL */
154/* GL_ALWAYS */
155
156/* EnableCap */
157#define GL_FOG 0x0B60
158#define GL_LIGHTING 0x0B50
159#define GL_TEXTURE_2D 0x0DE1
160#define GL_CULL_FACE 0x0B44
161#define GL_ALPHA_TEST 0x0BC0
162#define GL_BLEND 0x0BE2
163#define GL_COLOR_LOGIC_OP 0x0BF2
164#define GL_DITHER 0x0BD0
165#define GL_STENCIL_TEST 0x0B90
166#define GL_DEPTH_TEST 0x0B71
167/* GL_LIGHT0 */
168/* GL_LIGHT1 */
169/* GL_LIGHT2 */
170/* GL_LIGHT3 */
171/* GL_LIGHT4 */
172/* GL_LIGHT5 */
173/* GL_LIGHT6 */
174/* GL_LIGHT7 */
175#define GL_POINT_SMOOTH 0x0B10
176#define GL_LINE_SMOOTH 0x0B20
177#define GL_SCISSOR_TEST 0x0C11
178#define GL_COLOR_MATERIAL 0x0B57
179#define GL_NORMALIZE 0x0BA1
180#define GL_RESCALE_NORMAL 0x803A
181#define GL_POLYGON_OFFSET_FILL 0x8037
182#define GL_VERTEX_ARRAY 0x8074
183#define GL_NORMAL_ARRAY 0x8075
184#define GL_COLOR_ARRAY 0x8076
185#define GL_TEXTURE_COORD_ARRAY 0x8078
186#define GL_MULTISAMPLE 0x809D
187#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
188#define GL_SAMPLE_ALPHA_TO_ONE 0x809F
189#define GL_SAMPLE_COVERAGE 0x80A0
190
191/* ErrorCode */
192#define GL_NO_ERROR 0
193#define GL_INVALID_ENUM 0x0500
194#define GL_INVALID_VALUE 0x0501
195#define GL_INVALID_OPERATION 0x0502
196#define GL_STACK_OVERFLOW 0x0503
197#define GL_STACK_UNDERFLOW 0x0504
198#define GL_OUT_OF_MEMORY 0x0505
199
200/* FogMode */
201/* GL_LINEAR */
202#define GL_EXP 0x0800
203#define GL_EXP2 0x0801
204
205/* FogParameter */
206#define GL_FOG_DENSITY 0x0B62
207#define GL_FOG_START 0x0B63
208#define GL_FOG_END 0x0B64
209#define GL_FOG_MODE 0x0B65
210#define GL_FOG_COLOR 0x0B66
211
212/* FrontFaceDirection */
213#define GL_CW 0x0900
214#define GL_CCW 0x0901
215
216/* GetPName */
217#define GL_CURRENT_COLOR 0x0B00
218#define GL_CURRENT_NORMAL 0x0B02
219#define GL_CURRENT_TEXTURE_COORDS 0x0B03
220#define GL_POINT_SIZE 0x0B11
221#define GL_POINT_SIZE_MIN 0x8126
222#define GL_POINT_SIZE_MAX 0x8127
223#define GL_POINT_FADE_THRESHOLD_SIZE 0x8128
224#define GL_POINT_DISTANCE_ATTENUATION 0x8129
225#define GL_SMOOTH_POINT_SIZE_RANGE 0x0B12
226#define GL_LINE_WIDTH 0x0B21
227#define GL_SMOOTH_LINE_WIDTH_RANGE 0x0B22
228#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
229#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
230#define GL_CULL_FACE_MODE 0x0B45
231#define GL_FRONT_FACE 0x0B46
232#define GL_SHADE_MODEL 0x0B54
233#define GL_DEPTH_RANGE 0x0B70
234#define GL_DEPTH_WRITEMASK 0x0B72
235#define GL_DEPTH_CLEAR_VALUE 0x0B73
236#define GL_DEPTH_FUNC 0x0B74
237#define GL_STENCIL_CLEAR_VALUE 0x0B91
238#define GL_STENCIL_FUNC 0x0B92
239#define GL_STENCIL_VALUE_MASK 0x0B93
240#define GL_STENCIL_FAIL 0x0B94
241#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
242#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
243#define GL_STENCIL_REF 0x0B97
244#define GL_STENCIL_WRITEMASK 0x0B98
245#define GL_MATRIX_MODE 0x0BA0
246#define GL_VIEWPORT 0x0BA2
247#define GL_MODELVIEW_STACK_DEPTH 0x0BA3
248#define GL_PROJECTION_STACK_DEPTH 0x0BA4
249#define GL_TEXTURE_STACK_DEPTH 0x0BA5
250#define GL_MODELVIEW_MATRIX 0x0BA6
251#define GL_PROJECTION_MATRIX 0x0BA7
252#define GL_TEXTURE_MATRIX 0x0BA8
253#define GL_ALPHA_TEST_FUNC 0x0BC1
254#define GL_ALPHA_TEST_REF 0x0BC2
255#define GL_BLEND_DST 0x0BE0
256#define GL_BLEND_SRC 0x0BE1
257#define GL_LOGIC_OP_MODE 0x0BF0
258#define GL_SCISSOR_BOX 0x0C10
259#define GL_SCISSOR_TEST 0x0C11
260#define GL_COLOR_CLEAR_VALUE 0x0C22
261#define GL_COLOR_WRITEMASK 0x0C23
262#define GL_UNPACK_ALIGNMENT 0x0CF5
263#define GL_PACK_ALIGNMENT 0x0D05
264#define GL_MAX_LIGHTS 0x0D31
265#define GL_MAX_CLIP_PLANES 0x0D32
266#define GL_MAX_TEXTURE_SIZE 0x0D33
267#define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36
268#define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38
269#define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39
270#define GL_MAX_VIEWPORT_DIMS 0x0D3A
271#define GL_MAX_TEXTURE_UNITS 0x84E2
272#define GL_SUBPIXEL_BITS 0x0D50
273#define GL_RED_BITS 0x0D52
274#define GL_GREEN_BITS 0x0D53
275#define GL_BLUE_BITS 0x0D54
276#define GL_ALPHA_BITS 0x0D55
277#define GL_DEPTH_BITS 0x0D56
278#define GL_STENCIL_BITS 0x0D57
279#define GL_POLYGON_OFFSET_UNITS 0x2A00
280#define GL_POLYGON_OFFSET_FILL 0x8037
281#define GL_POLYGON_OFFSET_FACTOR 0x8038
282#define GL_TEXTURE_BINDING_2D 0x8069
283#define GL_VERTEX_ARRAY_SIZE 0x807A
284#define GL_VERTEX_ARRAY_TYPE 0x807B
285#define GL_VERTEX_ARRAY_STRIDE 0x807C
286#define GL_NORMAL_ARRAY_TYPE 0x807E
287#define GL_NORMAL_ARRAY_STRIDE 0x807F
288#define GL_COLOR_ARRAY_SIZE 0x8081
289#define GL_COLOR_ARRAY_TYPE 0x8082
290#define GL_COLOR_ARRAY_STRIDE 0x8083
291#define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088
292#define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089
293#define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A
294#define GL_VERTEX_ARRAY_POINTER 0x808E
295#define GL_NORMAL_ARRAY_POINTER 0x808F
296#define GL_COLOR_ARRAY_POINTER 0x8090
297#define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092
298#define GL_SAMPLE_BUFFERS 0x80A8
299#define GL_SAMPLES 0x80A9
300#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
301#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
302
303/* GetTextureParameter */
304/* GL_TEXTURE_MAG_FILTER */
305/* GL_TEXTURE_MIN_FILTER */
306/* GL_TEXTURE_WRAP_S */
307/* GL_TEXTURE_WRAP_T */
308
309#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
310#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
311
312/* HintMode */
313#define GL_DONT_CARE 0x1100
314#define GL_FASTEST 0x1101
315#define GL_NICEST 0x1102
316
317/* HintTarget */
318#define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50
319#define GL_POINT_SMOOTH_HINT 0x0C51
320#define GL_LINE_SMOOTH_HINT 0x0C52
321#define GL_FOG_HINT 0x0C54
322#define GL_GENERATE_MIPMAP_HINT 0x8192
323
324/* LightModelParameter */
325#define GL_LIGHT_MODEL_AMBIENT 0x0B53
326#define GL_LIGHT_MODEL_TWO_SIDE 0x0B52
327
328/* LightParameter */
329#define GL_AMBIENT 0x1200
330#define GL_DIFFUSE 0x1201
331#define GL_SPECULAR 0x1202
332#define GL_POSITION 0x1203
333#define GL_SPOT_DIRECTION 0x1204
334#define GL_SPOT_EXPONENT 0x1205
335#define GL_SPOT_CUTOFF 0x1206
336#define GL_CONSTANT_ATTENUATION 0x1207
337#define GL_LINEAR_ATTENUATION 0x1208
338#define GL_QUADRATIC_ATTENUATION 0x1209
339
340/* DataType */
341#define GL_BYTE 0x1400
342#define GL_UNSIGNED_BYTE 0x1401
343#define GL_SHORT 0x1402
344#define GL_UNSIGNED_SHORT 0x1403
345#define GL_FLOAT 0x1406
346#define GL_FIXED 0x140C
347
348/* LogicOp */
349#define GL_CLEAR 0x1500
350#define GL_AND 0x1501
351#define GL_AND_REVERSE 0x1502
352#define GL_COPY 0x1503
353#define GL_AND_INVERTED 0x1504
354#define GL_NOOP 0x1505
355#define GL_XOR 0x1506
356#define GL_OR 0x1507
357#define GL_NOR 0x1508
358#define GL_EQUIV 0x1509
359#define GL_INVERT 0x150A
360#define GL_OR_REVERSE 0x150B
361#define GL_COPY_INVERTED 0x150C
362#define GL_OR_INVERTED 0x150D
363#define GL_NAND 0x150E
364#define GL_SET 0x150F
365
366/* MaterialFace */
367/* GL_FRONT_AND_BACK */
368
369/* MaterialParameter */
370#define GL_EMISSION 0x1600
371#define GL_SHININESS 0x1601
372#define GL_AMBIENT_AND_DIFFUSE 0x1602
373/* GL_AMBIENT */
374/* GL_DIFFUSE */
375/* GL_SPECULAR */
376
377/* MatrixMode */
378#define GL_MODELVIEW 0x1700
379#define GL_PROJECTION 0x1701
380#define GL_TEXTURE 0x1702
381
382/* NormalPointerType */
383/* GL_BYTE */
384/* GL_SHORT */
385/* GL_FLOAT */
386/* GL_FIXED */
387
388/* PixelFormat */
389#define GL_ALPHA 0x1906
390#define GL_RGB 0x1907
391#define GL_RGBA 0x1908
392#define GL_LUMINANCE 0x1909
393#define GL_LUMINANCE_ALPHA 0x190A
394
395/* PixelStoreParameter */
396#define GL_UNPACK_ALIGNMENT 0x0CF5
397#define GL_PACK_ALIGNMENT 0x0D05
398
399/* PixelType */
400/* GL_UNSIGNED_BYTE */
401#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
402#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
403#define GL_UNSIGNED_SHORT_5_6_5 0x8363
404
405/* ShadingModel */
406#define GL_FLAT 0x1D00
407#define GL_SMOOTH 0x1D01
408
409/* StencilFunction */
410/* GL_NEVER */
411/* GL_LESS */
412/* GL_EQUAL */
413/* GL_LEQUAL */
414/* GL_GREATER */
415/* GL_NOTEQUAL */
416/* GL_GEQUAL */
417/* GL_ALWAYS */
418
419/* StencilOp */
420/* GL_ZERO */
421#define GL_KEEP 0x1E00
422#define GL_REPLACE 0x1E01
423#define GL_INCR 0x1E02
424#define GL_DECR 0x1E03
425/* GL_INVERT */
426
427/* StringName */
428#define GL_VENDOR 0x1F00
429#define GL_RENDERER 0x1F01
430#define GL_VERSION 0x1F02
431#define GL_EXTENSIONS 0x1F03
432
433/* TexCoordPointerType */
434/* GL_SHORT */
435/* GL_FLOAT */
436/* GL_FIXED */
437/* GL_BYTE */
438
439/* TextureEnvMode */
440#define GL_MODULATE 0x2100
441#define GL_DECAL 0x2101
442/* GL_BLEND */
443#define GL_ADD 0x0104
444/* GL_REPLACE */
445
446/* TextureEnvParameter */
447#define GL_TEXTURE_ENV_MODE 0x2200
448#define GL_TEXTURE_ENV_COLOR 0x2201
449
450/* TextureEnvTarget */
451#define GL_TEXTURE_ENV 0x2300
452
453/* TextureMagFilter */
454#define GL_NEAREST 0x2600
455#define GL_LINEAR 0x2601
456
457/* TextureMinFilter */
458/* GL_NEAREST */
459/* GL_LINEAR */
460#define GL_NEAREST_MIPMAP_NEAREST 0x2700
461#define GL_LINEAR_MIPMAP_NEAREST 0x2701
462#define GL_NEAREST_MIPMAP_LINEAR 0x2702
463#define GL_LINEAR_MIPMAP_LINEAR 0x2703
464
465/* TextureParameterName */
466#define GL_TEXTURE_MAG_FILTER 0x2800
467#define GL_TEXTURE_MIN_FILTER 0x2801
468#define GL_TEXTURE_WRAP_S 0x2802
469#define GL_TEXTURE_WRAP_T 0x2803
470#define GL_GENERATE_MIPMAP 0x8191
471
472/* TextureTarget */
473/* GL_TEXTURE_2D */
474
475/* TextureUnit */
476#define GL_TEXTURE0 0x84C0
477#define GL_TEXTURE1 0x84C1
478#define GL_TEXTURE2 0x84C2
479#define GL_TEXTURE3 0x84C3
480#define GL_TEXTURE4 0x84C4
481#define GL_TEXTURE5 0x84C5
482#define GL_TEXTURE6 0x84C6
483#define GL_TEXTURE7 0x84C7
484#define GL_TEXTURE8 0x84C8
485#define GL_TEXTURE9 0x84C9
486#define GL_TEXTURE10 0x84CA
487#define GL_TEXTURE11 0x84CB
488#define GL_TEXTURE12 0x84CC
489#define GL_TEXTURE13 0x84CD
490#define GL_TEXTURE14 0x84CE
491#define GL_TEXTURE15 0x84CF
492#define GL_TEXTURE16 0x84D0
493#define GL_TEXTURE17 0x84D1
494#define GL_TEXTURE18 0x84D2
495#define GL_TEXTURE19 0x84D3
496#define GL_TEXTURE20 0x84D4
497#define GL_TEXTURE21 0x84D5
498#define GL_TEXTURE22 0x84D6
499#define GL_TEXTURE23 0x84D7
500#define GL_TEXTURE24 0x84D8
501#define GL_TEXTURE25 0x84D9
502#define GL_TEXTURE26 0x84DA
503#define GL_TEXTURE27 0x84DB
504#define GL_TEXTURE28 0x84DC
505#define GL_TEXTURE29 0x84DD
506#define GL_TEXTURE30 0x84DE
507#define GL_TEXTURE31 0x84DF
508#define GL_ACTIVE_TEXTURE 0x84E0
509#define GL_CLIENT_ACTIVE_TEXTURE 0x84E1
510
511/* TextureWrapMode */
512#define GL_REPEAT 0x2901
513#define GL_CLAMP_TO_EDGE 0x812F
514
515/* VertexPointerType */
516/* GL_SHORT */
517/* GL_FLOAT */
518/* GL_FIXED */
519/* GL_BYTE */
520
521/* LightName */
522#define GL_LIGHT0 0x4000
523#define GL_LIGHT1 0x4001
524#define GL_LIGHT2 0x4002
525#define GL_LIGHT3 0x4003
526#define GL_LIGHT4 0x4004
527#define GL_LIGHT5 0x4005
528#define GL_LIGHT6 0x4006
529#define GL_LIGHT7 0x4007
530
531/* Buffer Objects */
532#define GL_ARRAY_BUFFER 0x8892
533#define GL_ELEMENT_ARRAY_BUFFER 0x8893
534
535#define GL_ARRAY_BUFFER_BINDING 0x8894
536#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
537#define GL_VERTEX_ARRAY_BUFFER_BINDING 0x8896
538#define GL_NORMAL_ARRAY_BUFFER_BINDING 0x8897
539#define GL_COLOR_ARRAY_BUFFER_BINDING 0x8898
540#define GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING 0x889A
541
542#define GL_STATIC_DRAW 0x88E4
543#define GL_DYNAMIC_DRAW 0x88E8
544
545#define GL_BUFFER_SIZE 0x8764
546#define GL_BUFFER_USAGE 0x8765
547
548/* Texture combine + dot3 */
549#define GL_SUBTRACT 0x84E7
550#define GL_COMBINE 0x8570
551#define GL_COMBINE_RGB 0x8571
552#define GL_COMBINE_ALPHA 0x8572
553#define GL_RGB_SCALE 0x8573
554#define GL_ADD_SIGNED 0x8574
555#define GL_INTERPOLATE 0x8575
556#define GL_CONSTANT 0x8576
557#define GL_PRIMARY_COLOR 0x8577
558#define GL_PREVIOUS 0x8578
559#define GL_OPERAND0_RGB 0x8590
560#define GL_OPERAND1_RGB 0x8591
561#define GL_OPERAND2_RGB 0x8592
562#define GL_OPERAND0_ALPHA 0x8598
563#define GL_OPERAND1_ALPHA 0x8599
564#define GL_OPERAND2_ALPHA 0x859A
565
566#define GL_ALPHA_SCALE 0x0D1C
567
568#define GL_SRC0_RGB 0x8580
569#define GL_SRC1_RGB 0x8581
570#define GL_SRC2_RGB 0x8582
571#define GL_SRC0_ALPHA 0x8588
572#define GL_SRC1_ALPHA 0x8589
573#define GL_SRC2_ALPHA 0x858A
574
575#define GL_DOT3_RGB 0x86AE
576#define GL_DOT3_RGBA 0x86AF
577
578/*------------------------------------------------------------------------*
579 * required OES extension tokens
580 *------------------------------------------------------------------------*/
581
582/* OES_read_format */
583#ifndef GL_OES_read_format
584#define GL_IMPLEMENTATION_COLOR_READ_TYPE_OES 0x8B9A
585#define GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES 0x8B9B
586#endif
587
588/* GL_OES_compressed_paletted_texture */
589#ifndef GL_OES_compressed_paletted_texture
590#define GL_PALETTE4_RGB8_OES 0x8B90
591#define GL_PALETTE4_RGBA8_OES 0x8B91
592#define GL_PALETTE4_R5_G6_B5_OES 0x8B92
593#define GL_PALETTE4_RGBA4_OES 0x8B93
594#define GL_PALETTE4_RGB5_A1_OES 0x8B94
595#define GL_PALETTE8_RGB8_OES 0x8B95
596#define GL_PALETTE8_RGBA8_OES 0x8B96
597#define GL_PALETTE8_R5_G6_B5_OES 0x8B97
598#define GL_PALETTE8_RGBA4_OES 0x8B98
599#define GL_PALETTE8_RGB5_A1_OES 0x8B99
600#endif
601
602/* OES_point_size_array */
603#ifndef GL_OES_point_size_array
604#define GL_POINT_SIZE_ARRAY_OES 0x8B9C
605#define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A
606#define GL_POINT_SIZE_ARRAY_STRIDE_OES 0x898B
607#define GL_POINT_SIZE_ARRAY_POINTER_OES 0x898C
608#define GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES 0x8B9F
609#endif
610
611/* GL_OES_point_sprite */
612#ifndef GL_OES_point_sprite
613#define GL_POINT_SPRITE_OES 0x8861
614#define GL_COORD_REPLACE_OES 0x8862
615#endif
616
617/*************************************************************/
618
619/* Available only in Common profile */
620GL_API void GL_APIENTRY glAlphaFunc (GLenum func, GLclampf ref);
621GL_API void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha);
622GL_API void GL_APIENTRY glClearDepthf (GLclampf depth);
623GL_API void GL_APIENTRY glClipPlanef (GLenum plane, const GLfloat *equation);
624GL_API void GL_APIENTRY glColor4f (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
625GL_API void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar);
626GL_API void GL_APIENTRY glFogf (GLenum pname, GLfloat param);
627GL_API void GL_APIENTRY glFogfv (GLenum pname, const GLfloat *params);
628GL_API void GL_APIENTRY glFrustumf (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
629GL_API void GL_APIENTRY glGetClipPlanef (GLenum pname, GLfloat eqn[4]);
630GL_API void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *params);
631GL_API void GL_APIENTRY glGetLightfv (GLenum light, GLenum pname, GLfloat *params);
632GL_API void GL_APIENTRY glGetMaterialfv (GLenum face, GLenum pname, GLfloat *params);
633GL_API void GL_APIENTRY glGetTexEnvfv (GLenum env, GLenum pname, GLfloat *params);
634GL_API void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params);
635GL_API void GL_APIENTRY glLightModelf (GLenum pname, GLfloat param);
636GL_API void GL_APIENTRY glLightModelfv (GLenum pname, const GLfloat *params);
637GL_API void GL_APIENTRY glLightf (GLenum light, GLenum pname, GLfloat param);
638GL_API void GL_APIENTRY glLightfv (GLenum light, GLenum pname, const GLfloat *params);
639GL_API void GL_APIENTRY glLineWidth (GLfloat width);
640GL_API void GL_APIENTRY glLoadMatrixf (const GLfloat *m);
641GL_API void GL_APIENTRY glMaterialf (GLenum face, GLenum pname, GLfloat param);
642GL_API void GL_APIENTRY glMaterialfv (GLenum face, GLenum pname, const GLfloat *params);
643GL_API void GL_APIENTRY glMultMatrixf (const GLfloat *m);
644GL_API void GL_APIENTRY glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q);
645GL_API void GL_APIENTRY glNormal3f (GLfloat nx, GLfloat ny, GLfloat nz);
646GL_API void GL_APIENTRY glOrthof (GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat zNear, GLfloat zFar);
647GL_API void GL_APIENTRY glPointParameterf (GLenum pname, GLfloat param);
648GL_API void GL_APIENTRY glPointParameterfv (GLenum pname, const GLfloat *params);
649GL_API void GL_APIENTRY glPointSize (GLfloat size);
650GL_API void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units);
651GL_API void GL_APIENTRY glRotatef (GLfloat angle, GLfloat x, GLfloat y, GLfloat z);
652GL_API void GL_APIENTRY glScalef (GLfloat x, GLfloat y, GLfloat z);
653GL_API void GL_APIENTRY glTexEnvf (GLenum target, GLenum pname, GLfloat param);
654GL_API void GL_APIENTRY glTexEnvfv (GLenum target, GLenum pname, const GLfloat *params);
655GL_API void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param);
656GL_API void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params);
657GL_API void GL_APIENTRY glTranslatef (GLfloat x, GLfloat y, GLfloat z);
658
659/* Available in both Common and Common-Lite profiles */
660GL_API void GL_APIENTRY glActiveTexture (GLenum texture);
661GL_API void GL_APIENTRY glAlphaFuncx (GLenum func, GLclampx ref);
662GL_API void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer);
663GL_API void GL_APIENTRY glBindTexture (GLenum target, GLuint texture);
664GL_API void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor);
665GL_API void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid *data, GLenum usage);
666GL_API void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid *data);
667GL_API void GL_APIENTRY glClear (GLbitfield mask);
668GL_API void GL_APIENTRY glClearColorx (GLclampx red, GLclampx green, GLclampx blue, GLclampx alpha);
669GL_API void GL_APIENTRY glClearDepthx (GLclampx depth);
670GL_API void GL_APIENTRY glClearStencil (GLint s);
671GL_API void GL_APIENTRY glClientActiveTexture (GLenum texture);
672GL_API void GL_APIENTRY glClipPlanex (GLenum plane, const GLfixed *equation);
673GL_API void GL_APIENTRY glColor4ub (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha);
674GL_API void GL_APIENTRY glColor4x (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha);
675GL_API void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
676GL_API void GL_APIENTRY glColorPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
677GL_API void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid *data);
678GL_API void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid *data);
679GL_API void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
680GL_API void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
681GL_API void GL_APIENTRY glCullFace (GLenum mode);
682GL_API void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers);
683GL_API void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures);
684GL_API void GL_APIENTRY glDepthFunc (GLenum func);
685GL_API void GL_APIENTRY glDepthMask (GLboolean flag);
686GL_API void GL_APIENTRY glDepthRangex (GLclampx zNear, GLclampx zFar);
687GL_API void GL_APIENTRY glDisable (GLenum cap);
688GL_API void GL_APIENTRY glDisableClientState (GLenum array);
689GL_API void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count);
690GL_API void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices);
691GL_API void GL_APIENTRY glEnable (GLenum cap);
692GL_API void GL_APIENTRY glEnableClientState (GLenum array);
693GL_API void GL_APIENTRY glFinish (void);
694GL_API void GL_APIENTRY glFlush (void);
695GL_API void GL_APIENTRY glFogx (GLenum pname, GLfixed param);
696GL_API void GL_APIENTRY glFogxv (GLenum pname, const GLfixed *params);
697GL_API void GL_APIENTRY glFrontFace (GLenum mode);
698GL_API void GL_APIENTRY glFrustumx (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
699GL_API void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *params);
700GL_API void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params);
701GL_API void GL_APIENTRY glGetClipPlanex (GLenum pname, GLfixed eqn[4]);
702GL_API void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers);
703GL_API void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures);
704GL_API GLenum GL_APIENTRY glGetError (void);
705GL_API void GL_APIENTRY glGetFixedv (GLenum pname, GLfixed *params);
706GL_API void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *params);
707GL_API void GL_APIENTRY glGetLightxv (GLenum light, GLenum pname, GLfixed *params);
708GL_API void GL_APIENTRY glGetMaterialxv (GLenum face, GLenum pname, GLfixed *params);
709GL_API void GL_APIENTRY glGetPointerv (GLenum pname, GLvoid **params);
710GL_API const GLubyte * GL_APIENTRY glGetString (GLenum name);
711GL_API void GL_APIENTRY glGetTexEnviv (GLenum env, GLenum pname, GLint *params);
712GL_API void GL_APIENTRY glGetTexEnvxv (GLenum env, GLenum pname, GLfixed *params);
713GL_API void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params);
714GL_API void GL_APIENTRY glGetTexParameterxv (GLenum target, GLenum pname, GLfixed *params);
715GL_API void GL_APIENTRY glHint (GLenum target, GLenum mode);
716GL_API GLboolean GL_APIENTRY glIsBuffer (GLuint buffer);
717GL_API GLboolean GL_APIENTRY glIsEnabled (GLenum cap);
718GL_API GLboolean GL_APIENTRY glIsTexture (GLuint texture);
719GL_API void GL_APIENTRY glLightModelx (GLenum pname, GLfixed param);
720GL_API void GL_APIENTRY glLightModelxv (GLenum pname, const GLfixed *params);
721GL_API void GL_APIENTRY glLightx (GLenum light, GLenum pname, GLfixed param);
722GL_API void GL_APIENTRY glLightxv (GLenum light, GLenum pname, const GLfixed *params);
723GL_API void GL_APIENTRY glLineWidthx (GLfixed width);
724GL_API void GL_APIENTRY glLoadIdentity (void);
725GL_API void GL_APIENTRY glLoadMatrixx (const GLfixed *m);
726GL_API void GL_APIENTRY glLogicOp (GLenum opcode);
727GL_API void GL_APIENTRY glMaterialx (GLenum face, GLenum pname, GLfixed param);
728GL_API void GL_APIENTRY glMaterialxv (GLenum face, GLenum pname, const GLfixed *params);
729GL_API void GL_APIENTRY glMatrixMode (GLenum mode);
730GL_API void GL_APIENTRY glMultMatrixx (const GLfixed *m);
731GL_API void GL_APIENTRY glMultiTexCoord4x (GLenum target, GLfixed s, GLfixed t, GLfixed r, GLfixed q);
732GL_API void GL_APIENTRY glNormal3x (GLfixed nx, GLfixed ny, GLfixed nz);
733GL_API void GL_APIENTRY glNormalPointer (GLenum type, GLsizei stride, const GLvoid *pointer);
734GL_API void GL_APIENTRY glOrthox (GLfixed left, GLfixed right, GLfixed bottom, GLfixed top, GLfixed zNear, GLfixed zFar);
735GL_API void GL_APIENTRY glPixelStorei (GLenum pname, GLint param);
736GL_API void GL_APIENTRY glPointParameterx (GLenum pname, GLfixed param);
737GL_API void GL_APIENTRY glPointParameterxv (GLenum pname, const GLfixed *params);
738GL_API void GL_APIENTRY glPointSizex (GLfixed size);
739GL_API void GL_APIENTRY glPolygonOffsetx (GLfixed factor, GLfixed units);
740GL_API void GL_APIENTRY glPopMatrix (void);
741GL_API void GL_APIENTRY glPushMatrix (void);
742GL_API void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
743GL_API void GL_APIENTRY glRotatex (GLfixed angle, GLfixed x, GLfixed y, GLfixed z);
744GL_API void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert);
745GL_API void GL_APIENTRY glSampleCoveragex (GLclampx value, GLboolean invert);
746GL_API void GL_APIENTRY glScalex (GLfixed x, GLfixed y, GLfixed z);
747GL_API void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height);
748GL_API void GL_APIENTRY glShadeModel (GLenum mode);
749GL_API void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask);
750GL_API void GL_APIENTRY glStencilMask (GLuint mask);
751GL_API void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass);
752GL_API void GL_APIENTRY glTexCoordPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
753GL_API void GL_APIENTRY glTexEnvi (GLenum target, GLenum pname, GLint param);
754GL_API void GL_APIENTRY glTexEnvx (GLenum target, GLenum pname, GLfixed param);
755GL_API void GL_APIENTRY glTexEnviv (GLenum target, GLenum pname, const GLint *params);
756GL_API void GL_APIENTRY glTexEnvxv (GLenum target, GLenum pname, const GLfixed *params);
757GL_API void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels);
758GL_API void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param);
759GL_API void GL_APIENTRY glTexParameterx (GLenum target, GLenum pname, GLfixed param);
760GL_API void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params);
761GL_API void GL_APIENTRY glTexParameterxv (GLenum target, GLenum pname, const GLfixed *params);
762GL_API void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);
763GL_API void GL_APIENTRY texSubImage2DAsync (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLint hpixels);
764GL_API void GL_APIENTRY glTranslatex (GLfixed x, GLfixed y, GLfixed z);
765GL_API void GL_APIENTRY glVertexPointer (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer);
766GL_API void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height);
767
768/*------------------------------------------------------------------------*
769 * Required OES extension functions
770 *------------------------------------------------------------------------*/
771
772/* GL_OES_read_format */
773#ifndef GL_OES_read_format
774#define GL_OES_read_format 1
775#endif
776
777/* GL_OES_compressed_paletted_texture */
778#ifndef GL_OES_compressed_paletted_texture
779#define GL_OES_compressed_paletted_texture 1
780#endif
781
782/* GL_OES_point_size_array */
783#ifndef GL_OES_point_size_array
784#define GL_OES_point_size_array 1
785GL_API void GL_APIENTRY glPointSizePointerOES (GLenum type, GLsizei stride, const GLvoid *pointer);
786#endif
787
788/* GL_OES_point_sprite */
789#ifndef GL_OES_point_sprite
790#define GL_OES_point_sprite 1
791#endif
792
793#ifdef __cplusplus
794}
795#endif
796
797#endif /* __gl_h_ */
798
799