From f893f032faebd6c6f4be4f9de7c8181575bb247c Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sat, 11 Sep 1999 11:34:21 +0000 Subject: added GLU_EXT_get_proc_address --- include/GL/glu.h | 21 ++++++++++++++++++++- src/glu/mesa/glu.c | 33 +++++++++++++++++++++++++++++++-- 2 files changed, 51 insertions(+), 3 deletions(-) diff --git a/include/GL/glu.h b/include/GL/glu.h index 1123705547..a2dfbfaa84 100644 --- a/include/GL/glu.h +++ b/include/GL/glu.h @@ -1,4 +1,4 @@ -/* $Id: glu.h,v 1.2 1999/09/10 02:08:18 gareth Exp $ */ +/* $Id: glu.h,v 1.3 1999/09/11 11:34:21 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -23,6 +23,9 @@ /* * $Log: glu.h,v $ + * Revision 1.3 1999/09/11 11:34:21 brianp + * added GLU_EXT_get_proc_address + * * Revision 1.2 1999/09/10 02:08:18 gareth * Added GLU 1.3 tessellation (except winding rule code). * @@ -481,6 +484,22 @@ GLUAPI void GLAPIENTRY gluEndPolygon( GLUtesselator *tobj ); GLUAPI const GLubyte* GLAPIENTRY gluGetString( GLenum name ); + +/* + * GLU_EXT_get_proc_address extensions + */ + +#ifdef GL_EXT_get_proc_address +/* This extension requires GL_EXT_get_proc_address */ + +GLUAPI GLfunction GLAPIENTRY gluGetProcAddressEXT( const GLubyte *procName ); + +#define GLU_EXT_get_proc_address 1 + +#endif /* GL_EXT_get_proc_address */ + + + #if defined(__BEOS__) || defined(__QUICKDRAW__) #pragma export off #endif diff --git a/src/glu/mesa/glu.c b/src/glu/mesa/glu.c index e9037b7614..9e0fb46030 100644 --- a/src/glu/mesa/glu.c +++ b/src/glu/mesa/glu.c @@ -1,4 +1,4 @@ -/* $Id: glu.c,v 1.3 1999/09/10 04:32:10 gareth Exp $ */ +/* $Id: glu.c,v 1.4 1999/09/11 11:36:26 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -23,6 +23,9 @@ /* * $Log: glu.c,v $ + * Revision 1.4 1999/09/11 11:36:26 brianp + * added GLU_EXT_get_proc_address + * * Revision 1.3 1999/09/10 04:32:10 gareth * Fixed triangle output, recovery process termination. * @@ -325,7 +328,7 @@ const GLubyte* GLAPIENTRY gluErrorString( GLenum errorCode ) const GLubyte* GLAPIENTRY gluGetString( GLenum name ) { - static char *extensions = "GL_EXT_abgr"; + static char *extensions = "GL_EXT_abgr GLU_EXT_get_proc_address"; static char *version = "1.1 Mesa 3.1"; switch (name) { @@ -338,3 +341,29 @@ const GLubyte* GLAPIENTRY gluGetString( GLenum name ) } } + + +#ifdef GLU_EXT_get_proc_address + +GLfunction GLAPIENTRY gluGetProcAddressEXT( const GLubyte *procName ) +{ + struct proc { + const char *name; + void *address; + }; + static struct proc procTable[] = { + { "gluGetProcAddressEXT", (void *) gluGetProcAddressEXT }, /* myself! */ + { NULL, NULL } + }; + GLuint i; + + for (i = 0; procTable[i].address; i++) { + if (strcmp((const char *) procName, procTable[i].name) == 0) + return (GLfunction) procTable[i].address; + } + + return NULL; +} + +#endif + -- cgit v1.2.3