f60cacece7621516567f018c24eeee7827184dd0
[mesa.git] / src / glx / apple / apple_glapi.c
1 /*
2 * GLX implementation that uses Apple's OpenGL.framework
3 *
4 * Copyright (c) 2007-2011 Apple Inc.
5 * Copyright (c) 2004 Torrey T. Lyons. All Rights Reserved.
6 * Copyright (c) 2002 Greg Parker. All Rights Reserved.
7 *
8 * Portions of this file are copied from Mesa's xf86glx.c,
9 * which contains the following copyright:
10 *
11 * Copyright 1998-1999 Precision Insight, Inc., Cedar Park, Texas.
12 * All Rights Reserved.
13 *
14 * Permission is hereby granted, free of charge, to any person obtaining a
15 * copy of this software and associated documentation files (the "Software"),
16 * to deal in the Software without restriction, including without limitation
17 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
18 * and/or sell copies of the Software, and to permit persons to whom the
19 * Software is furnished to do so, subject to the following conditions:
20 *
21 * The above copyright notice and this permission notice shall be included in
22 * all copies or substantial portions of the Software.
23 *
24 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
25 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
26 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
27 * THE ABOVE LISTED COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
28 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
29 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
30 * DEALINGS IN THE SOFTWARE.
31 */
32
33 #include <assert.h>
34 #include <dlfcn.h>
35 #include <stdlib.h>
36 #include <string.h>
37 #include <stdio.h>
38
39 #include <GL/gl.h>
40
41 #include "glapi.h"
42 #include "glapitable.h"
43 #include "main/dispatch.h"
44
45 #include "apple_glx.h"
46 #include "apple_xgl_api.h"
47
48 #ifndef OPENGL_FRAMEWORK_PATH
49 #define OPENGL_FRAMEWORK_PATH "/System/Library/Frameworks/OpenGL.framework/OpenGL"
50 #endif
51
52 struct _glapi_table * __ogl_framework_api = NULL;
53 struct _glapi_table * __applegl_api = NULL;
54
55 void apple_xgl_init_direct(void) {
56 static void *handle;
57 const char *opengl_framework_path;
58
59 if(__applegl_api) {
60 _glapi_set_dispatch(__applegl_api);
61 return;
62 }
63
64 opengl_framework_path = getenv("OPENGL_FRAMEWORK_PATH");
65 if (!opengl_framework_path) {
66 opengl_framework_path = OPENGL_FRAMEWORK_PATH;
67 }
68
69 (void) dlerror(); /*drain dlerror */
70 handle = dlopen(opengl_framework_path, RTLD_LOCAL);
71
72 if (!handle) {
73 fprintf(stderr, "error: unable to dlopen %s : %s\n",
74 opengl_framework_path, dlerror());
75 abort();
76 }
77
78 __ogl_framework_api = calloc(1, sizeof(struct _glapi_table));
79 assert(__ogl_framework_api);
80
81 /* to update:
82 * for f in $(grep SET_ ../../mesa/main/dispatch.h | grep INLINE | sed 's:^.*\(SET_[^(]*\)(.*$:\1:' | sort -u); do grep -q "$f(" apple_glapi.c || echo $f ; done | sed 's:SET_\(.*\)$: SET_\1(__ogl_framework_api, dlsym(handle, "gl\1"))\;:'
83 */
84
85 SET_Accum(__ogl_framework_api, dlsym(handle, "glAccum"));
86 SET_AlphaFunc(__ogl_framework_api, dlsym(handle, "glAlphaFunc"));
87 SET_AreTexturesResident(__ogl_framework_api, dlsym(handle, "glAreTexturesResident"));
88 SET_ArrayElement(__ogl_framework_api, dlsym(handle, "glArrayElement"));
89 SET_Begin(__ogl_framework_api, dlsym(handle, "glBegin"));
90 SET_BindTexture(__ogl_framework_api, dlsym(handle, "glBindTexture"));
91 SET_Bitmap(__ogl_framework_api, dlsym(handle, "glBitmap"));
92 SET_BlendColor(__ogl_framework_api, dlsym(handle, "glBlendColor"));
93 SET_BlendEquation(__ogl_framework_api, dlsym(handle, "glBlendEquation"));
94 SET_BlendFunc(__ogl_framework_api, dlsym(handle, "glBlendFunc"));
95 SET_CallList(__ogl_framework_api, dlsym(handle, "glCallList"));
96 SET_CallLists(__ogl_framework_api, dlsym(handle, "glCallLists"));
97 SET_Clear(__ogl_framework_api, dlsym(handle, "glClear"));
98 SET_ClearAccum(__ogl_framework_api, dlsym(handle, "glClearAccum"));
99 SET_ClearColor(__ogl_framework_api, dlsym(handle, "glClearColor"));
100 SET_ClearDepth(__ogl_framework_api, dlsym(handle, "glClearDepth"));
101 SET_ClearIndex(__ogl_framework_api, dlsym(handle, "glClearIndex"));
102 SET_ClearStencil(__ogl_framework_api, dlsym(handle, "glClearStencil"));
103 SET_ClipPlane(__ogl_framework_api, dlsym(handle, "glClipPlane"));
104 SET_Color3b(__ogl_framework_api, dlsym(handle, "glColor3b"));
105 SET_Color3bv(__ogl_framework_api, dlsym(handle, "glColor3bv"));
106 SET_Color3d(__ogl_framework_api, dlsym(handle, "glColor3d"));
107 SET_Color3dv(__ogl_framework_api, dlsym(handle, "glColor3dv"));
108 SET_Color3f(__ogl_framework_api, dlsym(handle, "glColor3f"));
109 SET_Color3fv(__ogl_framework_api, dlsym(handle, "glColor3fv"));
110 SET_Color3i(__ogl_framework_api, dlsym(handle, "glColor3i"));
111 SET_Color3iv(__ogl_framework_api, dlsym(handle, "glColor3iv"));
112 SET_Color3s(__ogl_framework_api, dlsym(handle, "glColor3s"));
113 SET_Color3sv(__ogl_framework_api, dlsym(handle, "glColor3sv"));
114 SET_Color3ub(__ogl_framework_api, dlsym(handle, "glColor3ub"));
115 SET_Color3ubv(__ogl_framework_api, dlsym(handle, "glColor3ubv"));
116 SET_Color3ui(__ogl_framework_api, dlsym(handle, "glColor3ui"));
117 SET_Color3uiv(__ogl_framework_api, dlsym(handle, "glColor3uiv"));
118 SET_Color3us(__ogl_framework_api, dlsym(handle, "glColor3us"));
119 SET_Color3usv(__ogl_framework_api, dlsym(handle, "glColor3usv"));
120 SET_Color4b(__ogl_framework_api, dlsym(handle, "glColor4b"));
121 SET_Color4bv(__ogl_framework_api, dlsym(handle, "glColor4bv"));
122 SET_Color4d(__ogl_framework_api, dlsym(handle, "glColor4d"));
123 SET_Color4dv(__ogl_framework_api, dlsym(handle, "glColor4dv"));
124 SET_Color4f(__ogl_framework_api, dlsym(handle, "glColor4f"));
125 SET_Color4fv(__ogl_framework_api, dlsym(handle, "glColor4fv"));
126 SET_Color4i(__ogl_framework_api, dlsym(handle, "glColor4i"));
127 SET_Color4iv(__ogl_framework_api, dlsym(handle, "glColor4iv"));
128 SET_Color4s(__ogl_framework_api, dlsym(handle, "glColor4s"));
129 SET_Color4sv(__ogl_framework_api, dlsym(handle, "glColor4sv"));
130 SET_Color4ub(__ogl_framework_api, dlsym(handle, "glColor4ub"));
131 SET_Color4ubv(__ogl_framework_api, dlsym(handle, "glColor4ubv"));
132 SET_Color4ui(__ogl_framework_api, dlsym(handle, "glColor4ui"));
133 SET_Color4uiv(__ogl_framework_api, dlsym(handle, "glColor4uiv"));
134 SET_Color4us(__ogl_framework_api, dlsym(handle, "glColor4us"));
135 SET_Color4usv(__ogl_framework_api, dlsym(handle, "glColor4usv"));
136 SET_ColorMask(__ogl_framework_api, dlsym(handle, "glColorMask"));
137 SET_ColorMaterial(__ogl_framework_api, dlsym(handle, "glColorMaterial"));
138 SET_ColorPointer(__ogl_framework_api, dlsym(handle, "glColorPointer"));
139 SET_ColorSubTable(__ogl_framework_api, dlsym(handle, "glColorSubTable"));
140 SET_ColorTable(__ogl_framework_api, dlsym(handle, "glColorTable"));
141 SET_ColorTableParameterfv(__ogl_framework_api, dlsym(handle, "glColorTableParameterfv"));
142 SET_ColorTableParameteriv(__ogl_framework_api, dlsym(handle, "glColorTableParameteriv"));
143 SET_ConvolutionFilter1D(__ogl_framework_api, dlsym(handle, "glConvolutionFilter1D"));
144 SET_ConvolutionFilter2D(__ogl_framework_api, dlsym(handle, "glConvolutionFilter2D"));
145 SET_ConvolutionParameterf(__ogl_framework_api, dlsym(handle, "glConvolutionParameterf"));
146 SET_ConvolutionParameterfv(__ogl_framework_api, dlsym(handle, "glConvolutionParameterfv"));
147 SET_ConvolutionParameteri(__ogl_framework_api, dlsym(handle, "glConvolutionParameteri"));
148 SET_ConvolutionParameteriv(__ogl_framework_api, dlsym(handle, "glConvolutionParameteriv"));
149 SET_CopyColorSubTable(__ogl_framework_api, dlsym(handle, "glCopyColorSubTable"));
150 SET_CopyColorTable(__ogl_framework_api, dlsym(handle, "glCopyColorTable"));
151 SET_CopyConvolutionFilter1D(__ogl_framework_api, dlsym(handle, "glCopyConvolutionFilter1D"));
152 SET_CopyConvolutionFilter2D(__ogl_framework_api, dlsym(handle, "glCopyConvolutionFilter2D"));
153 SET_CopyPixels(__ogl_framework_api, dlsym(handle, "glCopyPixels"));
154 SET_CopyTexImage1D(__ogl_framework_api, dlsym(handle, "glCopyTexImage1D"));
155 SET_CopyTexImage2D(__ogl_framework_api, dlsym(handle, "glCopyTexImage2D"));
156 SET_CopyTexSubImage1D(__ogl_framework_api, dlsym(handle, "glCopyTexSubImage1D"));
157 SET_CopyTexSubImage2D(__ogl_framework_api, dlsym(handle, "glCopyTexSubImage2D"));
158 SET_CopyTexSubImage3D(__ogl_framework_api, dlsym(handle, "glCopyTexSubImage3D"));
159 SET_CullFace(__ogl_framework_api, dlsym(handle, "glCullFace"));
160 SET_DeleteLists(__ogl_framework_api, dlsym(handle, "glDeleteLists"));
161 SET_DeleteTextures(__ogl_framework_api, dlsym(handle, "glDeleteTextures"));
162 SET_DepthFunc(__ogl_framework_api, dlsym(handle, "glDepthFunc"));
163 SET_DepthMask(__ogl_framework_api, dlsym(handle, "glDepthMask"));
164 SET_DepthRange(__ogl_framework_api, dlsym(handle, "glDepthRange"));
165 SET_Disable(__ogl_framework_api, dlsym(handle, "glDisable"));
166 SET_DisableClientState(__ogl_framework_api, dlsym(handle, "glDisableClientState"));
167 SET_DrawArrays(__ogl_framework_api, dlsym(handle, "glDrawArrays"));
168 SET_DrawBuffer(__ogl_framework_api, dlsym(handle, "glDrawBuffer"));
169 SET_DrawElements(__ogl_framework_api, dlsym(handle, "glDrawElements"));
170 SET_DrawPixels(__ogl_framework_api, dlsym(handle, "glDrawPixels"));
171 SET_DrawRangeElements(__ogl_framework_api, dlsym(handle, "glDrawRangeElements"));
172 SET_EdgeFlag(__ogl_framework_api, dlsym(handle, "glEdgeFlag"));
173 SET_EdgeFlagPointer(__ogl_framework_api, dlsym(handle, "glEdgeFlagPointer"));
174 SET_EdgeFlagv(__ogl_framework_api, dlsym(handle, "glEdgeFlagv"));
175 SET_Enable(__ogl_framework_api, dlsym(handle, "glEnable"));
176 SET_EnableClientState(__ogl_framework_api, dlsym(handle, "glEnableClientState"));
177 SET_End(__ogl_framework_api, dlsym(handle, "glEnd"));
178 SET_EndList(__ogl_framework_api, dlsym(handle, "glEndList"));
179 SET_EvalCoord1d(__ogl_framework_api, dlsym(handle, "glEvalCoord1d"));
180 SET_EvalCoord1dv(__ogl_framework_api, dlsym(handle, "glEvalCoord1dv"));
181 SET_EvalCoord1f(__ogl_framework_api, dlsym(handle, "glEvalCoord1f"));
182 SET_EvalCoord1fv(__ogl_framework_api, dlsym(handle, "glEvalCoord1fv"));
183 SET_EvalCoord2d(__ogl_framework_api, dlsym(handle, "glEvalCoord2d"));
184 SET_EvalCoord2dv(__ogl_framework_api, dlsym(handle, "glEvalCoord2dv"));
185 SET_EvalCoord2f(__ogl_framework_api, dlsym(handle, "glEvalCoord2f"));
186 SET_EvalCoord2fv(__ogl_framework_api, dlsym(handle, "glEvalCoord2fv"));
187 SET_EvalMesh1(__ogl_framework_api, dlsym(handle, "glEvalMesh1"));
188 SET_EvalMesh2(__ogl_framework_api, dlsym(handle, "glEvalMesh2"));
189 SET_EvalPoint1(__ogl_framework_api, dlsym(handle, "glEvalPoint1"));
190 SET_EvalPoint2(__ogl_framework_api, dlsym(handle, "glEvalPoint2"));
191 SET_FeedbackBuffer(__ogl_framework_api, dlsym(handle, "glFeedbackBuffer"));
192 SET_Finish(__ogl_framework_api, dlsym(handle, "glFinish"));
193 SET_Flush(__ogl_framework_api, dlsym(handle, "glFlush"));
194 SET_Fogf(__ogl_framework_api, dlsym(handle, "glFogf"));
195 SET_Fogfv(__ogl_framework_api, dlsym(handle, "glFogfv"));
196 SET_Fogi(__ogl_framework_api, dlsym(handle, "glFogi"));
197 SET_Fogiv(__ogl_framework_api, dlsym(handle, "glFogiv"));
198 SET_FrontFace(__ogl_framework_api, dlsym(handle, "glFrontFace"));
199 SET_Frustum(__ogl_framework_api, dlsym(handle, "glFrustum"));
200 SET_GenLists(__ogl_framework_api, dlsym(handle, "glGenLists"));
201 SET_GenTextures(__ogl_framework_api, dlsym(handle, "glGenTextures"));
202 SET_GetBooleanv(__ogl_framework_api, dlsym(handle, "glGetBooleanv"));
203 SET_GetClipPlane(__ogl_framework_api, dlsym(handle, "glGetClipPlane"));
204 SET_GetColorTable(__ogl_framework_api, dlsym(handle, "glGetColorTable"));
205 SET_GetColorTableParameterfv(__ogl_framework_api, dlsym(handle, "glGetColorTableParameterfv"));
206 SET_GetColorTableParameteriv(__ogl_framework_api, dlsym(handle, "glGetColorTableParameteriv"));
207 SET_GetConvolutionFilter(__ogl_framework_api, dlsym(handle, "glGetConvolutionFilter"));
208 SET_GetConvolutionParameterfv(__ogl_framework_api, dlsym(handle, "glGetConvolutionParameterfv"));
209 SET_GetConvolutionParameteriv(__ogl_framework_api, dlsym(handle, "glGetConvolutionParameteriv"));
210 SET_GetDoublev(__ogl_framework_api, dlsym(handle, "glGetDoublev"));
211 SET_GetError(__ogl_framework_api, dlsym(handle, "glGetError"));
212 SET_GetFloatv(__ogl_framework_api, dlsym(handle, "glGetFloatv"));
213 SET_GetHistogram(__ogl_framework_api, dlsym(handle, "glGetHistogram"));
214 SET_GetHistogramParameterfv(__ogl_framework_api, dlsym(handle, "glGetHistogramParameterfv"));
215 SET_GetHistogramParameteriv(__ogl_framework_api, dlsym(handle, "glGetHistogramParameteriv"));
216 SET_GetIntegerv(__ogl_framework_api, dlsym(handle, "glGetIntegerv"));
217 SET_GetLightfv(__ogl_framework_api, dlsym(handle, "glGetLightfv"));
218 SET_GetLightiv(__ogl_framework_api, dlsym(handle, "glGetLightiv"));
219 SET_GetMapdv(__ogl_framework_api, dlsym(handle, "glGetMapdv"));
220 SET_GetMapfv(__ogl_framework_api, dlsym(handle, "glGetMapfv"));
221 SET_GetMapiv(__ogl_framework_api, dlsym(handle, "glGetMapiv"));
222 SET_GetMaterialfv(__ogl_framework_api, dlsym(handle, "glGetMaterialfv"));
223 SET_GetMaterialiv(__ogl_framework_api, dlsym(handle, "glGetMaterialiv"));
224 SET_GetMinmax(__ogl_framework_api, dlsym(handle, "glGetMinmax"));
225 SET_GetMinmaxParameterfv(__ogl_framework_api, dlsym(handle, "glGetMinmaxParameterfv"));
226 SET_GetMinmaxParameteriv(__ogl_framework_api, dlsym(handle, "glGetMinmaxParameteriv"));
227 SET_GetPixelMapfv(__ogl_framework_api, dlsym(handle, "glGetPixelMapfv"));
228 SET_GetPixelMapuiv(__ogl_framework_api, dlsym(handle, "glGetPixelMapuiv"));
229 SET_GetPixelMapusv(__ogl_framework_api, dlsym(handle, "glGetPixelMapusv"));
230 SET_GetPointerv(__ogl_framework_api, dlsym(handle, "glGetPointerv"));
231 SET_GetPolygonStipple(__ogl_framework_api, dlsym(handle, "glGetPolygonStipple"));
232 SET_GetSeparableFilter(__ogl_framework_api, dlsym(handle, "glGetSeparableFilter"));
233 SET_GetString(__ogl_framework_api, dlsym(handle, "glGetString"));
234 SET_GetTexEnvfv(__ogl_framework_api, dlsym(handle, "glGetTexEnvfv"));
235 SET_GetTexEnviv(__ogl_framework_api, dlsym(handle, "glGetTexEnviv"));
236 SET_GetTexGendv(__ogl_framework_api, dlsym(handle, "glGetTexGendv"));
237 SET_GetTexGenfv(__ogl_framework_api, dlsym(handle, "glGetTexGenfv"));
238 SET_GetTexGeniv(__ogl_framework_api, dlsym(handle, "glGetTexGeniv"));
239 SET_GetTexImage(__ogl_framework_api, dlsym(handle, "glGetTexImage"));
240 SET_GetTexLevelParameterfv(__ogl_framework_api, dlsym(handle, "glGetTexLevelParameterfv"));
241 SET_GetTexLevelParameteriv(__ogl_framework_api, dlsym(handle, "glGetTexLevelParameteriv"));
242 SET_GetTexParameterfv(__ogl_framework_api, dlsym(handle, "glGetTexParameterfv"));
243 SET_GetTexParameteriv(__ogl_framework_api, dlsym(handle, "glGetTexParameteriv"));
244 SET_Hint(__ogl_framework_api, dlsym(handle, "glHint"));
245 SET_Histogram(__ogl_framework_api, dlsym(handle, "glHistogram"));
246 SET_IndexMask(__ogl_framework_api, dlsym(handle, "glIndexMask"));
247 SET_IndexPointer(__ogl_framework_api, dlsym(handle, "glIndexPointer"));
248 SET_Indexd(__ogl_framework_api, dlsym(handle, "glIndexd"));
249 SET_Indexdv(__ogl_framework_api, dlsym(handle, "glIndexdv"));
250 SET_Indexf(__ogl_framework_api, dlsym(handle, "glIndexf"));
251 SET_Indexfv(__ogl_framework_api, dlsym(handle, "glIndexfv"));
252 SET_Indexi(__ogl_framework_api, dlsym(handle, "glIndexi"));
253 SET_Indexiv(__ogl_framework_api, dlsym(handle, "glIndexiv"));
254 SET_Indexs(__ogl_framework_api, dlsym(handle, "glIndexs"));
255 SET_Indexsv(__ogl_framework_api, dlsym(handle, "glIndexsv"));
256 SET_Indexub(__ogl_framework_api, dlsym(handle, "glIndexub"));
257 SET_Indexubv(__ogl_framework_api, dlsym(handle, "glIndexubv"));
258 SET_InitNames(__ogl_framework_api, dlsym(handle, "glInitNames"));
259 SET_InterleavedArrays(__ogl_framework_api, dlsym(handle, "glInterleavedArrays"));
260 SET_IsEnabled(__ogl_framework_api, dlsym(handle, "glIsEnabled"));
261 SET_IsList(__ogl_framework_api, dlsym(handle, "glIsList"));
262 SET_IsTexture(__ogl_framework_api, dlsym(handle, "glIsTexture"));
263 SET_LightModelf(__ogl_framework_api, dlsym(handle, "glLightModelf"));
264 SET_LightModelfv(__ogl_framework_api, dlsym(handle, "glLightModelfv"));
265 SET_LightModeli(__ogl_framework_api, dlsym(handle, "glLightModeli"));
266 SET_LightModeliv(__ogl_framework_api, dlsym(handle, "glLightModeliv"));
267 SET_Lightf(__ogl_framework_api, dlsym(handle, "glLightf"));
268 SET_Lightfv(__ogl_framework_api, dlsym(handle, "glLightfv"));
269 SET_Lighti(__ogl_framework_api, dlsym(handle, "glLighti"));
270 SET_Lightiv(__ogl_framework_api, dlsym(handle, "glLightiv"));
271 SET_LineStipple(__ogl_framework_api, dlsym(handle, "glLineStipple"));
272 SET_LineWidth(__ogl_framework_api, dlsym(handle, "glLineWidth"));
273 SET_ListBase(__ogl_framework_api, dlsym(handle, "glListBase"));
274 SET_LoadIdentity(__ogl_framework_api, dlsym(handle, "glLoadIdentity"));
275 SET_LoadMatrixd(__ogl_framework_api, dlsym(handle, "glLoadMatrixd"));
276 SET_LoadMatrixf(__ogl_framework_api, dlsym(handle, "glLoadMatrixf"));
277 SET_LoadName(__ogl_framework_api, dlsym(handle, "glLoadName"));
278 SET_LogicOp(__ogl_framework_api, dlsym(handle, "glLogicOp"));
279 SET_Map1d(__ogl_framework_api, dlsym(handle, "glMap1d"));
280 SET_Map1f(__ogl_framework_api, dlsym(handle, "glMap1f"));
281 SET_Map2d(__ogl_framework_api, dlsym(handle, "glMap2d"));
282 SET_Map2f(__ogl_framework_api, dlsym(handle, "glMap2f"));
283 SET_MapGrid1d(__ogl_framework_api, dlsym(handle, "glMapGrid1d"));
284 SET_MapGrid1f(__ogl_framework_api, dlsym(handle, "glMapGrid1f"));
285 SET_MapGrid2d(__ogl_framework_api, dlsym(handle, "glMapGrid2d"));
286 SET_MapGrid2f(__ogl_framework_api, dlsym(handle, "glMapGrid2f"));
287 SET_Materialf(__ogl_framework_api, dlsym(handle, "glMaterialf"));
288 SET_Materialfv(__ogl_framework_api, dlsym(handle, "glMaterialfv"));
289 SET_Materiali(__ogl_framework_api, dlsym(handle, "glMateriali"));
290 SET_Materialiv(__ogl_framework_api, dlsym(handle, "glMaterialiv"));
291 SET_MatrixMode(__ogl_framework_api, dlsym(handle, "glMatrixMode"));
292 SET_Minmax(__ogl_framework_api, dlsym(handle, "glMinmax"));
293 SET_MultMatrixd(__ogl_framework_api, dlsym(handle, "glMultMatrixd"));
294 SET_MultMatrixf(__ogl_framework_api, dlsym(handle, "glMultMatrixf"));
295 SET_NewList(__ogl_framework_api, dlsym(handle, "glNewList"));
296 SET_Normal3b(__ogl_framework_api, dlsym(handle, "glNormal3b"));
297 SET_Normal3bv(__ogl_framework_api, dlsym(handle, "glNormal3bv"));
298 SET_Normal3d(__ogl_framework_api, dlsym(handle, "glNormal3d"));
299 SET_Normal3dv(__ogl_framework_api, dlsym(handle, "glNormal3dv"));
300 SET_Normal3f(__ogl_framework_api, dlsym(handle, "glNormal3f"));
301 SET_Normal3fv(__ogl_framework_api, dlsym(handle, "glNormal3fv"));
302 SET_Normal3i(__ogl_framework_api, dlsym(handle, "glNormal3i"));
303 SET_Normal3iv(__ogl_framework_api, dlsym(handle, "glNormal3iv"));
304 SET_Normal3s(__ogl_framework_api, dlsym(handle, "glNormal3s"));
305 SET_Normal3sv(__ogl_framework_api, dlsym(handle, "glNormal3sv"));
306 SET_NormalPointer(__ogl_framework_api, dlsym(handle, "glNormalPointer"));
307 SET_Ortho(__ogl_framework_api, dlsym(handle, "glOrtho"));
308 SET_PassThrough(__ogl_framework_api, dlsym(handle, "glPassThrough"));
309 SET_PixelMapfv(__ogl_framework_api, dlsym(handle, "glPixelMapfv"));
310 SET_PixelMapuiv(__ogl_framework_api, dlsym(handle, "glPixelMapuiv"));
311 SET_PixelMapusv(__ogl_framework_api, dlsym(handle, "glPixelMapusv"));
312 SET_PixelStoref(__ogl_framework_api, dlsym(handle, "glPixelStoref"));
313 SET_PixelStorei(__ogl_framework_api, dlsym(handle, "glPixelStorei"));
314 SET_PixelTransferf(__ogl_framework_api, dlsym(handle, "glPixelTransferf"));
315 SET_PixelTransferi(__ogl_framework_api, dlsym(handle, "glPixelTransferi"));
316 SET_PixelZoom(__ogl_framework_api, dlsym(handle, "glPixelZoom"));
317 SET_PointSize(__ogl_framework_api, dlsym(handle, "glPointSize"));
318 SET_PolygonMode(__ogl_framework_api, dlsym(handle, "glPolygonMode"));
319 SET_PolygonOffset(__ogl_framework_api, dlsym(handle, "glPolygonOffset"));
320 SET_PolygonStipple(__ogl_framework_api, dlsym(handle, "glPolygonStipple"));
321 SET_PopAttrib(__ogl_framework_api, dlsym(handle, "glPopAttrib"));
322 SET_PopClientAttrib(__ogl_framework_api, dlsym(handle, "glPopClientAttrib"));
323 SET_PopMatrix(__ogl_framework_api, dlsym(handle, "glPopMatrix"));
324 SET_PopName(__ogl_framework_api, dlsym(handle, "glPopName"));
325 SET_PrioritizeTextures(__ogl_framework_api, dlsym(handle, "glPrioritizeTextures"));
326 SET_PushAttrib(__ogl_framework_api, dlsym(handle, "glPushAttrib"));
327 SET_PushClientAttrib(__ogl_framework_api, dlsym(handle, "glPushClientAttrib"));
328 SET_PushMatrix(__ogl_framework_api, dlsym(handle, "glPushMatrix"));
329 SET_PushName(__ogl_framework_api, dlsym(handle, "glPushName"));
330 SET_RasterPos2d(__ogl_framework_api, dlsym(handle, "glRasterPos2d"));
331 SET_RasterPos2dv(__ogl_framework_api, dlsym(handle, "glRasterPos2dv"));
332 SET_RasterPos2f(__ogl_framework_api, dlsym(handle, "glRasterPos2f"));
333 SET_RasterPos2fv(__ogl_framework_api, dlsym(handle, "glRasterPos2fv"));
334 SET_RasterPos2i(__ogl_framework_api, dlsym(handle, "glRasterPos2i"));
335 SET_RasterPos2iv(__ogl_framework_api, dlsym(handle, "glRasterPos2iv"));
336 SET_RasterPos2s(__ogl_framework_api, dlsym(handle, "glRasterPos2s"));
337 SET_RasterPos2sv(__ogl_framework_api, dlsym(handle, "glRasterPos2sv"));
338 SET_RasterPos3d(__ogl_framework_api, dlsym(handle, "glRasterPos3d"));
339 SET_RasterPos3dv(__ogl_framework_api, dlsym(handle, "glRasterPos3dv"));
340 SET_RasterPos3f(__ogl_framework_api, dlsym(handle, "glRasterPos3f"));
341 SET_RasterPos3fv(__ogl_framework_api, dlsym(handle, "glRasterPos3fv"));
342 SET_RasterPos3i(__ogl_framework_api, dlsym(handle, "glRasterPos3i"));
343 SET_RasterPos3iv(__ogl_framework_api, dlsym(handle, "glRasterPos3iv"));
344 SET_RasterPos3s(__ogl_framework_api, dlsym(handle, "glRasterPos3s"));
345 SET_RasterPos3sv(__ogl_framework_api, dlsym(handle, "glRasterPos3sv"));
346 SET_RasterPos4d(__ogl_framework_api, dlsym(handle, "glRasterPos4d"));
347 SET_RasterPos4dv(__ogl_framework_api, dlsym(handle, "glRasterPos4dv"));
348 SET_RasterPos4f(__ogl_framework_api, dlsym(handle, "glRasterPos4f"));
349 SET_RasterPos4fv(__ogl_framework_api, dlsym(handle, "glRasterPos4fv"));
350 SET_RasterPos4i(__ogl_framework_api, dlsym(handle, "glRasterPos4i"));
351 SET_RasterPos4iv(__ogl_framework_api, dlsym(handle, "glRasterPos4iv"));
352 SET_RasterPos4s(__ogl_framework_api, dlsym(handle, "glRasterPos4s"));
353 SET_RasterPos4sv(__ogl_framework_api, dlsym(handle, "glRasterPos4sv"));
354 SET_ReadBuffer(__ogl_framework_api, dlsym(handle, "glReadBuffer"));
355 SET_ReadPixels(__ogl_framework_api, dlsym(handle, "glReadPixels"));
356 SET_Rectd(__ogl_framework_api, dlsym(handle, "glRectd"));
357 SET_Rectdv(__ogl_framework_api, dlsym(handle, "glRectdv"));
358 SET_Rectf(__ogl_framework_api, dlsym(handle, "glRectf"));
359 SET_Rectfv(__ogl_framework_api, dlsym(handle, "glRectfv"));
360 SET_Recti(__ogl_framework_api, dlsym(handle, "glRecti"));
361 SET_Rectiv(__ogl_framework_api, dlsym(handle, "glRectiv"));
362 SET_Rects(__ogl_framework_api, dlsym(handle, "glRects"));
363 SET_Rectsv(__ogl_framework_api, dlsym(handle, "glRectsv"));
364 SET_RenderMode(__ogl_framework_api, dlsym(handle, "glRenderMode"));
365 SET_ResetHistogram(__ogl_framework_api, dlsym(handle, "glResetHistogram"));
366 SET_ResetMinmax(__ogl_framework_api, dlsym(handle, "glResetMinmax"));
367 SET_Rotated(__ogl_framework_api, dlsym(handle, "glRotated"));
368 SET_Rotatef(__ogl_framework_api, dlsym(handle, "glRotatef"));
369 SET_Scaled(__ogl_framework_api, dlsym(handle, "glScaled"));
370 SET_Scalef(__ogl_framework_api, dlsym(handle, "glScalef"));
371 SET_Scissor(__ogl_framework_api, dlsym(handle, "glScissor"));
372 SET_SelectBuffer(__ogl_framework_api, dlsym(handle, "glSelectBuffer"));
373 SET_SeparableFilter2D(__ogl_framework_api, dlsym(handle, "glSeparableFilter2D"));
374 SET_ShadeModel(__ogl_framework_api, dlsym(handle, "glShadeModel"));
375 SET_StencilFunc(__ogl_framework_api, dlsym(handle, "glStencilFunc"));
376 SET_StencilMask(__ogl_framework_api, dlsym(handle, "glStencilMask"));
377 SET_StencilOp(__ogl_framework_api, dlsym(handle, "glStencilOp"));
378 SET_TexCoord1d(__ogl_framework_api, dlsym(handle, "glTexCoord1d"));
379 SET_TexCoord1dv(__ogl_framework_api, dlsym(handle, "glTexCoord1dv"));
380 SET_TexCoord1f(__ogl_framework_api, dlsym(handle, "glTexCoord1f"));
381 SET_TexCoord1fv(__ogl_framework_api, dlsym(handle, "glTexCoord1fv"));
382 SET_TexCoord1i(__ogl_framework_api, dlsym(handle, "glTexCoord1i"));
383 SET_TexCoord1iv(__ogl_framework_api, dlsym(handle, "glTexCoord1iv"));
384 SET_TexCoord1s(__ogl_framework_api, dlsym(handle, "glTexCoord1s"));
385 SET_TexCoord1sv(__ogl_framework_api, dlsym(handle, "glTexCoord1sv"));
386 SET_TexCoord2d(__ogl_framework_api, dlsym(handle, "glTexCoord2d"));
387 SET_TexCoord2dv(__ogl_framework_api, dlsym(handle, "glTexCoord2dv"));
388 SET_TexCoord2f(__ogl_framework_api, dlsym(handle, "glTexCoord2f"));
389 SET_TexCoord2fv(__ogl_framework_api, dlsym(handle, "glTexCoord2fv"));
390 SET_TexCoord2i(__ogl_framework_api, dlsym(handle, "glTexCoord2i"));
391 SET_TexCoord2iv(__ogl_framework_api, dlsym(handle, "glTexCoord2iv"));
392 SET_TexCoord2s(__ogl_framework_api, dlsym(handle, "glTexCoord2s"));
393 SET_TexCoord2sv(__ogl_framework_api, dlsym(handle, "glTexCoord2sv"));
394 SET_TexCoord3d(__ogl_framework_api, dlsym(handle, "glTexCoord3d"));
395 SET_TexCoord3dv(__ogl_framework_api, dlsym(handle, "glTexCoord3dv"));
396 SET_TexCoord3f(__ogl_framework_api, dlsym(handle, "glTexCoord3f"));
397 SET_TexCoord3fv(__ogl_framework_api, dlsym(handle, "glTexCoord3fv"));
398 SET_TexCoord3i(__ogl_framework_api, dlsym(handle, "glTexCoord3i"));
399 SET_TexCoord3iv(__ogl_framework_api, dlsym(handle, "glTexCoord3iv"));
400 SET_TexCoord3s(__ogl_framework_api, dlsym(handle, "glTexCoord3s"));
401 SET_TexCoord3sv(__ogl_framework_api, dlsym(handle, "glTexCoord3sv"));
402 SET_TexCoord4d(__ogl_framework_api, dlsym(handle, "glTexCoord4d"));
403 SET_TexCoord4dv(__ogl_framework_api, dlsym(handle, "glTexCoord4dv"));
404 SET_TexCoord4f(__ogl_framework_api, dlsym(handle, "glTexCoord4f"));
405 SET_TexCoord4fv(__ogl_framework_api, dlsym(handle, "glTexCoord4fv"));
406 SET_TexCoord4i(__ogl_framework_api, dlsym(handle, "glTexCoord4i"));
407 SET_TexCoord4iv(__ogl_framework_api, dlsym(handle, "glTexCoord4iv"));
408 SET_TexCoord4s(__ogl_framework_api, dlsym(handle, "glTexCoord4s"));
409 SET_TexCoord4sv(__ogl_framework_api, dlsym(handle, "glTexCoord4sv"));
410 SET_TexCoordPointer(__ogl_framework_api, dlsym(handle, "glTexCoordPointer"));
411 SET_TexEnvf(__ogl_framework_api, dlsym(handle, "glTexEnvf"));
412 SET_TexEnvfv(__ogl_framework_api, dlsym(handle, "glTexEnvfv"));
413 SET_TexEnvi(__ogl_framework_api, dlsym(handle, "glTexEnvi"));
414 SET_TexEnviv(__ogl_framework_api, dlsym(handle, "glTexEnviv"));
415 SET_TexGend(__ogl_framework_api, dlsym(handle, "glTexGend"));
416 SET_TexGendv(__ogl_framework_api, dlsym(handle, "glTexGendv"));
417 SET_TexGenf(__ogl_framework_api, dlsym(handle, "glTexGenf"));
418 SET_TexGenfv(__ogl_framework_api, dlsym(handle, "glTexGenfv"));
419 SET_TexGeni(__ogl_framework_api, dlsym(handle, "glTexGeni"));
420 SET_TexGeniv(__ogl_framework_api, dlsym(handle, "glTexGeniv"));
421 SET_TexImage1D(__ogl_framework_api, dlsym(handle, "glTexImage1D"));
422 SET_TexImage2D(__ogl_framework_api, dlsym(handle, "glTexImage2D"));
423 SET_TexImage3D(__ogl_framework_api, dlsym(handle, "glTexImage3D"));
424 SET_TexParameterf(__ogl_framework_api, dlsym(handle, "glTexParameterf"));
425 SET_TexParameterfv(__ogl_framework_api, dlsym(handle, "glTexParameterfv"));
426 SET_TexParameteri(__ogl_framework_api, dlsym(handle, "glTexParameteri"));
427 SET_TexParameteriv(__ogl_framework_api, dlsym(handle, "glTexParameteriv"));
428 SET_TexSubImage1D(__ogl_framework_api, dlsym(handle, "glTexSubImage1D"));
429 SET_TexSubImage2D(__ogl_framework_api, dlsym(handle, "glTexSubImage2D"));
430 SET_TexSubImage3D(__ogl_framework_api, dlsym(handle, "glTexSubImage3D"));
431 SET_Translated(__ogl_framework_api, dlsym(handle, "glTranslated"));
432 SET_Translatef(__ogl_framework_api, dlsym(handle, "glTranslatef"));
433 SET_Vertex2d(__ogl_framework_api, dlsym(handle, "glVertex2d"));
434 SET_Vertex2dv(__ogl_framework_api, dlsym(handle, "glVertex2dv"));
435 SET_Vertex2f(__ogl_framework_api, dlsym(handle, "glVertex2f"));
436 SET_Vertex2fv(__ogl_framework_api, dlsym(handle, "glVertex2fv"));
437 SET_Vertex2i(__ogl_framework_api, dlsym(handle, "glVertex2i"));
438 SET_Vertex2iv(__ogl_framework_api, dlsym(handle, "glVertex2iv"));
439 SET_Vertex2s(__ogl_framework_api, dlsym(handle, "glVertex2s"));
440 SET_Vertex2sv(__ogl_framework_api, dlsym(handle, "glVertex2sv"));
441 SET_Vertex3d(__ogl_framework_api, dlsym(handle, "glVertex3d"));
442 SET_Vertex3dv(__ogl_framework_api, dlsym(handle, "glVertex3dv"));
443 SET_Vertex3f(__ogl_framework_api, dlsym(handle, "glVertex3f"));
444 SET_Vertex3fv(__ogl_framework_api, dlsym(handle, "glVertex3fv"));
445 SET_Vertex3i(__ogl_framework_api, dlsym(handle, "glVertex3i"));
446 SET_Vertex3iv(__ogl_framework_api, dlsym(handle, "glVertex3iv"));
447 SET_Vertex3s(__ogl_framework_api, dlsym(handle, "glVertex3s"));
448 SET_Vertex3sv(__ogl_framework_api, dlsym(handle, "glVertex3sv"));
449 SET_Vertex4d(__ogl_framework_api, dlsym(handle, "glVertex4d"));
450 SET_Vertex4dv(__ogl_framework_api, dlsym(handle, "glVertex4dv"));
451 SET_Vertex4f(__ogl_framework_api, dlsym(handle, "glVertex4f"));
452 SET_Vertex4fv(__ogl_framework_api, dlsym(handle, "glVertex4fv"));
453 SET_Vertex4i(__ogl_framework_api, dlsym(handle, "glVertex4i"));
454 SET_Vertex4iv(__ogl_framework_api, dlsym(handle, "glVertex4iv"));
455 SET_Vertex4s(__ogl_framework_api, dlsym(handle, "glVertex4s"));
456 SET_Vertex4sv(__ogl_framework_api, dlsym(handle, "glVertex4sv"));
457 SET_VertexPointer(__ogl_framework_api, dlsym(handle, "glVertexPointer"));
458 SET_Viewport(__ogl_framework_api, dlsym(handle, "glViewport"));
459
460 /* GL_VERSION_2_0 */
461 SET_AttachShader(__ogl_framework_api, dlsym(handle, "glAttachShader"));
462 SET_CreateProgram(__ogl_framework_api, dlsym(handle, "glCreateProgram"));
463 SET_CreateShader(__ogl_framework_api, dlsym(handle, "glCreateShader"));
464 SET_DeleteProgram(__ogl_framework_api, dlsym(handle, "glDeleteProgram"));
465 SET_DeleteShader(__ogl_framework_api, dlsym(handle, "glDeleteShader"));
466 SET_DetachShader(__ogl_framework_api, dlsym(handle, "glDetachShader"));
467 SET_GetAttachedShaders(__ogl_framework_api, dlsym(handle, "glGetAttachedShaders"));
468 SET_GetProgramiv(__ogl_framework_api, dlsym(handle, "glGetProgramiv"));
469 SET_GetProgramInfoLog(__ogl_framework_api, dlsym(handle, "glGetProgramInfoLog"));
470 SET_GetShaderInfoLog(__ogl_framework_api, dlsym(handle, "glGetShaderInfoLog"));
471 SET_GetShaderiv(__ogl_framework_api, dlsym(handle, "glGetShaderiv"));
472 SET_IsProgram(__ogl_framework_api, dlsym(handle, "glIsProgram"));
473 SET_IsShader(__ogl_framework_api, dlsym(handle, "glIsShader"));
474 SET_StencilFuncSeparate(__ogl_framework_api, dlsym(handle, "glStencilFuncSeparate"));
475 SET_StencilMaskSeparate(__ogl_framework_api, dlsym(handle, "glStencilMaskSeparate"));
476 SET_StencilOpSeparate(__ogl_framework_api, dlsym(handle, "glStencilOpSeparate"));
477
478 /* GL_VERSION_2_1 */
479 SET_UniformMatrix2x3fv(__ogl_framework_api, dlsym(handle, "glUniformMatrix2x3fv"));
480 SET_UniformMatrix2x4fv(__ogl_framework_api, dlsym(handle, "glUniformMatrix2x4fv"));
481 SET_UniformMatrix3x2fv(__ogl_framework_api, dlsym(handle, "glUniformMatrix3x2fv"));
482 SET_UniformMatrix3x4fv(__ogl_framework_api, dlsym(handle, "glUniformMatrix3x4fv"));
483 SET_UniformMatrix4x2fv(__ogl_framework_api, dlsym(handle, "glUniformMatrix4x2fv"));
484 SET_UniformMatrix4x3fv(__ogl_framework_api, dlsym(handle, "glUniformMatrix4x3fv"));
485
486 /* GL_VERSION_3_0 */
487 SET_ClampColor(__ogl_framework_api, dlsym(handle, "glClampColor"));
488 SET_ClearBufferfi(__ogl_framework_api, dlsym(handle, "glClearBufferfi"));
489 SET_ClearBufferfv(__ogl_framework_api, dlsym(handle, "glClearBufferfv"));
490 SET_ClearBufferiv(__ogl_framework_api, dlsym(handle, "glClearBufferiv"));
491 SET_ClearBufferuiv(__ogl_framework_api, dlsym(handle, "glClearBufferuiv"));
492 SET_GetStringi(__ogl_framework_api, dlsym(handle, "glGetStringi"));
493
494 /* GL_VERSION_3_1 */
495 SET_TexBuffer(__ogl_framework_api, dlsym(handle, "glTexBuffer"));
496
497 /* GL_VERSION_3_2 */
498 SET_FramebufferTexture(__ogl_framework_api, dlsym(handle, "glFramebufferTexture"));
499 SET_GetBufferParameteri64v(__ogl_framework_api, dlsym(handle, "glGetBufferParameteri64v"));
500 SET_GetInteger64i_v(__ogl_framework_api, dlsym(handle, "glGetInteger64i_v"));
501
502 /* GL_APPLE_vertex_array_object */
503 SET_BindVertexArrayAPPLE(__ogl_framework_api, dlsym(handle, "glBindVertexArrayAPPLE"));
504 SET_DeleteVertexArraysAPPLE(__ogl_framework_api, dlsym(handle, "glDeleteVertexArraysAPPLE"));
505 SET_GenVertexArraysAPPLE(__ogl_framework_api, dlsym(handle, "glGenVertexArraysAPPLE"));
506 SET_IsVertexArrayAPPLE(__ogl_framework_api, dlsym(handle, "glIsVertexArrayAPPLE"));
507
508 /* GL_ARB_draw_buffers */
509 SET_DrawBuffersARB(__ogl_framework_api, dlsym(handle, "glDrawBuffersARB"));
510
511 /* GL_ARB_multisample */
512 SET_SampleCoverageARB(__ogl_framework_api, dlsym(handle, "glSampleCoverageARB"));
513
514 /* GL_ARB_multitexture */
515 SET_ActiveTextureARB(__ogl_framework_api, dlsym(handle, "glActiveTextureARB"));
516 SET_ClientActiveTextureARB(__ogl_framework_api, dlsym(handle, "glClientActiveTextureARB"));
517 SET_MultiTexCoord1dARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord1dARB"));
518 SET_MultiTexCoord1dvARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord1dvARB"));
519 SET_MultiTexCoord1fARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord1fARB"));
520 SET_MultiTexCoord1fvARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord1fvARB"));
521 SET_MultiTexCoord1iARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord1iARB"));
522 SET_MultiTexCoord1ivARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord1ivARB"));
523 SET_MultiTexCoord1sARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord1sARB"));
524 SET_MultiTexCoord1svARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord1svARB"));
525 SET_MultiTexCoord2dARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord2dARB"));
526 SET_MultiTexCoord2dvARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord2dvARB"));
527 SET_MultiTexCoord2fARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord2fARB"));
528 SET_MultiTexCoord2fvARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord2fvARB"));
529 SET_MultiTexCoord2iARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord2iARB"));
530 SET_MultiTexCoord2ivARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord2ivARB"));
531 SET_MultiTexCoord2sARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord2sARB"));
532 SET_MultiTexCoord2svARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord2svARB"));
533 SET_MultiTexCoord3dARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord3dARB"));
534 SET_MultiTexCoord3dvARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord3dvARB"));
535 SET_MultiTexCoord3fARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord3fARB"));
536 SET_MultiTexCoord3fvARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord3fvARB"));
537 SET_MultiTexCoord3iARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord3iARB"));
538 SET_MultiTexCoord3ivARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord3ivARB"));
539 SET_MultiTexCoord3sARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord3sARB"));
540 SET_MultiTexCoord3svARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord3svARB"));
541 SET_MultiTexCoord4dARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord4dARB"));
542 SET_MultiTexCoord4dvARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord4dvARB"));
543 SET_MultiTexCoord4fARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord4fARB"));
544 SET_MultiTexCoord4fvARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord4fvARB"));
545 SET_MultiTexCoord4iARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord4iARB"));
546 SET_MultiTexCoord4ivARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord4ivARB"));
547 SET_MultiTexCoord4sARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord4sARB"));
548 SET_MultiTexCoord4svARB(__ogl_framework_api, dlsym(handle, "glMultiTexCoord4svARB"));
549
550 /* GL_ARB_occlusion_query */
551 SET_BeginQueryARB(__ogl_framework_api, dlsym(handle, "glBeginQueryARB"));
552 SET_DeleteQueriesARB(__ogl_framework_api, dlsym(handle, "glDeleteQueriesARB"));
553 SET_EndQueryARB(__ogl_framework_api, dlsym(handle, "glEndQueryARB"));
554 SET_GenQueriesARB(__ogl_framework_api, dlsym(handle, "glGenQueriesARB"));
555 SET_GetQueryObjectivARB(__ogl_framework_api, dlsym(handle, "glGetQueryObjectivARB"));
556 SET_GetQueryObjectuivARB(__ogl_framework_api, dlsym(handle, "glGetQueryObjectuivARB"));
557 SET_GetQueryivARB(__ogl_framework_api, dlsym(handle, "glGetQueryivARB"));
558 SET_IsQueryARB(__ogl_framework_api, dlsym(handle, "glIsQueryARB"));
559
560 /* GL_ARB_shader_objects */
561 SET_AttachObjectARB(__ogl_framework_api, dlsym(handle, "glAttachObjectARB"));
562 SET_CompileShaderARB(__ogl_framework_api, dlsym(handle, "glCompileShaderARB"));
563 SET_DeleteObjectARB(__ogl_framework_api, dlsym(handle, "glDeleteObjectARB"));
564 SET_GetHandleARB(__ogl_framework_api, dlsym(handle, "glGetHandleARB"));
565 SET_DetachObjectARB(__ogl_framework_api, dlsym(handle, "glDetachObjectARB"));
566 SET_CreateProgramObjectARB(__ogl_framework_api, dlsym(handle, "glCreateProgramObjectARB"));
567 SET_CreateShaderObjectARB(__ogl_framework_api, dlsym(handle, "glCreateShaderObjectARB"));
568 SET_GetInfoLogARB(__ogl_framework_api, dlsym(handle, "glGetInfoLogARB"));
569 SET_GetActiveUniformARB(__ogl_framework_api, dlsym(handle, "glGetActiveUniformARB"));
570 SET_GetAttachedObjectsARB(__ogl_framework_api, dlsym(handle, "glGetAttachedObjectsARB"));
571 SET_GetObjectParameterfvARB(__ogl_framework_api, dlsym(handle, "glGetObjectParameterfvARB"));
572 SET_GetObjectParameterivARB(__ogl_framework_api, dlsym(handle, "glGetObjectParameterivARB"));
573 SET_GetShaderSourceARB(__ogl_framework_api, dlsym(handle, "glGetShaderSourceARB"));
574 SET_GetUniformLocationARB(__ogl_framework_api, dlsym(handle, "glGetUniformLocationARB"));
575 SET_GetUniformfvARB(__ogl_framework_api, dlsym(handle, "glGetUniformfvARB"));
576 SET_GetUniformivARB(__ogl_framework_api, dlsym(handle, "glGetUniformivARB"));
577 SET_LinkProgramARB(__ogl_framework_api, dlsym(handle, "glLinkProgramARB"));
578 SET_ShaderSourceARB(__ogl_framework_api, dlsym(handle, "glShaderSourceARB"));
579 SET_Uniform1fARB(__ogl_framework_api, dlsym(handle, "glUniform1fARB"));
580 SET_Uniform1fvARB(__ogl_framework_api, dlsym(handle, "glUniform1fvARB"));
581 SET_Uniform1iARB(__ogl_framework_api, dlsym(handle, "glUniform1iARB"));
582 SET_Uniform1ivARB(__ogl_framework_api, dlsym(handle, "glUniform1ivARB"));
583 SET_Uniform2fARB(__ogl_framework_api, dlsym(handle, "glUniform2fARB"));
584 SET_Uniform2fvARB(__ogl_framework_api, dlsym(handle, "glUniform2fvARB"));
585 SET_Uniform2iARB(__ogl_framework_api, dlsym(handle, "glUniform2iARB"));
586 SET_Uniform2ivARB(__ogl_framework_api, dlsym(handle, "glUniform2ivARB"));
587 SET_Uniform3fARB(__ogl_framework_api, dlsym(handle, "glUniform3fARB"));
588 SET_Uniform3fvARB(__ogl_framework_api, dlsym(handle, "glUniform3fvARB"));
589 SET_Uniform3iARB(__ogl_framework_api, dlsym(handle, "glUniform3iARB"));
590 SET_Uniform3ivARB(__ogl_framework_api, dlsym(handle, "glUniform3ivARB"));
591 SET_Uniform4fARB(__ogl_framework_api, dlsym(handle, "glUniform4fARB"));
592 SET_Uniform4fvARB(__ogl_framework_api, dlsym(handle, "glUniform4fvARB"));
593 SET_Uniform4iARB(__ogl_framework_api, dlsym(handle, "glUniform4iARB"));
594 SET_Uniform4ivARB(__ogl_framework_api, dlsym(handle, "glUniform4ivARB"));
595 SET_UniformMatrix2fvARB(__ogl_framework_api, dlsym(handle, "glUniformMatrix2fvARB"));
596 SET_UniformMatrix3fvARB(__ogl_framework_api, dlsym(handle, "glUniformMatrix3fvARB"));
597 SET_UniformMatrix4fvARB(__ogl_framework_api, dlsym(handle, "glUniformMatrix4fvARB"));
598 SET_UseProgramObjectARB(__ogl_framework_api, dlsym(handle, "glUseProgramObjectARB"));
599 SET_ValidateProgramARB(__ogl_framework_api, dlsym(handle, "glValidateProgramARB"));
600
601 /* GL_ARB_texture_compression */
602 SET_CompressedTexImage1DARB(__ogl_framework_api, dlsym(handle, "glCompressedTexImage1DARB"));
603 SET_CompressedTexImage2DARB(__ogl_framework_api, dlsym(handle, "glCompressedTexImage2DARB"));
604 SET_CompressedTexImage3DARB(__ogl_framework_api, dlsym(handle, "glCompressedTexImage3DARB"));
605 SET_CompressedTexSubImage1DARB(__ogl_framework_api, dlsym(handle, "glCompressedTexSubImage1DARB"));
606 SET_CompressedTexSubImage2DARB(__ogl_framework_api, dlsym(handle, "glCompressedTexSubImage2DARB"));
607 SET_CompressedTexSubImage3DARB(__ogl_framework_api, dlsym(handle, "glCompressedTexSubImage3DARB"));
608 SET_GetCompressedTexImageARB(__ogl_framework_api, dlsym(handle, "glGetCompressedTexImageARB"));
609
610 /* GL_ARB_transpose_matrix */
611 SET_LoadTransposeMatrixdARB(__ogl_framework_api, dlsym(handle, "glLoadTransposeMatrixdARB"));
612 SET_LoadTransposeMatrixfARB(__ogl_framework_api, dlsym(handle, "glLoadTransposeMatrixfARB"));
613 SET_MultTransposeMatrixdARB(__ogl_framework_api, dlsym(handle, "glMultTransposeMatrixdARB"));
614 SET_MultTransposeMatrixfARB(__ogl_framework_api, dlsym(handle, "glMultTransposeMatrixfARB"));
615
616 /* GL_ARB_vertex_buffer_object */
617 SET_BindBufferARB(__ogl_framework_api, dlsym(handle, "glBindBufferARB"));
618 SET_BufferDataARB(__ogl_framework_api, dlsym(handle, "glBufferDataARB"));
619 SET_BufferSubDataARB(__ogl_framework_api, dlsym(handle, "glBufferSubDataARB"));
620 SET_DeleteBuffersARB(__ogl_framework_api, dlsym(handle, "glDeleteBuffersARB"));
621 SET_GenBuffersARB(__ogl_framework_api, dlsym(handle, "glGenBuffersARB"));
622 SET_GetBufferParameterivARB(__ogl_framework_api, dlsym(handle, "glGetBufferParameterivARB"));
623 SET_GetBufferPointervARB(__ogl_framework_api, dlsym(handle, "glGetBufferPointervARB"));
624 SET_GetBufferSubDataARB(__ogl_framework_api, dlsym(handle, "glGetBufferSubDataARB"));
625 SET_IsBufferARB(__ogl_framework_api, dlsym(handle, "glIsBufferARB"));
626 SET_MapBufferARB(__ogl_framework_api, dlsym(handle, "glMapBufferARB"));
627 SET_UnmapBufferARB(__ogl_framework_api, dlsym(handle, "glUnmapBufferARB"));
628
629 /* GL_ARB_vertex_program */
630 SET_DisableVertexAttribArrayARB(__ogl_framework_api, dlsym(handle, "glDisableVertexAttribArrayARB"));
631 SET_EnableVertexAttribArrayARB(__ogl_framework_api, dlsym(handle, "glEnableVertexAttribArrayARB"));
632 SET_GetProgramEnvParameterdvARB(__ogl_framework_api, dlsym(handle, "glGetProgramEnvParameterdvARB"));
633 SET_GetProgramEnvParameterfvARB(__ogl_framework_api, dlsym(handle, "glGetProgramEnvParameterfvARB"));
634 SET_GetProgramLocalParameterdvARB(__ogl_framework_api, dlsym(handle, "glGetProgramLocalParameterdvARB"));
635 SET_GetProgramLocalParameterfvARB(__ogl_framework_api, dlsym(handle, "glGetProgramLocalParameterfvARB"));
636 SET_GetProgramStringARB(__ogl_framework_api, dlsym(handle, "glGetProgramStringARB"));
637 SET_GetProgramivARB(__ogl_framework_api, dlsym(handle, "glGetProgramivARB"));
638 SET_GetVertexAttribdvARB(__ogl_framework_api, dlsym(handle, "glGetVertexAttribdvARB"));
639 SET_GetVertexAttribfvARB(__ogl_framework_api, dlsym(handle, "glGetVertexAttribfvARB"));
640 SET_GetVertexAttribivARB(__ogl_framework_api, dlsym(handle, "glGetVertexAttribivARB"));
641 SET_ProgramEnvParameter4dARB(__ogl_framework_api, dlsym(handle, "glProgramEnvParameter4dARB"));
642 SET_ProgramEnvParameter4dvARB(__ogl_framework_api, dlsym(handle, "glProgramEnvParameter4dvARB"));
643 SET_ProgramEnvParameter4fARB(__ogl_framework_api, dlsym(handle, "glProgramEnvParameter4fARB"));
644 SET_ProgramEnvParameter4fvARB(__ogl_framework_api, dlsym(handle, "glProgramEnvParameter4fvARB"));
645 SET_ProgramLocalParameter4dARB(__ogl_framework_api, dlsym(handle, "glProgramLocalParameter4dARB"));
646 SET_ProgramLocalParameter4dvARB(__ogl_framework_api, dlsym(handle, "glProgramLocalParameter4dvARB"));
647 SET_ProgramLocalParameter4fARB(__ogl_framework_api, dlsym(handle, "glProgramLocalParameter4fARB"));
648 SET_ProgramLocalParameter4fvARB(__ogl_framework_api, dlsym(handle, "glProgramLocalParameter4fvARB"));
649 SET_ProgramStringARB(__ogl_framework_api, dlsym(handle, "glProgramStringARB"));
650 SET_VertexAttrib1dARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib1dARB"));
651 SET_VertexAttrib1dvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib1dvARB"));
652 SET_VertexAttrib1fARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib1fARB"));
653 SET_VertexAttrib1fvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib1fvARB"));
654 SET_VertexAttrib1sARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib1sARB"));
655 SET_VertexAttrib1svARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib1svARB"));
656 SET_VertexAttrib2dARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib2dARB"));
657 SET_VertexAttrib2dvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib2dvARB"));
658 SET_VertexAttrib2fARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib2fARB"));
659 SET_VertexAttrib2fvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib2fvARB"));
660 SET_VertexAttrib2sARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib2sARB"));
661 SET_VertexAttrib2svARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib2svARB"));
662 SET_VertexAttrib3dARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib3dARB"));
663 SET_VertexAttrib3dvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib3dvARB"));
664 SET_VertexAttrib3fARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib3fARB"));
665 SET_VertexAttrib3fvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib3fvARB"));
666 SET_VertexAttrib3sARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib3sARB"));
667 SET_VertexAttrib3svARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib3svARB"));
668 SET_VertexAttrib4NbvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4NbvARB"));
669 SET_VertexAttrib4NivARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4NivARB"));
670 SET_VertexAttrib4NsvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4NsvARB"));
671 SET_VertexAttrib4NubARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4NubARB"));
672 SET_VertexAttrib4NubvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4NubvARB"));
673 SET_VertexAttrib4NuivARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4NuivARB"));
674 SET_VertexAttrib4NusvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4NusvARB"));
675 SET_VertexAttrib4bvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4bvARB"));
676 SET_VertexAttrib4dARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4dARB"));
677 SET_VertexAttrib4dvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4dvARB"));
678 SET_VertexAttrib4fARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4fARB"));
679 SET_VertexAttrib4fvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4fvARB"));
680 SET_VertexAttrib4ivARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4ivARB"));
681 SET_VertexAttrib4sARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4sARB"));
682 SET_VertexAttrib4svARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4svARB"));
683 SET_VertexAttrib4ubvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4ubvARB"));
684 SET_VertexAttrib4uivARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4uivARB"));
685 SET_VertexAttrib4usvARB(__ogl_framework_api, dlsym(handle, "glVertexAttrib4usvARB"));
686 SET_VertexAttribPointerARB(__ogl_framework_api, dlsym(handle, "glVertexAttribPointerARB"));
687
688 /* GL_ARB_vertex_shader */
689 SET_BindAttribLocationARB(__ogl_framework_api, dlsym(handle, "glBindAttribLocationARB"));
690 SET_GetActiveAttribARB(__ogl_framework_api, dlsym(handle, "glGetActiveAttribARB"));
691 SET_GetAttribLocationARB(__ogl_framework_api, dlsym(handle, "glGetAttribLocationARB"));
692
693 /* GL_ARB_window_pos */
694 SET_WindowPos2dMESA(__ogl_framework_api, dlsym(handle, "glWindowPos2dARB"));
695 SET_WindowPos2dvMESA(__ogl_framework_api, dlsym(handle, "glWindowPos2dvARB"));
696 SET_WindowPos2fMESA(__ogl_framework_api, dlsym(handle, "glWindowPos2fARB"));
697 SET_WindowPos2fvMESA(__ogl_framework_api, dlsym(handle, "glWindowPos2fvARB"));
698 SET_WindowPos2iMESA(__ogl_framework_api, dlsym(handle, "glWindowPos2iARB"));
699 SET_WindowPos2ivMESA(__ogl_framework_api, dlsym(handle, "glWindowPos2ivARB"));
700 SET_WindowPos2sMESA(__ogl_framework_api, dlsym(handle, "glWindowPos2sARB"));
701 SET_WindowPos2svMESA(__ogl_framework_api, dlsym(handle, "glWindowPos2svARB"));
702 SET_WindowPos3dMESA(__ogl_framework_api, dlsym(handle, "glWindowPos3dARB"));
703 SET_WindowPos3dvMESA(__ogl_framework_api, dlsym(handle, "glWindowPos3dvARB"));
704 SET_WindowPos3fMESA(__ogl_framework_api, dlsym(handle, "glWindowPos3fARB"));
705 SET_WindowPos3fvMESA(__ogl_framework_api, dlsym(handle, "glWindowPos3fvARB"));
706 SET_WindowPos3iMESA(__ogl_framework_api, dlsym(handle, "glWindowPos3iARB"));
707 SET_WindowPos3ivMESA(__ogl_framework_api, dlsym(handle, "glWindowPos3ivARB"));
708 SET_WindowPos3sMESA(__ogl_framework_api, dlsym(handle, "glWindowPos3sARB"));
709 SET_WindowPos3svMESA(__ogl_framework_api, dlsym(handle, "glWindowPos3svARB"));
710
711 /* GL_ATI_fragment_shader / GL_EXT_fragment_shader */
712 if(dlsym(handle, "glAlphaFragmentOp1ATI")) {
713 /* GL_ATI_fragment_shader */
714 SET_AlphaFragmentOp1ATI(__ogl_framework_api, dlsym(handle, "glAlphaFragmentOp1ATI"));
715 SET_AlphaFragmentOp2ATI(__ogl_framework_api, dlsym(handle, "glAlphaFragmentOp2ATI"));
716 SET_AlphaFragmentOp3ATI(__ogl_framework_api, dlsym(handle, "glAlphaFragmentOp3ATI"));
717 SET_BeginFragmentShaderATI(__ogl_framework_api, dlsym(handle, "glBeginFragmentShaderATI"));
718 SET_BindFragmentShaderATI(__ogl_framework_api, dlsym(handle, "glBindFragmentShaderATI"));
719 SET_ColorFragmentOp1ATI(__ogl_framework_api, dlsym(handle, "glColorFragmentOp1ATI"));
720 SET_ColorFragmentOp2ATI(__ogl_framework_api, dlsym(handle, "glColorFragmentOp2ATI"));
721 SET_ColorFragmentOp3ATI(__ogl_framework_api, dlsym(handle, "glColorFragmentOp3ATI"));
722 SET_DeleteFragmentShaderATI(__ogl_framework_api, dlsym(handle, "glDeleteFragmentShaderATI"));
723 SET_EndFragmentShaderATI(__ogl_framework_api, dlsym(handle, "glEndFragmentShaderATI"));
724 SET_GenFragmentShadersATI(__ogl_framework_api, dlsym(handle, "glGenFragmentShadersATI"));
725 SET_PassTexCoordATI(__ogl_framework_api, dlsym(handle, "glPassTexCoordATI"));
726 SET_SampleMapATI(__ogl_framework_api, dlsym(handle, "glSampleMapATI"));
727 SET_SetFragmentShaderConstantATI(__ogl_framework_api, dlsym(handle, "glSetFragmentShaderConstantATI"));
728 } else {
729 /* GL_EXT_fragment_shader */
730 SET_AlphaFragmentOp1ATI(__ogl_framework_api, dlsym(handle, "glAlphaFragmentOp1EXT"));
731 SET_AlphaFragmentOp2ATI(__ogl_framework_api, dlsym(handle, "glAlphaFragmentOp2EXT"));
732 SET_AlphaFragmentOp3ATI(__ogl_framework_api, dlsym(handle, "glAlphaFragmentOp3EXT"));
733 SET_BeginFragmentShaderATI(__ogl_framework_api, dlsym(handle, "glBeginFragmentShaderEXT"));
734 SET_BindFragmentShaderATI(__ogl_framework_api, dlsym(handle, "glBindFragmentShaderEXT"));
735 SET_ColorFragmentOp1ATI(__ogl_framework_api, dlsym(handle, "glColorFragmentOp1EXT"));
736 SET_ColorFragmentOp2ATI(__ogl_framework_api, dlsym(handle, "glColorFragmentOp2EXT"));
737 SET_ColorFragmentOp3ATI(__ogl_framework_api, dlsym(handle, "glColorFragmentOp3EXT"));
738 SET_DeleteFragmentShaderATI(__ogl_framework_api, dlsym(handle, "glDeleteFragmentShaderEXT"));
739 SET_EndFragmentShaderATI(__ogl_framework_api, dlsym(handle, "glEndFragmentShaderEXT"));
740 SET_GenFragmentShadersATI(__ogl_framework_api, dlsym(handle, "glGenFragmentShadersEXT"));
741 SET_PassTexCoordATI(__ogl_framework_api, dlsym(handle, "glPassTexCoordEXT"));
742 SET_SampleMapATI(__ogl_framework_api, dlsym(handle, "glSampleMapEXT"));
743 SET_SetFragmentShaderConstantATI(__ogl_framework_api, dlsym(handle, "glSetFragmentShaderConstantEXT"));
744 }
745
746 /* GL_ATI_separate_stencil */
747 SET_StencilFuncSeparateATI(__ogl_framework_api, dlsym(handle, "glStencilFuncSeparateATI"));
748
749 /* GL_EXT_blend_equation_separate */
750 SET_BlendEquationSeparateEXT(__ogl_framework_api, dlsym(handle, "glBlendEquationSeparateEXT"));
751
752 /* GL_EXT_blend_func_separate */
753 SET_BlendFuncSeparateEXT(__ogl_framework_api, dlsym(handle, "glBlendFuncSeparateEXT"));
754
755 /* GL_EXT_depth_bounds_test */
756 SET_DepthBoundsEXT(__ogl_framework_api, dlsym(handle, "glDepthBoundsEXT"));
757
758 /* GL_EXT_compiled_vertex_array */
759 SET_LockArraysEXT(__ogl_framework_api, dlsym(handle, "glLockArraysEXT"));
760 SET_UnlockArraysEXT(__ogl_framework_api, dlsym(handle, "glUnlockArraysEXT"));
761
762 /* GL_EXT_cull_vertex */
763 // SET_CullParameterdvEXT(__ogl_framework_api, dlsym(handle, "glCullParameterdvEXT"));
764 // SET_CullParameterfvEXT(__ogl_framework_api, dlsym(handle, "glCullParameterfvEXT"));
765
766 /* GL_EXT_fog_coord */
767 SET_FogCoordPointerEXT(__ogl_framework_api, dlsym(handle, "glFogCoordPointerEXT"));
768 SET_FogCoorddEXT(__ogl_framework_api, dlsym(handle, "glFogCoorddEXT"));
769 SET_FogCoorddvEXT(__ogl_framework_api, dlsym(handle, "glFogCoorddvEXT"));
770 SET_FogCoordfEXT(__ogl_framework_api, dlsym(handle, "glFogCoordfEXT"));
771 SET_FogCoordfvEXT(__ogl_framework_api, dlsym(handle, "glFogCoordfvEXT"));
772
773 /* GL_EXT_framebuffer_blit */
774 SET_BlitFramebufferEXT(__ogl_framework_api, dlsym(handle, "glBlitFramebufferEXT"));
775
776 /* GL_EXT_framebuffer_object */
777 SET_BindFramebufferEXT(__ogl_framework_api, dlsym(handle, "glBindFramebufferEXT"));
778 SET_BindRenderbufferEXT(__ogl_framework_api, dlsym(handle, "glBindRenderbufferEXT"));
779 SET_CheckFramebufferStatusEXT(__ogl_framework_api, dlsym(handle, "glCheckFramebufferStatusEXT"));
780 SET_DeleteFramebuffersEXT(__ogl_framework_api, dlsym(handle, "glDeleteFramebuffersEXT"));
781 SET_DeleteRenderbuffersEXT(__ogl_framework_api, dlsym(handle, "glDeleteRenderbuffersEXT"));
782 SET_FramebufferRenderbufferEXT(__ogl_framework_api, dlsym(handle, "glFramebufferRenderbufferEXT"));
783 SET_FramebufferTexture1DEXT(__ogl_framework_api, dlsym(handle, "glFramebufferTexture1DEXT"));
784 SET_FramebufferTexture2DEXT(__ogl_framework_api, dlsym(handle, "glFramebufferTexture2DEXT"));
785 SET_FramebufferTexture3DEXT(__ogl_framework_api, dlsym(handle, "glFramebufferTexture3DEXT"));
786 SET_GenerateMipmapEXT(__ogl_framework_api, dlsym(handle, "glGenerateMipmapEXT"));
787 SET_GenFramebuffersEXT(__ogl_framework_api, dlsym(handle, "glGenFramebuffersEXT"));
788 SET_GenRenderbuffersEXT(__ogl_framework_api, dlsym(handle, "glGenRenderbuffersEXT"));
789 SET_GetFramebufferAttachmentParameterivEXT(__ogl_framework_api, dlsym(handle, "glGetFramebufferAttachmentParameterivEXT"));
790 SET_GetRenderbufferParameterivEXT(__ogl_framework_api, dlsym(handle, "glGetRenderbufferParameterivEXT"));
791 SET_IsFramebufferEXT(__ogl_framework_api, dlsym(handle, "glIsFramebufferEXT"));
792 SET_IsRenderbufferEXT(__ogl_framework_api, dlsym(handle, "glIsRenderbufferEXT"));
793 SET_RenderbufferStorageEXT(__ogl_framework_api, dlsym(handle, "glRenderbufferStorageEXT"));
794
795 /* GL_EXT_gpu_program_parameters */
796 SET_ProgramEnvParameters4fvEXT(__ogl_framework_api, dlsym(handle, "glProgramEnvParameters4fvEXT"));
797 SET_ProgramLocalParameters4fvEXT(__ogl_framework_api, dlsym(handle, "glProgramLocalParameters4fvEXT"));
798
799 /* GL_EXT_multi_draw_arrays */
800 SET_MultiDrawArraysEXT(__ogl_framework_api, (void *)dlsym(handle, "glMultiDrawArraysEXT"));
801 SET_MultiDrawElementsEXT(__ogl_framework_api, dlsym(handle, "glMultiDrawElementsEXT"));
802
803 /* GL_EXT_point_parameters / GL_ARB_point_parameters */
804 if(dlsym(handle, "glPointParameterfEXT")) {
805 /* GL_EXT_point_parameters */
806 SET_PointParameterfEXT(__ogl_framework_api, dlsym(handle, "glPointParameterfEXT"));
807 SET_PointParameterfvEXT(__ogl_framework_api, dlsym(handle, "glPointParameterfvEXT"));
808 } else {
809 /* GL_ARB_point_parameters */
810 SET_PointParameterfEXT(__ogl_framework_api, dlsym(handle, "glPointParameterfARB"));
811 SET_PointParameterfvEXT(__ogl_framework_api, dlsym(handle, "glPointParameterfvARB"));
812 }
813
814 /* GL_EXT_polygon_offset */
815 SET_PolygonOffsetEXT(__ogl_framework_api, dlsym(handle, "glPolygonOffsetEXT"));
816
817 /* GL_EXT_secondary_color */
818 SET_SecondaryColor3bEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3bEXT"));
819 SET_SecondaryColor3bvEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3bvEXT"));
820 SET_SecondaryColor3dEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3dEXT"));
821 SET_SecondaryColor3dvEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3dvEXT"));
822 SET_SecondaryColor3fEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3fEXT"));
823 SET_SecondaryColor3fvEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3fvEXT"));
824 SET_SecondaryColor3iEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3iEXT"));
825 SET_SecondaryColor3ivEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3ivEXT"));
826 SET_SecondaryColor3sEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3sEXT"));
827 SET_SecondaryColor3svEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3svEXT"));
828 SET_SecondaryColor3ubEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3ubEXT"));
829 SET_SecondaryColor3ubvEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3ubvEXT"));
830 SET_SecondaryColor3uiEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3uiEXT"));
831 SET_SecondaryColor3uivEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3uivEXT"));
832 SET_SecondaryColor3usEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3usEXT"));
833 SET_SecondaryColor3usvEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColor3usvEXT"));
834 SET_SecondaryColorPointerEXT(__ogl_framework_api, dlsym(handle, "glSecondaryColorPointerEXT"));
835
836 /* GL_EXT_stencil_two_side */
837 SET_ActiveStencilFaceEXT(__ogl_framework_api, dlsym(handle, "glActiveStencilFaceEXT"));
838
839 /* GL_EXT_timer_query */
840 SET_GetQueryObjecti64vEXT(__ogl_framework_api, dlsym(handle, "glGetQueryObjecti64vEXT"));
841 SET_GetQueryObjectui64vEXT(__ogl_framework_api, dlsym(handle, "glGetQueryObjectui64vEXT"));
842
843 /* GL_EXT_vertex_array */
844 SET_ColorPointerEXT(__ogl_framework_api, dlsym(handle, "glColorPointerEXT"));
845 SET_EdgeFlagPointerEXT(__ogl_framework_api, dlsym(handle, "glEdgeFlagPointerEXT"));
846 SET_IndexPointerEXT(__ogl_framework_api, dlsym(handle, "glIndexPointerEXT"));
847 SET_NormalPointerEXT(__ogl_framework_api, dlsym(handle, "glNormalPointerEXT"));
848 SET_TexCoordPointerEXT(__ogl_framework_api, dlsym(handle, "glTexCoordPointerEXT"));
849 SET_VertexPointerEXT(__ogl_framework_api, dlsym(handle, "glVertexPointerEXT"));
850
851 /* GL_IBM_multimode_draw_arrays */
852 SET_MultiModeDrawArraysIBM(__ogl_framework_api, dlsym(handle, "glMultiModeDrawArraysIBM"));
853 SET_MultiModeDrawElementsIBM(__ogl_framework_api, dlsym(handle, "glMultiModeDrawElementsIBM"));
854
855 /* GL_MESA_resize_buffers */
856 SET_ResizeBuffersMESA(__ogl_framework_api, dlsym(handle, "glResizeBuffersMESA"));
857
858 /* GL_MESA_window_pos */
859 SET_WindowPos4dMESA(__ogl_framework_api, dlsym(handle, "glWindowPos4dMESA"));
860 SET_WindowPos4dvMESA(__ogl_framework_api, dlsym(handle, "glWindowPos4dvMESA"));
861 SET_WindowPos4fMESA(__ogl_framework_api, dlsym(handle, "glWindowPos4fMESA"));
862 SET_WindowPos4fvMESA(__ogl_framework_api, dlsym(handle, "glWindowPos4fvMESA"));
863 SET_WindowPos4iMESA(__ogl_framework_api, dlsym(handle, "glWindowPos4iMESA"));
864 SET_WindowPos4ivMESA(__ogl_framework_api, dlsym(handle, "glWindowPos4ivMESA"));
865 SET_WindowPos4sMESA(__ogl_framework_api, dlsym(handle, "glWindowPos4sMESA"));
866 SET_WindowPos4svMESA(__ogl_framework_api, dlsym(handle, "glWindowPos4svMESA"));
867
868 /* GL_NV_fence */
869 SET_DeleteFencesNV(__ogl_framework_api, dlsym(handle, "glDeleteFencesNV"));
870 SET_FinishFenceNV(__ogl_framework_api, dlsym(handle, "glFinishFenceNV"));
871 SET_GenFencesNV(__ogl_framework_api, dlsym(handle, "glGenFencesNV"));
872 SET_GetFenceivNV(__ogl_framework_api, dlsym(handle, "glGetFenceivNV"));
873 SET_IsFenceNV(__ogl_framework_api, dlsym(handle, "glIsFenceNV"));
874 SET_SetFenceNV(__ogl_framework_api, dlsym(handle, "glSetFenceNV"));
875 SET_TestFenceNV(__ogl_framework_api, dlsym(handle, "glTestFenceNV"));
876
877 /* GL_NV_fragment_program */
878 SET_GetProgramNamedParameterdvNV(__ogl_framework_api, dlsym(handle, "glGetProgramNamedParameterdvNV"));
879 SET_GetProgramNamedParameterfvNV(__ogl_framework_api, dlsym(handle, "glGetProgramNamedParameterfvNV"));
880 SET_ProgramNamedParameter4dNV(__ogl_framework_api, dlsym(handle, "glProgramNamedParameter4dNV"));
881 SET_ProgramNamedParameter4dvNV(__ogl_framework_api, dlsym(handle, "glProgramNamedParameter4dvNV"));
882 SET_ProgramNamedParameter4fNV(__ogl_framework_api, dlsym(handle, "glProgramNamedParameter4fNV"));
883 SET_ProgramNamedParameter4fvNV(__ogl_framework_api, dlsym(handle, "glProgramNamedParameter4fvNV"));
884
885 /* GL_NV_geometry_program4 */
886 SET_FramebufferTextureLayerEXT(__ogl_framework_api, dlsym(handle, "glFramebufferTextureLayerEXT"));
887
888 /* GL_NV_point_sprite */
889 SET_PointParameteriNV(__ogl_framework_api, dlsym(handle, "glPointParameteriNV"));
890 SET_PointParameterivNV(__ogl_framework_api, dlsym(handle, "glPointParameterivNV"));
891
892 /* GL_NV_register_combiners */
893 SET_CombinerInputNV(__ogl_framework_api, dlsym(handle, "glCombinerInputNV"));
894 SET_CombinerOutputNV(__ogl_framework_api, dlsym(handle, "glCombinerOutputNV"));
895 SET_CombinerParameterfNV(__ogl_framework_api, dlsym(handle, "glCombinerParameterfNV"));
896 SET_CombinerParameterfvNV(__ogl_framework_api, dlsym(handle, "glCombinerParameterfvNV"));
897 SET_CombinerParameteriNV(__ogl_framework_api, dlsym(handle, "glCombinerParameteriNV"));
898 SET_CombinerParameterivNV(__ogl_framework_api, dlsym(handle, "glCombinerParameterivNV"));
899 SET_FinalCombinerInputNV(__ogl_framework_api, dlsym(handle, "glFinalCombinerInputNV"));
900 SET_GetCombinerInputParameterfvNV(__ogl_framework_api, dlsym(handle, "glGetCombinerInputParameterfvNV"));
901 SET_GetCombinerInputParameterivNV(__ogl_framework_api, dlsym(handle, "glGetCombinerInputParameterivNV"));
902 SET_GetCombinerOutputParameterfvNV(__ogl_framework_api, dlsym(handle, "glGetCombinerOutputParameterfvNV"));
903 SET_GetCombinerOutputParameterivNV(__ogl_framework_api, dlsym(handle, "glGetCombinerOutputParameterivNV"));
904 SET_GetFinalCombinerInputParameterfvNV(__ogl_framework_api, dlsym(handle, "glGetFinalCombinerInputParameterfvNV"));
905 SET_GetFinalCombinerInputParameterivNV(__ogl_framework_api, dlsym(handle, "glGetFinalCombinerInputParameterivNV"));
906
907 /* GL_NV_vertex_array_range */
908 SET_FlushVertexArrayRangeNV(__ogl_framework_api, dlsym(handle, "glFlushVertexArrayRangeNV"));
909 SET_VertexArrayRangeNV(__ogl_framework_api, dlsym(handle, "glVertexArrayRangeNV"));
910
911 /* GL_NV_vertex_program */
912 SET_AreProgramsResidentNV(__ogl_framework_api, dlsym(handle, "glAreProgramsResidentNV"));
913 SET_BindProgramNV(__ogl_framework_api, dlsym(handle, "glBindProgramNV"));
914 SET_DeleteProgramsNV(__ogl_framework_api, dlsym(handle, "glDeleteProgramsNV"));
915 SET_ExecuteProgramNV(__ogl_framework_api, dlsym(handle, "glExecuteProgramNV"));
916 SET_GenProgramsNV(__ogl_framework_api, dlsym(handle, "glGenProgramsNV"));
917 SET_GetProgramParameterdvNV(__ogl_framework_api, dlsym(handle, "glGetProgramParameterdvNV"));
918 SET_GetProgramParameterfvNV(__ogl_framework_api, dlsym(handle, "glGetProgramParameterfvNV"));
919 SET_GetProgramStringNV(__ogl_framework_api, dlsym(handle, "glGetProgramStringNV"));
920 SET_GetProgramivNV(__ogl_framework_api, dlsym(handle, "glGetProgramivNV"));
921 SET_GetTrackMatrixivNV(__ogl_framework_api, dlsym(handle, "glGetTrackMatrixivNV"));
922 SET_GetVertexAttribPointervNV(__ogl_framework_api, dlsym(handle, "glGetVertexAttribPointervNV"));
923 SET_GetVertexAttribdvNV(__ogl_framework_api, dlsym(handle, "glGetVertexAttribdvNV"));
924 SET_GetVertexAttribfvNV(__ogl_framework_api, dlsym(handle, "glGetVertexAttribfvNV"));
925 SET_GetVertexAttribivNV(__ogl_framework_api, dlsym(handle, "glGetVertexAttribivNV"));
926 SET_IsProgramNV(__ogl_framework_api, dlsym(handle, "glIsProgramNV"));
927 SET_LoadProgramNV(__ogl_framework_api, dlsym(handle, "glLoadProgramNV"));
928 SET_ProgramParameters4dvNV(__ogl_framework_api, dlsym(handle, "glProgramParameters4dvNV"));
929 SET_ProgramParameters4fvNV(__ogl_framework_api, dlsym(handle, "glProgramParameters4fvNV"));
930 SET_RequestResidentProgramsNV(__ogl_framework_api, dlsym(handle, "glRequestResidentProgramsNV"));
931 SET_TrackMatrixNV(__ogl_framework_api, dlsym(handle, "glTrackMatrixNV"));
932 SET_VertexAttrib1dNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib1dNV"));
933 SET_VertexAttrib1dvNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib1dvNV"));
934 SET_VertexAttrib1fNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib1fNV"));
935 SET_VertexAttrib1fvNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib1fvNV"));
936 SET_VertexAttrib1sNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib1sNV"));
937 SET_VertexAttrib1svNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib1svNV"));
938 SET_VertexAttrib2dNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib2dNV"));
939 SET_VertexAttrib2dvNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib2dvNV"));
940 SET_VertexAttrib2fNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib2fNV"));
941 SET_VertexAttrib2fvNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib2fvNV"));
942 SET_VertexAttrib2sNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib2sNV"));
943 SET_VertexAttrib2svNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib2svNV"));
944 SET_VertexAttrib3dNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib3dNV"));
945 SET_VertexAttrib3dvNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib3dvNV"));
946 SET_VertexAttrib3fNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib3fNV"));
947 SET_VertexAttrib3fvNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib3fvNV"));
948 SET_VertexAttrib3sNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib3sNV"));
949 SET_VertexAttrib3svNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib3svNV"));
950 SET_VertexAttrib4dNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib4dNV"));
951 SET_VertexAttrib4dvNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib4dvNV"));
952 SET_VertexAttrib4fNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib4fNV"));
953 SET_VertexAttrib4fvNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib4fvNV"));
954 SET_VertexAttrib4sNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib4sNV"));
955 SET_VertexAttrib4svNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib4svNV"));
956 SET_VertexAttrib4ubNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib4ubNV"));
957 SET_VertexAttrib4ubvNV(__ogl_framework_api, dlsym(handle, "glVertexAttrib4ubvNV"));
958 SET_VertexAttribPointerNV(__ogl_framework_api, dlsym(handle, "glVertexAttribPointerNV"));
959 SET_VertexAttribs1dvNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs1dvNV"));
960 SET_VertexAttribs1fvNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs1fvNV"));
961 SET_VertexAttribs1svNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs1svNV"));
962 SET_VertexAttribs2dvNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs2dvNV"));
963 SET_VertexAttribs2fvNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs2fvNV"));
964 SET_VertexAttribs2svNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs2svNV"));
965 SET_VertexAttribs3dvNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs3dvNV"));
966 SET_VertexAttribs3fvNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs3fvNV"));
967 SET_VertexAttribs3svNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs3svNV"));
968 SET_VertexAttribs4dvNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs4dvNV"));
969 SET_VertexAttribs4fvNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs4fvNV"));
970 SET_VertexAttribs4svNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs4svNV"));
971 SET_VertexAttribs4ubvNV(__ogl_framework_api, dlsym(handle, "glVertexAttribs4ubvNV"));
972
973 /* GL_SGIS_multisample */
974 SET_SampleMaskSGIS(__ogl_framework_api, dlsym(handle, "glSampleMaskSGIS"));
975 SET_SamplePatternSGIS(__ogl_framework_api, dlsym(handle, "glSamplePatternSGIS"));
976
977 /* GL_SGIS_pixel_texture */
978 SET_GetPixelTexGenParameterfvSGIS(__ogl_framework_api, dlsym(handle, "glGetPixelTexGenParameterfvSGIS"));
979 SET_GetPixelTexGenParameterivSGIS(__ogl_framework_api, dlsym(handle, "glGetPixelTexGenParameterivSGIS"));
980 SET_PixelTexGenParameterfSGIS(__ogl_framework_api, dlsym(handle, "glPixelTexGenParameterfSGIS"));
981 SET_PixelTexGenParameterfvSGIS(__ogl_framework_api, dlsym(handle, "glPixelTexGenParameterfvSGIS"));
982 SET_PixelTexGenParameteriSGIS(__ogl_framework_api, dlsym(handle, "glPixelTexGenParameteriSGIS"));
983 SET_PixelTexGenParameterivSGIS(__ogl_framework_api, dlsym(handle, "glPixelTexGenParameterivSGIS"));
984 SET_PixelTexGenSGIX(__ogl_framework_api, dlsym(handle, "glPixelTexGenSGIX"));
985
986 /* GL_EXT_separate_shader_objects */
987 SET_ActiveProgramEXT(__ogl_framework_api, dlsym(handle, "glActiveProgramEXT"));
988 SET_CreateShaderProgramEXT(__ogl_framework_api, dlsym(handle, "glCreateShaderProgramEXT"));
989 SET_UseShaderProgramEXT(__ogl_framework_api, dlsym(handle, "glUseShaderProgramEXT"));
990
991 /* GL_NV_conditional_render */
992 SET_BeginConditionalRenderNV(__ogl_framework_api, dlsym(handle, "glBeginConditionalRenderNV"));
993 SET_EndConditionalRenderNV(__ogl_framework_api, dlsym(handle, "glEndConditionalRenderNV"));
994
995 /* GL_EXT_transform_feedback */
996 SET_BeginTransformFeedbackEXT(__ogl_framework_api, dlsym(handle, "glBeginTransformFeedbackEXT"));
997 SET_EndTransformFeedbackEXT(__ogl_framework_api, dlsym(handle, "glEndTransformFeedbackEXT"));
998 SET_BindBufferBaseEXT(__ogl_framework_api, dlsym(handle, "glBindBufferBaseEXT"));
999 SET_BindBufferOffsetEXT(__ogl_framework_api, dlsym(handle, "glBindBufferOffsetEXT"));
1000 SET_BindBufferRangeEXT(__ogl_framework_api, dlsym(handle, "glBindBufferRangeEXT"));
1001 SET_TransformFeedbackVaryingsEXT(__ogl_framework_api, dlsym(handle, "glTransformFeedbackVaryingsEXT"));
1002 SET_GetTransformFeedbackVaryingEXT(__ogl_framework_api, dlsym(handle, "glGetTransformFeedbackVaryingEXT"));
1003
1004 /* GL_EXT_gpu_shader4 */
1005 SET_BindFragDataLocationEXT(__ogl_framework_api, dlsym(handle, "glBindFragDataLocationEXT"));
1006 SET_GetFragDataLocationEXT(__ogl_framework_api, dlsym(handle, "glGetFragDataLocationEXT"));
1007 SET_GetUniformuivEXT(__ogl_framework_api, dlsym(handle, "glGetUniformuivEXT"));
1008 SET_Uniform1uiEXT(__ogl_framework_api, dlsym(handle, "glUniform1uiEXT"));
1009 SET_Uniform1uivEXT(__ogl_framework_api, dlsym(handle, "glUniform1uivEXT"));
1010 SET_Uniform2uiEXT(__ogl_framework_api, dlsym(handle, "glUniform2uiEXT"));
1011 SET_Uniform2uivEXT(__ogl_framework_api, dlsym(handle, "glUniform2uivEXT"));
1012 SET_Uniform3uiEXT(__ogl_framework_api, dlsym(handle, "glUniform3uiEXT"));
1013 SET_Uniform3uivEXT(__ogl_framework_api, dlsym(handle, "glUniform3uivEXT"));
1014 SET_Uniform4uiEXT(__ogl_framework_api, dlsym(handle, "glUniform4uiEXT"));
1015 SET_Uniform4uivEXT(__ogl_framework_api, dlsym(handle, "glUniform4uivEXT"));
1016
1017 /* GL_ARB_sampler_objects */
1018 SET_BindSampler(__ogl_framework_api, dlsym(handle, "glBindSampler"));
1019 SET_DeleteSamplers(__ogl_framework_api, dlsym(handle, "glDeleteSamplers"));
1020 SET_GenSamplers(__ogl_framework_api, dlsym(handle, "glGenSamplers"));
1021 SET_GetSamplerParameterIiv(__ogl_framework_api, dlsym(handle, "glGetSamplerParameterIiv"));
1022 SET_GetSamplerParameterIuiv(__ogl_framework_api, dlsym(handle, "glGetSamplerParameterIuiv"));
1023 SET_GetSamplerParameterfv(__ogl_framework_api, dlsym(handle, "glGetSamplerParameterfv"));
1024 SET_GetSamplerParameteriv(__ogl_framework_api, dlsym(handle, "glGetSamplerParameteriv"));
1025 SET_IsSampler(__ogl_framework_api, dlsym(handle, "glIsSampler"));
1026 SET_SamplerParameterIiv(__ogl_framework_api, dlsym(handle, "glSamplerParameterIiv"));
1027 SET_SamplerParameterIuiv(__ogl_framework_api, dlsym(handle, "glSamplerParameterIuiv"));
1028 SET_SamplerParameterf(__ogl_framework_api, dlsym(handle, "glSamplerParameterf"));
1029 SET_SamplerParameterfv(__ogl_framework_api, dlsym(handle, "glSamplerParameterfv"));
1030 SET_SamplerParameteri(__ogl_framework_api, dlsym(handle, "glSamplerParameteri"));
1031 SET_SamplerParameteriv(__ogl_framework_api, dlsym(handle, "glSamplerParameteriv"));
1032
1033 /* GL_ARB_transform_feedback2 */
1034 SET_BindTransformFeedback(__ogl_framework_api, dlsym(handle, "glBindTransformFeedback"));
1035 SET_DeleteTransformFeedbacks(__ogl_framework_api, dlsym(handle, "glDeleteTransformFeedbacks"));
1036 SET_DrawTransformFeedback(__ogl_framework_api, dlsym(handle, "glDrawTransformFeedback"));
1037 SET_GenTransformFeedbacks(__ogl_framework_api, dlsym(handle, "glGenTransformFeedbacks"));
1038 SET_IsTransformFeedback(__ogl_framework_api, dlsym(handle, "glIsTransformFeedback"));
1039 SET_PauseTransformFeedback(__ogl_framework_api, dlsym(handle, "glPauseTransformFeedback"));
1040 SET_ResumeTransformFeedback(__ogl_framework_api, dlsym(handle, "glResumeTransformFeedback"));
1041
1042 /* GL_ARB_vertex_array_object */
1043 SET_BindVertexArray(__ogl_framework_api, dlsym(handle, "glBindVertexArray"));
1044 SET_GenVertexArrays(__ogl_framework_api, dlsym(handle, "glGenVertexArrays"));
1045
1046 /* GL_ARB_draw_buffers_blend */
1047 SET_BlendEquationSeparateiARB(__ogl_framework_api, dlsym(handle, "glBlendEquationSeparateiARB"));
1048 SET_BlendEquationiARB(__ogl_framework_api, dlsym(handle, "glBlendEquationiARB"));
1049 SET_BlendFuncSeparateiARB(__ogl_framework_api, dlsym(handle, "glBlendFuncSeparateiARB"));
1050 SET_BlendFunciARB(__ogl_framework_api, dlsym(handle, "glBlendFunciARB"));
1051
1052 /* GL_APPLE_flush_buffer_range */
1053 SET_BufferParameteriAPPLE(__ogl_framework_api, dlsym(handle, "glBufferParameteriAPPLE"));
1054 SET_FlushMappedBufferRangeAPPLE(__ogl_framework_api, dlsym(handle, "glFlushMappedBufferRangeAPPLE"));
1055
1056 /* GL_ARB_color_buffer_float */
1057 SET_ClampColorARB(__ogl_framework_api, dlsym(handle, "glClampColorARB"));
1058
1059 /* GL_EXT_texture_integer */
1060 SET_ClearColorIiEXT(__ogl_framework_api, dlsym(handle, "glClearColorIiEXT"));
1061 SET_ClearColorIuiEXT(__ogl_framework_api, dlsym(handle, "glClearColorIuiEXT"));
1062 SET_TexParameterIivEXT(__ogl_framework_api, dlsym(handle, "glTexParameterIivEXT"));
1063 SET_TexParameterIuivEXT(__ogl_framework_api, dlsym(handle, "glTexParameterIuivEXT"));
1064 SET_GetTexParameterIivEXT(__ogl_framework_api, dlsym(handle, "glGetTexParameterIivEXT"));
1065 SET_GetTexParameterIuivEXT(__ogl_framework_api, dlsym(handle, "glGetTexParameterIuivEXT"));
1066
1067 /* GL_ARB_ES2_compatibility */
1068 SET_ClearDepthf(__ogl_framework_api, dlsym(handle, "glClearDepthf"));
1069 SET_DepthRangef(__ogl_framework_api, dlsym(handle, "glDepthRangef"));
1070 SET_GetShaderPrecisionFormat(__ogl_framework_api, dlsym(handle, "glGetShaderPrecisionFormat"));
1071 SET_ReleaseShaderCompiler(__ogl_framework_api, dlsym(handle, "glReleaseShaderCompiler"));
1072 SET_ShaderBinary(__ogl_framework_api, dlsym(handle, "glShaderBinary"));
1073
1074 /* GL_EXT_draw_buffers2 */
1075 SET_ColorMaskIndexedEXT(__ogl_framework_api, dlsym(handle, "glColorMaskIndexedEXT"));
1076 SET_DisableIndexedEXT(__ogl_framework_api, dlsym(handle, "glDisableIndexedEXT"));
1077 SET_EnableIndexedEXT(__ogl_framework_api, dlsym(handle, "glEnableIndexedEXT"));
1078 SET_GetBooleanIndexedvEXT(__ogl_framework_api, dlsym(handle, "glGetBooleanIndexedvEXT"));
1079 SET_GetIntegerIndexedvEXT(__ogl_framework_api, dlsym(handle, "glGetIntegerIndexedvEXT"));
1080 SET_IsEnabledIndexedEXT(__ogl_framework_api, dlsym(handle, "glIsEnabledIndexedEXT"));
1081
1082 /* GL_ARB_draw_instanced */
1083 SET_DrawArraysInstancedARB(__ogl_framework_api, dlsym(handle, "glDrawArraysInstancedARB"));
1084 SET_DrawElementsInstancedARB(__ogl_framework_api, dlsym(handle, "glDrawElementsInstancedARB"));
1085
1086 /* GL_ARB_geometry_shader4 */
1087 SET_FramebufferTextureARB(__ogl_framework_api, dlsym(handle, "glFramebufferTextureARB"));
1088 SET_FramebufferTextureFaceARB(__ogl_framework_api, dlsym(handle, "glFramebufferTextureFaceARB"));
1089 SET_ProgramParameteriARB(__ogl_framework_api, dlsym(handle, "glProgramParameteriARB"));
1090
1091 /* GL_ARB_sync */
1092 SET_ClientWaitSync(__ogl_framework_api, dlsym(handle, "glClientWaitSync"));
1093 SET_DeleteSync(__ogl_framework_api, dlsym(handle, "glDeleteSync"));
1094 SET_FenceSync(__ogl_framework_api, dlsym(handle, "glFenceSync"));
1095 SET_GetInteger64v(__ogl_framework_api, dlsym(handle, "glGetInteger64v"));
1096 SET_GetSynciv(__ogl_framework_api, dlsym(handle, "glGetSynciv"));
1097 SET_IsSync(__ogl_framework_api, dlsym(handle, "glIsSync"));
1098 SET_WaitSync(__ogl_framework_api, dlsym(handle, "glWaitSync"));
1099
1100 /* GL_ARB_copy_buffer */
1101 SET_CopyBufferSubData(__ogl_framework_api, dlsym(handle, "glCopyBufferSubData"));
1102
1103 /* GL_ARB_draw_elements_base_vertex */
1104 SET_DrawElementsBaseVertex(__ogl_framework_api, dlsym(handle, "glDrawElementsBaseVertex"));
1105 SET_DrawElementsInstancedBaseVertex(__ogl_framework_api, dlsym(handle, "glDrawElementsInstancedBaseVertex"));
1106 SET_DrawRangeElementsBaseVertex(__ogl_framework_api, dlsym(handle, "glDrawRangeElementsBaseVertex"));
1107 SET_MultiDrawElementsBaseVertex(__ogl_framework_api, dlsym(handle, "glMultiDrawElementsBaseVertex"));
1108
1109 /* GL_ARB_map_buffer_range */
1110 SET_FlushMappedBufferRange(__ogl_framework_api, dlsym(handle, "glFlushMappedBufferRange"));
1111 SET_MapBufferRange(__ogl_framework_api, dlsym(handle, "glMapBufferRange"));
1112
1113 /* GL_ARB_robustness */
1114 SET_GetGraphicsResetStatusARB(__ogl_framework_api, dlsym(handle, "glGetGraphicsResetStatusARB"));
1115 SET_GetnColorTableARB(__ogl_framework_api, dlsym(handle, "glGetnColorTableARB"));
1116 SET_GetnCompressedTexImageARB(__ogl_framework_api, dlsym(handle, "glGetnCompressedTexImageARB"));
1117 SET_GetnConvolutionFilterARB(__ogl_framework_api, dlsym(handle, "glGetnConvolutionFilterARB"));
1118 SET_GetnHistogramARB(__ogl_framework_api, dlsym(handle, "glGetnHistogramARB"));
1119 SET_GetnMapdvARB(__ogl_framework_api, dlsym(handle, "glGetnMapdvARB"));
1120 SET_GetnMapfvARB(__ogl_framework_api, dlsym(handle, "glGetnMapfvARB"));
1121 SET_GetnMapivARB(__ogl_framework_api, dlsym(handle, "glGetnMapivARB"));
1122 SET_GetnMinmaxARB(__ogl_framework_api, dlsym(handle, "glGetnMinmaxARB"));
1123 SET_GetnPixelMapfvARB(__ogl_framework_api, dlsym(handle, "glGetnPixelMapfvARB"));
1124 SET_GetnPixelMapuivARB(__ogl_framework_api, dlsym(handle, "glGetnPixelMapuivARB"));
1125 SET_GetnPixelMapusvARB(__ogl_framework_api, dlsym(handle, "glGetnPixelMapusvARB"));
1126 SET_GetnPolygonStippleARB(__ogl_framework_api, dlsym(handle, "glGetnPolygonStippleARB"));
1127 SET_GetnSeparableFilterARB(__ogl_framework_api, dlsym(handle, "glGetnSeparableFilterARB"));
1128 SET_GetnTexImageARB(__ogl_framework_api, dlsym(handle, "glGetnTexImageARB"));
1129 SET_GetnUniformdvARB(__ogl_framework_api, dlsym(handle, "glGetnUniformdvARB"));
1130 SET_GetnUniformfvARB(__ogl_framework_api, dlsym(handle, "glGetnUniformfvARB"));
1131 SET_GetnUniformivARB(__ogl_framework_api, dlsym(handle, "glGetnUniformivARB"));
1132 SET_GetnUniformuivARB(__ogl_framework_api, dlsym(handle, "glGetnUniformuivARB"));
1133 SET_ReadnPixelsARB(__ogl_framework_api, dlsym(handle, "glReadnPixelsARB"));
1134
1135 /* GL_APPLE_object_purgeable */
1136 SET_GetObjectParameterivAPPLE(__ogl_framework_api, dlsym(handle, "glGetObjectParameterivAPPLE"));
1137 SET_ObjectPurgeableAPPLE(__ogl_framework_api, dlsym(handle, "glObjectPurgeableAPPLE"));
1138 SET_ObjectUnpurgeableAPPLE(__ogl_framework_api, dlsym(handle, "glObjectUnpurgeableAPPLE"));
1139
1140 /* GL_ATI_envmap_bumpmap */
1141 SET_GetTexBumpParameterfvATI(__ogl_framework_api, dlsym(handle, "glGetTexBumpParameterfvATI"));
1142 SET_GetTexBumpParameterivATI(__ogl_framework_api, dlsym(handle, "glGetTexBumpParameterivATI"));
1143 SET_TexBumpParameterfvATI(__ogl_framework_api, dlsym(handle, "glTexBumpParameterfvATI"));
1144 SET_TexBumpParameterivATI(__ogl_framework_api, dlsym(handle, "glTexBumpParameterivATI"));
1145
1146 /* GL_APPLE_texture_range */
1147 SET_GetTexParameterPointervAPPLE(__ogl_framework_api, dlsym(handle, "glGetTexParameterPointervAPPLE"));
1148 SET_TextureRangeAPPLE(__ogl_framework_api, dlsym(handle, "glTextureRangeAPPLE"));
1149
1150 /* GL_NV_vertex_program4 */
1151 SET_GetVertexAttribIivEXT(__ogl_framework_api, dlsym(handle, "glGetVertexAttribIivEXT"));
1152 SET_GetVertexAttribIuivEXT(__ogl_framework_api, dlsym(handle, "glGetVertexAttribIuivEXT"));
1153 SET_VertexAttribDivisor(__ogl_framework_api, dlsym(handle, "glVertexAttribDivisor"));
1154 SET_VertexAttribDivisorARB(__ogl_framework_api, dlsym(handle, "glVertexAttribDivisorARB"));
1155 SET_VertexAttribI1iEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI1iEXT"));
1156 SET_VertexAttribI1ivEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI1ivEXT"));
1157 SET_VertexAttribI1uiEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI1uiEXT"));
1158 SET_VertexAttribI1uivEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI1uivEXT"));
1159 SET_VertexAttribI2iEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI2iEXT"));
1160 SET_VertexAttribI2ivEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI2ivEXT"));
1161 SET_VertexAttribI2uiEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI2uiEXT"));
1162 SET_VertexAttribI2uivEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI2uivEXT"));
1163 SET_VertexAttribI3iEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI3iEXT"));
1164 SET_VertexAttribI3ivEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI3ivEXT"));
1165 SET_VertexAttribI3uiEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI3uiEXT"));
1166 SET_VertexAttribI3uivEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI3uivEXT"));
1167 SET_VertexAttribI4bvEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI4bvEXT"));
1168 SET_VertexAttribI4iEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI4iEXT"));
1169 SET_VertexAttribI4ivEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI4ivEXT"));
1170 SET_VertexAttribI4svEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI4svEXT"));
1171 SET_VertexAttribI4ubvEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI4ubvEXT"));
1172 SET_VertexAttribI4uiEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI4uiEXT"));
1173 SET_VertexAttribI4uivEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI4uivEXT"));
1174 SET_VertexAttribI4usvEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribI4usvEXT"));
1175 SET_VertexAttribIPointerEXT(__ogl_framework_api, dlsym(handle, "glVertexAttribIPointerEXT"));
1176
1177 /* GL_NV_primitive_restart */
1178 SET_PrimitiveRestartIndexNV(__ogl_framework_api, dlsym(handle, "glPrimitiveRestartIndexNV"));
1179 SET_PrimitiveRestartNV(__ogl_framework_api, dlsym(handle, "glPrimitiveRestartNV"));
1180
1181 /* GL_EXT_provoking_vertex */
1182 SET_ProvokingVertexEXT(__ogl_framework_api, dlsym(handle, "glProvokingVertexEXT"));
1183
1184 /* GL_ARB_texture_buffer_object */
1185 SET_TexBufferARB(__ogl_framework_api, dlsym(handle, "glTexBufferARB"));
1186
1187 /* GL_NV_texture_barrier */
1188 SET_TextureBarrierNV(__ogl_framework_api, dlsym(handle, "glTextureBarrierNV"));
1189
1190 /* GL_ARB_framebuffer_object */
1191 SET_RenderbufferStorageMultisample(__ogl_framework_api, dlsym(handle, "glRenderbufferStorageMultisample"));
1192
1193 /* GL_OES_EGL_image */
1194 SET_EGLImageTargetRenderbufferStorageOES(__ogl_framework_api, dlsym(handle, "glEGLImageTargetRenderbufferStorageOES"));
1195 SET_EGLImageTargetTexture2DOES(__ogl_framework_api, dlsym(handle, "glEGLImageTargetTexture2DOES"));
1196
1197 __applegl_api = malloc(sizeof(struct _glapi_table));
1198 assert(__applegl_api);
1199 memcpy(__applegl_api, __ogl_framework_api, sizeof(struct _glapi_table));
1200
1201 SET_ReadPixels(__applegl_api, __applegl_glReadPixels);
1202 SET_CopyPixels(__applegl_api, __applegl_glCopyPixels);
1203 SET_CopyColorTable(__applegl_api, __applegl_glCopyColorTable);
1204 SET_DrawBuffer(__applegl_api, __applegl_glDrawBuffer);
1205 SET_DrawBuffersARB(__applegl_api, __applegl_glDrawBuffersARB);
1206 SET_Viewport(__applegl_api, __applegl_glViewport);
1207
1208 _glapi_set_dispatch(__applegl_api);
1209 }