[Xquartz-changes] mesa: Branch 'mesa_7_7_branch'
Jeremy Huddleston
jeremyhu at freedesktop.org
Wed Feb 24 13:38:07 PST 2010
src/glx/x11/apple/apple_cgl.h | 10 ++++++++++
src/glx/x11/apple/apple_glx.c | 12 ++++++------
src/glx/x11/apple/apple_glx.h | 6 ++----
src/glx/x11/apple/apple_glx_context.c | 4 ----
src/glx/x11/apple/apple_glx_context.h | 15 +++++++++++----
src/glx/x11/apple/apple_glx_drawable.h | 13 ++++++++++++-
src/glx/x11/apple/apple_glx_pbuffer.c | 7 ++++++-
src/glx/x11/apple/apple_glx_pixmap.c | 2 ++
src/glx/x11/apple/apple_glx_surface.c | 1 +
src/glx/x11/apple/apple_visual.c | 6 +++---
src/glx/x11/glxcmds.c | 3 ++-
11 files changed, 55 insertions(+), 24 deletions(-)
New commits:
commit f79b0ee3c8c5a290e7b704f8d83f94356370b3ab
Author: Jeremy Huddleston <jeremyhu at apple.com>
Date: Wed Feb 24 13:07:24 2010 -0800
Apple: Do some header cleanup to work around buggy headers in OpenGL.framework
See: <rdar://problem/6953344>
Signed-off-by: Jeremy Huddleston <jeremyhu at apple.com>
diff --git a/src/glx/x11/apple/apple_cgl.h b/src/glx/x11/apple/apple_cgl.h
index 5e98a00..a36461c 100644
--- a/src/glx/x11/apple/apple_cgl.h
+++ b/src/glx/x11/apple/apple_cgl.h
@@ -31,6 +31,12 @@
#define APPLE_CGL_H
#include <stdio.h>
+
+/* <rdar://problem/6953344> */
+#define glTexImage1D glTexImage1D_OSX
+#define glTexImage2D glTexImage2D_OSX
+#define glTexImage3D glTexImage3D_OSX
+
#include <OpenGL/CGLCurrent.h>
#include <OpenGL/CGLTypes.h>
#include <OpenGL/OpenGL.h>
@@ -38,6 +44,10 @@
/* For GLint and GLsizei on Tiger */
#include <OpenGL/gl.h>
+#undef glTexImage1D
+#undef glTexImage2D
+#undef glTexImage3D
+
struct apple_cgl_api
{
void (*get_version) (GLint * majorvers, GLint * minorvers);
diff --git a/src/glx/x11/apple/apple_glx.c b/src/glx/x11/apple/apple_glx.c
index d9bc091..3c4c9e7 100644
--- a/src/glx/x11/apple/apple_glx.c
+++ b/src/glx/x11/apple/apple_glx.c
@@ -35,6 +35,7 @@
#include <dlfcn.h>
#include "appledri.h"
#include "apple_glx.h"
+#include "apple_glx_drawable.h"
#include "apple_glx_context.h"
#include "apple_cgl.h"
#include "apple_xgl_api.h"
@@ -162,20 +163,19 @@ apple_glx_swap_buffers(void *ptr)
}
void *
-apple_glx_get_proc_address(const GLubyte * procname)
+apple_glx_get_proc_address(const char * procname)
{
size_t len;
void *h, *s;
- char *pname = (char *) procname;
assert(NULL != procname);
- len = strlen(pname);
+ len = strlen(procname);
if (len < 3) {
return NULL;
}
- if ((pname != strstr(pname, "glX")) && (pname != strstr(pname, "gl"))) {
+ if ((procname != strstr(procname, "glX")) && (procname != strstr(procname, "gl"))) {
fprintf(stderr,
"warning: get proc address request is not for a gl or glX function");
return NULL;
@@ -189,11 +189,11 @@ apple_glx_get_proc_address(const GLubyte * procname)
return NULL;
}
- s = dlsym(h, pname);
+ s = dlsym(h, procname);
if (NULL == s) {
/* Try the libGL.dylib from the OpenGL.framework. */
- s = dlsym(libgl_handle, pname);
+ s = dlsym(libgl_handle, procname);
}
dlclose(h);
diff --git a/src/glx/x11/apple/apple_glx.h b/src/glx/x11/apple/apple_glx.h
index 3ee54aa..30511b7 100644
--- a/src/glx/x11/apple/apple_glx.h
+++ b/src/glx/x11/apple/apple_glx.h
@@ -31,18 +31,16 @@
#define APPLE_GLX_H
#include <stdbool.h>
-#include <OpenGL/CGLTypes.h>
-#include <GL/gl.h>
-#include <GL/glxint.h>
#include <X11/Xlib.h>
#define XP_NO_X_HEADERS
#include <Xplugin.h>
+#undef XP_NO_X_HEADERS
void apple_glx_diagnostic(const char *fmt, ...);
xp_client_id apple_glx_get_client_id(void);
bool apple_init_glx(Display * dpy);
void apple_glx_swap_buffers(void *ptr);
-void *apple_glx_get_proc_address(const GLubyte * procname);
+void *apple_glx_get_proc_address(const char * procname);
void apple_glx_waitx(Display * dpy, void *ptr);
int apple_get_dri_event_base(void);
diff --git a/src/glx/x11/apple/apple_glx_context.c b/src/glx/x11/apple/apple_glx_context.c
index c58d05a..a565aab 100644
--- a/src/glx/x11/apple/apple_glx_context.c
+++ b/src/glx/x11/apple/apple_glx_context.c
@@ -42,10 +42,6 @@
#include <GL/gl.h>
#include <GL/glext.h>
-#include <OpenGL/CGLTypes.h>
-#include <OpenGL/CGLCurrent.h>
-#include <OpenGL/OpenGL.h>
-
#include "glxclient.h"
#include "apple_glx.h"
diff --git a/src/glx/x11/apple/apple_glx_context.h b/src/glx/x11/apple/apple_glx_context.h
index 7e2394f..89b8a03 100644
--- a/src/glx/x11/apple/apple_glx_context.h
+++ b/src/glx/x11/apple/apple_glx_context.h
@@ -32,13 +32,20 @@
#include <stdbool.h>
#include <X11/Xlib.h>
#include <GL/glx.h>
+
+/* <rdar://problem/6953344> */
+#define glTexImage1D glTexImage1D_OSX
+#define glTexImage2D glTexImage2D_OSX
+#define glTexImage3D glTexImage3D_OSX
+
#include <OpenGL/CGLTypes.h>
#include <OpenGL/CGLContext.h>
-#define XP_NO_X_HEADERS
-#include <Xplugin.h>
-#undef XP_NO_X_HEADERS
-#include "apple_glx_drawable.h"
+#undef glTexImage1D
+#undef glTexImage2D
+#undef glTexImage3D
+
+struct apple_glx_drawable;
struct apple_glx_context
{
diff --git a/src/glx/x11/apple/apple_glx_drawable.h b/src/glx/x11/apple/apple_glx_drawable.h
index a158589..b612066 100644
--- a/src/glx/x11/apple/apple_glx_drawable.h
+++ b/src/glx/x11/apple/apple_glx_drawable.h
@@ -33,10 +33,21 @@
#include <stdbool.h>
#include <limits.h>
#include <GL/glx.h>
+
+/* <rdar://problem/6953344> */
+#define glTexImage1D glTexImage1D_OSX
+#define glTexImage2D glTexImage2D_OSX
+#define glTexImage3D glTexImage3D_OSX
+
+#include <OpenGL/CGLTypes.h>
+
+#undef glTexImage1D
+#undef glTexImage2D
+#undef glTexImage3D
+
#define XP_NO_X_HEADERS
#include <Xplugin.h>
#undef XP_NO_X_HEADERS
-#include "apple_glx_context.h"
enum
{
diff --git a/src/glx/x11/apple/apple_glx_pbuffer.c b/src/glx/x11/apple/apple_glx_pbuffer.c
index fb56b75..e6e41d0 100644
--- a/src/glx/x11/apple/apple_glx_pbuffer.c
+++ b/src/glx/x11/apple/apple_glx_pbuffer.c
@@ -30,13 +30,18 @@
#include <stdlib.h>
#include <pthread.h>
#include <assert.h>
-#include <GL/glew.h>
+#include <GL/glxint.h>
#include "apple_glx.h"
#include "glcontextmodes.h"
#include "apple_glx_context.h"
#include "apple_glx_drawable.h"
#include "apple_cgl.h"
+/* We don't want to pull in <GL/glew.h> nor <OpenGL/glext.h> because of namespace conflicts */
+#ifndef GL_TEXTURE_RECTANGLE_EXT
+#define GL_TEXTURE_RECTANGLE_EXT 0x84F5
+#endif
+
static bool pbuffer_make_current(struct apple_glx_context *ac,
struct apple_glx_drawable *d);
diff --git a/src/glx/x11/apple/apple_glx_pixmap.c b/src/glx/x11/apple/apple_glx_pixmap.c
index af1791a..d5e4d05 100644
--- a/src/glx/x11/apple/apple_glx_pixmap.c
+++ b/src/glx/x11/apple/apple_glx_pixmap.c
@@ -35,10 +35,12 @@
#include <sys/mman.h>
#include <unistd.h>
#include <assert.h>
+#include <GL/glxint.h>
#include "apple_glx.h"
#include "apple_cgl.h"
#include "apple_visual.h"
#include "apple_glx_drawable.h"
+#include "apple_glx_context.h"
#include "appledri.h"
#include "glcontextmodes.h"
diff --git a/src/glx/x11/apple/apple_glx_surface.c b/src/glx/x11/apple/apple_glx_surface.c
index 6db2910..285cf8c 100644
--- a/src/glx/x11/apple/apple_glx_surface.c
+++ b/src/glx/x11/apple/apple_glx_surface.c
@@ -31,6 +31,7 @@
#include "apple_glx.h"
#include "appledri.h"
#include "apple_glx_drawable.h"
+#include "apple_glx_context.h"
static bool surface_make_current(struct apple_glx_context *ac,
struct apple_glx_drawable *d);
diff --git a/src/glx/x11/apple/apple_visual.c b/src/glx/x11/apple/apple_visual.c
index e809147..4eba2ab 100644
--- a/src/glx/x11/apple/apple_visual.c
+++ b/src/glx/x11/apple/apple_visual.c
@@ -32,14 +32,14 @@
#include <stdlib.h>
#include <assert.h>
#include <GL/gl.h>
-#include <OpenGL/OpenGL.h>
-#include <OpenGL/CGLContext.h>
-#include <OpenGL/CGLRenderers.h>
+#include <GL/glxint.h>
#include "apple_cgl.h"
#include "apple_visual.h"
#include "apple_glx.h"
#include "glcontextmodes.h"
+#include <OpenGL/CGLRenderers.h>
+
enum
{
MAX_ATTR = 60
diff --git a/src/glx/x11/glxcmds.c b/src/glx/x11/glxcmds.c
index 68cf7ef..847c035 100644
--- a/src/glx/x11/glxcmds.c
+++ b/src/glx/x11/glxcmds.c
@@ -41,6 +41,7 @@
#ifdef GLX_DIRECT_RENDERING
#ifdef GLX_USE_APPLEGL
#include "apple_glx_context.h"
+#include "apple_glx_drawable.h"
#include "apple_glx.h"
#include "glx_error.h"
#else
@@ -3236,7 +3237,7 @@ PUBLIC void (*glXGetProcAddressARB(const GLubyte * procName)) (void)
* internal API functions.
*/
#ifdef GLX_USE_APPLEGL
- f = (gl_function) apple_glx_get_proc_address(procName);
+ f = (gl_function) apple_glx_get_proc_address((const char *) procName);
#else
f = (gl_function) get_glx_proc_address((const char *) procName);
if ((f == NULL) && (procName[0] == 'g') && (procName[1] == 'l')
More information about the Xquartz-changes
mailing list