4 * An object oriented GL/GLES Abstraction/Utility Layer
6 * Copyright (C) 2009, 2011 Intel Corporation.
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
24 /* This is included multiple times with different definitions for
25 * these macros. The macros are given the following arguments:
29 * @name: a unique symbol name for this feature
31 * @min_gl_major: the major part of the minimum GL version where these
32 * functions are available in core, or 255 if it isn't available in
34 * @min_gl_minor: the minor part of the minimum GL version where these
35 * functions are available in core, or 255 if it isn't available in
38 * @gles_availability: flags to specify which versions of GLES the
39 * functions are available in. Should be a combination of
40 * COGL_EXT_IN_GLES and COGL_EXT_IN_GLES2.
42 * @extension_suffixes: A zero-separated list of suffixes in a
43 * string. These are appended to the extension name to get a complete
44 * extension name to try. The suffix is also appended to all of the
45 * function names. The suffix can optionally include a ':' to specify
46 * an alternate suffix for the function names.
48 * @extension_names: A list of extension names to try. If any of these
49 * extensions match then it will be used.
52 /* These are the core GL functions which are available when the API
53 supports fixed-function (ie, GL and GLES1.1) */
54 COGL_EXT_BEGIN (fixed_function_core,
59 COGL_EXT_FUNCTION (void, glAlphaFunc,
60 (GLenum func, GLclampf ref))
61 COGL_EXT_FUNCTION (void, glFogf,
62 (GLenum pname, GLfloat param))
63 COGL_EXT_FUNCTION (void, glFogfv,
64 (GLenum pname, const GLfloat *params))
65 COGL_EXT_FUNCTION (void, glLoadMatrixf,
67 COGL_EXT_FUNCTION (void, glMaterialfv,
68 (GLenum face, GLenum pname, const GLfloat *params))
69 COGL_EXT_FUNCTION (void, glPointSize,
71 COGL_EXT_FUNCTION (void, glTexEnvfv,
72 (GLenum target, GLenum pname, const GLfloat *params))
73 COGL_EXT_FUNCTION (void, glColor4ub,
74 (GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha))
75 COGL_EXT_FUNCTION (void, glColorPointer,
79 const GLvoid *pointer))
80 COGL_EXT_FUNCTION (void, glDisableClientState,
82 COGL_EXT_FUNCTION (void, glEnableClientState,
84 COGL_EXT_FUNCTION (void, glLoadIdentity,
86 COGL_EXT_FUNCTION (void, glMatrixMode,
88 COGL_EXT_FUNCTION (void, glNormalPointer,
89 (GLenum type, GLsizei stride, const GLvoid *pointer))
90 COGL_EXT_FUNCTION (void, glTexCoordPointer,
94 const GLvoid *pointer))
95 COGL_EXT_FUNCTION (void, glTexEnvi,
99 COGL_EXT_FUNCTION (void, glVertexPointer,
103 const GLvoid *pointer))