summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@apple.com>2011-06-07 00:51:18 -0400
committerJeremy Huddleston <jeremyhu@apple.com>2011-06-11 22:16:43 -0700
commit05d9a4ab1ccc14464e65f8288aaba8862a39a973 (patch)
tree83998d43a29c33cc55d9109acc7725af399bc14c
parentb0625f848682816e65eaf427e85fc052fc873bff (diff)
osmesa: Fix missing symbols when GLX_INDIRECT_RENDERING is defined.
When GLX_INDIRECT_RENDERING is defined, some symbols are used in libglapi.a but are not defined. Define them through the help of glapitemp.h. Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com> Signed-off-by: Chia-I Wu <olvaffe@gmail.com> (cherry picked from commit 0e8d045bf8bc930576cc69b9de8a31a4c973dc7c)
-rw-r--r--src/mesa/drivers/osmesa/osmesa.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mesa/drivers/osmesa/osmesa.c b/src/mesa/drivers/osmesa/osmesa.c
index 10ba6b79314..ae9eaafe32f 100644
--- a/src/mesa/drivers/osmesa/osmesa.c
+++ b/src/mesa/drivers/osmesa/osmesa.c
@@ -1567,3 +1567,31 @@ OSMesaColorClamp(GLboolean enable)
}
+/**
+ * When GLX_INDIRECT_RENDERING is defined, some symbols are missing in
+ * libglapi.a. We need to define them here.
+ */
+#ifdef GLX_INDIRECT_RENDERING
+
+#define GL_GLEXT_PROTOTYPES
+#include "GL/gl.h"
+#include "glapi/glapi.h"
+#include "glapi/glapitable.h"
+
+#if defined(USE_MGL_NAMESPACE)
+#define NAME(func) mgl##func
+#else
+#define NAME(func) gl##func
+#endif
+
+#define DISPATCH(FUNC, ARGS, MESSAGE) \
+ GET_DISPATCH()->FUNC ARGS
+
+#define RETURN_DISPATCH(FUNC, ARGS, MESSAGE) \
+ return GET_DISPATCH()->FUNC ARGS
+
+/* skip normal ones */
+#define _GLAPI_SKIP_NORMAL_ENTRY_POINTS
+#include "glapi/glapitemp.h"
+
+#endif /* GLX_INDIRECT_RENDERING */