From a1cb3babbef2af222b839a058694acc82a7074f1 Mon Sep 17 00:00:00 2001 From: Jeremy Huddleston Date: Mon, 12 Apr 2010 18:37:47 -0700 Subject: [PATCH] Buildfixes to work around issues in OpenGL.framework Signed-off-by: Jeremy Huddleston --- src/glx/apple/apple_glx.h | 2 +- src/glx/apple/apple_glx_context.h | 12 +++++-- src/glx/apple/apple_glx_drawable.h | 6 +++- src/glx/apple/apple_glx_pbuffer.c | 23 +++++++++++-- src/glx/apple/apple_visual.c | 9 +++++ src/glx/apple/apple_xgl_api_read.c | 5 ++- src/glx/apple/apple_xgl_api_read.h | 47 -------------------------- src/glx/apple/apple_xgl_api_stereo.c | 13 +++++-- src/glx/apple/apple_xgl_api_stereo.h | 39 --------------------- src/glx/apple/apple_xgl_api_viewport.c | 3 +- src/glx/apple/apple_xgl_api_viewport.h | 36 -------------------- 11 files changed, 60 insertions(+), 135 deletions(-) delete mode 100644 src/glx/apple/apple_xgl_api_read.h delete mode 100644 src/glx/apple/apple_xgl_api_stereo.h delete mode 100644 src/glx/apple/apple_xgl_api_viewport.h 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 -#include #include #include #include + #define XP_NO_X_HEADERS #include 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 +/* */ +#define glTexImage1D glTexImage1D_OSX +#define glTexImage2D glTexImage2D_OSX +#define glTexImage3D glTexImage3D_OSX +#include +#include +#undef glTexImage1D +#undef glTexImage2D +#undef glTexImage3D + #include #include #include -#include -#include #define XP_NO_X_HEADERS #include #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: + * + */ +#include "apple_glx_context.h" + #include #include #include @@ -36,7 +41,6 @@ #define XP_NO_X_HEADERS #include #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: + * + */ +#include +#include +#define __gltypes_h_ 1 + +/* Must be first for: + * + */ +#include "apple_glx_context.h" +#include "apple_glx_drawable.h" + #include #include #include -#include #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 #include #include + +/* */ +#define glTexImage1D glTexImage1D_OSX +#define glTexImage2D glTexImage2D_OSX +#define glTexImage3D glTexImage3D_OSX #include #include #include +#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 -#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 + * + */ + #include -#include "apple_xgl_api_stereo.h" -#include "apple_xgl_api.h" + +#define GL_GLEXT_PROTOTYPES +#include +#include + +#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 -- 2.30.2