summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/GL/osmesa.h17
-rw-r--r--src/mesa/drivers/osmesa/osmesa.c35
2 files changed, 47 insertions, 5 deletions
diff --git a/include/GL/osmesa.h b/include/GL/osmesa.h
index 63ce843b68..d941237812 100644
--- a/include/GL/osmesa.h
+++ b/include/GL/osmesa.h
@@ -1,10 +1,10 @@
-/* $Id: osmesa.h,v 1.9 2001/09/23 16:06:13 brianp Exp $ */
+/* $Id: osmesa.h,v 1.10 2002/04/04 16:58:04 brianp Exp $ */
/*
* Mesa 3-D graphics library
- * Version: 4.0
+ * Version: 4.1
*
- * Copyright (C) 1999-2001 Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -63,7 +63,7 @@ extern "C" {
#define OSMESA_MAJOR_VERSION 4
-#define OSMESA_MINOR_VERSION 0
+#define OSMESA_MINOR_VERSION 1
#define OSMESA_PATCH_VERSION 0
@@ -254,6 +254,15 @@ OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height,
+/*
+ * Return pointer to the named function.
+ *
+ * New in Mesa 4.1
+ */
+GLAPI void * GLAPIENTRY
+OSMesaGetProcAddress( const char *funcName );
+
+
#if defined(__BEOS__) || defined(__QUICKDRAW__)
#pragma export off
#endif
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c
index b7b667dd73..4fdf290383 100644
--- a/src/mesa/drivers/osmesa/osmesa.c
+++ b/src/mesa/drivers/osmesa/osmesa.c
@@ -1,4 +1,4 @@
-/* $Id: osmesa.c,v 1.77 2002/04/04 00:54:02 brianp Exp $ */
+/* $Id: osmesa.c,v 1.78 2002/04/04 16:58:04 brianp Exp $ */
/*
* Mesa 3-D graphics library
@@ -621,6 +621,39 @@ OSMesaGetColorBuffer( OSMesaContext c, GLint *width,
}
}
+
+
+struct name_address {
+ const char *Name;
+ GLvoid *Address;
+};
+
+static struct name_address functions[] = {
+ { "OSMesaCreateContext", (void *) OSMesaCreateContext },
+ { "OSMesaCreateContextExt", (void *) OSMesaCreateContextExt },
+ { "OSMesaDestroyContext", (void *) OSMesaDestroyContext },
+ { "OSMesaMakeCurrent", (void *) OSMesaMakeCurrent },
+ { "OSMesaGetCurrentContext", (void *) OSMesaGetCurrentContext },
+ { "OSMesaPixelsStore", (void *) OSMesaPixelStore },
+ { "OSMesaGetIntegerv", (void *) OSMesaGetIntegerv },
+ { "OSMesaGetDepthBuffer", (void *) OSMesaGetDepthBuffer },
+ { "OSMesaGetColorBuffer", (void *) OSMesaGetColorBuffer },
+ { "OSMesaGetProcAddress", (void *) OSMesaGetProcAddress },
+ { NULL, NULL }
+};
+
+GLAPI void * GLAPIENTRY
+OSMesaGetProcAddress( const char *funcName )
+{
+ int i;
+ for (i = 0; functions[i].Name; i++) {
+ if (strcmp(functions[i].Name, funcName) == 0)
+ return (void *) functions[i].Address;
+ }
+ return (void *) _glapi_get_proc_address(funcName);
+}
+
+
/**********************************************************************/
/*** Device Driver Functions ***/
/**********************************************************************/