williamr@4: #ifndef __gl2ext_h_ williamr@4: #define __gl2ext_h_ williamr@4: williamr@4: /* williamr@4: * portions Copyright (c) 2008 - 2009 Nokia Corporation. All rights reserved. williamr@4: * Differences from the actual sample implementation provided by Khronos: williamr@4: * 1. This comment text. williamr@4: * 2. Doxygen comment with tag 'publishedAll', and tag 'released' williamr@4: */ williamr@4: williamr@4: /** williamr@4: @publishedAll williamr@4: @released williamr@4: */ williamr@4: williamr@4: /* $Id: gl2ext.h 4571 2007-11-28 16:33:30Z benj $ */ williamr@4: williamr@4: #ifdef __cplusplus williamr@4: extern "C" { williamr@4: #endif williamr@4: williamr@4: /* williamr@4: ** SGI FREE SOFTWARE LICENSE B (Version 2.0, Sept. 18, 2008) williamr@4: ** Copyright (C) 2008 Silicon Graphics, Inc. All Rights Reserved. williamr@4: ** williamr@4: ** Permission is hereby granted, free of charge, to any person obtaining williamr@4: ** a copy of this software and associated documentation files williamr@4: ** (the "Software"), to deal in the Software without restriction, williamr@4: ** including without limitation the rights to use, copy, modify, merge, williamr@4: ** publish, distribute, sublicense, and/or sell copies of the Software, williamr@4: ** and to permit persons to whom the Software is furnished to do so, williamr@4: ** subject to the following conditions: williamr@4: ** williamr@4: ** The above copyright notice including the dates of first williamr@4: ** publication and either this permission notice or a reference to williamr@4: ** http://oss.sgi.com/projects/FreeB/ shall be included in all copies williamr@4: ** or substantial portions of the Software. williamr@4: ** williamr@4: ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, williamr@4: ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF williamr@4: ** MERCHANTABILITY,FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. williamr@4: ** IN NO EVENT SHALL SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, williamr@4: ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR williamr@4: ** OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR williamr@4: ** THE USE OR OTHER DEALINGS IN THE SOFTWARE. williamr@4: ** williamr@4: ** Except as contained in this notice, the name of Silicon Graphics, Inc. williamr@4: ** shall not be used in advertising or otherwise to promote the sale, use williamr@4: ** or other dealings in this Software without prior written authorization williamr@4: ** from Silicon Graphics, Inc. williamr@4: */ williamr@4: williamr@4: #ifndef GL_APIENTRYP williamr@4: # define GL_APIENTRYP GL_APIENTRY* williamr@4: #endif williamr@4: williamr@4: /*------------------------------------------------------------------------* williamr@4: * OES extension tokens williamr@4: *------------------------------------------------------------------------*/ williamr@4: williamr@4: /* GL_OES_compressed_ETC1_RGB8_texture */ williamr@4: #ifndef GL_OES_compressed_ETC1_RGB8_texture williamr@4: #define GL_ETC1_RGB8_OES 0x8D64 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_compressed_paletted_texture */ williamr@4: #ifndef GL_OES_compressed_paletted_texture williamr@4: #define GL_PALETTE4_RGB8_OES 0x8B90 williamr@4: #define GL_PALETTE4_RGBA8_OES 0x8B91 williamr@4: #define GL_PALETTE4_R5_G6_B5_OES 0x8B92 williamr@4: #define GL_PALETTE4_RGBA4_OES 0x8B93 williamr@4: #define GL_PALETTE4_RGB5_A1_OES 0x8B94 williamr@4: #define GL_PALETTE8_RGB8_OES 0x8B95 williamr@4: #define GL_PALETTE8_RGBA8_OES 0x8B96 williamr@4: #define GL_PALETTE8_R5_G6_B5_OES 0x8B97 williamr@4: #define GL_PALETTE8_RGBA4_OES 0x8B98 williamr@4: #define GL_PALETTE8_RGB5_A1_OES 0x8B99 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_EGL_image */ williamr@4: #ifndef GL_OES_EGL_image williamr@4: typedef void* GLeglImageOES; williamr@4: #endif williamr@4: williamr@4: /* GL_OES_depth24 */ williamr@4: #ifndef GL_OES_depth24 williamr@4: #define GL_DEPTH_COMPONENT24_OES 0x81A6 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_depth32 */ williamr@4: #ifndef GL_OES_depth32 williamr@4: #define GL_DEPTH_COMPONENT32_OES 0x81A7 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_mapbuffer */ williamr@4: #ifndef GL_OES_mapbuffer williamr@4: /* GL_READ_ONLY and GL_READ_WRITE not supported */ williamr@4: #define GL_WRITE_ONLY_OES 0x88B9 williamr@4: #define GL_BUFFER_ACCESS_OES 0x88BB williamr@4: #define GL_BUFFER_MAPPED_OES 0x88BC williamr@4: #define GL_BUFFER_MAP_POINTER_OES 0x88BD williamr@4: #endif williamr@4: williamr@4: /* GL_OES_rgb8_rgba8 */ williamr@4: #ifndef GL_OES_rgb8_rgba8 williamr@4: #define GL_RGB8_OES 0x8051 williamr@4: #define GL_RGBA8_OES 0x8058 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_stencil1 */ williamr@4: #ifndef GL_OES_stencil1 williamr@4: #define GL_STENCIL_INDEX1_OES 0x8D46 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_stencil4 */ williamr@4: #ifndef GL_OES_stencil4 williamr@4: #define GL_STENCIL_INDEX4_OES 0x8D47 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_texture3D */ williamr@4: #ifndef GL_OES_texture3D williamr@4: #define GL_TEXTURE_WRAP_R_OES 0x8072 williamr@4: #define GL_TEXTURE_3D_OES 0x806F williamr@4: #define GL_TEXTURE_BINDING_3D_OES 0x806A williamr@4: #define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 williamr@4: #define GL_SAMPLER_3D_OES 0x8B5F williamr@4: #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_texture_half_float */ williamr@4: #ifndef GL_OES_texture_half_float williamr@4: #define GL_HALF_FLOAT_OES 0x8D61 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_vertex_half_float */ williamr@4: /* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ williamr@4: williamr@4: /* GL_AMD_compressed_3DC_texture */ williamr@4: #ifndef GL_AMD_compressed_3DC_texture williamr@4: #define GL_3DC_X_AMD 0x87F9 williamr@4: #define GL_3DC_XY_AMD 0x87FA williamr@4: #endif williamr@4: williamr@4: /* GL_AMD_compressed_ATC_texture */ williamr@4: #ifndef GL_AMD_compressed_ATC_texture williamr@4: #define GL_ATC_RGB_AMD 0x8C92 williamr@4: #define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 williamr@4: #define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE williamr@4: #endif williamr@4: williamr@4: /* GL_EXT_texture_filter_anisotropic */ williamr@4: #ifndef GL_EXT_texture_filter_anisotropic williamr@4: #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE williamr@4: #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF williamr@4: #endif williamr@4: williamr@4: /*------------------------------------------------------------------------* williamr@4: * OES extension functions williamr@4: *------------------------------------------------------------------------*/ williamr@4: williamr@4: /* GL_OES_compressed_ETC1_RGB8_texture */ williamr@4: #ifndef GL_OES_compressed_ETC1_RGB8_texture williamr@4: #define GL_OES_compressed_ETC1_RGB8_texture 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_compressed_paletted_texture */ williamr@4: #ifndef GL_OES_compressed_paletted_texture williamr@4: #define GL_OES_compressed_paletted_texture 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_EGL_image */ williamr@4: #ifndef GL_OES_EGL_image williamr@4: #define GL_OES_EGL_image 1 williamr@4: #ifdef GL_GLEXT_PROTOTYPES williamr@4: GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); williamr@4: GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); williamr@4: #endif williamr@4: typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); williamr@4: typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); williamr@4: #endif williamr@4: williamr@4: /* GL_OES_depth24 */ williamr@4: #ifndef GL_OES_depth24 williamr@4: #define GL_OES_depth24 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_depth32 */ williamr@4: #ifndef GL_OES_depth32 williamr@4: #define GL_OES_depth32 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_element_index_uint */ williamr@4: #ifndef GL_OES_element_index_uint williamr@4: #define GL_OES_element_index_uint 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_fbo_render_mipmap */ williamr@4: #ifndef GL_OES_fbo_render_mipmap williamr@4: #define GL_OES_fbo_render_mipmap 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_fragment_precision_high */ williamr@4: #ifndef GL_OES_fragment_precision_high williamr@4: #define GL_OES_fragment_precision_high 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_mapbuffer */ williamr@4: #ifndef GL_OES_mapbuffer williamr@4: #define GL_OES_mapbuffer 1 williamr@4: #ifdef GL_GLEXT_PROTOTYPES williamr@4: GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); williamr@4: GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); williamr@4: GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void** params); williamr@4: #endif williamr@4: typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); williamr@4: typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); williamr@4: typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void** params); williamr@4: #endif williamr@4: williamr@4: /* GL_OES_rgb8_rgba8 */ williamr@4: #ifndef GL_OES_rgb8_rgba8 williamr@4: #define GL_OES_rgb8_rgba8 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_stencil1 */ williamr@4: #ifndef GL_OES_stencil1 williamr@4: #define GL_OES_stencil1 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_stencil4 */ williamr@4: #ifndef GL_OES_stencil4 williamr@4: #define GL_OES_stencil4 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_texture_3D */ williamr@4: #ifndef GL_OES_texture_3D williamr@4: #define GL_OES_texture_3D 1 williamr@4: #ifdef GL_GLEXT_PROTOTYPES williamr@4: GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void* pixels); williamr@4: GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels); williamr@4: GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); williamr@4: GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); williamr@4: GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data); williamr@4: GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); williamr@4: #endif williamr@4: typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); williamr@4: typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void* pixels); williamr@4: typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); williamr@4: typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void* data); williamr@4: typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void* data); williamr@4: typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOES) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); williamr@4: #endif williamr@4: williamr@4: /* GL_OES_texture_float_linear */ williamr@4: #ifndef GL_OES_texture_float_linear williamr@4: #define GL_OES_texture_float_linear 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_texture_half_float_linear */ williamr@4: #ifndef GL_OES_texture_half_float_linear williamr@4: #define GL_OES_texture_half_float_linear 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_texture_float */ williamr@4: #ifndef GL_OES_texture_float williamr@4: #define GL_OES_texture_float 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_texture_half_float */ williamr@4: #ifndef GL_OES_texture_half_float williamr@4: #define GL_OES_texture_half_float 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_texture_npot */ williamr@4: #ifndef GL_OES_texture_npot williamr@4: #define GL_OES_texture_npot 1 williamr@4: #endif williamr@4: williamr@4: /* GL_OES_vertex_half_float */ williamr@4: #ifndef GL_OES_vertex_half_float williamr@4: #define GL_OES_vertex_half_float 1 williamr@4: #endif williamr@4: williamr@4: /* GL_AMD_compressed_3DC_texture */ williamr@4: #ifndef GL_AMD_compressed_3DC_texture williamr@4: #define GL_AMD_compressed_3DC_texture 1 williamr@4: #endif williamr@4: williamr@4: /* GL_AMD_compressed_ATC_texture */ williamr@4: #ifndef GL_AMD_compressed_ATC_texture williamr@4: #define GL_AMD_compressed_ATC_texture 1 williamr@4: #endif williamr@4: williamr@4: /* GL_EXT_texture_filter_anisotropic */ williamr@4: #ifndef GL_EXT_texture_filter_anisotropic williamr@4: #define GL_EXT_texture_filter_anisotropic 1 williamr@4: #endif williamr@4: williamr@4: #ifdef __cplusplus williamr@4: } williamr@4: #endif williamr@4: williamr@4: #endif /* __gl2ext_h_ */