| /* |
| * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. |
| * Copyright (C) 2009 Apple Inc. All Rights Reserved. |
| * |
| * 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 |
| * BRIAN PAUL 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. |
| */ |
| |
| #ifndef __X_GL_H |
| #define __X_GL_H |
| |
| /* The following macros exist to address conflicts between the names given to |
| * function pointers by the MESA API and OpenGL.framework's API. |
| */ |
| @CGL_MESA_COMPAT_MACROS@ |
| |
| /* On SL, we want to use OpelGL.framework's headers to get both prototypes and |
| * function pointers (like Mesa's API), but on Leo and before, OpenGL.framework |
| * can't give us both. |
| */ |
| |
| #ifdef GL_GLEXT_FUNCTION_POINTERS |
| #define _GL_GLEXT_FUNCTION_POINTERS GL_GLEXT_FUNCTION_POINTERS |
| #undef GL_GLEXT_FUNCTION_POINTERS |
| #endif |
| |
| #ifdef GL_GLEXT_PROTOTYPES |
| #define _GL_GLEXT_PROTOTYPES GL_GLEXT_PROTOTYPES |
| #else |
| #define GL_GLEXT_PROTOTYPES 1 |
| #endif |
| |
| /* Our glext.h is based on a version from the registry that is newer. */ |
| #ifdef GL_GLEXT_LEGACY |
| #define _GL_GLEXT_LEGACY GL_GLEXT_LEGACY |
| #else |
| #define GL_GLEXT_LEGACY 1 |
| #endif |
| |
| #include "/System/Library/Frameworks/OpenGL.framework/Headers/gl.h" |
| |
| /* These are not set by the system gl.h */ |
| #define GL_VERSION_1_2_DEPRECATED 1 |
| #define GL_VERSION_1_3_DEPRECATED 1 |
| #define GL_VERSION_1_4_DEPRECATED 1 |
| |
| /* Restore our GLEXT-fu */ |
| #ifdef _GL_GLEXT_FUNCTION_POINTERS |
| #define GL_GLEXT_FUNCTION_POINTERS _GL_GLEXT_FUNCTION_POINTERS |
| #undef _GL_GLEXT_FUNCTION_POINTERS |
| #endif |
| |
| #ifdef _GL_GLEXT_PROTOTYPES |
| #undef _GL_GLEXT_PROTOTYPES |
| #else |
| #undef GL_GLEXT_PROTOTYPES |
| #endif |
| |
| #ifdef _GL_GLEXT_LEGACY |
| #undef _GL_GLEXT_LEGACY |
| #else |
| #undef GL_GLEXT_LEGACY |
| #endif |
| |
| @CGL_MESA_FUNCTION_POINTERS@ |
| |
| #ifndef GL_GLEXT_LEGACY |
| #include <GL/glext.h> |
| #endif |
| |
| /* |
| * This is needed for building apple_glx_pbuffer.c, the latest |
| * glext.h from the registry lacks it, so it's from the Leopard glext.h: |
| */ |
| #ifndef GL_TEXTURE_RECTANGLE_EXT |
| #define GL_TEXTURE_RECTANGLE_EXT 0x84F5 |
| #endif |
| |
| /* This is needed for building the X server: */ |
| /* |
| * GL_MESA_packed_depth_stencil |
| */ |
| #ifndef GL_MESA_packed_depth_stencil |
| #define GL_MESA_packed_depth_stencil 1 |
| |
| #define GL_DEPTH_STENCIL_MESA 0x8750 |
| #define GL_UNSIGNED_INT_24_8_MESA 0x8751 |
| #define GL_UNSIGNED_INT_8_24_REV_MESA 0x8752 |
| #define GL_UNSIGNED_SHORT_15_1_MESA 0x8753 |
| #define GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754 |
| |
| #endif /* GL_MESA_packed_depth_stencil */ |
| |
| /* Various other OS projects expect to get these macros from Mesa's gl.h */ |
| #ifndef GLAPI |
| #define GLAPI extern |
| #endif |
| |
| #ifndef GLAPIENTRY |
| #define GLAPIENTRY |
| #endif |
| |
| #ifndef APIENTRY |
| #define APIENTRY GLAPIENTRY |
| #endif |
| |
| /* "P" suffix to be used for a pointer to a function */ |
| #ifndef APIENTRYP |
| #define APIENTRYP APIENTRY * |
| #endif |
| |
| #ifndef GLAPIENTRYP |
| #define GLAPIENTRYP GLAPIENTRY * |
| #endif |
| |
| #endif /*__X_GL_H*/ |