2 * Copyright (c) 2007 Ivan Leben
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library in the file COPYING;
16 * if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 #ifndef __SHEXTENSIONS_H
22 #define __SHEXTENSIONS_H
24 /* Define missing constants and route missing
25 functions to extension pointers */
31 #define APIENTRYP APIENTRY *
34 #ifndef GL_VERSION_1_2
35 # define GL_BGRA 0x80E1
36 # define GL_UNSIGNED_SHORT_5_6_5 0x8363
37 # define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
38 # define GL_UNSIGNED_SHORT_4_4_4_4_REV 0x8365
39 # define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
40 # define GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366
41 # define GL_UNSIGNED_INT_8_8_8_8 0x8035
42 # define GL_UNSIGNED_INT_8_8_8_8_REV 0x8367
43 # define GL_CLAMP_TO_EDGE 0x812F
46 #ifndef GL_VERSION_1_3
47 # define GL_MULTISAMPLE 0x809D
48 # define GL_TEXTURE0 0x84C0
49 # define GL_TEXTURE1 0x84C1
50 # define GL_CLAMP_TO_BORDER 0x812D
51 # define glActiveTexture context->pglActiveTexture
52 # define glMultiTexCoord1f context->pglMultiTexCoord1f
53 # define glMultiTexCoord2f context->pglMultiTexCoord2f
56 #ifndef GL_VERSION_1_4
57 # define GL_MIRRORED_REPEAT 0x8370
60 typedef void (APIENTRYP SH_PGLACTIVETEXTURE) (GLenum);
61 typedef void (APIENTRYP SH_PGLMULTITEXCOORD1F) (GLenum, GLfloat);
62 typedef void (APIENTRYP SH_PGLMULTITEXCOORD2F) (GLenum, GLfloat, GLfloat);