added GLX_EXT_get_proc_address
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* $Id: glx.h,v 1.1 1999/08/19 00:55:40 jtg Exp $ */
|
||||
/* $Id: glx.h,v 1.2 1999/09/11 11:33:45 brianp Exp $ */
|
||||
|
||||
/*
|
||||
* Mesa 3-D graphics library
|
||||
@@ -27,8 +27,11 @@
|
||||
|
||||
/*
|
||||
* $Log: glx.h,v $
|
||||
* Revision 1.1 1999/08/19 00:55:40 jtg
|
||||
* Initial revision
|
||||
* Revision 1.2 1999/09/11 11:33:45 brianp
|
||||
* added GLX_EXT_get_proc_address
|
||||
*
|
||||
* Revision 1.1.1.1 1999/08/19 00:55:40 jtg
|
||||
* Imported sources
|
||||
*
|
||||
* Revision 3.3 1999/02/14 03:39:09 brianp
|
||||
* new copyright
|
||||
@@ -154,13 +157,12 @@ enum _GLX_CONFIGS {
|
||||
/*
|
||||
* Compile-time extension tests
|
||||
*/
|
||||
#ifdef MESA
|
||||
#define GLX_EXT_visual_info 1
|
||||
#define GLX_MESA_pixmap_colormap 1
|
||||
#define GLX_MESA_release_buffers 1
|
||||
#define GLX_MESA_copy_sub_buffer 1
|
||||
#define GLX_SGI_video_sync 1
|
||||
#endif
|
||||
#define GLX_EXT_get_proc_address 1
|
||||
|
||||
|
||||
|
||||
@@ -227,6 +229,9 @@ extern const char *glXQueryServerString( Display *dpy, int screen, int name );
|
||||
extern const char *glXGetClientString( Display *dpy, int name );
|
||||
|
||||
|
||||
/* GLX_EXT_get_proc_address */
|
||||
extern GLfunction glXGetProcAddressEXT(const GLubyte *procName);
|
||||
|
||||
|
||||
/*
|
||||
* Mesa GLX Extensions
|
||||
|
@@ -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;
|
||||
}
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user