[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