summaryrefslogtreecommitdiff
path: root/src/glx/apple
diff options
context:
space:
mode:
authorJeremy Huddleston <jeremyhu@apple.com>2010-04-12 18:37:47 -0700
committerJeremy Huddleston <jeremyhu@apple.com>2010-04-27 12:37:16 -0700
commita1cb3babbef2af222b839a058694acc82a7074f1 (patch)
treeaabd71a9c7b24c61816f759fd835dc2e1f4170ba /src/glx/apple
parentf64773010d0dd204177d08716565db69f6263e0f (diff)
Buildfixes to work around issues in OpenGL.framework
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Diffstat (limited to 'src/glx/apple')
-rw-r--r--src/glx/apple/apple_glx.h2
-rw-r--r--src/glx/apple/apple_glx_context.h12
-rw-r--r--src/glx/apple/apple_glx_drawable.h6
-rw-r--r--src/glx/apple/apple_glx_pbuffer.c23
-rw-r--r--src/glx/apple/apple_visual.c9
-rw-r--r--src/glx/apple/apple_xgl_api_read.c5
-rw-r--r--src/glx/apple/apple_xgl_api_read.h47
-rw-r--r--src/glx/apple/apple_xgl_api_stereo.c13
-rw-r--r--src/glx/apple/apple_xgl_api_stereo.h39
-rw-r--r--src/glx/apple/apple_xgl_api_viewport.c3
-rw-r--r--src/glx/apple/apple_xgl_api_viewport.h36
11 files changed, 60 insertions, 135 deletions
diff --git a/src/glx/apple/apple_glx.h b/src/glx/apple/apple_glx.h
index 3ee54aa6cfe..9b3643bf156 100644
--- a/src/glx/apple/apple_glx.h
+++ b/src/glx/apple/apple_glx.h
@@ -31,10 +31,10 @@
#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>
diff --git a/src/glx/apple/apple_glx_context.h b/src/glx/apple/apple_glx_context.h
index 7e2394f2bb6..c2a3e3fcf6f 100644
--- a/src/glx/apple/apple_glx_context.h
+++ b/src/glx/apple/apple_glx_context.h
@@ -29,11 +29,19 @@
#ifndef APPLE_GLX_CONTEXT_H
#define APPLE_GLX_CONTEXT_H
+/* <rdar://problem/6953344> */
+#define glTexImage1D glTexImage1D_OSX
+#define glTexImage2D glTexImage2D_OSX
+#define glTexImage3D glTexImage3D_OSX
+#include <OpenGL/CGLTypes.h>
+#include <OpenGL/CGLContext.h>
+#undef glTexImage1D
+#undef glTexImage2D
+#undef glTexImage3D
+
#include <stdbool.h>
#include <X11/Xlib.h>
#include <GL/glx.h>
-#include <OpenGL/CGLTypes.h>
-#include <OpenGL/CGLContext.h>
#define XP_NO_X_HEADERS
#include <Xplugin.h>
#undef XP_NO_X_HEADERS
diff --git a/src/glx/apple/apple_glx_drawable.h b/src/glx/apple/apple_glx_drawable.h
index a15858963dc..e49eae355e9 100644
--- a/src/glx/apple/apple_glx_drawable.h
+++ b/src/glx/apple/apple_glx_drawable.h
@@ -29,6 +29,11 @@
#ifndef APPLE_GLX_DRAWABLE_H
#define APPLE_GLX_DRAWABLE_H
+/* Must be first for:
+ * <rdar://problem/6953344>
+ */
+#include "apple_glx_context.h"
+
#include <pthread.h>
#include <stdbool.h>
#include <limits.h>
@@ -36,7 +41,6 @@
#define XP_NO_X_HEADERS
#include <Xplugin.h>
#undef XP_NO_X_HEADERS
-#include "apple_glx_context.h"
enum
{
diff --git a/src/glx/apple/apple_glx_pbuffer.c b/src/glx/apple/apple_glx_pbuffer.c
index fb56b7512e6..1466fea4874 100644
--- a/src/glx/apple/apple_glx_pbuffer.c
+++ b/src/glx/apple/apple_glx_pbuffer.c
@@ -27,16 +27,33 @@
prior written authorization.
*/
+/* Must be before OpenGL.framework is included. Remove once fixed:
+ * <rdar://problem/7872773>
+ */
+#include <GL/gl.h>
+#include <GL/glext.h>
+#define __gltypes_h_ 1
+
+/* Must be first for:
+ * <rdar://problem/6953344>
+ */
+#include "apple_glx_context.h"
+#include "apple_glx_drawable.h"
+
#include <stdlib.h>
#include <pthread.h>
#include <assert.h>
-#include <GL/glew.h>
#include "apple_glx.h"
#include "glcontextmodes.h"
-#include "apple_glx_context.h"
-#include "apple_glx_drawable.h"
#include "apple_cgl.h"
+/* mesa defines in glew.h, Apple in glext.h.
+ * Due to namespace nightmares, just do it here.
+ */
+#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/apple/apple_visual.c b/src/glx/apple/apple_visual.c
index e80914741e6..da5aa05fd50 100644
--- a/src/glx/apple/apple_visual.c
+++ b/src/glx/apple/apple_visual.c
@@ -32,9 +32,18 @@
#include <stdlib.h>
#include <assert.h>
#include <GL/gl.h>
+
+/* <rdar://problem/6953344> */
+#define glTexImage1D glTexImage1D_OSX
+#define glTexImage2D glTexImage2D_OSX
+#define glTexImage3D glTexImage3D_OSX
#include <OpenGL/OpenGL.h>
#include <OpenGL/CGLContext.h>
#include <OpenGL/CGLRenderers.h>
+#undef glTexImage1D
+#undef glTexImage2D
+#undef glTexImage3D
+
#include "apple_cgl.h"
#include "apple_visual.h"
#include "apple_glx.h"
diff --git a/src/glx/apple/apple_xgl_api_read.c b/src/glx/apple/apple_xgl_api_read.c
index 36357c7fc2e..0798f45bbfb 100644
--- a/src/glx/apple/apple_xgl_api_read.c
+++ b/src/glx/apple/apple_xgl_api_read.c
@@ -34,10 +34,9 @@
* drawable if they are different.
*/
#include <stdbool.h>
-#include "apple_xgl_api_read.h"
-#include "apple_xgl_api.h"
-#include "apple_cgl.h"
+#include "glxclient.h"
#include "apple_glx_context.h"
+#include "apple_xgl_api.h"
extern struct apple_xgl_api __gl_api;
diff --git a/src/glx/apple/apple_xgl_api_read.h b/src/glx/apple/apple_xgl_api_read.h
deleted file mode 100644
index ffeb32afb89..00000000000
--- a/src/glx/apple/apple_xgl_api_read.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- Copyright (c) 2008, 2009 Apple Inc.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation files
- (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge,
- publish, distribute, sublicense, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
- HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name(s) of the above
- copyright holders shall not be used in advertising or otherwise to
- promote the sale, use or other dealings in this Software without
- prior written authorization.
-*/
-
-/*
- * This file works with the glXMakeContextCurrent readable drawable.
- */
-#ifndef APPLE_XGL_API_READ_H
-#define APPLE_XGL_API_READ_H
-
-#include "glxclient.h"
-
-extern void glReadPixels(GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum format, GLenum type, void *pixels);
-
-extern void glCopyPixels(GLint x, GLint y, GLsizei width, GLsizei height,
- GLenum type);
-
-extern void glCopyColorTable(GLenum target, GLenum internalformat, GLint x,
- GLint y, GLsizei width);
-
-#endif
diff --git a/src/glx/apple/apple_xgl_api_stereo.c b/src/glx/apple/apple_xgl_api_stereo.c
index 7dd946f764e..64a15f74861 100644
--- a/src/glx/apple/apple_xgl_api_stereo.c
+++ b/src/glx/apple/apple_xgl_api_stereo.c
@@ -27,10 +27,19 @@
prior written authorization.
*/
+/* This should be removed once stereo hardware bugs are fixed
+ * <rdar://problem/6729006>
+ */
+
#include <stdbool.h>
-#include "apple_xgl_api_stereo.h"
-#include "apple_xgl_api.h"
+
+#define GL_GLEXT_PROTOTYPES
+#include <GL/gl.h>
+#include <GL/glext.h>
+
+#include "glxclient.h"
#include "apple_glx_context.h"
+#include "apple_xgl_api.h"
extern struct apple_xgl_api __gl_api;
/*
diff --git a/src/glx/apple/apple_xgl_api_stereo.h b/src/glx/apple/apple_xgl_api_stereo.h
deleted file mode 100644
index c285363f6ff..00000000000
--- a/src/glx/apple/apple_xgl_api_stereo.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- Copyright (c) 2009 Apple Inc.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation files
- (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge,
- publish, distribute, sublicense, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
- HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name(s) of the above
- copyright holders shall not be used in advertising or otherwise to
- promote the sale, use or other dealings in this Software without
- prior written authorization.
-*/
-
-#include "glxclient.h"
-
-#ifndef APPLE_XGL_API_STEREO_H
-#define APPLE_XGL_API_STEREO_H
-
-extern void glDrawBuffer(GLenum mode);
-extern void glDrawBuffers(GLsizei n, const GLenum * bufs);
-extern void glDrawBuffersARB(GLsizei n, const GLenum * bufs);
-
-#endif
diff --git a/src/glx/apple/apple_xgl_api_viewport.c b/src/glx/apple/apple_xgl_api_viewport.c
index f556eefa226..e39ab152235 100644
--- a/src/glx/apple/apple_xgl_api_viewport.c
+++ b/src/glx/apple/apple_xgl_api_viewport.c
@@ -26,9 +26,10 @@
promote the sale, use or other dealings in this Software without
prior written authorization.
*/
+
+#include "glxclient.h"
#include "apple_glx_context.h"
#include "apple_xgl_api.h"
-#include "apple_xgl_api_viewport.h"
extern struct apple_xgl_api __gl_api;
diff --git a/src/glx/apple/apple_xgl_api_viewport.h b/src/glx/apple/apple_xgl_api_viewport.h
deleted file mode 100644
index 6c89ca7998c..00000000000
--- a/src/glx/apple/apple_xgl_api_viewport.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- Copyright (c) 2009 Apple Inc.
-
- Permission is hereby granted, free of charge, to any person
- obtaining a copy of this software and associated documentation files
- (the "Software"), to deal in the Software without restriction,
- including without limitation the rights to use, copy, modify, merge,
- publish, distribute, sublicense, and/or sell copies of the Software,
- and to permit persons to whom the Software is furnished to do so,
- subject to the following conditions:
-
- The above copyright notice and this permission notice shall be
- included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- NONINFRINGEMENT. IN NO EVENT SHALL THE ABOVE LISTED COPYRIGHT
- HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- DEALINGS IN THE SOFTWARE.
-
- Except as contained in this notice, the name(s) of the above
- copyright holders shall not be used in advertising or otherwise to
- promote the sale, use or other dealings in this Software without
- prior written authorization.
-*/
-#ifndef APPLE_XGL_API_VIEWPORT_H
-#define APPLE_XGL_API_VIEWPORT_H
-
-#include "glxclient.h"
-
-void glViewport(GLint x, GLint y, GLsizei width, GLsizei height);
-
-#endif