Changeset 3598 for trunk/src/opengl/mesa/extensions.c
- Timestamp:
- May 23, 2000, 10:41:28 PM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/opengl/mesa/extensions.c
r2962 r3598 1 /* $Id: extensions.c,v 1. 2 2000-03-01 18:49:28jeroen Exp $ */1 /* $Id: extensions.c,v 1.3 2000-05-23 20:40:33 jeroen Exp $ */ 2 2 3 3 /* 4 4 * Mesa 3-D graphics library 5 * Version: 3. 15 * Version: 3.3 6 6 * 7 7 * Copyright (C) 1999 Brian Paul All Rights Reserved. … … 26 26 27 27 28 #ifndef XFree86Server 29 #include <stdlib.h> 30 #else 31 #include "GL/xf86glx.h" 32 #endif 28 #include "glheader.h" 33 29 #include "types.h" 34 30 #include "context.h" 35 31 #include "extensions.h" 36 32 #include "simple_list.h" 33 #include "mem.h" 37 34 38 35 … … 41 38 struct extension { 42 39 struct extension *next, *prev; 43 int enabled;40 GLint enabled; 44 41 char name[MAX_EXT_NAMELEN+1]; 45 42 void (*notify)( GLcontext *, GLboolean ); … … 49 46 50 47 static struct { int enabled; const char *name; } default_extensions[] = { 51 { ALWAYS_ENABLED,"GL_EXT_blend_color" },48 { DEFAULT_ON, "GL_EXT_blend_color" }, 52 49 { DEFAULT_OFF, "ARB_imaging" }, 53 50 { DEFAULT_ON, "GL_EXT_blend_minmax" }, … … 73 70 { DEFAULT_ON, "GL_EXT_compiled_vertex_array" }, 74 71 { DEFAULT_ON, "GL_EXT_clip_volume_hint" }, 75 76 /* These obviously won't make it before 3.3: 77 */ 72 { DEFAULT_ON, "GL_EXT_texture_env_add" }, 73 { ALWAYS_ENABLED, "GL_ARB_tranpose_matrix" }, 78 74 { DEFAULT_OFF, "GL_EXT_vertex_array_set" }, 79 75 { DEFAULT_OFF, "GL_EXT_texture_env" }, 80 { DEFAULT_OFF, "GL_EXT_fog_coord" }, 76 { DEFAULT_ON, "GL_EXT_texture_lod_bias" }, 77 { DEFAULT_OFF, "GL_HP_occlusion_test" } 81 78 }; 82 79 83 80 81 /* 82 * Update the boolean convenience flags in the Extensions struct. 83 */ 84 static void 85 update_extension_flags( GLcontext *ctx ) 86 { 87 /* Update flags */ 88 ctx->Extensions.HaveTextureEnvAdd = gl_extension_is_enabled(ctx, "GL_EXT_texture_env_add"); 89 ctx->Extensions.HaveTextureLodBias = gl_extension_is_enabled(ctx, "GL_EXT_texture_lod_bias"); 90 ctx->Extensions.HaveHpOcclusionTest = gl_extension_is_enabled(ctx, "GL_HP_occlusion_test"); 91 } 92 93 94 84 95 int gl_extensions_add( GLcontext *ctx, 85 86 87 96 int state, 97 const char *name, 98 void (*notify)(void) ) 88 99 { 89 100 (void) notify; … … 103 114 104 115 105 static int set_extension( GLcontext *ctx, const char *name, GLuint state ) 116 /* 117 * Either enable or disable the named extension. 118 */ 119 static int set_extension( GLcontext *ctx, const char *name, GLint state ) 106 120 { 107 121 struct extension *i; 108 122 foreach( i, ctx->Extensions.ext_list ) 109 123 if (strncmp(i->name, name, MAX_EXT_NAMELEN) == 0) 110 111 112 if (i == ctx->Extensions.ext_list) return 1;113 114 if (i->enabled && !(i->enabled & ALWAYS_ENABLED)) 115 {124 break; 125 126 if (i == ctx->Extensions.ext_list) 127 return 1; 128 129 if (i->enabled && !(i->enabled & ALWAYS_ENABLED)) { 116 130 if (i->notify) i->notify( ctx, state ); 117 131 i->enabled = state; 118 132 } 133 134 update_extension_flags(ctx); 119 135 120 136 return 0; … … 167 183 if (ctx->Extensions.ext_list) { 168 184 foreach_s( i, nexti, ctx->Extensions.ext_list ) { 169 170 185 remove_from_list( i ); 186 FREE( i ); 171 187 } 172 188 … … 187 203 for (i = 0 ; i < Elements(default_extensions) ; i++) { 188 204 gl_extensions_add( ctx, 189 default_extensions[i].enabled, 190 default_extensions[i].name, 191 0 ); 192 } 205 default_extensions[i].enabled, 206 default_extensions[i].name, 207 0 ); 208 } 209 update_extension_flags(ctx); 193 210 } 194 211 … … 202 219 GLuint len = 0; 203 220 foreach (i, ctx->Extensions.ext_list) 204 205 221 if (i->enabled) 222 len += strlen(i->name) + 1; 206 223 207 224 if (len == 0) 208 225 return ""; 209 226 210 227 str = (char *)MALLOC(len * sizeof(char)); … … 212 229 213 230 foreach (i, ctx->Extensions.ext_list) 214 215 216 217 218 231 if (i->enabled) { 232 strcpy(str, i->name); 233 str += strlen(str); 234 *str++ = ' '; 235 } 219 236 220 237 *(str-1) = 0; … … 223 240 return ctx->Extensions.ext_string; 224 241 } 225 226 227 228 /*229 * Return the address of an extension function.230 * This is meant to be called by glXGetProcAddress(), wglGetProcAddress(),231 * or similar function.232 * NOTE: this function could be optimized to binary search a sorted233 * list of function names.234 */235 void (*gl_get_proc_address( const GLubyte *procName ))()236 {237 typedef void (*gl_function)();238 struct proc {239 const char *name;240 gl_function address;241 };242 static struct proc procTable[] = {243 /* OpenGL 1.0 functions */244 { "glAccum", (gl_function) glAccum },245 { "glAlphaFunc", (gl_function) glAlphaFunc },246 { "glBegin", (gl_function) glBegin },247 { "glBitmap", (gl_function) glBitmap },248 { "glAccum", (gl_function) glAccum },249 { "glAlphaFunc", (gl_function) glAlphaFunc },250 { "glBegin", (gl_function) glBegin },251 { "glBitmap", (gl_function) glBitmap },252 { "glBlendFunc", (gl_function) glBlendFunc },253 { "glCallList", (gl_function) glCallList },254 { "glCallLists", (gl_function) glCallLists },255 { "glClear", (gl_function) glClear },256 { "glClearAccum", (gl_function) glClearAccum },257 { "glClearColor", (gl_function) glClearColor },258 { "glClearDepth", (gl_function) glClearDepth },259 { "glClearIndex", (gl_function) glClearIndex },260 { "glClearStencil", (gl_function) glClearStencil },261 { "glClipPlane", (gl_function) glClipPlane },262 { "glColor3b", (gl_function) glColor3b },263 { "glColor3bv", (gl_function) glColor3bv },264 { "glColor3d", (gl_function) glColor3d },265 { "glColor3dv", (gl_function) glColor3dv },266 { "glColor3f", (gl_function) glColor3f },267 { "glColor3fv", (gl_function) glColor3fv },268 { "glColor3i", (gl_function) glColor3i },269 { "glColor3iv", (gl_function) glColor3iv },270 { "glColor3s", (gl_function) glColor3s },271 { "glColor3sv", (gl_function) glColor3sv },272 { "glColor3ub", (gl_function) glColor3ub },273 { "glColor3ubv", (gl_function) glColor3ubv },274 { "glColor3ui", (gl_function) glColor3ui },275 { "glColor3uiv", (gl_function) glColor3uiv },276 { "glColor3us", (gl_function) glColor3us },277 { "glColor3usv", (gl_function) glColor3usv },278 { "glColor4b", (gl_function) glColor4b },279 { "glColor4bv", (gl_function) glColor4bv },280 { "glColor4d", (gl_function) glColor4d },281 { "glColor4dv", (gl_function) glColor4dv },282 { "glColor4f", (gl_function) glColor4f },283 { "glColor4fv", (gl_function) glColor4fv },284 { "glColor4i", (gl_function) glColor4i },285 { "glColor4iv", (gl_function) glColor4iv },286 { "glColor4s", (gl_function) glColor4s },287 { "glColor4sv", (gl_function) glColor4sv },288 { "glColor4ub", (gl_function) glColor4ub },289 { "glColor4ubv", (gl_function) glColor4ubv },290 { "glColor4ui", (gl_function) glColor4ui },291 { "glColor4uiv", (gl_function) glColor4uiv },292 { "glColor4us", (gl_function) glColor4us },293 { "glColor4usv", (gl_function) glColor4usv },294 { "glColorMask", (gl_function) glColorMask },295 { "glColorMaterial", (gl_function) glColorMaterial },296 { "glCopyPixels", (gl_function) glCopyPixels },297 { "glCullFace", (gl_function) glCullFace },298 { "glDeleteLists", (gl_function) glDeleteLists },299 { "glDepthFunc", (gl_function) glDepthFunc },300 { "glDepthMask", (gl_function) glDepthMask },301 { "glDepthRange", (gl_function) glDepthRange },302 { "glDisable", (gl_function) glDisable },303 { "glDrawBuffer", (gl_function) glDrawBuffer },304 { "glDrawPixels", (gl_function) glDrawPixels },305 { "glEdgeFlag", (gl_function) glEdgeFlag },306 { "glEdgeFlagv", (gl_function) glEdgeFlagv },307 { "glEnable", (gl_function) glEnable },308 { "glEnd", (gl_function) glEnd },309 { "glEndList", (gl_function) glEndList },310 { "glEvalCoord1d", (gl_function) glEvalCoord1d },311 { "glEvalCoord1dv", (gl_function) glEvalCoord1dv },312 { "glEvalCoord1f", (gl_function) glEvalCoord1f },313 { "glEvalCoord1fv", (gl_function) glEvalCoord1fv },314 { "glEvalCoord2d", (gl_function) glEvalCoord2d },315 { "glEvalCoord2dv", (gl_function) glEvalCoord2dv },316 { "glEvalCoord2f", (gl_function) glEvalCoord2f },317 { "glEvalCoord2fv", (gl_function) glEvalCoord2fv },318 { "glEvalMesh1", (gl_function) glEvalMesh1 },319 { "glEvalMesh2", (gl_function) glEvalMesh2 },320 { "glEvalPoint1", (gl_function) glEvalPoint1 },321 { "glEvalPoint2", (gl_function) glEvalPoint2 },322 { "glFeedbackBuffer", (gl_function) glFeedbackBuffer },323 { "glFinish", (gl_function) glFinish },324 { "glFlush", (gl_function) glFlush },325 { "glFogf", (gl_function) glFogf },326 { "glFogfv", (gl_function) glFogfv },327 { "glFogi", (gl_function) glFogi },328 { "glFogiv", (gl_function) glFogiv },329 { "glFrontFace", (gl_function) glFrontFace },330 { "glFrustum", (gl_function) glFrustum },331 { "glGenLists", (gl_function) glGenLists },332 { "glGetBooleanv", (gl_function) glGetBooleanv },333 { "glGetClipPlane", (gl_function) glGetClipPlane },334 { "glGetDoublev", (gl_function) glGetDoublev },335 { "glGetError", (gl_function) glGetError },336 { "glGetFloatv", (gl_function) glGetFloatv },337 { "glGetIntegerv", (gl_function) glGetIntegerv },338 { "glGetLightfv", (gl_function) glGetLightfv },339 { "glGetLightiv", (gl_function) glGetLightiv },340 { "glGetMapdv", (gl_function) glGetMapdv },341 { "glGetMapfv", (gl_function) glGetMapfv },342 { "glGetMapiv", (gl_function) glGetMapiv },343 { "glGetMaterialfv", (gl_function) glGetMaterialfv },344 { "glGetMaterialiv", (gl_function) glGetMaterialiv },345 { "glGetPixelMapfv", (gl_function) glGetPixelMapfv },346 { "glGetPixelMapuiv", (gl_function) glGetPixelMapuiv },347 { "glGetPixelMapusv", (gl_function) glGetPixelMapusv },348 { "glGetPolygonStipple", (gl_function) glGetPolygonStipple },349 { "glGetString", (gl_function) glGetString },350 { "glGetTexEnvfv", (gl_function) glGetTexEnvfv },351 { "glGetTexEnviv", (gl_function) glGetTexEnviv },352 { "glGetTexGendv", (gl_function) glGetTexGendv },353 { "glGetTexGenfv", (gl_function) glGetTexGenfv },354 { "glGetTexGeniv", (gl_function) glGetTexGeniv },355 { "glGetTexImage", (gl_function) glGetTexImage },356 { "glGetTexLevelParameterfv", (gl_function) glGetTexLevelParameterfv },357 { "glGetTexLevelParameteriv", (gl_function) glGetTexLevelParameteriv },358 { "glGetTexParameterfv", (gl_function) glGetTexParameterfv },359 { "glGetTexParameteriv", (gl_function) glGetTexParameteriv },360 { "glHint", (gl_function) glHint },361 { "glIndexMask", (gl_function) glIndexMask },362 { "glIndexd", (gl_function) glIndexd },363 { "glIndexdv", (gl_function) glIndexdv },364 { "glIndexf", (gl_function) glIndexf },365 { "glIndexfv", (gl_function) glIndexfv },366 { "glIndexi", (gl_function) glIndexi },367 { "glIndexiv", (gl_function) glIndexiv },368 { "glIndexs", (gl_function) glIndexs },369 { "glIndexsv", (gl_function) glIndexsv },370 { "glInitNames", (gl_function) glInitNames },371 { "glIsEnabled", (gl_function) glIsEnabled },372 { "glIsList", (gl_function) glIsList },373 { "glLightModelf", (gl_function) glLightModelf },374 { "glLightModelfv", (gl_function) glLightModelfv },375 { "glLightModeli", (gl_function) glLightModeli },376 { "glLightModeliv", (gl_function) glLightModeliv },377 { "glLightf", (gl_function) glLightf },378 { "glLightfv", (gl_function) glLightfv },379 { "glLighti", (gl_function) glLighti },380 { "glLightiv", (gl_function) glLightiv },381 { "glLineStipple", (gl_function) glLineStipple },382 { "glLineWidth", (gl_function) glLineWidth },383 { "glListBase", (gl_function) glListBase },384 { "glLoadIdentity", (gl_function) glLoadIdentity },385 { "glLoadMatrixd", (gl_function) glLoadMatrixd },386 { "glLoadMatrixf", (gl_function) glLoadMatrixf },387 { "glLoadName", (gl_function) glLoadName },388 { "glLogicOp", (gl_function) glLogicOp },389 { "glMap1d", (gl_function) glMap1d },390 { "glMap1f", (gl_function) glMap1f },391 { "glMap2d", (gl_function) glMap2d },392 { "glMap2f", (gl_function) glMap2f },393 { "glMapGrid1d", (gl_function) glMapGrid1d },394 { "glMapGrid1f", (gl_function) glMapGrid1f },395 { "glMapGrid2d", (gl_function) glMapGrid2d },396 { "glMapGrid2f", (gl_function) glMapGrid2f },397 { "glMaterialf", (gl_function) glMaterialf },398 { "glMaterialfv", (gl_function) glMaterialfv },399 { "glMateriali", (gl_function) glMateriali },400 { "glMaterialiv", (gl_function) glMaterialiv },401 { "glMatrixMode", (gl_function) glMatrixMode },402 { "glMultMatrixd", (gl_function) glMultMatrixd },403 { "glMultMatrixf", (gl_function) glMultMatrixf },404 { "glNewList", (gl_function) glNewList },405 { "glNormal3b", (gl_function) glNormal3b },406 { "glNormal3bv", (gl_function) glNormal3bv },407 { "glNormal3d", (gl_function) glNormal3d },408 { "glNormal3dv", (gl_function) glNormal3dv },409 { "glNormal3f", (gl_function) glNormal3f },410 { "glNormal3fv", (gl_function) glNormal3fv },411 { "glNormal3i", (gl_function) glNormal3i },412 { "glNormal3iv", (gl_function) glNormal3iv },413 { "glNormal3s", (gl_function) glNormal3s },414 { "glNormal3sv", (gl_function) glNormal3sv },415 { "glOrtho", (gl_function) glOrtho },416 { "glPassThrough", (gl_function) glPassThrough },417 { "glPixelMapfv", (gl_function) glPixelMapfv },418 { "glPixelMapuiv", (gl_function) glPixelMapuiv },419 { "glPixelMapusv", (gl_function) glPixelMapusv },420 { "glPixelStoref", (gl_function) glPixelStoref },421 { "glPixelStorei", (gl_function) glPixelStorei },422 { "glPixelTransferf", (gl_function) glPixelTransferf },423 { "glPixelTransferi", (gl_function) glPixelTransferi },424 { "glPixelZoom", (gl_function) glPixelZoom },425 { "glPointSize", (gl_function) glPointSize },426 { "glPolygonMode", (gl_function) glPolygonMode },427 { "glPolygonOffset", (gl_function) glPolygonOffset },428 { "glPolygonStipple", (gl_function) glPolygonStipple },429 { "glPopAttrib", (gl_function) glPopAttrib },430 { "glPopMatrix", (gl_function) glPopMatrix },431 { "glPopName", (gl_function) glPopName },432 { "glPushAttrib", (gl_function) glPushAttrib },433 { "glPushMatrix", (gl_function) glPushMatrix },434 { "glPushName", (gl_function) glPushName },435 { "glRasterPos2d", (gl_function) glRasterPos2d },436 { "glRasterPos2dv", (gl_function) glRasterPos2dv },437 { "glRasterPos2f", (gl_function) glRasterPos2f },438 { "glRasterPos2fv", (gl_function) glRasterPos2fv },439 { "glRasterPos2i", (gl_function) glRasterPos2i },440 { "glRasterPos2iv", (gl_function) glRasterPos2iv },441 { "glRasterPos2s", (gl_function) glRasterPos2s },442 { "glRasterPos2sv", (gl_function) glRasterPos2sv },443 { "glRasterPos3d", (gl_function) glRasterPos3d },444 { "glRasterPos3dv", (gl_function) glRasterPos3dv },445 { "glRasterPos3f", (gl_function) glRasterPos3f },446 { "glRasterPos3fv", (gl_function) glRasterPos3fv },447 { "glRasterPos3i", (gl_function) glRasterPos3i },448 { "glRasterPos3iv", (gl_function) glRasterPos3iv },449 { "glRasterPos3s", (gl_function) glRasterPos3s },450 { "glRasterPos3sv", (gl_function) glRasterPos3sv },451 { "glRasterPos4d", (gl_function) glRasterPos4d },452 { "glRasterPos4dv", (gl_function) glRasterPos4dv },453 { "glRasterPos4f", (gl_function) glRasterPos4f },454 { "glRasterPos4fv", (gl_function) glRasterPos4fv },455 { "glRasterPos4i", (gl_function) glRasterPos4i },456 { "glRasterPos4iv", (gl_function) glRasterPos4iv },457 { "glRasterPos4s", (gl_function) glRasterPos4s },458 { "glRasterPos4sv", (gl_function) glRasterPos4sv },459 { "glReadBuffer", (gl_function) glReadBuffer },460 { "glReadPixels", (gl_function) glReadPixels },461 { "glRectd", (gl_function) glRectd },462 { "glRectdv", (gl_function) glRectdv },463 { "glRectf", (gl_function) glRectf },464 { "glRectfv", (gl_function) glRectfv },465 { "glRecti", (gl_function) glRecti },466 { "glRectiv", (gl_function) glRectiv },467 { "glRects", (gl_function) glRects },468 { "glRectsv", (gl_function) glRectsv },469 { "glRenderMode", (gl_function) glRenderMode },470 { "glRotated", (gl_function) glRotated },471 { "glRotatef", (gl_function) glRotatef },472 { "glScaled", (gl_function) glScaled },473 { "glScalef", (gl_function) glScalef },474 { "glScissor", (gl_function) glScissor },475 { "glSelectBuffer", (gl_function) glSelectBuffer },476 { "glShadeModel", (gl_function) glShadeModel },477 { "glStencilFunc", (gl_function) glStencilFunc },478 { "glStencilMask", (gl_function) glStencilMask },479 { "glStencilOp", (gl_function) glStencilOp },480 { "glTexCoord1d", (gl_function) glTexCoord1d },481 { "glTexCoord1dv", (gl_function) glTexCoord1dv },482 { "glTexCoord1f", (gl_function) glTexCoord1f },483 { "glTexCoord1fv", (gl_function) glTexCoord1fv },484 { "glTexCoord1i", (gl_function) glTexCoord1i },485 { "glTexCoord1iv", (gl_function) glTexCoord1iv },486 { "glTexCoord1s", (gl_function) glTexCoord1s },487 { "glTexCoord1sv", (gl_function) glTexCoord1sv },488 { "glTexCoord2d", (gl_function) glTexCoord2d },489 { "glTexCoord2dv", (gl_function) glTexCoord2dv },490 { "glTexCoord2f", (gl_function) glTexCoord2f },491 { "glTexCoord2fv", (gl_function) glTexCoord2fv },492 { "glTexCoord2i", (gl_function) glTexCoord2i },493 { "glTexCoord2iv", (gl_function) glTexCoord2iv },494 { "glTexCoord2s", (gl_function) glTexCoord2s },495 { "glTexCoord2sv", (gl_function) glTexCoord2sv },496 { "glTexCoord3d", (gl_function) glTexCoord3d },497 { "glTexCoord3dv", (gl_function) glTexCoord3dv },498 { "glTexCoord3f", (gl_function) glTexCoord3f },499 { "glTexCoord3fv", (gl_function) glTexCoord3fv },500 { "glTexCoord3i", (gl_function) glTexCoord3i },501 { "glTexCoord3iv", (gl_function) glTexCoord3iv },502 { "glTexCoord3s", (gl_function) glTexCoord3s },503 { "glTexCoord3sv", (gl_function) glTexCoord3sv },504 { "glTexCoord4d", (gl_function) glTexCoord4d },505 { "glTexCoord4dv", (gl_function) glTexCoord4dv },506 { "glTexCoord4f", (gl_function) glTexCoord4f },507 { "glTexCoord4fv", (gl_function) glTexCoord4fv },508 { "glTexCoord4i", (gl_function) glTexCoord4i },509 { "glTexCoord4iv", (gl_function) glTexCoord4iv },510 { "glTexCoord4s", (gl_function) glTexCoord4s },511 { "glTexCoord4sv", (gl_function) glTexCoord4sv },512 { "glTexEnvf", (gl_function) glTexEnvf },513 { "glTexEnvfv", (gl_function) glTexEnvfv },514 { "glTexEnvi", (gl_function) glTexEnvi },515 { "glTexEnviv", (gl_function) glTexEnviv },516 { "glTexGend", (gl_function) glTexGend },517 { "glTexGendv", (gl_function) glTexGendv },518 { "glTexGenf", (gl_function) glTexGenf },519 { "glTexGenfv", (gl_function) glTexGenfv },520 { "glTexGeni", (gl_function) glTexGeni },521 { "glTexGeniv", (gl_function) glTexGeniv },522 { "glTexImage1D", (gl_function) glTexImage1D },523 { "glTexImage2D", (gl_function) glTexImage2D },524 { "glTexParameterf", (gl_function) glTexParameterf },525 { "glTexParameterfv", (gl_function) glTexParameterfv },526 { "glTexParameteri", (gl_function) glTexParameteri },527 { "glTexParameteriv", (gl_function) glTexParameteriv },528 { "glTranslated", (gl_function) glTranslated },529 { "glTranslatef", (gl_function) glTranslatef },530 { "glVertex2d", (gl_function) glVertex2d },531 { "glVertex2dv", (gl_function) glVertex2dv },532 { "glVertex2f", (gl_function) glVertex2f },533 { "glVertex2fv", (gl_function) glVertex2fv },534 { "glVertex2i", (gl_function) glVertex2i },535 { "glVertex2iv", (gl_function) glVertex2iv },536 { "glVertex2s", (gl_function) glVertex2s },537 { "glVertex2sv", (gl_function) glVertex2sv },538 { "glVertex3d", (gl_function) glVertex3d },539 { "glVertex3dv", (gl_function) glVertex3dv },540 { "glVertex3f", (gl_function) glVertex3f },541 { "glVertex3fv", (gl_function) glVertex3fv },542 { "glVertex3i", (gl_function) glVertex3i },543 { "glVertex3iv", (gl_function) glVertex3iv },544 { "glVertex3s", (gl_function) glVertex3s },545 { "glVertex3sv", (gl_function) glVertex3sv },546 { "glVertex4d", (gl_function) glVertex4d },547 { "glVertex4dv", (gl_function) glVertex4dv },548 { "glVertex4f", (gl_function) glVertex4f },549 { "glVertex4fv", (gl_function) glVertex4fv },550 { "glVertex4i", (gl_function) glVertex4i },551 { "glVertex4iv", (gl_function) glVertex4iv },552 { "glVertex4s", (gl_function) glVertex4s },553 { "glVertex4sv", (gl_function) glVertex4sv },554 { "glViewport", (gl_function) glViewport },555 556 /* OpenGL 1.1 functions */557 { "glAreTexturesResident", (gl_function) glAreTexturesResident },558 { "glArrayElement", (gl_function) glArrayElement },559 { "glBindTexture", (gl_function) glBindTexture },560 { "glColorPointer", (gl_function) glColorPointer },561 { "glCopyTexImage1D", (gl_function) glCopyTexImage1D },562 { "glCopyTexImage2D", (gl_function) glCopyTexImage2D },563 { "glCopyTexSubImage1D", (gl_function) glCopyTexSubImage1D },564 { "glCopyTexSubImage2D", (gl_function) glCopyTexSubImage2D },565 { "glDeleteTextures", (gl_function) glDeleteTextures },566 { "glDisableClientState", (gl_function) glDisableClientState },567 { "glDrawArrays", (gl_function) glDrawArrays },568 { "glDrawElements", (gl_function) glDrawElements },569 { "glEdgeFlagPointer", (gl_function) glEdgeFlagPointer },570 { "glEnableClientState", (gl_function) glEnableClientState },571 { "glGenTextures", (gl_function) glGenTextures },572 { "glGetPointerv", (gl_function) glGetPointerv },573 { "glIndexPointer", (gl_function) glIndexPointer },574 { "glIndexub", (gl_function) glIndexub },575 { "glIndexubv", (gl_function) glIndexubv },576 { "glInterleavedArrays", (gl_function) glInterleavedArrays },577 { "glIsTexture", (gl_function) glIsTexture },578 { "glNormalPointer", (gl_function) glNormalPointer },579 { "glPopClientAttrib", (gl_function) glPopClientAttrib },580 { "glPrioritizeTextures", (gl_function) glPrioritizeTextures },581 { "glPushClientAttrib", (gl_function) glPushClientAttrib },582 { "glTexCoordPointer", (gl_function) glTexCoordPointer },583 { "glTexSubImage1D", (gl_function) glTexSubImage1D },584 { "glTexSubImage2D", (gl_function) glTexSubImage2D },585 { "glVertexPointer", (gl_function) glVertexPointer },586 587 /* OpenGL 1.2 functions */588 { "glCopyTexSubImage3D", (gl_function) glCopyTexSubImage3D },589 { "glDrawRangeElements", (gl_function) glDrawRangeElements },590 { "glTexImage3D", (gl_function) glTexImage3D },591 { "glTexSubImage3D", (gl_function) glTexSubImage3D },592 593 /* ARB_imaging functions */594 { "glBlendColor", (gl_function) glBlendColor },595 { "glBlendEquation", (gl_function) glBlendEquation },596 { "glColorSubTable", (gl_function) glColorSubTable },597 { "glColorTable", (gl_function) glColorTable },598 { "glColorTableParameterfv", (gl_function) glColorTableParameterfv },599 { "glColorTableParameteriv", (gl_function) glColorTableParameteriv },600 { "glConvolutionFilter1D", (gl_function) glConvolutionFilter1D },601 { "glConvolutionFilter2D", (gl_function) glConvolutionFilter2D },602 { "glConvolutionParameterf", (gl_function) glConvolutionParameterf },603 { "glConvolutionParameterfv", (gl_function) glConvolutionParameterfv },604 { "glConvolutionParameteri", (gl_function) glConvolutionParameteri },605 { "glConvolutionParameteriv", (gl_function) glConvolutionParameteriv },606 { "glCopyColorSubTable", (gl_function) glCopyColorSubTable },607 { "glCopyColorTable", (gl_function) glCopyColorTable },608 { "glCopyConvolutionFilter1D", (gl_function) glCopyConvolutionFilter1D },609 { "glCopyConvolutionFilter2D", (gl_function) glCopyConvolutionFilter2D },610 { "glGetColorTable", (gl_function) glGetColorTable },611 { "glGetColorTableParameterfv", (gl_function) glGetColorTableParameterfv },612 { "glGetColorTableParameteriv", (gl_function) glGetColorTableParameteriv },613 { "glGetConvolutionFilter", (gl_function) glGetConvolutionFilter },614 { "glGetConvolutionParameterfv", (gl_function) glGetConvolutionParameterfv },615 { "glGetConvolutionParameteriv", (gl_function) glGetConvolutionParameteriv },616 { "glGetHistogram", (gl_function) glGetHistogram },617 { "glGetHistogramParameterfv", (gl_function) glGetHistogramParameterfv },618 { "glGetHistogramParameteriv", (gl_function) glGetHistogramParameteriv },619 { "glGetMinmax", (gl_function) glGetMinmax },620 { "glGetMinmaxParameterfv", (gl_function) glGetMinmaxParameterfv },621 { "glGetMinmaxParameteriv", (gl_function) glGetMinmaxParameteriv },622 { "glGetSeparableFilter", (gl_function) glGetSeparableFilter },623 { "glHistogram", (gl_function) glHistogram },624 { "glMinmax", (gl_function) glMinmax },625 { "glResetHistogram", (gl_function) glResetHistogram },626 { "glResetMinmax", (gl_function) glResetMinmax },627 { "glSeparableFilter2D", (gl_function) glSeparableFilter2D },628 629 /* GL_EXT_paletted_texture */630 { "glColorTableEXT", (gl_function) glColorTableEXT },631 { "glColorSubTableEXT", (gl_function) glColorSubTableEXT },632 { "glGetColorTableEXT", (gl_function) glGetColorTableEXT },633 { "glGetColorTableParameterfvEXT", (gl_function) glGetColorTableParameterfvEXT },634 { "glGetColorTableParameterivEXT", (gl_function) glGetColorTableParameterivEXT },635 636 /* GL_EXT_compiled_vertex_array */637 { "glLockArraysEXT", (gl_function) glLockArraysEXT },638 { "glUnlockArraysEXT", (gl_function) glUnlockArraysEXT },639 640 /* GL_EXT_point_parameters */641 { "glPointParameterfEXT", (gl_function) glPointParameterfEXT },642 { "glPointParameterfvEXT", (gl_function) glPointParameterfvEXT },643 644 /* GL_EXT_polygon_offset */645 { "glPolygonOffsetEXT", (gl_function) glPolygonOffsetEXT },646 647 /* GL_EXT_blend_minmax */648 { "glBlendEquationEXT", (gl_function) glBlendEquationEXT },649 650 /* GL_EXT_blend_color */651 { "glBlendColorEXT", (gl_function) glBlendColorEXT },652 653 /* GL_EXT_vertex_arrays */654 { "glVertexPointerEXT", (gl_function) glVertexPointerEXT },655 { "glNormalPointerEXT", (gl_function) glNormalPointerEXT },656 { "glColorPointerEXT", (gl_function) glColorPointerEXT },657 { "glIndexPointerEXT", (gl_function) glIndexPointerEXT },658 { "glTexCoordPointerEXT", (gl_function) glTexCoordPointerEXT },659 { "glEdgeFlagPointerEXT", (gl_function) glEdgeFlagPointerEXT },660 { "glGetPointervEXT", (gl_function) glGetPointervEXT },661 { "glArrayElementEXT", (gl_function) glArrayElementEXT },662 { "glDrawArraysEXT", (gl_function) glDrawArraysEXT },663 664 /* GL_EXT_texture_object */665 { "glGenTexturesEXT", (gl_function) glGenTexturesEXT },666 { "glDeleteTexturesEXT", (gl_function) glDeleteTexturesEXT },667 { "glBindTextureEXT", (gl_function) glBindTextureEXT },668 { "glPrioritizeTexturesEXT", (gl_function) glPrioritizeTexturesEXT },669 { "glAreTexturesResidentEXT", (gl_function) glAreTexturesResidentEXT },670 { "glIsTextureEXT", (gl_function) glIsTextureEXT },671 672 /* GL_EXT_texture3D */673 { "glTexImage3DEXT", (gl_function) glTexImage3DEXT },674 { "glTexSubImage3DEXT", (gl_function) glTexSubImage3DEXT },675 { "glCopyTexSubImage3DEXT", (gl_function) glCopyTexSubImage3DEXT },676 677 /* GL_ARB_multitexture */678 { "glActiveTextureARB", (gl_function) glActiveTextureARB },679 { "glClientActiveTextureARB", (gl_function) glClientActiveTextureARB },680 { "glMultiTexCoord1dARB", (gl_function) glMultiTexCoord1dARB },681 { "glMultiTexCoord1dvARB", (gl_function) glMultiTexCoord1dvARB },682 { "glMultiTexCoord1fARB", (gl_function) glMultiTexCoord1fARB },683 { "glMultiTexCoord1fvARB", (gl_function) glMultiTexCoord1fvARB },684 { "glMultiTexCoord1iARB", (gl_function) glMultiTexCoord1iARB },685 { "glMultiTexCoord1ivARB", (gl_function) glMultiTexCoord1ivARB },686 { "glMultiTexCoord1sARB", (gl_function) glMultiTexCoord1sARB },687 { "glMultiTexCoord1svARB", (gl_function) glMultiTexCoord1svARB },688 { "glMultiTexCoord2dARB", (gl_function) glMultiTexCoord2dARB },689 { "glMultiTexCoord2dvARB", (gl_function) glMultiTexCoord2dvARB },690 { "glMultiTexCoord2fARB", (gl_function) glMultiTexCoord2fARB },691 { "glMultiTexCoord2fvARB", (gl_function) glMultiTexCoord2fvARB },692 { "glMultiTexCoord2iARB", (gl_function) glMultiTexCoord2iARB },693 { "glMultiTexCoord2ivARB", (gl_function) glMultiTexCoord2ivARB },694 { "glMultiTexCoord2sARB", (gl_function) glMultiTexCoord2sARB },695 { "glMultiTexCoord2svARB", (gl_function) glMultiTexCoord2svARB },696 { "glMultiTexCoord3dARB", (gl_function) glMultiTexCoord3dARB },697 { "glMultiTexCoord3dvARB", (gl_function) glMultiTexCoord3dvARB },698 { "glMultiTexCoord3fARB", (gl_function) glMultiTexCoord3fARB },699 { "glMultiTexCoord3fvARB", (gl_function) glMultiTexCoord3fvARB },700 { "glMultiTexCoord3iARB", (gl_function) glMultiTexCoord3iARB },701 { "glMultiTexCoord3ivARB", (gl_function) glMultiTexCoord3ivARB },702 { "glMultiTexCoord3sARB", (gl_function) glMultiTexCoord3sARB },703 { "glMultiTexCoord3svARB", (gl_function) glMultiTexCoord3svARB },704 { "glMultiTexCoord4dARB", (gl_function) glMultiTexCoord4dARB },705 { "glMultiTexCoord4dvARB", (gl_function) glMultiTexCoord4dvARB },706 { "glMultiTexCoord4fARB", (gl_function) glMultiTexCoord4fARB },707 { "glMultiTexCoord4fvARB", (gl_function) glMultiTexCoord4fvARB },708 { "glMultiTexCoord4iARB", (gl_function) glMultiTexCoord4iARB },709 { "glMultiTexCoord4ivARB", (gl_function) glMultiTexCoord4ivARB },710 { "glMultiTexCoord4sARB", (gl_function) glMultiTexCoord4sARB },711 { "glMultiTexCoord4svARB", (gl_function) glMultiTexCoord4svARB },712 713 /* GL_INGR_blend_func_separate */714 { "glBlendFuncSeparateINGR", (gl_function) glBlendFuncSeparateINGR },715 716 /* GL_MESA_window_pos */717 { "glWindowPos2iMESA", (gl_function) glWindowPos2iMESA },718 { "glWindowPos2sMESA", (gl_function) glWindowPos2sMESA },719 { "glWindowPos2fMESA", (gl_function) glWindowPos2fMESA },720 { "glWindowPos2dMESA", (gl_function) glWindowPos2dMESA },721 { "glWindowPos2ivMESA", (gl_function) glWindowPos2ivMESA },722 { "glWindowPos2svMESA", (gl_function) glWindowPos2svMESA },723 { "glWindowPos2fvMESA", (gl_function) glWindowPos2fvMESA },724 { "glWindowPos2dvMESA", (gl_function) glWindowPos2dvMESA },725 { "glWindowPos3iMESA", (gl_function) glWindowPos3iMESA },726 { "glWindowPos3sMESA", (gl_function) glWindowPos3sMESA },727 { "glWindowPos3fMESA", (gl_function) glWindowPos3fMESA },728 { "glWindowPos3dMESA", (gl_function) glWindowPos3dMESA },729 { "glWindowPos3ivMESA", (gl_function) glWindowPos3ivMESA },730 { "glWindowPos3svMESA", (gl_function) glWindowPos3svMESA },731 { "glWindowPos3fvMESA", (gl_function) glWindowPos3fvMESA },732 { "glWindowPos3dvMESA", (gl_function) glWindowPos3dvMESA },733 { "glWindowPos4iMESA", (gl_function) glWindowPos4iMESA },734 { "glWindowPos4sMESA", (gl_function) glWindowPos4sMESA },735 { "glWindowPos4fMESA", (gl_function) glWindowPos4fMESA },736 { "glWindowPos4dMESA", (gl_function) glWindowPos4dMESA },737 { "glWindowPos4ivMESA", (gl_function) glWindowPos4ivMESA },738 { "glWindowPos4svMESA", (gl_function) glWindowPos4svMESA },739 { "glWindowPos4fvMESA", (gl_function) glWindowPos4fvMESA },740 { "glWindowPos4dvMESA", (gl_function) glWindowPos4dvMESA },741 742 /* GL_MESA_resize_buffers */743 { "glResizeBuffersMESA", (gl_function) glResizeBuffersMESA },744 745 /* GL_EXT_compiled_vertex_array */746 { "glLockArraysEXT", (gl_function) glLockArraysEXT },747 { "glUnlockArraysEXT", (gl_function) glUnlockArraysEXT },748 749 { NULL, NULL } /* end of list token */750 };751 GLuint i;752 753 for (i = 0; procTable[i].address; i++) {754 if (strcmp((const char *) procName, procTable[i].name) == 0)755 return procTable[i].address;756 }757 758 return NULL;759 }
Note:
See TracChangeset
for help on using the changeset viewer.