williamr@2: /* williamr@2: ** Copyright (c) 2007-2009 The Khronos Group Inc. williamr@2: ** williamr@2: ** Permission is hereby granted, free of charge, to any person obtaining a williamr@2: ** copy of this software and/or associated documentation files (the williamr@2: ** "Materials"), to deal in the Materials without restriction, including williamr@2: ** without limitation the rights to use, copy, modify, merge, publish, williamr@2: ** distribute, sublicense, and/or sell copies of the Materials, and to williamr@2: ** permit persons to whom the Materials are furnished to do so, subject to williamr@2: ** the following conditions: williamr@2: ** williamr@2: ** The above copyright notice and this permission notice shall be included williamr@2: ** in all copies or substantial portions of the Materials. williamr@2: ** williamr@2: ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, williamr@2: ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF williamr@2: ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. williamr@2: ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY williamr@2: ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, williamr@2: ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE williamr@2: ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. williamr@2: */ williamr@2: williamr@2: #ifndef glextplatform_h williamr@2: #define glextplatform_h williamr@2: williamr@2: /** williamr@2: @publishedAll williamr@2: @released williamr@2: */ williamr@2: williamr@2: #ifdef __cplusplus williamr@2: extern "C" { williamr@2: #endif williamr@2: williamr@2: /* williamr@2: ** The following defines were in gl.h in OpenGL ES 1.0. To keep backwards williamr@2: ** compatibility they are defined in this file which is always included at williamr@2: ** the end of gl.h. Undefine guard definitions as required to enable williamr@2: ** OpenGL ES 1.1 glext.h functionality. williamr@2: ** williamr@2: ** We have also added __SOFTFP decorations for call-by-value float functions williamr@2: */ williamr@2: williamr@2: /* Renamed for OpenGL ES 1.1 */ williamr@2: williamr@2: #define GL_WRITE_ONLY 0x88B9 williamr@2: #define GL_BUFFER_ACCESS 0x88BB williamr@2: williamr@2: williamr@2: /* Removed for OpenGL ES 1.1 */ williamr@2: williamr@2: /* OpenGL ES core versions */ williamr@2: #define GL_OES_VERSION_1_0 1 williamr@2: #define GL_OES_VERSION_1_1 1 williamr@2: williamr@2: /* BeginMode */ williamr@2: #define GL_MAX_ELEMENTS_VERTICES 0x80E8 williamr@2: #define GL_MAX_ELEMENTS_INDICES 0x80E9 williamr@2: williamr@2: /* HintTarget */ williamr@2: #define GL_POLYGON_SMOOTH_HINT 0x0C53 williamr@2: williamr@2: williamr@2: /* Moved from gl.h to glext.h (optional header) for OpenGL ES 1.1 */ williamr@2: williamr@2: /* GL_OES_byte_coordinates */ williamr@2: #define GL_OES_byte_coordinates 1 williamr@2: williamr@2: /* GL_OES_draw_texture */ williamr@2: #define GL_OES_draw_texture 1 williamr@2: #define GL_TEXTURE_CROP_RECT_OES 0x8B9D williamr@2: GL_API void GL_APIENTRY glDrawTexsOES (GLshort x, GLshort y, GLshort z, GLshort width, GLshort height); williamr@2: GL_API void GL_APIENTRY glDrawTexiOES (GLint x, GLint y, GLint z, GLint width, GLint height); williamr@2: GL_API void GL_APIENTRY glDrawTexxOES (GLfixed x, GLfixed y, GLfixed z, GLfixed width, GLfixed height); williamr@2: GL_API void GL_APIENTRY glDrawTexsvOES (const GLshort *coords); williamr@2: GL_API void GL_APIENTRY glDrawTexivOES (const GLint *coords); williamr@2: GL_API void GL_APIENTRY glDrawTexxvOES (const GLfixed *coords); williamr@2: GL_API void GL_APIENTRY glDrawTexfOES (GLfloat x, GLfloat y, GLfloat z, GLfloat width, GLfloat height) __SOFTFP; williamr@2: GL_API void GL_APIENTRY glDrawTexfvOES (const GLfloat *coords); williamr@2: williamr@2: /* GL_OES_fixed_point */ williamr@2: #define GL_OES_fixed_point 1 williamr@2: williamr@2: /* GL_OES_single_precision */ williamr@2: #define GL_OES_single_precision 1 williamr@2: williamr@2: /* OES_matrix_get */ williamr@2: #define GL_OES_matrix_get 1 williamr@2: #define GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES 0x898D williamr@2: #define GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES 0x898E williamr@2: #define GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES 0x898F williamr@2: williamr@2: /* OES_matrix_palette */ williamr@2: #define GL_OES_matrix_palette 1 williamr@2: #define GL_MAX_VERTEX_UNITS_OES 0x86A4 williamr@2: #define GL_MAX_PALETTE_MATRICES_OES 0x8842 williamr@2: #define GL_MATRIX_PALETTE_OES 0x8840 williamr@2: #define GL_MATRIX_INDEX_ARRAY_OES 0x8844 williamr@2: #define GL_WEIGHT_ARRAY_OES 0x86AD williamr@2: #define GL_CURRENT_PALETTE_MATRIX_OES 0x8843 williamr@2: #define GL_MATRIX_INDEX_ARRAY_SIZE_OES 0x8846 williamr@2: #define GL_MATRIX_INDEX_ARRAY_TYPE_OES 0x8847 williamr@2: #define GL_MATRIX_INDEX_ARRAY_STRIDE_OES 0x8848 williamr@2: #define GL_MATRIX_INDEX_ARRAY_POINTER_OES 0x8849 williamr@2: #define GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES 0x8B9E williamr@2: #define GL_WEIGHT_ARRAY_SIZE_OES 0x86AB williamr@2: #define GL_WEIGHT_ARRAY_TYPE_OES 0x86A9 williamr@2: #define GL_WEIGHT_ARRAY_STRIDE_OES 0x86AA williamr@2: #define GL_WEIGHT_ARRAY_POINTER_OES 0x86AC williamr@2: #define GL_WEIGHT_ARRAY_BUFFER_BINDING_OES 0x889E williamr@2: GL_API void GL_APIENTRY glCurrentPaletteMatrixOES (GLuint matrixpaletteindex); williamr@2: GL_API void GL_APIENTRY glLoadPaletteFromModelViewMatrixOES (void); williamr@2: GL_API void GL_APIENTRY glMatrixIndexPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); williamr@2: GL_API void GL_APIENTRY glWeightPointerOES (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); williamr@2: williamr@2: williamr@2: GL_API GLbitfield GL_APIENTRY glQueryMatrixxOES (GLfixed mantissa[16], GLint exponent[16]); williamr@2: williamr@2: #ifdef __cplusplus williamr@2: } williamr@2: #endif williamr@2: williamr@2: #endif /* glextplatform_h */