glGetProcAddressEXT changes to accomodate Win32 and non-Win32

This commit is contained in:
Brian Paul 1999-09-17 12:21:36 +00:00
parent 9b563507cb
commit 1bf28c46c2
3 changed files with 32 additions and 11 deletions

View File

@ -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 <GL/gl.h>
*/
#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

View File

@ -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

View File

@ -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;