Buildfixes to work around issues in OpenGL.framework
authorJeremy Huddleston <jeremyhu@apple.com>
Tue, 13 Apr 2010 01:37:47 +0000 (18:37 -0700)
committerJeremy Huddleston <jeremyhu@apple.com>
Tue, 27 Apr 2010 19:37:16 +0000 (12:37 -0700)
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
src/glx/apple/apple_glx.h
src/glx/apple/apple_glx_context.h
src/glx/apple/apple_glx_drawable.h
src/glx/apple/apple_glx_pbuffer.c
src/glx/apple/apple_visual.c
src/glx/apple/apple_xgl_api_read.c
src/glx/apple/apple_xgl_api_read.h [deleted file]
src/glx/apple/apple_xgl_api_stereo.c
src/glx/apple/apple_xgl_api_stereo.h [deleted file]
src/glx/apple/apple_xgl_api_viewport.c
src/glx/apple/apple_xgl_api_viewport.h [deleted file]

index 3ee54aa6cfe87853efb84b92f990dd4599fd725c..9b3643bf1566e58a45cc33aac84378c7a8ea2333 100644 (file)
 #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>
 
index 7e2394f2bb606ef460a9b598341d1546d61eac20..c2a3e3fcf6f74521bc289cd6d334ac9e21495e03 100644 (file)
 #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
index a15858963dc0df3f379232d14c7ac3738f9b7966..e49eae355e93d742391b847602a1d4346a260bcd 100644 (file)
 #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
 {
index fb56b7512e622bafdb29110214d359777b463af1..1466fea48742c5133a3aa8576a48d202c305fad1 100644 (file)
  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);
 
index e80914741e662282268ac82d0b4a48709549ef71..da5aa05fd50dc6ada54079d2dc62ca0031f18c07 100644 (file)
 #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"
index 36357c7fc2e8bec144fc58f7de7b79a8b6c3e4b1..0798f45bbfb8a7d18a43f4858af6a3edfb7c8999 100644 (file)
  * 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 (file)
index ffeb32a..0000000
+++ /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
index 7dd946f764e1e2c52e399a751a17ddb737a35d47..64a15f748611352273395d809f1f6acc431aed65 100644 (file)
  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 (file)
index c285363..0000000
+++ /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
index f556eefa2266038be582e8059360d0e6cbb9db86..e39ab152235fdc8a631853991becad2fe91bb039 100644 (file)
  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 (file)
index 6c89ca7..0000000
+++ /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