From 89a42b7e736bd9b0ab090906cab0cd047a6ec12e Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Sat, 11 Sep 1999 11:33:45 +0000 Subject: added GLX_EXT_get_proc_address --- src/mesa/drivers/x11/fakeglx.c | 28 +++++++++++++++++++++++++++- src/mesa/drivers/x11/glxapi.c | 13 ++++++++++++- 2 files changed, 39 insertions(+), 2 deletions(-) (limited to 'src/mesa/drivers') diff --git a/src/mesa/drivers/x11/fakeglx.c b/src/mesa/drivers/x11/fakeglx.c index 2704e35ad59..108c5570191 100644 --- a/src/mesa/drivers/x11/fakeglx.c +++ b/src/mesa/drivers/x11/fakeglx.c @@ -1,4 +1,4 @@ -/* $Id: fakeglx.c,v 1.2 1999/09/03 11:53:33 keithw Exp $ */ +/* $Id: fakeglx.c,v 1.3 1999/09/11 11:35:11 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -1472,3 +1472,29 @@ void Fake_glXDummyFunc( void ) (void) HPCR_DRGB; (void) kernel1; } + + +GLfunction Fake_glXGetProcAddress( const GLubyte *procName ) +{ + struct proc { + const char *name; + void *address; + }; + static struct proc procTable[] = { + { "glXGetProcAddressEXT", glXGetProcAddressEXT }, /* myself! */ + { "glXReleaseBuffersMESA", glXReleaseBuffersMESA }, + { "glXReleaseBuffersMESA", glXReleaseBuffersMESA }, + { "glXCopySubBufferMESA", glXCopySubBufferMESA }, + /* NOTE: GLX_SGI_video_sync not implemented in Mesa */ + { NULL, NULL } /* end of list token */ + }; + GLuint i; + + /* First, look for core library functions */ + for (i = 0; procTable[i].address; i++) { + if (strcmp((const char *) procName, procTable[i].name) == 0) + return (GLfunction) procTable[i].address; + } + + return NULL; +} diff --git a/src/mesa/drivers/x11/glxapi.c b/src/mesa/drivers/x11/glxapi.c index b65bada72b9..23b23b90cb4 100644 --- a/src/mesa/drivers/x11/glxapi.c +++ b/src/mesa/drivers/x11/glxapi.c @@ -1,4 +1,4 @@ -/* $Id: glxapi.c,v 1.1 1999/08/19 00:55:42 jtg Exp $ */ +/* $Id: glxapi.c,v 1.2 1999/09/11 11:35:11 brianp Exp $ */ /* * Mesa 3-D graphics library @@ -403,3 +403,14 @@ int glXWaitVideoSyncSGI(int divisor, int remainder, unsigned int *count) } #endif + + +#ifdef GLX_EXT_get_proc_address +GLfunction glXGetProcAddressEXT( const GLubyte *procName ) +{ +#ifdef REALGLX + return 0; /* XXX todo */ +#endif + return Fake_glXGetProcAddress( procName ); +} +#endif -- cgit v1.2.3