From 1bf28c46c2d4d3f2d0a502e45abfa66d37afe733 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Fri, 17 Sep 1999 12:21:36 +0000 Subject: [PATCH] glGetProcAddressEXT changes to accomodate Win32 and non-Win32 --- include/GL/gl.h | 12 +++++++++--- include/GL/glu.h | 14 ++++++++++---- src/glu/mesa/glu.c | 17 +++++++++++++---- 3 files changed, 32 insertions(+), 11 deletions(-) diff --git a/include/GL/gl.h b/include/GL/gl.h index e45acbc066f..ff67f263a31 100644 --- a/include/GL/gl.h +++ b/include/GL/gl.h @@ -1,4 +1,4 @@ -/* $Id: gl.h,v 1.5 1999/09/17 04:25:56 tjump Exp $ */ +/* $Id: gl.h,v 1.6 1999/09/17 12:21:36 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -2181,9 +2181,15 @@ GLAPI void GLAPIENTRY glUnlockArraysEXT( void ); * If you want to try it out, #define GL_EXT_get_proc_address before * #include */ +#define GL_EXT_get_proc_address 1 #ifdef GL_EXT_get_proc_address -typedef (void (GLAPIENTRY *glProcAddress))(); -glProcAddress GLAPIENTRY glGetProcAddressEXT(const GLubyte *procName); +#ifdef __WIN32__ + typedef (void GLAPIENTRY *glProcAddress)(); + glProcAddress GLAPIENTRY glGetProcAddressEXT(const GLubyte *procName); +#else + /* everything but Windows */ + GLAPI void GLAPIENTRY (*glGetProcAddressEXT(const GLubyte *procName))(); +#endif #endif diff --git a/include/GL/glu.h b/include/GL/glu.h index 43727bcce02..01d630ef8b1 100644 --- a/include/GL/glu.h +++ b/include/GL/glu.h @@ -1,4 +1,4 @@ -/* $Id: glu.h,v 1.7 1999/09/17 02:44:19 tjump Exp $ */ +/* $Id: glu.h,v 1.8 1999/09/17 12:21:36 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -23,6 +23,9 @@ /* * $Log: glu.h,v $ + * Revision 1.8 1999/09/17 12:21:36 brianp + * glGetProcAddressEXT changes to accomodate Win32 and non-Win32 + * * Revision 1.7 1999/09/17 02:44:19 tjump * I changed the xxxGetProcAddressEXT function declarations to be more * MSVC friendly. Brianp - could you verify that they describe and operate @@ -508,9 +511,12 @@ GLUAPI const GLubyte* GLAPIENTRY gluGetString( GLenum name ); * which uses this extension yet! It may change! */ #define GLU_EXT_get_proc_address 1 -typedef (GLAPIENTRY *gluProcAddress)(); -gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName); - +#ifdef __WIN32__ + typedef (void (GLAPIENTRY *gluProcAddress))(); + gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName); +#else + GLUAPI void GLAPIENTRY (*gluGetProcAddressEXT(const GLubyte *procName))(); +#endif diff --git a/src/glu/mesa/glu.c b/src/glu/mesa/glu.c index 110e267aa8f..e844633906f 100644 --- a/src/glu/mesa/glu.c +++ b/src/glu/mesa/glu.c @@ -1,4 +1,4 @@ -/* $Id: glu.c,v 1.13 1999/09/17 03:17:18 tjump Exp $ */ +/* $Id: glu.c,v 1.14 1999/09/17 12:21:53 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -23,6 +23,9 @@ /* * $Log: glu.c,v $ + * Revision 1.14 1999/09/17 12:21:53 brianp + * glGetProcAddressEXT changes to accomodate Win32 and non-Win32 + * * Revision 1.13 1999/09/17 03:17:18 tjump * Patch error fixup * @@ -376,10 +379,12 @@ const GLubyte* GLAPIENTRY gluGetString( GLenum name ) #ifdef GLU_EXT_get_proc_address #ifdef __cplusplus -/* for BeOS R4.5 */ -gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName) + /* for BeOS R4.5 */ + void GLAPIENTRY (*gluGetProcAddressEXT(const GLubyte *procName))(...) +#elif defined(__WIN32__) + gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName) #else -gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName) + void GLAPIENTRY (*gluGetProcAddressEXT(const GLubyte *procName))() #endif { struct proc { @@ -407,7 +412,11 @@ gluProcAddress GLAPIENTRY gluGetProcAddressEXT(const GLubyte *procName) for (i = 0; procTable[i].address; i++) { if (strcmp((const char *) procName, procTable[i].name) == 0) +#ifdef __WIN32__ return (gluProcAddress) procTable[i].address; +#else + return (void (*)()) procTable[i].address; +#endif } return NULL; -- 2.30.2