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