diff options
Diffstat (limited to 'src/mesa/main')
68 files changed, 4684 insertions, 3900 deletions
diff --git a/src/mesa/main/api_loopback.c b/src/mesa/main/api_loopback.c index 924d7134a27..0e3f5ff9570 100644 --- a/src/mesa/main/api_loopback.c +++ b/src/mesa/main/api_loopback.c @@ -31,7 +31,6 @@ #include "glheader.h" #include "macros.h" -#include "colormac.h" #include "api_loopback.h" #include "mtypes.h" #include "glapi/glapi.h" diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c index 2eb96ae3f4e..bbc5933ab9f 100644 --- a/src/mesa/main/api_validate.c +++ b/src/mesa/main/api_validate.c @@ -1,6 +1,6 @@ /* * Mesa 3-D graphics library - * Version: 7.0.1 + * Version: 7.1 * * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. * @@ -30,6 +30,55 @@ #include "state.h" +/** + * Find the max index in the given element/index buffer + */ +static GLuint +max_buffer_index(GLcontext *ctx, GLuint count, GLenum type, + const void *indices, + struct gl_buffer_object *elementBuf) +{ + const GLubyte *map = NULL; + GLuint max = 0; + GLint i; + + if (elementBuf->Name) { + /* elements are in a user-defined buffer object. need to map it */ + map = ctx->Driver.MapBuffer(ctx, + GL_ELEMENT_ARRAY_BUFFER_ARB, + GL_READ_ONLY, + elementBuf); + /* Actual address is the sum of pointers */ + indices = (const GLvoid *) ADD_POINTERS(map, (const GLubyte *) indices); + } + + if (type == GL_UNSIGNED_INT) { + for (i = 0; i < count; i++) + if (((GLuint *) indices)[i] > max) + max = ((GLuint *) indices)[i]; + } + else if (type == GL_UNSIGNED_SHORT) { + for (i = 0; i < count; i++) + if (((GLushort *) indices)[i] > max) + max = ((GLushort *) indices)[i]; + } + else { + ASSERT(type == GL_UNSIGNED_BYTE); + for (i = 0; i < count; i++) + if (((GLubyte *) indices)[i] > max) + max = ((GLubyte *) indices)[i]; + } + + if (map) { + ctx->Driver.UnmapBuffer(ctx, + GL_ELEMENT_ARRAY_BUFFER_ARB, + ctx->Array.ElementArrayBufferObj); + } + + return max; +} + + GLboolean _mesa_validate_DrawElements(GLcontext *ctx, GLenum mode, GLsizei count, GLenum type, @@ -67,16 +116,15 @@ _mesa_validate_DrawElements(GLcontext *ctx, /* Vertex buffer object tests */ if (ctx->Array.ElementArrayBufferObj->Name) { + /* use indices in the buffer object */ GLuint indexBytes; - /* use indices in the buffer object */ if (!ctx->Array.ElementArrayBufferObj->Size) { _mesa_warning(ctx, "glDrawElements called with empty array elements buffer"); return GL_FALSE; } - /* make sure count doesn't go outside buffer bounds */ if (type == GL_UNSIGNED_INT) { indexBytes = count * sizeof(GLuint); } @@ -88,6 +136,7 @@ _mesa_validate_DrawElements(GLcontext *ctx, indexBytes = count * sizeof(GLushort); } + /* make sure count doesn't go outside buffer bounds */ if (indexBytes > (GLuint) ctx->Array.ElementArrayBufferObj->Size) { _mesa_warning(ctx, "glDrawElements index out of buffer bounds"); return GL_FALSE; @@ -101,39 +150,8 @@ _mesa_validate_DrawElements(GLcontext *ctx, if (ctx->Const.CheckArrayBounds) { /* find max array index */ - const GLubyte *map; - GLuint max = 0; - GLint i; - - map = ctx->Driver.MapBuffer(ctx, - GL_ELEMENT_ARRAY_BUFFER_ARB, - GL_READ_ONLY, - ctx->Array.ElementArrayBufferObj); - - /* Actual address is the sum of pointers */ - indices = (const GLvoid *) ADD_POINTERS(map, (const GLubyte *) indices); - - if (type == GL_UNSIGNED_INT) { - for (i = 0; i < count; i++) - if (((GLuint *) indices)[i] > max) - max = ((GLuint *) indices)[i]; - } - else if (type == GL_UNSIGNED_SHORT) { - for (i = 0; i < count; i++) - if (((GLushort *) indices)[i] > max) - max = ((GLushort *) indices)[i]; - } - else { - ASSERT(type == GL_UNSIGNED_BYTE); - for (i = 0; i < count; i++) - if (((GLubyte *) indices)[i] > max) - max = ((GLubyte *) indices)[i]; - } - - ctx->Driver.UnmapBuffer(ctx, - GL_ELEMENT_ARRAY_BUFFER_ARB, - ctx->Array.ElementArrayBufferObj); - + GLuint max = max_buffer_index(ctx, count, type, indices, + ctx->Array.ElementArrayBufferObj); if (max >= ctx->Array._MaxElement) { /* the max element is out of bounds of one or more enabled arrays */ return GL_FALSE; @@ -186,36 +204,35 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode, /* Vertex buffer object tests */ if (ctx->Array.ElementArrayBufferObj->Name) { - /* XXX re-use code from above? */ + /* use indices in the buffer object */ + GLuint indexBytes; + + if (type == GL_UNSIGNED_INT) { + indexBytes = count * sizeof(GLuint); + } + else if (type == GL_UNSIGNED_BYTE) { + indexBytes = count * sizeof(GLubyte); + } + else { + ASSERT(type == GL_UNSIGNED_SHORT); + indexBytes = count * sizeof(GLushort); + } + + /* make sure count doesn't go outside buffer bounds */ + if (indexBytes > ctx->Array.ElementArrayBufferObj->Size) { + _mesa_warning(ctx, "glDrawRangeElements index out of buffer bounds"); + return GL_FALSE; + } } else { - /* not using VBO */ + /* not using a VBO */ if (!indices) return GL_FALSE; } if (ctx->Const.CheckArrayBounds) { - /* Find max array index. - * We don't trust the user's start and end values. - */ - GLuint max = 0; - GLint i; - if (type == GL_UNSIGNED_INT) { - for (i = 0; i < count; i++) - if (((GLuint *) indices)[i] > max) - max = ((GLuint *) indices)[i]; - } - else if (type == GL_UNSIGNED_SHORT) { - for (i = 0; i < count; i++) - if (((GLushort *) indices)[i] > max) - max = ((GLushort *) indices)[i]; - } - else { - ASSERT(type == GL_UNSIGNED_BYTE); - for (i = 0; i < count; i++) - if (((GLubyte *) indices)[i] > max) - max = ((GLubyte *) indices)[i]; - } + GLuint max = max_buffer_index(ctx, count, type, indices, + ctx->Array.ElementArrayBufferObj); if (max >= ctx->Array._MaxElement) { /* the max element is out of bounds of one or more enabled arrays */ return GL_FALSE; @@ -236,8 +253,9 @@ _mesa_validate_DrawArrays(GLcontext *ctx, { ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE); - if (count < 0) { - _mesa_error(ctx, GL_INVALID_VALUE, "glDrawArrays(count)" ); + if (count <= 0) { + if (count < 0) + _mesa_error(ctx, GL_INVALID_VALUE, "glDrawArrays(count)" ); return GL_FALSE; } diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c index 7179fba3db3..dc85da2518f 100644 --- a/src/mesa/main/attrib.c +++ b/src/mesa/main/attrib.c @@ -53,9 +53,27 @@ #include "texobj.h" #include "texparam.h" #include "texstate.h" +#include "varray.h" #include "mtypes.h" #include "math/m_xform.h" +/** + * Special struct for saving/restoring texture state (GL_TEXTURE_BIT) + */ +struct texture_state +{ + struct gl_texture_attrib Texture; /**< The usual context state */ + + /** to save per texture object state (wrap modes, filters, etc): */ + struct gl_texture_object SavedObj[MAX_TEXTURE_UNITS][NUM_TEXTURE_TARGETS]; + + /** + * To save references to texture objects (so they don't get accidentally + * deleted while saved in the attribute stack). + */ + struct gl_texture_object *SavedTexRef[MAX_TEXTURE_UNITS][NUM_TEXTURE_TARGETS]; +}; + /** * Allocate a new attribute state node. These nodes have a @@ -345,47 +363,61 @@ _mesa_PushAttrib(GLbitfield mask) } if (mask & GL_TEXTURE_BIT) { - struct gl_texture_attrib *attr; + struct texture_state *texstate = CALLOC_STRUCT(texture_state); GLuint u; + if (!texstate) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glPushAttrib(GL_TEXTURE_BIT)"); + goto end; + } + _mesa_lock_context_textures(ctx); - /* Bump the texture object reference counts so that they don't - * inadvertantly get deleted. + + /* copy/save the bulk of texture state here */ + _mesa_memcpy(&texstate->Texture, &ctx->Texture, sizeof(ctx->Texture)); + + /* Save references to the currently bound texture objects so they don't + * accidentally get deleted while referenced in the attribute stack. */ for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - ctx->Texture.Unit[u].Current1D->RefCount++; - ctx->Texture.Unit[u].Current2D->RefCount++; - ctx->Texture.Unit[u].Current3D->RefCount++; - ctx->Texture.Unit[u].CurrentCubeMap->RefCount++; - ctx->Texture.Unit[u].CurrentRect->RefCount++; - ctx->Texture.Unit[u].Current1DArray->RefCount++; - ctx->Texture.Unit[u].Current2DArray->RefCount++; + _mesa_reference_texobj(&texstate->SavedTexRef[u][TEXTURE_1D_INDEX], + ctx->Texture.Unit[u].Current1D); + _mesa_reference_texobj(&texstate->SavedTexRef[u][TEXTURE_2D_INDEX], + ctx->Texture.Unit[u].Current2D); + _mesa_reference_texobj(&texstate->SavedTexRef[u][TEXTURE_3D_INDEX], + ctx->Texture.Unit[u].Current3D); + _mesa_reference_texobj(&texstate->SavedTexRef[u][TEXTURE_CUBE_INDEX], + ctx->Texture.Unit[u].CurrentCubeMap); + _mesa_reference_texobj(&texstate->SavedTexRef[u][TEXTURE_RECT_INDEX], + ctx->Texture.Unit[u].CurrentRect); + _mesa_reference_texobj(&texstate->SavedTexRef[u][TEXTURE_1D_ARRAY_INDEX], + ctx->Texture.Unit[u].Current1DArray); + _mesa_reference_texobj(&texstate->SavedTexRef[u][TEXTURE_2D_ARRAY_INDEX], + ctx->Texture.Unit[u].Current2DArray); } - attr = MALLOC_STRUCT( gl_texture_attrib ); - MEMCPY( attr, &ctx->Texture, sizeof(struct gl_texture_attrib) ); - /* copy state of the currently bound texture objects */ + /* copy state/contents of the currently bound texture objects */ for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - _mesa_copy_texture_object(&attr->Unit[u].Saved1D, - attr->Unit[u].Current1D); - _mesa_copy_texture_object(&attr->Unit[u].Saved2D, - attr->Unit[u].Current2D); - _mesa_copy_texture_object(&attr->Unit[u].Saved3D, - attr->Unit[u].Current3D); - _mesa_copy_texture_object(&attr->Unit[u].SavedCubeMap, - attr->Unit[u].CurrentCubeMap); - _mesa_copy_texture_object(&attr->Unit[u].SavedRect, - attr->Unit[u].CurrentRect); - _mesa_copy_texture_object(&attr->Unit[u].Saved1DArray, - attr->Unit[u].Current1DArray); - _mesa_copy_texture_object(&attr->Unit[u].Saved2DArray, - attr->Unit[u].Current2DArray); + _mesa_copy_texture_object(&texstate->SavedObj[u][TEXTURE_1D_INDEX], + ctx->Texture.Unit[u].Current1D); + _mesa_copy_texture_object(&texstate->SavedObj[u][TEXTURE_2D_INDEX], + ctx->Texture.Unit[u].Current2D); + _mesa_copy_texture_object(&texstate->SavedObj[u][TEXTURE_3D_INDEX], + ctx->Texture.Unit[u].Current3D); + _mesa_copy_texture_object(&texstate->SavedObj[u][TEXTURE_CUBE_INDEX], + ctx->Texture.Unit[u].CurrentCubeMap); + _mesa_copy_texture_object(&texstate->SavedObj[u][TEXTURE_RECT_INDEX], + ctx->Texture.Unit[u].CurrentRect); + _mesa_copy_texture_object(&texstate->SavedObj[u][TEXTURE_1D_ARRAY_INDEX], + ctx->Texture.Unit[u].Current1DArray); + _mesa_copy_texture_object(&texstate->SavedObj[u][TEXTURE_2D_ARRAY_INDEX], + ctx->Texture.Unit[u].Current2DArray); } _mesa_unlock_context_textures(ctx); newnode = new_attrib_node( GL_TEXTURE_BIT ); - newnode->data = attr; + newnode->data = texstate; newnode->next = head; head = newnode; } @@ -421,6 +453,7 @@ _mesa_PushAttrib(GLbitfield mask) head = newnode; } +end: ctx->AttribStack[ctx->AttribStackDepth] = head; ctx->AttribStackDepth++; } @@ -630,14 +663,19 @@ pop_enable_group(GLcontext *ctx, const struct gl_enable_attrib *enable) } +/** + * Pop/restore texture attribute/group state. + */ static void -pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib) +pop_texture_group(GLcontext *ctx, struct texture_state *texstate) { GLuint u; + _mesa_lock_context_textures(ctx); + for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - const struct gl_texture_unit *unit = &texAttrib->Unit[u]; - GLuint i; + const struct gl_texture_unit *unit = &texstate->Texture.Unit[u]; + GLuint tgt; _mesa_ActiveTextureARB(GL_TEXTURE0_ARB + u); _mesa_set_enable(ctx, GL_TEXTURE_1D, @@ -730,53 +768,33 @@ pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib) 1 << unit->Combine.ScaleShiftA); } - /* Restore texture object state */ - for (i = 0; i < NUM_TEXTURE_TARGETS; i++) { - GLenum target = 0; + /* Restore texture object state for each target */ + for (tgt = 0; tgt < NUM_TEXTURE_TARGETS; tgt++) { const struct gl_texture_object *obj = NULL; GLfloat bordColor[4]; + GLenum target; - switch (i) { - case 0: - target = GL_TEXTURE_1D; - obj = &unit->Saved1D; - break; - case 1: - target = GL_TEXTURE_2D; - obj = &unit->Saved2D; - break; - case 2: - target = GL_TEXTURE_3D; - obj = &unit->Saved3D; - break; - case 3: - if (!ctx->Extensions.ARB_texture_cube_map) - continue; - target = GL_TEXTURE_CUBE_MAP_ARB; - obj = &unit->SavedCubeMap; - break; - case 4: - if (!ctx->Extensions.NV_texture_rectangle) - continue; - target = GL_TEXTURE_RECTANGLE_NV; - obj = &unit->SavedRect; - break; - case 5: - if (!ctx->Extensions.MESA_texture_array) - continue; - target = GL_TEXTURE_1D_ARRAY_EXT; - obj = &unit->Saved1DArray; - break; - case 6: - if (!ctx->Extensions.MESA_texture_array) - continue; - target = GL_TEXTURE_2D_ARRAY_EXT; - obj = &unit->Saved2DArray; - break; - default: - ; /* silence warnings */ + obj = &texstate->SavedObj[u][tgt]; + + /* don't restore state for unsupported targets to prevent + * raising GL errors. + */ + if (obj->Target == GL_TEXTURE_CUBE_MAP_ARB && + !ctx->Extensions.ARB_texture_cube_map) { + continue; + } + else if (obj->Target == GL_TEXTURE_RECTANGLE_NV && + !ctx->Extensions.NV_texture_rectangle) { + continue; + } + else if ((obj->Target == GL_TEXTURE_1D_ARRAY_EXT || + obj->Target == GL_TEXTURE_2D_ARRAY_EXT) && + !ctx->Extensions.MESA_texture_array) { + continue; } + target = obj->Target; + _mesa_BindTexture(target, obj->Name); bordColor[0] = CHAN_TO_FLOAT(obj->BorderColor[0]); @@ -784,8 +802,8 @@ pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib) bordColor[2] = CHAN_TO_FLOAT(obj->BorderColor[2]); bordColor[3] = CHAN_TO_FLOAT(obj->BorderColor[3]); - _mesa_TexParameterf(target, GL_TEXTURE_PRIORITY, obj->Priority); _mesa_TexParameterfv(target, GL_TEXTURE_BORDER_COLOR, bordColor); + _mesa_TexParameterf(target, GL_TEXTURE_PRIORITY, obj->Priority); _mesa_TexParameteri(target, GL_TEXTURE_WRAP_S, obj->WrapS); _mesa_TexParameteri(target, GL_TEXTURE_WRAP_T, obj->WrapT); _mesa_TexParameteri(target, GL_TEXTURE_WRAP_R, obj->WrapR); @@ -811,25 +829,17 @@ pop_texture_group(GLcontext *ctx, const struct gl_texture_attrib *texAttrib) _mesa_TexParameterf(target, GL_SHADOW_AMBIENT_SGIX, obj->ShadowAmbient); } + } + /* remove saved references to the texture objects */ + for (tgt = 0; tgt < NUM_TEXTURE_TARGETS; tgt++) { + _mesa_reference_texobj(&texstate->SavedTexRef[u][tgt], NULL); } } - _mesa_ActiveTextureARB(GL_TEXTURE0_ARB - + texAttrib->CurrentUnit); - /* "un-bump" the texture object reference counts. We did that so they - * wouldn't inadvertantly get deleted while they were still referenced - * inside the attribute state stack. - */ - for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { - ctx->Texture.Unit[u].Current1D->RefCount--; - ctx->Texture.Unit[u].Current2D->RefCount--; - ctx->Texture.Unit[u].Current3D->RefCount--; - ctx->Texture.Unit[u].CurrentCubeMap->RefCount--; - ctx->Texture.Unit[u].CurrentRect->RefCount--; - ctx->Texture.Unit[u].Current1DArray->RefCount--; - ctx->Texture.Unit[u].Current2DArray->RefCount--; - } + _mesa_ActiveTextureARB(GL_TEXTURE0_ARB + texstate->Texture.CurrentUnit); + + _mesa_unlock_context_textures(ctx); } @@ -1098,8 +1108,9 @@ _mesa_PopAttrib(void) (GLint) point->CoordReplace[u]); } _mesa_set_enable(ctx, GL_POINT_SPRITE_NV,point->PointSprite); - _mesa_PointParameteri(GL_POINT_SPRITE_R_MODE_NV, - ctx->Point.SpriteRMode); + if (ctx->Extensions.NV_point_sprite) + _mesa_PointParameteri(GL_POINT_SPRITE_R_MODE_NV, + ctx->Point.SpriteRMode); _mesa_PointParameterf(GL_POINT_SPRITE_COORD_ORIGIN, (GLfloat)ctx->Point.SpriteOrigin); } @@ -1208,9 +1219,9 @@ _mesa_PopAttrib(void) case GL_TEXTURE_BIT: /* Take care of texture object reference counters */ { - const struct gl_texture_attrib *texture; - texture = (const struct gl_texture_attrib *) attr->data; - pop_texture_group(ctx, texture); + struct texture_state *texstate + = (struct texture_state *) attr->data; + pop_texture_group(ctx, texstate); ctx->NewState |= _NEW_TEXTURE; } break; @@ -1409,8 +1420,10 @@ _mesa_PopClientAttrib(void) adjust_buffer_object_ref_counts(&ctx->Array, -1); ctx->Array.ActiveTexture = data->ActiveTexture; - ctx->Array.LockFirst = data->LockFirst; - ctx->Array.LockCount = data->LockCount; + if (data->LockCount != 0) + _mesa_LockArraysEXT(data->LockFirst, data->LockCount); + else if (ctx->Array.LockCount) + _mesa_UnlockArraysEXT(); _mesa_BindVertexArrayAPPLE( data->ArrayObj->Name ); @@ -1447,6 +1460,42 @@ _mesa_PopClientAttrib(void) } +/** + * Free any attribute state data that might be attached to the context. + */ +void +_mesa_free_attrib_data(GLcontext *ctx) +{ + while (ctx->AttribStackDepth > 0) { + struct gl_attrib_node *attr, *next; + + ctx->AttribStackDepth--; + attr = ctx->AttribStack[ctx->AttribStackDepth]; + + while (attr) { + if (attr->kind == GL_TEXTURE_BIT) { + struct texture_state *texstate = (struct texture_state*)attr->data; + GLuint u, tgt; + /* clear references to the saved texture objects */ + for (u = 0; u < ctx->Const.MaxTextureUnits; u++) { + for (tgt = 0; tgt < NUM_TEXTURE_TARGETS; tgt++) { + _mesa_reference_texobj(&texstate->SavedTexRef[u][tgt], NULL); + } + } + } + else { + /* any other chunks of state that requires special handling? */ + } + + next = attr->next; + _mesa_free(attr->data); + _mesa_free(attr); + attr = next; + } + } +} + + void _mesa_init_attrib( GLcontext *ctx ) { /* Renderer and client attribute stacks */ diff --git a/src/mesa/main/attrib.h b/src/mesa/main/attrib.h index 09d75196b23..2cf8fe69345 100644 --- a/src/mesa/main/attrib.h +++ b/src/mesa/main/attrib.h @@ -1,18 +1,8 @@ -/** - * \file attrib.h - * Attribute stacks. - * - * \if subset - * (No-op) - * - * \endif - */ - /* * Mesa 3-D graphics library - * Version: 5.1 + * Version: 7.1 * - * Copyright (C) 1999-2003 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 Brian Paul 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"), @@ -32,8 +22,6 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ - - #ifndef ATTRIB_H #define ATTRIB_H @@ -58,10 +46,14 @@ _mesa_PopClientAttrib( void ); extern void _mesa_init_attrib( GLcontext *ctx ); +extern void +_mesa_free_attrib_data( GLcontext *ctx ); + #else /** No-op */ #define _mesa_init_attrib( c ) ((void)0) +#define _mesa_free_attrib_data( c ) ((void)0) #endif diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c index 4d4a8971419..39cf6153e28 100644 --- a/src/mesa/main/blend.c +++ b/src/mesa/main/blend.c @@ -31,7 +31,6 @@ #include "glheader.h" #include "blend.h" -#include "colormac.h" #include "context.h" #include "enums.h" #include "macros.h" diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c index dd4ac4679e2..190e6ab5641 100644 --- a/src/mesa/main/bufferobj.c +++ b/src/mesa/main/bufferobj.c @@ -446,6 +446,89 @@ _mesa_init_buffer_objects( GLcontext *ctx ) ctx->Array.ElementArrayBufferObj = ctx->Array.NullBufferObj; } +/** + * Bind the specified target to buffer for the specified context. + */ +static void +bind_buffer_object(GLcontext *ctx, GLenum target, GLuint buffer) +{ + struct gl_buffer_object *oldBufObj; + struct gl_buffer_object *newBufObj = NULL; + struct gl_buffer_object **bindTarget = NULL; + + switch (target) { + case GL_ARRAY_BUFFER_ARB: + bindTarget = &ctx->Array.ArrayBufferObj; + break; + case GL_ELEMENT_ARRAY_BUFFER_ARB: + bindTarget = &ctx->Array.ElementArrayBufferObj; + break; + case GL_PIXEL_PACK_BUFFER_EXT: + bindTarget = &ctx->Pack.BufferObj; + break; + case GL_PIXEL_UNPACK_BUFFER_EXT: + bindTarget = &ctx->Unpack.BufferObj; + break; + default: + _mesa_error(ctx, GL_INVALID_ENUM, "glBindBufferARB(target)"); + return; + } + + /* Get pointer to old buffer object (to be unbound) */ + oldBufObj = get_buffer(ctx, target); + if (oldBufObj && oldBufObj->Name == buffer) + return; /* rebinding the same buffer object- no change */ + + /* + * Get pointer to new buffer object (newBufObj) + */ + if (buffer == 0) { + /* The spec says there's not a buffer object named 0, but we use + * one internally because it simplifies things. + */ + newBufObj = ctx->Array.NullBufferObj; + } + else { + /* non-default buffer object */ + newBufObj = _mesa_lookup_bufferobj(ctx, buffer); + if (!newBufObj) { + /* if this is a new buffer object id, allocate a buffer object now */ + ASSERT(ctx->Driver.NewBufferObject); + newBufObj = ctx->Driver.NewBufferObject(ctx, buffer, target); + if (!newBufObj) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBindBufferARB"); + return; + } + _mesa_HashInsert(ctx->Shared->BufferObjects, buffer, newBufObj); + } + } + + /* bind new buffer */ + _mesa_reference_buffer_object(ctx, bindTarget, newBufObj); + + /* Pass BindBuffer call to device driver */ + if (ctx->Driver.BindBuffer && newBufObj) + ctx->Driver.BindBuffer( ctx, target, newBufObj ); +} + + +/** + * Update the default buffer objects in the given context to reference those + * specified in the shared state and release those referencing the old + * shared state. + */ +void +_mesa_update_default_objects_buffer_objects(GLcontext *ctx) +{ + /* Bind the NullBufferObj to remove references to those + * in the shared context hash table. + */ + bind_buffer_object( ctx, GL_ARRAY_BUFFER_ARB, 0); + bind_buffer_object( ctx, GL_ELEMENT_ARRAY_BUFFER_ARB, 0); + bind_buffer_object( ctx, GL_PIXEL_PACK_BUFFER_ARB, 0); + bind_buffer_object( ctx, GL_PIXEL_UNPACK_BUFFER_ARB, 0); +} + /** * When we're about to read pixel data out of a PBO (via glDrawPixels, @@ -684,64 +767,9 @@ void GLAPIENTRY _mesa_BindBufferARB(GLenum target, GLuint buffer) { GET_CURRENT_CONTEXT(ctx); - struct gl_buffer_object *oldBufObj; - struct gl_buffer_object *newBufObj = NULL; - struct gl_buffer_object **bindTarget = NULL; ASSERT_OUTSIDE_BEGIN_END(ctx); - switch (target) { - case GL_ARRAY_BUFFER_ARB: - bindTarget = &ctx->Array.ArrayBufferObj; - break; - case GL_ELEMENT_ARRAY_BUFFER_ARB: - bindTarget = &ctx->Array.ElementArrayBufferObj; - break; - case GL_PIXEL_PACK_BUFFER_EXT: - bindTarget = &ctx->Pack.BufferObj; - break; - case GL_PIXEL_UNPACK_BUFFER_EXT: - bindTarget = &ctx->Unpack.BufferObj; - break; - default: - _mesa_error(ctx, GL_INVALID_ENUM, "glBindBufferARB(target)"); - return; - } - - /* Get pointer to old buffer object (to be unbound) */ - oldBufObj = get_buffer(ctx, target); - if (oldBufObj && oldBufObj->Name == buffer) - return; /* rebinding the same buffer object- no change */ - - /* - * Get pointer to new buffer object (newBufObj) - */ - if (buffer == 0) { - /* The spec says there's not a buffer object named 0, but we use - * one internally because it simplifies things. - */ - newBufObj = ctx->Array.NullBufferObj; - } - else { - /* non-default buffer object */ - newBufObj = _mesa_lookup_bufferobj(ctx, buffer); - if (!newBufObj) { - /* if this is a new buffer object id, allocate a buffer object now */ - ASSERT(ctx->Driver.NewBufferObject); - newBufObj = ctx->Driver.NewBufferObject(ctx, buffer, target); - if (!newBufObj) { - _mesa_error(ctx, GL_OUT_OF_MEMORY, "glBindBufferARB"); - return; - } - _mesa_HashInsert(ctx->Shared->BufferObjects, buffer, newBufObj); - } - } - - /* bind new buffer */ - _mesa_reference_buffer_object(ctx, bindTarget, newBufObj); - - /* Pass BindBuffer call to device driver */ - if (ctx->Driver.BindBuffer && newBufObj) - ctx->Driver.BindBuffer( ctx, target, newBufObj ); + bind_buffer_object(ctx, target, buffer); } @@ -801,7 +829,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids) _mesa_BindBufferARB( GL_PIXEL_UNPACK_BUFFER_EXT, 0 ); } - /* The ID is immediately freed for re-use */ + /* The ID is immediately freed for re-use */ _mesa_HashRemove(ctx->Shared->BufferObjects, bufObj->Name); _mesa_reference_buffer_object(ctx, &bufObj, NULL); } diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h index 2f908c5c35d..3c08f0083cf 100644 --- a/src/mesa/main/bufferobj.h +++ b/src/mesa/main/bufferobj.h @@ -38,6 +38,9 @@ extern void _mesa_init_buffer_objects( GLcontext *ctx ); +extern void +_mesa_update_default_objects_buffer_objects(GLcontext *ctx); + extern struct gl_buffer_object * _mesa_new_buffer_object( GLcontext *ctx, GLuint name, GLenum target ); @@ -103,7 +106,6 @@ extern void _mesa_unmap_drawpix_pbo(GLcontext *ctx, const struct gl_pixelstore_attrib *unpack); - extern void * _mesa_map_readpix_pbo(GLcontext *ctx, const struct gl_pixelstore_attrib *pack, diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c index 1d07c68633c..5dd85de272a 100644 --- a/src/mesa/main/buffers.c +++ b/src/mesa/main/buffers.c @@ -133,6 +133,14 @@ draw_buffer_enum_to_bitmask(GLenum buffer) return BUFFER_BIT_COLOR2; case GL_COLOR_ATTACHMENT3_EXT: return BUFFER_BIT_COLOR3; + case GL_COLOR_ATTACHMENT4_EXT: + return BUFFER_BIT_COLOR4; + case GL_COLOR_ATTACHMENT5_EXT: + return BUFFER_BIT_COLOR5; + case GL_COLOR_ATTACHMENT6_EXT: + return BUFFER_BIT_COLOR6; + case GL_COLOR_ATTACHMENT7_EXT: + return BUFFER_BIT_COLOR7; default: /* error */ return BAD_MASK; @@ -182,6 +190,14 @@ read_buffer_enum_to_index(GLenum buffer) return BUFFER_COLOR2; case GL_COLOR_ATTACHMENT3_EXT: return BUFFER_COLOR3; + case GL_COLOR_ATTACHMENT4_EXT: + return BUFFER_COLOR4; + case GL_COLOR_ATTACHMENT5_EXT: + return BUFFER_COLOR5; + case GL_COLOR_ATTACHMENT6_EXT: + return BUFFER_COLOR6; + case GL_COLOR_ATTACHMENT7_EXT: + return BUFFER_COLOR7; default: /* error */ return -1; @@ -196,6 +212,20 @@ read_buffer_enum_to_index(GLenum buffer) * \sa _mesa_DrawBuffersARB * * \param buffer buffer token such as GL_LEFT or GL_FRONT_AND_BACK, etc. + * + * Note that the behaviour of this function depends on whether the + * current ctx->DrawBuffer is a window-system framebuffer (Name=0) or + * a user-created framebuffer object (Name!=0). + * In the former case, we update the per-context ctx->Color.DrawBuffer + * state var _and_ the FB's ColorDrawBuffer state. + * In the later case, we update the FB's ColorDrawBuffer state only. + * + * Furthermore, upon a MakeCurrent() or BindFramebuffer() call, if the + * new FB is a window system FB, we need to re-update the FB's + * ColorDrawBuffer state to match the context. This is handled in + * _mesa_update_framebuffer(). + * + * See the GL_EXT_framebuffer_object spec for more info. */ void GLAPIENTRY _mesa_DrawBuffer(GLenum buffer) @@ -315,45 +345,16 @@ _mesa_DrawBuffersARB(GLsizei n, const GLenum *buffers) /** - * Set color output state. Traditionally, there was only one color - * output, but fragment programs can now have several distinct color - * outputs (see GL_ARB_draw_buffers). This function sets the state - * for one such color output. - * \param ctx current context - * \param output which fragment program output - * \param buffer buffer to write to (like GL_LEFT) - * \param destMask BUFFER_* bitmask - * (like BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT). - */ -static void -set_color_output(GLcontext *ctx, GLuint output, GLenum buffer, - GLbitfield destMask) -{ - struct gl_framebuffer *fb = ctx->DrawBuffer; - - ASSERT(output < ctx->Const.MaxDrawBuffers); - - /* Set per-FBO state */ - fb->ColorDrawBuffer[output] = buffer; - fb->_ColorDrawBufferMask[output] = destMask; - /* not really needed, will be set later */ - fb->_NumColorDrawBuffers[output] = 0; - - if (fb->Name == 0) - /* Set traditional state var */ - ctx->Color.DrawBuffer[output] = buffer; -} - - -/** - * Helper routine used by _mesa_DrawBuffer, _mesa_DrawBuffersARB and - * other places (window fbo fixup) to set fbo (and the old ctx) fields. + * Helper function to set the GL_DRAW_BUFFER state in the context and + * current FBO. + * * All error checking will have been done prior to calling this function * so nothing should go wrong at this point. + * * \param ctx current context * \param n number of color outputs to set * \param buffers array[n] of colorbuffer names, like GL_LEFT. - * \param destMask array[n] of BUFFER_* bitmasks which correspond to the + * \param destMask array[n] of BUFFER_BIT_* bitmasks which correspond to the * colorbuffer names. (i.e. GL_FRONT_AND_BACK => * BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT). */ @@ -361,13 +362,13 @@ void _mesa_drawbuffers(GLcontext *ctx, GLuint n, const GLenum *buffers, const GLbitfield *destMask) { + struct gl_framebuffer *fb = ctx->DrawBuffer; GLbitfield mask[MAX_DRAW_BUFFERS]; - GLuint output; if (!destMask) { /* compute destMask values now */ - const GLbitfield supportedMask - = supported_buffer_bitmask(ctx, ctx->DrawBuffer); + const GLbitfield supportedMask = supported_buffer_bitmask(ctx, fb); + GLuint output; for (output = 0; output < n; output++) { mask[output] = draw_buffer_enum_to_bitmask(buffers[output]); ASSERT(mask[output] != BAD_MASK); @@ -376,56 +377,75 @@ _mesa_drawbuffers(GLcontext *ctx, GLuint n, const GLenum *buffers, destMask = mask; } - for (output = 0; output < n; output++) { - set_color_output(ctx, output, buffers[output], destMask[output]); + if (n == 1) { + GLuint buf, count = 0; + /* init to -1 to help catch errors */ + fb->_ColorDrawBufferIndexes[0] = -1; + for (buf = 0; buf < BUFFER_COUNT; buf++) { + if (destMask[0] & (1 << buf)) { + fb->_ColorDrawBufferIndexes[count] = buf; + count++; + } + } + fb->ColorDrawBuffer[0] = buffers[0]; + fb->_NumColorDrawBuffers = count; + } + else { + GLuint buf, count = 0; + for (buf = 0; buf < n; buf++ ) { + if (destMask[buf]) { + fb->_ColorDrawBufferIndexes[buf] = _mesa_ffs(destMask[buf]) - 1; + fb->ColorDrawBuffer[buf] = buffers[buf]; + count = buf + 1; + } + else { + fb->_ColorDrawBufferIndexes[buf] = -1; + } + } + /* set remaining outputs to -1 (GL_NONE) */ + while (buf < ctx->Const.MaxDrawBuffers) { + fb->_ColorDrawBufferIndexes[buf] = -1; + fb->ColorDrawBuffer[buf] = GL_NONE; + buf++; + } + fb->_NumColorDrawBuffers = count; } - /* set remaining color outputs to NONE */ - for (output = n; output < ctx->Const.MaxDrawBuffers; output++) { - set_color_output(ctx, output, GL_NONE, 0x0); + if (fb->Name == 0) { + /* also set context drawbuffer state */ + GLuint buf; + for (buf = 0; buf < ctx->Const.MaxDrawBuffers; buf++) { + ctx->Color.DrawBuffer[buf] = fb->ColorDrawBuffer[buf]; + } } ctx->NewState |= _NEW_BUFFERS; } -GLboolean -_mesa_readbuffer_update_fields(GLcontext *ctx, GLenum buffer) +/** + * Like \sa _mesa_drawbuffers(), this is a helper function for setting + * GL_READ_BUFFER state in the context and current FBO. + * \param ctx the rendering context + * \param buffer GL_FRONT, GL_BACK, GL_COLOR_ATTACHMENT0, etc. + * \param bufferIndex the numerical index corresponding to 'buffer' + */ +void +_mesa_readbuffer(GLcontext *ctx, GLenum buffer, GLint bufferIndex) { - struct gl_framebuffer *fb; - GLbitfield supportedMask; - GLint srcBuffer; - - fb = ctx->ReadBuffer; - - if (MESA_VERBOSE & VERBOSE_API) - _mesa_debug(ctx, "glReadBuffer %s\n", _mesa_lookup_enum_by_nr(buffer)); - - if (fb->Name > 0 && buffer == GL_NONE) { - /* This is legal for user-created framebuffer objects */ - srcBuffer = -1; - } - else { - /* general case / window-system framebuffer */ - srcBuffer = read_buffer_enum_to_index(buffer); - if (srcBuffer == -1) { - _mesa_error(ctx, GL_INVALID_ENUM, "glReadBuffer(buffer=0x%x)", buffer); - return GL_FALSE; - } - supportedMask = supported_buffer_bitmask(ctx, fb); - if (((1 << srcBuffer) & supportedMask) == 0) { - _mesa_error(ctx, GL_INVALID_OPERATION, "glReadBuffer(buffer=0x%x)", buffer); - return GL_FALSE; - } - } + struct gl_framebuffer *fb = ctx->ReadBuffer; if (fb->Name == 0) { + /* Only update the per-context READ_BUFFER state if we're bound to + * a window-system framebuffer. + */ ctx->Pixel.ReadBuffer = buffer; } + fb->ColorReadBuffer = buffer; - fb->_ColorReadBufferIndex = srcBuffer; + fb->_ColorReadBufferIndex = bufferIndex; - return GL_TRUE; + ctx->NewState |= _NEW_PIXEL; } @@ -437,15 +457,43 @@ _mesa_readbuffer_update_fields(GLcontext *ctx, GLenum buffer) void GLAPIENTRY _mesa_ReadBuffer(GLenum buffer) { + struct gl_framebuffer *fb; + GLbitfield supportedMask; + GLint srcBuffer; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(ctx, "glReadBuffer %s\n", _mesa_lookup_enum_by_nr(buffer)); - if (!_mesa_readbuffer_update_fields(ctx, buffer)) - return; + fb = ctx->ReadBuffer; + + if (MESA_VERBOSE & VERBOSE_API) + _mesa_debug(ctx, "glReadBuffer %s\n", _mesa_lookup_enum_by_nr(buffer)); + + if (fb->Name > 0 && buffer == GL_NONE) { + /* This is legal for user-created framebuffer objects */ + srcBuffer = -1; + } + else { + /* general case / window-system framebuffer */ + srcBuffer = read_buffer_enum_to_index(buffer); + if (srcBuffer == -1) { + _mesa_error(ctx, GL_INVALID_ENUM, + "glReadBuffer(buffer=0x%x)", buffer); + return; + } + supportedMask = supported_buffer_bitmask(ctx, fb); + if (((1 << srcBuffer) & supportedMask) == 0) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glReadBuffer(buffer=0x%x)", buffer); + return; + } + } + + /* OK, all error checking has been completed now */ + _mesa_readbuffer(ctx, buffer, srcBuffer); ctx->NewState |= _NEW_BUFFERS; /* diff --git a/src/mesa/main/buffers.h b/src/mesa/main/buffers.h index 53d5fb80d40..8a7e7b5c1f0 100644 --- a/src/mesa/main/buffers.h +++ b/src/mesa/main/buffers.h @@ -5,9 +5,9 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.1 * - * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 Brian Paul 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"), @@ -46,8 +46,8 @@ extern void _mesa_drawbuffers(GLcontext *ctx, GLuint n, const GLenum *buffers, const GLbitfield *destMask); -extern GLboolean -_mesa_readbuffer_update_fields(GLcontext *ctx, GLenum buffer); +extern void +_mesa_readbuffer(GLcontext *ctx, GLenum buffer, GLint bufferIndex); extern void GLAPIENTRY _mesa_ReadBuffer( GLenum mode ); diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c index 434685984d1..63388f42ee4 100644 --- a/src/mesa/main/clear.c +++ b/src/mesa/main/clear.c @@ -138,7 +138,9 @@ _mesa_Clear( GLbitfield mask ) return; } - if (ctx->DrawBuffer->Width == 0 || ctx->DrawBuffer->Height == 0) + if (ctx->DrawBuffer->Width == 0 || ctx->DrawBuffer->Height == 0 || + ctx->DrawBuffer->_Xmin >= ctx->DrawBuffer->_Xmax || + ctx->DrawBuffer->_Ymin >= ctx->DrawBuffer->_Ymax) return; if (ctx->RenderMode == GL_RENDER) { @@ -155,7 +157,10 @@ _mesa_Clear( GLbitfield mask ) */ bufferMask = 0; if (mask & GL_COLOR_BUFFER_BIT) { - bufferMask |= ctx->DrawBuffer->_ColorDrawBufferMask[0]; + GLuint i; + for (i = 0; i < ctx->DrawBuffer->_NumColorDrawBuffers; i++) { + bufferMask |= (1 << ctx->DrawBuffer->_ColorDrawBufferIndexes[i]); + } } if ((mask & GL_DEPTH_BUFFER_BIT) diff --git a/src/mesa/main/colormac.h b/src/mesa/main/colormac.h index a19521fc85b..a34bd2ed388 100644 --- a/src/mesa/main/colormac.h +++ b/src/mesa/main/colormac.h @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.1 + * Version: 7.3 * - * Copyright (C) 1999-2004 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2008 Brian Paul 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"), @@ -180,20 +180,20 @@ do { \ */ /*@{*/ -#define PACK_COLOR_8888( R, G, B, A ) \ - (((R) << 24) | ((G) << 16) | ((B) << 8) | (A)) +#define PACK_COLOR_8888( X, Y, Z, W ) \ + (((X) << 24) | ((Y) << 16) | ((Z) << 8) | (W)) -#define PACK_COLOR_8888_REV( R, G, B, A ) \ - (((A) << 24) | ((B) << 16) | ((G) << 8) | (R)) +#define PACK_COLOR_8888_REV( X, Y, Z, W ) \ + (((W) << 24) | ((Z) << 16) | ((Y) << 8) | (X)) -#define PACK_COLOR_888( R, G, B ) \ - (((R) << 16) | ((G) << 8) | (B)) +#define PACK_COLOR_888( X, Y, Z ) \ + (((X) << 16) | ((Y) << 8) | (Z)) -#define PACK_COLOR_565( R, G, B ) \ - ((((R) & 0xf8) << 8) | (((G) & 0xfc) << 3) | (((B) & 0xf8) >> 3)) +#define PACK_COLOR_565( X, Y, Z ) \ + ((((X) & 0xf8) << 8) | (((Y) & 0xfc) << 3) | (((Z) & 0xf8) >> 3)) -#define PACK_COLOR_565_REV( R, G, B ) \ - (((R) & 0xf8) | ((G) & 0xe0) >> 5 | (((G) & 0x1c) << 11) | (((B) & 0xf8) << 5)) +#define PACK_COLOR_565_REV( X, Y, Z ) \ + (((X) & 0xf8) | ((Y) & 0xe0) >> 5 | (((Y) & 0x1c) << 11) | (((Z) & 0xf8) << 5)) #define PACK_COLOR_1555( A, B, G, R ) \ ((((B) & 0xf8) << 7) | (((G) & 0xf8) << 2) | (((R) & 0xf8) >> 3) | \ diff --git a/src/mesa/main/colortab.c b/src/mesa/main/colortab.c index 97120398f9b..bd9cf438b4f 100644 --- a/src/mesa/main/colortab.c +++ b/src/mesa/main/colortab.c @@ -383,7 +383,7 @@ _mesa_ColorTable( GLenum target, GLenum internalFormat, return; } - if (width < 0 || (width != 0 && _mesa_bitcount(width) != 1)) { + if (width < 0 || (width != 0 && !_mesa_is_pow_two(width))) { /* error */ if (proxy) { table->Size = 0; diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h index 5e9a4f89394..e29964a1e86 100644 --- a/src/mesa/main/config.h +++ b/src/mesa/main/config.h @@ -191,6 +191,8 @@ #define MAX_UNIFORMS 128 /**< number of float components */ #define MAX_VARYING 8 /**< number of float[4] vectors */ #define MAX_SAMPLERS 8 +#define MAX_PROGRAM_INPUTS 32 +#define MAX_PROGRAM_OUTPUTS 32 /*@}*/ /** For GL_NV_vertex_program */ @@ -216,7 +218,7 @@ /** For GL_ARB_vertex_shader */ /*@{*/ #define MAX_VERTEX_ATTRIBS 16 -#define MAX_VERTEX_TEXTURE_IMAGE_UNITS 0 +#define MAX_VERTEX_TEXTURE_IMAGE_UNITS MAX_TEXTURE_UNITS #define MAX_COMBINED_TEXTURE_IMAGE_UNITS (MAX_TEXTURE_IMAGE_UNITS + MAX_VERTEX_TEXTURE_IMAGE_UNITS) /*@}*/ diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index e5ec35c77fd..61c0861cbd4 100644 --- a/src/mesa/main/context.c +++ b/src/mesa/main/context.c @@ -6,9 +6,9 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.1 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 Brian Paul 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"), @@ -809,7 +809,7 @@ _mesa_init_current(GLcontext *ctx) } /* redo special cases: */ - ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_WEIGHT], 1.0, 0.0, 0.0, 1.0 ); + ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_WEIGHT], 1.0, 0.0, 0.0, 0.0 ); ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_NORMAL], 0.0, 0.0, 1.0, 1.0 ); ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_COLOR0], 1.0, 1.0, 1.0, 1.0 ); ASSIGN_4V( ctx->Current.Attrib[VERT_ATTRIB_COLOR1], 0.0, 0.0, 0.0, 1.0 ); @@ -1063,7 +1063,6 @@ init_attrib_groups(GLcontext *ctx) /* Miscellaneous */ ctx->NewState = _NEW_ALL; ctx->ErrorValue = (GLenum) GL_NO_ERROR; - ctx->_Facing = 0; ctx->varying_vp_inputs = ~0; return GL_TRUE; @@ -1071,6 +1070,28 @@ init_attrib_groups(GLcontext *ctx) /** + * Update default objects in a GL context with respect to shared state. + * + * \param ctx GL context. + * + * Removes references to old default objects, (texture objects, program + * objects, etc.) and changes to reference those from the current shared + * state. + */ +static GLboolean +update_default_objects(GLcontext *ctx) +{ + assert(ctx); + + _mesa_update_default_objects_program(ctx); + _mesa_update_default_objects_texture(ctx); + _mesa_update_default_objects_buffer_objects(ctx); + + return GL_TRUE; +} + + +/** * This is the default function we plug into all dispatch table slots * This helps prevents a segfault when someone calls a GL function without * first checking if the extension's supported. @@ -1274,18 +1295,19 @@ _mesa_create_context(const GLvisual *visual, void _mesa_free_context_data( GLcontext *ctx ) { - /* if we're destroying the current context, unbind it first */ - if (ctx == _mesa_get_current_context()) { - _mesa_make_current(NULL, NULL, NULL); - } - else { - /* unreference WinSysDraw/Read buffers */ - _mesa_unreference_framebuffer(&ctx->WinSysDrawBuffer); - _mesa_unreference_framebuffer(&ctx->WinSysReadBuffer); - _mesa_unreference_framebuffer(&ctx->DrawBuffer); - _mesa_unreference_framebuffer(&ctx->ReadBuffer); + if (!_mesa_get_current_context()){ + /* No current context, but we may need one in order to delete + * texture objs, etc. So temporarily bind the context now. + */ + _mesa_make_current(ctx, NULL, NULL); } + /* unreference WinSysDraw/Read buffers */ + _mesa_unreference_framebuffer(&ctx->WinSysDrawBuffer); + _mesa_unreference_framebuffer(&ctx->WinSysReadBuffer); + _mesa_unreference_framebuffer(&ctx->DrawBuffer); + _mesa_unreference_framebuffer(&ctx->ReadBuffer); + _mesa_reference_vertprog(ctx, &ctx->VertexProgram.Current, NULL); _mesa_reference_vertprog(ctx, &ctx->VertexProgram._Current, NULL); _mesa_reference_vertprog(ctx, &ctx->VertexProgram._TnlProgram, NULL); @@ -1294,6 +1316,9 @@ _mesa_free_context_data( GLcontext *ctx ) _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, NULL); _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._TexEnvProgram, NULL); +#if FEATURE_attrib_stack + _mesa_free_attrib_data(ctx); +#endif _mesa_free_lighting_data( ctx ); #if FEATURE_evaluators _mesa_free_eval_data( ctx ); @@ -1331,6 +1356,11 @@ _mesa_free_context_data( GLcontext *ctx ) if (ctx->Extensions.String) _mesa_free((void *) ctx->Extensions.String); + + /* unbind the context if it's currently bound */ + if (ctx == _mesa_get_current_context()) { + _mesa_make_current(NULL, NULL, NULL); + } } @@ -1562,8 +1592,6 @@ void _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer, GLframebuffer *readBuffer ) { - GET_CURRENT_CONTEXT(oldCtx); - if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(newCtx, "_mesa_make_current()\n"); @@ -1588,13 +1616,6 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer, _glapi_set_context((void *) newCtx); ASSERT(_mesa_get_current_context() == newCtx); - if (oldCtx) { - _mesa_unreference_framebuffer(&oldCtx->WinSysDrawBuffer); - _mesa_unreference_framebuffer(&oldCtx->WinSysReadBuffer); - _mesa_unreference_framebuffer(&oldCtx->DrawBuffer); - _mesa_unreference_framebuffer(&oldCtx->ReadBuffer); - } - if (!newCtx) { _glapi_set_dispatch(NULL); /* none current */ } @@ -1614,10 +1635,12 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer, * or not bound to a user-created FBO. */ if (!newCtx->DrawBuffer || newCtx->DrawBuffer->Name == 0) { - /* fix up the fb fields - these will end up wrong otherwise - * if the DRIdrawable changes, and everything relies on them. - * This is a bit messy (same as needed in _mesa_BindFramebufferEXT) - */ + /* KW: merge conflict here, revisit. + */ + /* fix up the fb fields - these will end up wrong otherwise + * if the DRIdrawable changes, and everything relies on them. + * This is a bit messy (same as needed in _mesa_BindFramebufferEXT) + */ unsigned int i; GLenum buffers[MAX_DRAW_BUFFERS]; @@ -1631,9 +1654,11 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer, } if (!newCtx->ReadBuffer || newCtx->ReadBuffer->Name == 0) { _mesa_reference_framebuffer(&newCtx->ReadBuffer, readBuffer); - _mesa_readbuffer_update_fields(newCtx, newCtx->Pixel.ReadBuffer); } + /* XXX only set this flag if we're really changing the draw/read + * framebuffer bindings. + */ newCtx->NewState |= _NEW_BUFFERS; #if 1 @@ -1701,12 +1726,18 @@ GLboolean _mesa_share_state(GLcontext *ctx, GLcontext *ctxToShare) { if (ctx && ctxToShare && ctx->Shared && ctxToShare->Shared) { - ctx->Shared->RefCount--; - if (ctx->Shared->RefCount == 0) { - free_shared_state(ctx, ctx->Shared); - } + struct gl_shared_state *oldSharedState = ctx->Shared; + ctx->Shared = ctxToShare->Shared; ctx->Shared->RefCount++; + + update_default_objects(ctx); + + oldSharedState->RefCount--; + if (oldSharedState->RefCount == 0) { + free_shared_state(ctx, oldSharedState); + } + return GL_TRUE; } else { diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h index 9423b66a7d8..54f1af911d3 100644 --- a/src/mesa/main/context.h +++ b/src/mesa/main/context.h @@ -275,10 +275,12 @@ do { \ (((CTX)->Light.Enabled && \ (CTX)->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR) \ || (CTX)->Fog.ColorSumEnabled \ - || ((CTX)->VertexProgram._Enabled && \ - ((CTX)->VertexProgram.Current->Base.InputsRead & VERT_BIT_COLOR1)) \ - || ((CTX)->FragmentProgram._Enabled && \ - ((CTX)->FragmentProgram.Current->Base.InputsRead & FRAG_BIT_COL1)) \ + || ((CTX)->VertexProgram._Current && \ + ((CTX)->VertexProgram._Current != (CTX)->VertexProgram._TnlProgram) && \ + ((CTX)->VertexProgram._Current->Base.InputsRead & VERT_BIT_COLOR1)) \ + || ((CTX)->FragmentProgram._Current && \ + ((CTX)->FragmentProgram._Current != (CTX)->FragmentProgram._TexEnvProgram) && \ + ((CTX)->FragmentProgram._Current->Base.InputsRead & FRAG_BIT_COL1)) \ ) diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h index 7fb0a211d7a..ddb38030bf7 100644 --- a/src/mesa/main/dd.h +++ b/src/mesa/main/dd.h @@ -456,8 +456,8 @@ struct dd_function_table { */ void (*GetCompressedTexImage)(GLcontext *ctx, GLenum target, GLint level, GLvoid *img, - const struct gl_texture_object *texObj, - const struct gl_texture_image *texImage); + struct gl_texture_object *texObj, + struct gl_texture_image *texImage); /** * Called to query number of bytes of storage needed to store the @@ -504,6 +504,11 @@ struct dd_function_table { */ void (*FreeTexImageData)( GLcontext *ctx, struct gl_texture_image *tImage ); + /** Map texture image data into user space */ + void (*MapTexture)( GLcontext *ctx, struct gl_texture_object *tObj ); + /** Unmap texture images from user space */ + void (*UnmapTexture)( GLcontext *ctx, struct gl_texture_object *tObj ); + /** * Note: no context argument. This function doesn't initially look * like it belongs here, except that the driver is the only entity diff --git a/src/mesa/main/depthstencil.c b/src/mesa/main/depthstencil.c index d4990bb795f..9d208e2997d 100644 --- a/src/mesa/main/depthstencil.c +++ b/src/mesa/main/depthstencil.c @@ -213,7 +213,7 @@ put_values_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count, const void *values, const GLubyte *mask) { struct gl_renderbuffer *dsrb = z24rb->Wrapped; - const GLubyte *src = (const GLubyte *) values; + const GLuint *src = (const GLuint *) values; ASSERT(z24rb->DataType == GL_UNSIGNED_INT); ASSERT(dsrb->_ActualFormat == GL_DEPTH24_STENCIL8_EXT); ASSERT(dsrb->DataType == GL_UNSIGNED_INT_24_8_EXT); @@ -282,8 +282,8 @@ _mesa_new_z24_renderbuffer_wrapper(GLcontext *ctx, z24rb->RefCount = 1; z24rb->Width = dsrb->Width; z24rb->Height = dsrb->Height; - z24rb->InternalFormat = GL_DEPTH_COMPONENT24_ARB; - z24rb->_ActualFormat = GL_DEPTH_COMPONENT24_ARB; + z24rb->InternalFormat = GL_DEPTH_COMPONENT24; + z24rb->_ActualFormat = GL_DEPTH_COMPONENT24; z24rb->_BaseFormat = GL_DEPTH_COMPONENT; z24rb->DataType = GL_UNSIGNED_INT; z24rb->DepthBits = 24; diff --git a/src/mesa/main/descrip.mms b/src/mesa/main/descrip.mms new file mode 100644 index 00000000000..e49ec65d42d --- /dev/null +++ b/src/mesa/main/descrip.mms @@ -0,0 +1,258 @@ +# Makefile for core library for VMS +# contributed by Jouk Jansen [email protected] +# Last revision : 29 September 2008 + +.first + define gl [---.include.gl] + define math [-.math] + define shader [-.shader] + define glapi [-.glapi] + define main [-.main] + +.include [---]mms-config. + +##### MACROS ##### + +VPATH = RCS + +INCDIR = [---.include],[-.glapi],[-.shader] +LIBDIR = [---.lib] +CFLAGS = /include=($(INCDIR),[])/define=(PTHREADS=1)/name=(as_is,short)/float=ieee/ieee=denorm + +SOURCES =accum.c \ + api_arrayelt.c \ + api_exec.c \ + api_loopback.c \ + api_noop.c \ + api_validate.c \ + attrib.c \ + arrayobj.c \ + blend.c \ + bufferobj.c \ + buffers.c \ + clear.c \ + clip.c \ + colortab.c \ + context.c \ + convolve.c \ + debug.c \ + depth.c \ + depthstencil.c \ + dispatch.c \ + dlist.c \ + drawpix.c \ + enable.c \ + enums.c \ + eval.c \ + execmem.c \ + extensions.c \ + fbobject.c \ + feedback.c \ + ffvertex_prog.c \ + fog.c \ + framebuffer.c \ + get.c \ + getstring.c \ + hash.c \ + hint.c \ + histogram.c \ + image.c \ + imports.c \ + light.c \ + lines.c \ + matrix.c \ + mipmap.c \ + mm.c \ + multisample.c \ + pixel.c \ + pixelstore.c \ + points.c \ + polygon.c \ + rastpos.c \ + rbadaptors.c \ + readpix.c \ + renderbuffer.c \ + scissor.c \ + shaders.c \ + state.c \ + stencil.c \ + texcompress.c \ + texcompress_fxt1.c \ + texcompress_s3tc.c \ + texenv.c \ + texenvprogram.c \ + texformat.c \ + texgen.c \ + teximage.c \ + texobj.c \ + texparam.c \ + texrender.c \ + texstate.c \ + texstore.c \ + varray.c \ + vtxfmt.c \ + queryobj.c \ + rbadaptors.c + +OBJECTS=accum.obj,\ +api_arrayelt.obj,\ +api_exec.obj,\ +api_loopback.obj,\ +api_noop.obj,\ +api_validate.obj,\ +arrayobj.obj,\ +attrib.obj,\ +blend.obj,\ +bufferobj.obj,\ +buffers.obj,\ +clear.obj,\ +clip.obj,\ +colortab.obj,\ +context.obj,\ +convolve.obj,\ +debug.obj,\ +depth.obj,\ +depthstencil.obj,\ +dispatch.obj,\ +dlist.obj,\ +drawpix.obj,\ +enable.obj,\ +enums.obj,\ +eval.obj,\ +execmem.obj,\ +extensions.obj,\ +fbobject.obj,\ +feedback.obj,\ +ffvertex_prog.obj,\ +fog.obj,\ +framebuffer.obj,\ +get.obj,\ +getstring.obj,\ +hash.obj,\ +hint.obj,\ +histogram.obj,\ +image.obj,\ +imports.obj,\ +light.obj,\ +lines.obj,\ +matrix.obj,\ +mipmap.obj,\ +mm.obj,\ +multisample.obj,\ +pixel.obj,\ +pixelstore.obj,\ +points.obj,\ +polygon.obj,\ +rastpos.obj,\ +readpix.obj,\ +renderbuffer.obj,\ +scissor.obj,\ +shaders.obj,\ +state.obj,\ +stencil.obj,\ +texcompress.obj,\ +texcompress_fxt1.obj,\ +texcompress_s3tc.obj,\ +texenv.obj,\ +texenvprogram.obj,\ +texformat.obj,\ +texgen.obj,\ +teximage.obj,\ +texobj.obj,\ +texparam.obj,\ +texrender.obj,\ +texstate.obj,\ +texstore.obj,\ +varray.obj,\ +vtxfmt.obj,\ +queryobj.obj,\ +rbadaptors.obj + +##### RULES ##### + +VERSION=Mesa V3.4 + +##### TARGETS ##### +# Make the library +$(LIBDIR)$(GL_LIB) : $(OBJECTS) + @ $(MAKELIB) $(LIBDIR)$(GL_LIB) $(OBJECTS) + +clean : + purge + delete *.obj;* + +accum.obj : accum.c +api_arrayelt.obj : api_arrayelt.c +api_loopback.obj : api_loopback.c +api_noop.obj : api_noop.c +api_validate.obj : api_validate.c +arrayobj.obj : arrayobj.c +attrib.obj : attrib.c +blend.obj : blend.c +bufferobj.obj : bufferobj.c +buffers.obj : buffers.c +clip.obj : clip.c +colortab.obj : colortab.c +context.obj : context.c +convolve.obj : convolve.c +debug.obj : debug.c +depth.obj : depth.c +depthstencil.obj : depthstencil.c +dispatch.obj : dispatch.c +dlist.obj : dlist.c +drawpix.obj : drawpix.c +enable.obj : enable.c +enums.obj : enums.c +eval.obj : eval.c +execmem.obj : execmem.c +extensions.obj : extensions.c +fbobject.obj : fbobject.c +feedback.obj : feedback.c +fog.obj : fog.c +framebuffer.obj : framebuffer.c +get.obj : get.c +getstring.obj : getstring.c +hash.obj : hash.c +hint.obj : hint.c +histogram.obj : histogram.c +image.obj : image.c +imports.obj : imports.c vsnprintf.c +light.obj : light.c +lines.obj : lines.c +matrix.obj : matrix.c +mipmap.obj : mipmap.c +mm.obj : mm.c +pixel.obj : pixel.c +points.obj : points.c +polygon.obj : polygon.c +rastpos.obj : rastpos.c +rbadaptors.obj : rbadaptors.c +renderbuffer.obj : renderbuffer.c +state.obj : state.c +stencil.obj : stencil.c +texcompress.obj : texcompress.c +texcompress_fxt1.obj : texcompress_fxt1.c + cc$(CFLAGS)/warn=(disable=SHIFTCOUNT) texcompress_fxt1.c +texcompress_s3tc.obj : texcompress_s3tc.c +texenvprogram.obj : texenvprogram.c +texformat.obj : texformat.c +teximage.obj : teximage.c +texobj.obj : texobj.c +texrender.obj : texrender.c +texstate.obj : texstate.c +texstore.obj : texstore.c +varray.obj : varray.c +vtxfmt.obj : vtxfmt.c +shaders.obj : shaders.c +queryobj.obj : queryobj.c +rbadaptors.obj : rbadaptors.c +clear.obj : clear.c +multisample.obj : multisample.c +scissor.obj : scissor.c +texenv.obj : texenv.c +texgen.obj : texgen.c +texparam.obj : texparam.c +readpix.obj : readpix.c +ffvertex_prog.obj : ffvertex_prog.c +api_exec.obj : api_exec.c +pixelstore.obj : pixelstore.c diff --git a/src/mesa/main/dispatch.c b/src/mesa/main/dispatch.c index c12f55a7a1f..34127cb248a 100644 --- a/src/mesa/main/dispatch.c +++ b/src/mesa/main/dispatch.c @@ -39,7 +39,7 @@ #ifndef GLX_USE_APPLEGL -#include "glheader.h" +#include "main/glheader.h" #include "glapi/glapi.h" #include "glapi/glapitable.h" #include "glapi/glthread.h" diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c index ffe6dbfe08a..d3aee196c74 100644 --- a/src/mesa/main/dlist.c +++ b/src/mesa/main/dlist.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 7.1 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 Brian Paul 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"), @@ -41,7 +41,6 @@ #endif #include "arrayobj.h" #include "clip.h" -#include "colormac.h" #include "colortab.h" #include "context.h" #include "convolve.h" @@ -612,9 +611,9 @@ destroy_list(GLcontext *ctx, GLuint list) /* - * Translate the nth element of list from type to GLuint. + * Translate the nth element of list from <type> to GLint. */ -static GLuint +static GLint translate_id(GLsizei n, GLenum type, const GLvoid * list) { GLbyte *bptr; @@ -628,37 +627,40 @@ translate_id(GLsizei n, GLenum type, const GLvoid * list) switch (type) { case GL_BYTE: bptr = (GLbyte *) list; - return (GLuint) *(bptr + n); + return (GLint) bptr[n]; case GL_UNSIGNED_BYTE: ubptr = (GLubyte *) list; - return (GLuint) *(ubptr + n); + return (GLint) ubptr[n]; case GL_SHORT: sptr = (GLshort *) list; - return (GLuint) *(sptr + n); + return (GLint) sptr[n]; case GL_UNSIGNED_SHORT: usptr = (GLushort *) list; - return (GLuint) *(usptr + n); + return (GLint) usptr[n]; case GL_INT: iptr = (GLint *) list; - return (GLuint) *(iptr + n); + return iptr[n]; case GL_UNSIGNED_INT: uiptr = (GLuint *) list; - return (GLuint) *(uiptr + n); + return (GLint) uiptr[n]; case GL_FLOAT: fptr = (GLfloat *) list; - return (GLuint) *(fptr + n); + return (GLint) FLOORF(fptr[n]); case GL_2_BYTES: ubptr = ((GLubyte *) list) + 2 * n; - return (GLuint) *ubptr * 256 + (GLuint) * (ubptr + 1); + return (GLint) ubptr[0] * 256 + + (GLint) ubptr[1]; case GL_3_BYTES: ubptr = ((GLubyte *) list) + 3 * n; - return (GLuint) * ubptr * 65536 - + (GLuint) *(ubptr + 1) * 256 + (GLuint) * (ubptr + 2); + return (GLint) ubptr[0] * 65536 + + (GLint) ubptr[1] * 256 + + (GLint) ubptr[2]; case GL_4_BYTES: ubptr = ((GLubyte *) list) + 4 * n; - return (GLuint) *ubptr * 16777216 - + (GLuint) *(ubptr + 1) * 65536 - + (GLuint) *(ubptr + 2) * 256 + (GLuint) * (ubptr + 3); + return (GLint) ubptr[0] * 16777216 + + (GLint) ubptr[1] * 65536 + + (GLint) ubptr[2] * 256 + + (GLint) ubptr[3]; default: return 0; } @@ -1000,10 +1002,10 @@ _mesa_save_CallLists(GLsizei n, GLenum type, const GLvoid * lists) } for (i = 0; i < n; i++) { - GLuint list = translate_id(i, type, lists); + GLint list = translate_id(i, type, lists); Node *n = ALLOC_INSTRUCTION(ctx, OPCODE_CALL_LIST_OFFSET, 2); if (n) { - n[1].ui = list; + n[1].i = list; n[2].b = typeErrorFlag; } } @@ -2002,7 +2004,7 @@ save_Lightfv(GLenum light, GLenum pname, const GLfloat *params) Node *n; ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); n = ALLOC_INSTRUCTION(ctx, OPCODE_LIGHT, 6); - if (OPCODE_LIGHT) { + if (n) { GLint i, nParams; n[1].e = light; n[2].e = pname; @@ -2723,21 +2725,20 @@ save_PolygonMode(GLenum face, GLenum mode) } -/* - * Polygon stipple must have been upacked already! - */ static void GLAPIENTRY save_PolygonStipple(const GLubyte * pattern) { GET_CURRENT_CONTEXT(ctx); + GLvoid *image = unpack_image(2, 32, 32, 1, GL_COLOR_INDEX, GL_BITMAP, + pattern, &ctx->Unpack); Node *n; ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); n = ALLOC_INSTRUCTION(ctx, OPCODE_POLYGON_STIPPLE, 1); if (n) { - void *data; - n[1].data = _mesa_malloc(32 * 4); - data = n[1].data; /* This needed for Acorn compiler */ - MEMCPY(data, pattern, 32 * 4); + n[1].data = image; + } + else if (image) { + _mesa_free(image); } if (ctx->ExecuteFlag) { CALL_PolygonStipple(ctx->Exec, ((GLubyte *) pattern)); @@ -3254,6 +3255,36 @@ save_StencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask) static void GLAPIENTRY +save_StencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, GLint ref, + GLuint mask) +{ + GET_CURRENT_CONTEXT(ctx); + Node *n; + ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); + /* GL_FRONT */ + n = ALLOC_INSTRUCTION(ctx, OPCODE_STENCIL_FUNC_SEPARATE, 4); + if (n) { + n[1].e = GL_FRONT; + n[2].e = frontfunc; + n[3].i = ref; + n[4].ui = mask; + } + /* GL_BACK */ + n = ALLOC_INSTRUCTION(ctx, OPCODE_STENCIL_FUNC_SEPARATE, 4); + if (n) { + n[1].e = GL_BACK; + n[2].e = backfunc; + n[3].i = ref; + n[4].ui = mask; + } + if (ctx->ExecuteFlag) { + CALL_StencilFuncSeparate(ctx->Exec, (GL_FRONT, frontfunc, ref, mask)); + CALL_StencilFuncSeparate(ctx->Exec, (GL_BACK, backfunc, ref, mask)); + } +} + + +static void GLAPIENTRY save_StencilMaskSeparate(GLenum face, GLuint mask) { GET_CURRENT_CONTEXT(ctx); @@ -5587,6 +5618,27 @@ save_VertexAttrib4fvARB(GLuint index, const GLfloat * v) } +/* GL_ARB_shader_objects, GL_ARB_vertex/fragment_shader */ + +static void GLAPIENTRY +exec_BindAttribLocationARB(GLuint program, GLuint index, const GLchar *name) +{ + GET_CURRENT_CONTEXT(ctx); + FLUSH_VERTICES(ctx, 0); + CALL_BindAttribLocationARB(ctx->Exec, (program, index, name)); +} + +static GLint GLAPIENTRY +exec_GetAttribLocationARB(GLuint program, const GLchar *name) +{ + GET_CURRENT_CONTEXT(ctx); + FLUSH_VERTICES(ctx, 0); + return CALL_GetAttribLocationARB(ctx->Exec, (program, name)); +} +/* XXX more shader functions needed here */ + + + #if FEATURE_EXT_framebuffer_blit static void GLAPIENTRY save_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, @@ -5695,7 +5747,7 @@ execute_list(GLcontext *ctx, GLuint list) if (!dlist) return; - ctx->ListState.CallStack[ctx->ListState.CallDepth++] = dlist; + ctx->ListState.CallDepth++; if (ctx->Driver.BeginCallList) ctx->Driver.BeginCallList(ctx, dlist); @@ -5762,7 +5814,8 @@ execute_list(GLcontext *ctx, GLuint list) _mesa_error(ctx, GL_INVALID_ENUM, "glCallLists(type)"); } else if (ctx->ListState.CallDepth < MAX_LIST_NESTING) { - execute_list(ctx, ctx->List.ListBase + n[1].ui); + GLuint list = (GLuint) (ctx->List.ListBase + n[1].i); + execute_list(ctx, list); } break; case OPCODE_CLEAR: @@ -6126,7 +6179,12 @@ execute_list(GLcontext *ctx, GLuint list) CALL_PolygonMode(ctx->Exec, (n[1].e, n[2].e)); break; case OPCODE_POLYGON_STIPPLE: - CALL_PolygonStipple(ctx->Exec, ((GLubyte *) n[1].data)); + { + const struct gl_pixelstore_attrib save = ctx->Unpack; + ctx->Unpack = ctx->DefaultPacking; + CALL_PolygonStipple(ctx->Exec, ((GLubyte *) n[1].data)); + ctx->Unpack = save; /* restore */ + } break; case OPCODE_POLYGON_OFFSET: CALL_PolygonOffset(ctx->Exec, (n[1].f, n[2].f)); @@ -6577,7 +6635,7 @@ execute_list(GLcontext *ctx, GLuint list) if (ctx->Driver.EndCallList) ctx->Driver.EndCallList(ctx); - ctx->ListState.CallStack[ctx->ListState.CallDepth--] = NULL; + ctx->ListState.CallDepth--; } @@ -6808,7 +6866,6 @@ void GLAPIENTRY _mesa_CallLists(GLsizei n, GLenum type, const GLvoid * lists) { GET_CURRENT_CONTEXT(ctx); - GLuint list; GLint i; GLboolean save_compile_flag; @@ -6840,8 +6897,8 @@ _mesa_CallLists(GLsizei n, GLenum type, const GLvoid * lists) ctx->CompileFlag = GL_FALSE; for (i = 0; i < n; i++) { - list = translate_id(i, type, lists); - execute_list(ctx, ctx->List.ListBase + list); + GLuint list = (GLuint) (ctx->List.ListBase + translate_id(i, type, lists)); + execute_list(ctx, list); } ctx->CompileFlag = save_compile_flag; @@ -7821,6 +7878,9 @@ _mesa_init_dlist_table(struct _glapi_table *table) SET_StencilMaskSeparate(table, save_StencilMaskSeparate); SET_StencilOpSeparate(table, save_StencilOpSeparate); + /* ATI_separate_stencil */ + SET_StencilFuncSeparateATI(table, save_StencilFuncSeparateATI); + /* GL_ARB_imaging */ /* Not all are supported */ SET_BlendColor(table, save_BlendColor); @@ -8118,6 +8178,11 @@ _mesa_init_dlist_table(struct _glapi_table *table) SET_BlitFramebufferEXT(table, save_BlitFramebufferEXT); #endif + /* ARB 30/31/32. GL_ARB_shader_objects, GL_ARB_vertex/fragment_shader */ + SET_BindAttribLocationARB(table, exec_BindAttribLocationARB); + SET_GetAttribLocationARB(table, exec_GetAttribLocationARB); + /* XXX additional functions need to be implemented here! */ + /* 299. GL_EXT_blend_equation_separate */ SET_BlendEquationSeparateEXT(table, save_BlendEquationSeparateEXT); diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c index 6db198ea3bb..13cfa0e756e 100644 --- a/src/mesa/main/drawpix.c +++ b/src/mesa/main/drawpix.c @@ -218,7 +218,7 @@ _mesa_Bitmap( GLsizei width, GLsizei height, if (ctx->RenderMode == GL_RENDER) { /* Truncate, to satisfy conformance tests (matches SGI's OpenGL). */ - const GLfloat epsilon = (const GLfloat)0.0001; + const GLfloat epsilon = 0.0001F; GLint x = IFLOOR(ctx->Current.RasterPos[0] + epsilon - xorig); GLint y = IFLOOR(ctx->Current.RasterPos[1] + epsilon - yorig); diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c index 9dc55d4e69f..248df1badca 100644 --- a/src/mesa/main/enable.c +++ b/src/mesa/main/enable.c @@ -5,9 +5,9 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 7.0.3 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 Brian Paul 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"), @@ -38,6 +38,7 @@ #include "enums.h" #include "math/m_matrix.h" #include "math/m_xform.h" +#include "api_arrayelt.h" @@ -136,6 +137,9 @@ client_state(GLcontext *ctx, GLenum cap, GLboolean state) FLUSH_VERTICES(ctx, _NEW_ARRAY); ctx->Array.NewState |= flag; + + _ae_invalidate_state(ctx, _NEW_ARRAY); + *var = state; if (state) @@ -373,18 +377,24 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state) return; FLUSH_VERTICES(ctx, _NEW_LIGHT); ctx->Light.Enabled = state; + if (ctx->Light.Enabled && ctx->Light.Model.TwoSide) + ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE; + else + ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE; break; case GL_LINE_SMOOTH: if (ctx->Line.SmoothFlag == state) return; FLUSH_VERTICES(ctx, _NEW_LINE); ctx->Line.SmoothFlag = state; + ctx->_TriangleCaps ^= DD_LINE_SMOOTH; break; case GL_LINE_STIPPLE: if (ctx->Line.StippleFlag == state) return; FLUSH_VERTICES(ctx, _NEW_LINE); ctx->Line.StippleFlag = state; + ctx->_TriangleCaps ^= DD_LINE_STIPPLE; break; case GL_INDEX_LOGIC_OP: if (ctx->Color.IndexLogicOpEnabled == state) @@ -523,18 +533,21 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state) return; FLUSH_VERTICES(ctx, _NEW_POINT); ctx->Point.SmoothFlag = state; + ctx->_TriangleCaps ^= DD_POINT_SMOOTH; break; case GL_POLYGON_SMOOTH: if (ctx->Polygon.SmoothFlag == state) return; FLUSH_VERTICES(ctx, _NEW_POLYGON); ctx->Polygon.SmoothFlag = state; + ctx->_TriangleCaps ^= DD_TRI_SMOOTH; break; case GL_POLYGON_STIPPLE: if (ctx->Polygon.StippleFlag == state) return; FLUSH_VERTICES(ctx, _NEW_POLYGON); ctx->Polygon.StippleFlag = state; + ctx->_TriangleCaps ^= DD_TRI_STIPPLE; break; case GL_POLYGON_OFFSET_POINT: if (ctx->Polygon.OffsetPoint == state) @@ -885,6 +898,10 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state) return; FLUSH_VERTICES(ctx, _NEW_STENCIL); ctx->Stencil.TestTwoSide = state; + if (state) + ctx->_TriangleCaps |= DD_TRI_TWOSTENCIL; + else + ctx->_TriangleCaps &= ~DD_TRI_TWOSTENCIL; break; #if FEATURE_ARB_fragment_program diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c index 8ce6b51d17c..4796f3027ad 100644 --- a/src/mesa/main/enums.c +++ b/src/mesa/main/enums.c @@ -88,7 +88,6 @@ LONGSTRING static const char enum_string_table[] = "GL_AND_INVERTED\0" "GL_AND_REVERSE\0" "GL_ARRAY_BUFFER\0" - "GL_ARRAY_BUFFER_ARB\0" "GL_ARRAY_BUFFER_BINDING\0" "GL_ARRAY_BUFFER_BINDING_ARB\0" "GL_ATTACHED_SHADERS\0" @@ -456,7 +455,6 @@ LONGSTRING static const char enum_string_table[] = "GL_EDGE_FLAG_ARRAY_POINTER\0" "GL_EDGE_FLAG_ARRAY_STRIDE\0" "GL_ELEMENT_ARRAY_BUFFER\0" - "GL_ELEMENT_ARRAY_BUFFER_ARB\0" "GL_ELEMENT_ARRAY_BUFFER_BINDING\0" "GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB\0" "GL_EMISSION\0" @@ -1787,7 +1785,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[1750] = +static const enum_elt all_enums[1748] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -1842,2990 +1840,2988 @@ static const enum_elt all_enums[1750] = { 830, 0x00001504 }, /* GL_AND_INVERTED */ { 846, 0x00001502 }, /* GL_AND_REVERSE */ { 861, 0x00008892 }, /* GL_ARRAY_BUFFER */ - { 877, 0x00008892 }, /* GL_ARRAY_BUFFER_ARB */ - { 897, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */ - { 921, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */ - { 949, 0x00008B85 }, /* GL_ATTACHED_SHADERS */ - { 969, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */ - { 996, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */ - { 1020, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */ - { 1046, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */ - { 1070, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */ - { 1092, 0x00000D80 }, /* GL_AUTO_NORMAL */ - { 1107, 0x00000409 }, /* GL_AUX0 */ - { 1115, 0x0000040A }, /* GL_AUX1 */ - { 1123, 0x0000040B }, /* GL_AUX2 */ - { 1131, 0x0000040C }, /* GL_AUX3 */ - { 1139, 0x00000C00 }, /* GL_AUX_BUFFERS */ - { 1154, 0x00000405 }, /* GL_BACK */ - { 1162, 0x00000402 }, /* GL_BACK_LEFT */ - { 1175, 0x00000403 }, /* GL_BACK_RIGHT */ - { 1189, 0x000080E0 }, /* GL_BGR */ - { 1196, 0x000080E1 }, /* GL_BGRA */ - { 1204, 0x00001A00 }, /* GL_BITMAP */ - { 1214, 0x00000704 }, /* GL_BITMAP_TOKEN */ - { 1230, 0x00000BE2 }, /* GL_BLEND */ - { 1239, 0x00008005 }, /* GL_BLEND_COLOR */ - { 1254, 0x00008005 }, /* GL_BLEND_COLOR_EXT */ - { 1273, 0x00000BE0 }, /* GL_BLEND_DST */ - { 1286, 0x000080CA }, /* GL_BLEND_DST_ALPHA */ - { 1305, 0x000080C8 }, /* GL_BLEND_DST_RGB */ - { 1322, 0x00008009 }, /* GL_BLEND_EQUATION */ - { 1340, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */ - { 1364, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */ - { 1392, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */ - { 1414, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */ - { 1440, 0x00000BE1 }, /* GL_BLEND_SRC */ - { 1453, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */ - { 1472, 0x000080C9 }, /* GL_BLEND_SRC_RGB */ - { 1489, 0x00001905 }, /* GL_BLUE */ - { 1497, 0x00000D1B }, /* GL_BLUE_BIAS */ - { 1510, 0x00000D54 }, /* GL_BLUE_BITS */ - { 1523, 0x00000D1A }, /* GL_BLUE_SCALE */ - { 1537, 0x00008B56 }, /* GL_BOOL */ - { 1545, 0x00008B56 }, /* GL_BOOL_ARB */ - { 1557, 0x00008B57 }, /* GL_BOOL_VEC2 */ - { 1570, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */ - { 1587, 0x00008B58 }, /* GL_BOOL_VEC3 */ - { 1600, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */ - { 1617, 0x00008B59 }, /* GL_BOOL_VEC4 */ - { 1630, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */ - { 1647, 0x000088BB }, /* GL_BUFFER_ACCESS */ - { 1664, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */ - { 1685, 0x000088BC }, /* GL_BUFFER_MAPPED */ - { 1702, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */ - { 1723, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */ - { 1745, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */ - { 1771, 0x00008764 }, /* GL_BUFFER_SIZE */ - { 1786, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */ - { 1805, 0x00008765 }, /* GL_BUFFER_USAGE */ - { 1821, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */ - { 1841, 0x00001400 }, /* GL_BYTE */ - { 1849, 0x00002A24 }, /* GL_C3F_V3F */ - { 1860, 0x00002A26 }, /* GL_C4F_N3F_V3F */ - { 1875, 0x00002A22 }, /* GL_C4UB_V2F */ - { 1887, 0x00002A23 }, /* GL_C4UB_V3F */ - { 1899, 0x00000901 }, /* GL_CCW */ - { 1906, 0x00002900 }, /* GL_CLAMP */ - { 1915, 0x0000812D }, /* GL_CLAMP_TO_BORDER */ - { 1934, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */ - { 1957, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */ - { 1981, 0x0000812F }, /* GL_CLAMP_TO_EDGE */ - { 1998, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */ - { 2020, 0x00001500 }, /* GL_CLEAR */ - { 2029, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */ - { 2054, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */ - { 2083, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */ - { 2109, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ - { 2138, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */ - { 2164, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */ - { 2191, 0x00003000 }, /* GL_CLIP_PLANE0 */ - { 2206, 0x00003001 }, /* GL_CLIP_PLANE1 */ - { 2221, 0x00003002 }, /* GL_CLIP_PLANE2 */ - { 2236, 0x00003003 }, /* GL_CLIP_PLANE3 */ - { 2251, 0x00003004 }, /* GL_CLIP_PLANE4 */ - { 2266, 0x00003005 }, /* GL_CLIP_PLANE5 */ - { 2281, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - { 2314, 0x00000A00 }, /* GL_COEFF */ - { 2323, 0x00001800 }, /* GL_COLOR */ - { 2332, 0x00008076 }, /* GL_COLOR_ARRAY */ - { 2347, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - { 2377, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 2411, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */ - { 2434, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */ - { 2454, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */ - { 2476, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */ - { 2496, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */ - { 2521, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */ - { 2547, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */ - { 2573, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */ - { 2599, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */ - { 2625, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */ - { 2651, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */ - { 2677, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */ - { 2702, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */ - { 2727, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */ - { 2752, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */ - { 2777, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */ - { 2802, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */ - { 2827, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */ - { 2852, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */ - { 2877, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */ - { 2902, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */ - { 2922, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */ - { 2943, 0x00001900 }, /* GL_COLOR_INDEX */ - { 2958, 0x00001603 }, /* GL_COLOR_INDEXES */ - { 2975, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */ - { 2993, 0x00000B57 }, /* GL_COLOR_MATERIAL */ - { 3011, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */ - { 3034, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */ - { 3062, 0x000080B1 }, /* GL_COLOR_MATRIX */ - { 3078, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */ - { 3098, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */ - { 3126, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 3158, 0x00008458 }, /* GL_COLOR_SUM */ - { 3171, 0x00008458 }, /* GL_COLOR_SUM_ARB */ - { 3188, 0x000080D0 }, /* GL_COLOR_TABLE */ - { 3203, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */ - { 3229, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */ - { 3259, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */ - { 3289, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */ - { 3309, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */ - { 3333, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */ - { 3358, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */ - { 3387, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */ - { 3416, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */ - { 3438, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */ - { 3464, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */ - { 3490, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */ - { 3516, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */ - { 3546, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */ - { 3576, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */ - { 3606, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */ - { 3640, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */ - { 3674, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ - { 3704, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */ - { 3738, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */ - { 3772, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */ - { 3796, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */ - { 3824, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */ - { 3852, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */ - { 3873, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */ - { 3898, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */ - { 3919, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */ - { 3944, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */ - { 3969, 0x00000C23 }, /* GL_COLOR_WRITEMASK */ - { 3988, 0x00008570 }, /* GL_COMBINE */ - { 3999, 0x00008503 }, /* GL_COMBINE4 */ - { 4011, 0x00008572 }, /* GL_COMBINE_ALPHA */ - { 4028, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */ - { 4049, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */ - { 4070, 0x00008570 }, /* GL_COMBINE_ARB */ - { 4085, 0x00008570 }, /* GL_COMBINE_EXT */ - { 4100, 0x00008571 }, /* GL_COMBINE_RGB */ - { 4115, 0x00008571 }, /* GL_COMBINE_RGB_ARB */ - { 4134, 0x00008571 }, /* GL_COMBINE_RGB_EXT */ - { 4153, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */ - { 4189, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */ - { 4213, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */ - { 4241, 0x00001300 }, /* GL_COMPILE */ - { 4252, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */ - { 4275, 0x00008B81 }, /* GL_COMPILE_STATUS */ - { 4293, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */ - { 4313, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */ - { 4337, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */ - { 4361, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */ - { 4389, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */ - { 4413, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */ - { 4443, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */ - { 4477, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */ - { 4505, 0x000084ED }, /* GL_COMPRESSED_RGB */ - { 4523, 0x000084EE }, /* GL_COMPRESSED_RGBA */ - { 4542, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */ - { 4565, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - { 4594, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ - { 4627, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ - { 4660, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - { 4693, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */ - { 4715, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */ - { 4743, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ - { 4775, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */ - { 4805, 0x00008576 }, /* GL_CONSTANT */ - { 4817, 0x00008003 }, /* GL_CONSTANT_ALPHA */ - { 4835, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */ - { 4857, 0x00008576 }, /* GL_CONSTANT_ARB */ - { 4873, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */ - { 4897, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */ - { 4919, 0x00008001 }, /* GL_CONSTANT_COLOR */ - { 4937, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */ - { 4959, 0x00008576 }, /* GL_CONSTANT_EXT */ - { 4975, 0x00008010 }, /* GL_CONVOLUTION_1D */ - { 4993, 0x00008011 }, /* GL_CONVOLUTION_2D */ - { 5011, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */ - { 5039, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */ - { 5070, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */ - { 5097, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */ - { 5128, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */ - { 5155, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */ - { 5186, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */ - { 5214, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */ - { 5246, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */ - { 5268, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */ - { 5294, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */ - { 5316, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */ - { 5342, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */ - { 5363, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */ - { 5388, 0x00008862 }, /* GL_COORD_REPLACE */ - { 5405, 0x00008862 }, /* GL_COORD_REPLACE_ARB */ - { 5426, 0x00008862 }, /* GL_COORD_REPLACE_NV */ - { 5446, 0x00001503 }, /* GL_COPY */ - { 5454, 0x0000150C }, /* GL_COPY_INVERTED */ - { 5471, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */ - { 5491, 0x00000B44 }, /* GL_CULL_FACE */ - { 5504, 0x00000B45 }, /* GL_CULL_FACE_MODE */ - { 5522, 0x000081AA }, /* GL_CULL_VERTEX_EXT */ - { 5541, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - { 5573, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ - { 5608, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */ - { 5629, 0x00000001 }, /* GL_CURRENT_BIT */ - { 5644, 0x00000B00 }, /* GL_CURRENT_COLOR */ - { 5661, 0x00008453 }, /* GL_CURRENT_FOG_COORD */ - { 5682, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */ - { 5708, 0x00000B01 }, /* GL_CURRENT_INDEX */ - { 5725, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */ - { 5747, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */ - { 5775, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */ - { 5796, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ - { 5830, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */ - { 5863, 0x00000B02 }, /* GL_CURRENT_NORMAL */ - { 5881, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - { 5911, 0x00008B8D }, /* GL_CURRENT_PROGRAM */ - { 5930, 0x00008865 }, /* GL_CURRENT_QUERY */ - { 5947, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */ - { 5968, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */ - { 5992, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */ - { 6019, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */ - { 6043, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */ - { 6070, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */ - { 6103, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ - { 6136, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */ - { 6163, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */ - { 6189, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */ - { 6214, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ - { 6243, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */ - { 6265, 0x00000900 }, /* GL_CW */ - { 6271, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */ - { 6292, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */ - { 6313, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */ - { 6333, 0x00002101 }, /* GL_DECAL */ - { 6342, 0x00001E03 }, /* GL_DECR */ - { 6350, 0x00008508 }, /* GL_DECR_WRAP */ - { 6363, 0x00008508 }, /* GL_DECR_WRAP_EXT */ - { 6380, 0x00008B80 }, /* GL_DELETE_STATUS */ - { 6397, 0x00001801 }, /* GL_DEPTH */ - { 6406, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */ - { 6430, 0x00000D1F }, /* GL_DEPTH_BIAS */ - { 6444, 0x00000D56 }, /* GL_DEPTH_BITS */ - { 6458, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ - { 6478, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ - { 6503, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ - { 6523, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ - { 6541, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ - { 6562, 0x00001902 }, /* GL_DEPTH_COMPONENT */ - { 6581, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ - { 6602, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ - { 6627, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ - { 6653, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ - { 6674, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ - { 6699, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ - { 6725, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ - { 6746, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ - { 6771, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ - { 6797, 0x00000B74 }, /* GL_DEPTH_FUNC */ - { 6811, 0x00000B70 }, /* GL_DEPTH_RANGE */ - { 6826, 0x00000D1E }, /* GL_DEPTH_SCALE */ - { 6841, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ - { 6861, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - { 6889, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - { 6917, 0x00000B71 }, /* GL_DEPTH_TEST */ - { 6931, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ - { 6953, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ - { 6979, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ - { 6998, 0x00001201 }, /* GL_DIFFUSE */ - { 7009, 0x00000BD0 }, /* GL_DITHER */ - { 7019, 0x00000A02 }, /* GL_DOMAIN */ - { 7029, 0x00001100 }, /* GL_DONT_CARE */ - { 7042, 0x000086AE }, /* GL_DOT3_RGB */ - { 7054, 0x000086AF }, /* GL_DOT3_RGBA */ - { 7067, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ - { 7084, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ - { 7101, 0x000086AE }, /* GL_DOT3_RGB_ARB */ - { 7117, 0x00008740 }, /* GL_DOT3_RGB_EXT */ - { 7133, 0x0000140A }, /* GL_DOUBLE */ - { 7143, 0x00000C32 }, /* GL_DOUBLEBUFFER */ - { 7159, 0x00000C01 }, /* GL_DRAW_BUFFER */ - { 7174, 0x00008825 }, /* GL_DRAW_BUFFER0 */ - { 7190, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ - { 7210, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ - { 7230, 0x00008826 }, /* GL_DRAW_BUFFER1 */ - { 7246, 0x0000882F }, /* GL_DRAW_BUFFER10 */ - { 7263, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ - { 7284, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ - { 7305, 0x00008830 }, /* GL_DRAW_BUFFER11 */ - { 7322, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ - { 7343, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ - { 7364, 0x00008831 }, /* GL_DRAW_BUFFER12 */ - { 7381, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ - { 7402, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ - { 7423, 0x00008832 }, /* GL_DRAW_BUFFER13 */ - { 7440, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ - { 7461, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ - { 7482, 0x00008833 }, /* GL_DRAW_BUFFER14 */ - { 7499, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ - { 7520, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ - { 7541, 0x00008834 }, /* GL_DRAW_BUFFER15 */ - { 7558, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ - { 7579, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ - { 7600, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ - { 7620, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ - { 7640, 0x00008827 }, /* GL_DRAW_BUFFER2 */ - { 7656, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ - { 7676, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ - { 7696, 0x00008828 }, /* GL_DRAW_BUFFER3 */ - { 7712, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ - { 7732, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ - { 7752, 0x00008829 }, /* GL_DRAW_BUFFER4 */ - { 7768, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ - { 7788, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ - { 7808, 0x0000882A }, /* GL_DRAW_BUFFER5 */ - { 7824, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ - { 7844, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ - { 7864, 0x0000882B }, /* GL_DRAW_BUFFER6 */ - { 7880, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ - { 7900, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ - { 7920, 0x0000882C }, /* GL_DRAW_BUFFER7 */ - { 7936, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ - { 7956, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ - { 7976, 0x0000882D }, /* GL_DRAW_BUFFER8 */ - { 7992, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ - { 8012, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ - { 8032, 0x0000882E }, /* GL_DRAW_BUFFER9 */ - { 8048, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ - { 8068, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ - { 8088, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ - { 8120, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ - { 8144, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ - { 8164, 0x00000304 }, /* GL_DST_ALPHA */ - { 8177, 0x00000306 }, /* GL_DST_COLOR */ - { 8190, 0x000088EA }, /* GL_DYNAMIC_COPY */ - { 8206, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ - { 8226, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ - { 8242, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ - { 8262, 0x000088E9 }, /* GL_DYNAMIC_READ */ - { 8278, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ - { 8298, 0x00000B43 }, /* GL_EDGE_FLAG */ - { 8311, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ - { 8330, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - { 8364, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ - { 8402, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ - { 8429, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - { 8455, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ - { 8479, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER_ARB */ - { 8507, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - { 8539, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ - { 8575, 0x00001600 }, /* GL_EMISSION */ - { 8587, 0x00002000 }, /* GL_ENABLE_BIT */ - { 8601, 0x00000202 }, /* GL_EQUAL */ - { 8610, 0x00001509 }, /* GL_EQUIV */ - { 8619, 0x00010000 }, /* GL_EVAL_BIT */ - { 8631, 0x00000800 }, /* GL_EXP */ - { 8638, 0x00000801 }, /* GL_EXP2 */ - { 8646, 0x00001F03 }, /* GL_EXTENSIONS */ - { 8660, 0x00002400 }, /* GL_EYE_LINEAR */ - { 8674, 0x00002502 }, /* GL_EYE_PLANE */ - { 8687, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ - { 8712, 0x0000855B }, /* GL_EYE_RADIAL_NV */ - { 8729, 0x00000000 }, /* GL_FALSE */ - { 8738, 0x00001101 }, /* GL_FASTEST */ - { 8749, 0x00001C01 }, /* GL_FEEDBACK */ - { 8761, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ - { 8788, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ - { 8812, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ - { 8836, 0x00001B02 }, /* GL_FILL */ - { 8844, 0x00001D00 }, /* GL_FLAT */ - { 8852, 0x00001406 }, /* GL_FLOAT */ - { 8861, 0x00008B5A }, /* GL_FLOAT_MAT2 */ - { 8875, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ - { 8893, 0x00008B5B }, /* GL_FLOAT_MAT3 */ - { 8907, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ - { 8925, 0x00008B5C }, /* GL_FLOAT_MAT4 */ - { 8939, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ - { 8957, 0x00008B50 }, /* GL_FLOAT_VEC2 */ - { 8971, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ - { 8989, 0x00008B51 }, /* GL_FLOAT_VEC3 */ - { 9003, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ - { 9021, 0x00008B52 }, /* GL_FLOAT_VEC4 */ - { 9035, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ - { 9053, 0x00000B60 }, /* GL_FOG */ - { 9060, 0x00000080 }, /* GL_FOG_BIT */ - { 9071, 0x00000B66 }, /* GL_FOG_COLOR */ - { 9084, 0x00008451 }, /* GL_FOG_COORD */ - { 9097, 0x00008451 }, /* GL_FOG_COORDINATE */ - { 9115, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ - { 9139, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - { 9178, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ - { 9221, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - { 9253, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - { 9284, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - { 9313, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ - { 9338, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ - { 9357, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ - { 9391, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ - { 9418, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ - { 9444, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ - { 9468, 0x00008450 }, /* GL_FOG_COORD_SRC */ - { 9485, 0x00000B62 }, /* GL_FOG_DENSITY */ - { 9500, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ - { 9524, 0x00000B64 }, /* GL_FOG_END */ - { 9535, 0x00000C54 }, /* GL_FOG_HINT */ - { 9547, 0x00000B61 }, /* GL_FOG_INDEX */ - { 9560, 0x00000B65 }, /* GL_FOG_MODE */ - { 9572, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ - { 9591, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ - { 9616, 0x00000B63 }, /* GL_FOG_START */ - { 9629, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ - { 9647, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ - { 9671, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ - { 9690, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ - { 9713, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - { 9748, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ - { 9790, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ - { 9832, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ - { 9881, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ - { 9933, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ - { 9977, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ - { 10021, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ - { 10048, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ - { 10076, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ - { 10095, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ - { 10136, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - { 10177, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - { 10219, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - { 10270, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - { 10308, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ - { 10357, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - { 10399, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - { 10431, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ - { 10462, 0x00000404 }, /* GL_FRONT */ - { 10471, 0x00000408 }, /* GL_FRONT_AND_BACK */ - { 10489, 0x00000B46 }, /* GL_FRONT_FACE */ - { 10503, 0x00000400 }, /* GL_FRONT_LEFT */ - { 10517, 0x00000401 }, /* GL_FRONT_RIGHT */ - { 10532, 0x00008006 }, /* GL_FUNC_ADD */ - { 10544, 0x00008006 }, /* GL_FUNC_ADD_EXT */ - { 10560, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ - { 10585, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ - { 10614, 0x0000800A }, /* GL_FUNC_SUBTRACT */ - { 10631, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ - { 10652, 0x00008191 }, /* GL_GENERATE_MIPMAP */ - { 10671, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ - { 10695, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ - { 10724, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ - { 10748, 0x00000206 }, /* GL_GEQUAL */ - { 10758, 0x00008009 }, /* GL_GL_BLEND_EQUATION_RGB */ - { 10783, 0x00008C4A }, /* GL_GL_COMPRESSED_SLUMINANCE */ - { 10811, 0x00008C4B }, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */ - { 10845, 0x00008C48 }, /* GL_GL_COMPRESSED_SRGB */ - { 10867, 0x00008C49 }, /* GL_GL_COMPRESSED_SRGB_ALPHA */ - { 10895, 0x0000845F }, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */ - { 10932, 0x00008B65 }, /* GL_GL_FLOAT_MAT2x3 */ - { 10951, 0x00008B66 }, /* GL_GL_FLOAT_MAT2x4 */ - { 10970, 0x00008B67 }, /* GL_GL_FLOAT_MAT3x2 */ - { 10989, 0x00008B68 }, /* GL_GL_FLOAT_MAT3x4 */ - { 11008, 0x00008B69 }, /* GL_GL_FLOAT_MAT4x2 */ - { 11027, 0x00008B6A }, /* GL_GL_FLOAT_MAT4x3 */ - { 11046, 0x000088EB }, /* GL_GL_PIXEL_PACK_BUFFER */ - { 11070, 0x000088ED }, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */ - { 11102, 0x000088EC }, /* GL_GL_PIXEL_UNPACK_BUFFER */ - { 11128, 0x000088EF }, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */ - { 11162, 0x00008C46 }, /* GL_GL_SLUMINANCE */ - { 11179, 0x00008C47 }, /* GL_GL_SLUMINANCE8 */ - { 11197, 0x00008C45 }, /* GL_GL_SLUMINANCE8_ALPHA8 */ - { 11222, 0x00008C44 }, /* GL_GL_SLUMINANCE_ALPHA */ - { 11245, 0x00008C40 }, /* GL_GL_SRGB */ - { 11256, 0x00008C41 }, /* GL_GL_SRGB8 */ - { 11268, 0x00008C43 }, /* GL_GL_SRGB8_ALPHA8 */ - { 11287, 0x00008C42 }, /* GL_GL_SRGB_ALPHA */ - { 11304, 0x00000204 }, /* GL_GREATER */ - { 11315, 0x00001904 }, /* GL_GREEN */ - { 11324, 0x00000D19 }, /* GL_GREEN_BIAS */ - { 11338, 0x00000D53 }, /* GL_GREEN_BITS */ - { 11352, 0x00000D18 }, /* GL_GREEN_SCALE */ - { 11367, 0x00008000 }, /* GL_HINT_BIT */ - { 11379, 0x00008024 }, /* GL_HISTOGRAM */ - { 11392, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ - { 11416, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ - { 11444, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ - { 11467, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ - { 11494, 0x00008024 }, /* GL_HISTOGRAM_EXT */ - { 11511, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ - { 11531, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ - { 11555, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ - { 11579, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ - { 11607, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - { 11635, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ - { 11667, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ - { 11689, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ - { 11715, 0x0000802D }, /* GL_HISTOGRAM_SINK */ - { 11733, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ - { 11755, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ - { 11774, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ - { 11797, 0x0000862A }, /* GL_IDENTITY_NV */ - { 11812, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ - { 11832, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - { 11872, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - { 11910, 0x00001E02 }, /* GL_INCR */ - { 11918, 0x00008507 }, /* GL_INCR_WRAP */ - { 11931, 0x00008507 }, /* GL_INCR_WRAP_EXT */ - { 11948, 0x00008077 }, /* GL_INDEX_ARRAY */ - { 11963, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - { 11993, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ - { 12027, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ - { 12050, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ - { 12072, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ - { 12092, 0x00000D51 }, /* GL_INDEX_BITS */ - { 12106, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ - { 12127, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ - { 12145, 0x00000C30 }, /* GL_INDEX_MODE */ - { 12159, 0x00000D13 }, /* GL_INDEX_OFFSET */ - { 12175, 0x00000D12 }, /* GL_INDEX_SHIFT */ - { 12190, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ - { 12209, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ - { 12228, 0x00001404 }, /* GL_INT */ - { 12235, 0x00008049 }, /* GL_INTENSITY */ - { 12248, 0x0000804C }, /* GL_INTENSITY12 */ - { 12263, 0x0000804C }, /* GL_INTENSITY12_EXT */ - { 12282, 0x0000804D }, /* GL_INTENSITY16 */ - { 12297, 0x0000804D }, /* GL_INTENSITY16_EXT */ - { 12316, 0x0000804A }, /* GL_INTENSITY4 */ - { 12330, 0x0000804A }, /* GL_INTENSITY4_EXT */ - { 12348, 0x0000804B }, /* GL_INTENSITY8 */ - { 12362, 0x0000804B }, /* GL_INTENSITY8_EXT */ - { 12380, 0x00008049 }, /* GL_INTENSITY_EXT */ - { 12397, 0x00008575 }, /* GL_INTERPOLATE */ - { 12412, 0x00008575 }, /* GL_INTERPOLATE_ARB */ - { 12431, 0x00008575 }, /* GL_INTERPOLATE_EXT */ - { 12450, 0x00008B53 }, /* GL_INT_VEC2 */ - { 12462, 0x00008B53 }, /* GL_INT_VEC2_ARB */ - { 12478, 0x00008B54 }, /* GL_INT_VEC3 */ - { 12490, 0x00008B54 }, /* GL_INT_VEC3_ARB */ - { 12506, 0x00008B55 }, /* GL_INT_VEC4 */ - { 12518, 0x00008B55 }, /* GL_INT_VEC4_ARB */ - { 12534, 0x00000500 }, /* GL_INVALID_ENUM */ - { 12550, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ - { 12587, 0x00000502 }, /* GL_INVALID_OPERATION */ - { 12608, 0x00000501 }, /* GL_INVALID_VALUE */ - { 12625, 0x0000862B }, /* GL_INVERSE_NV */ - { 12639, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ - { 12663, 0x0000150A }, /* GL_INVERT */ - { 12673, 0x00001E00 }, /* GL_KEEP */ - { 12681, 0x00000406 }, /* GL_LEFT */ - { 12689, 0x00000203 }, /* GL_LEQUAL */ - { 12699, 0x00000201 }, /* GL_LESS */ - { 12707, 0x00004000 }, /* GL_LIGHT0 */ - { 12717, 0x00004001 }, /* GL_LIGHT1 */ - { 12727, 0x00004002 }, /* GL_LIGHT2 */ - { 12737, 0x00004003 }, /* GL_LIGHT3 */ - { 12747, 0x00004004 }, /* GL_LIGHT4 */ - { 12757, 0x00004005 }, /* GL_LIGHT5 */ - { 12767, 0x00004006 }, /* GL_LIGHT6 */ - { 12777, 0x00004007 }, /* GL_LIGHT7 */ - { 12787, 0x00000B50 }, /* GL_LIGHTING */ - { 12799, 0x00000040 }, /* GL_LIGHTING_BIT */ - { 12815, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ - { 12838, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - { 12867, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ - { 12900, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - { 12928, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ - { 12952, 0x00001B01 }, /* GL_LINE */ - { 12960, 0x00002601 }, /* GL_LINEAR */ - { 12970, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ - { 12992, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - { 13022, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - { 13053, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ - { 13077, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ - { 13102, 0x00000001 }, /* GL_LINES */ - { 13111, 0x00000004 }, /* GL_LINE_BIT */ - { 13123, 0x00000002 }, /* GL_LINE_LOOP */ - { 13136, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ - { 13156, 0x00000B20 }, /* GL_LINE_SMOOTH */ - { 13171, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ - { 13191, 0x00000B24 }, /* GL_LINE_STIPPLE */ - { 13207, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ - { 13231, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ - { 13254, 0x00000003 }, /* GL_LINE_STRIP */ - { 13268, 0x00000702 }, /* GL_LINE_TOKEN */ - { 13282, 0x00000B21 }, /* GL_LINE_WIDTH */ - { 13296, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ - { 13322, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ - { 13342, 0x00008B82 }, /* GL_LINK_STATUS */ - { 13357, 0x00000B32 }, /* GL_LIST_BASE */ - { 13370, 0x00020000 }, /* GL_LIST_BIT */ - { 13382, 0x00000B33 }, /* GL_LIST_INDEX */ - { 13396, 0x00000B30 }, /* GL_LIST_MODE */ - { 13409, 0x00000101 }, /* GL_LOAD */ - { 13417, 0x00000BF1 }, /* GL_LOGIC_OP */ - { 13429, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ - { 13446, 0x00008CA1 }, /* GL_LOWER_LEFT */ - { 13460, 0x00001909 }, /* GL_LUMINANCE */ - { 13473, 0x00008041 }, /* GL_LUMINANCE12 */ - { 13488, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ - { 13511, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ - { 13538, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ - { 13560, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ - { 13586, 0x00008041 }, /* GL_LUMINANCE12_EXT */ - { 13605, 0x00008042 }, /* GL_LUMINANCE16 */ - { 13620, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ - { 13643, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ - { 13670, 0x00008042 }, /* GL_LUMINANCE16_EXT */ - { 13689, 0x0000803F }, /* GL_LUMINANCE4 */ - { 13703, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ - { 13724, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ - { 13749, 0x0000803F }, /* GL_LUMINANCE4_EXT */ - { 13767, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ - { 13788, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ - { 13813, 0x00008040 }, /* GL_LUMINANCE8 */ - { 13827, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ - { 13848, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ - { 13873, 0x00008040 }, /* GL_LUMINANCE8_EXT */ - { 13891, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ - { 13910, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ - { 13926, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ - { 13946, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ - { 13968, 0x00000D91 }, /* GL_MAP1_INDEX */ - { 13982, 0x00000D92 }, /* GL_MAP1_NORMAL */ - { 13997, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ - { 14021, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ - { 14045, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ - { 14069, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ - { 14093, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ - { 14110, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ - { 14127, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - { 14155, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - { 14184, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - { 14213, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - { 14242, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - { 14271, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - { 14300, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - { 14329, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - { 14357, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - { 14385, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - { 14413, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - { 14441, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - { 14469, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - { 14497, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - { 14525, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - { 14553, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - { 14581, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ - { 14597, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ - { 14617, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ - { 14639, 0x00000DB1 }, /* GL_MAP2_INDEX */ - { 14653, 0x00000DB2 }, /* GL_MAP2_NORMAL */ - { 14668, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ - { 14692, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ - { 14716, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ - { 14740, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ - { 14764, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ - { 14781, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ - { 14798, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - { 14826, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - { 14855, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - { 14884, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - { 14913, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - { 14942, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - { 14971, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - { 15000, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - { 15028, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - { 15056, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - { 15084, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - { 15112, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - { 15140, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - { 15168, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ - { 15196, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - { 15224, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - { 15252, 0x00000D10 }, /* GL_MAP_COLOR */ - { 15265, 0x00000D11 }, /* GL_MAP_STENCIL */ - { 15280, 0x000088C0 }, /* GL_MATRIX0_ARB */ - { 15295, 0x00008630 }, /* GL_MATRIX0_NV */ - { 15309, 0x000088CA }, /* GL_MATRIX10_ARB */ - { 15325, 0x000088CB }, /* GL_MATRIX11_ARB */ - { 15341, 0x000088CC }, /* GL_MATRIX12_ARB */ - { 15357, 0x000088CD }, /* GL_MATRIX13_ARB */ - { 15373, 0x000088CE }, /* GL_MATRIX14_ARB */ - { 15389, 0x000088CF }, /* GL_MATRIX15_ARB */ - { 15405, 0x000088D0 }, /* GL_MATRIX16_ARB */ - { 15421, 0x000088D1 }, /* GL_MATRIX17_ARB */ - { 15437, 0x000088D2 }, /* GL_MATRIX18_ARB */ - { 15453, 0x000088D3 }, /* GL_MATRIX19_ARB */ - { 15469, 0x000088C1 }, /* GL_MATRIX1_ARB */ - { 15484, 0x00008631 }, /* GL_MATRIX1_NV */ - { 15498, 0x000088D4 }, /* GL_MATRIX20_ARB */ - { 15514, 0x000088D5 }, /* GL_MATRIX21_ARB */ - { 15530, 0x000088D6 }, /* GL_MATRIX22_ARB */ - { 15546, 0x000088D7 }, /* GL_MATRIX23_ARB */ - { 15562, 0x000088D8 }, /* GL_MATRIX24_ARB */ - { 15578, 0x000088D9 }, /* GL_MATRIX25_ARB */ - { 15594, 0x000088DA }, /* GL_MATRIX26_ARB */ - { 15610, 0x000088DB }, /* GL_MATRIX27_ARB */ - { 15626, 0x000088DC }, /* GL_MATRIX28_ARB */ - { 15642, 0x000088DD }, /* GL_MATRIX29_ARB */ - { 15658, 0x000088C2 }, /* GL_MATRIX2_ARB */ - { 15673, 0x00008632 }, /* GL_MATRIX2_NV */ - { 15687, 0x000088DE }, /* GL_MATRIX30_ARB */ - { 15703, 0x000088DF }, /* GL_MATRIX31_ARB */ - { 15719, 0x000088C3 }, /* GL_MATRIX3_ARB */ - { 15734, 0x00008633 }, /* GL_MATRIX3_NV */ - { 15748, 0x000088C4 }, /* GL_MATRIX4_ARB */ - { 15763, 0x00008634 }, /* GL_MATRIX4_NV */ - { 15777, 0x000088C5 }, /* GL_MATRIX5_ARB */ - { 15792, 0x00008635 }, /* GL_MATRIX5_NV */ - { 15806, 0x000088C6 }, /* GL_MATRIX6_ARB */ - { 15821, 0x00008636 }, /* GL_MATRIX6_NV */ - { 15835, 0x000088C7 }, /* GL_MATRIX7_ARB */ - { 15850, 0x00008637 }, /* GL_MATRIX7_NV */ - { 15864, 0x000088C8 }, /* GL_MATRIX8_ARB */ - { 15879, 0x000088C9 }, /* GL_MATRIX9_ARB */ - { 15894, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ - { 15920, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - { 15954, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - { 15985, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - { 16018, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - { 16049, 0x00000BA0 }, /* GL_MATRIX_MODE */ - { 16064, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ - { 16086, 0x00008008 }, /* GL_MAX */ - { 16093, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ - { 16116, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - { 16148, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ - { 16174, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - { 16207, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - { 16233, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 16267, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ - { 16286, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - { 16315, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - { 16347, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 16383, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - { 16419, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - { 16459, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ - { 16485, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ - { 16515, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ - { 16540, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ - { 16569, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - { 16598, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ - { 16631, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ - { 16651, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ - { 16675, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ - { 16699, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ - { 16723, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ - { 16748, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ - { 16766, 0x00008008 }, /* GL_MAX_EXT */ - { 16777, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - { 16812, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - { 16851, 0x00000D31 }, /* GL_MAX_LIGHTS */ - { 16865, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ - { 16885, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - { 16923, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - { 16952, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ - { 16976, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ - { 17004, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ - { 17027, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 17064, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 17100, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - { 17127, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - { 17156, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - { 17190, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - { 17226, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - { 17253, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - { 17285, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - { 17321, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - { 17350, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - { 17379, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ - { 17407, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - { 17445, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 17489, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 17532, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 17566, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 17605, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 17642, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 17680, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 17723, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 17766, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - { 17796, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - { 17827, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 17863, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 17899, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ - { 17929, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - { 17963, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ - { 17996, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - { 18025, 0x00008504 }, /* GL_MAX_SHININESS_NV */ - { 18045, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ - { 18069, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ - { 18091, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ - { 18117, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - { 18144, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - { 18175, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ - { 18199, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - { 18233, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ - { 18253, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ - { 18280, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ - { 18301, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ - { 18326, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ - { 18351, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ - { 18386, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ - { 18408, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ - { 18434, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ - { 18456, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - { 18482, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - { 18516, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - { 18554, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - { 18587, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - { 18624, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ - { 18648, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ - { 18669, 0x00008007 }, /* GL_MIN */ - { 18676, 0x0000802E }, /* GL_MINMAX */ - { 18686, 0x0000802E }, /* GL_MINMAX_EXT */ - { 18700, 0x0000802F }, /* GL_MINMAX_FORMAT */ - { 18717, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ - { 18738, 0x00008030 }, /* GL_MINMAX_SINK */ - { 18753, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ - { 18772, 0x00008007 }, /* GL_MIN_EXT */ - { 18783, 0x00008370 }, /* GL_MIRRORED_REPEAT */ - { 18802, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ - { 18825, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ - { 18848, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ - { 18868, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ - { 18888, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - { 18918, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ - { 18946, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - { 18974, 0x00001700 }, /* GL_MODELVIEW */ - { 18987, 0x00001700 }, /* GL_MODELVIEW0_ARB */ - { 19005, 0x0000872A }, /* GL_MODELVIEW10_ARB */ - { 19024, 0x0000872B }, /* GL_MODELVIEW11_ARB */ - { 19043, 0x0000872C }, /* GL_MODELVIEW12_ARB */ - { 19062, 0x0000872D }, /* GL_MODELVIEW13_ARB */ - { 19081, 0x0000872E }, /* GL_MODELVIEW14_ARB */ - { 19100, 0x0000872F }, /* GL_MODELVIEW15_ARB */ - { 19119, 0x00008730 }, /* GL_MODELVIEW16_ARB */ - { 19138, 0x00008731 }, /* GL_MODELVIEW17_ARB */ - { 19157, 0x00008732 }, /* GL_MODELVIEW18_ARB */ - { 19176, 0x00008733 }, /* GL_MODELVIEW19_ARB */ - { 19195, 0x0000850A }, /* GL_MODELVIEW1_ARB */ - { 19213, 0x00008734 }, /* GL_MODELVIEW20_ARB */ - { 19232, 0x00008735 }, /* GL_MODELVIEW21_ARB */ - { 19251, 0x00008736 }, /* GL_MODELVIEW22_ARB */ - { 19270, 0x00008737 }, /* GL_MODELVIEW23_ARB */ - { 19289, 0x00008738 }, /* GL_MODELVIEW24_ARB */ - { 19308, 0x00008739 }, /* GL_MODELVIEW25_ARB */ - { 19327, 0x0000873A }, /* GL_MODELVIEW26_ARB */ - { 19346, 0x0000873B }, /* GL_MODELVIEW27_ARB */ - { 19365, 0x0000873C }, /* GL_MODELVIEW28_ARB */ - { 19384, 0x0000873D }, /* GL_MODELVIEW29_ARB */ - { 19403, 0x00008722 }, /* GL_MODELVIEW2_ARB */ - { 19421, 0x0000873E }, /* GL_MODELVIEW30_ARB */ - { 19440, 0x0000873F }, /* GL_MODELVIEW31_ARB */ - { 19459, 0x00008723 }, /* GL_MODELVIEW3_ARB */ - { 19477, 0x00008724 }, /* GL_MODELVIEW4_ARB */ - { 19495, 0x00008725 }, /* GL_MODELVIEW5_ARB */ - { 19513, 0x00008726 }, /* GL_MODELVIEW6_ARB */ - { 19531, 0x00008727 }, /* GL_MODELVIEW7_ARB */ - { 19549, 0x00008728 }, /* GL_MODELVIEW8_ARB */ - { 19567, 0x00008729 }, /* GL_MODELVIEW9_ARB */ - { 19585, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ - { 19605, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ - { 19632, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ - { 19657, 0x00002100 }, /* GL_MODULATE */ - { 19669, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ - { 19689, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ - { 19716, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ - { 19741, 0x00000103 }, /* GL_MULT */ - { 19749, 0x0000809D }, /* GL_MULTISAMPLE */ - { 19764, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ - { 19784, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ - { 19803, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ - { 19822, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ - { 19846, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ - { 19869, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - { 19899, 0x00002A25 }, /* GL_N3F_V3F */ - { 19910, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ - { 19930, 0x0000150E }, /* GL_NAND */ - { 19938, 0x00002600 }, /* GL_NEAREST */ - { 19949, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - { 19980, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - { 20012, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ - { 20037, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ - { 20063, 0x00000200 }, /* GL_NEVER */ - { 20072, 0x00001102 }, /* GL_NICEST */ - { 20082, 0x00000000 }, /* GL_NONE */ - { 20090, 0x00001505 }, /* GL_NOOP */ - { 20098, 0x00001508 }, /* GL_NOR */ - { 20105, 0x00000BA1 }, /* GL_NORMALIZE */ - { 20118, 0x00008075 }, /* GL_NORMAL_ARRAY */ - { 20134, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - { 20165, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ - { 20200, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ - { 20224, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ - { 20247, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ - { 20268, 0x00008511 }, /* GL_NORMAL_MAP */ - { 20282, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ - { 20300, 0x00008511 }, /* GL_NORMAL_MAP_NV */ - { 20317, 0x00000205 }, /* GL_NOTEQUAL */ - { 20329, 0x00000000 }, /* GL_NO_ERROR */ - { 20341, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - { 20375, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ - { 20413, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - { 20445, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - { 20487, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - { 20517, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - { 20557, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - { 20588, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ - { 20617, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ - { 20645, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - { 20675, 0x00002401 }, /* GL_OBJECT_LINEAR */ - { 20692, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ - { 20718, 0x00002501 }, /* GL_OBJECT_PLANE */ - { 20734, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - { 20769, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ - { 20791, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ - { 20810, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - { 20840, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ - { 20861, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ - { 20889, 0x00000001 }, /* GL_ONE */ - { 20896, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - { 20924, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ - { 20956, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ - { 20984, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ - { 21016, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ - { 21039, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ - { 21062, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ - { 21085, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ - { 21108, 0x00008598 }, /* GL_OPERAND0_ALPHA */ - { 21126, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ - { 21148, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ - { 21170, 0x00008590 }, /* GL_OPERAND0_RGB */ - { 21186, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ - { 21206, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ - { 21226, 0x00008599 }, /* GL_OPERAND1_ALPHA */ - { 21244, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ - { 21266, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ - { 21288, 0x00008591 }, /* GL_OPERAND1_RGB */ - { 21304, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ - { 21324, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ - { 21344, 0x0000859A }, /* GL_OPERAND2_ALPHA */ - { 21362, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ - { 21384, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ - { 21406, 0x00008592 }, /* GL_OPERAND2_RGB */ - { 21422, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ - { 21442, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ - { 21462, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ - { 21483, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ - { 21502, 0x00001507 }, /* GL_OR */ - { 21508, 0x00000A01 }, /* GL_ORDER */ - { 21517, 0x0000150D }, /* GL_OR_INVERTED */ - { 21532, 0x0000150B }, /* GL_OR_REVERSE */ - { 21546, 0x00000505 }, /* GL_OUT_OF_MEMORY */ - { 21563, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ - { 21581, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ - { 21602, 0x00008758 }, /* GL_PACK_INVERT_MESA */ - { 21622, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ - { 21640, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ - { 21659, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ - { 21679, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ - { 21699, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ - { 21717, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ - { 21736, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ - { 21761, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ - { 21785, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ - { 21806, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ - { 21828, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ - { 21850, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ - { 21875, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ - { 21899, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ - { 21920, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ - { 21942, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ - { 21964, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ - { 21986, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ - { 22017, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ - { 22037, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - { 22062, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ - { 22082, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - { 22107, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ - { 22127, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - { 22152, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ - { 22172, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - { 22197, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ - { 22217, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - { 22242, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ - { 22262, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - { 22287, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ - { 22307, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - { 22332, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ - { 22352, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - { 22377, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ - { 22397, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - { 22422, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ - { 22442, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - { 22467, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ - { 22485, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - { 22518, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ - { 22543, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - { 22578, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - { 22605, 0x00001B00 }, /* GL_POINT */ - { 22614, 0x00000000 }, /* GL_POINTS */ - { 22624, 0x00000002 }, /* GL_POINT_BIT */ - { 22637, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ - { 22667, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ - { 22701, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ - { 22735, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ - { 22770, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ - { 22799, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ - { 22832, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ - { 22865, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ - { 22899, 0x00000B11 }, /* GL_POINT_SIZE */ - { 22913, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ - { 22939, 0x00008127 }, /* GL_POINT_SIZE_MAX */ - { 22957, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ - { 22979, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ - { 23001, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ - { 23024, 0x00008126 }, /* GL_POINT_SIZE_MIN */ - { 23042, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ - { 23064, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ - { 23086, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ - { 23109, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ - { 23129, 0x00000B10 }, /* GL_POINT_SMOOTH */ - { 23145, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ - { 23166, 0x00008861 }, /* GL_POINT_SPRITE */ - { 23182, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ - { 23202, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ - { 23231, 0x00008861 }, /* GL_POINT_SPRITE_NV */ - { 23250, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ - { 23276, 0x00000701 }, /* GL_POINT_TOKEN */ - { 23291, 0x00000009 }, /* GL_POLYGON */ - { 23302, 0x00000008 }, /* GL_POLYGON_BIT */ - { 23317, 0x00000B40 }, /* GL_POLYGON_MODE */ - { 23333, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ - { 23356, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ - { 23381, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ - { 23404, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ - { 23427, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ - { 23451, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ - { 23475, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ - { 23493, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ - { 23516, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ - { 23535, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ - { 23558, 0x00000703 }, /* GL_POLYGON_TOKEN */ - { 23575, 0x00001203 }, /* GL_POSITION */ - { 23587, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - { 23619, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ - { 23655, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - { 23688, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ - { 23725, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - { 23756, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ - { 23791, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - { 23823, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ - { 23859, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - { 23892, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - { 23924, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ - { 23960, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - { 23993, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ - { 24030, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - { 24060, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ - { 24094, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - { 24125, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ - { 24160, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - { 24191, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ - { 24226, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - { 24258, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ - { 24294, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - { 24324, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ - { 24358, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - { 24389, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ - { 24424, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - { 24456, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - { 24487, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ - { 24522, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - { 24554, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ - { 24590, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ - { 24619, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ - { 24652, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ - { 24682, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ - { 24716, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - { 24755, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - { 24788, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - { 24828, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - { 24862, 0x00008578 }, /* GL_PREVIOUS */ - { 24874, 0x00008578 }, /* GL_PREVIOUS_ARB */ - { 24890, 0x00008578 }, /* GL_PREVIOUS_EXT */ - { 24906, 0x00008577 }, /* GL_PRIMARY_COLOR */ - { 24923, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ - { 24944, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ - { 24965, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 24998, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 25030, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ - { 25053, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ - { 25076, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ - { 25106, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ - { 25135, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ - { 25163, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ - { 25185, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - { 25213, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - { 25241, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ - { 25263, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ - { 25284, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 25324, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 25363, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 25393, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 25428, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 25461, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 25495, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 25534, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 25573, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ - { 25595, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ - { 25621, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ - { 25645, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ - { 25668, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ - { 25690, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ - { 25711, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ - { 25732, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ - { 25759, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 25791, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 25823, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - { 25858, 0x00001701 }, /* GL_PROJECTION */ - { 25872, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ - { 25893, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ - { 25919, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ - { 25940, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ - { 25959, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ - { 25982, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - { 26021, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - { 26059, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ - { 26079, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - { 26109, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ - { 26133, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ - { 26153, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - { 26183, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ - { 26207, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ - { 26227, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - { 26260, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ - { 26286, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ - { 26316, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - { 26347, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ - { 26377, 0x00002003 }, /* GL_Q */ - { 26382, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ - { 26407, 0x00000007 }, /* GL_QUADS */ - { 26416, 0x00008614 }, /* GL_QUAD_MESH_SUN */ - { 26433, 0x00000008 }, /* GL_QUAD_STRIP */ - { 26447, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ - { 26469, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ - { 26495, 0x00008866 }, /* GL_QUERY_RESULT */ - { 26511, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ - { 26531, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ - { 26557, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ - { 26587, 0x00002002 }, /* GL_R */ - { 26592, 0x00002A10 }, /* GL_R3_G3_B2 */ - { 26604, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - { 26637, 0x00000C02 }, /* GL_READ_BUFFER */ - { 26652, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - { 26684, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ - { 26708, 0x000088B8 }, /* GL_READ_ONLY */ - { 26721, 0x000088B8 }, /* GL_READ_ONLY_ARB */ - { 26738, 0x000088BA }, /* GL_READ_WRITE */ - { 26752, 0x000088BA }, /* GL_READ_WRITE_ARB */ - { 26770, 0x00001903 }, /* GL_RED */ - { 26777, 0x00008016 }, /* GL_REDUCE */ - { 26787, 0x00008016 }, /* GL_REDUCE_EXT */ - { 26801, 0x00000D15 }, /* GL_RED_BIAS */ - { 26813, 0x00000D52 }, /* GL_RED_BITS */ - { 26825, 0x00000D14 }, /* GL_RED_SCALE */ - { 26838, 0x00008512 }, /* GL_REFLECTION_MAP */ - { 26856, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ - { 26878, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ - { 26899, 0x00001C00 }, /* GL_RENDER */ - { 26909, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ - { 26937, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ - { 26957, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ - { 26984, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - { 27020, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ - { 27046, 0x00001F01 }, /* GL_RENDERER */ - { 27058, 0x00000C40 }, /* GL_RENDER_MODE */ - { 27073, 0x00002901 }, /* GL_REPEAT */ - { 27083, 0x00001E01 }, /* GL_REPLACE */ - { 27094, 0x00008062 }, /* GL_REPLACE_EXT */ - { 27109, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ - { 27132, 0x0000803A }, /* GL_RESCALE_NORMAL */ - { 27150, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ - { 27172, 0x00000102 }, /* GL_RETURN */ - { 27182, 0x00001907 }, /* GL_RGB */ - { 27189, 0x00008052 }, /* GL_RGB10 */ - { 27198, 0x00008059 }, /* GL_RGB10_A2 */ - { 27210, 0x00008059 }, /* GL_RGB10_A2_EXT */ - { 27226, 0x00008052 }, /* GL_RGB10_EXT */ - { 27239, 0x00008053 }, /* GL_RGB12 */ - { 27248, 0x00008053 }, /* GL_RGB12_EXT */ - { 27261, 0x00008054 }, /* GL_RGB16 */ - { 27270, 0x00008054 }, /* GL_RGB16_EXT */ - { 27283, 0x0000804E }, /* GL_RGB2_EXT */ - { 27295, 0x0000804F }, /* GL_RGB4 */ - { 27303, 0x0000804F }, /* GL_RGB4_EXT */ - { 27315, 0x000083A1 }, /* GL_RGB4_S3TC */ - { 27328, 0x00008050 }, /* GL_RGB5 */ - { 27336, 0x00008057 }, /* GL_RGB5_A1 */ - { 27347, 0x00008057 }, /* GL_RGB5_A1_EXT */ - { 27362, 0x00008050 }, /* GL_RGB5_EXT */ - { 27374, 0x00008051 }, /* GL_RGB8 */ - { 27382, 0x00008051 }, /* GL_RGB8_EXT */ - { 27394, 0x00001908 }, /* GL_RGBA */ - { 27402, 0x0000805A }, /* GL_RGBA12 */ - { 27412, 0x0000805A }, /* GL_RGBA12_EXT */ - { 27426, 0x0000805B }, /* GL_RGBA16 */ - { 27436, 0x0000805B }, /* GL_RGBA16_EXT */ - { 27450, 0x00008055 }, /* GL_RGBA2 */ - { 27459, 0x00008055 }, /* GL_RGBA2_EXT */ - { 27472, 0x00008056 }, /* GL_RGBA4 */ - { 27481, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ - { 27500, 0x00008056 }, /* GL_RGBA4_EXT */ - { 27513, 0x000083A3 }, /* GL_RGBA4_S3TC */ - { 27527, 0x00008058 }, /* GL_RGBA8 */ - { 27536, 0x00008058 }, /* GL_RGBA8_EXT */ - { 27549, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ - { 27567, 0x00000C31 }, /* GL_RGBA_MODE */ - { 27580, 0x000083A2 }, /* GL_RGBA_S3TC */ - { 27593, 0x000083A0 }, /* GL_RGB_S3TC */ - { 27605, 0x00008573 }, /* GL_RGB_SCALE */ - { 27618, 0x00008573 }, /* GL_RGB_SCALE_ARB */ - { 27635, 0x00008573 }, /* GL_RGB_SCALE_EXT */ - { 27652, 0x00000407 }, /* GL_RIGHT */ - { 27661, 0x00002000 }, /* GL_S */ - { 27666, 0x00008B5D }, /* GL_SAMPLER_1D */ - { 27680, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ - { 27701, 0x00008B5E }, /* GL_SAMPLER_2D */ - { 27715, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ - { 27736, 0x00008B5F }, /* GL_SAMPLER_3D */ - { 27750, 0x00008B60 }, /* GL_SAMPLER_CUBE */ - { 27766, 0x000080A9 }, /* GL_SAMPLES */ - { 27777, 0x000086B4 }, /* GL_SAMPLES_3DFX */ - { 27793, 0x000080A9 }, /* GL_SAMPLES_ARB */ - { 27808, 0x00008914 }, /* GL_SAMPLES_PASSED */ - { 27826, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ - { 27848, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - { 27876, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ - { 27908, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ - { 27931, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ - { 27958, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ - { 27976, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ - { 27999, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ - { 28021, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ - { 28040, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ - { 28063, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ - { 28089, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ - { 28119, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ - { 28144, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ - { 28173, 0x00080000 }, /* GL_SCISSOR_BIT */ - { 28188, 0x00000C10 }, /* GL_SCISSOR_BOX */ - { 28203, 0x00000C11 }, /* GL_SCISSOR_TEST */ - { 28219, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ - { 28244, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - { 28284, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 28328, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - { 28361, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - { 28391, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - { 28423, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - { 28453, 0x00001C02 }, /* GL_SELECT */ - { 28463, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ - { 28491, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ - { 28516, 0x00008012 }, /* GL_SEPARABLE_2D */ - { 28532, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ - { 28559, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ - { 28590, 0x0000150F }, /* GL_SET */ - { 28597, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ - { 28618, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ - { 28642, 0x00008B4F }, /* GL_SHADER_TYPE */ - { 28657, 0x00000B54 }, /* GL_SHADE_MODEL */ - { 28672, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ - { 28700, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ - { 28723, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - { 28753, 0x00001601 }, /* GL_SHININESS */ - { 28766, 0x00001402 }, /* GL_SHORT */ - { 28775, 0x000081F9 }, /* GL_SINGLE_COLOR */ - { 28791, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ - { 28811, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ - { 28830, 0x00001D01 }, /* GL_SMOOTH */ - { 28840, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ - { 28873, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ - { 28900, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ - { 28933, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ - { 28960, 0x00008588 }, /* GL_SOURCE0_ALPHA */ - { 28977, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ - { 28998, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ - { 29019, 0x00008580 }, /* GL_SOURCE0_RGB */ - { 29034, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ - { 29053, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ - { 29072, 0x00008589 }, /* GL_SOURCE1_ALPHA */ - { 29089, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ - { 29110, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ - { 29131, 0x00008581 }, /* GL_SOURCE1_RGB */ - { 29146, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ - { 29165, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ - { 29184, 0x0000858A }, /* GL_SOURCE2_ALPHA */ - { 29201, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ - { 29222, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ - { 29243, 0x00008582 }, /* GL_SOURCE2_RGB */ - { 29258, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ - { 29277, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ - { 29296, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ - { 29316, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ - { 29334, 0x00001202 }, /* GL_SPECULAR */ - { 29346, 0x00002402 }, /* GL_SPHERE_MAP */ - { 29360, 0x00001206 }, /* GL_SPOT_CUTOFF */ - { 29375, 0x00001204 }, /* GL_SPOT_DIRECTION */ - { 29393, 0x00001205 }, /* GL_SPOT_EXPONENT */ - { 29410, 0x00008588 }, /* GL_SRC0_ALPHA */ - { 29424, 0x00008580 }, /* GL_SRC0_RGB */ - { 29436, 0x00008589 }, /* GL_SRC1_ALPHA */ - { 29450, 0x00008581 }, /* GL_SRC1_RGB */ - { 29462, 0x0000858A }, /* GL_SRC2_ALPHA */ - { 29476, 0x00008582 }, /* GL_SRC2_RGB */ - { 29488, 0x00000302 }, /* GL_SRC_ALPHA */ - { 29501, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ - { 29523, 0x00000300 }, /* GL_SRC_COLOR */ - { 29536, 0x00000503 }, /* GL_STACK_OVERFLOW */ - { 29554, 0x00000504 }, /* GL_STACK_UNDERFLOW */ - { 29573, 0x000088E6 }, /* GL_STATIC_COPY */ - { 29588, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ - { 29607, 0x000088E4 }, /* GL_STATIC_DRAW */ - { 29622, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ - { 29641, 0x000088E5 }, /* GL_STATIC_READ */ - { 29656, 0x000088E5 }, /* GL_STATIC_READ_ARB */ - { 29675, 0x00001802 }, /* GL_STENCIL */ - { 29686, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ - { 29712, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ - { 29733, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ - { 29758, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ - { 29779, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ - { 29804, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - { 29836, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ - { 29872, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - { 29904, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ - { 29940, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ - { 29960, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ - { 29987, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ - { 30013, 0x00000D57 }, /* GL_STENCIL_BITS */ - { 30029, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ - { 30051, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ - { 30074, 0x00000B94 }, /* GL_STENCIL_FAIL */ - { 30090, 0x00000B92 }, /* GL_STENCIL_FUNC */ - { 30106, 0x00001901 }, /* GL_STENCIL_INDEX */ - { 30123, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ - { 30146, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ - { 30168, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ - { 30190, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ - { 30212, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ - { 30233, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ - { 30260, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ - { 30287, 0x00000B97 }, /* GL_STENCIL_REF */ - { 30302, 0x00000B90 }, /* GL_STENCIL_TEST */ - { 30318, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - { 30347, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ - { 30369, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ - { 30390, 0x00000C33 }, /* GL_STEREO */ - { 30400, 0x000088E2 }, /* GL_STREAM_COPY */ - { 30415, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ - { 30434, 0x000088E0 }, /* GL_STREAM_DRAW */ - { 30449, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ - { 30468, 0x000088E1 }, /* GL_STREAM_READ */ - { 30483, 0x000088E1 }, /* GL_STREAM_READ_ARB */ - { 30502, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ - { 30519, 0x000084E7 }, /* GL_SUBTRACT */ - { 30531, 0x000084E7 }, /* GL_SUBTRACT_ARB */ - { 30547, 0x00002001 }, /* GL_T */ - { 30552, 0x00002A2A }, /* GL_T2F_C3F_V3F */ - { 30567, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ - { 30586, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ - { 30602, 0x00002A2B }, /* GL_T2F_N3F_V3F */ - { 30617, 0x00002A27 }, /* GL_T2F_V3F */ - { 30628, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ - { 30647, 0x00002A28 }, /* GL_T4F_V4F */ - { 30658, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ - { 30681, 0x00001702 }, /* GL_TEXTURE */ - { 30692, 0x000084C0 }, /* GL_TEXTURE0 */ - { 30704, 0x000084C0 }, /* GL_TEXTURE0_ARB */ - { 30720, 0x000084C1 }, /* GL_TEXTURE1 */ - { 30732, 0x000084CA }, /* GL_TEXTURE10 */ - { 30745, 0x000084CA }, /* GL_TEXTURE10_ARB */ - { 30762, 0x000084CB }, /* GL_TEXTURE11 */ - { 30775, 0x000084CB }, /* GL_TEXTURE11_ARB */ - { 30792, 0x000084CC }, /* GL_TEXTURE12 */ - { 30805, 0x000084CC }, /* GL_TEXTURE12_ARB */ - { 30822, 0x000084CD }, /* GL_TEXTURE13 */ - { 30835, 0x000084CD }, /* GL_TEXTURE13_ARB */ - { 30852, 0x000084CE }, /* GL_TEXTURE14 */ - { 30865, 0x000084CE }, /* GL_TEXTURE14_ARB */ - { 30882, 0x000084CF }, /* GL_TEXTURE15 */ - { 30895, 0x000084CF }, /* GL_TEXTURE15_ARB */ - { 30912, 0x000084D0 }, /* GL_TEXTURE16 */ - { 30925, 0x000084D0 }, /* GL_TEXTURE16_ARB */ - { 30942, 0x000084D1 }, /* GL_TEXTURE17 */ - { 30955, 0x000084D1 }, /* GL_TEXTURE17_ARB */ - { 30972, 0x000084D2 }, /* GL_TEXTURE18 */ - { 30985, 0x000084D2 }, /* GL_TEXTURE18_ARB */ - { 31002, 0x000084D3 }, /* GL_TEXTURE19 */ - { 31015, 0x000084D3 }, /* GL_TEXTURE19_ARB */ - { 31032, 0x000084C1 }, /* GL_TEXTURE1_ARB */ - { 31048, 0x000084C2 }, /* GL_TEXTURE2 */ - { 31060, 0x000084D4 }, /* GL_TEXTURE20 */ - { 31073, 0x000084D4 }, /* GL_TEXTURE20_ARB */ - { 31090, 0x000084D5 }, /* GL_TEXTURE21 */ - { 31103, 0x000084D5 }, /* GL_TEXTURE21_ARB */ - { 31120, 0x000084D6 }, /* GL_TEXTURE22 */ - { 31133, 0x000084D6 }, /* GL_TEXTURE22_ARB */ - { 31150, 0x000084D7 }, /* GL_TEXTURE23 */ - { 31163, 0x000084D7 }, /* GL_TEXTURE23_ARB */ - { 31180, 0x000084D8 }, /* GL_TEXTURE24 */ - { 31193, 0x000084D8 }, /* GL_TEXTURE24_ARB */ - { 31210, 0x000084D9 }, /* GL_TEXTURE25 */ - { 31223, 0x000084D9 }, /* GL_TEXTURE25_ARB */ - { 31240, 0x000084DA }, /* GL_TEXTURE26 */ - { 31253, 0x000084DA }, /* GL_TEXTURE26_ARB */ - { 31270, 0x000084DB }, /* GL_TEXTURE27 */ - { 31283, 0x000084DB }, /* GL_TEXTURE27_ARB */ - { 31300, 0x000084DC }, /* GL_TEXTURE28 */ - { 31313, 0x000084DC }, /* GL_TEXTURE28_ARB */ - { 31330, 0x000084DD }, /* GL_TEXTURE29 */ - { 31343, 0x000084DD }, /* GL_TEXTURE29_ARB */ - { 31360, 0x000084C2 }, /* GL_TEXTURE2_ARB */ - { 31376, 0x000084C3 }, /* GL_TEXTURE3 */ - { 31388, 0x000084DE }, /* GL_TEXTURE30 */ - { 31401, 0x000084DE }, /* GL_TEXTURE30_ARB */ - { 31418, 0x000084DF }, /* GL_TEXTURE31 */ - { 31431, 0x000084DF }, /* GL_TEXTURE31_ARB */ - { 31448, 0x000084C3 }, /* GL_TEXTURE3_ARB */ - { 31464, 0x000084C4 }, /* GL_TEXTURE4 */ - { 31476, 0x000084C4 }, /* GL_TEXTURE4_ARB */ - { 31492, 0x000084C5 }, /* GL_TEXTURE5 */ - { 31504, 0x000084C5 }, /* GL_TEXTURE5_ARB */ - { 31520, 0x000084C6 }, /* GL_TEXTURE6 */ - { 31532, 0x000084C6 }, /* GL_TEXTURE6_ARB */ - { 31548, 0x000084C7 }, /* GL_TEXTURE7 */ - { 31560, 0x000084C7 }, /* GL_TEXTURE7_ARB */ - { 31576, 0x000084C8 }, /* GL_TEXTURE8 */ - { 31588, 0x000084C8 }, /* GL_TEXTURE8_ARB */ - { 31604, 0x000084C9 }, /* GL_TEXTURE9 */ - { 31616, 0x000084C9 }, /* GL_TEXTURE9_ARB */ - { 31632, 0x00000DE0 }, /* GL_TEXTURE_1D */ - { 31646, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ - { 31670, 0x00000DE1 }, /* GL_TEXTURE_2D */ - { 31684, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ - { 31708, 0x0000806F }, /* GL_TEXTURE_3D */ - { 31722, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ - { 31744, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ - { 31770, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ - { 31792, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ - { 31814, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - { 31846, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ - { 31868, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - { 31900, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ - { 31922, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ - { 31950, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ - { 31982, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - { 32015, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ - { 32047, 0x00040000 }, /* GL_TEXTURE_BIT */ - { 32062, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ - { 32083, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ - { 32108, 0x00001005 }, /* GL_TEXTURE_BORDER */ - { 32126, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ - { 32150, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - { 32181, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - { 32211, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - { 32241, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - { 32276, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - { 32307, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 32345, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ - { 32372, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - { 32404, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - { 32438, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ - { 32462, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ - { 32490, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ - { 32514, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ - { 32542, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - { 32575, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ - { 32599, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ - { 32621, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ - { 32643, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ - { 32669, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 32703, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - { 32736, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ - { 32773, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ - { 32801, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ - { 32833, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ - { 32856, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - { 32894, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ - { 32936, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - { 32967, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - { 32995, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - { 33025, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - { 33053, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ - { 33073, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ - { 33097, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - { 33128, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ - { 33163, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - { 33194, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ - { 33229, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - { 33260, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ - { 33295, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - { 33326, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ - { 33361, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - { 33392, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ - { 33427, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - { 33458, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ - { 33493, 0x00008071 }, /* GL_TEXTURE_DEPTH */ - { 33510, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ - { 33532, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ - { 33558, 0x00002300 }, /* GL_TEXTURE_ENV */ - { 33573, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ - { 33594, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ - { 33614, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ - { 33640, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ - { 33660, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ - { 33677, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ - { 33694, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ - { 33711, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ - { 33728, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ - { 33753, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ - { 33775, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ - { 33801, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ - { 33819, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ - { 33845, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ - { 33871, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ - { 33901, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ - { 33928, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ - { 33953, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ - { 33973, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ - { 33997, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - { 34024, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - { 34051, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - { 34078, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ - { 34104, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ - { 34134, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ - { 34156, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ - { 34174, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - { 34204, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - { 34232, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - { 34260, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - { 34288, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ - { 34309, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ - { 34328, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ - { 34350, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ - { 34369, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ - { 34389, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ - { 34414, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ - { 34438, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ - { 34458, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ - { 34482, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ - { 34502, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ - { 34525, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ - { 34550, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - { 34584, 0x00001000 }, /* GL_TEXTURE_WIDTH */ - { 34601, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ - { 34619, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ - { 34637, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ - { 34655, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ - { 34675, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ - { 34694, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - { 34723, 0x00001000 }, /* GL_TRANSFORM_BIT */ - { 34740, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ - { 34766, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ - { 34796, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - { 34828, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - { 34858, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ - { 34892, 0x0000862C }, /* GL_TRANSPOSE_NV */ - { 34908, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - { 34939, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ - { 34974, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - { 35002, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ - { 35034, 0x00000004 }, /* GL_TRIANGLES */ - { 35047, 0x00000006 }, /* GL_TRIANGLE_FAN */ - { 35063, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ - { 35084, 0x00000005 }, /* GL_TRIANGLE_STRIP */ - { 35102, 0x00000001 }, /* GL_TRUE */ - { 35110, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ - { 35130, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ - { 35153, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ - { 35173, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ - { 35194, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ - { 35216, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ - { 35238, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ - { 35258, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ - { 35279, 0x00001401 }, /* GL_UNSIGNED_BYTE */ - { 35296, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - { 35323, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ - { 35346, 0x00001405 }, /* GL_UNSIGNED_INT */ - { 35362, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ - { 35389, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ - { 35413, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - { 35444, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ - { 35468, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - { 35496, 0x00001403 }, /* GL_UNSIGNED_SHORT */ - { 35514, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - { 35544, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - { 35570, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - { 35600, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - { 35626, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ - { 35650, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - { 35678, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - { 35706, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ - { 35733, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - { 35765, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ - { 35796, 0x00008CA2 }, /* GL_UPPER_LEFT */ - { 35810, 0x00002A20 }, /* GL_V2F */ - { 35817, 0x00002A21 }, /* GL_V3F */ - { 35824, 0x00008B83 }, /* GL_VALIDATE_STATUS */ - { 35843, 0x00001F00 }, /* GL_VENDOR */ - { 35853, 0x00001F02 }, /* GL_VERSION */ - { 35864, 0x00008074 }, /* GL_VERTEX_ARRAY */ - { 35880, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - { 35910, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - { 35941, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ - { 35976, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ - { 36000, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ - { 36021, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ - { 36044, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ - { 36065, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - { 36092, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - { 36120, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - { 36148, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - { 36176, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - { 36204, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - { 36232, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - { 36260, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - { 36287, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - { 36314, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - { 36341, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - { 36368, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - { 36395, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - { 36422, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - { 36449, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - { 36476, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - { 36503, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - { 36541, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 36583, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - { 36614, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 36649, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - { 36683, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 36721, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - { 36752, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 36787, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - { 36815, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 36847, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - { 36877, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 36911, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - { 36939, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 36971, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 36991, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 37013, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 37042, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 37063, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - { 37092, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 37125, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 37157, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - { 37184, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 37215, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 37245, 0x00008B31 }, /* GL_VERTEX_SHADER */ - { 37262, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 37283, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 37310, 0x00000BA2 }, /* GL_VIEWPORT */ - { 37322, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 37338, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 37358, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 37389, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 37424, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 37452, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 37477, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 37504, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 37529, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 37553, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 37572, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 37586, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 37604, 0x00001506 }, /* GL_XOR */ - { 37611, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 37630, 0x00008757 }, /* GL_YCBCR_MESA */ - { 37644, 0x00000000 }, /* GL_ZERO */ - { 37652, 0x00000D16 }, /* GL_ZOOM_X */ - { 37662, 0x00000D17 }, /* GL_ZOOM_Y */ + { 877, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */ + { 901, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */ + { 929, 0x00008B85 }, /* GL_ATTACHED_SHADERS */ + { 949, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */ + { 976, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */ + { 1000, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */ + { 1026, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */ + { 1050, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */ + { 1072, 0x00000D80 }, /* GL_AUTO_NORMAL */ + { 1087, 0x00000409 }, /* GL_AUX0 */ + { 1095, 0x0000040A }, /* GL_AUX1 */ + { 1103, 0x0000040B }, /* GL_AUX2 */ + { 1111, 0x0000040C }, /* GL_AUX3 */ + { 1119, 0x00000C00 }, /* GL_AUX_BUFFERS */ + { 1134, 0x00000405 }, /* GL_BACK */ + { 1142, 0x00000402 }, /* GL_BACK_LEFT */ + { 1155, 0x00000403 }, /* GL_BACK_RIGHT */ + { 1169, 0x000080E0 }, /* GL_BGR */ + { 1176, 0x000080E1 }, /* GL_BGRA */ + { 1184, 0x00001A00 }, /* GL_BITMAP */ + { 1194, 0x00000704 }, /* GL_BITMAP_TOKEN */ + { 1210, 0x00000BE2 }, /* GL_BLEND */ + { 1219, 0x00008005 }, /* GL_BLEND_COLOR */ + { 1234, 0x00008005 }, /* GL_BLEND_COLOR_EXT */ + { 1253, 0x00000BE0 }, /* GL_BLEND_DST */ + { 1266, 0x000080CA }, /* GL_BLEND_DST_ALPHA */ + { 1285, 0x000080C8 }, /* GL_BLEND_DST_RGB */ + { 1302, 0x00008009 }, /* GL_BLEND_EQUATION */ + { 1320, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */ + { 1344, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */ + { 1372, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */ + { 1394, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */ + { 1420, 0x00000BE1 }, /* GL_BLEND_SRC */ + { 1433, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */ + { 1452, 0x000080C9 }, /* GL_BLEND_SRC_RGB */ + { 1469, 0x00001905 }, /* GL_BLUE */ + { 1477, 0x00000D1B }, /* GL_BLUE_BIAS */ + { 1490, 0x00000D54 }, /* GL_BLUE_BITS */ + { 1503, 0x00000D1A }, /* GL_BLUE_SCALE */ + { 1517, 0x00008B56 }, /* GL_BOOL */ + { 1525, 0x00008B56 }, /* GL_BOOL_ARB */ + { 1537, 0x00008B57 }, /* GL_BOOL_VEC2 */ + { 1550, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */ + { 1567, 0x00008B58 }, /* GL_BOOL_VEC3 */ + { 1580, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */ + { 1597, 0x00008B59 }, /* GL_BOOL_VEC4 */ + { 1610, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */ + { 1627, 0x000088BB }, /* GL_BUFFER_ACCESS */ + { 1644, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */ + { 1665, 0x000088BC }, /* GL_BUFFER_MAPPED */ + { 1682, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */ + { 1703, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */ + { 1725, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */ + { 1751, 0x00008764 }, /* GL_BUFFER_SIZE */ + { 1766, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */ + { 1785, 0x00008765 }, /* GL_BUFFER_USAGE */ + { 1801, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */ + { 1821, 0x00001400 }, /* GL_BYTE */ + { 1829, 0x00002A24 }, /* GL_C3F_V3F */ + { 1840, 0x00002A26 }, /* GL_C4F_N3F_V3F */ + { 1855, 0x00002A22 }, /* GL_C4UB_V2F */ + { 1867, 0x00002A23 }, /* GL_C4UB_V3F */ + { 1879, 0x00000901 }, /* GL_CCW */ + { 1886, 0x00002900 }, /* GL_CLAMP */ + { 1895, 0x0000812D }, /* GL_CLAMP_TO_BORDER */ + { 1914, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */ + { 1937, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */ + { 1961, 0x0000812F }, /* GL_CLAMP_TO_EDGE */ + { 1978, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */ + { 2000, 0x00001500 }, /* GL_CLEAR */ + { 2009, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */ + { 2034, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */ + { 2063, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */ + { 2089, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + { 2118, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */ + { 2144, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */ + { 2171, 0x00003000 }, /* GL_CLIP_PLANE0 */ + { 2186, 0x00003001 }, /* GL_CLIP_PLANE1 */ + { 2201, 0x00003002 }, /* GL_CLIP_PLANE2 */ + { 2216, 0x00003003 }, /* GL_CLIP_PLANE3 */ + { 2231, 0x00003004 }, /* GL_CLIP_PLANE4 */ + { 2246, 0x00003005 }, /* GL_CLIP_PLANE5 */ + { 2261, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + { 2294, 0x00000A00 }, /* GL_COEFF */ + { 2303, 0x00001800 }, /* GL_COLOR */ + { 2312, 0x00008076 }, /* GL_COLOR_ARRAY */ + { 2327, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + { 2357, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 2391, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */ + { 2414, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */ + { 2434, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */ + { 2456, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */ + { 2476, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */ + { 2501, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */ + { 2527, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */ + { 2553, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */ + { 2579, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */ + { 2605, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */ + { 2631, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */ + { 2657, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */ + { 2682, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */ + { 2707, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */ + { 2732, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */ + { 2757, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */ + { 2782, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */ + { 2807, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */ + { 2832, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */ + { 2857, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */ + { 2882, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */ + { 2902, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */ + { 2923, 0x00001900 }, /* GL_COLOR_INDEX */ + { 2938, 0x00001603 }, /* GL_COLOR_INDEXES */ + { 2955, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */ + { 2973, 0x00000B57 }, /* GL_COLOR_MATERIAL */ + { 2991, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */ + { 3014, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */ + { 3042, 0x000080B1 }, /* GL_COLOR_MATRIX */ + { 3058, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */ + { 3078, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */ + { 3106, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 3138, 0x00008458 }, /* GL_COLOR_SUM */ + { 3151, 0x00008458 }, /* GL_COLOR_SUM_ARB */ + { 3168, 0x000080D0 }, /* GL_COLOR_TABLE */ + { 3183, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */ + { 3209, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */ + { 3239, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */ + { 3269, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */ + { 3289, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */ + { 3313, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */ + { 3338, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */ + { 3367, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */ + { 3396, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */ + { 3418, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */ + { 3444, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */ + { 3470, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */ + { 3496, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */ + { 3526, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */ + { 3556, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + { 3586, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */ + { 3620, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */ + { 3654, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + { 3684, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */ + { 3718, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */ + { 3752, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */ + { 3776, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */ + { 3804, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */ + { 3832, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */ + { 3853, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */ + { 3878, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */ + { 3899, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */ + { 3924, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */ + { 3949, 0x00000C23 }, /* GL_COLOR_WRITEMASK */ + { 3968, 0x00008570 }, /* GL_COMBINE */ + { 3979, 0x00008503 }, /* GL_COMBINE4 */ + { 3991, 0x00008572 }, /* GL_COMBINE_ALPHA */ + { 4008, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */ + { 4029, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */ + { 4050, 0x00008570 }, /* GL_COMBINE_ARB */ + { 4065, 0x00008570 }, /* GL_COMBINE_EXT */ + { 4080, 0x00008571 }, /* GL_COMBINE_RGB */ + { 4095, 0x00008571 }, /* GL_COMBINE_RGB_ARB */ + { 4114, 0x00008571 }, /* GL_COMBINE_RGB_EXT */ + { 4133, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */ + { 4169, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */ + { 4193, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */ + { 4221, 0x00001300 }, /* GL_COMPILE */ + { 4232, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */ + { 4255, 0x00008B81 }, /* GL_COMPILE_STATUS */ + { 4273, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */ + { 4293, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */ + { 4317, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */ + { 4341, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */ + { 4369, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */ + { 4393, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + { 4423, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */ + { 4457, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */ + { 4485, 0x000084ED }, /* GL_COMPRESSED_RGB */ + { 4503, 0x000084EE }, /* GL_COMPRESSED_RGBA */ + { 4522, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */ + { 4545, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + { 4574, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + { 4607, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + { 4640, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + { 4673, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */ + { 4695, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + { 4723, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + { 4755, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */ + { 4785, 0x00008576 }, /* GL_CONSTANT */ + { 4797, 0x00008003 }, /* GL_CONSTANT_ALPHA */ + { 4815, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */ + { 4837, 0x00008576 }, /* GL_CONSTANT_ARB */ + { 4853, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */ + { 4877, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */ + { 4899, 0x00008001 }, /* GL_CONSTANT_COLOR */ + { 4917, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */ + { 4939, 0x00008576 }, /* GL_CONSTANT_EXT */ + { 4955, 0x00008010 }, /* GL_CONVOLUTION_1D */ + { 4973, 0x00008011 }, /* GL_CONVOLUTION_2D */ + { 4991, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */ + { 5019, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */ + { 5050, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */ + { 5077, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */ + { 5108, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */ + { 5135, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */ + { 5166, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */ + { 5194, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */ + { 5226, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */ + { 5248, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */ + { 5274, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */ + { 5296, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */ + { 5322, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */ + { 5343, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */ + { 5368, 0x00008862 }, /* GL_COORD_REPLACE */ + { 5385, 0x00008862 }, /* GL_COORD_REPLACE_ARB */ + { 5406, 0x00008862 }, /* GL_COORD_REPLACE_NV */ + { 5426, 0x00001503 }, /* GL_COPY */ + { 5434, 0x0000150C }, /* GL_COPY_INVERTED */ + { 5451, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */ + { 5471, 0x00000B44 }, /* GL_CULL_FACE */ + { 5484, 0x00000B45 }, /* GL_CULL_FACE_MODE */ + { 5502, 0x000081AA }, /* GL_CULL_VERTEX_EXT */ + { 5521, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + { 5553, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + { 5588, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */ + { 5609, 0x00000001 }, /* GL_CURRENT_BIT */ + { 5624, 0x00000B00 }, /* GL_CURRENT_COLOR */ + { 5641, 0x00008453 }, /* GL_CURRENT_FOG_COORD */ + { 5662, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */ + { 5688, 0x00000B01 }, /* GL_CURRENT_INDEX */ + { 5705, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */ + { 5727, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */ + { 5755, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */ + { 5776, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + { 5810, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */ + { 5843, 0x00000B02 }, /* GL_CURRENT_NORMAL */ + { 5861, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + { 5891, 0x00008B8D }, /* GL_CURRENT_PROGRAM */ + { 5910, 0x00008865 }, /* GL_CURRENT_QUERY */ + { 5927, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */ + { 5948, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */ + { 5972, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */ + { 5999, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */ + { 6023, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */ + { 6050, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */ + { 6083, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + { 6116, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */ + { 6143, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */ + { 6169, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */ + { 6194, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */ + { 6223, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */ + { 6245, 0x00000900 }, /* GL_CW */ + { 6251, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */ + { 6272, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */ + { 6293, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */ + { 6313, 0x00002101 }, /* GL_DECAL */ + { 6322, 0x00001E03 }, /* GL_DECR */ + { 6330, 0x00008508 }, /* GL_DECR_WRAP */ + { 6343, 0x00008508 }, /* GL_DECR_WRAP_EXT */ + { 6360, 0x00008B80 }, /* GL_DELETE_STATUS */ + { 6377, 0x00001801 }, /* GL_DEPTH */ + { 6386, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */ + { 6410, 0x00000D1F }, /* GL_DEPTH_BIAS */ + { 6424, 0x00000D56 }, /* GL_DEPTH_BITS */ + { 6438, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */ + { 6458, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */ + { 6483, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */ + { 6503, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */ + { 6521, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */ + { 6542, 0x00001902 }, /* GL_DEPTH_COMPONENT */ + { 6561, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */ + { 6582, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */ + { 6607, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */ + { 6633, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */ + { 6654, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */ + { 6679, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */ + { 6705, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */ + { 6726, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */ + { 6751, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */ + { 6777, 0x00000B74 }, /* GL_DEPTH_FUNC */ + { 6791, 0x00000B70 }, /* GL_DEPTH_RANGE */ + { 6806, 0x00000D1E }, /* GL_DEPTH_SCALE */ + { 6821, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */ + { 6841, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + { 6869, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + { 6897, 0x00000B71 }, /* GL_DEPTH_TEST */ + { 6911, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */ + { 6933, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */ + { 6959, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */ + { 6978, 0x00001201 }, /* GL_DIFFUSE */ + { 6989, 0x00000BD0 }, /* GL_DITHER */ + { 6999, 0x00000A02 }, /* GL_DOMAIN */ + { 7009, 0x00001100 }, /* GL_DONT_CARE */ + { 7022, 0x000086AE }, /* GL_DOT3_RGB */ + { 7034, 0x000086AF }, /* GL_DOT3_RGBA */ + { 7047, 0x000086AF }, /* GL_DOT3_RGBA_ARB */ + { 7064, 0x00008741 }, /* GL_DOT3_RGBA_EXT */ + { 7081, 0x000086AE }, /* GL_DOT3_RGB_ARB */ + { 7097, 0x00008740 }, /* GL_DOT3_RGB_EXT */ + { 7113, 0x0000140A }, /* GL_DOUBLE */ + { 7123, 0x00000C32 }, /* GL_DOUBLEBUFFER */ + { 7139, 0x00000C01 }, /* GL_DRAW_BUFFER */ + { 7154, 0x00008825 }, /* GL_DRAW_BUFFER0 */ + { 7170, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */ + { 7190, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */ + { 7210, 0x00008826 }, /* GL_DRAW_BUFFER1 */ + { 7226, 0x0000882F }, /* GL_DRAW_BUFFER10 */ + { 7243, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */ + { 7264, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */ + { 7285, 0x00008830 }, /* GL_DRAW_BUFFER11 */ + { 7302, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */ + { 7323, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */ + { 7344, 0x00008831 }, /* GL_DRAW_BUFFER12 */ + { 7361, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */ + { 7382, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */ + { 7403, 0x00008832 }, /* GL_DRAW_BUFFER13 */ + { 7420, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */ + { 7441, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */ + { 7462, 0x00008833 }, /* GL_DRAW_BUFFER14 */ + { 7479, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */ + { 7500, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */ + { 7521, 0x00008834 }, /* GL_DRAW_BUFFER15 */ + { 7538, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */ + { 7559, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */ + { 7580, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */ + { 7600, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */ + { 7620, 0x00008827 }, /* GL_DRAW_BUFFER2 */ + { 7636, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */ + { 7656, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */ + { 7676, 0x00008828 }, /* GL_DRAW_BUFFER3 */ + { 7692, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */ + { 7712, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */ + { 7732, 0x00008829 }, /* GL_DRAW_BUFFER4 */ + { 7748, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */ + { 7768, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */ + { 7788, 0x0000882A }, /* GL_DRAW_BUFFER5 */ + { 7804, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */ + { 7824, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */ + { 7844, 0x0000882B }, /* GL_DRAW_BUFFER6 */ + { 7860, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */ + { 7880, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */ + { 7900, 0x0000882C }, /* GL_DRAW_BUFFER7 */ + { 7916, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */ + { 7936, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */ + { 7956, 0x0000882D }, /* GL_DRAW_BUFFER8 */ + { 7972, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */ + { 7992, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */ + { 8012, 0x0000882E }, /* GL_DRAW_BUFFER9 */ + { 8028, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */ + { 8048, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */ + { 8068, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + { 8100, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */ + { 8124, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */ + { 8144, 0x00000304 }, /* GL_DST_ALPHA */ + { 8157, 0x00000306 }, /* GL_DST_COLOR */ + { 8170, 0x000088EA }, /* GL_DYNAMIC_COPY */ + { 8186, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */ + { 8206, 0x000088E8 }, /* GL_DYNAMIC_DRAW */ + { 8222, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */ + { 8242, 0x000088E9 }, /* GL_DYNAMIC_READ */ + { 8258, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */ + { 8278, 0x00000B43 }, /* GL_EDGE_FLAG */ + { 8291, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */ + { 8310, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + { 8344, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */ + { 8382, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */ + { 8409, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + { 8435, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */ + { 8459, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + { 8491, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */ + { 8527, 0x00001600 }, /* GL_EMISSION */ + { 8539, 0x00002000 }, /* GL_ENABLE_BIT */ + { 8553, 0x00000202 }, /* GL_EQUAL */ + { 8562, 0x00001509 }, /* GL_EQUIV */ + { 8571, 0x00010000 }, /* GL_EVAL_BIT */ + { 8583, 0x00000800 }, /* GL_EXP */ + { 8590, 0x00000801 }, /* GL_EXP2 */ + { 8598, 0x00001F03 }, /* GL_EXTENSIONS */ + { 8612, 0x00002400 }, /* GL_EYE_LINEAR */ + { 8626, 0x00002502 }, /* GL_EYE_PLANE */ + { 8639, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */ + { 8664, 0x0000855B }, /* GL_EYE_RADIAL_NV */ + { 8681, 0x00000000 }, /* GL_FALSE */ + { 8690, 0x00001101 }, /* GL_FASTEST */ + { 8701, 0x00001C01 }, /* GL_FEEDBACK */ + { 8713, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */ + { 8740, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */ + { 8764, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */ + { 8788, 0x00001B02 }, /* GL_FILL */ + { 8796, 0x00001D00 }, /* GL_FLAT */ + { 8804, 0x00001406 }, /* GL_FLOAT */ + { 8813, 0x00008B5A }, /* GL_FLOAT_MAT2 */ + { 8827, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */ + { 8845, 0x00008B5B }, /* GL_FLOAT_MAT3 */ + { 8859, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */ + { 8877, 0x00008B5C }, /* GL_FLOAT_MAT4 */ + { 8891, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */ + { 8909, 0x00008B50 }, /* GL_FLOAT_VEC2 */ + { 8923, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */ + { 8941, 0x00008B51 }, /* GL_FLOAT_VEC3 */ + { 8955, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */ + { 8973, 0x00008B52 }, /* GL_FLOAT_VEC4 */ + { 8987, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */ + { 9005, 0x00000B60 }, /* GL_FOG */ + { 9012, 0x00000080 }, /* GL_FOG_BIT */ + { 9023, 0x00000B66 }, /* GL_FOG_COLOR */ + { 9036, 0x00008451 }, /* GL_FOG_COORD */ + { 9049, 0x00008451 }, /* GL_FOG_COORDINATE */ + { 9067, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */ + { 9091, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + { 9130, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */ + { 9173, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + { 9205, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + { 9236, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + { 9265, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */ + { 9290, 0x00008457 }, /* GL_FOG_COORD_ARRAY */ + { 9309, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */ + { 9343, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */ + { 9370, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */ + { 9396, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */ + { 9420, 0x00008450 }, /* GL_FOG_COORD_SRC */ + { 9437, 0x00000B62 }, /* GL_FOG_DENSITY */ + { 9452, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */ + { 9476, 0x00000B64 }, /* GL_FOG_END */ + { 9487, 0x00000C54 }, /* GL_FOG_HINT */ + { 9499, 0x00000B61 }, /* GL_FOG_INDEX */ + { 9512, 0x00000B65 }, /* GL_FOG_MODE */ + { 9524, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */ + { 9543, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */ + { 9568, 0x00000B63 }, /* GL_FOG_START */ + { 9581, 0x00008452 }, /* GL_FRAGMENT_DEPTH */ + { 9599, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */ + { 9623, 0x00008B30 }, /* GL_FRAGMENT_SHADER */ + { 9642, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */ + { 9665, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + { 9700, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ + { 9742, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ + { 9784, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ + { 9833, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ + { 9885, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */ + { 9929, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ + { 9973, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */ + { 10000, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */ + { 10028, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */ + { 10047, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ + { 10088, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + { 10129, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + { 10171, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + { 10222, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + { 10260, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ + { 10309, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + { 10351, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + { 10383, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ + { 10414, 0x00000404 }, /* GL_FRONT */ + { 10423, 0x00000408 }, /* GL_FRONT_AND_BACK */ + { 10441, 0x00000B46 }, /* GL_FRONT_FACE */ + { 10455, 0x00000400 }, /* GL_FRONT_LEFT */ + { 10469, 0x00000401 }, /* GL_FRONT_RIGHT */ + { 10484, 0x00008006 }, /* GL_FUNC_ADD */ + { 10496, 0x00008006 }, /* GL_FUNC_ADD_EXT */ + { 10512, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */ + { 10537, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */ + { 10566, 0x0000800A }, /* GL_FUNC_SUBTRACT */ + { 10583, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */ + { 10604, 0x00008191 }, /* GL_GENERATE_MIPMAP */ + { 10623, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */ + { 10647, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */ + { 10676, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */ + { 10700, 0x00000206 }, /* GL_GEQUAL */ + { 10710, 0x00008009 }, /* GL_GL_BLEND_EQUATION_RGB */ + { 10735, 0x00008C4A }, /* GL_GL_COMPRESSED_SLUMINANCE */ + { 10763, 0x00008C4B }, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */ + { 10797, 0x00008C48 }, /* GL_GL_COMPRESSED_SRGB */ + { 10819, 0x00008C49 }, /* GL_GL_COMPRESSED_SRGB_ALPHA */ + { 10847, 0x0000845F }, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */ + { 10884, 0x00008B65 }, /* GL_GL_FLOAT_MAT2x3 */ + { 10903, 0x00008B66 }, /* GL_GL_FLOAT_MAT2x4 */ + { 10922, 0x00008B67 }, /* GL_GL_FLOAT_MAT3x2 */ + { 10941, 0x00008B68 }, /* GL_GL_FLOAT_MAT3x4 */ + { 10960, 0x00008B69 }, /* GL_GL_FLOAT_MAT4x2 */ + { 10979, 0x00008B6A }, /* GL_GL_FLOAT_MAT4x3 */ + { 10998, 0x000088EB }, /* GL_GL_PIXEL_PACK_BUFFER */ + { 11022, 0x000088ED }, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */ + { 11054, 0x000088EC }, /* GL_GL_PIXEL_UNPACK_BUFFER */ + { 11080, 0x000088EF }, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 11114, 0x00008C46 }, /* GL_GL_SLUMINANCE */ + { 11131, 0x00008C47 }, /* GL_GL_SLUMINANCE8 */ + { 11149, 0x00008C45 }, /* GL_GL_SLUMINANCE8_ALPHA8 */ + { 11174, 0x00008C44 }, /* GL_GL_SLUMINANCE_ALPHA */ + { 11197, 0x00008C40 }, /* GL_GL_SRGB */ + { 11208, 0x00008C41 }, /* GL_GL_SRGB8 */ + { 11220, 0x00008C43 }, /* GL_GL_SRGB8_ALPHA8 */ + { 11239, 0x00008C42 }, /* GL_GL_SRGB_ALPHA */ + { 11256, 0x00000204 }, /* GL_GREATER */ + { 11267, 0x00001904 }, /* GL_GREEN */ + { 11276, 0x00000D19 }, /* GL_GREEN_BIAS */ + { 11290, 0x00000D53 }, /* GL_GREEN_BITS */ + { 11304, 0x00000D18 }, /* GL_GREEN_SCALE */ + { 11319, 0x00008000 }, /* GL_HINT_BIT */ + { 11331, 0x00008024 }, /* GL_HISTOGRAM */ + { 11344, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ + { 11368, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ + { 11396, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ + { 11419, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ + { 11446, 0x00008024 }, /* GL_HISTOGRAM_EXT */ + { 11463, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ + { 11483, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ + { 11507, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ + { 11531, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ + { 11559, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + { 11587, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ + { 11619, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ + { 11641, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ + { 11667, 0x0000802D }, /* GL_HISTOGRAM_SINK */ + { 11685, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ + { 11707, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ + { 11726, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ + { 11749, 0x0000862A }, /* GL_IDENTITY_NV */ + { 11764, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ + { 11784, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + { 11824, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + { 11862, 0x00001E02 }, /* GL_INCR */ + { 11870, 0x00008507 }, /* GL_INCR_WRAP */ + { 11883, 0x00008507 }, /* GL_INCR_WRAP_EXT */ + { 11900, 0x00008077 }, /* GL_INDEX_ARRAY */ + { 11915, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + { 11945, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ + { 11979, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ + { 12002, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ + { 12024, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ + { 12044, 0x00000D51 }, /* GL_INDEX_BITS */ + { 12058, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ + { 12079, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ + { 12097, 0x00000C30 }, /* GL_INDEX_MODE */ + { 12111, 0x00000D13 }, /* GL_INDEX_OFFSET */ + { 12127, 0x00000D12 }, /* GL_INDEX_SHIFT */ + { 12142, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ + { 12161, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ + { 12180, 0x00001404 }, /* GL_INT */ + { 12187, 0x00008049 }, /* GL_INTENSITY */ + { 12200, 0x0000804C }, /* GL_INTENSITY12 */ + { 12215, 0x0000804C }, /* GL_INTENSITY12_EXT */ + { 12234, 0x0000804D }, /* GL_INTENSITY16 */ + { 12249, 0x0000804D }, /* GL_INTENSITY16_EXT */ + { 12268, 0x0000804A }, /* GL_INTENSITY4 */ + { 12282, 0x0000804A }, /* GL_INTENSITY4_EXT */ + { 12300, 0x0000804B }, /* GL_INTENSITY8 */ + { 12314, 0x0000804B }, /* GL_INTENSITY8_EXT */ + { 12332, 0x00008049 }, /* GL_INTENSITY_EXT */ + { 12349, 0x00008575 }, /* GL_INTERPOLATE */ + { 12364, 0x00008575 }, /* GL_INTERPOLATE_ARB */ + { 12383, 0x00008575 }, /* GL_INTERPOLATE_EXT */ + { 12402, 0x00008B53 }, /* GL_INT_VEC2 */ + { 12414, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 12430, 0x00008B54 }, /* GL_INT_VEC3 */ + { 12442, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 12458, 0x00008B55 }, /* GL_INT_VEC4 */ + { 12470, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 12486, 0x00000500 }, /* GL_INVALID_ENUM */ + { 12502, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 12539, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 12560, 0x00000501 }, /* GL_INVALID_VALUE */ + { 12577, 0x0000862B }, /* GL_INVERSE_NV */ + { 12591, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 12615, 0x0000150A }, /* GL_INVERT */ + { 12625, 0x00001E00 }, /* GL_KEEP */ + { 12633, 0x00000406 }, /* GL_LEFT */ + { 12641, 0x00000203 }, /* GL_LEQUAL */ + { 12651, 0x00000201 }, /* GL_LESS */ + { 12659, 0x00004000 }, /* GL_LIGHT0 */ + { 12669, 0x00004001 }, /* GL_LIGHT1 */ + { 12679, 0x00004002 }, /* GL_LIGHT2 */ + { 12689, 0x00004003 }, /* GL_LIGHT3 */ + { 12699, 0x00004004 }, /* GL_LIGHT4 */ + { 12709, 0x00004005 }, /* GL_LIGHT5 */ + { 12719, 0x00004006 }, /* GL_LIGHT6 */ + { 12729, 0x00004007 }, /* GL_LIGHT7 */ + { 12739, 0x00000B50 }, /* GL_LIGHTING */ + { 12751, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 12767, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 12790, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 12819, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 12852, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 12880, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 12904, 0x00001B01 }, /* GL_LINE */ + { 12912, 0x00002601 }, /* GL_LINEAR */ + { 12922, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 12944, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 12974, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 13005, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 13029, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 13054, 0x00000001 }, /* GL_LINES */ + { 13063, 0x00000004 }, /* GL_LINE_BIT */ + { 13075, 0x00000002 }, /* GL_LINE_LOOP */ + { 13088, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 13108, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 13123, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 13143, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 13159, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 13183, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 13206, 0x00000003 }, /* GL_LINE_STRIP */ + { 13220, 0x00000702 }, /* GL_LINE_TOKEN */ + { 13234, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 13248, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 13274, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 13294, 0x00008B82 }, /* GL_LINK_STATUS */ + { 13309, 0x00000B32 }, /* GL_LIST_BASE */ + { 13322, 0x00020000 }, /* GL_LIST_BIT */ + { 13334, 0x00000B33 }, /* GL_LIST_INDEX */ + { 13348, 0x00000B30 }, /* GL_LIST_MODE */ + { 13361, 0x00000101 }, /* GL_LOAD */ + { 13369, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 13381, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 13398, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 13412, 0x00001909 }, /* GL_LUMINANCE */ + { 13425, 0x00008041 }, /* GL_LUMINANCE12 */ + { 13440, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 13463, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 13490, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 13512, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 13538, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 13557, 0x00008042 }, /* GL_LUMINANCE16 */ + { 13572, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 13595, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 13622, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 13641, 0x0000803F }, /* GL_LUMINANCE4 */ + { 13655, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 13676, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 13701, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 13719, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 13740, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 13765, 0x00008040 }, /* GL_LUMINANCE8 */ + { 13779, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 13800, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 13825, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 13843, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 13862, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 13878, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 13898, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 13920, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 13934, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 13949, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 13973, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 13997, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 14021, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 14045, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 14062, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 14079, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 14107, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 14136, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 14165, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 14194, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 14223, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 14252, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 14281, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 14309, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 14337, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 14365, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 14393, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 14421, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 14449, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 14477, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 14505, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 14533, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 14549, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 14569, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 14591, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 14605, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 14620, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 14644, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 14668, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 14692, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 14716, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 14733, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 14750, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 14778, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 14807, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 14836, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 14865, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 14894, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 14923, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 14952, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 14980, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 15008, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 15036, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 15064, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 15092, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 15120, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 15148, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 15176, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 15204, 0x00000D10 }, /* GL_MAP_COLOR */ + { 15217, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 15232, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 15247, 0x00008630 }, /* GL_MATRIX0_NV */ + { 15261, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 15277, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 15293, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 15309, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 15325, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 15341, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 15357, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 15373, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 15389, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 15405, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 15421, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 15436, 0x00008631 }, /* GL_MATRIX1_NV */ + { 15450, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 15466, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 15482, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 15498, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 15514, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 15530, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 15546, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 15562, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 15578, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 15594, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 15610, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 15625, 0x00008632 }, /* GL_MATRIX2_NV */ + { 15639, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 15655, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 15671, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 15686, 0x00008633 }, /* GL_MATRIX3_NV */ + { 15700, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 15715, 0x00008634 }, /* GL_MATRIX4_NV */ + { 15729, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 15744, 0x00008635 }, /* GL_MATRIX5_NV */ + { 15758, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 15773, 0x00008636 }, /* GL_MATRIX6_NV */ + { 15787, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 15802, 0x00008637 }, /* GL_MATRIX7_NV */ + { 15816, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 15831, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 15846, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 15872, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 15906, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 15937, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 15970, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 16001, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 16016, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 16038, 0x00008008 }, /* GL_MAX */ + { 16045, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 16068, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + { 16100, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 16126, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 16159, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 16185, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 16219, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 16238, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 16267, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 16299, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 16335, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 16371, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 16411, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 16437, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 16467, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 16492, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 16521, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 16550, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 16583, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 16603, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 16627, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 16651, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 16675, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 16700, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 16718, 0x00008008 }, /* GL_MAX_EXT */ + { 16729, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 16764, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 16803, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 16817, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 16837, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 16875, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 16904, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 16928, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 16956, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 16979, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 17016, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 17052, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 17079, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 17108, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 17142, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 17178, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 17205, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 17237, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 17273, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 17302, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 17331, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 17359, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 17397, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 17441, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 17484, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 17518, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 17557, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 17594, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 17632, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 17675, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 17718, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 17748, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 17779, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 17815, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 17851, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 17881, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 17915, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 17948, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 17977, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 17997, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 18021, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 18043, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 18069, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 18096, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 18127, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 18151, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 18185, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 18205, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 18232, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 18253, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 18278, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 18303, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 18338, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 18360, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 18386, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 18408, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 18434, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 18468, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 18506, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 18539, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 18576, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 18600, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 18621, 0x00008007 }, /* GL_MIN */ + { 18628, 0x0000802E }, /* GL_MINMAX */ + { 18638, 0x0000802E }, /* GL_MINMAX_EXT */ + { 18652, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 18669, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 18690, 0x00008030 }, /* GL_MINMAX_SINK */ + { 18705, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 18724, 0x00008007 }, /* GL_MIN_EXT */ + { 18735, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 18754, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 18777, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 18800, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 18820, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 18840, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 18870, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 18898, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 18926, 0x00001700 }, /* GL_MODELVIEW */ + { 18939, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 18957, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 18976, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 18995, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 19014, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 19033, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 19052, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 19071, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 19090, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 19109, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 19128, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 19147, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 19165, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 19184, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 19203, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 19222, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 19241, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 19260, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 19279, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 19298, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 19317, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 19336, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 19355, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 19373, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 19392, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 19411, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 19429, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 19447, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 19465, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 19483, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 19501, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 19519, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 19537, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 19557, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 19584, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 19609, 0x00002100 }, /* GL_MODULATE */ + { 19621, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 19641, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 19668, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 19693, 0x00000103 }, /* GL_MULT */ + { 19701, 0x0000809D }, /* GL_MULTISAMPLE */ + { 19716, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 19736, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 19755, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 19774, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 19798, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 19821, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 19851, 0x00002A25 }, /* GL_N3F_V3F */ + { 19862, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 19882, 0x0000150E }, /* GL_NAND */ + { 19890, 0x00002600 }, /* GL_NEAREST */ + { 19901, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 19932, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 19964, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 19989, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 20015, 0x00000200 }, /* GL_NEVER */ + { 20024, 0x00001102 }, /* GL_NICEST */ + { 20034, 0x00000000 }, /* GL_NONE */ + { 20042, 0x00001505 }, /* GL_NOOP */ + { 20050, 0x00001508 }, /* GL_NOR */ + { 20057, 0x00000BA1 }, /* GL_NORMALIZE */ + { 20070, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 20086, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 20117, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 20152, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 20176, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 20199, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 20220, 0x00008511 }, /* GL_NORMAL_MAP */ + { 20234, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 20252, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 20269, 0x00000205 }, /* GL_NOTEQUAL */ + { 20281, 0x00000000 }, /* GL_NO_ERROR */ + { 20293, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 20327, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 20365, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 20397, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 20439, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 20469, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 20509, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 20540, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 20569, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 20597, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 20627, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 20644, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 20670, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 20686, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 20721, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 20743, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 20762, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 20792, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 20813, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 20841, 0x00000001 }, /* GL_ONE */ + { 20848, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 20876, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 20908, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 20936, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 20968, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 20991, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 21014, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 21037, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 21060, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 21078, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 21100, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 21122, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 21138, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 21158, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 21178, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 21196, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 21218, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 21240, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 21256, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 21276, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 21296, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 21314, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 21336, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 21358, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 21374, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 21394, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 21414, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 21435, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 21454, 0x00001507 }, /* GL_OR */ + { 21460, 0x00000A01 }, /* GL_ORDER */ + { 21469, 0x0000150D }, /* GL_OR_INVERTED */ + { 21484, 0x0000150B }, /* GL_OR_REVERSE */ + { 21498, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 21515, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 21533, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 21554, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 21574, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 21592, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 21611, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 21631, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 21651, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 21669, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 21688, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 21713, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 21737, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 21758, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 21780, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 21802, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 21827, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 21851, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 21872, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 21894, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 21916, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 21938, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 21969, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 21989, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 22014, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 22034, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 22059, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 22079, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 22104, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 22124, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 22149, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 22169, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 22194, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 22214, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 22239, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 22259, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 22284, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 22304, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 22329, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 22349, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 22374, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 22394, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 22419, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 22437, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 22470, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 22495, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 22530, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 22557, 0x00001B00 }, /* GL_POINT */ + { 22566, 0x00000000 }, /* GL_POINTS */ + { 22576, 0x00000002 }, /* GL_POINT_BIT */ + { 22589, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 22619, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 22653, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 22687, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 22722, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 22751, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 22784, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 22817, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 22851, 0x00000B11 }, /* GL_POINT_SIZE */ + { 22865, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 22891, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 22909, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 22931, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 22953, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 22976, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 22994, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 23016, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 23038, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 23061, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 23081, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 23097, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 23118, 0x00008861 }, /* GL_POINT_SPRITE */ + { 23134, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 23154, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 23183, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 23202, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 23228, 0x00000701 }, /* GL_POINT_TOKEN */ + { 23243, 0x00000009 }, /* GL_POLYGON */ + { 23254, 0x00000008 }, /* GL_POLYGON_BIT */ + { 23269, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 23285, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 23308, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 23333, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 23356, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 23379, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 23403, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 23427, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 23445, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 23468, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 23487, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 23510, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 23527, 0x00001203 }, /* GL_POSITION */ + { 23539, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 23571, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 23607, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 23640, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 23677, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 23708, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 23743, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 23775, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 23811, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 23844, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 23876, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 23912, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 23945, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 23982, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 24012, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 24046, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 24077, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 24112, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 24143, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 24178, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 24210, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 24246, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 24276, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 24310, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 24341, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 24376, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 24408, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 24439, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 24474, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 24506, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 24542, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 24571, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 24604, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 24634, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 24668, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 24707, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 24740, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 24780, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 24814, 0x00008578 }, /* GL_PREVIOUS */ + { 24826, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 24842, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 24858, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 24875, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 24896, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 24917, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 24950, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 24982, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 25005, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 25028, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 25058, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 25087, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 25115, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 25137, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 25165, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 25193, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 25215, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 25236, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 25276, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 25315, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 25345, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 25380, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 25413, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 25447, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 25486, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 25525, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 25547, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 25573, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 25597, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 25620, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 25642, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 25663, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 25684, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 25711, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 25743, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 25775, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 25810, 0x00001701 }, /* GL_PROJECTION */ + { 25824, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 25845, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 25871, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 25892, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 25911, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 25934, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 25973, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 26011, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 26031, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + { 26061, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 26085, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 26105, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + { 26135, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 26159, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 26179, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 26212, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 26238, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 26268, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 26299, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 26329, 0x00002003 }, /* GL_Q */ + { 26334, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 26359, 0x00000007 }, /* GL_QUADS */ + { 26368, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 26385, 0x00000008 }, /* GL_QUAD_STRIP */ + { 26399, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 26421, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 26447, 0x00008866 }, /* GL_QUERY_RESULT */ + { 26463, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 26483, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 26509, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 26539, 0x00002002 }, /* GL_R */ + { 26544, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 26556, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 26589, 0x00000C02 }, /* GL_READ_BUFFER */ + { 26604, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 26636, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 26660, 0x000088B8 }, /* GL_READ_ONLY */ + { 26673, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 26690, 0x000088BA }, /* GL_READ_WRITE */ + { 26704, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 26722, 0x00001903 }, /* GL_RED */ + { 26729, 0x00008016 }, /* GL_REDUCE */ + { 26739, 0x00008016 }, /* GL_REDUCE_EXT */ + { 26753, 0x00000D15 }, /* GL_RED_BIAS */ + { 26765, 0x00000D52 }, /* GL_RED_BITS */ + { 26777, 0x00000D14 }, /* GL_RED_SCALE */ + { 26790, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 26808, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 26830, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 26851, 0x00001C00 }, /* GL_RENDER */ + { 26861, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 26889, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 26909, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 26936, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 26972, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 26998, 0x00001F01 }, /* GL_RENDERER */ + { 27010, 0x00000C40 }, /* GL_RENDER_MODE */ + { 27025, 0x00002901 }, /* GL_REPEAT */ + { 27035, 0x00001E01 }, /* GL_REPLACE */ + { 27046, 0x00008062 }, /* GL_REPLACE_EXT */ + { 27061, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 27084, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 27102, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 27124, 0x00000102 }, /* GL_RETURN */ + { 27134, 0x00001907 }, /* GL_RGB */ + { 27141, 0x00008052 }, /* GL_RGB10 */ + { 27150, 0x00008059 }, /* GL_RGB10_A2 */ + { 27162, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 27178, 0x00008052 }, /* GL_RGB10_EXT */ + { 27191, 0x00008053 }, /* GL_RGB12 */ + { 27200, 0x00008053 }, /* GL_RGB12_EXT */ + { 27213, 0x00008054 }, /* GL_RGB16 */ + { 27222, 0x00008054 }, /* GL_RGB16_EXT */ + { 27235, 0x0000804E }, /* GL_RGB2_EXT */ + { 27247, 0x0000804F }, /* GL_RGB4 */ + { 27255, 0x0000804F }, /* GL_RGB4_EXT */ + { 27267, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 27280, 0x00008050 }, /* GL_RGB5 */ + { 27288, 0x00008057 }, /* GL_RGB5_A1 */ + { 27299, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 27314, 0x00008050 }, /* GL_RGB5_EXT */ + { 27326, 0x00008051 }, /* GL_RGB8 */ + { 27334, 0x00008051 }, /* GL_RGB8_EXT */ + { 27346, 0x00001908 }, /* GL_RGBA */ + { 27354, 0x0000805A }, /* GL_RGBA12 */ + { 27364, 0x0000805A }, /* GL_RGBA12_EXT */ + { 27378, 0x0000805B }, /* GL_RGBA16 */ + { 27388, 0x0000805B }, /* GL_RGBA16_EXT */ + { 27402, 0x00008055 }, /* GL_RGBA2 */ + { 27411, 0x00008055 }, /* GL_RGBA2_EXT */ + { 27424, 0x00008056 }, /* GL_RGBA4 */ + { 27433, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 27452, 0x00008056 }, /* GL_RGBA4_EXT */ + { 27465, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 27479, 0x00008058 }, /* GL_RGBA8 */ + { 27488, 0x00008058 }, /* GL_RGBA8_EXT */ + { 27501, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 27519, 0x00000C31 }, /* GL_RGBA_MODE */ + { 27532, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 27545, 0x000083A0 }, /* GL_RGB_S3TC */ + { 27557, 0x00008573 }, /* GL_RGB_SCALE */ + { 27570, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 27587, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 27604, 0x00000407 }, /* GL_RIGHT */ + { 27613, 0x00002000 }, /* GL_S */ + { 27618, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 27632, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 27653, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 27667, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 27688, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 27702, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 27718, 0x000080A9 }, /* GL_SAMPLES */ + { 27729, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 27745, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 27760, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 27778, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 27800, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 27828, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 27860, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 27883, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 27910, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 27928, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 27951, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 27973, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 27992, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 28015, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 28041, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 28071, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 28096, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 28125, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 28140, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 28155, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 28171, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 28196, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 28236, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 28280, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 28313, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 28343, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 28375, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 28405, 0x00001C02 }, /* GL_SELECT */ + { 28415, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 28443, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 28468, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 28484, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 28511, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 28542, 0x0000150F }, /* GL_SET */ + { 28549, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 28570, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 28594, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 28609, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 28624, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 28652, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 28675, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 28705, 0x00001601 }, /* GL_SHININESS */ + { 28718, 0x00001402 }, /* GL_SHORT */ + { 28727, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 28743, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 28763, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 28782, 0x00001D01 }, /* GL_SMOOTH */ + { 28792, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 28825, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 28852, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 28885, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 28912, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 28929, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 28950, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 28971, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 28986, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 29005, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 29024, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 29041, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 29062, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 29083, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 29098, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 29117, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 29136, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 29153, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 29174, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 29195, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 29210, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 29229, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 29248, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 29268, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 29286, 0x00001202 }, /* GL_SPECULAR */ + { 29298, 0x00002402 }, /* GL_SPHERE_MAP */ + { 29312, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 29327, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 29345, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 29362, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 29376, 0x00008580 }, /* GL_SRC0_RGB */ + { 29388, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 29402, 0x00008581 }, /* GL_SRC1_RGB */ + { 29414, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 29428, 0x00008582 }, /* GL_SRC2_RGB */ + { 29440, 0x00000302 }, /* GL_SRC_ALPHA */ + { 29453, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 29475, 0x00000300 }, /* GL_SRC_COLOR */ + { 29488, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 29506, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 29525, 0x000088E6 }, /* GL_STATIC_COPY */ + { 29540, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 29559, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 29574, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 29593, 0x000088E5 }, /* GL_STATIC_READ */ + { 29608, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 29627, 0x00001802 }, /* GL_STENCIL */ + { 29638, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 29664, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 29685, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 29710, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 29731, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 29756, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 29788, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 29824, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 29856, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 29892, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 29912, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 29939, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 29965, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 29981, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 30003, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 30026, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 30042, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 30058, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 30075, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 30098, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 30120, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 30142, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 30164, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 30185, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 30212, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 30239, 0x00000B97 }, /* GL_STENCIL_REF */ + { 30254, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 30270, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 30299, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 30321, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 30342, 0x00000C33 }, /* GL_STEREO */ + { 30352, 0x000088E2 }, /* GL_STREAM_COPY */ + { 30367, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 30386, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 30401, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 30420, 0x000088E1 }, /* GL_STREAM_READ */ + { 30435, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 30454, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 30471, 0x000084E7 }, /* GL_SUBTRACT */ + { 30483, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 30499, 0x00002001 }, /* GL_T */ + { 30504, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 30519, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 30538, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 30554, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 30569, 0x00002A27 }, /* GL_T2F_V3F */ + { 30580, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 30599, 0x00002A28 }, /* GL_T4F_V4F */ + { 30610, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 30633, 0x00001702 }, /* GL_TEXTURE */ + { 30644, 0x000084C0 }, /* GL_TEXTURE0 */ + { 30656, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 30672, 0x000084C1 }, /* GL_TEXTURE1 */ + { 30684, 0x000084CA }, /* GL_TEXTURE10 */ + { 30697, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 30714, 0x000084CB }, /* GL_TEXTURE11 */ + { 30727, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 30744, 0x000084CC }, /* GL_TEXTURE12 */ + { 30757, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 30774, 0x000084CD }, /* GL_TEXTURE13 */ + { 30787, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 30804, 0x000084CE }, /* GL_TEXTURE14 */ + { 30817, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 30834, 0x000084CF }, /* GL_TEXTURE15 */ + { 30847, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 30864, 0x000084D0 }, /* GL_TEXTURE16 */ + { 30877, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 30894, 0x000084D1 }, /* GL_TEXTURE17 */ + { 30907, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 30924, 0x000084D2 }, /* GL_TEXTURE18 */ + { 30937, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 30954, 0x000084D3 }, /* GL_TEXTURE19 */ + { 30967, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 30984, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 31000, 0x000084C2 }, /* GL_TEXTURE2 */ + { 31012, 0x000084D4 }, /* GL_TEXTURE20 */ + { 31025, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 31042, 0x000084D5 }, /* GL_TEXTURE21 */ + { 31055, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 31072, 0x000084D6 }, /* GL_TEXTURE22 */ + { 31085, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 31102, 0x000084D7 }, /* GL_TEXTURE23 */ + { 31115, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 31132, 0x000084D8 }, /* GL_TEXTURE24 */ + { 31145, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 31162, 0x000084D9 }, /* GL_TEXTURE25 */ + { 31175, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 31192, 0x000084DA }, /* GL_TEXTURE26 */ + { 31205, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 31222, 0x000084DB }, /* GL_TEXTURE27 */ + { 31235, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 31252, 0x000084DC }, /* GL_TEXTURE28 */ + { 31265, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 31282, 0x000084DD }, /* GL_TEXTURE29 */ + { 31295, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 31312, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 31328, 0x000084C3 }, /* GL_TEXTURE3 */ + { 31340, 0x000084DE }, /* GL_TEXTURE30 */ + { 31353, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 31370, 0x000084DF }, /* GL_TEXTURE31 */ + { 31383, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 31400, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 31416, 0x000084C4 }, /* GL_TEXTURE4 */ + { 31428, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 31444, 0x000084C5 }, /* GL_TEXTURE5 */ + { 31456, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 31472, 0x000084C6 }, /* GL_TEXTURE6 */ + { 31484, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 31500, 0x000084C7 }, /* GL_TEXTURE7 */ + { 31512, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 31528, 0x000084C8 }, /* GL_TEXTURE8 */ + { 31540, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 31556, 0x000084C9 }, /* GL_TEXTURE9 */ + { 31568, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 31584, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 31598, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ + { 31622, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 31636, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ + { 31660, 0x0000806F }, /* GL_TEXTURE_3D */ + { 31674, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 31696, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 31722, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 31744, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 31766, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + { 31798, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 31820, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + { 31852, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 31874, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 31902, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 31934, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 31967, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 31999, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 32014, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 32035, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 32060, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 32078, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 32102, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 32133, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 32163, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 32193, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 32228, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 32259, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 32297, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 32324, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 32356, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 32390, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 32414, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 32442, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 32466, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 32494, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 32527, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 32551, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 32573, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 32595, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 32621, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 32655, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 32688, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 32725, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 32753, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 32785, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 32808, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 32846, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 32888, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 32919, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 32947, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 32977, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 33005, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 33025, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 33049, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 33080, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 33115, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 33146, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 33181, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 33212, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 33247, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 33278, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 33313, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 33344, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 33379, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 33410, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 33445, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 33462, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 33484, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 33510, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 33525, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 33546, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 33566, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 33592, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 33612, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 33629, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 33646, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 33663, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 33680, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 33705, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 33727, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 33753, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 33771, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 33797, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 33823, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 33853, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 33880, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 33905, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 33925, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 33949, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 33976, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 34003, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 34030, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 34056, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 34086, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 34108, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 34126, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 34156, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 34184, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 34212, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 34240, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 34261, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 34280, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 34302, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 34321, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 34341, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 34366, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 34390, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 34410, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 34434, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 34454, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 34477, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 34502, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 34536, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 34553, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 34571, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 34589, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 34607, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 34627, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 34646, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 34675, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 34692, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 34718, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 34748, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 34780, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 34810, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 34844, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 34860, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 34891, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 34926, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 34954, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 34986, 0x00000004 }, /* GL_TRIANGLES */ + { 34999, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 35015, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 35036, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 35054, 0x00000001 }, /* GL_TRUE */ + { 35062, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 35082, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 35105, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 35125, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 35146, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 35168, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 35190, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 35210, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 35231, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 35248, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 35275, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 35298, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 35314, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 35341, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 35365, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 35396, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 35420, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 35448, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 35466, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 35496, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 35522, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 35552, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 35578, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 35602, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 35630, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 35658, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 35685, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 35717, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 35748, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 35762, 0x00002A20 }, /* GL_V2F */ + { 35769, 0x00002A21 }, /* GL_V3F */ + { 35776, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 35795, 0x00001F00 }, /* GL_VENDOR */ + { 35805, 0x00001F02 }, /* GL_VERSION */ + { 35816, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 35832, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 35862, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 35893, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 35928, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 35952, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 35973, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 35996, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 36017, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 36044, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 36072, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 36100, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 36128, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 36156, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 36184, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 36212, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 36239, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 36266, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 36293, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 36320, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 36347, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 36374, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 36401, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 36428, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 36455, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 36493, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 36535, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 36566, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 36601, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 36635, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 36673, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 36704, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 36739, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 36767, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 36799, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 36829, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 36863, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 36891, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 36923, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 36943, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 36965, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 36994, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 37015, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 37044, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 37077, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 37109, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 37136, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 37167, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 37197, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 37214, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 37235, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 37262, 0x00000BA2 }, /* GL_VIEWPORT */ + { 37274, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 37290, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 37310, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 37341, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 37376, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 37404, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 37429, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 37456, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 37481, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 37505, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 37524, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 37538, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 37556, 0x00001506 }, /* GL_XOR */ + { 37563, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 37582, 0x00008757 }, /* GL_YCBCR_MESA */ + { 37596, 0x00000000 }, /* GL_ZERO */ + { 37604, 0x00000D16 }, /* GL_ZOOM_X */ + { 37614, 0x00000D17 }, /* GL_ZOOM_Y */ }; static const unsigned reduced_enums[1284] = { - 436, /* GL_FALSE */ - 645, /* GL_LINES */ - 647, /* GL_LINE_LOOP */ - 654, /* GL_LINE_STRIP */ - 1641, /* GL_TRIANGLES */ - 1644, /* GL_TRIANGLE_STRIP */ - 1642, /* GL_TRIANGLE_FAN */ - 1211, /* GL_QUADS */ - 1213, /* GL_QUAD_STRIP */ - 1099, /* GL_POLYGON */ - 1111, /* GL_POLYGON_STIPPLE_BIT */ - 1064, /* GL_PIXEL_MODE_BIT */ - 632, /* GL_LIGHTING_BIT */ - 458, /* GL_FOG_BIT */ + 434, /* GL_FALSE */ + 643, /* GL_LINES */ + 645, /* GL_LINE_LOOP */ + 652, /* GL_LINE_STRIP */ + 1639, /* GL_TRIANGLES */ + 1642, /* GL_TRIANGLE_STRIP */ + 1640, /* GL_TRIANGLE_FAN */ + 1209, /* GL_QUADS */ + 1211, /* GL_QUAD_STRIP */ + 1097, /* GL_POLYGON */ + 1109, /* GL_POLYGON_STIPPLE_BIT */ + 1062, /* GL_PIXEL_MODE_BIT */ + 630, /* GL_LIGHTING_BIT */ + 456, /* GL_FOG_BIT */ 8, /* GL_ACCUM */ - 664, /* GL_LOAD */ - 1253, /* GL_RETURN */ - 937, /* GL_MULT */ + 662, /* GL_LOAD */ + 1251, /* GL_RETURN */ + 935, /* GL_MULT */ 23, /* GL_ADD */ - 953, /* GL_NEVER */ - 622, /* GL_LESS */ - 426, /* GL_EQUAL */ - 621, /* GL_LEQUAL */ - 547, /* GL_GREATER */ - 968, /* GL_NOTEQUAL */ - 522, /* GL_GEQUAL */ + 951, /* GL_NEVER */ + 620, /* GL_LESS */ + 424, /* GL_EQUAL */ + 619, /* GL_LEQUAL */ + 545, /* GL_GREATER */ + 966, /* GL_NOTEQUAL */ + 520, /* GL_GEQUAL */ 46, /* GL_ALWAYS */ - 1386, /* GL_SRC_COLOR */ - 997, /* GL_ONE_MINUS_SRC_COLOR */ - 1384, /* GL_SRC_ALPHA */ - 996, /* GL_ONE_MINUS_SRC_ALPHA */ - 406, /* GL_DST_ALPHA */ - 994, /* GL_ONE_MINUS_DST_ALPHA */ - 407, /* GL_DST_COLOR */ - 995, /* GL_ONE_MINUS_DST_COLOR */ - 1385, /* GL_SRC_ALPHA_SATURATE */ - 510, /* GL_FRONT_LEFT */ - 511, /* GL_FRONT_RIGHT */ - 69, /* GL_BACK_LEFT */ - 70, /* GL_BACK_RIGHT */ - 507, /* GL_FRONT */ - 68, /* GL_BACK */ - 620, /* GL_LEFT */ - 1293, /* GL_RIGHT */ - 508, /* GL_FRONT_AND_BACK */ - 63, /* GL_AUX0 */ - 64, /* GL_AUX1 */ - 65, /* GL_AUX2 */ - 66, /* GL_AUX3 */ - 612, /* GL_INVALID_ENUM */ - 615, /* GL_INVALID_VALUE */ - 614, /* GL_INVALID_OPERATION */ - 1387, /* GL_STACK_OVERFLOW */ - 1388, /* GL_STACK_UNDERFLOW */ - 1022, /* GL_OUT_OF_MEMORY */ - 613, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + 1384, /* GL_SRC_COLOR */ + 995, /* GL_ONE_MINUS_SRC_COLOR */ + 1382, /* GL_SRC_ALPHA */ + 994, /* GL_ONE_MINUS_SRC_ALPHA */ + 405, /* GL_DST_ALPHA */ + 992, /* GL_ONE_MINUS_DST_ALPHA */ + 406, /* GL_DST_COLOR */ + 993, /* GL_ONE_MINUS_DST_COLOR */ + 1383, /* GL_SRC_ALPHA_SATURATE */ + 508, /* GL_FRONT_LEFT */ + 509, /* GL_FRONT_RIGHT */ + 68, /* GL_BACK_LEFT */ + 69, /* GL_BACK_RIGHT */ + 505, /* GL_FRONT */ + 67, /* GL_BACK */ + 618, /* GL_LEFT */ + 1291, /* GL_RIGHT */ + 506, /* GL_FRONT_AND_BACK */ + 62, /* GL_AUX0 */ + 63, /* GL_AUX1 */ + 64, /* GL_AUX2 */ + 65, /* GL_AUX3 */ + 610, /* GL_INVALID_ENUM */ + 613, /* GL_INVALID_VALUE */ + 612, /* GL_INVALID_OPERATION */ + 1385, /* GL_STACK_OVERFLOW */ + 1386, /* GL_STACK_UNDERFLOW */ + 1020, /* GL_OUT_OF_MEMORY */ + 611, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ 0, /* GL_2D */ 2, /* GL_3D */ 3, /* GL_3D_COLOR */ 4, /* GL_3D_COLOR_TEXTURE */ 6, /* GL_4D_COLOR_TEXTURE */ - 1042, /* GL_PASS_THROUGH_TOKEN */ - 1098, /* GL_POINT_TOKEN */ - 655, /* GL_LINE_TOKEN */ - 1112, /* GL_POLYGON_TOKEN */ - 74, /* GL_BITMAP_TOKEN */ - 405, /* GL_DRAW_PIXEL_TOKEN */ - 271, /* GL_COPY_PIXEL_TOKEN */ - 648, /* GL_LINE_RESET_TOKEN */ - 429, /* GL_EXP */ - 430, /* GL_EXP2 */ - 304, /* GL_CW */ - 116, /* GL_CCW */ - 137, /* GL_COEFF */ - 1019, /* GL_ORDER */ - 344, /* GL_DOMAIN */ - 279, /* GL_CURRENT_COLOR */ - 282, /* GL_CURRENT_INDEX */ - 288, /* GL_CURRENT_NORMAL */ - 300, /* GL_CURRENT_TEXTURE_COORDS */ - 293, /* GL_CURRENT_RASTER_COLOR */ - 295, /* GL_CURRENT_RASTER_INDEX */ - 298, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ - 296, /* GL_CURRENT_RASTER_POSITION */ - 297, /* GL_CURRENT_RASTER_POSITION_VALID */ - 294, /* GL_CURRENT_RASTER_DISTANCE */ - 1091, /* GL_POINT_SMOOTH */ - 1080, /* GL_POINT_SIZE */ - 1090, /* GL_POINT_SIZE_RANGE */ - 1081, /* GL_POINT_SIZE_GRANULARITY */ - 649, /* GL_LINE_SMOOTH */ - 656, /* GL_LINE_WIDTH */ - 658, /* GL_LINE_WIDTH_RANGE */ - 657, /* GL_LINE_WIDTH_GRANULARITY */ - 651, /* GL_LINE_STIPPLE */ - 652, /* GL_LINE_STIPPLE_PATTERN */ - 653, /* GL_LINE_STIPPLE_REPEAT */ - 663, /* GL_LIST_MODE */ - 822, /* GL_MAX_LIST_NESTING */ - 660, /* GL_LIST_BASE */ - 662, /* GL_LIST_INDEX */ - 1101, /* GL_POLYGON_MODE */ - 1108, /* GL_POLYGON_SMOOTH */ - 1110, /* GL_POLYGON_STIPPLE */ - 414, /* GL_EDGE_FLAG */ - 272, /* GL_CULL_FACE */ - 273, /* GL_CULL_FACE_MODE */ - 509, /* GL_FRONT_FACE */ - 631, /* GL_LIGHTING */ - 636, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - 637, /* GL_LIGHT_MODEL_TWO_SIDE */ - 633, /* GL_LIGHT_MODEL_AMBIENT */ - 1339, /* GL_SHADE_MODEL */ - 168, /* GL_COLOR_MATERIAL_FACE */ - 169, /* GL_COLOR_MATERIAL_PARAMETER */ - 167, /* GL_COLOR_MATERIAL */ - 457, /* GL_FOG */ - 479, /* GL_FOG_INDEX */ - 475, /* GL_FOG_DENSITY */ - 483, /* GL_FOG_START */ - 477, /* GL_FOG_END */ - 480, /* GL_FOG_MODE */ - 459, /* GL_FOG_COLOR */ - 333, /* GL_DEPTH_RANGE */ - 338, /* GL_DEPTH_TEST */ - 341, /* GL_DEPTH_WRITEMASK */ - 321, /* GL_DEPTH_CLEAR_VALUE */ - 332, /* GL_DEPTH_FUNC */ + 1040, /* GL_PASS_THROUGH_TOKEN */ + 1096, /* GL_POINT_TOKEN */ + 653, /* GL_LINE_TOKEN */ + 1110, /* GL_POLYGON_TOKEN */ + 73, /* GL_BITMAP_TOKEN */ + 404, /* GL_DRAW_PIXEL_TOKEN */ + 270, /* GL_COPY_PIXEL_TOKEN */ + 646, /* GL_LINE_RESET_TOKEN */ + 427, /* GL_EXP */ + 428, /* GL_EXP2 */ + 303, /* GL_CW */ + 115, /* GL_CCW */ + 136, /* GL_COEFF */ + 1017, /* GL_ORDER */ + 343, /* GL_DOMAIN */ + 278, /* GL_CURRENT_COLOR */ + 281, /* GL_CURRENT_INDEX */ + 287, /* GL_CURRENT_NORMAL */ + 299, /* GL_CURRENT_TEXTURE_COORDS */ + 292, /* GL_CURRENT_RASTER_COLOR */ + 294, /* GL_CURRENT_RASTER_INDEX */ + 297, /* GL_CURRENT_RASTER_TEXTURE_COORDS */ + 295, /* GL_CURRENT_RASTER_POSITION */ + 296, /* GL_CURRENT_RASTER_POSITION_VALID */ + 293, /* GL_CURRENT_RASTER_DISTANCE */ + 1089, /* GL_POINT_SMOOTH */ + 1078, /* GL_POINT_SIZE */ + 1088, /* GL_POINT_SIZE_RANGE */ + 1079, /* GL_POINT_SIZE_GRANULARITY */ + 647, /* GL_LINE_SMOOTH */ + 654, /* GL_LINE_WIDTH */ + 656, /* GL_LINE_WIDTH_RANGE */ + 655, /* GL_LINE_WIDTH_GRANULARITY */ + 649, /* GL_LINE_STIPPLE */ + 650, /* GL_LINE_STIPPLE_PATTERN */ + 651, /* GL_LINE_STIPPLE_REPEAT */ + 661, /* GL_LIST_MODE */ + 820, /* GL_MAX_LIST_NESTING */ + 658, /* GL_LIST_BASE */ + 660, /* GL_LIST_INDEX */ + 1099, /* GL_POLYGON_MODE */ + 1106, /* GL_POLYGON_SMOOTH */ + 1108, /* GL_POLYGON_STIPPLE */ + 413, /* GL_EDGE_FLAG */ + 271, /* GL_CULL_FACE */ + 272, /* GL_CULL_FACE_MODE */ + 507, /* GL_FRONT_FACE */ + 629, /* GL_LIGHTING */ + 634, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 635, /* GL_LIGHT_MODEL_TWO_SIDE */ + 631, /* GL_LIGHT_MODEL_AMBIENT */ + 1337, /* GL_SHADE_MODEL */ + 167, /* GL_COLOR_MATERIAL_FACE */ + 168, /* GL_COLOR_MATERIAL_PARAMETER */ + 166, /* GL_COLOR_MATERIAL */ + 455, /* GL_FOG */ + 477, /* GL_FOG_INDEX */ + 473, /* GL_FOG_DENSITY */ + 481, /* GL_FOG_START */ + 475, /* GL_FOG_END */ + 478, /* GL_FOG_MODE */ + 457, /* GL_FOG_COLOR */ + 332, /* GL_DEPTH_RANGE */ + 337, /* GL_DEPTH_TEST */ + 340, /* GL_DEPTH_WRITEMASK */ + 320, /* GL_DEPTH_CLEAR_VALUE */ + 331, /* GL_DEPTH_FUNC */ 12, /* GL_ACCUM_CLEAR_VALUE */ - 1422, /* GL_STENCIL_TEST */ - 1410, /* GL_STENCIL_CLEAR_VALUE */ - 1412, /* GL_STENCIL_FUNC */ - 1424, /* GL_STENCIL_VALUE_MASK */ - 1411, /* GL_STENCIL_FAIL */ - 1419, /* GL_STENCIL_PASS_DEPTH_FAIL */ - 1420, /* GL_STENCIL_PASS_DEPTH_PASS */ - 1421, /* GL_STENCIL_REF */ - 1425, /* GL_STENCIL_WRITEMASK */ - 791, /* GL_MATRIX_MODE */ - 958, /* GL_NORMALIZE */ - 1731, /* GL_VIEWPORT */ - 932, /* GL_MODELVIEW_STACK_DEPTH */ - 1191, /* GL_PROJECTION_STACK_DEPTH */ - 1620, /* GL_TEXTURE_STACK_DEPTH */ - 930, /* GL_MODELVIEW_MATRIX */ - 1190, /* GL_PROJECTION_MATRIX */ - 1605, /* GL_TEXTURE_MATRIX */ - 61, /* GL_ATTRIB_STACK_DEPTH */ - 127, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ + 1420, /* GL_STENCIL_TEST */ + 1408, /* GL_STENCIL_CLEAR_VALUE */ + 1410, /* GL_STENCIL_FUNC */ + 1422, /* GL_STENCIL_VALUE_MASK */ + 1409, /* GL_STENCIL_FAIL */ + 1417, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1418, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1419, /* GL_STENCIL_REF */ + 1423, /* GL_STENCIL_WRITEMASK */ + 789, /* GL_MATRIX_MODE */ + 956, /* GL_NORMALIZE */ + 1729, /* GL_VIEWPORT */ + 930, /* GL_MODELVIEW_STACK_DEPTH */ + 1189, /* GL_PROJECTION_STACK_DEPTH */ + 1618, /* GL_TEXTURE_STACK_DEPTH */ + 928, /* GL_MODELVIEW_MATRIX */ + 1188, /* GL_PROJECTION_MATRIX */ + 1603, /* GL_TEXTURE_MATRIX */ + 60, /* GL_ATTRIB_STACK_DEPTH */ + 126, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ 43, /* GL_ALPHA_TEST */ 44, /* GL_ALPHA_TEST_FUNC */ 45, /* GL_ALPHA_TEST_REF */ - 343, /* GL_DITHER */ - 78, /* GL_BLEND_DST */ - 86, /* GL_BLEND_SRC */ - 75, /* GL_BLEND */ - 666, /* GL_LOGIC_OP_MODE */ - 586, /* GL_INDEX_LOGIC_OP */ - 166, /* GL_COLOR_LOGIC_OP */ - 67, /* GL_AUX_BUFFERS */ - 354, /* GL_DRAW_BUFFER */ - 1223, /* GL_READ_BUFFER */ - 1320, /* GL_SCISSOR_BOX */ - 1321, /* GL_SCISSOR_TEST */ - 585, /* GL_INDEX_CLEAR_VALUE */ - 590, /* GL_INDEX_WRITEMASK */ - 163, /* GL_COLOR_CLEAR_VALUE */ - 205, /* GL_COLOR_WRITEMASK */ - 587, /* GL_INDEX_MODE */ - 1287, /* GL_RGBA_MODE */ - 353, /* GL_DOUBLEBUFFER */ - 1426, /* GL_STEREO */ - 1246, /* GL_RENDER_MODE */ - 1043, /* GL_PERSPECTIVE_CORRECTION_HINT */ - 1092, /* GL_POINT_SMOOTH_HINT */ - 650, /* GL_LINE_SMOOTH_HINT */ - 1109, /* GL_POLYGON_SMOOTH_HINT */ - 478, /* GL_FOG_HINT */ - 1586, /* GL_TEXTURE_GEN_S */ - 1587, /* GL_TEXTURE_GEN_T */ - 1585, /* GL_TEXTURE_GEN_R */ - 1584, /* GL_TEXTURE_GEN_Q */ - 1056, /* GL_PIXEL_MAP_I_TO_I */ - 1062, /* GL_PIXEL_MAP_S_TO_S */ - 1058, /* GL_PIXEL_MAP_I_TO_R */ - 1054, /* GL_PIXEL_MAP_I_TO_G */ - 1052, /* GL_PIXEL_MAP_I_TO_B */ - 1050, /* GL_PIXEL_MAP_I_TO_A */ - 1060, /* GL_PIXEL_MAP_R_TO_R */ - 1048, /* GL_PIXEL_MAP_G_TO_G */ - 1046, /* GL_PIXEL_MAP_B_TO_B */ - 1044, /* GL_PIXEL_MAP_A_TO_A */ - 1057, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - 1063, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - 1059, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - 1055, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - 1053, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - 1051, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - 1061, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - 1049, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - 1047, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - 1045, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - 1653, /* GL_UNPACK_SWAP_BYTES */ - 1648, /* GL_UNPACK_LSB_FIRST */ - 1649, /* GL_UNPACK_ROW_LENGTH */ - 1652, /* GL_UNPACK_SKIP_ROWS */ - 1651, /* GL_UNPACK_SKIP_PIXELS */ - 1646, /* GL_UNPACK_ALIGNMENT */ - 1031, /* GL_PACK_SWAP_BYTES */ - 1026, /* GL_PACK_LSB_FIRST */ - 1027, /* GL_PACK_ROW_LENGTH */ - 1030, /* GL_PACK_SKIP_ROWS */ - 1029, /* GL_PACK_SKIP_PIXELS */ - 1023, /* GL_PACK_ALIGNMENT */ - 744, /* GL_MAP_COLOR */ - 745, /* GL_MAP_STENCIL */ - 589, /* GL_INDEX_SHIFT */ - 588, /* GL_INDEX_OFFSET */ - 1235, /* GL_RED_SCALE */ - 1233, /* GL_RED_BIAS */ - 1748, /* GL_ZOOM_X */ - 1749, /* GL_ZOOM_Y */ - 551, /* GL_GREEN_SCALE */ - 549, /* GL_GREEN_BIAS */ - 92, /* GL_BLUE_SCALE */ - 90, /* GL_BLUE_BIAS */ + 342, /* GL_DITHER */ + 77, /* GL_BLEND_DST */ + 85, /* GL_BLEND_SRC */ + 74, /* GL_BLEND */ + 664, /* GL_LOGIC_OP_MODE */ + 584, /* GL_INDEX_LOGIC_OP */ + 165, /* GL_COLOR_LOGIC_OP */ + 66, /* GL_AUX_BUFFERS */ + 353, /* GL_DRAW_BUFFER */ + 1221, /* GL_READ_BUFFER */ + 1318, /* GL_SCISSOR_BOX */ + 1319, /* GL_SCISSOR_TEST */ + 583, /* GL_INDEX_CLEAR_VALUE */ + 588, /* GL_INDEX_WRITEMASK */ + 162, /* GL_COLOR_CLEAR_VALUE */ + 204, /* GL_COLOR_WRITEMASK */ + 585, /* GL_INDEX_MODE */ + 1285, /* GL_RGBA_MODE */ + 352, /* GL_DOUBLEBUFFER */ + 1424, /* GL_STEREO */ + 1244, /* GL_RENDER_MODE */ + 1041, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1090, /* GL_POINT_SMOOTH_HINT */ + 648, /* GL_LINE_SMOOTH_HINT */ + 1107, /* GL_POLYGON_SMOOTH_HINT */ + 476, /* GL_FOG_HINT */ + 1584, /* GL_TEXTURE_GEN_S */ + 1585, /* GL_TEXTURE_GEN_T */ + 1583, /* GL_TEXTURE_GEN_R */ + 1582, /* GL_TEXTURE_GEN_Q */ + 1054, /* GL_PIXEL_MAP_I_TO_I */ + 1060, /* GL_PIXEL_MAP_S_TO_S */ + 1056, /* GL_PIXEL_MAP_I_TO_R */ + 1052, /* GL_PIXEL_MAP_I_TO_G */ + 1050, /* GL_PIXEL_MAP_I_TO_B */ + 1048, /* GL_PIXEL_MAP_I_TO_A */ + 1058, /* GL_PIXEL_MAP_R_TO_R */ + 1046, /* GL_PIXEL_MAP_G_TO_G */ + 1044, /* GL_PIXEL_MAP_B_TO_B */ + 1042, /* GL_PIXEL_MAP_A_TO_A */ + 1055, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1061, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1057, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1053, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1051, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1049, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1059, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1047, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1045, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1043, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 1651, /* GL_UNPACK_SWAP_BYTES */ + 1646, /* GL_UNPACK_LSB_FIRST */ + 1647, /* GL_UNPACK_ROW_LENGTH */ + 1650, /* GL_UNPACK_SKIP_ROWS */ + 1649, /* GL_UNPACK_SKIP_PIXELS */ + 1644, /* GL_UNPACK_ALIGNMENT */ + 1029, /* GL_PACK_SWAP_BYTES */ + 1024, /* GL_PACK_LSB_FIRST */ + 1025, /* GL_PACK_ROW_LENGTH */ + 1028, /* GL_PACK_SKIP_ROWS */ + 1027, /* GL_PACK_SKIP_PIXELS */ + 1021, /* GL_PACK_ALIGNMENT */ + 742, /* GL_MAP_COLOR */ + 743, /* GL_MAP_STENCIL */ + 587, /* GL_INDEX_SHIFT */ + 586, /* GL_INDEX_OFFSET */ + 1233, /* GL_RED_SCALE */ + 1231, /* GL_RED_BIAS */ + 1746, /* GL_ZOOM_X */ + 1747, /* GL_ZOOM_Y */ + 549, /* GL_GREEN_SCALE */ + 547, /* GL_GREEN_BIAS */ + 91, /* GL_BLUE_SCALE */ + 89, /* GL_BLUE_BIAS */ 42, /* GL_ALPHA_SCALE */ 40, /* GL_ALPHA_BIAS */ - 334, /* GL_DEPTH_SCALE */ - 315, /* GL_DEPTH_BIAS */ - 817, /* GL_MAX_EVAL_ORDER */ - 821, /* GL_MAX_LIGHTS */ - 800, /* GL_MAX_CLIP_PLANES */ - 865, /* GL_MAX_TEXTURE_SIZE */ - 827, /* GL_MAX_PIXEL_MAP_TABLE */ - 796, /* GL_MAX_ATTRIB_STACK_DEPTH */ - 824, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - 825, /* GL_MAX_NAME_STACK_DEPTH */ - 853, /* GL_MAX_PROJECTION_STACK_DEPTH */ - 866, /* GL_MAX_TEXTURE_STACK_DEPTH */ - 880, /* GL_MAX_VIEWPORT_DIMS */ - 797, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - 1433, /* GL_SUBPIXEL_BITS */ - 584, /* GL_INDEX_BITS */ - 1234, /* GL_RED_BITS */ - 550, /* GL_GREEN_BITS */ - 91, /* GL_BLUE_BITS */ + 333, /* GL_DEPTH_SCALE */ + 314, /* GL_DEPTH_BIAS */ + 815, /* GL_MAX_EVAL_ORDER */ + 819, /* GL_MAX_LIGHTS */ + 798, /* GL_MAX_CLIP_PLANES */ + 863, /* GL_MAX_TEXTURE_SIZE */ + 825, /* GL_MAX_PIXEL_MAP_TABLE */ + 794, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 822, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 823, /* GL_MAX_NAME_STACK_DEPTH */ + 851, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 864, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 878, /* GL_MAX_VIEWPORT_DIMS */ + 795, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1431, /* GL_SUBPIXEL_BITS */ + 582, /* GL_INDEX_BITS */ + 1232, /* GL_RED_BITS */ + 548, /* GL_GREEN_BITS */ + 90, /* GL_BLUE_BITS */ 41, /* GL_ALPHA_BITS */ - 316, /* GL_DEPTH_BITS */ - 1408, /* GL_STENCIL_BITS */ + 315, /* GL_DEPTH_BITS */ + 1406, /* GL_STENCIL_BITS */ 14, /* GL_ACCUM_RED_BITS */ 13, /* GL_ACCUM_GREEN_BITS */ 10, /* GL_ACCUM_BLUE_BITS */ 9, /* GL_ACCUM_ALPHA_BITS */ - 946, /* GL_NAME_STACK_DEPTH */ - 62, /* GL_AUTO_NORMAL */ - 690, /* GL_MAP1_COLOR_4 */ - 693, /* GL_MAP1_INDEX */ - 694, /* GL_MAP1_NORMAL */ - 695, /* GL_MAP1_TEXTURE_COORD_1 */ - 696, /* GL_MAP1_TEXTURE_COORD_2 */ - 697, /* GL_MAP1_TEXTURE_COORD_3 */ - 698, /* GL_MAP1_TEXTURE_COORD_4 */ - 699, /* GL_MAP1_VERTEX_3 */ - 700, /* GL_MAP1_VERTEX_4 */ - 717, /* GL_MAP2_COLOR_4 */ - 720, /* GL_MAP2_INDEX */ - 721, /* GL_MAP2_NORMAL */ - 722, /* GL_MAP2_TEXTURE_COORD_1 */ - 723, /* GL_MAP2_TEXTURE_COORD_2 */ - 724, /* GL_MAP2_TEXTURE_COORD_3 */ - 725, /* GL_MAP2_TEXTURE_COORD_4 */ - 726, /* GL_MAP2_VERTEX_3 */ - 727, /* GL_MAP2_VERTEX_4 */ - 691, /* GL_MAP1_GRID_DOMAIN */ - 692, /* GL_MAP1_GRID_SEGMENTS */ - 718, /* GL_MAP2_GRID_DOMAIN */ - 719, /* GL_MAP2_GRID_SEGMENTS */ - 1510, /* GL_TEXTURE_1D */ - 1512, /* GL_TEXTURE_2D */ - 439, /* GL_FEEDBACK_BUFFER_POINTER */ - 440, /* GL_FEEDBACK_BUFFER_SIZE */ - 441, /* GL_FEEDBACK_BUFFER_TYPE */ - 1330, /* GL_SELECTION_BUFFER_POINTER */ - 1331, /* GL_SELECTION_BUFFER_SIZE */ - 1623, /* GL_TEXTURE_WIDTH */ - 1591, /* GL_TEXTURE_HEIGHT */ - 1547, /* GL_TEXTURE_COMPONENTS */ - 1531, /* GL_TEXTURE_BORDER_COLOR */ - 1530, /* GL_TEXTURE_BORDER */ - 345, /* GL_DONT_CARE */ - 437, /* GL_FASTEST */ - 954, /* GL_NICEST */ + 944, /* GL_NAME_STACK_DEPTH */ + 61, /* GL_AUTO_NORMAL */ + 688, /* GL_MAP1_COLOR_4 */ + 691, /* GL_MAP1_INDEX */ + 692, /* GL_MAP1_NORMAL */ + 693, /* GL_MAP1_TEXTURE_COORD_1 */ + 694, /* GL_MAP1_TEXTURE_COORD_2 */ + 695, /* GL_MAP1_TEXTURE_COORD_3 */ + 696, /* GL_MAP1_TEXTURE_COORD_4 */ + 697, /* GL_MAP1_VERTEX_3 */ + 698, /* GL_MAP1_VERTEX_4 */ + 715, /* GL_MAP2_COLOR_4 */ + 718, /* GL_MAP2_INDEX */ + 719, /* GL_MAP2_NORMAL */ + 720, /* GL_MAP2_TEXTURE_COORD_1 */ + 721, /* GL_MAP2_TEXTURE_COORD_2 */ + 722, /* GL_MAP2_TEXTURE_COORD_3 */ + 723, /* GL_MAP2_TEXTURE_COORD_4 */ + 724, /* GL_MAP2_VERTEX_3 */ + 725, /* GL_MAP2_VERTEX_4 */ + 689, /* GL_MAP1_GRID_DOMAIN */ + 690, /* GL_MAP1_GRID_SEGMENTS */ + 716, /* GL_MAP2_GRID_DOMAIN */ + 717, /* GL_MAP2_GRID_SEGMENTS */ + 1508, /* GL_TEXTURE_1D */ + 1510, /* GL_TEXTURE_2D */ + 437, /* GL_FEEDBACK_BUFFER_POINTER */ + 438, /* GL_FEEDBACK_BUFFER_SIZE */ + 439, /* GL_FEEDBACK_BUFFER_TYPE */ + 1328, /* GL_SELECTION_BUFFER_POINTER */ + 1329, /* GL_SELECTION_BUFFER_SIZE */ + 1621, /* GL_TEXTURE_WIDTH */ + 1589, /* GL_TEXTURE_HEIGHT */ + 1545, /* GL_TEXTURE_COMPONENTS */ + 1529, /* GL_TEXTURE_BORDER_COLOR */ + 1528, /* GL_TEXTURE_BORDER */ + 344, /* GL_DONT_CARE */ + 435, /* GL_FASTEST */ + 952, /* GL_NICEST */ 47, /* GL_AMBIENT */ - 342, /* GL_DIFFUSE */ - 1373, /* GL_SPECULAR */ - 1113, /* GL_POSITION */ - 1376, /* GL_SPOT_DIRECTION */ - 1377, /* GL_SPOT_EXPONENT */ - 1375, /* GL_SPOT_CUTOFF */ - 245, /* GL_CONSTANT_ATTENUATION */ - 640, /* GL_LINEAR_ATTENUATION */ - 1210, /* GL_QUADRATIC_ATTENUATION */ - 219, /* GL_COMPILE */ - 220, /* GL_COMPILE_AND_EXECUTE */ - 111, /* GL_BYTE */ - 1654, /* GL_UNSIGNED_BYTE */ - 1344, /* GL_SHORT */ - 1663, /* GL_UNSIGNED_SHORT */ - 592, /* GL_INT */ - 1657, /* GL_UNSIGNED_INT */ - 444, /* GL_FLOAT */ + 341, /* GL_DIFFUSE */ + 1371, /* GL_SPECULAR */ + 1111, /* GL_POSITION */ + 1374, /* GL_SPOT_DIRECTION */ + 1375, /* GL_SPOT_EXPONENT */ + 1373, /* GL_SPOT_CUTOFF */ + 244, /* GL_CONSTANT_ATTENUATION */ + 638, /* GL_LINEAR_ATTENUATION */ + 1208, /* GL_QUADRATIC_ATTENUATION */ + 218, /* GL_COMPILE */ + 219, /* GL_COMPILE_AND_EXECUTE */ + 110, /* GL_BYTE */ + 1652, /* GL_UNSIGNED_BYTE */ + 1342, /* GL_SHORT */ + 1661, /* GL_UNSIGNED_SHORT */ + 590, /* GL_INT */ + 1655, /* GL_UNSIGNED_INT */ + 442, /* GL_FLOAT */ 1, /* GL_2_BYTES */ 5, /* GL_3_BYTES */ 7, /* GL_4_BYTES */ - 352, /* GL_DOUBLE */ - 123, /* GL_CLEAR */ + 351, /* GL_DOUBLE */ + 122, /* GL_CLEAR */ 49, /* GL_AND */ 51, /* GL_AND_REVERSE */ - 269, /* GL_COPY */ + 268, /* GL_COPY */ 50, /* GL_AND_INVERTED */ - 956, /* GL_NOOP */ - 1744, /* GL_XOR */ - 1018, /* GL_OR */ - 957, /* GL_NOR */ - 427, /* GL_EQUIV */ - 618, /* GL_INVERT */ - 1021, /* GL_OR_REVERSE */ - 270, /* GL_COPY_INVERTED */ - 1020, /* GL_OR_INVERTED */ - 947, /* GL_NAND */ - 1335, /* GL_SET */ - 424, /* GL_EMISSION */ - 1343, /* GL_SHININESS */ + 954, /* GL_NOOP */ + 1742, /* GL_XOR */ + 1016, /* GL_OR */ + 955, /* GL_NOR */ + 425, /* GL_EQUIV */ + 616, /* GL_INVERT */ + 1019, /* GL_OR_REVERSE */ + 269, /* GL_COPY_INVERTED */ + 1018, /* GL_OR_INVERTED */ + 945, /* GL_NAND */ + 1333, /* GL_SET */ + 422, /* GL_EMISSION */ + 1341, /* GL_SHININESS */ 48, /* GL_AMBIENT_AND_DIFFUSE */ - 165, /* GL_COLOR_INDEXES */ - 897, /* GL_MODELVIEW */ - 1189, /* GL_PROJECTION */ - 1445, /* GL_TEXTURE */ - 138, /* GL_COLOR */ - 313, /* GL_DEPTH */ - 1395, /* GL_STENCIL */ - 164, /* GL_COLOR_INDEX */ - 1413, /* GL_STENCIL_INDEX */ - 322, /* GL_DEPTH_COMPONENT */ - 1230, /* GL_RED */ - 548, /* GL_GREEN */ - 89, /* GL_BLUE */ + 164, /* GL_COLOR_INDEXES */ + 895, /* GL_MODELVIEW */ + 1187, /* GL_PROJECTION */ + 1443, /* GL_TEXTURE */ + 137, /* GL_COLOR */ + 312, /* GL_DEPTH */ + 1393, /* GL_STENCIL */ + 163, /* GL_COLOR_INDEX */ + 1411, /* GL_STENCIL_INDEX */ + 321, /* GL_DEPTH_COMPONENT */ + 1228, /* GL_RED */ + 546, /* GL_GREEN */ + 88, /* GL_BLUE */ 31, /* GL_ALPHA */ - 1254, /* GL_RGB */ - 1273, /* GL_RGBA */ - 668, /* GL_LUMINANCE */ - 689, /* GL_LUMINANCE_ALPHA */ - 73, /* GL_BITMAP */ - 1069, /* GL_POINT */ - 638, /* GL_LINE */ - 442, /* GL_FILL */ - 1239, /* GL_RENDER */ - 438, /* GL_FEEDBACK */ - 1329, /* GL_SELECT */ - 443, /* GL_FLAT */ - 1348, /* GL_SMOOTH */ - 619, /* GL_KEEP */ - 1248, /* GL_REPLACE */ - 575, /* GL_INCR */ - 309, /* GL_DECR */ - 1678, /* GL_VENDOR */ - 1245, /* GL_RENDERER */ - 1679, /* GL_VERSION */ - 431, /* GL_EXTENSIONS */ - 1294, /* GL_S */ - 1436, /* GL_T */ - 1220, /* GL_R */ - 1209, /* GL_Q */ - 933, /* GL_MODULATE */ - 308, /* GL_DECAL */ - 1581, /* GL_TEXTURE_ENV_MODE */ - 1580, /* GL_TEXTURE_ENV_COLOR */ - 1579, /* GL_TEXTURE_ENV */ - 432, /* GL_EYE_LINEAR */ - 980, /* GL_OBJECT_LINEAR */ - 1374, /* GL_SPHERE_MAP */ - 1583, /* GL_TEXTURE_GEN_MODE */ - 982, /* GL_OBJECT_PLANE */ - 433, /* GL_EYE_PLANE */ - 948, /* GL_NEAREST */ - 639, /* GL_LINEAR */ - 952, /* GL_NEAREST_MIPMAP_NEAREST */ - 644, /* GL_LINEAR_MIPMAP_NEAREST */ - 951, /* GL_NEAREST_MIPMAP_LINEAR */ - 643, /* GL_LINEAR_MIPMAP_LINEAR */ - 1604, /* GL_TEXTURE_MAG_FILTER */ - 1612, /* GL_TEXTURE_MIN_FILTER */ - 1625, /* GL_TEXTURE_WRAP_S */ - 1626, /* GL_TEXTURE_WRAP_T */ - 117, /* GL_CLAMP */ - 1247, /* GL_REPEAT */ - 1107, /* GL_POLYGON_OFFSET_UNITS */ - 1106, /* GL_POLYGON_OFFSET_POINT */ - 1105, /* GL_POLYGON_OFFSET_LINE */ - 1221, /* GL_R3_G3_B2 */ - 1675, /* GL_V2F */ - 1676, /* GL_V3F */ - 114, /* GL_C4UB_V2F */ - 115, /* GL_C4UB_V3F */ - 112, /* GL_C3F_V3F */ - 945, /* GL_N3F_V3F */ - 113, /* GL_C4F_N3F_V3F */ - 1441, /* GL_T2F_V3F */ - 1443, /* GL_T4F_V4F */ - 1439, /* GL_T2F_C4UB_V3F */ - 1437, /* GL_T2F_C3F_V3F */ - 1440, /* GL_T2F_N3F_V3F */ - 1438, /* GL_T2F_C4F_N3F_V3F */ - 1442, /* GL_T4F_C4F_N3F_V4F */ - 130, /* GL_CLIP_PLANE0 */ - 131, /* GL_CLIP_PLANE1 */ - 132, /* GL_CLIP_PLANE2 */ - 133, /* GL_CLIP_PLANE3 */ - 134, /* GL_CLIP_PLANE4 */ - 135, /* GL_CLIP_PLANE5 */ - 623, /* GL_LIGHT0 */ - 624, /* GL_LIGHT1 */ - 625, /* GL_LIGHT2 */ - 626, /* GL_LIGHT3 */ - 627, /* GL_LIGHT4 */ - 628, /* GL_LIGHT5 */ - 629, /* GL_LIGHT6 */ - 630, /* GL_LIGHT7 */ - 552, /* GL_HINT_BIT */ - 247, /* GL_CONSTANT_COLOR */ - 992, /* GL_ONE_MINUS_CONSTANT_COLOR */ - 242, /* GL_CONSTANT_ALPHA */ - 990, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - 76, /* GL_BLEND_COLOR */ - 512, /* GL_FUNC_ADD */ - 881, /* GL_MIN */ - 793, /* GL_MAX */ - 81, /* GL_BLEND_EQUATION */ - 516, /* GL_FUNC_SUBTRACT */ - 514, /* GL_FUNC_REVERSE_SUBTRACT */ - 250, /* GL_CONVOLUTION_1D */ - 251, /* GL_CONVOLUTION_2D */ - 1332, /* GL_SEPARABLE_2D */ - 254, /* GL_CONVOLUTION_BORDER_MODE */ - 258, /* GL_CONVOLUTION_FILTER_SCALE */ - 256, /* GL_CONVOLUTION_FILTER_BIAS */ - 1231, /* GL_REDUCE */ - 260, /* GL_CONVOLUTION_FORMAT */ - 264, /* GL_CONVOLUTION_WIDTH */ - 262, /* GL_CONVOLUTION_HEIGHT */ - 808, /* GL_MAX_CONVOLUTION_WIDTH */ - 806, /* GL_MAX_CONVOLUTION_HEIGHT */ - 1146, /* GL_POST_CONVOLUTION_RED_SCALE */ - 1142, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - 1137, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - 1133, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - 1144, /* GL_POST_CONVOLUTION_RED_BIAS */ - 1140, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - 1135, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - 1131, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - 553, /* GL_HISTOGRAM */ - 1193, /* GL_PROXY_HISTOGRAM */ - 569, /* GL_HISTOGRAM_WIDTH */ - 559, /* GL_HISTOGRAM_FORMAT */ - 565, /* GL_HISTOGRAM_RED_SIZE */ - 561, /* GL_HISTOGRAM_GREEN_SIZE */ - 556, /* GL_HISTOGRAM_BLUE_SIZE */ - 554, /* GL_HISTOGRAM_ALPHA_SIZE */ - 563, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - 567, /* GL_HISTOGRAM_SINK */ - 882, /* GL_MINMAX */ - 884, /* GL_MINMAX_FORMAT */ - 886, /* GL_MINMAX_SINK */ - 1444, /* GL_TABLE_TOO_LARGE_EXT */ - 1656, /* GL_UNSIGNED_BYTE_3_3_2 */ - 1665, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - 1667, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - 1661, /* GL_UNSIGNED_INT_8_8_8_8 */ - 1658, /* GL_UNSIGNED_INT_10_10_10_2 */ - 1104, /* GL_POLYGON_OFFSET_FILL */ - 1103, /* GL_POLYGON_OFFSET_FACTOR */ - 1102, /* GL_POLYGON_OFFSET_BIAS */ - 1251, /* GL_RESCALE_NORMAL */ + 1252, /* GL_RGB */ + 1271, /* GL_RGBA */ + 666, /* GL_LUMINANCE */ + 687, /* GL_LUMINANCE_ALPHA */ + 72, /* GL_BITMAP */ + 1067, /* GL_POINT */ + 636, /* GL_LINE */ + 440, /* GL_FILL */ + 1237, /* GL_RENDER */ + 436, /* GL_FEEDBACK */ + 1327, /* GL_SELECT */ + 441, /* GL_FLAT */ + 1346, /* GL_SMOOTH */ + 617, /* GL_KEEP */ + 1246, /* GL_REPLACE */ + 573, /* GL_INCR */ + 308, /* GL_DECR */ + 1676, /* GL_VENDOR */ + 1243, /* GL_RENDERER */ + 1677, /* GL_VERSION */ + 429, /* GL_EXTENSIONS */ + 1292, /* GL_S */ + 1434, /* GL_T */ + 1218, /* GL_R */ + 1207, /* GL_Q */ + 931, /* GL_MODULATE */ + 307, /* GL_DECAL */ + 1579, /* GL_TEXTURE_ENV_MODE */ + 1578, /* GL_TEXTURE_ENV_COLOR */ + 1577, /* GL_TEXTURE_ENV */ + 430, /* GL_EYE_LINEAR */ + 978, /* GL_OBJECT_LINEAR */ + 1372, /* GL_SPHERE_MAP */ + 1581, /* GL_TEXTURE_GEN_MODE */ + 980, /* GL_OBJECT_PLANE */ + 431, /* GL_EYE_PLANE */ + 946, /* GL_NEAREST */ + 637, /* GL_LINEAR */ + 950, /* GL_NEAREST_MIPMAP_NEAREST */ + 642, /* GL_LINEAR_MIPMAP_NEAREST */ + 949, /* GL_NEAREST_MIPMAP_LINEAR */ + 641, /* GL_LINEAR_MIPMAP_LINEAR */ + 1602, /* GL_TEXTURE_MAG_FILTER */ + 1610, /* GL_TEXTURE_MIN_FILTER */ + 1623, /* GL_TEXTURE_WRAP_S */ + 1624, /* GL_TEXTURE_WRAP_T */ + 116, /* GL_CLAMP */ + 1245, /* GL_REPEAT */ + 1105, /* GL_POLYGON_OFFSET_UNITS */ + 1104, /* GL_POLYGON_OFFSET_POINT */ + 1103, /* GL_POLYGON_OFFSET_LINE */ + 1219, /* GL_R3_G3_B2 */ + 1673, /* GL_V2F */ + 1674, /* GL_V3F */ + 113, /* GL_C4UB_V2F */ + 114, /* GL_C4UB_V3F */ + 111, /* GL_C3F_V3F */ + 943, /* GL_N3F_V3F */ + 112, /* GL_C4F_N3F_V3F */ + 1439, /* GL_T2F_V3F */ + 1441, /* GL_T4F_V4F */ + 1437, /* GL_T2F_C4UB_V3F */ + 1435, /* GL_T2F_C3F_V3F */ + 1438, /* GL_T2F_N3F_V3F */ + 1436, /* GL_T2F_C4F_N3F_V3F */ + 1440, /* GL_T4F_C4F_N3F_V4F */ + 129, /* GL_CLIP_PLANE0 */ + 130, /* GL_CLIP_PLANE1 */ + 131, /* GL_CLIP_PLANE2 */ + 132, /* GL_CLIP_PLANE3 */ + 133, /* GL_CLIP_PLANE4 */ + 134, /* GL_CLIP_PLANE5 */ + 621, /* GL_LIGHT0 */ + 622, /* GL_LIGHT1 */ + 623, /* GL_LIGHT2 */ + 624, /* GL_LIGHT3 */ + 625, /* GL_LIGHT4 */ + 626, /* GL_LIGHT5 */ + 627, /* GL_LIGHT6 */ + 628, /* GL_LIGHT7 */ + 550, /* GL_HINT_BIT */ + 246, /* GL_CONSTANT_COLOR */ + 990, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 241, /* GL_CONSTANT_ALPHA */ + 988, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 75, /* GL_BLEND_COLOR */ + 510, /* GL_FUNC_ADD */ + 879, /* GL_MIN */ + 791, /* GL_MAX */ + 80, /* GL_BLEND_EQUATION */ + 514, /* GL_FUNC_SUBTRACT */ + 512, /* GL_FUNC_REVERSE_SUBTRACT */ + 249, /* GL_CONVOLUTION_1D */ + 250, /* GL_CONVOLUTION_2D */ + 1330, /* GL_SEPARABLE_2D */ + 253, /* GL_CONVOLUTION_BORDER_MODE */ + 257, /* GL_CONVOLUTION_FILTER_SCALE */ + 255, /* GL_CONVOLUTION_FILTER_BIAS */ + 1229, /* GL_REDUCE */ + 259, /* GL_CONVOLUTION_FORMAT */ + 263, /* GL_CONVOLUTION_WIDTH */ + 261, /* GL_CONVOLUTION_HEIGHT */ + 806, /* GL_MAX_CONVOLUTION_WIDTH */ + 804, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1144, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1140, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1135, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1131, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1142, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1138, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1133, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1129, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 551, /* GL_HISTOGRAM */ + 1191, /* GL_PROXY_HISTOGRAM */ + 567, /* GL_HISTOGRAM_WIDTH */ + 557, /* GL_HISTOGRAM_FORMAT */ + 563, /* GL_HISTOGRAM_RED_SIZE */ + 559, /* GL_HISTOGRAM_GREEN_SIZE */ + 554, /* GL_HISTOGRAM_BLUE_SIZE */ + 552, /* GL_HISTOGRAM_ALPHA_SIZE */ + 561, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + 565, /* GL_HISTOGRAM_SINK */ + 880, /* GL_MINMAX */ + 882, /* GL_MINMAX_FORMAT */ + 884, /* GL_MINMAX_SINK */ + 1442, /* GL_TABLE_TOO_LARGE_EXT */ + 1654, /* GL_UNSIGNED_BYTE_3_3_2 */ + 1663, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 1665, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 1659, /* GL_UNSIGNED_INT_8_8_8_8 */ + 1656, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1102, /* GL_POLYGON_OFFSET_FILL */ + 1101, /* GL_POLYGON_OFFSET_FACTOR */ + 1100, /* GL_POLYGON_OFFSET_BIAS */ + 1249, /* GL_RESCALE_NORMAL */ 36, /* GL_ALPHA4 */ 38, /* GL_ALPHA8 */ 32, /* GL_ALPHA12 */ 34, /* GL_ALPHA16 */ - 679, /* GL_LUMINANCE4 */ - 685, /* GL_LUMINANCE8 */ - 669, /* GL_LUMINANCE12 */ - 675, /* GL_LUMINANCE16 */ - 680, /* GL_LUMINANCE4_ALPHA4 */ - 683, /* GL_LUMINANCE6_ALPHA2 */ - 686, /* GL_LUMINANCE8_ALPHA8 */ - 672, /* GL_LUMINANCE12_ALPHA4 */ - 670, /* GL_LUMINANCE12_ALPHA12 */ - 676, /* GL_LUMINANCE16_ALPHA16 */ - 593, /* GL_INTENSITY */ - 598, /* GL_INTENSITY4 */ - 600, /* GL_INTENSITY8 */ - 594, /* GL_INTENSITY12 */ - 596, /* GL_INTENSITY16 */ - 1263, /* GL_RGB2_EXT */ - 1264, /* GL_RGB4 */ - 1267, /* GL_RGB5 */ - 1271, /* GL_RGB8 */ - 1255, /* GL_RGB10 */ - 1259, /* GL_RGB12 */ - 1261, /* GL_RGB16 */ - 1278, /* GL_RGBA2 */ - 1280, /* GL_RGBA4 */ - 1268, /* GL_RGB5_A1 */ - 1284, /* GL_RGBA8 */ - 1256, /* GL_RGB10_A2 */ - 1274, /* GL_RGBA12 */ - 1276, /* GL_RGBA16 */ - 1617, /* GL_TEXTURE_RED_SIZE */ - 1589, /* GL_TEXTURE_GREEN_SIZE */ - 1528, /* GL_TEXTURE_BLUE_SIZE */ - 1515, /* GL_TEXTURE_ALPHA_SIZE */ - 1602, /* GL_TEXTURE_LUMINANCE_SIZE */ - 1593, /* GL_TEXTURE_INTENSITY_SIZE */ - 1249, /* GL_REPLACE_EXT */ - 1197, /* GL_PROXY_TEXTURE_1D */ - 1200, /* GL_PROXY_TEXTURE_2D */ - 1621, /* GL_TEXTURE_TOO_LARGE_EXT */ - 1614, /* GL_TEXTURE_PRIORITY */ - 1619, /* GL_TEXTURE_RESIDENT */ - 1518, /* GL_TEXTURE_BINDING_1D */ - 1520, /* GL_TEXTURE_BINDING_2D */ - 1522, /* GL_TEXTURE_BINDING_3D */ - 1028, /* GL_PACK_SKIP_IMAGES */ - 1024, /* GL_PACK_IMAGE_HEIGHT */ - 1650, /* GL_UNPACK_SKIP_IMAGES */ - 1647, /* GL_UNPACK_IMAGE_HEIGHT */ - 1514, /* GL_TEXTURE_3D */ - 1203, /* GL_PROXY_TEXTURE_3D */ - 1576, /* GL_TEXTURE_DEPTH */ - 1624, /* GL_TEXTURE_WRAP_R */ - 794, /* GL_MAX_3D_TEXTURE_SIZE */ - 1680, /* GL_VERTEX_ARRAY */ - 959, /* GL_NORMAL_ARRAY */ - 139, /* GL_COLOR_ARRAY */ - 578, /* GL_INDEX_ARRAY */ - 1555, /* GL_TEXTURE_COORD_ARRAY */ - 415, /* GL_EDGE_FLAG_ARRAY */ - 1685, /* GL_VERTEX_ARRAY_SIZE */ - 1687, /* GL_VERTEX_ARRAY_TYPE */ - 1686, /* GL_VERTEX_ARRAY_STRIDE */ - 964, /* GL_NORMAL_ARRAY_TYPE */ - 963, /* GL_NORMAL_ARRAY_STRIDE */ - 143, /* GL_COLOR_ARRAY_SIZE */ - 145, /* GL_COLOR_ARRAY_TYPE */ - 144, /* GL_COLOR_ARRAY_STRIDE */ - 583, /* GL_INDEX_ARRAY_TYPE */ - 582, /* GL_INDEX_ARRAY_STRIDE */ - 1559, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - 1561, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - 1560, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - 419, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - 1684, /* GL_VERTEX_ARRAY_POINTER */ - 962, /* GL_NORMAL_ARRAY_POINTER */ - 142, /* GL_COLOR_ARRAY_POINTER */ - 581, /* GL_INDEX_ARRAY_POINTER */ - 1558, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - 418, /* GL_EDGE_FLAG_ARRAY_POINTER */ - 938, /* GL_MULTISAMPLE */ - 1306, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - 1308, /* GL_SAMPLE_ALPHA_TO_ONE */ - 1313, /* GL_SAMPLE_COVERAGE */ - 1310, /* GL_SAMPLE_BUFFERS */ - 1301, /* GL_SAMPLES */ - 1317, /* GL_SAMPLE_COVERAGE_VALUE */ - 1315, /* GL_SAMPLE_COVERAGE_INVERT */ - 170, /* GL_COLOR_MATRIX */ - 172, /* GL_COLOR_MATRIX_STACK_DEPTH */ - 802, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - 1129, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - 1125, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - 1120, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - 1116, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - 1127, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - 1123, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - 1118, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - 1114, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - 1538, /* GL_TEXTURE_COLOR_TABLE_SGI */ - 1204, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - 1540, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - 80, /* GL_BLEND_DST_RGB */ - 88, /* GL_BLEND_SRC_RGB */ - 79, /* GL_BLEND_DST_ALPHA */ - 87, /* GL_BLEND_SRC_ALPHA */ - 176, /* GL_COLOR_TABLE */ - 1139, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - 1122, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - 1192, /* GL_PROXY_COLOR_TABLE */ - 1196, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - 1195, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - 200, /* GL_COLOR_TABLE_SCALE */ - 180, /* GL_COLOR_TABLE_BIAS */ - 185, /* GL_COLOR_TABLE_FORMAT */ - 202, /* GL_COLOR_TABLE_WIDTH */ - 197, /* GL_COLOR_TABLE_RED_SIZE */ - 188, /* GL_COLOR_TABLE_GREEN_SIZE */ - 182, /* GL_COLOR_TABLE_BLUE_SIZE */ - 177, /* GL_COLOR_TABLE_ALPHA_SIZE */ - 194, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ - 191, /* GL_COLOR_TABLE_INTENSITY_SIZE */ - 71, /* GL_BGR */ - 72, /* GL_BGRA */ - 816, /* GL_MAX_ELEMENTS_VERTICES */ - 815, /* GL_MAX_ELEMENTS_INDICES */ - 1592, /* GL_TEXTURE_INDEX_SIZE_EXT */ - 136, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - 1086, /* GL_POINT_SIZE_MIN */ - 1082, /* GL_POINT_SIZE_MAX */ - 1076, /* GL_POINT_FADE_THRESHOLD_SIZE */ - 1072, /* GL_POINT_DISTANCE_ATTENUATION */ - 118, /* GL_CLAMP_TO_BORDER */ - 121, /* GL_CLAMP_TO_EDGE */ - 1613, /* GL_TEXTURE_MIN_LOD */ - 1611, /* GL_TEXTURE_MAX_LOD */ - 1517, /* GL_TEXTURE_BASE_LEVEL */ - 1610, /* GL_TEXTURE_MAX_LEVEL */ - 572, /* GL_IGNORE_BORDER_HP */ - 246, /* GL_CONSTANT_BORDER_HP */ - 1250, /* GL_REPLICATE_BORDER_HP */ - 252, /* GL_CONVOLUTION_BORDER_COLOR */ - 987, /* GL_OCCLUSION_TEST_HP */ - 988, /* GL_OCCLUSION_TEST_RESULT_HP */ - 641, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - 1532, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - 1534, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - 1536, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - 1537, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1535, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - 1533, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - 798, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - 799, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1149, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - 1151, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - 1148, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - 1150, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - 1600, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - 1601, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - 1599, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - 518, /* GL_GENERATE_MIPMAP */ - 519, /* GL_GENERATE_MIPMAP_HINT */ - 481, /* GL_FOG_OFFSET_SGIX */ - 482, /* GL_FOG_OFFSET_VALUE_SGIX */ - 1546, /* GL_TEXTURE_COMPARE_SGIX */ - 1545, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - 1596, /* GL_TEXTURE_LEQUAL_R_SGIX */ - 1588, /* GL_TEXTURE_GEQUAL_R_SGIX */ - 323, /* GL_DEPTH_COMPONENT16 */ - 326, /* GL_DEPTH_COMPONENT24 */ - 329, /* GL_DEPTH_COMPONENT32 */ - 274, /* GL_CULL_VERTEX_EXT */ - 276, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ - 275, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 1741, /* GL_WRAP_BORDER_SUN */ - 1539, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - 634, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - 1345, /* GL_SINGLE_COLOR */ - 1333, /* GL_SEPARATE_SPECULAR_COLOR */ - 1342, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - 1655, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - 1668, /* GL_UNSIGNED_SHORT_5_6_5 */ - 1669, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - 1666, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - 1664, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - 1662, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - 1660, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - 1608, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - 1609, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - 1607, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - 889, /* GL_MIRRORED_REPEAT */ - 1289, /* GL_RGB_S3TC */ - 1266, /* GL_RGB4_S3TC */ - 1288, /* GL_RGBA_S3TC */ - 1283, /* GL_RGBA4_S3TC */ - 1286, /* GL_RGBA_DXT5_S3TC */ - 1281, /* GL_RGBA4_DXT5_S3TC */ - 239, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ - 234, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ - 235, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ - 236, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - 950, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - 949, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - 642, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - 468, /* GL_FOG_COORDINATE_SOURCE */ - 460, /* GL_FOG_COORD */ - 484, /* GL_FRAGMENT_DEPTH */ - 280, /* GL_CURRENT_FOG_COORD */ - 467, /* GL_FOG_COORDINATE_ARRAY_TYPE */ - 466, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ - 465, /* GL_FOG_COORDINATE_ARRAY_POINTER */ - 462, /* GL_FOG_COORDINATE_ARRAY */ - 174, /* GL_COLOR_SUM */ - 299, /* GL_CURRENT_SECONDARY_COLOR */ - 1326, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - 1328, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - 1327, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - 1325, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - 1322, /* GL_SECONDARY_COLOR_ARRAY */ - 528, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */ + 677, /* GL_LUMINANCE4 */ + 683, /* GL_LUMINANCE8 */ + 667, /* GL_LUMINANCE12 */ + 673, /* GL_LUMINANCE16 */ + 678, /* GL_LUMINANCE4_ALPHA4 */ + 681, /* GL_LUMINANCE6_ALPHA2 */ + 684, /* GL_LUMINANCE8_ALPHA8 */ + 670, /* GL_LUMINANCE12_ALPHA4 */ + 668, /* GL_LUMINANCE12_ALPHA12 */ + 674, /* GL_LUMINANCE16_ALPHA16 */ + 591, /* GL_INTENSITY */ + 596, /* GL_INTENSITY4 */ + 598, /* GL_INTENSITY8 */ + 592, /* GL_INTENSITY12 */ + 594, /* GL_INTENSITY16 */ + 1261, /* GL_RGB2_EXT */ + 1262, /* GL_RGB4 */ + 1265, /* GL_RGB5 */ + 1269, /* GL_RGB8 */ + 1253, /* GL_RGB10 */ + 1257, /* GL_RGB12 */ + 1259, /* GL_RGB16 */ + 1276, /* GL_RGBA2 */ + 1278, /* GL_RGBA4 */ + 1266, /* GL_RGB5_A1 */ + 1282, /* GL_RGBA8 */ + 1254, /* GL_RGB10_A2 */ + 1272, /* GL_RGBA12 */ + 1274, /* GL_RGBA16 */ + 1615, /* GL_TEXTURE_RED_SIZE */ + 1587, /* GL_TEXTURE_GREEN_SIZE */ + 1526, /* GL_TEXTURE_BLUE_SIZE */ + 1513, /* GL_TEXTURE_ALPHA_SIZE */ + 1600, /* GL_TEXTURE_LUMINANCE_SIZE */ + 1591, /* GL_TEXTURE_INTENSITY_SIZE */ + 1247, /* GL_REPLACE_EXT */ + 1195, /* GL_PROXY_TEXTURE_1D */ + 1198, /* GL_PROXY_TEXTURE_2D */ + 1619, /* GL_TEXTURE_TOO_LARGE_EXT */ + 1612, /* GL_TEXTURE_PRIORITY */ + 1617, /* GL_TEXTURE_RESIDENT */ + 1516, /* GL_TEXTURE_BINDING_1D */ + 1518, /* GL_TEXTURE_BINDING_2D */ + 1520, /* GL_TEXTURE_BINDING_3D */ + 1026, /* GL_PACK_SKIP_IMAGES */ + 1022, /* GL_PACK_IMAGE_HEIGHT */ + 1648, /* GL_UNPACK_SKIP_IMAGES */ + 1645, /* GL_UNPACK_IMAGE_HEIGHT */ + 1512, /* GL_TEXTURE_3D */ + 1201, /* GL_PROXY_TEXTURE_3D */ + 1574, /* GL_TEXTURE_DEPTH */ + 1622, /* GL_TEXTURE_WRAP_R */ + 792, /* GL_MAX_3D_TEXTURE_SIZE */ + 1678, /* GL_VERTEX_ARRAY */ + 957, /* GL_NORMAL_ARRAY */ + 138, /* GL_COLOR_ARRAY */ + 576, /* GL_INDEX_ARRAY */ + 1553, /* GL_TEXTURE_COORD_ARRAY */ + 414, /* GL_EDGE_FLAG_ARRAY */ + 1683, /* GL_VERTEX_ARRAY_SIZE */ + 1685, /* GL_VERTEX_ARRAY_TYPE */ + 1684, /* GL_VERTEX_ARRAY_STRIDE */ + 962, /* GL_NORMAL_ARRAY_TYPE */ + 961, /* GL_NORMAL_ARRAY_STRIDE */ + 142, /* GL_COLOR_ARRAY_SIZE */ + 144, /* GL_COLOR_ARRAY_TYPE */ + 143, /* GL_COLOR_ARRAY_STRIDE */ + 581, /* GL_INDEX_ARRAY_TYPE */ + 580, /* GL_INDEX_ARRAY_STRIDE */ + 1557, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 1559, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 1558, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 418, /* GL_EDGE_FLAG_ARRAY_STRIDE */ + 1682, /* GL_VERTEX_ARRAY_POINTER */ + 960, /* GL_NORMAL_ARRAY_POINTER */ + 141, /* GL_COLOR_ARRAY_POINTER */ + 579, /* GL_INDEX_ARRAY_POINTER */ + 1556, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 417, /* GL_EDGE_FLAG_ARRAY_POINTER */ + 936, /* GL_MULTISAMPLE */ + 1304, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1306, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1311, /* GL_SAMPLE_COVERAGE */ + 1308, /* GL_SAMPLE_BUFFERS */ + 1299, /* GL_SAMPLES */ + 1315, /* GL_SAMPLE_COVERAGE_VALUE */ + 1313, /* GL_SAMPLE_COVERAGE_INVERT */ + 169, /* GL_COLOR_MATRIX */ + 171, /* GL_COLOR_MATRIX_STACK_DEPTH */ + 800, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1127, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1123, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1118, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1114, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1125, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1121, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1116, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1112, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 1536, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1202, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 1538, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 79, /* GL_BLEND_DST_RGB */ + 87, /* GL_BLEND_SRC_RGB */ + 78, /* GL_BLEND_DST_ALPHA */ + 86, /* GL_BLEND_SRC_ALPHA */ + 175, /* GL_COLOR_TABLE */ + 1137, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1120, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1190, /* GL_PROXY_COLOR_TABLE */ + 1194, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1193, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 199, /* GL_COLOR_TABLE_SCALE */ + 179, /* GL_COLOR_TABLE_BIAS */ + 184, /* GL_COLOR_TABLE_FORMAT */ + 201, /* GL_COLOR_TABLE_WIDTH */ + 196, /* GL_COLOR_TABLE_RED_SIZE */ + 187, /* GL_COLOR_TABLE_GREEN_SIZE */ + 181, /* GL_COLOR_TABLE_BLUE_SIZE */ + 176, /* GL_COLOR_TABLE_ALPHA_SIZE */ + 193, /* GL_COLOR_TABLE_LUMINANCE_SIZE */ + 190, /* GL_COLOR_TABLE_INTENSITY_SIZE */ + 70, /* GL_BGR */ + 71, /* GL_BGRA */ + 814, /* GL_MAX_ELEMENTS_VERTICES */ + 813, /* GL_MAX_ELEMENTS_INDICES */ + 1590, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 135, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ + 1084, /* GL_POINT_SIZE_MIN */ + 1080, /* GL_POINT_SIZE_MAX */ + 1074, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1070, /* GL_POINT_DISTANCE_ATTENUATION */ + 117, /* GL_CLAMP_TO_BORDER */ + 120, /* GL_CLAMP_TO_EDGE */ + 1611, /* GL_TEXTURE_MIN_LOD */ + 1609, /* GL_TEXTURE_MAX_LOD */ + 1515, /* GL_TEXTURE_BASE_LEVEL */ + 1608, /* GL_TEXTURE_MAX_LEVEL */ + 570, /* GL_IGNORE_BORDER_HP */ + 245, /* GL_CONSTANT_BORDER_HP */ + 1248, /* GL_REPLICATE_BORDER_HP */ + 251, /* GL_CONVOLUTION_BORDER_COLOR */ + 985, /* GL_OCCLUSION_TEST_HP */ + 986, /* GL_OCCLUSION_TEST_RESULT_HP */ + 639, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 1530, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 1532, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 1534, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 1535, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1533, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 1531, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 796, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 797, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1147, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1149, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1146, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1148, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 1598, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 1599, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 1597, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 516, /* GL_GENERATE_MIPMAP */ + 517, /* GL_GENERATE_MIPMAP_HINT */ + 479, /* GL_FOG_OFFSET_SGIX */ + 480, /* GL_FOG_OFFSET_VALUE_SGIX */ + 1544, /* GL_TEXTURE_COMPARE_SGIX */ + 1543, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 1594, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 1586, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 322, /* GL_DEPTH_COMPONENT16 */ + 325, /* GL_DEPTH_COMPONENT24 */ + 328, /* GL_DEPTH_COMPONENT32 */ + 273, /* GL_CULL_VERTEX_EXT */ + 275, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ + 274, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ + 1739, /* GL_WRAP_BORDER_SUN */ + 1537, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 632, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1343, /* GL_SINGLE_COLOR */ + 1331, /* GL_SEPARATE_SPECULAR_COLOR */ + 1340, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 1653, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 1666, /* GL_UNSIGNED_SHORT_5_6_5 */ + 1667, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 1664, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 1662, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 1660, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 1658, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 1606, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 1607, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 1605, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 887, /* GL_MIRRORED_REPEAT */ + 1287, /* GL_RGB_S3TC */ + 1264, /* GL_RGB4_S3TC */ + 1286, /* GL_RGBA_S3TC */ + 1281, /* GL_RGBA4_S3TC */ + 1284, /* GL_RGBA_DXT5_S3TC */ + 1279, /* GL_RGBA4_DXT5_S3TC */ + 238, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ + 233, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ + 234, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ + 235, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ + 948, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 947, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 640, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 466, /* GL_FOG_COORDINATE_SOURCE */ + 458, /* GL_FOG_COORD */ + 482, /* GL_FRAGMENT_DEPTH */ + 279, /* GL_CURRENT_FOG_COORD */ + 465, /* GL_FOG_COORDINATE_ARRAY_TYPE */ + 464, /* GL_FOG_COORDINATE_ARRAY_STRIDE */ + 463, /* GL_FOG_COORDINATE_ARRAY_POINTER */ + 460, /* GL_FOG_COORDINATE_ARRAY */ + 173, /* GL_COLOR_SUM */ + 298, /* GL_CURRENT_SECONDARY_COLOR */ + 1324, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1326, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1325, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1323, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1320, /* GL_SECONDARY_COLOR_ARRAY */ + 526, /* GL_GL_CURRENT_RASTER_SECONDARY_COLOR */ 28, /* GL_ALIASED_POINT_SIZE_RANGE */ 27, /* GL_ALIASED_LINE_WIDTH_RANGE */ - 1446, /* GL_TEXTURE0 */ - 1448, /* GL_TEXTURE1 */ - 1470, /* GL_TEXTURE2 */ - 1492, /* GL_TEXTURE3 */ - 1498, /* GL_TEXTURE4 */ - 1500, /* GL_TEXTURE5 */ - 1502, /* GL_TEXTURE6 */ - 1504, /* GL_TEXTURE7 */ - 1506, /* GL_TEXTURE8 */ - 1508, /* GL_TEXTURE9 */ - 1449, /* GL_TEXTURE10 */ - 1451, /* GL_TEXTURE11 */ - 1453, /* GL_TEXTURE12 */ - 1455, /* GL_TEXTURE13 */ - 1457, /* GL_TEXTURE14 */ - 1459, /* GL_TEXTURE15 */ - 1461, /* GL_TEXTURE16 */ - 1463, /* GL_TEXTURE17 */ - 1465, /* GL_TEXTURE18 */ - 1467, /* GL_TEXTURE19 */ - 1471, /* GL_TEXTURE20 */ - 1473, /* GL_TEXTURE21 */ - 1475, /* GL_TEXTURE22 */ - 1477, /* GL_TEXTURE23 */ - 1479, /* GL_TEXTURE24 */ - 1481, /* GL_TEXTURE25 */ - 1483, /* GL_TEXTURE26 */ - 1485, /* GL_TEXTURE27 */ - 1487, /* GL_TEXTURE28 */ - 1489, /* GL_TEXTURE29 */ - 1493, /* GL_TEXTURE30 */ - 1495, /* GL_TEXTURE31 */ + 1444, /* GL_TEXTURE0 */ + 1446, /* GL_TEXTURE1 */ + 1468, /* GL_TEXTURE2 */ + 1490, /* GL_TEXTURE3 */ + 1496, /* GL_TEXTURE4 */ + 1498, /* GL_TEXTURE5 */ + 1500, /* GL_TEXTURE6 */ + 1502, /* GL_TEXTURE7 */ + 1504, /* GL_TEXTURE8 */ + 1506, /* GL_TEXTURE9 */ + 1447, /* GL_TEXTURE10 */ + 1449, /* GL_TEXTURE11 */ + 1451, /* GL_TEXTURE12 */ + 1453, /* GL_TEXTURE13 */ + 1455, /* GL_TEXTURE14 */ + 1457, /* GL_TEXTURE15 */ + 1459, /* GL_TEXTURE16 */ + 1461, /* GL_TEXTURE17 */ + 1463, /* GL_TEXTURE18 */ + 1465, /* GL_TEXTURE19 */ + 1469, /* GL_TEXTURE20 */ + 1471, /* GL_TEXTURE21 */ + 1473, /* GL_TEXTURE22 */ + 1475, /* GL_TEXTURE23 */ + 1477, /* GL_TEXTURE24 */ + 1479, /* GL_TEXTURE25 */ + 1481, /* GL_TEXTURE26 */ + 1483, /* GL_TEXTURE27 */ + 1485, /* GL_TEXTURE28 */ + 1487, /* GL_TEXTURE29 */ + 1491, /* GL_TEXTURE30 */ + 1493, /* GL_TEXTURE31 */ 18, /* GL_ACTIVE_TEXTURE */ - 124, /* GL_CLIENT_ACTIVE_TEXTURE */ - 867, /* GL_MAX_TEXTURE_UNITS */ - 1634, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - 1637, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - 1639, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - 1631, /* GL_TRANSPOSE_COLOR_MATRIX */ - 1434, /* GL_SUBTRACT */ - 856, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - 222, /* GL_COMPRESSED_ALPHA */ - 226, /* GL_COMPRESSED_LUMINANCE */ - 227, /* GL_COMPRESSED_LUMINANCE_ALPHA */ - 224, /* GL_COMPRESSED_INTENSITY */ - 230, /* GL_COMPRESSED_RGB */ - 231, /* GL_COMPRESSED_RGBA */ - 1553, /* GL_TEXTURE_COMPRESSION_HINT */ - 1615, /* GL_TEXTURE_RECTANGLE_ARB */ - 1525, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - 1207, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - 854, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - 335, /* GL_DEPTH_STENCIL_NV */ - 1659, /* GL_UNSIGNED_INT_24_8_NV */ - 863, /* GL_MAX_TEXTURE_LOD_BIAS */ - 1606, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - 864, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - 1582, /* GL_TEXTURE_FILTER_CONTROL */ - 1597, /* GL_TEXTURE_LOD_BIAS */ - 207, /* GL_COMBINE4 */ - 857, /* GL_MAX_SHININESS_NV */ - 858, /* GL_MAX_SPOT_EXPONENT_NV */ - 576, /* GL_INCR_WRAP */ - 310, /* GL_DECR_WRAP */ - 909, /* GL_MODELVIEW1_ARB */ - 965, /* GL_NORMAL_MAP */ - 1236, /* GL_REFLECTION_MAP */ - 1562, /* GL_TEXTURE_CUBE_MAP */ - 1523, /* GL_TEXTURE_BINDING_CUBE_MAP */ - 1570, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - 1564, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - 1572, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - 1566, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - 1574, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - 1568, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - 1205, /* GL_PROXY_TEXTURE_CUBE_MAP */ - 810, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - 944, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - 476, /* GL_FOG_DISTANCE_MODE_NV */ - 435, /* GL_EYE_RADIAL_NV */ - 434, /* GL_EYE_PLANE_ABSOLUTE_NV */ - 206, /* GL_COMBINE */ - 213, /* GL_COMBINE_RGB */ - 208, /* GL_COMBINE_ALPHA */ - 1290, /* GL_RGB_SCALE */ + 123, /* GL_CLIENT_ACTIVE_TEXTURE */ + 865, /* GL_MAX_TEXTURE_UNITS */ + 1632, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 1635, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 1637, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 1629, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1432, /* GL_SUBTRACT */ + 854, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + 221, /* GL_COMPRESSED_ALPHA */ + 225, /* GL_COMPRESSED_LUMINANCE */ + 226, /* GL_COMPRESSED_LUMINANCE_ALPHA */ + 223, /* GL_COMPRESSED_INTENSITY */ + 229, /* GL_COMPRESSED_RGB */ + 230, /* GL_COMPRESSED_RGBA */ + 1551, /* GL_TEXTURE_COMPRESSION_HINT */ + 1613, /* GL_TEXTURE_RECTANGLE_ARB */ + 1523, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + 1205, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + 852, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + 334, /* GL_DEPTH_STENCIL_NV */ + 1657, /* GL_UNSIGNED_INT_24_8_NV */ + 861, /* GL_MAX_TEXTURE_LOD_BIAS */ + 1604, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 862, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 1580, /* GL_TEXTURE_FILTER_CONTROL */ + 1595, /* GL_TEXTURE_LOD_BIAS */ + 206, /* GL_COMBINE4 */ + 855, /* GL_MAX_SHININESS_NV */ + 856, /* GL_MAX_SPOT_EXPONENT_NV */ + 574, /* GL_INCR_WRAP */ + 309, /* GL_DECR_WRAP */ + 907, /* GL_MODELVIEW1_ARB */ + 963, /* GL_NORMAL_MAP */ + 1234, /* GL_REFLECTION_MAP */ + 1560, /* GL_TEXTURE_CUBE_MAP */ + 1521, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 1568, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 1562, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 1570, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 1564, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 1572, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 1566, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1203, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 808, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 942, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 474, /* GL_FOG_DISTANCE_MODE_NV */ + 433, /* GL_EYE_RADIAL_NV */ + 432, /* GL_EYE_PLANE_ABSOLUTE_NV */ + 205, /* GL_COMBINE */ + 212, /* GL_COMBINE_RGB */ + 207, /* GL_COMBINE_ALPHA */ + 1288, /* GL_RGB_SCALE */ 24, /* GL_ADD_SIGNED */ - 603, /* GL_INTERPOLATE */ - 241, /* GL_CONSTANT */ - 1155, /* GL_PRIMARY_COLOR */ - 1152, /* GL_PREVIOUS */ - 1356, /* GL_SOURCE0_RGB */ - 1362, /* GL_SOURCE1_RGB */ - 1368, /* GL_SOURCE2_RGB */ - 1372, /* GL_SOURCE3_RGB_NV */ - 1353, /* GL_SOURCE0_ALPHA */ - 1359, /* GL_SOURCE1_ALPHA */ - 1365, /* GL_SOURCE2_ALPHA */ - 1371, /* GL_SOURCE3_ALPHA_NV */ - 1001, /* GL_OPERAND0_RGB */ - 1007, /* GL_OPERAND1_RGB */ - 1013, /* GL_OPERAND2_RGB */ - 1017, /* GL_OPERAND3_RGB_NV */ - 998, /* GL_OPERAND0_ALPHA */ - 1004, /* GL_OPERAND1_ALPHA */ - 1010, /* GL_OPERAND2_ALPHA */ - 1016, /* GL_OPERAND3_ALPHA_NV */ - 1681, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - 1745, /* GL_YCBCR_422_APPLE */ - 1670, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - 1672, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - 1347, /* GL_SLICE_ACCUM_SUN */ - 1212, /* GL_QUAD_MESH_SUN */ - 1643, /* GL_TRIANGLE_MESH_SUN */ - 1719, /* GL_VERTEX_PROGRAM_ARB */ - 1730, /* GL_VERTEX_STATE_PROGRAM_NV */ - 1706, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - 1712, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - 1714, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - 1716, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - 301, /* GL_CURRENT_VERTEX_ATTRIB */ - 1168, /* GL_PROGRAM_LENGTH_ARB */ - 1182, /* GL_PROGRAM_STRING_ARB */ - 931, /* GL_MODELVIEW_PROJECTION_NV */ - 571, /* GL_IDENTITY_NV */ - 616, /* GL_INVERSE_NV */ - 1636, /* GL_TRANSPOSE_NV */ - 617, /* GL_INVERSE_TRANSPOSE_NV */ - 840, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - 839, /* GL_MAX_PROGRAM_MATRICES_ARB */ - 747, /* GL_MATRIX0_NV */ - 759, /* GL_MATRIX1_NV */ - 771, /* GL_MATRIX2_NV */ - 775, /* GL_MATRIX3_NV */ - 777, /* GL_MATRIX4_NV */ - 779, /* GL_MATRIX5_NV */ - 781, /* GL_MATRIX6_NV */ - 783, /* GL_MATRIX7_NV */ - 286, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ - 283, /* GL_CURRENT_MATRIX_ARB */ - 1722, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - 1725, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - 1180, /* GL_PROGRAM_PARAMETER_NV */ - 1710, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - 1184, /* GL_PROGRAM_TARGET_NV */ - 1181, /* GL_PROGRAM_RESIDENT_NV */ - 1628, /* GL_TRACK_MATRIX_NV */ - 1629, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 1720, /* GL_VERTEX_PROGRAM_BINDING_NV */ - 1162, /* GL_PROGRAM_ERROR_POSITION_ARB */ - 320, /* GL_DEPTH_CLAMP_NV */ - 1688, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - 1695, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - 1696, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - 1697, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - 1698, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - 1699, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - 1700, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - 1701, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - 1702, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - 1703, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - 1689, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - 1690, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - 1691, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - 1692, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - 1693, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - 1694, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - 701, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - 708, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - 709, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - 710, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - 711, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - 712, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - 713, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - 714, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - 715, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - 716, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - 702, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - 703, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - 704, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - 705, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - 706, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - 707, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - 728, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - 735, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - 736, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - 737, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - 738, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - 739, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - 740, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - 1161, /* GL_PROGRAM_BINDING_ARB */ - 742, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - 743, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - 729, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - 730, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - 731, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - 732, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - 733, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - 734, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - 1551, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - 1548, /* GL_TEXTURE_COMPRESSED */ - 970, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - 240, /* GL_COMPRESSED_TEXTURE_FORMATS */ - 879, /* GL_MAX_VERTEX_UNITS_ARB */ + 601, /* GL_INTERPOLATE */ + 240, /* GL_CONSTANT */ + 1153, /* GL_PRIMARY_COLOR */ + 1150, /* GL_PREVIOUS */ + 1354, /* GL_SOURCE0_RGB */ + 1360, /* GL_SOURCE1_RGB */ + 1366, /* GL_SOURCE2_RGB */ + 1370, /* GL_SOURCE3_RGB_NV */ + 1351, /* GL_SOURCE0_ALPHA */ + 1357, /* GL_SOURCE1_ALPHA */ + 1363, /* GL_SOURCE2_ALPHA */ + 1369, /* GL_SOURCE3_ALPHA_NV */ + 999, /* GL_OPERAND0_RGB */ + 1005, /* GL_OPERAND1_RGB */ + 1011, /* GL_OPERAND2_RGB */ + 1015, /* GL_OPERAND3_RGB_NV */ + 996, /* GL_OPERAND0_ALPHA */ + 1002, /* GL_OPERAND1_ALPHA */ + 1008, /* GL_OPERAND2_ALPHA */ + 1014, /* GL_OPERAND3_ALPHA_NV */ + 1679, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + 1743, /* GL_YCBCR_422_APPLE */ + 1668, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 1670, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 1345, /* GL_SLICE_ACCUM_SUN */ + 1210, /* GL_QUAD_MESH_SUN */ + 1641, /* GL_TRIANGLE_MESH_SUN */ + 1717, /* GL_VERTEX_PROGRAM_ARB */ + 1728, /* GL_VERTEX_STATE_PROGRAM_NV */ + 1704, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 1710, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 1712, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 1714, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 300, /* GL_CURRENT_VERTEX_ATTRIB */ + 1166, /* GL_PROGRAM_LENGTH_ARB */ + 1180, /* GL_PROGRAM_STRING_ARB */ + 929, /* GL_MODELVIEW_PROJECTION_NV */ + 569, /* GL_IDENTITY_NV */ + 614, /* GL_INVERSE_NV */ + 1634, /* GL_TRANSPOSE_NV */ + 615, /* GL_INVERSE_TRANSPOSE_NV */ + 838, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 837, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 745, /* GL_MATRIX0_NV */ + 757, /* GL_MATRIX1_NV */ + 769, /* GL_MATRIX2_NV */ + 773, /* GL_MATRIX3_NV */ + 775, /* GL_MATRIX4_NV */ + 777, /* GL_MATRIX5_NV */ + 779, /* GL_MATRIX6_NV */ + 781, /* GL_MATRIX7_NV */ + 285, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ + 282, /* GL_CURRENT_MATRIX_ARB */ + 1720, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + 1723, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1178, /* GL_PROGRAM_PARAMETER_NV */ + 1708, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1182, /* GL_PROGRAM_TARGET_NV */ + 1179, /* GL_PROGRAM_RESIDENT_NV */ + 1626, /* GL_TRACK_MATRIX_NV */ + 1627, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 1718, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1160, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 319, /* GL_DEPTH_CLAMP_NV */ + 1686, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 1693, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 1694, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 1695, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 1696, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 1697, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 1698, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 1699, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 1700, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 1701, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 1687, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 1688, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 1689, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 1690, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 1691, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 1692, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 699, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 706, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 707, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 708, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 709, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 710, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 711, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 712, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 713, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 714, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 700, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 701, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 702, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 703, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 704, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 705, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 726, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 733, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 734, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 735, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 736, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 737, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 738, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1159, /* GL_PROGRAM_BINDING_ARB */ + 740, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 741, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 727, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 728, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 729, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 730, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 731, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 732, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 1549, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 1546, /* GL_TEXTURE_COMPRESSED */ + 968, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 239, /* GL_COMPRESSED_TEXTURE_FORMATS */ + 877, /* GL_MAX_VERTEX_UNITS_ARB */ 22, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 1740, /* GL_WEIGHT_SUM_UNITY_ARB */ - 1718, /* GL_VERTEX_BLEND_ARB */ - 303, /* GL_CURRENT_WEIGHT_ARB */ - 1739, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 1738, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 1737, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 1736, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 1733, /* GL_WEIGHT_ARRAY_ARB */ - 346, /* GL_DOT3_RGB */ - 347, /* GL_DOT3_RGBA */ - 238, /* GL_COMPRESSED_RGB_FXT1_3DFX */ - 233, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - 939, /* GL_MULTISAMPLE_3DFX */ - 1311, /* GL_SAMPLE_BUFFERS_3DFX */ - 1302, /* GL_SAMPLES_3DFX */ - 920, /* GL_MODELVIEW2_ARB */ - 923, /* GL_MODELVIEW3_ARB */ - 924, /* GL_MODELVIEW4_ARB */ - 925, /* GL_MODELVIEW5_ARB */ - 926, /* GL_MODELVIEW6_ARB */ - 927, /* GL_MODELVIEW7_ARB */ - 928, /* GL_MODELVIEW8_ARB */ - 929, /* GL_MODELVIEW9_ARB */ - 899, /* GL_MODELVIEW10_ARB */ - 900, /* GL_MODELVIEW11_ARB */ - 901, /* GL_MODELVIEW12_ARB */ - 902, /* GL_MODELVIEW13_ARB */ - 903, /* GL_MODELVIEW14_ARB */ - 904, /* GL_MODELVIEW15_ARB */ - 905, /* GL_MODELVIEW16_ARB */ - 906, /* GL_MODELVIEW17_ARB */ - 907, /* GL_MODELVIEW18_ARB */ - 908, /* GL_MODELVIEW19_ARB */ - 910, /* GL_MODELVIEW20_ARB */ - 911, /* GL_MODELVIEW21_ARB */ - 912, /* GL_MODELVIEW22_ARB */ - 913, /* GL_MODELVIEW23_ARB */ - 914, /* GL_MODELVIEW24_ARB */ - 915, /* GL_MODELVIEW25_ARB */ - 916, /* GL_MODELVIEW26_ARB */ - 917, /* GL_MODELVIEW27_ARB */ - 918, /* GL_MODELVIEW28_ARB */ - 919, /* GL_MODELVIEW29_ARB */ - 921, /* GL_MODELVIEW30_ARB */ - 922, /* GL_MODELVIEW31_ARB */ - 351, /* GL_DOT3_RGB_EXT */ - 349, /* GL_DOT3_RGBA_EXT */ - 893, /* GL_MIRROR_CLAMP_EXT */ - 896, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - 934, /* GL_MODULATE_ADD_ATI */ - 935, /* GL_MODULATE_SIGNED_ADD_ATI */ - 936, /* GL_MODULATE_SUBTRACT_ATI */ - 1746, /* GL_YCBCR_MESA */ - 1025, /* GL_PACK_INVERT_MESA */ - 306, /* GL_DEBUG_OBJECT_MESA */ - 307, /* GL_DEBUG_PRINT_MESA */ - 305, /* GL_DEBUG_ASSERT_MESA */ - 107, /* GL_BUFFER_SIZE */ - 109, /* GL_BUFFER_USAGE */ - 1399, /* GL_STENCIL_BACK_FUNC */ - 1397, /* GL_STENCIL_BACK_FAIL */ - 1401, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - 1403, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - 485, /* GL_FRAGMENT_PROGRAM_ARB */ - 1159, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1187, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1186, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1171, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1177, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1176, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 829, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 852, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 851, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - 842, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 848, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 847, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 812, /* GL_MAX_DRAW_BUFFERS */ - 355, /* GL_DRAW_BUFFER0 */ - 358, /* GL_DRAW_BUFFER1 */ - 379, /* GL_DRAW_BUFFER2 */ - 382, /* GL_DRAW_BUFFER3 */ - 385, /* GL_DRAW_BUFFER4 */ - 388, /* GL_DRAW_BUFFER5 */ - 391, /* GL_DRAW_BUFFER6 */ - 394, /* GL_DRAW_BUFFER7 */ - 397, /* GL_DRAW_BUFFER8 */ - 400, /* GL_DRAW_BUFFER9 */ - 359, /* GL_DRAW_BUFFER10 */ - 362, /* GL_DRAW_BUFFER11 */ - 365, /* GL_DRAW_BUFFER12 */ - 368, /* GL_DRAW_BUFFER13 */ - 371, /* GL_DRAW_BUFFER14 */ - 374, /* GL_DRAW_BUFFER15 */ - 82, /* GL_BLEND_EQUATION_ALPHA */ - 792, /* GL_MATRIX_PALETTE_ARB */ - 823, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - 826, /* GL_MAX_PALETTE_MATRICES_ARB */ - 289, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - 786, /* GL_MATRIX_INDEX_ARRAY_ARB */ - 284, /* GL_CURRENT_MATRIX_INDEX_ARB */ - 788, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - 790, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - 789, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - 787, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - 1577, /* GL_TEXTURE_DEPTH_SIZE */ - 339, /* GL_DEPTH_TEXTURE_MODE */ - 1543, /* GL_TEXTURE_COMPARE_MODE */ - 1541, /* GL_TEXTURE_COMPARE_FUNC */ - 217, /* GL_COMPARE_R_TO_TEXTURE */ - 1093, /* GL_POINT_SPRITE */ - 266, /* GL_COORD_REPLACE */ - 1097, /* GL_POINT_SPRITE_R_MODE_NV */ - 1214, /* GL_QUERY_COUNTER_BITS */ - 291, /* GL_CURRENT_QUERY */ - 1216, /* GL_QUERY_RESULT */ - 1218, /* GL_QUERY_RESULT_AVAILABLE */ - 873, /* GL_MAX_VERTEX_ATTRIBS */ - 1708, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - 337, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ - 336, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - 859, /* GL_MAX_TEXTURE_COORDS */ - 861, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - 1164, /* GL_PROGRAM_ERROR_STRING_ARB */ - 1166, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - 1165, /* GL_PROGRAM_FORMAT_ARB */ - 1622, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - 318, /* GL_DEPTH_BOUNDS_TEST_EXT */ - 317, /* GL_DEPTH_BOUNDS_EXT */ + 1738, /* GL_WEIGHT_SUM_UNITY_ARB */ + 1716, /* GL_VERTEX_BLEND_ARB */ + 302, /* GL_CURRENT_WEIGHT_ARB */ + 1737, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 1736, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 1735, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 1734, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 1731, /* GL_WEIGHT_ARRAY_ARB */ + 345, /* GL_DOT3_RGB */ + 346, /* GL_DOT3_RGBA */ + 237, /* GL_COMPRESSED_RGB_FXT1_3DFX */ + 232, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ + 937, /* GL_MULTISAMPLE_3DFX */ + 1309, /* GL_SAMPLE_BUFFERS_3DFX */ + 1300, /* GL_SAMPLES_3DFX */ + 918, /* GL_MODELVIEW2_ARB */ + 921, /* GL_MODELVIEW3_ARB */ + 922, /* GL_MODELVIEW4_ARB */ + 923, /* GL_MODELVIEW5_ARB */ + 924, /* GL_MODELVIEW6_ARB */ + 925, /* GL_MODELVIEW7_ARB */ + 926, /* GL_MODELVIEW8_ARB */ + 927, /* GL_MODELVIEW9_ARB */ + 897, /* GL_MODELVIEW10_ARB */ + 898, /* GL_MODELVIEW11_ARB */ + 899, /* GL_MODELVIEW12_ARB */ + 900, /* GL_MODELVIEW13_ARB */ + 901, /* GL_MODELVIEW14_ARB */ + 902, /* GL_MODELVIEW15_ARB */ + 903, /* GL_MODELVIEW16_ARB */ + 904, /* GL_MODELVIEW17_ARB */ + 905, /* GL_MODELVIEW18_ARB */ + 906, /* GL_MODELVIEW19_ARB */ + 908, /* GL_MODELVIEW20_ARB */ + 909, /* GL_MODELVIEW21_ARB */ + 910, /* GL_MODELVIEW22_ARB */ + 911, /* GL_MODELVIEW23_ARB */ + 912, /* GL_MODELVIEW24_ARB */ + 913, /* GL_MODELVIEW25_ARB */ + 914, /* GL_MODELVIEW26_ARB */ + 915, /* GL_MODELVIEW27_ARB */ + 916, /* GL_MODELVIEW28_ARB */ + 917, /* GL_MODELVIEW29_ARB */ + 919, /* GL_MODELVIEW30_ARB */ + 920, /* GL_MODELVIEW31_ARB */ + 350, /* GL_DOT3_RGB_EXT */ + 348, /* GL_DOT3_RGBA_EXT */ + 891, /* GL_MIRROR_CLAMP_EXT */ + 894, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 932, /* GL_MODULATE_ADD_ATI */ + 933, /* GL_MODULATE_SIGNED_ADD_ATI */ + 934, /* GL_MODULATE_SUBTRACT_ATI */ + 1744, /* GL_YCBCR_MESA */ + 1023, /* GL_PACK_INVERT_MESA */ + 305, /* GL_DEBUG_OBJECT_MESA */ + 306, /* GL_DEBUG_PRINT_MESA */ + 304, /* GL_DEBUG_ASSERT_MESA */ + 106, /* GL_BUFFER_SIZE */ + 108, /* GL_BUFFER_USAGE */ + 1397, /* GL_STENCIL_BACK_FUNC */ + 1395, /* GL_STENCIL_BACK_FAIL */ + 1399, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1401, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 483, /* GL_FRAGMENT_PROGRAM_ARB */ + 1157, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1185, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1184, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1169, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1175, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1174, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 827, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 850, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 849, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 840, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 846, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 845, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 810, /* GL_MAX_DRAW_BUFFERS */ + 354, /* GL_DRAW_BUFFER0 */ + 357, /* GL_DRAW_BUFFER1 */ + 378, /* GL_DRAW_BUFFER2 */ + 381, /* GL_DRAW_BUFFER3 */ + 384, /* GL_DRAW_BUFFER4 */ + 387, /* GL_DRAW_BUFFER5 */ + 390, /* GL_DRAW_BUFFER6 */ + 393, /* GL_DRAW_BUFFER7 */ + 396, /* GL_DRAW_BUFFER8 */ + 399, /* GL_DRAW_BUFFER9 */ + 358, /* GL_DRAW_BUFFER10 */ + 361, /* GL_DRAW_BUFFER11 */ + 364, /* GL_DRAW_BUFFER12 */ + 367, /* GL_DRAW_BUFFER13 */ + 370, /* GL_DRAW_BUFFER14 */ + 373, /* GL_DRAW_BUFFER15 */ + 81, /* GL_BLEND_EQUATION_ALPHA */ + 790, /* GL_MATRIX_PALETTE_ARB */ + 821, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 824, /* GL_MAX_PALETTE_MATRICES_ARB */ + 288, /* GL_CURRENT_PALETTE_MATRIX_ARB */ + 784, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 283, /* GL_CURRENT_MATRIX_INDEX_ARB */ + 786, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 788, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 787, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 785, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 1575, /* GL_TEXTURE_DEPTH_SIZE */ + 338, /* GL_DEPTH_TEXTURE_MODE */ + 1541, /* GL_TEXTURE_COMPARE_MODE */ + 1539, /* GL_TEXTURE_COMPARE_FUNC */ + 216, /* GL_COMPARE_R_TO_TEXTURE */ + 1091, /* GL_POINT_SPRITE */ + 265, /* GL_COORD_REPLACE */ + 1095, /* GL_POINT_SPRITE_R_MODE_NV */ + 1212, /* GL_QUERY_COUNTER_BITS */ + 290, /* GL_CURRENT_QUERY */ + 1214, /* GL_QUERY_RESULT */ + 1216, /* GL_QUERY_RESULT_AVAILABLE */ + 871, /* GL_MAX_VERTEX_ATTRIBS */ + 1706, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 336, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ + 335, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ + 857, /* GL_MAX_TEXTURE_COORDS */ + 859, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1162, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1164, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1163, /* GL_PROGRAM_FORMAT_ARB */ + 1620, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 317, /* GL_DEPTH_BOUNDS_TEST_EXT */ + 316, /* GL_DEPTH_BOUNDS_EXT */ 52, /* GL_ARRAY_BUFFER */ - 420, /* GL_ELEMENT_ARRAY_BUFFER */ - 54, /* GL_ARRAY_BUFFER_BINDING */ - 422, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - 1682, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - 960, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - 140, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - 579, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - 1556, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - 416, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - 1323, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - 463, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 1734, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - 1704, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - 1167, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - 835, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - 1173, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 844, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1185, /* GL_PROGRAM_TEMPORARIES_ARB */ - 850, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - 1175, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 846, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1179, /* GL_PROGRAM_PARAMETERS_ARB */ - 849, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - 1174, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - 845, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1160, /* GL_PROGRAM_ATTRIBS_ARB */ - 830, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - 1172, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - 843, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1158, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - 828, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1170, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 841, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 836, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - 832, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - 1188, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - 1633, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - 1226, /* GL_READ_ONLY */ - 1742, /* GL_WRITE_ONLY */ - 1228, /* GL_READ_WRITE */ - 101, /* GL_BUFFER_ACCESS */ - 103, /* GL_BUFFER_MAPPED */ - 105, /* GL_BUFFER_MAP_POINTER */ - 1627, /* GL_TIME_ELAPSED_EXT */ - 746, /* GL_MATRIX0_ARB */ - 758, /* GL_MATRIX1_ARB */ - 770, /* GL_MATRIX2_ARB */ - 774, /* GL_MATRIX3_ARB */ - 776, /* GL_MATRIX4_ARB */ - 778, /* GL_MATRIX5_ARB */ - 780, /* GL_MATRIX6_ARB */ - 782, /* GL_MATRIX7_ARB */ - 784, /* GL_MATRIX8_ARB */ - 785, /* GL_MATRIX9_ARB */ - 748, /* GL_MATRIX10_ARB */ - 749, /* GL_MATRIX11_ARB */ - 750, /* GL_MATRIX12_ARB */ - 751, /* GL_MATRIX13_ARB */ - 752, /* GL_MATRIX14_ARB */ - 753, /* GL_MATRIX15_ARB */ - 754, /* GL_MATRIX16_ARB */ - 755, /* GL_MATRIX17_ARB */ - 756, /* GL_MATRIX18_ARB */ - 757, /* GL_MATRIX19_ARB */ - 760, /* GL_MATRIX20_ARB */ - 761, /* GL_MATRIX21_ARB */ - 762, /* GL_MATRIX22_ARB */ - 763, /* GL_MATRIX23_ARB */ - 764, /* GL_MATRIX24_ARB */ - 765, /* GL_MATRIX25_ARB */ - 766, /* GL_MATRIX26_ARB */ - 767, /* GL_MATRIX27_ARB */ - 768, /* GL_MATRIX28_ARB */ - 769, /* GL_MATRIX29_ARB */ - 772, /* GL_MATRIX30_ARB */ - 773, /* GL_MATRIX31_ARB */ - 1429, /* GL_STREAM_DRAW */ - 1431, /* GL_STREAM_READ */ - 1427, /* GL_STREAM_COPY */ - 1391, /* GL_STATIC_DRAW */ - 1393, /* GL_STATIC_READ */ - 1389, /* GL_STATIC_COPY */ - 410, /* GL_DYNAMIC_DRAW */ - 412, /* GL_DYNAMIC_READ */ - 408, /* GL_DYNAMIC_COPY */ - 535, /* GL_GL_PIXEL_PACK_BUFFER */ - 537, /* GL_GL_PIXEL_UNPACK_BUFFER */ - 536, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */ - 538, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */ - 833, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - 831, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - 834, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - 838, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - 837, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 795, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - 1423, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 419, /* GL_ELEMENT_ARRAY_BUFFER */ + 53, /* GL_ARRAY_BUFFER_BINDING */ + 420, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ + 1680, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 958, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 139, /* GL_COLOR_ARRAY_BUFFER_BINDING */ + 577, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + 1554, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 415, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ + 1321, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 461, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ + 1732, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 1702, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1165, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 833, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1171, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 842, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1183, /* GL_PROGRAM_TEMPORARIES_ARB */ + 848, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1173, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 844, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1177, /* GL_PROGRAM_PARAMETERS_ARB */ + 847, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1172, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 843, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1158, /* GL_PROGRAM_ATTRIBS_ARB */ + 828, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1170, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 841, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1156, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 826, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1168, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 839, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 834, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 830, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1186, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 1631, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1224, /* GL_READ_ONLY */ + 1740, /* GL_WRITE_ONLY */ + 1226, /* GL_READ_WRITE */ + 100, /* GL_BUFFER_ACCESS */ + 102, /* GL_BUFFER_MAPPED */ + 104, /* GL_BUFFER_MAP_POINTER */ + 1625, /* GL_TIME_ELAPSED_EXT */ + 744, /* GL_MATRIX0_ARB */ + 756, /* GL_MATRIX1_ARB */ + 768, /* GL_MATRIX2_ARB */ + 772, /* GL_MATRIX3_ARB */ + 774, /* GL_MATRIX4_ARB */ + 776, /* GL_MATRIX5_ARB */ + 778, /* GL_MATRIX6_ARB */ + 780, /* GL_MATRIX7_ARB */ + 782, /* GL_MATRIX8_ARB */ + 783, /* GL_MATRIX9_ARB */ + 746, /* GL_MATRIX10_ARB */ + 747, /* GL_MATRIX11_ARB */ + 748, /* GL_MATRIX12_ARB */ + 749, /* GL_MATRIX13_ARB */ + 750, /* GL_MATRIX14_ARB */ + 751, /* GL_MATRIX15_ARB */ + 752, /* GL_MATRIX16_ARB */ + 753, /* GL_MATRIX17_ARB */ + 754, /* GL_MATRIX18_ARB */ + 755, /* GL_MATRIX19_ARB */ + 758, /* GL_MATRIX20_ARB */ + 759, /* GL_MATRIX21_ARB */ + 760, /* GL_MATRIX22_ARB */ + 761, /* GL_MATRIX23_ARB */ + 762, /* GL_MATRIX24_ARB */ + 763, /* GL_MATRIX25_ARB */ + 764, /* GL_MATRIX26_ARB */ + 765, /* GL_MATRIX27_ARB */ + 766, /* GL_MATRIX28_ARB */ + 767, /* GL_MATRIX29_ARB */ + 770, /* GL_MATRIX30_ARB */ + 771, /* GL_MATRIX31_ARB */ + 1427, /* GL_STREAM_DRAW */ + 1429, /* GL_STREAM_READ */ + 1425, /* GL_STREAM_COPY */ + 1389, /* GL_STATIC_DRAW */ + 1391, /* GL_STATIC_READ */ + 1387, /* GL_STATIC_COPY */ + 409, /* GL_DYNAMIC_DRAW */ + 411, /* GL_DYNAMIC_READ */ + 407, /* GL_DYNAMIC_COPY */ + 533, /* GL_GL_PIXEL_PACK_BUFFER */ + 535, /* GL_GL_PIXEL_UNPACK_BUFFER */ + 534, /* GL_GL_PIXEL_PACK_BUFFER_BINDING */ + 536, /* GL_GL_PIXEL_UNPACK_BUFFER_BINDING */ + 831, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + 829, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 832, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 836, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 835, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 793, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + 1421, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ 17, /* GL_ACTIVE_STENCIL_FACE_EXT */ - 894, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - 1304, /* GL_SAMPLES_PASSED */ - 486, /* GL_FRAGMENT_SHADER */ - 1728, /* GL_VERTEX_SHADER */ - 1178, /* GL_PROGRAM_OBJECT_ARB */ - 1336, /* GL_SHADER_OBJECT_ARB */ - 819, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - 877, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - 871, /* GL_MAX_VARYING_FLOATS */ - 875, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - 804, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - 985, /* GL_OBJECT_TYPE_ARB */ - 1338, /* GL_SHADER_TYPE */ - 451, /* GL_FLOAT_VEC2 */ - 453, /* GL_FLOAT_VEC3 */ - 455, /* GL_FLOAT_VEC4 */ - 606, /* GL_INT_VEC2 */ - 608, /* GL_INT_VEC3 */ - 610, /* GL_INT_VEC4 */ - 93, /* GL_BOOL */ - 95, /* GL_BOOL_VEC2 */ - 97, /* GL_BOOL_VEC3 */ - 99, /* GL_BOOL_VEC4 */ - 445, /* GL_FLOAT_MAT2 */ - 447, /* GL_FLOAT_MAT3 */ - 449, /* GL_FLOAT_MAT4 */ - 1295, /* GL_SAMPLER_1D */ - 1297, /* GL_SAMPLER_2D */ - 1299, /* GL_SAMPLER_3D */ - 1300, /* GL_SAMPLER_CUBE */ - 1296, /* GL_SAMPLER_1D_SHADOW */ - 1298, /* GL_SAMPLER_2D_SHADOW */ - 529, /* GL_GL_FLOAT_MAT2x3 */ - 530, /* GL_GL_FLOAT_MAT2x4 */ - 531, /* GL_GL_FLOAT_MAT3x2 */ - 532, /* GL_GL_FLOAT_MAT3x4 */ - 533, /* GL_GL_FLOAT_MAT4x2 */ - 534, /* GL_GL_FLOAT_MAT4x3 */ - 312, /* GL_DELETE_STATUS */ - 221, /* GL_COMPILE_STATUS */ - 659, /* GL_LINK_STATUS */ - 1677, /* GL_VALIDATE_STATUS */ - 591, /* GL_INFO_LOG_LENGTH */ - 56, /* GL_ATTACHED_SHADERS */ + 892, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1302, /* GL_SAMPLES_PASSED */ + 484, /* GL_FRAGMENT_SHADER */ + 1726, /* GL_VERTEX_SHADER */ + 1176, /* GL_PROGRAM_OBJECT_ARB */ + 1334, /* GL_SHADER_OBJECT_ARB */ + 817, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 875, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 869, /* GL_MAX_VARYING_FLOATS */ + 873, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 802, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 983, /* GL_OBJECT_TYPE_ARB */ + 1336, /* GL_SHADER_TYPE */ + 449, /* GL_FLOAT_VEC2 */ + 451, /* GL_FLOAT_VEC3 */ + 453, /* GL_FLOAT_VEC4 */ + 604, /* GL_INT_VEC2 */ + 606, /* GL_INT_VEC3 */ + 608, /* GL_INT_VEC4 */ + 92, /* GL_BOOL */ + 94, /* GL_BOOL_VEC2 */ + 96, /* GL_BOOL_VEC3 */ + 98, /* GL_BOOL_VEC4 */ + 443, /* GL_FLOAT_MAT2 */ + 445, /* GL_FLOAT_MAT3 */ + 447, /* GL_FLOAT_MAT4 */ + 1293, /* GL_SAMPLER_1D */ + 1295, /* GL_SAMPLER_2D */ + 1297, /* GL_SAMPLER_3D */ + 1298, /* GL_SAMPLER_CUBE */ + 1294, /* GL_SAMPLER_1D_SHADOW */ + 1296, /* GL_SAMPLER_2D_SHADOW */ + 527, /* GL_GL_FLOAT_MAT2x3 */ + 528, /* GL_GL_FLOAT_MAT2x4 */ + 529, /* GL_GL_FLOAT_MAT3x2 */ + 530, /* GL_GL_FLOAT_MAT3x4 */ + 531, /* GL_GL_FLOAT_MAT4x2 */ + 532, /* GL_GL_FLOAT_MAT4x3 */ + 311, /* GL_DELETE_STATUS */ + 220, /* GL_COMPILE_STATUS */ + 657, /* GL_LINK_STATUS */ + 1675, /* GL_VALIDATE_STATUS */ + 589, /* GL_INFO_LOG_LENGTH */ + 55, /* GL_ATTACHED_SHADERS */ 20, /* GL_ACTIVE_UNIFORMS */ 21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ - 1337, /* GL_SHADER_SOURCE_LENGTH */ + 1335, /* GL_SHADER_SOURCE_LENGTH */ 15, /* GL_ACTIVE_ATTRIBUTES */ 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ - 488, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - 1340, /* GL_SHADING_LANGUAGE_VERSION */ - 290, /* GL_CURRENT_PROGRAM */ - 1034, /* GL_PALETTE4_RGB8_OES */ - 1036, /* GL_PALETTE4_RGBA8_OES */ - 1032, /* GL_PALETTE4_R5_G6_B5_OES */ - 1035, /* GL_PALETTE4_RGBA4_OES */ - 1033, /* GL_PALETTE4_RGB5_A1_OES */ - 1039, /* GL_PALETTE8_RGB8_OES */ - 1041, /* GL_PALETTE8_RGBA8_OES */ - 1037, /* GL_PALETTE8_R5_G6_B5_OES */ - 1040, /* GL_PALETTE8_RGBA4_OES */ - 1038, /* GL_PALETTE8_RGB5_A1_OES */ - 574, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - 573, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - 1511, /* GL_TEXTURE_1D_ARRAY_EXT */ - 1198, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - 1513, /* GL_TEXTURE_2D_ARRAY_EXT */ - 1201, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - 1519, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - 1521, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - 543, /* GL_GL_SRGB */ - 544, /* GL_GL_SRGB8 */ - 546, /* GL_GL_SRGB_ALPHA */ - 545, /* GL_GL_SRGB8_ALPHA8 */ - 542, /* GL_GL_SLUMINANCE_ALPHA */ - 541, /* GL_GL_SLUMINANCE8_ALPHA8 */ - 539, /* GL_GL_SLUMINANCE */ - 540, /* GL_GL_SLUMINANCE8 */ - 526, /* GL_GL_COMPRESSED_SRGB */ - 527, /* GL_GL_COMPRESSED_SRGB_ALPHA */ - 524, /* GL_GL_COMPRESSED_SLUMINANCE */ - 525, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */ - 1095, /* GL_POINT_SPRITE_COORD_ORIGIN */ - 667, /* GL_LOWER_LEFT */ - 1674, /* GL_UPPER_LEFT */ - 1405, /* GL_STENCIL_BACK_REF */ - 1406, /* GL_STENCIL_BACK_VALUE_MASK */ - 1407, /* GL_STENCIL_BACK_WRITEMASK */ - 403, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ - 1240, /* GL_RENDERBUFFER_BINDING_EXT */ - 1225, /* GL_READ_FRAMEBUFFER_EXT */ - 404, /* GL_DRAW_FRAMEBUFFER_EXT */ - 1224, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - 490, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ - 489, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ - 494, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ - 492, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ - 491, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ - 496, /* GL_FRAMEBUFFER_COMPLETE_EXT */ - 498, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ - 503, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ - 501, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ - 499, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ - 502, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ - 500, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ - 504, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ - 506, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ - 505, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - 801, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - 146, /* GL_COLOR_ATTACHMENT0_EXT */ - 153, /* GL_COLOR_ATTACHMENT1_EXT */ - 154, /* GL_COLOR_ATTACHMENT2_EXT */ - 155, /* GL_COLOR_ATTACHMENT3_EXT */ - 156, /* GL_COLOR_ATTACHMENT4_EXT */ - 157, /* GL_COLOR_ATTACHMENT5_EXT */ - 158, /* GL_COLOR_ATTACHMENT6_EXT */ - 159, /* GL_COLOR_ATTACHMENT7_EXT */ - 160, /* GL_COLOR_ATTACHMENT8_EXT */ - 161, /* GL_COLOR_ATTACHMENT9_EXT */ - 147, /* GL_COLOR_ATTACHMENT10_EXT */ - 148, /* GL_COLOR_ATTACHMENT11_EXT */ - 149, /* GL_COLOR_ATTACHMENT12_EXT */ - 150, /* GL_COLOR_ATTACHMENT13_EXT */ - 151, /* GL_COLOR_ATTACHMENT14_EXT */ - 152, /* GL_COLOR_ATTACHMENT15_EXT */ - 314, /* GL_DEPTH_ATTACHMENT_EXT */ - 1396, /* GL_STENCIL_ATTACHMENT_EXT */ - 497, /* GL_FRAMEBUFFER_EXT */ - 1241, /* GL_RENDERBUFFER_EXT */ - 1244, /* GL_RENDERBUFFER_WIDTH_EXT */ - 1242, /* GL_RENDERBUFFER_HEIGHT_EXT */ - 1243, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - 1418, /* GL_STENCIL_INDEX_EXT */ - 1415, /* GL_STENCIL_INDEX1_EXT */ - 1416, /* GL_STENCIL_INDEX4_EXT */ - 1417, /* GL_STENCIL_INDEX8_EXT */ - 1414, /* GL_STENCIL_INDEX16_EXT */ - 428, /* GL_EVAL_BIT */ - 1222, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - 661, /* GL_LIST_BIT */ - 1527, /* GL_TEXTURE_BIT */ - 1319, /* GL_SCISSOR_BIT */ + 486, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ + 1338, /* GL_SHADING_LANGUAGE_VERSION */ + 289, /* GL_CURRENT_PROGRAM */ + 1032, /* GL_PALETTE4_RGB8_OES */ + 1034, /* GL_PALETTE4_RGBA8_OES */ + 1030, /* GL_PALETTE4_R5_G6_B5_OES */ + 1033, /* GL_PALETTE4_RGBA4_OES */ + 1031, /* GL_PALETTE4_RGB5_A1_OES */ + 1037, /* GL_PALETTE8_RGB8_OES */ + 1039, /* GL_PALETTE8_RGBA8_OES */ + 1035, /* GL_PALETTE8_R5_G6_B5_OES */ + 1038, /* GL_PALETTE8_RGBA4_OES */ + 1036, /* GL_PALETTE8_RGB5_A1_OES */ + 572, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + 571, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + 1509, /* GL_TEXTURE_1D_ARRAY_EXT */ + 1196, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + 1511, /* GL_TEXTURE_2D_ARRAY_EXT */ + 1199, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + 1517, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + 1519, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + 541, /* GL_GL_SRGB */ + 542, /* GL_GL_SRGB8 */ + 544, /* GL_GL_SRGB_ALPHA */ + 543, /* GL_GL_SRGB8_ALPHA8 */ + 540, /* GL_GL_SLUMINANCE_ALPHA */ + 539, /* GL_GL_SLUMINANCE8_ALPHA8 */ + 537, /* GL_GL_SLUMINANCE */ + 538, /* GL_GL_SLUMINANCE8 */ + 524, /* GL_GL_COMPRESSED_SRGB */ + 525, /* GL_GL_COMPRESSED_SRGB_ALPHA */ + 522, /* GL_GL_COMPRESSED_SLUMINANCE */ + 523, /* GL_GL_COMPRESSED_SLUMINANCE_ALPHA */ + 1093, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 665, /* GL_LOWER_LEFT */ + 1672, /* GL_UPPER_LEFT */ + 1403, /* GL_STENCIL_BACK_REF */ + 1404, /* GL_STENCIL_BACK_VALUE_MASK */ + 1405, /* GL_STENCIL_BACK_WRITEMASK */ + 402, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */ + 1238, /* GL_RENDERBUFFER_BINDING_EXT */ + 1223, /* GL_READ_FRAMEBUFFER_EXT */ + 403, /* GL_DRAW_FRAMEBUFFER_EXT */ + 1222, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + 488, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */ + 487, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */ + 492, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */ + 490, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */ + 489, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */ + 494, /* GL_FRAMEBUFFER_COMPLETE_EXT */ + 496, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */ + 501, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */ + 499, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */ + 497, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */ + 500, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */ + 498, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */ + 502, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */ + 504, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */ + 503, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ + 799, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + 145, /* GL_COLOR_ATTACHMENT0_EXT */ + 152, /* GL_COLOR_ATTACHMENT1_EXT */ + 153, /* GL_COLOR_ATTACHMENT2_EXT */ + 154, /* GL_COLOR_ATTACHMENT3_EXT */ + 155, /* GL_COLOR_ATTACHMENT4_EXT */ + 156, /* GL_COLOR_ATTACHMENT5_EXT */ + 157, /* GL_COLOR_ATTACHMENT6_EXT */ + 158, /* GL_COLOR_ATTACHMENT7_EXT */ + 159, /* GL_COLOR_ATTACHMENT8_EXT */ + 160, /* GL_COLOR_ATTACHMENT9_EXT */ + 146, /* GL_COLOR_ATTACHMENT10_EXT */ + 147, /* GL_COLOR_ATTACHMENT11_EXT */ + 148, /* GL_COLOR_ATTACHMENT12_EXT */ + 149, /* GL_COLOR_ATTACHMENT13_EXT */ + 150, /* GL_COLOR_ATTACHMENT14_EXT */ + 151, /* GL_COLOR_ATTACHMENT15_EXT */ + 313, /* GL_DEPTH_ATTACHMENT_EXT */ + 1394, /* GL_STENCIL_ATTACHMENT_EXT */ + 495, /* GL_FRAMEBUFFER_EXT */ + 1239, /* GL_RENDERBUFFER_EXT */ + 1242, /* GL_RENDERBUFFER_WIDTH_EXT */ + 1240, /* GL_RENDERBUFFER_HEIGHT_EXT */ + 1241, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + 1416, /* GL_STENCIL_INDEX_EXT */ + 1413, /* GL_STENCIL_INDEX1_EXT */ + 1414, /* GL_STENCIL_INDEX4_EXT */ + 1415, /* GL_STENCIL_INDEX8_EXT */ + 1412, /* GL_STENCIL_INDEX16_EXT */ + 426, /* GL_EVAL_BIT */ + 1220, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 659, /* GL_LIST_BIT */ + 1525, /* GL_TEXTURE_BIT */ + 1317, /* GL_SCISSOR_BIT */ 29, /* GL_ALL_ATTRIB_BITS */ - 941, /* GL_MULTISAMPLE_BIT */ + 939, /* GL_MULTISAMPLE_BIT */ 30, /* GL_ALL_CLIENT_ATTRIB_BITS */ }; @@ -4870,8 +4866,10 @@ const char *_mesa_lookup_enum_by_nr( int nr ) { unsigned * i; - i = (unsigned *)_mesa_bsearch( & nr, reduced_enums, Elements(reduced_enums), - sizeof(reduced_enums[0]), (cfunc) compar_nr ); + i = (unsigned *) _mesa_bsearch(& nr, reduced_enums, + Elements(reduced_enums), + sizeof(reduced_enums[0]), + (cfunc) compar_nr); if ( i != NULL ) { return & enum_string_table[ all_enums[ *i ].offset ]; @@ -4888,8 +4886,10 @@ int _mesa_lookup_enum_by_name( const char *symbol ) enum_elt * f = NULL; if ( symbol != NULL ) { - f = (enum_elt *)_mesa_bsearch( symbol, all_enums, Elements(all_enums), - sizeof( enum_elt ), (cfunc) compar_name ); + f = (enum_elt *) _mesa_bsearch(symbol, all_enums, + Elements(all_enums), + sizeof( enum_elt ), + (cfunc) compar_name); } return (f != NULL) ? f->n : -1; diff --git a/src/mesa/main/execmem.c b/src/mesa/main/execmem.c index 0fe85af93e0..f95c31862a5 100644 --- a/src/mesa/main/execmem.c +++ b/src/mesa/main/execmem.c @@ -65,9 +65,17 @@ static struct mem_block *exec_heap = NULL; static unsigned char *exec_mem = NULL; -static void +static int init_heap(void) { +#ifdef MESA_SELINUX + if (is_selinux_enabled()) { + if (!security_get_boolean_active("allow_execmem") || + !security_get_boolean_pending("allow_execmem")) + return 0; + } +#endif + if (!exec_heap) exec_heap = mmInit( 0, EXEC_HEAP_SIZE ); @@ -75,6 +83,8 @@ init_heap(void) exec_mem = (unsigned char *) mmap(0, EXEC_HEAP_SIZE, PROT_EXEC | PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0); + + return (exec_mem != NULL); } @@ -86,7 +96,8 @@ _mesa_exec_malloc(GLuint size) _glthread_LOCK_MUTEX(exec_mutex); - init_heap(); + if (!init_heap()) + goto bail; if (exec_heap) { size = (size + 31) & ~31; @@ -97,7 +108,8 @@ _mesa_exec_malloc(GLuint size) addr = exec_mem + block->ofs; else _mesa_printf("_mesa_exec_malloc failed\n"); - + +bail: _glthread_UNLOCK_MUTEX(exec_mutex); return addr; diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index e5279e7f3eb..aa5b1721234 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.1 + * Version: 7.3 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2008 Brian Paul 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"), @@ -165,7 +165,7 @@ static const struct { { OFF, "GL_SGIS_texture_border_clamp", F(ARB_texture_border_clamp) }, { ON, "GL_SGIS_texture_edge_clamp", F(SGIS_texture_edge_clamp) }, { ON, "GL_SGIS_texture_lod", F(SGIS_texture_lod) }, - { OFF, "GL_SGIX_depth_texture", F(SGIX_depth_texture) }, + { OFF, "GL_SGIX_depth_texture", F(ARB_depth_texture) }, { OFF, "GL_SGIX_shadow", F(SGIX_shadow) }, { OFF, "GL_SGIX_shadow_ambient", F(SGIX_shadow_ambient) }, { OFF, "GL_SUN_multi_draw_arrays", F(EXT_multi_draw_arrays) }, @@ -204,7 +204,7 @@ _mesa_enable_sw_extensions(GLcontext *ctx) ctx->Extensions.ARB_shading_language_100 = GL_TRUE; #endif #if FEATURE_ARB_shading_language_120 - ctx->Extensions.ARB_shading_language_120 = GL_TRUE; + ctx->Extensions.ARB_shading_language_120 = GL_FALSE; /* not quite done */ #endif ctx->Extensions.ARB_shadow = GL_TRUE; ctx->Extensions.ARB_texture_border_clamp = GL_TRUE; @@ -292,12 +292,20 @@ _mesa_enable_sw_extensions(GLcontext *ctx) ctx->Extensions.SGI_texture_color_table = GL_TRUE; ctx->Extensions.SGIS_generate_mipmap = GL_TRUE; ctx->Extensions.SGIS_texture_edge_clamp = GL_TRUE; - ctx->Extensions.SGIX_depth_texture = GL_TRUE; ctx->Extensions.SGIX_shadow = GL_TRUE; ctx->Extensions.SGIX_shadow_ambient = GL_TRUE; #if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program ctx->Extensions.EXT_gpu_program_parameters = GL_TRUE; #endif +#if FEATURE_texture_fxt1 + _mesa_enable_extension(ctx, "GL_3DFX_texture_compression_FXT1"); +#endif +#if FEATURE_texture_s3tc + if (ctx->Mesa_DXTn) { + _mesa_enable_extension(ctx, "GL_EXT_texture_compression_s3tc"); + _mesa_enable_extension(ctx, "GL_S3_s3tc"); + } +#endif } @@ -309,6 +317,7 @@ _mesa_enable_imaging_extensions(GLcontext *ctx) { ctx->Extensions.ARB_imaging = GL_TRUE; ctx->Extensions.EXT_blend_color = GL_TRUE; + ctx->Extensions.EXT_blend_logic_op = GL_TRUE; ctx->Extensions.EXT_blend_minmax = GL_TRUE; ctx->Extensions.EXT_blend_subtract = GL_TRUE; ctx->Extensions.EXT_convolution = GL_TRUE; @@ -353,7 +362,6 @@ _mesa_enable_1_4_extensions(GLcontext *ctx) ctx->Extensions.ARB_window_pos = GL_TRUE; ctx->Extensions.EXT_blend_color = GL_TRUE; ctx->Extensions.EXT_blend_func_separate = GL_TRUE; - ctx->Extensions.EXT_blend_logic_op = GL_TRUE; ctx->Extensions.EXT_blend_minmax = GL_TRUE; ctx->Extensions.EXT_blend_subtract = GL_TRUE; ctx->Extensions.EXT_fog_coord = GL_TRUE; @@ -419,7 +427,7 @@ _mesa_enable_2_1_extensions(GLcontext *ctx) ctx->Extensions.EXT_texture_sRGB = GL_TRUE; #endif #ifdef FEATURE_ARB_shading_language_120 - ctx->Extensions.ARB_shading_language_120 = GL_TRUE; + ctx->Extensions.ARB_shading_language_120 = GL_FALSE; /* not quite done */ #endif } diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c index b5605a199c5..718c97568b5 100644 --- a/src/mesa/main/fbobject.c +++ b/src/mesa/main/fbobject.c @@ -983,9 +983,11 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer) } FLUSH_VERTICES(ctx, _NEW_BUFFERS); + if (ctx->Driver.Flush) { ctx->Driver.Flush(ctx); } + if (framebuffer) { /* Binding a user-created framebuffer object */ newFb = _mesa_lookup_framebuffer(ctx, framebuffer); @@ -1019,32 +1021,18 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer) * XXX check if re-binding same buffer and skip some of this code. */ - /* for window-framebuffers, re-initialize the fbo values, as they - could be wrong (makecurrent with a new drawable while still a fbo - was bound will lead to default init fbo values). - note that therefore the context ReadBuffer/DrawBuffer values are not - valid while fbo's are bound!!! */ if (bindReadBuf) { _mesa_reference_framebuffer(&ctx->ReadBuffer, newFbread); - if (!newFbread->Name) { - _mesa_readbuffer_update_fields(ctx, ctx->Pixel.ReadBuffer); - } } if (bindDrawBuf) { /* check if old FB had any texture attachments */ check_end_texture_render(ctx, ctx->DrawBuffer); + /* check if time to delete this framebuffer */ _mesa_reference_framebuffer(&ctx->DrawBuffer, newFb); - if (!newFb->Name) { - GLuint i; - GLenum buffers[MAX_DRAW_BUFFERS]; - for(i = 0; i < ctx->Const.MaxDrawBuffers; i++) { - buffers[i] = ctx->Color.DrawBuffer[i]; - } - _mesa_drawbuffers(ctx, ctx->Const.MaxDrawBuffers, buffers, NULL); - } - else { + + if (newFb->Name != 0) { /* check if newly bound framebuffer has any texture attachments */ check_begin_texture_render(ctx, newFb); } @@ -1586,9 +1574,17 @@ _mesa_GenerateMipmapEXT(GLenum target) texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; texObj = _mesa_select_tex_object(ctx, texUnit, target); - /* XXX this might not handle cube maps correctly */ _mesa_lock_texture(ctx, texObj); - ctx->Driver.GenerateMipmap(ctx, target, texObj); + if (target == GL_TEXTURE_CUBE_MAP) { + int face; + + for (face = 0; face < 6; face++) + ctx->Driver.GenerateMipmap(ctx, + GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB + face, + texObj); + } else { + ctx->Driver.GenerateMipmap(ctx, target, texObj); + } _mesa_unlock_texture(ctx, texObj); } diff --git a/src/mesa/main/ffvertex_prog.c b/src/mesa/main/ffvertex_prog.c index b87c443fecf..ec0a5e3896d 100644 --- a/src/mesa/main/ffvertex_prog.c +++ b/src/mesa/main/ffvertex_prog.c @@ -180,12 +180,12 @@ static GLboolean check_active_shininess( GLcontext *ctx, -static struct state_key *make_state_key( GLcontext *ctx ) +static void make_state_key( GLcontext *ctx, struct state_key *key ) { const struct gl_fragment_program *fp; - struct state_key *key = CALLOC_STRUCT(state_key); GLuint i; + memset(key, 0, sizeof(struct state_key)); fp = ctx->FragmentProgram._Current; /* This now relies on texenvprogram.c being active: @@ -304,8 +304,6 @@ static struct state_key *make_state_key( GLcontext *ctx ) texUnit->GenModeQ ); } } - - return key; } @@ -738,11 +736,16 @@ static void emit_normalize_vec3( struct tnl_program *p, struct ureg dest, struct ureg src ) { +#if 0 + /* XXX use this when drivers are ready for NRM3 */ + emit_op1(p, OPCODE_NRM3, dest, WRITEMASK_XYZ, src); +#else struct ureg tmp = get_temp(p); emit_op2(p, OPCODE_DP3, tmp, WRITEMASK_X, src, src); emit_op1(p, OPCODE_RSQ, tmp, WRITEMASK_X, tmp); emit_op2(p, OPCODE_MUL, dest, 0, src, swizzle1(tmp, X)); release_temp(p, tmp); +#endif } static void emit_passthrough( struct tnl_program *p, @@ -1726,16 +1729,16 @@ struct gl_vertex_program * _mesa_get_fixed_func_vertex_program(GLcontext *ctx) { struct gl_vertex_program *prog; - struct state_key *key; + struct state_key key; /* Grab all the relevent state and put it in a single structure: */ - key = make_state_key(ctx); + make_state_key(ctx, &key); /* Look for an already-prepared program for this state: */ prog = (struct gl_vertex_program *) - _mesa_search_program_cache(ctx->VertexProgram.Cache, key, sizeof(*key)); + _mesa_search_program_cache(ctx->VertexProgram.Cache, &key, sizeof(key)); if (!prog) { /* OK, we'll have to build a new one */ @@ -1747,7 +1750,7 @@ _mesa_get_fixed_func_vertex_program(GLcontext *ctx) if (!prog) return NULL; - create_new_program( key, prog, + create_new_program( &key, prog, ctx->Const.VertexProgram.MaxTemps ); #if 0 @@ -1756,10 +1759,8 @@ _mesa_get_fixed_func_vertex_program(GLcontext *ctx) &prog->Base ); #endif _mesa_program_cache_insert(ctx, ctx->VertexProgram.Cache, - key, sizeof(*key), &prog->Base); + &key, sizeof(key), &prog->Base); } - _mesa_free(key); - return prog; } diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c index 494743f1349..af78363ad3a 100644 --- a/src/mesa/main/framebuffer.c +++ b/src/mesa/main/framebuffer.c @@ -32,6 +32,7 @@ #include "glheader.h" #include "imports.h" +#include "buffers.h" #include "context.h" #include "depthstencil.h" #include "mtypes.h" @@ -108,8 +109,9 @@ _mesa_new_framebuffer(GLcontext *ctx, GLuint name) if (fb) { fb->Name = name; fb->RefCount = 1; + fb->_NumColorDrawBuffers = 1; fb->ColorDrawBuffer[0] = GL_COLOR_ATTACHMENT0_EXT; - fb->_ColorDrawBufferMask[0] = BUFFER_BIT_COLOR0; + fb->_ColorDrawBufferIndexes[0] = BUFFER_COLOR0; fb->ColorReadBuffer = GL_COLOR_ATTACHMENT0_EXT; fb->_ColorReadBufferIndex = BUFFER_COLOR0; fb->Delete = _mesa_destroy_framebuffer; @@ -138,16 +140,18 @@ _mesa_initialize_framebuffer(struct gl_framebuffer *fb, const GLvisual *visual) /* save the visual */ fb->Visual = *visual; - /* Init glRead/DrawBuffer state */ + /* Init read/draw renderbuffer state */ if (visual->doubleBufferMode) { + fb->_NumColorDrawBuffers = 1; fb->ColorDrawBuffer[0] = GL_BACK; - fb->_ColorDrawBufferMask[0] = BUFFER_BIT_BACK_LEFT; + fb->_ColorDrawBufferIndexes[0] = BUFFER_BACK_LEFT; fb->ColorReadBuffer = GL_BACK; fb->_ColorReadBufferIndex = BUFFER_BACK_LEFT; } else { + fb->_NumColorDrawBuffers = 1; fb->ColorDrawBuffer[0] = GL_FRONT; - fb->_ColorDrawBufferMask[0] = BUFFER_BIT_FRONT_LEFT; + fb->_ColorDrawBufferIndexes[0] = BUFFER_FRONT_LEFT; fb->ColorReadBuffer = GL_FRONT; fb->_ColorReadBufferIndex = BUFFER_FRONT_LEFT; } @@ -660,8 +664,53 @@ _mesa_update_stencil_buffer(GLcontext *ctx, } +/* + * Example DrawBuffers scenarios: + * + * 1. glDrawBuffer(GL_FRONT_AND_BACK), fixed-func or shader writes to + * "gl_FragColor" or program writes to the "result.color" register: + * + * fragment color output renderbuffer + * --------------------- --------------- + * color[0] Front, Back + * + * + * 2. glDrawBuffers(3, [GL_FRONT, GL_AUX0, GL_AUX1]), shader writes to + * gl_FragData[i] or program writes to result.color[i] registers: + * + * fragment color output renderbuffer + * --------------------- --------------- + * color[0] Front + * color[1] Aux0 + * color[3] Aux1 + * + * + * 3. glDrawBuffers(3, [GL_FRONT, GL_AUX0, GL_AUX1]) and shader writes to + * gl_FragColor, or fixed function: + * + * fragment color output renderbuffer + * --------------------- --------------- + * color[0] Front, Aux0, Aux1 + * + * + * In either case, the list of renderbuffers is stored in the + * framebuffer->_ColorDrawBuffers[] array and + * framebuffer->_NumColorDrawBuffers indicates the number of buffers. + * The renderer (like swrast) has to look at the current fragment shader + * to see if it writes to gl_FragColor vs. gl_FragData[i] to determine + * how to map color outputs to renderbuffers. + * + * Note that these two calls are equivalent (for fixed function fragment + * shading anyway): + * a) glDrawBuffer(GL_FRONT_AND_BACK); (assuming non-stereo framebuffer) + * b) glDrawBuffers(2, [GL_FRONT_LEFT, GL_BACK_LEFT]); + */ + + + + /** - * Update the list of color drawing renderbuffer pointers. + * Update the (derived) list of color drawing renderbuffer pointers. * Later, when we're rendering we'll loop from 0 to _NumColorDrawBuffers * writing colors. */ @@ -670,42 +719,23 @@ update_color_draw_buffers(GLcontext *ctx, struct gl_framebuffer *fb) { GLuint output; - /* - * Fragment programs can write to multiple colorbuffers with - * the GL_ARB_draw_buffers extension. - */ - for (output = 0; output < ctx->Const.MaxDrawBuffers; output++) { - GLbitfield bufferMask = fb->_ColorDrawBufferMask[output]; - GLuint count = 0; - GLuint i; - if (!fb->DeletePending) { - /* We need the inner loop here because glDrawBuffer(GL_FRONT_AND_BACK) - * can specify writing to two or four color buffers (for example). - */ - for (i = 0; bufferMask && i < BUFFER_COUNT; i++) { - const GLuint bufferBit = 1 << i; - if (bufferBit & bufferMask) { - struct gl_renderbuffer *rb = fb->Attachment[i].Renderbuffer; - if (rb && rb->Width > 0 && rb->Height > 0) { - fb->_ColorDrawBuffers[output][count] = rb; - count++; - } - else { - /* - _mesa_warning(ctx, "DrawBuffer names a missing buffer!\n"); - */ - } - bufferMask &= ~bufferBit; - } - } + /* set 0th buffer to NULL now in case _NumColorDrawBuffers is zero */ + fb->_ColorDrawBuffers[0] = NULL; + + for (output = 0; output < fb->_NumColorDrawBuffers; output++) { + GLint buf = fb->_ColorDrawBufferIndexes[output]; + if (buf >= 0) { + fb->_ColorDrawBuffers[output] = fb->Attachment[buf].Renderbuffer; + } + else { + fb->_ColorDrawBuffers[output] = NULL; } - fb->_NumColorDrawBuffers[output] = count; } } /** - * Update the color read renderbuffer pointer. + * Update the (derived) color read renderbuffer pointer. * Unlike the DrawBuffer, we can only read from one (or zero) color buffers. */ static void @@ -727,19 +757,51 @@ update_color_read_buffer(GLcontext *ctx, struct gl_framebuffer *fb) } +/** + * Update a gl_framebuffer's derived state. + * + * Specifically, update these framebuffer fields: + * _ColorDrawBuffers + * _NumColorDrawBuffers + * _ColorReadBuffer + * _DepthBuffer + * _StencilBuffer + * + * If the framebuffer is user-created, make sure it's complete. + * + * The following functions (at least) can effect framebuffer state: + * glReadBuffer, glDrawBuffer, glDrawBuffersARB, glFramebufferRenderbufferEXT, + * glRenderbufferStorageEXT. + */ static void update_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb) { - /* Completeness only matters for user-created framebuffers */ - if (fb->Name != 0) { - /* XXX: EXT_framebuffer_blit: - framebuffer must still be complete wrt read/draw? */ + if (fb->Name == 0) { + /* This is a window-system framebuffer */ + /* Need to update the FB's GL_DRAW_BUFFER state to match the + * context state (GL_READ_BUFFER too). + */ + if (fb->ColorDrawBuffer[0] != ctx->Color.DrawBuffer[0]) { + _mesa_drawbuffers(ctx, ctx->Const.MaxDrawBuffers, + ctx->Color.DrawBuffer, NULL); + } + if (fb->ColorReadBuffer != ctx->Pixel.ReadBuffer) { + + } + } + else { + /* This is a user-created framebuffer. + * Completeness only matters for user-created framebuffers. + */ _mesa_test_framebuffer_completeness(ctx, fb); _mesa_update_framebuffer_visual(fb); } - /* update_color_draw/read_buffers not needed for - read/draw only fb, but shouldn't hurt ??? */ + /* Strictly speaking, we don't need to update the draw-state + * if this FB is bound as ctx->ReadBuffer (and conversely, the + * read-state if this FB is bound as ctx->DrawBuffer), but no + * harm. + */ update_color_draw_buffers(ctx, fb); update_color_read_buffer(ctx, fb); _mesa_update_depth_buffer(ctx, fb, BUFFER_DEPTH); @@ -748,28 +810,19 @@ update_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb) compute_depth_max(fb); } + /** * Update state related to the current draw/read framebuffers. - * Specifically, update these framebuffer fields: - * _ColorDrawBuffers - * _NumColorDrawBuffers - * _ColorReadBuffer - * _DepthBuffer - * _StencilBuffer - * If the current framebuffer is user-created, make sure it's complete. - * The following functions can effect this state: glReadBuffer, - * glDrawBuffer, glDrawBuffersARB, glFramebufferRenderbufferEXT, - * glRenderbufferStorageEXT. */ void _mesa_update_framebuffer(GLcontext *ctx) { - struct gl_framebuffer *fb = ctx->DrawBuffer; - struct gl_framebuffer *fbread = ctx->ReadBuffer; + struct gl_framebuffer *drawFb = ctx->DrawBuffer; + struct gl_framebuffer *readFb = ctx->ReadBuffer; - update_framebuffer(ctx, fb); - if (fbread != fb) - update_framebuffer(ctx, fbread); + update_framebuffer(ctx, drawFb); + if (readFb != drawFb) + update_framebuffer(ctx, readFb); } diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c index 4674c44a3f2..f72aa6a2882 100644 --- a/src/mesa/main/get.c +++ b/src/mesa/main/get.c @@ -1092,7 +1092,7 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) GLuint i, n = _mesa_get_compressed_formats(ctx, formats, GL_FALSE); ASSERT(n <= 100); for (i = 0; i < n; i++) - params[i] = ENUM_TO_INT(formats[i]); + params[i] = ENUM_TO_BOOLEAN(formats[i]); } break; case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT: @@ -1873,6 +1873,10 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params ) CHECK_EXT1(EXT_framebuffer_object, "GetBooleanv"); params[0] = INT_TO_BOOLEAN(ctx->Const.MaxRenderbufferSize); break; + case GL_READ_FRAMEBUFFER_BINDING_EXT: + CHECK_EXT1(EXT_framebuffer_blit, "GetBooleanv"); + params[0] = INT_TO_BOOLEAN(ctx->ReadBuffer->Name); + break; case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB: CHECK_EXT1(ARB_fragment_shader, "GetBooleanv"); params[0] = INT_TO_BOOLEAN(ctx->Const.FragmentProgram.MaxUniformComponents); @@ -2936,7 +2940,7 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) GLuint i, n = _mesa_get_compressed_formats(ctx, formats, GL_FALSE); ASSERT(n <= 100); for (i = 0; i < n; i++) - params[i] = ENUM_TO_INT(formats[i]); + params[i] = ENUM_TO_FLOAT(formats[i]); } break; case GL_ARRAY_ELEMENT_LOCK_FIRST_EXT: @@ -3717,6 +3721,10 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params ) CHECK_EXT1(EXT_framebuffer_object, "GetFloatv"); params[0] = (GLfloat)(ctx->Const.MaxRenderbufferSize); break; + case GL_READ_FRAMEBUFFER_BINDING_EXT: + CHECK_EXT1(EXT_framebuffer_blit, "GetFloatv"); + params[0] = (GLfloat)(ctx->ReadBuffer->Name); + break; case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB: CHECK_EXT1(ARB_fragment_shader, "GetFloatv"); params[0] = (GLfloat)(ctx->Const.FragmentProgram.MaxUniformComponents); @@ -3977,7 +3985,7 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) params[0] = ctx->DrawBuffer->Visual.depthBits; break; case GL_DEPTH_CLEAR_VALUE: - params[0] = IROUND(ctx->Depth.Clear); + params[0] = FLOAT_TO_INT(ctx->Depth.Clear); break; case GL_DEPTH_FUNC: params[0] = ENUM_TO_INT(ctx->Depth.Func); @@ -5561,6 +5569,10 @@ _mesa_GetIntegerv( GLenum pname, GLint *params ) CHECK_EXT1(EXT_framebuffer_object, "GetIntegerv"); params[0] = ctx->Const.MaxRenderbufferSize; break; + case GL_READ_FRAMEBUFFER_BINDING_EXT: + CHECK_EXT1(EXT_framebuffer_blit, "GetIntegerv"); + params[0] = ctx->ReadBuffer->Name; + break; case GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB: CHECK_EXT1(ARB_fragment_shader, "GetIntegerv"); params[0] = ctx->Const.FragmentProgram.MaxUniformComponents; diff --git a/src/mesa/main/get_gen.py b/src/mesa/main/get_gen.py index 653deefa726..152e378b4fe 100644 --- a/src/mesa/main/get_gen.py +++ b/src/mesa/main/get_gen.py @@ -50,7 +50,8 @@ TypeStrings = { # - the GL state name, such as GL_CURRENT_COLOR # - the state datatype, one of GLint, GLfloat, GLboolean or GLenum # - list of code fragments to get the state, such as ["ctx->Foo.Bar"] -# - optional extra code or empty string +# - optional extra code or empty string. If present, "CONVERSION" will be +# replaced by ENUM_TO_FLOAT, INT_TO_FLOAT, etc. # - optional extensions to check, or None # StateVars = [ @@ -179,7 +180,7 @@ StateVars = [ ( "GL_DEPTH_BIAS", GLfloat, ["ctx->Pixel.DepthBias"], "", None ), ( "GL_DEPTH_BITS", GLint, ["ctx->DrawBuffer->Visual.depthBits"], "", None ), - ( "GL_DEPTH_CLEAR_VALUE", GLfloat, ["ctx->Depth.Clear"], "", None ), + ( "GL_DEPTH_CLEAR_VALUE", GLfloatN, ["ctx->Depth.Clear"], "", None ), ( "GL_DEPTH_FUNC", GLenum, ["ctx->Depth.Func"], "", None ), ( "GL_DEPTH_RANGE", GLfloatN, [ "ctx->Viewport.Near", "ctx->Viewport.Far" ], "", None ), @@ -532,7 +533,7 @@ StateVars = [ GLuint i, n = _mesa_get_compressed_formats(ctx, formats, GL_FALSE); ASSERT(n <= 100); for (i = 0; i < n; i++) - params[i] = ENUM_TO_INT(formats[i]);""", + params[i] = CONVERSION(formats[i]);""", ["ARB_texture_compression"] ), # GL_EXT_compiled_vertex_array @@ -980,6 +981,11 @@ StateVars = [ ["ctx->Const.MaxRenderbufferSize"], "", ["EXT_framebuffer_object"] ), + # GL_EXT_framebuffer_blit + # NOTE: GL_DRAW_FRAMEBUFFER_BINDING_EXT == GL_FRAMEBUFFER_BINDING_EXT + ( "GL_READ_FRAMEBUFFER_BINDING_EXT", GLint, ["ctx->ReadBuffer->Name"], "", + ["EXT_framebuffer_blit"] ), + # GL_ARB_fragment_shader ( "GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB", GLint, ["ctx->Const.FragmentProgram.MaxUniformComponents"], "", @@ -1078,10 +1084,11 @@ def EmitGetFunction(stateVars, returnType): assert len(extensions) == 4 print (' CHECK_EXT4(%s, %s, %s, %s, "%s");' % (extensions[0], extensions[1], extensions[2], extensions[3], function)) + conversion = ConversionFunc(varType, returnType) if optionalCode: + optionalCode = string.replace(optionalCode, "CONVERSION", conversion); print " {" print " " + optionalCode - conversion = ConversionFunc(varType, returnType) n = len(state) for i in range(n): if conversion: diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c index 89daa0e21db..94bf5de1e8b 100644 --- a/src/mesa/main/getstring.c +++ b/src/mesa/main/getstring.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.2 + * Version: 7.1 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2008 Brian Paul 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"), @@ -25,7 +25,6 @@ #include "glheader.h" -#include "colormac.h" #include "context.h" #include "get.h" #include "version.h" @@ -85,7 +84,7 @@ compute_version(const GLcontext *ctx) ctx->Extensions.ARB_texture_non_power_of_two && ctx->Extensions.EXT_blend_equation_separate); const GLboolean ver_2_1 = (ver_2_0 && - ctx->Extensions.ARB_shading_language_120 && + /*ctx->Extensions.ARB_shading_language_120 &&*/ ctx->Extensions.EXT_pixel_buffer_object && ctx->Extensions.EXT_texture_sRGB); if (ver_2_1) @@ -121,12 +120,6 @@ _mesa_GetString( GLenum name ) static const char *vendor = "Brian Paul"; static const char *renderer = "Mesa"; -#if FEATURE_ARB_shading_language_120_foo /* support not complete! */ - static const char *sl_version = "1.20"; -#elif FEATURE_ARB_shading_language_100 - static const char *sl_version = "1.10"; -#endif - if (!ctx) return NULL; @@ -154,8 +147,10 @@ _mesa_GetString( GLenum name ) return (const GLubyte *) ctx->Extensions.String; #if FEATURE_ARB_shading_language_100 case GL_SHADING_LANGUAGE_VERSION_ARB: - if (ctx->Extensions.ARB_shading_language_100) - return (const GLubyte *) sl_version; + if (ctx->Extensions.ARB_shading_language_120) + return (const GLubyte *) "1.20"; + else if (ctx->Extensions.ARB_shading_language_100) + return (const GLubyte *) "1.10"; goto error; #endif #if FEATURE_NV_fragment_program || FEATURE_ARB_fragment_program || \ diff --git a/src/mesa/main/glheader.h b/src/mesa/main/glheader.h index f0f97c218c2..d69c7bbb21d 100644 --- a/src/mesa/main/glheader.h +++ b/src/mesa/main/glheader.h @@ -46,11 +46,6 @@ #ifndef GLHEADER_H #define GLHEADER_H -/* This allows Mesa to be integrated into XFree86 */ -#ifdef HAVE_DIX_CONFIG_H -#include "dix-config.h" -#endif - #include <assert.h> #include <ctype.h> #if defined(__alpha__) && defined(CCPML) @@ -98,6 +93,21 @@ # include <stdint.h> #endif + +/* Sun compilers define __i386 instead of the gcc-style __i386__ */ +#ifdef __SUNPRO_C +# if !defined(__i386__) && defined(__i386) +# define __i386__ +# elif !defined(__amd64__) && defined(__amd64) +# define __amd64__ +# elif !defined(__sparc__) && defined(__sparc) +# define __sparc__ +# endif +# if !defined(__volatile) +# define __volatile volatile +# endif +#endif + #if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__) && !defined(BUILD_FOR_SNAP) # define __WIN32__ # define finite _finite @@ -236,6 +246,12 @@ # define INLINE inline #elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100) # define INLINE __inline +#elif defined(__SUNPRO_C) && defined(__C99FEATURES__) +# define INLINE inline +# define __inline inline +# define __inline__ inline +#elif (__STDC_VERSION__ >= 199901L) /* C99 */ +# define INLINE inline #else # define INLINE #endif @@ -275,7 +291,7 @@ #endif -#if !defined __GNUC__ || __GNUC__ < 3 +#if (!defined(__GNUC__) || __GNUC__ < 3) && (!defined(__IBMC__) || __IBMC__ < 900) # define __builtin_expect(x, y) x #endif @@ -283,12 +299,17 @@ * If we're not using gcc, define __FUNCTION__ as a cpp symbol here. * Don't define it if using a newer Windows compiler. */ -#if defined(__VMS) -# define __FUNCTION__ "VMS$NL:" -#elif __STDC_VERSION__ < 199901L -# if ((!defined __GNUC__) || (__GNUC__ < 2)) && (!defined __xlC__) && \ +#ifndef __FUNCTION__ +# if defined(__VMS) +# define __FUNCTION__ "VMS$NL:" +# elif ((!defined __GNUC__) || (__GNUC__ < 2)) && (!defined __xlC__) && \ (!defined(_MSC_VER) || _MSC_VER < 1300) -# define __FUNCTION__ "<unknown>" +# if (__STDC_VERSION__ >= 199901L) /* C99 */ || \ + (defined(__SUNPRO_C) && defined(__C99FEATURES__)) +# define __FUNCTION__ __func__ +# else +# define __FUNCTION__ "<unknown>" +# endif # endif #endif diff --git a/src/mesa/main/histogram.c b/src/mesa/main/histogram.c index 77c458d540c..905c1ad8301 100644 --- a/src/mesa/main/histogram.c +++ b/src/mesa/main/histogram.c @@ -955,7 +955,7 @@ _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean s } } - if (width != 0 && _mesa_bitcount(width) != 1) { + if (width != 0 && !_mesa_is_pow_two(width)) { if (target == GL_PROXY_HISTOGRAM) { error = GL_TRUE; } diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c index 52c4999e16e..d3282d42e99 100644 --- a/src/mesa/main/image.c +++ b/src/mesa/main/image.c @@ -849,7 +849,7 @@ _mesa_unpack_bitmap( GLint width, GLint height, const GLubyte *pixels, return NULL; } - if (packing->SkipPixels == 0) { + if ((packing->SkipPixels & 7) == 0) { _mesa_memcpy( dst, src, width_in_bytes ); if (packing->LsbFirst) { flip_bytes( dst, width_in_bytes ); @@ -941,7 +941,7 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source, if (!dst) return; - if (packing->SkipPixels == 0) { + if ((packing->SkipPixels & 7) == 0) { _mesa_memcpy( dst, src, width_in_bytes ); if (packing->LsbFirst) { flip_bytes( dst, width_in_bytes ); @@ -960,20 +960,20 @@ _mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source, if (*s & srcMask) { *d |= dstMask; } - if (srcMask == 128) { - srcMask = 1; + if (srcMask == 1) { + srcMask = 128; s++; } else { - srcMask = srcMask << 1; + srcMask = srcMask >> 1; } - if (dstMask == 1) { - dstMask = 128; + if (dstMask == 128) { + dstMask = 1; d++; *d = 0; } else { - dstMask = dstMask >> 1; + dstMask = dstMask << 1; } } } @@ -1689,7 +1689,7 @@ _mesa_pack_rgba_span_float(GLcontext *ctx, GLuint n, GLfloat rgba[][4], if (dstFormat == GL_LUMINANCE || dstFormat == GL_LUMINANCE_ALPHA) { /* compute luminance values */ - if (dstType != GL_FLOAT || ctx->Color.ClampReadColor == GL_TRUE) { + if (transferOps & IMAGE_CLAMP_BIT) { for (i = 0; i < n; i++) { GLfloat sum = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP]; luminance[i] = CLAMP(sum, 0.0F, 1.0F); @@ -4214,7 +4214,7 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n, switch (dstType) { case GL_UNSIGNED_BYTE: - if (sizeof(GLstencil) == 8) { + if (sizeof(GLstencil) == 1) { _mesa_memcpy( dest, source, n ); } else { @@ -4226,14 +4226,11 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n, } break; case GL_BYTE: - if (sizeof(GLstencil) == 8) { - _mesa_memcpy( dest, source, n ); - } - else { + { GLbyte *dst = (GLbyte *) dest; GLuint i; for (i=0;i<n;i++) { - dst[i] = (GLbyte) source[i]; + dst[i] = (GLbyte) (source[i] & 0x7f); } } break; @@ -4278,7 +4275,7 @@ _mesa_pack_stencil_span( const GLcontext *ctx, GLuint n, GLint *dst = (GLint *) dest; GLuint i; for (i=0;i<n;i++) { - *dst++ = (GLint) source[i]; + dst[i] = (GLint) source[i]; } if (dstPacking->SwapBytes) { _mesa_swap4( (GLuint *) dst, n ); diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c index 7231fa699cb..6cfd7ccc723 100644 --- a/src/mesa/main/imports.c +++ b/src/mesa/main/imports.c @@ -104,6 +104,8 @@ _mesa_align_malloc(size_t bytes, unsigned long alignment) (void) posix_memalign(& mem, alignment, bytes); return mem; +#elif defined(_WIN32) && defined(_MSC_VER) + return _aligned_malloc(bytes, alignment); #else uintptr_t ptr, buf; @@ -144,6 +146,15 @@ _mesa_align_calloc(size_t bytes, unsigned long alignment) } return mem; +#elif defined(_WIN32) && defined(_MSC_VER) + void *mem; + + mem = _aligned_malloc(bytes, alignment); + if (mem != NULL) { + (void) memset(mem, 0, bytes); + } + + return mem; #else uintptr_t ptr, buf; @@ -180,6 +191,8 @@ _mesa_align_free(void *ptr) { #if defined(HAVE_POSIX_MEMALIGN) free(ptr); +#elif defined(_WIN32) && defined(_MSC_VER) + _aligned_free(ptr); #else void **cubbyHole = (void **) ((char *) ptr - sizeof(void *)); void *realAddr = *cubbyHole; @@ -194,6 +207,10 @@ void * _mesa_align_realloc(void *oldBuffer, size_t oldSize, size_t newSize, unsigned long alignment) { +#if defined(_WIN32) && defined(_MSC_VER) + (void) oldSize; + return _aligned_realloc(oldBuffer, newSize, alignment); +#else const size_t copySize = (oldSize < newSize) ? oldSize : newSize; void *newBuf = _mesa_align_malloc(newSize, alignment); if (newBuf && oldBuffer && copySize > 0) { @@ -202,6 +219,7 @@ _mesa_align_realloc(void *oldBuffer, size_t oldSize, size_t newSize, if (oldBuffer) _mesa_align_free(oldBuffer); return newBuf; +#endif } @@ -541,25 +559,28 @@ _mesa_pow(double x, double y) int _mesa_ffs(int32_t i) { -#if (defined(_WIN32) && !defined(__MINGW32__) ) || defined(__IBMC__) || defined(__IBMCPP__) - register int32_t bit = 1; - if ((i & 0xffff) == 0) { - bit += 16; - i >>= 16; - } - if ((i & 0xff) == 0) { - bit += 8; - i >>= 8; - } - if ((i & 0xf) == 0) { - bit += 4; - i >>= 4; - } - if ((i & 0x3) == 0) { - bit += 2; - i >>= 2; +#if (defined(_WIN32) ) || defined(__IBMC__) || defined(__IBMCPP__) + register int bit = 0; + if (i != 0) { + if ((i & 0xffff) == 0) { + bit += 16; + i >>= 16; + } + if ((i & 0xff) == 0) { + bit += 8; + i >>= 8; + } + if ((i & 0xf) == 0) { + bit += 4; + i >>= 4; + } + while ((i & 1) == 0) { + bit++; + i >>= 1; + } + bit++; } - return (i) ? (bit + ((i + 1) & 0x01)) : 0; + return bit; #else return ffs(i); #endif diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h index d91a1366b07..bab00420710 100644 --- a/src/mesa/main/imports.h +++ b/src/mesa/main/imports.h @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.2 + * Version: 7.1 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2008 Brian Paul 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"), @@ -159,12 +159,13 @@ typedef union { GLfloat f; GLint i; } fi_type; ***/ #if defined(__i386__) || defined(__386__) || defined(__sparc__) || \ defined(__s390x__) || defined(__powerpc__) || \ - defined(__amd64__) || \ + defined(__x86_64__) || \ defined(ia64) || defined(__ia64__) || \ defined(__hppa__) || defined(hpux) || \ defined(__mips) || defined(_MIPS_ARCH) || \ defined(__arm__) || \ defined(__sh__) || defined(__m32r__) || \ + (defined(__sun) && defined(_IEEE_754)) || \ (defined(__alpha__) && (defined(__IEEE_FLOAT) || !defined(VMS))) #define USE_IEEE #define IEEE_ONE 0x3f800000 @@ -461,6 +462,16 @@ static INLINE int iceil(float f) #endif +/** + * Is x a power of two? + */ +static INLINE int +_mesa_is_pow_two(int x) +{ + return !(x & (x - 1)); +} + + /*** *** UNCLAMPED_FLOAT_TO_UBYTE: clamp float to [0,1] and map to ubyte in [0,255] *** CLAMPED_FLOAT_TO_UBYTE: map float known to be in [0,1] to ubyte in [0,255] diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c index f37d1f216fc..d4db960f1b9 100644 --- a/src/mesa/main/light.c +++ b/src/mesa/main/light.c @@ -53,6 +53,11 @@ _mesa_ShadeModel( GLenum mode ) FLUSH_VERTICES(ctx, _NEW_LIGHT); ctx->Light.ShadeModel = mode; + if (mode == GL_FLAT) + ctx->_TriangleCaps |= DD_FLATSHADE; + else + ctx->_TriangleCaps &= ~DD_FLATSHADE; + if (ctx->Driver.ShadeModel) ctx->Driver.ShadeModel( ctx, mode ); } @@ -179,6 +184,7 @@ _mesa_Lightfv( GLenum light, GLenum pname, const GLfloat *params ) GET_CURRENT_CONTEXT(ctx); GLint i = (GLint) (light - GL_LIGHT0); GLfloat temp[4]; + ASSERT_OUTSIDE_BEGIN_END(ctx); if (i < 0 || i >= (GLint) ctx->Const.MaxLights) { _mesa_error( ctx, GL_INVALID_ENUM, "glLight(light=0x%x)", light ); @@ -441,6 +447,10 @@ _mesa_LightModelfv( GLenum pname, const GLfloat *params ) return; FLUSH_VERTICES(ctx, _NEW_LIGHT); ctx->Light.Model.TwoSide = newbool; + if (ctx->Light.Enabled && ctx->Light.Model.TwoSide) + ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE; + else + ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE; break; case GL_LIGHT_MODEL_COLOR_CONTROL: if (params[0] == (GLfloat) GL_SINGLE_COLOR) diff --git a/src/mesa/main/lines.c b/src/mesa/main/lines.c index 0c2dbf915a1..81d0d33abb4 100644 --- a/src/mesa/main/lines.c +++ b/src/mesa/main/lines.c @@ -56,6 +56,11 @@ _mesa_LineWidth( GLfloat width ) FLUSH_VERTICES(ctx, _NEW_LINE); ctx->Line.Width = width; + if (width != 1.0F) + ctx->_TriangleCaps |= DD_LINE_WIDTH; + else + ctx->_TriangleCaps &= ~DD_LINE_WIDTH; + if (ctx->Driver.LineWidth) ctx->Driver.LineWidth(ctx, width); } diff --git a/src/mesa/main/mfeatures.h b/src/mesa/main/mfeatures.h index 487493f88e1..3819da3d680 100644 --- a/src/mesa/main/mfeatures.h +++ b/src/mesa/main/mfeatures.h @@ -44,7 +44,6 @@ #define FEATURE_dlist _HAVE_FULL_GL #define FEATURE_draw_read_buffer _HAVE_FULL_GL #define FEATURE_drawpix _HAVE_FULL_GL -#define FEATURE_es2_glsl 0 #define FEATURE_evaluators _HAVE_FULL_GL #define FEATURE_feedback _HAVE_FULL_GL #define FEATURE_fixedpt 0 @@ -56,6 +55,8 @@ #define FEATURE_texture_s3tc _HAVE_FULL_GL #define FEATURE_userclip _HAVE_FULL_GL #define FEATURE_vertex_array_byte 0 +#define FEATURE_windowpos _HAVE_FULL_GL +#define FEATURE_es2_glsl 0 #define FEATURE_ARB_occlusion_query _HAVE_FULL_GL #define FEATURE_ARB_fragment_program _HAVE_FULL_GL diff --git a/src/mesa/main/mipmap.c b/src/mesa/main/mipmap.c index 061378f3b77..13d90e78fe4 100644 --- a/src/mesa/main/mipmap.c +++ b/src/mesa/main/mipmap.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5.2 + * Version: 7.1 * - * Copyright (C) 1999-2006 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2007 Brian Paul 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"), @@ -446,34 +446,27 @@ make_1d_mipmap(GLenum datatype, GLuint comps, GLint border, } -/** - * Strides are in bytes. If zero, it'll be computed as width * bpp. - */ static void make_2d_mipmap(GLenum datatype, GLuint comps, GLint border, GLint srcWidth, GLint srcHeight, - GLint srcRowStride, const GLubyte *srcPtr, + const GLubyte *srcPtr, GLint srcRowStride, GLint dstWidth, GLint dstHeight, - GLint dstRowStride, GLubyte *dstPtr) + GLubyte *dstPtr, GLint dstRowStride) { const GLint bpt = bytes_per_pixel(datatype, comps); const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */ const GLint dstWidthNB = dstWidth - 2 * border; const GLint dstHeightNB = dstHeight - 2 * border; + const GLint srcRowBytes = bpt * srcRowStride; + const GLint dstRowBytes = bpt * dstRowStride; const GLubyte *srcA, *srcB; GLubyte *dst; GLint row; - if (!srcRowStride) - srcRowStride = bpt * srcWidth; - - if (!dstRowStride) - dstRowStride = bpt * dstWidth; - /* Compute src and dst pointers, skipping any border */ srcA = srcPtr + border * ((srcWidth + 1) * bpt); if (srcHeight > 1) - srcB = srcA + srcRowStride; + srcB = srcA + srcRowBytes; else srcB = srcA; dst = dstPtr + border * ((dstWidth + 1) * bpt); @@ -481,9 +474,9 @@ make_2d_mipmap(GLenum datatype, GLuint comps, GLint border, for (row = 0; row < dstHeightNB; row++) { do_row(datatype, comps, srcWidthNB, srcA, srcB, dstWidthNB, dst); - srcA += 2 * srcRowStride; - srcB += 2 * srcRowStride; - dst += dstRowStride; + srcA += 2 * srcRowBytes; + srcB += 2 * srcRowBytes; + dst += dstRowBytes; } /* This is ugly but probably won't be used much */ @@ -541,11 +534,9 @@ make_2d_mipmap(GLenum datatype, GLuint comps, GLint border, static void make_3d_mipmap(GLenum datatype, GLuint comps, GLint border, GLint srcWidth, GLint srcHeight, GLint srcDepth, - GLint srcRowStride, - const GLubyte *srcPtr, + const GLubyte *srcPtr, GLint srcRowStride, GLint dstWidth, GLint dstHeight, GLint dstDepth, - GLint dstRowStride, - GLubyte *dstPtr) + GLubyte *dstPtr, GLint dstRowStride) { const GLint bpt = bytes_per_pixel(datatype, comps); const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */ @@ -556,6 +547,7 @@ make_3d_mipmap(GLenum datatype, GLuint comps, GLint border, GLvoid *tmpRowA, *tmpRowB; GLint img, row; GLint bytesPerSrcImage, bytesPerDstImage; + GLint bytesPerSrcRow, bytesPerDstRow; GLint srcImageOffset, srcRowOffset; (void) srcDepthNB; /* silence warnings */ @@ -573,10 +565,8 @@ make_3d_mipmap(GLenum datatype, GLuint comps, GLint border, bytesPerSrcImage = srcWidth * srcHeight * bpt; bytesPerDstImage = dstWidth * dstHeight * bpt; - if (!srcRowStride) - srcRowStride = srcWidth * bpt; - if (!dstRowStride) - dstRowStride = dstWidth * bpt; + bytesPerSrcRow = srcWidth * bpt; + bytesPerDstRow = dstWidth * bpt; /* Offset between adjacent src images to be averaged together */ srcImageOffset = (srcDepth == dstDepth) ? 0 : bytesPerSrcImage; @@ -600,13 +590,13 @@ make_3d_mipmap(GLenum datatype, GLuint comps, GLint border, for (img = 0; img < dstDepthNB; img++) { /* first source image pointer, skipping border */ const GLubyte *imgSrcA = srcPtr - + (bytesPerSrcImage + srcRowStride + border) * bpt * border + + (bytesPerSrcImage + bytesPerSrcRow + border) * bpt * border + img * (bytesPerSrcImage + srcImageOffset); /* second source image pointer, skipping border */ const GLubyte *imgSrcB = imgSrcA + srcImageOffset; /* address of the dest image, skipping border */ GLubyte *imgDst = dstPtr - + (bytesPerDstImage + dstRowStride + border) * bpt * border + + (bytesPerDstImage + bytesPerDstRow + border) * bpt * border + img * bytesPerDstImage; /* setup the four source row pointers and the dest row pointer */ @@ -627,11 +617,11 @@ make_3d_mipmap(GLenum datatype, GLuint comps, GLint border, do_row(datatype, comps, srcWidthNB, tmpRowA, tmpRowB, dstWidthNB, dstImgRow); /* advance to next rows */ - srcImgARowA += srcRowStride + srcRowOffset; - srcImgARowB += srcRowStride + srcRowOffset; - srcImgBRowA += srcRowStride + srcRowOffset; - srcImgBRowB += srcRowStride + srcRowOffset; - dstImgRow += dstRowStride; + srcImgARowA += bytesPerSrcRow + srcRowOffset; + srcImgARowB += bytesPerSrcRow + srcRowOffset; + srcImgBRowA += bytesPerSrcRow + srcRowOffset; + srcImgBRowB += bytesPerSrcRow + srcRowOffset; + dstImgRow += bytesPerDstRow; } } @@ -641,15 +631,13 @@ make_3d_mipmap(GLenum datatype, GLuint comps, GLint border, /* Luckily we can leverage the make_2d_mipmap() function here! */ if (border > 0) { /* do front border image */ - make_2d_mipmap(datatype, comps, 1, srcWidth, srcHeight, 0, srcPtr, - dstWidth, dstHeight, 0, dstPtr); + make_2d_mipmap(datatype, comps, 1, srcWidth, srcHeight, srcPtr, srcRowStride, + dstWidth, dstHeight, dstPtr, dstRowStride); /* do back border image */ make_2d_mipmap(datatype, comps, 1, srcWidth, srcHeight, - 0, - srcPtr + bytesPerSrcImage * (srcDepth - 1), + srcPtr + bytesPerSrcImage * (srcDepth - 1), srcRowStride, dstWidth, dstHeight, - 0, - dstPtr + bytesPerDstImage * (dstDepth - 1)); + dstPtr + bytesPerDstImage * (dstDepth - 1), dstRowStride); /* do four remaining border edges that span the image slices */ if (srcDepth == dstDepth) { /* just copy border pixels from src to dst */ @@ -664,9 +652,9 @@ make_3d_mipmap(GLenum datatype, GLuint comps, GLint border, /* do border along [img][row=dstHeight-1][col=0] */ src = srcPtr + (img * 2 + 1) * bytesPerSrcImage - + (srcHeight - 1) * srcRowStride; + + (srcHeight - 1) * bytesPerSrcRow; dst = dstPtr + (img + 1) * bytesPerDstImage - + (dstHeight - 1) * dstRowStride; + + (dstHeight - 1) * bytesPerDstRow; MEMCPY(dst, src, bpt); /* do border along [img][row=0][col=dstWidth-1] */ @@ -698,9 +686,9 @@ make_3d_mipmap(GLenum datatype, GLuint comps, GLint border, /* do border along [img][row=dstHeight-1][col=0] */ src = srcPtr + (img * 2 + 1) * bytesPerSrcImage - + (srcHeight - 1) * srcRowStride; + + (srcHeight - 1) * bytesPerSrcRow; dst = dstPtr + (img + 1) * bytesPerDstImage - + (dstHeight - 1) * dstRowStride; + + (dstHeight - 1) * bytesPerDstRow; do_row(datatype, comps, 1, src, src + srcImageOffset, 1, dst); /* do border along [img][row=0][col=dstWidth-1] */ @@ -724,15 +712,16 @@ make_3d_mipmap(GLenum datatype, GLuint comps, GLint border, static void make_1d_stack_mipmap(GLenum datatype, GLuint comps, GLint border, - GLint srcWidth, const GLubyte *srcPtr, - GLint dstWidth, GLint dstHeight, GLubyte *dstPtr) + GLint srcWidth, const GLubyte *srcPtr, GLuint srcRowStride, + GLint dstWidth, GLint dstHeight, + GLubyte *dstPtr, GLuint dstRowStride ) { const GLint bpt = bytes_per_pixel(datatype, comps); const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */ const GLint dstWidthNB = dstWidth - 2 * border; const GLint dstHeightNB = dstHeight - 2 * border; - const GLint srcRowStride = bpt * srcWidth; - const GLint dstRowStride = bpt * dstWidth; + const GLint srcRowBytes = bpt * srcRowStride; + const GLint dstRowBytes = bpt * dstRowStride; const GLubyte *src; GLubyte *dst; GLint row; @@ -744,8 +733,8 @@ make_1d_stack_mipmap(GLenum datatype, GLuint comps, GLint border, for (row = 0; row < dstHeightNB; row++) { do_row(datatype, comps, srcWidthNB, src, src, dstWidthNB, dst); - src += srcRowStride; - dst += dstRowStride; + src += srcRowBytes; + dst += dstRowBytes; } if (border) { @@ -767,32 +756,26 @@ make_1d_stack_mipmap(GLenum datatype, GLuint comps, GLint border, static void make_2d_stack_mipmap(GLenum datatype, GLuint comps, GLint border, GLint srcWidth, GLint srcHeight, - GLint srcRowStride, - const GLubyte *srcPtr, + const GLubyte *srcPtr, GLint srcRowStride, GLint dstWidth, GLint dstHeight, GLint dstDepth, - GLint dstRowStride, - GLubyte *dstPtr) + GLubyte *dstPtr, GLint dstRowStride) { const GLint bpt = bytes_per_pixel(datatype, comps); const GLint srcWidthNB = srcWidth - 2 * border; /* sizes w/out border */ const GLint dstWidthNB = dstWidth - 2 * border; const GLint dstHeightNB = dstHeight - 2 * border; const GLint dstDepthNB = dstDepth - 2 * border; + const GLint srcRowBytes = bpt * srcRowStride; + const GLint dstRowBytes = bpt * dstRowStride; const GLubyte *srcA, *srcB; GLubyte *dst; GLint layer; GLint row; - if (!srcRowStride) - srcRowStride = bpt * srcWidth; - - if (!dstRowStride) - dstRowStride = bpt * dstWidth; - /* Compute src and dst pointers, skipping any border */ srcA = srcPtr + border * ((srcWidth + 1) * bpt); if (srcHeight > 1) - srcB = srcA + srcRowStride; + srcB = srcA + srcRowBytes; else srcB = srcA; dst = dstPtr + border * ((dstWidth + 1) * bpt); @@ -801,9 +784,9 @@ make_2d_stack_mipmap(GLenum datatype, GLuint comps, GLint border, for (row = 0; row < dstHeightNB; row++) { do_row(datatype, comps, srcWidthNB, srcA, srcB, dstWidthNB, dst); - srcA += 2 * srcRowStride; - srcB += 2 * srcRowStride; - dst += dstRowStride; + srcA += 2 * srcRowBytes; + srcB += 2 * srcRowBytes; + dst += dstRowBytes; } /* This is ugly but probably won't be used much */ @@ -867,12 +850,15 @@ _mesa_generate_mipmap_level(GLenum target, GLenum datatype, GLuint comps, GLint border, GLint srcWidth, GLint srcHeight, GLint srcDepth, - GLint srcRowStride, const GLubyte *srcData, + GLint srcRowStride, GLint dstWidth, GLint dstHeight, GLint dstDepth, - GLint dstRowStride, - GLubyte *dstData) + GLubyte *dstData, + GLint dstRowStride) { + /* + * We use simple 2x2 averaging to compute the next mipmap level. + */ switch (target) { case GL_TEXTURE_1D: make_1d_mipmap(datatype, comps, border, @@ -887,29 +873,35 @@ _mesa_generate_mipmap_level(GLenum target, case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB: case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB: make_2d_mipmap(datatype, comps, border, - srcWidth, srcHeight, srcRowStride, srcData, - dstWidth, dstHeight, dstRowStride, dstData); + srcWidth, srcHeight, srcData, srcRowStride, + dstWidth, dstHeight, dstData, dstRowStride); break; case GL_TEXTURE_3D: make_3d_mipmap(datatype, comps, border, - srcWidth, srcHeight, srcDepth, srcRowStride, srcData, - dstWidth, dstHeight, dstDepth, dstRowStride, dstData); + srcWidth, srcHeight, srcDepth, + srcData, srcRowStride, + dstWidth, dstHeight, dstDepth, + dstData, dstRowStride); break; case GL_TEXTURE_1D_ARRAY_EXT: make_1d_stack_mipmap(datatype, comps, border, - srcWidth, srcData, - dstWidth, dstHeight, dstData); + srcWidth, srcData, srcRowStride, + dstWidth, dstHeight, + dstData, dstRowStride); break; case GL_TEXTURE_2D_ARRAY_EXT: make_2d_stack_mipmap(datatype, comps, border, - srcWidth, srcHeight, srcRowStride, srcData, - dstWidth, dstHeight, dstDepth, dstRowStride, dstData); + srcWidth, srcHeight, + srcData, srcRowStride, + dstWidth, dstHeight, + dstDepth, dstData, dstRowStride); break; case GL_TEXTURE_RECTANGLE_NV: /* no mipmaps, do nothing */ break; default: - _mesa_problem(NULL, "bad target in _mesa_generate_mipmap_level"); + _mesa_problem(NULL, "bad dimensions in _mesa_generate_mipmaps"); + return; } } @@ -991,7 +983,8 @@ _mesa_generate_mipmap(GLcontext *ctx, GLenum target, GLint components, size; GLchan *dst; - assert(texObj->Target == GL_TEXTURE_2D); + assert(texObj->Target == GL_TEXTURE_2D || + texObj->Target == GL_TEXTURE_CUBE_MAP_ARB); if (srcImage->_BaseFormat == GL_RGB) { convertFormat = &_mesa_texformat_rgb; @@ -1130,10 +1123,12 @@ _mesa_generate_mipmap(GLcontext *ctx, GLenum target, dstData = (GLubyte *) dstImage->Data; } - /* Note, 0 indicates default row strides */ _mesa_generate_mipmap_level(target, datatype, comps, border, - srcWidth, srcHeight, srcDepth, 0, srcData, - dstWidth, dstHeight, dstDepth, 0, dstData); + srcWidth, srcHeight, srcDepth, + srcData, srcImage->RowStride, + dstWidth, dstHeight, dstDepth, + dstData, dstImage->RowStride); + if (dstImage->IsCompressed) { GLubyte *temp; diff --git a/src/mesa/main/mipmap.h b/src/mesa/main/mipmap.h index 44ecdddb277..22094c34372 100644 --- a/src/mesa/main/mipmap.h +++ b/src/mesa/main/mipmap.h @@ -34,11 +34,11 @@ _mesa_generate_mipmap_level(GLenum target, GLenum datatype, GLuint comps, GLint border, GLint srcWidth, GLint srcHeight, GLint srcDepth, - GLint srcRowStride, const GLubyte *srcData, + GLint srcRowStride, GLint dstWidth, GLint dstHeight, GLint dstDepth, - GLint dstRowStride, - GLubyte *dstData); + GLubyte *dstData, + GLint dstRowStride); extern void diff --git a/src/mesa/main/mm.c b/src/mesa/main/mm.c index 6f381b02a7f..d430bcdb840 100644 --- a/src/mesa/main/mm.c +++ b/src/mesa/main/mm.c @@ -167,7 +167,7 @@ mmAllocMem(struct mem_block *heap, unsigned size, unsigned align2, unsigned star unsigned startofs = 0; unsigned endofs; - if (!heap || !align2 || !size) + if (!heap || !size) return NULL; for (p = heap->next_free; p != heap; p = p->next_free) { diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h index 732de2bb432..556b4ed0164 100644 --- a/src/mesa/main/mtypes.h +++ b/src/mesa/main/mtypes.h @@ -1369,7 +1369,7 @@ struct gl_texture_image GLboolean IsCompressed; /**< GL_ARB_texture_compression */ GLuint CompressedSize; /**< GL_ARB_texture_compression */ - GLuint RowStride; /**< == Width unless IsClientData and padded */ + GLuint RowStride; /**< Padded width in units of texels */ GLuint *ImageOffsets; /**< if 3D texture: array [Depth] of offsets to each 2D slice in 'Data', in texels */ GLvoid *Data; /**< Image data, accessed via FetchTexel() */ @@ -1540,17 +1540,6 @@ struct gl_texture_unit struct gl_texture_object *_Current; /**< Points to really enabled tex obj */ - /** These are used for glPush/PopAttrib */ - /*@{*/ - struct gl_texture_object Saved1D; - struct gl_texture_object Saved2D; - struct gl_texture_object Saved3D; - struct gl_texture_object SavedCubeMap; - struct gl_texture_object SavedRect; - struct gl_texture_object Saved1DArray; - struct gl_texture_object Saved2DArray; - /*@}*/ - /** GL_SGI_texture_color_table */ /*@{*/ struct gl_color_table ColorTable; @@ -1560,6 +1549,7 @@ struct gl_texture_unit }; + /** * Texture attribute group (GL_TEXTURE_BIT). */ @@ -1579,17 +1569,7 @@ struct gl_texture_attrib struct gl_texture_unit Unit[MAX_TEXTURE_UNITS]; -#if 0 - struct gl_texture_object *Proxy1D; - struct gl_texture_object *Proxy2D; - struct gl_texture_object *Proxy3D; - struct gl_texture_object *ProxyCubeMap; - struct gl_texture_object *ProxyRect; - struct gl_texture_object *Proxy1DArray; - struct gl_texture_object *Proxy2DArray; -#else struct gl_texture_object *ProxyTex[NUM_TEXTURE_TARGETS]; -#endif /** GL_EXT_shared_texture_palette */ GLboolean SharedPalette; @@ -1894,10 +1874,13 @@ struct gl_program GLbitfield InputsRead; /**< Bitmask of which input regs are read */ GLbitfield OutputsWritten; /**< Bitmask of which output regs are written to */ + GLbitfield InputFlags[MAX_PROGRAM_INPUTS]; /**< PROG_PARAM_BIT_x flags */ + GLbitfield OutputFlags[MAX_PROGRAM_OUTPUTS]; /**< PROG_PARAM_BIT_x flags */ GLbitfield TexturesUsed[MAX_TEXTURE_IMAGE_UNITS]; /**< TEXTURE_x_BIT bitmask */ GLbitfield SamplersUsed; /**< Bitfield of which samplers are used */ GLbitfield ShadowSamplers; /**< Texture units used for shadow sampling. */ + /** Named parameters, constants, etc. from program text */ struct gl_program_parameter_list *Parameters; /** Numbered local parameters */ @@ -2428,13 +2411,11 @@ struct gl_framebuffer GLenum ColorDrawBuffer[MAX_DRAW_BUFFERS]; GLenum ColorReadBuffer; - /* These are computed from ColorDrawBuffer and ColorReadBuffer */ - GLbitfield _ColorDrawBufferMask[MAX_DRAW_BUFFERS]; /* Mask of BUFFER_BIT_* flags */ + /** Computed from ColorDraw/ReadBuffer above */ + GLuint _NumColorDrawBuffers; + GLint _ColorDrawBufferIndexes[MAX_DRAW_BUFFERS]; /**< BUFFER_x or -1 */ GLint _ColorReadBufferIndex; /* -1 = None */ - - /* These are computed from _ColorDrawBufferMask and _ColorReadBufferIndex */ - GLuint _NumColorDrawBuffers[MAX_DRAW_BUFFERS]; - struct gl_renderbuffer *_ColorDrawBuffers[MAX_DRAW_BUFFERS][4]; + struct gl_renderbuffer *_ColorDrawBuffers[MAX_DRAW_BUFFERS]; struct gl_renderbuffer *_ColorReadBuffer; /** The Actual depth/stencil buffers to use. May be wrappers around the @@ -2652,7 +2633,6 @@ struct gl_extensions GLboolean SGIS_generate_mipmap; GLboolean SGIS_texture_edge_clamp; GLboolean SGIS_texture_lod; - GLboolean SGIX_depth_texture; GLboolean SGIX_shadow; GLboolean SGIX_shadow_ambient; /* or GL_ARB_shadow_ambient */ GLboolean TDFX_texture_compression_FXT1; @@ -2902,7 +2882,6 @@ struct mesa_display_list */ struct gl_dlist_state { - struct mesa_display_list *CallStack[MAX_LIST_NESTING]; GLuint CallDepth; /**< Current recursion calling depth */ struct mesa_display_list *CurrentList; @@ -3079,7 +3058,10 @@ struct __GLcontextRec /** \name Derived state */ /*@{*/ - GLbitfield _TriangleCaps; /**< bitwise-or of DD_* flags */ + /** Bitwise-or of DD_* flags. Note that this bitfield may be used before + * state validation so they need to always be current. + */ + GLbitfield _TriangleCaps; GLbitfield _ImageTransferState;/**< bitwise-or of IMAGE_*_BIT flags */ GLfloat _EyeZDir[3]; GLfloat _ModelViewInvScale; @@ -3095,12 +3077,6 @@ struct __GLcontextRec struct gl_list_extensions ListExt; /**< driver dlist extensions */ - - GLuint _Facing; /**< This is a hack for 2-sided stencil test. - * - * We don't have a better way to communicate this value from - * swrast_setup to swrast. */ - /** \name For debugging/development only */ /*@{*/ GLboolean FirstTimeCurrent; diff --git a/src/mesa/main/pixel.c b/src/mesa/main/pixel.c index c98506b2bb0..8d24a201f07 100644 --- a/src/mesa/main/pixel.c +++ b/src/mesa/main/pixel.c @@ -150,7 +150,7 @@ _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values ) if (map >= GL_PIXEL_MAP_S_TO_S && map <= GL_PIXEL_MAP_I_TO_A) { /* test that mapsize is a power of two */ - if (_mesa_bitcount((GLuint) mapsize) != 1) { + if (!_mesa_is_pow_two(mapsize)) { _mesa_error( ctx, GL_INVALID_VALUE, "glPixelMapfv(mapsize)" ); return; } @@ -209,7 +209,7 @@ _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values ) if (map >= GL_PIXEL_MAP_S_TO_S && map <= GL_PIXEL_MAP_I_TO_A) { /* test that mapsize is a power of two */ - if (_mesa_bitcount((GLuint) mapsize) != 1) { + if (!_mesa_is_pow_two(mapsize)) { _mesa_error( ctx, GL_INVALID_VALUE, "glPixelMapuiv(mapsize)" ); return; } @@ -282,7 +282,7 @@ _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values ) if (map >= GL_PIXEL_MAP_S_TO_S && map <= GL_PIXEL_MAP_I_TO_A) { /* test that mapsize is a power of two */ - if (_mesa_bitcount((GLuint) mapsize) != 1) { + if (!_mesa_is_pow_two(mapsize)) { _mesa_error( ctx, GL_INVALID_VALUE, "glPixelMapuiv(mapsize)" ); return; } diff --git a/src/mesa/main/points.c b/src/mesa/main/points.c index fbedbcb22c4..1fe697033f1 100644 --- a/src/mesa/main/points.c +++ b/src/mesa/main/points.c @@ -5,7 +5,7 @@ /* * Mesa 3-D graphics library - * Version: 7.0 + * Version: 7.1 * * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. * @@ -77,8 +77,13 @@ _mesa_PointParameteri( GLenum pname, GLint param ) void GLAPIENTRY _mesa_PointParameteriv( GLenum pname, const GLint *params ) { - const GLfloat value = (GLfloat) params[0]; - _mesa_PointParameterfv(pname, &value); + GLfloat p[3]; + p[0] = (GLfloat) params[0]; + if (pname == GL_DISTANCE_ATTENUATION_EXT) { + p[1] = (GLfloat) params[1]; + p[2] = (GLfloat) params[2]; + } + _mesa_PointParameterfv(pname, p); } @@ -105,6 +110,11 @@ _mesa_PointParameterfv( GLenum pname, const GLfloat *params) ctx->Point._Attenuated = (ctx->Point.Params[0] != 1.0 || ctx->Point.Params[1] != 0.0 || ctx->Point.Params[2] != 0.0); + + if (ctx->Point._Attenuated) + ctx->_TriangleCaps |= DD_POINT_ATTEN; + else + ctx->_TriangleCaps &= ~DD_POINT_ATTEN; } else { _mesa_error(ctx, GL_INVALID_ENUM, @@ -190,7 +200,7 @@ _mesa_PointParameterfv( GLenum pname, const GLfloat *params) } break; case GL_POINT_SPRITE_COORD_ORIGIN: - if (ctx->Extensions.ARB_point_sprite) { + if (ctx->Extensions.ARB_point_sprite || ctx->Extensions.NV_point_sprite) { GLenum value = (GLenum) params[0]; if (value != GL_LOWER_LEFT && value != GL_UPPER_LEFT) { _mesa_error(ctx, GL_INVALID_VALUE, diff --git a/src/mesa/main/polygon.c b/src/mesa/main/polygon.c index fd02e5a652d..564250b881c 100644 --- a/src/mesa/main/polygon.c +++ b/src/mesa/main/polygon.c @@ -167,6 +167,11 @@ _mesa_PolygonMode( GLenum face, GLenum mode ) return; } + if (ctx->Polygon.FrontMode == GL_FILL && ctx->Polygon.BackMode == GL_FILL) + ctx->_TriangleCaps &= ~DD_TRI_UNFILLED; + else + ctx->_TriangleCaps |= DD_TRI_UNFILLED; + if (ctx->Driver.PolygonMode) ctx->Driver.PolygonMode(ctx, face, mode); } diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c index 2d060300300..554e0b0d181 100644 --- a/src/mesa/main/queryobj.c +++ b/src/mesa/main/queryobj.c @@ -90,9 +90,8 @@ _mesa_wait_query(GLcontext *ctx, struct gl_query_object *q) /** - * Delete an occlusion query object. + * Delete a query object. Called via ctx->Driver.DeleteQuery(). * Not removed from hash table here. - * XXX maybe add Delete() method to gl_query_object class and call that instead */ void _mesa_delete_query(GLcontext *ctx, struct gl_query_object *q) @@ -546,6 +545,6 @@ delete_queryobj_cb(GLuint id, void *data, void *userData) void _mesa_free_query_data(GLcontext *ctx) { - _mesa_HashDeleteAll(ctx->Query.QueryObjects, delete_queryobj_cb, NULL); + _mesa_HashDeleteAll(ctx->Query.QueryObjects, delete_queryobj_cb, ctx); _mesa_DeleteHashTable(ctx->Query.QueryObjects); } diff --git a/src/mesa/main/rastpos.c b/src/mesa/main/rastpos.c index 155140f3ccc..9842172f460 100644 --- a/src/mesa/main/rastpos.c +++ b/src/mesa/main/rastpos.c @@ -50,12 +50,12 @@ rasterpos(GLfloat x, GLfloat y, GLfloat z, GLfloat w) p[2] = z; p[3] = w; - if (ctx->NewState) - _mesa_update_state( ctx ); - ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); FLUSH_CURRENT(ctx, 0); + if (ctx->NewState) + _mesa_update_state( ctx ); + ctx->Driver.RasterPos(ctx, p); } diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c index dc22808e5bb..dfdd297b6e7 100644 --- a/src/mesa/main/readpix.c +++ b/src/mesa/main/readpix.c @@ -105,8 +105,7 @@ _mesa_error_check_format_type(GLcontext *ctx, GLenum format, GLenum type, } break; case GL_DEPTH_COMPONENT: - if ((drawing && !_mesa_dest_buffer_exists(ctx, format)) || - (!drawing && !_mesa_source_buffer_exists(ctx, format))) { + if ((drawing && !_mesa_dest_buffer_exists(ctx, format))) { _mesa_error(ctx, GL_INVALID_OPERATION, "gl%sPixels(no depth buffer)", readDraw); return GL_TRUE; diff --git a/src/mesa/main/shaders.c b/src/mesa/main/shaders.c index f0db0d2a818..7491d00c357 100644 --- a/src/mesa/main/shaders.c +++ b/src/mesa/main/shaders.c @@ -1,6 +1,6 @@ /* * Mesa 3-D graphics library - * Version: 7.1 + * Version: 7.3 * * Copyright (C) 2004-2008 Brian Paul All Rights Reserved. * @@ -233,13 +233,23 @@ _mesa_GetObjectParameterivARB(GLhandleARB object, GLenum pname, GLint *params) GET_CURRENT_CONTEXT(ctx); /* Implement in terms of GetProgramiv, GetShaderiv */ if (ctx->Driver.IsProgram(ctx, object)) { - ctx->Driver.GetProgramiv(ctx, object, pname, params); + if (pname == GL_OBJECT_TYPE_ARB) { + *params = GL_PROGRAM_OBJECT_ARB; + } + else { + ctx->Driver.GetProgramiv(ctx, object, pname, params); + } } else if (ctx->Driver.IsShader(ctx, object)) { - ctx->Driver.GetShaderiv(ctx, object, pname, params); + if (pname == GL_OBJECT_TYPE_ARB) { + *params = GL_SHADER_OBJECT_ARB; + } + else { + ctx->Driver.GetShaderiv(ctx, object, pname, params); + } } else { - _mesa_error(ctx, GL_INVALID_OPERATION, "glGetObjectParameterivARB"); + _mesa_error(ctx, GL_INVALID_VALUE, "glGetObjectParameterivARB"); } } diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c index a962f1cb41d..0d452fd8791 100644 --- a/src/mesa/main/state.c +++ b/src/mesa/main/state.c @@ -51,6 +51,16 @@ #include "texstate.h" +static void +update_separate_specular(GLcontext *ctx) +{ + if (NEED_SECONDARY_COLOR(ctx)) + ctx->_TriangleCaps |= DD_SEPARATE_SPECULAR; + else + ctx->_TriangleCaps &= ~DD_SEPARATE_SPECULAR; +} + + /** * Update state dependent on vertex arrays. */ @@ -176,7 +186,7 @@ update_program(GLcontext *ctx) ctx->FragmentProgram._Enabled = ctx->FragmentProgram.Enabled && ctx->FragmentProgram.Current->Base.Instructions; ctx->ATIFragmentShader._Enabled = ctx->ATIFragmentShader.Enabled - && ctx->ATIFragmentShader.Current->Instructions; + && ctx->ATIFragmentShader.Current->Instructions[0]; /* * Set the ctx->VertexProgram._Current and ctx->FragmentProgram._Current @@ -194,56 +204,39 @@ update_program(GLcontext *ctx) * come up, or matter. */ - /** - ** Fragment program - **/ -#if 1 - /* XXX get rid of this someday? */ - ctx->FragmentProgram._Active = GL_FALSE; -#endif + _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, NULL); + if (shProg && shProg->LinkStatus && shProg->FragmentProgram) { - /* user-defined fragment shader */ + /* Use shader programs */ _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, shProg->FragmentProgram); } else if (ctx->FragmentProgram._Enabled) { - /* use user-defined fragment program */ + /* use user-defined vertex program */ _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, ctx->FragmentProgram.Current); } else if (ctx->FragmentProgram._MaintainTexEnvProgram) { - /* fragment program generated from fixed-function state */ + /* Use fragment program generated from fixed-function state. + */ _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, _mesa_get_fixed_func_fragment_program(ctx)); _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._TexEnvProgram, ctx->FragmentProgram._Current); - - /* XXX get rid of this confusing stuff someday? */ - ctx->FragmentProgram._Active = ctx->FragmentProgram._Enabled; - if (ctx->FragmentProgram._UseTexEnvProgram) - ctx->FragmentProgram._Active = GL_TRUE; } else { /* no fragment program */ _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, NULL); } - if (ctx->FragmentProgram._Current != prevFP && ctx->Driver.BindProgram) { - ctx->Driver.BindProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, - (struct gl_program *) ctx->FragmentProgram._Current); - } - - /** - ** Vertex program - **/ -#if 1 - /* XXX get rid of this someday? */ - _mesa_reference_vertprog(ctx, &ctx->VertexProgram._TnlProgram, NULL); -#endif + /* Examine vertex program after fragment program as + * _mesa_get_fixed_func_vertex_program() needs to know active + * fragprog inputs. + */ if (shProg && shProg->LinkStatus && shProg->VertexProgram) { - /* user-defined vertex shader */ + /* Use shader programs */ _mesa_reference_vertprog(ctx, &ctx->VertexProgram._Current, - shProg->VertexProgram); + shProg->VertexProgram); } else if (ctx->VertexProgram._Enabled) { /* use user-defined vertex program */ @@ -251,20 +244,39 @@ update_program(GLcontext *ctx) ctx->VertexProgram.Current); } else if (ctx->VertexProgram._MaintainTnlProgram) { - /* vertex program generated from fixed-function state */ + /* Use vertex program generated from fixed-function state. + */ _mesa_reference_vertprog(ctx, &ctx->VertexProgram._Current, _mesa_get_fixed_func_vertex_program(ctx)); _mesa_reference_vertprog(ctx, &ctx->VertexProgram._TnlProgram, ctx->VertexProgram._Current); } else { - /* no vertex program / used fixed-function code */ + /* no vertex program */ _mesa_reference_vertprog(ctx, &ctx->VertexProgram._Current, NULL); } + /* XXX: get rid of _Active flag. + */ +#if 1 + ctx->FragmentProgram._Active = ctx->FragmentProgram._Enabled; + if (ctx->FragmentProgram._MaintainTexEnvProgram && + !ctx->FragmentProgram._Enabled) { + if (ctx->FragmentProgram._UseTexEnvProgram) + ctx->FragmentProgram._Active = GL_TRUE; + } +#endif + + /* Let the driver know what's happening: + */ + if (ctx->FragmentProgram._Current != prevFP && ctx->Driver.BindProgram) { + ctx->Driver.BindProgram(ctx, GL_FRAGMENT_PROGRAM_ARB, + (struct gl_program *) ctx->FragmentProgram._Current); + } + if (ctx->VertexProgram._Current != prevVP && ctx->Driver.BindProgram) { ctx->Driver.BindProgram(ctx, GL_VERTEX_PROGRAM_ARB, - (struct gl_program *) ctx->VertexProgram._Current); + (struct gl_program *) ctx->VertexProgram._Current); } } @@ -315,6 +327,24 @@ update_color(GLcontext *ctx) } +/* + * Check polygon state and set DD_TRI_CULL_FRONT_BACK and/or DD_TRI_OFFSET + * in ctx->_TriangleCaps if needed. + */ +static void +update_polygon(GLcontext *ctx) +{ + ctx->_TriangleCaps &= ~(DD_TRI_CULL_FRONT_BACK | DD_TRI_OFFSET); + + if (ctx->Polygon.CullFlag && ctx->Polygon.CullFaceMode == GL_FRONT_AND_BACK) + ctx->_TriangleCaps |= DD_TRI_CULL_FRONT_BACK; + + if ( ctx->Polygon.OffsetPoint + || ctx->Polygon.OffsetLine + || ctx->Polygon.OffsetFill) + ctx->_TriangleCaps |= DD_TRI_OFFSET; +} + /** * Update the ctx->_TriangleCaps bitfield. @@ -322,6 +352,7 @@ update_color(GLcontext *ctx) * This function must be called after other update_*() functions since * there are dependencies on some other derived values. */ +#if 0 static void update_tricaps(GLcontext *ctx, GLbitfield new_state) { @@ -387,6 +418,7 @@ update_tricaps(GLcontext *ctx, GLbitfield new_state) if (ctx->Stencil._TestTwoSide) ctx->_TriangleCaps |= DD_TRI_TWOSTENCIL; } +#endif /** @@ -425,6 +457,9 @@ _mesa_update_state_locked( GLcontext *ctx ) if (new_state & (_NEW_SCISSOR | _NEW_BUFFERS | _NEW_VIEWPORT)) _mesa_update_draw_buffer_bounds( ctx ); + if (new_state & _NEW_POLYGON) + update_polygon( ctx ); + if (new_state & _NEW_LIGHT) _mesa_update_lighting( ctx ); @@ -436,6 +471,9 @@ _mesa_update_state_locked( GLcontext *ctx ) _mesa_update_pixel( ctx, new_state ); #endif + if (new_state & _DD_NEW_SEPARATE_SPECULAR) + update_separate_specular( ctx ); + if (new_state & (_NEW_ARRAY | _NEW_PROGRAM)) update_arrays( ctx ); @@ -448,9 +486,11 @@ _mesa_update_state_locked( GLcontext *ctx ) if (new_state & _NEW_COLOR) update_color( ctx ); +#if 0 if (new_state & (_NEW_POINT | _NEW_LINE | _NEW_POLYGON | _NEW_LIGHT | _NEW_STENCIL | _DD_NEW_SEPARATE_SPECULAR)) update_tricaps( ctx, new_state ); +#endif /* ctx->_NeedEyeCoords is now up to date. * diff --git a/src/mesa/main/texcompress.c b/src/mesa/main/texcompress.c index 5ad936419b6..0653407048c 100644 --- a/src/mesa/main/texcompress.c +++ b/src/mesa/main/texcompress.c @@ -151,8 +151,6 @@ _mesa_compressed_texture_size( GLcontext *ctx, /* Textures smaller than 8x4 will effectively be made into 8x4 and * take 16 bytes. */ - if (size < 16) - size = 16; return size; #endif #if FEATURE_texture_s3tc @@ -166,8 +164,6 @@ _mesa_compressed_texture_size( GLcontext *ctx, /* Textures smaller than 4x4 will effectively be made into 4x4 and * take 8 bytes. */ - if (size < 8) - size = 8; return size; case MESA_FORMAT_RGBA_DXT3: case MESA_FORMAT_RGBA_DXT5: @@ -179,8 +175,6 @@ _mesa_compressed_texture_size( GLcontext *ctx, /* Textures smaller than 4x4 will effectively be made into 4x4 and * take 16 bytes. */ - if (size < 16) - size = 16; return size; #endif default: diff --git a/src/mesa/main/texcompress_fxt1.c b/src/mesa/main/texcompress_fxt1.c index 16a3ba076fd..fc151605c9e 100644 --- a/src/mesa/main/texcompress_fxt1.c +++ b/src/mesa/main/texcompress_fxt1.c @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 6.5 + * Version: 7.1 * - * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2008 Brian Paul 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"), diff --git a/src/mesa/main/texcompress_s3tc.c b/src/mesa/main/texcompress_s3tc.c index c48063d9192..4f329cdf59b 100644 --- a/src/mesa/main/texcompress_s3tc.c +++ b/src/mesa/main/texcompress_s3tc.c @@ -577,6 +577,32 @@ const struct gl_texture_format _mesa_texformat_rgb_dxt1 = { NULL /* StoreTexel */ }; +#if FEATURE_EXT_texture_sRGB +const struct gl_texture_format _mesa_texformat_srgb_dxt1 = { + MESA_FORMAT_SRGB_DXT1, /* MesaFormat */ + GL_RGB, /* BaseFormat */ + GL_UNSIGNED_NORMALIZED_ARB, /* DataType */ + 4, /*approx*/ /* RedBits */ + 4, /*approx*/ /* GreenBits */ + 4, /*approx*/ /* BlueBits */ + 0, /* AlphaBits */ + 0, /* LuminanceBits */ + 0, /* IntensityBits */ + 0, /* IndexBits */ + 0, /* DepthBits */ + 0, /* StencilBits */ + 0, /* TexelBytes */ + texstore_rgb_dxt1, /* StoreTexImageFunc */ + NULL, /*impossible*/ /* FetchTexel1D */ + fetch_texel_2d_rgb_dxt1, /* FetchTexel2D */ + NULL, /*impossible*/ /* FetchTexel3D */ + NULL, /*impossible*/ /* FetchTexel1Df */ + fetch_texel_2d_f_rgb_dxt1, /* FetchTexel2Df */ + NULL, /*impossible*/ /* FetchTexel3Df */ + NULL /* StoreTexel */ +}; +#endif + const struct gl_texture_format _mesa_texformat_rgba_dxt1 = { MESA_FORMAT_RGBA_DXT1, /* MesaFormat */ GL_RGBA, /* BaseFormat */ diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c index c279956f2a2..3cb103f51f8 100644 --- a/src/mesa/main/texenvprogram.c +++ b/src/mesa/main/texenvprogram.c @@ -28,6 +28,7 @@ #include "glheader.h" #include "macros.h" #include "enums.h" +#include "shader/program.h" #include "shader/prog_parameter.h" #include "shader/prog_cache.h" #include "shader/prog_instruction.h" @@ -36,6 +37,16 @@ #include "shader/programopt.h" #include "texenvprogram.h" + +struct texenvprog_cache_item +{ + GLuint hash; + void *key; + struct gl_fragment_program *data; + struct texenvprog_cache_item *next; +}; + + /** * Up to nine instructions per tex unit, plus fog, specular color. */ @@ -59,6 +70,7 @@ struct state_key { struct { GLuint enabled:1; GLuint source_index:3; /* one of TEXTURE_1D/2D/3D/CUBE/RECT_INDEX */ + GLuint shadow:1; GLuint ScaleShiftRGB:2; GLuint ScaleShiftA:2; @@ -285,10 +297,13 @@ static void make_state_key( GLcontext *ctx, struct state_key *key ) for (i=0;i<MAX_TEXTURE_UNITS;i++) { const struct gl_texture_unit *texUnit = &ctx->Texture.Unit[i]; - - if (!texUnit->_ReallyEnabled) + GLenum format; + + if (!texUnit->_ReallyEnabled || !texUnit->Enabled) continue; + format = texUnit->_Current->Image[0][texUnit->_Current->BaseLevel]->_BaseFormat; + key->unit[i].enabled = 1; key->enabled_units |= (1<<i); key->nr_enabled_units = i+1; @@ -296,6 +311,9 @@ static void make_state_key( GLcontext *ctx, struct state_key *key ) key->unit[i].source_index = translate_tex_src_bit(texUnit->_ReallyEnabled); + key->unit[i].shadow = ((texUnit->_Current->CompareMode == GL_COMPARE_R_TO_TEXTURE) && + ((format == GL_DEPTH_COMPONENT) || + (format == GL_DEPTH_STENCIL_EXT))); key->unit[i].NumArgsRGB = texUnit->_CurrentCombine->_NumArgsRGB; key->unit[i].NumArgsA = texUnit->_CurrentCombine->_NumArgsA; @@ -597,7 +615,7 @@ emit_op(struct texenv_fragment_program *p, { GLuint nr = p->program->Base.NumInstructions++; struct prog_instruction *inst = &p->program->Base.Instructions[nr]; - + assert(nr < MAX_INSTRUCTIONS); _mesa_init_instructions(inst, 1); @@ -1066,6 +1084,10 @@ static void load_texture( struct texenv_fragment_program *p, GLuint unit ) p->src_texture[unit] = emit_texld( p, OPCODE_TXP, tmp, WRITEMASK_XYZW, unit, dim, texcoord ); + + if (p->state->unit[unit].shadow) + p->program->Base.ShadowSamplers |= 1 << unit; + p->program->Base.SamplersUsed |= (1 << unit); /* This identity mapping should already be in place * (see _mesa_init_program_struct()) but let's be safe. @@ -1300,6 +1322,9 @@ _mesa_get_fixed_func_fragment_program(GLcontext *ctx) * If _MaintainTexEnvProgram is set we'll generate a fragment program that * implements the current texture env/combine mode. * This function generates that program and puts it into effect. + * + * XXX: remove this function. currently only called by some drivers, + * not by mesa core. We now handle this properly from inside mesa. */ void _mesa_UpdateTexEnvProgram( GLcontext *ctx ) @@ -1311,11 +1336,14 @@ _mesa_UpdateTexEnvProgram( GLcontext *ctx ) /* If a conventional fragment program/shader isn't in effect... */ if (!ctx->FragmentProgram._Enabled && (!ctx->Shader.CurrentProgram || - !ctx->Shader.CurrentProgram->FragmentProgram) ) { + !ctx->Shader.CurrentProgram->FragmentProgram) ) + { + struct gl_fragment_program *newProg; + + newProg = _mesa_get_fixed_func_fragment_program(ctx); - ctx->FragmentProgram._Current - = ctx->FragmentProgram._TexEnvProgram - = _mesa_get_fixed_func_fragment_program(ctx); + _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, newProg); + _mesa_reference_fragprog(ctx, &ctx->FragmentProgram._TexEnvProgram, newProg); } /* Tell the driver about the change. Could define a new target for diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c index 60f36c4a87f..ce2772c2992 100644 --- a/src/mesa/main/texformat.c +++ b/src/mesa/main/texformat.c @@ -1420,14 +1420,13 @@ _mesa_choose_tex_format( GLcontext *ctx, GLint internalFormat, ; /* fallthrough */ } - if (ctx->Extensions.SGIX_depth_texture || - ctx->Extensions.ARB_depth_texture) { + if (ctx->Extensions.ARB_depth_texture) { switch (internalFormat) { case GL_DEPTH_COMPONENT: - case GL_DEPTH_COMPONENT24_SGIX: - case GL_DEPTH_COMPONENT32_SGIX: + case GL_DEPTH_COMPONENT24: + case GL_DEPTH_COMPONENT32: return &_mesa_texformat_z32; - case GL_DEPTH_COMPONENT16_SGIX: + case GL_DEPTH_COMPONENT16: return &_mesa_texformat_z16; default: ; /* fallthrough */ diff --git a/src/mesa/main/texformat.h b/src/mesa/main/texformat.h index 3b6d05612dd..f34b3b8223c 100644 --- a/src/mesa/main/texformat.h +++ b/src/mesa/main/texformat.h @@ -98,6 +98,7 @@ enum _format { MESA_FORMAT_SRGBA8, MESA_FORMAT_SL8, MESA_FORMAT_SLA8, + MESA_FORMAT_SRGB_DXT1, /*@}*/ #endif @@ -173,6 +174,7 @@ extern const struct gl_texture_format _mesa_texformat_srgb8; extern const struct gl_texture_format _mesa_texformat_srgba8; extern const struct gl_texture_format _mesa_texformat_sl8; extern const struct gl_texture_format _mesa_texformat_sla8; +extern const struct gl_texture_format _mesa_texformat_srgb_dxt1; /*@}*/ #endif diff --git a/src/mesa/main/texformat_tmp.h b/src/mesa/main/texformat_tmp.h index 63939f40111..7499ba7b36e 100644 --- a/src/mesa/main/texformat_tmp.h +++ b/src/mesa/main/texformat_tmp.h @@ -1117,6 +1117,7 @@ static void FETCH(ci8)( const struct gl_texture_image *texImage, break;; default: _mesa_problem(ctx, "Bad palette format in fetch_texel_ci8"); + return; } #if CHAN_TYPE == GL_UNSIGNED_BYTE COPY_4UBV(texel, texelUB); diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c index 36557f19fd4..a5e0db736ed 100644 --- a/src/mesa/main/teximage.c +++ b/src/mesa/main/teximage.c @@ -1,8 +1,8 @@ /* - * Mesa 3-D graphics library + * mesa 3-D graphics library * Version: 7.1 * - * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2008 Brian Paul 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"), @@ -241,13 +241,12 @@ _mesa_base_tex_format( GLcontext *ctx, GLint internalFormat ) } } - if (ctx->Extensions.SGIX_depth_texture || - ctx->Extensions.ARB_depth_texture) { + if (ctx->Extensions.ARB_depth_texture) { switch (internalFormat) { case GL_DEPTH_COMPONENT: - case GL_DEPTH_COMPONENT16_SGIX: - case GL_DEPTH_COMPONENT24_SGIX: - case GL_DEPTH_COMPONENT32_SGIX: + case GL_DEPTH_COMPONENT16: + case GL_DEPTH_COMPONENT24: + case GL_DEPTH_COMPONENT32: return GL_DEPTH_COMPONENT; default: ; /* fallthrough */ @@ -389,9 +388,10 @@ _mesa_base_tex_format( GLcontext *ctx, GLint internalFormat ) * index, depth, stencil, etc). * \param format the image format value (may by an internal texture format) * \return GL_TRUE if its a color/RGBA format, GL_FALSE otherwise. + * XXX maybe move this func to image.c */ -static GLboolean -is_color_format(GLenum format) +GLboolean +_mesa_is_color_format(GLenum format) { switch (format) { case GL_RED: @@ -492,6 +492,7 @@ is_color_format(GLenum format) #endif /* FEATURE_EXT_texture_sRGB */ return GL_TRUE; case GL_YCBCR_MESA: /* not considered to be RGB */ + /* fall-through */ default: return GL_FALSE; } @@ -526,9 +527,9 @@ static GLboolean is_depth_format(GLenum format) { switch (format) { - case GL_DEPTH_COMPONENT16_ARB: - case GL_DEPTH_COMPONENT24_ARB: - case GL_DEPTH_COMPONENT32_ARB: + case GL_DEPTH_COMPONENT16: + case GL_DEPTH_COMPONENT24: + case GL_DEPTH_COMPONENT32: case GL_DEPTH_COMPONENT: return GL_TRUE; default: @@ -1243,9 +1244,9 @@ _mesa_init_teximage_fields(GLcontext *ctx, GLenum target, img->IsCompressed = GL_FALSE; img->CompressedSize = 0; - if ((width == 1 || _mesa_bitcount(img->Width2) == 1) && - (height == 1 || _mesa_bitcount(img->Height2) == 1) && - (depth == 1 || _mesa_bitcount(img->Depth2) == 1)) + if ((width == 1 || _mesa_is_pow_two(img->Width2)) && + (height == 1 || _mesa_is_pow_two(img->Height2)) && + (depth == 1 || _mesa_is_pow_two(img->Depth2))) img->_IsPowerOfTwo = GL_TRUE; else img->_IsPowerOfTwo = GL_FALSE; @@ -1316,7 +1317,7 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level, maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); if (width < 2 * border || width > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - width >0 && _mesa_bitcount(width - 2 * border) != 1) || + width >0 && !_mesa_is_pow_two(width - 2 * border)) || level >= ctx->Const.MaxTextureLevels) { /* bad width or level */ return GL_FALSE; @@ -1326,10 +1327,10 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level, maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); if (width < 2 * border || width > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - width > 0 && _mesa_bitcount(width - 2 * border) != 1) || + width > 0 && !_mesa_is_pow_two(width - 2 * border)) || height < 2 * border || height > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - height > 0 && _mesa_bitcount(height - 2 * border) != 1) || + height > 0 && !_mesa_is_pow_two(height - 2 * border)) || level >= ctx->Const.MaxTextureLevels) { /* bad width or height or level */ return GL_FALSE; @@ -1339,13 +1340,13 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level, maxSize = 1 << (ctx->Const.Max3DTextureLevels - 1); if (width < 2 * border || width > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - width > 0 && _mesa_bitcount(width - 2 * border) != 1) || + width > 0 && !_mesa_is_pow_two(width - 2 * border)) || height < 2 * border || height > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - height > 0 && _mesa_bitcount(height - 2 * border) != 1) || + height > 0 && !_mesa_is_pow_two(height - 2 * border)) || depth < 2 * border || depth > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - depth > 0 && _mesa_bitcount(depth - 2 * border) != 1) || + depth > 0 && !_mesa_is_pow_two(depth - 2 * border)) || level >= ctx->Const.Max3DTextureLevels) { /* bad width or height or depth or level */ return GL_FALSE; @@ -1363,10 +1364,10 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level, maxSize = 1 << (ctx->Const.MaxCubeTextureLevels - 1); if (width < 2 * border || width > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - width > 0 && _mesa_bitcount(width - 2 * border) != 1) || + width > 0 && !_mesa_is_pow_two(width - 2 * border)) || height < 2 * border || height > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - height > 0 && _mesa_bitcount(height - 2 * border) != 1) || + height > 0 && !_mesa_is_pow_two(height - 2 * border)) || level >= ctx->Const.MaxCubeTextureLevels) { /* bad width or height */ return GL_FALSE; @@ -1376,7 +1377,7 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level, maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); if (width < 2 * border || width > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - width > 0 && _mesa_bitcount(width - 2 * border) != 1) || + width > 0 && !_mesa_is_pow_two(width - 2 * border)) || level >= ctx->Const.MaxTextureLevels) { /* bad width or level */ return GL_FALSE; @@ -1390,10 +1391,10 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level, maxSize = 1 << (ctx->Const.MaxTextureLevels - 1); if (width < 2 * border || width > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - width > 0 && _mesa_bitcount(width - 2 * border) != 1) || + width > 0 && !_mesa_is_pow_two(width - 2 * border)) || height < 2 * border || height > 2 + maxSize || (!ctx->Extensions.ARB_texture_non_power_of_two && - height > 0 && _mesa_bitcount(height - 2 * border) != 1) || + height > 0 && !_mesa_is_pow_two(height - 2 * border)) || level >= ctx->Const.MaxTextureLevels) { /* bad width or height or level */ return GL_FALSE; @@ -1588,9 +1589,9 @@ texture_error_check( GLcontext *ctx, GLenum target, } /* make sure internal format and format basically agree */ - colorFormat = is_color_format(format); + colorFormat = _mesa_is_color_format(format); indexFormat = is_index_format(format); - if ((is_color_format(internalFormat) && !colorFormat && !indexFormat) || + if ((_mesa_is_color_format(internalFormat) && !colorFormat && !indexFormat) || (is_index_format(internalFormat) && !indexFormat) || (is_depth_format(internalFormat) != is_depth_format(format)) || (is_ycbcr_format(internalFormat) != is_ycbcr_format(format)) || @@ -2017,7 +2018,7 @@ copytexture_error_check( GLcontext *ctx, GLuint dimensions, } if (is_compressed_format(ctx, internalFormat)) { - if (target != GL_TEXTURE_2D) { + if (!target_can_be_compressed(ctx, target)) { _mesa_error(ctx, GL_INVALID_ENUM, "glCopyTexImage%d(target)", dimensions); return GL_TRUE; @@ -2052,30 +2053,20 @@ copytexture_error_check( GLcontext *ctx, GLuint dimensions, /** * Test glCopyTexSubImage[12]D() parameters for errors. + * Note that this is the first part of error checking. + * See also copytexsubimage_error_check2() below for the second part. * * \param ctx GL context. * \param dimensions texture image dimensions (must be 1, 2 or 3). * \param target texture target given by the user. * \param level image level given by the user. - * \param xoffset sub-image x offset given by the user. - * \param yoffset sub-image y offset given by the user. - * \param zoffset sub-image z offset given by the user. - * \param width image width given by the user. - * \param height image height given by the user. * * \return GL_TRUE if an error was detected, or GL_FALSE if no errors. - * - * Verifies each of the parameters against the constants specified in - * __GLcontextRec::Const and the supported extensions, and according to the - * OpenGL specification. */ static GLboolean -copytexsubimage_error_check( GLcontext *ctx, GLuint dimensions, - GLenum target, GLint level, - GLint xoffset, GLint yoffset, GLint zoffset, - GLsizei width, GLsizei height) +copytexsubimage_error_check1( GLcontext *ctx, GLuint dimensions, + GLenum target, GLint level) { - /* Check target */ /* Check that the source buffer is complete */ if (ctx->ReadBuffer->Name) { _mesa_test_framebuffer_completeness(ctx, ctx->ReadBuffer); @@ -2086,6 +2077,7 @@ copytexsubimage_error_check( GLcontext *ctx, GLuint dimensions, } } + /* Check target */ if (dimensions == 1) { if (target != GL_TEXTURE_1D) { _mesa_error( ctx, GL_INVALID_ENUM, "glCopyTexSubImage1D(target)" ); @@ -2133,21 +2125,18 @@ copytexsubimage_error_check( GLcontext *ctx, GLuint dimensions, return GL_TRUE; } - /* Check size */ - if (width < 0) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glCopyTexSubImage%dD(width=%d)", dimensions, width); - return GL_TRUE; - } - if (dimensions > 1 && height < 0) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glCopyTexSubImage%dD(height=%d)", dimensions, height); - return GL_TRUE; - } - return GL_FALSE; } + +/** + * Second part of error checking for glCopyTexSubImage[12]D(). + * \param xoffset sub-image x offset given by the user. + * \param yoffset sub-image y offset given by the user. + * \param zoffset sub-image z offset given by the user. + * \param width image width given by the user. + * \param height image height given by the user. + */ static GLboolean copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions, GLenum target, GLint level, @@ -2155,6 +2144,7 @@ copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions, GLsizei width, GLsizei height, const struct gl_texture_image *teximage ) { + /* check that dest tex image exists */ if (!teximage) { _mesa_error(ctx, GL_INVALID_OPERATION, "glCopyTexSubImage%dD(undefined texture level: %d)", @@ -2162,6 +2152,19 @@ copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions, return GL_TRUE; } + /* Check size */ + if (width < 0) { + _mesa_error(ctx, GL_INVALID_VALUE, + "glCopyTexSubImage%dD(width=%d)", dimensions, width); + return GL_TRUE; + } + if (dimensions > 1 && height < 0) { + _mesa_error(ctx, GL_INVALID_VALUE, + "glCopyTexSubImage%dD(height=%d)", dimensions, height); + return GL_TRUE; + } + + /* check x/y offsets */ if (xoffset < -((GLint)teximage->Border)) { _mesa_error(ctx, GL_INVALID_VALUE, "glCopyTexSubImage%dD(xoffset=%d)", dimensions, xoffset); @@ -2186,6 +2189,7 @@ copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions, } } + /* check z offset */ if (dimensions > 2) { if (zoffset < -((GLint)teximage->Border)) { _mesa_error(ctx, GL_INVALID_VALUE, @@ -2200,7 +2204,7 @@ copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions, } if (teximage->IsCompressed) { - if (target != GL_TEXTURE_2D) { + if (!target_can_be_compressed(ctx, target)) { _mesa_error(ctx, GL_INVALID_ENUM, "glCopyTexSubImage%d(target)", dimensions); return GL_TRUE; @@ -2308,8 +2312,7 @@ _mesa_GetTexImage( GLenum target, GLint level, GLenum format, return; } - if (!ctx->Extensions.SGIX_depth_texture && - !ctx->Extensions.ARB_depth_texture && is_depth_format(format)) { + if (!ctx->Extensions.ARB_depth_texture && is_depth_format(format)) { _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)"); return; } @@ -2338,8 +2341,8 @@ _mesa_GetTexImage( GLenum target, GLint level, GLenum format, * texture's format. Note that a color index texture can be converted * to RGBA so that combo is allowed. */ - if (is_color_format(format) - && !is_color_format(texImage->TexFormat->BaseFormat) + if (_mesa_is_color_format(format) + && !_mesa_is_color_format(texImage->TexFormat->BaseFormat) && !is_index_format(texImage->TexFormat->BaseFormat)) { _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)"); goto out; @@ -2432,7 +2435,7 @@ _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat, ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); #if FEATURE_convolve - if (is_color_format(internalFormat)) { + if (_mesa_is_color_format(internalFormat)) { _mesa_adjust_image_for_convolution(ctx, 1, &postConvWidth, NULL); } #endif @@ -2529,7 +2532,7 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat, ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); #if FEATURE_convolve - if (is_color_format(internalFormat)) { + if (_mesa_is_color_format(internalFormat)) { _mesa_adjust_image_for_convolution(ctx, 2, &postConvWidth, &postConvHeight); } @@ -2711,8 +2714,8 @@ _mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat, } else { /* no error, set the tex image parameters */ - _mesa_init_teximage_fields(ctx, target, texImage, width, height, 1, - border, internalFormat); + _mesa_init_teximage_fields(ctx, target, texImage, width, height, + depth, border, internalFormat); texImage->TexFormat = (*ctx->Driver.ChooseTextureFormat)(ctx, internalFormat, format, type); } @@ -2754,7 +2757,7 @@ _mesa_TexSubImage1D( GLenum target, GLint level, #if FEATURE_convolve /* XXX should test internal format */ - if (is_color_format(format)) { + if (_mesa_is_color_format(format)) { _mesa_adjust_image_for_convolution(ctx, 1, &postConvWidth, NULL); } #endif @@ -2814,7 +2817,7 @@ _mesa_TexSubImage2D( GLenum target, GLint level, #if FEATURE_convolve /* XXX should test internal format */ - if (is_color_format(format)) { + if (_mesa_is_color_format(format)) { _mesa_adjust_image_for_convolution(ctx, 2, &postConvWidth, &postConvHeight); } @@ -2929,7 +2932,7 @@ _mesa_CopyTexImage1D( GLenum target, GLint level, _mesa_update_state(ctx); #if FEATURE_convolve - if (is_color_format(internalFormat)) { + if (_mesa_is_color_format(internalFormat)) { _mesa_adjust_image_for_convolution(ctx, 1, &postConvWidth, NULL); } #endif @@ -2994,11 +2997,12 @@ _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat, _mesa_update_state(ctx); #if FEATURE_convolve - if (is_color_format(internalFormat)) { + if (_mesa_is_color_format(internalFormat)) { _mesa_adjust_image_for_convolution(ctx, 2, &postConvWidth, &postConvHeight); } #endif + if (copytexture_error_check(ctx, 2, target, level, internalFormat, postConvWidth, postConvHeight, border)) return; @@ -3060,13 +3064,7 @@ _mesa_CopyTexSubImage1D( GLenum target, GLint level, if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE) _mesa_update_state(ctx); -#if FEATURE_convolve - /* XXX should test internal format */ - _mesa_adjust_image_for_convolution(ctx, 1, &postConvWidth, NULL); -#endif - - if (copytexsubimage_error_check(ctx, 1, target, level, - xoffset, 0, 0, postConvWidth, 1)) + if (copytexsubimage_error_check1(ctx, 1, target, level)) return; texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; @@ -3076,6 +3074,12 @@ _mesa_CopyTexSubImage1D( GLenum target, GLint level, { texImage = _mesa_select_tex_image(ctx, texObj, target, level); +#if FEATURE_convolve + if (texImage && _mesa_is_color_format(texImage->InternalFormat)) { + _mesa_adjust_image_for_convolution(ctx, 1, &postConvWidth, NULL); + } +#endif + if (copytexsubimage_error_check2(ctx, 1, target, level, xoffset, 0, 0, postConvWidth, 1, texImage)) @@ -3115,13 +3119,7 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level, if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE) _mesa_update_state(ctx); -#if FEATURE_convolve - /* XXX should test internal format */ - _mesa_adjust_image_for_convolution(ctx, 2, &postConvWidth, &postConvHeight); -#endif - - if (copytexsubimage_error_check(ctx, 2, target, level, xoffset, yoffset, 0, - postConvWidth, postConvHeight)) + if (copytexsubimage_error_check1(ctx, 2, target, level)) return; texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; @@ -3131,6 +3129,13 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level, { texImage = _mesa_select_tex_image(ctx, texObj, target, level); +#if FEATURE_convolve + if (texImage && _mesa_is_color_format(texImage->InternalFormat)) { + _mesa_adjust_image_for_convolution(ctx, 2, + &postConvWidth, &postConvHeight); + } +#endif + if (copytexsubimage_error_check2(ctx, 2, target, level, xoffset, yoffset, 0, postConvWidth, postConvHeight, texImage)) goto out; @@ -3169,13 +3174,7 @@ _mesa_CopyTexSubImage3D( GLenum target, GLint level, if (ctx->NewState & _IMAGE_NEW_TRANSFER_STATE) _mesa_update_state(ctx); -#if FEATURE_convolve - /* XXX should test internal format */ - _mesa_adjust_image_for_convolution(ctx, 2, &postConvWidth, &postConvHeight); -#endif - - if (copytexsubimage_error_check(ctx, 3, target, level, xoffset, yoffset, - zoffset, postConvWidth, postConvHeight)) + if (copytexsubimage_error_check1(ctx, 3, target, level)) return; texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit]; @@ -3185,6 +3184,13 @@ _mesa_CopyTexSubImage3D( GLenum target, GLint level, { texImage = _mesa_select_tex_image(ctx, texObj, target, level); +#if FEATURE_convolve + if (texImage && _mesa_is_color_format(texImage->InternalFormat)) { + _mesa_adjust_image_for_convolution(ctx, 2, + &postConvWidth, &postConvHeight); + } +#endif + if (copytexsubimage_error_check2(ctx, 3, target, level, xoffset, yoffset, zoffset, postConvWidth, postConvHeight, texImage)) @@ -3278,16 +3284,16 @@ compressed_texture_error_check(GLcontext *ctx, GLint dimensions, * XXX We should probably use the proxy texture error check function here. */ if (width < 1 || width > maxTextureSize || - (!ctx->Extensions.ARB_texture_non_power_of_two && _mesa_bitcount(width) != 1)) + (!ctx->Extensions.ARB_texture_non_power_of_two && !_mesa_is_pow_two(width))) return GL_INVALID_VALUE; if ((height < 1 || height > maxTextureSize || - (!ctx->Extensions.ARB_texture_non_power_of_two && _mesa_bitcount(height) != 1)) + (!ctx->Extensions.ARB_texture_non_power_of_two && !_mesa_is_pow_two(height))) && dimensions > 1) return GL_INVALID_VALUE; if ((depth < 1 || depth > maxTextureSize || - (!ctx->Extensions.ARB_texture_non_power_of_two && _mesa_bitcount(depth) != 1)) + (!ctx->Extensions.ARB_texture_non_power_of_two && !_mesa_is_pow_two(depth))) && dimensions > 2) return GL_INVALID_VALUE; diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h index b718c0046d8..eb60a1fa8fa 100644 --- a/src/mesa/main/teximage.h +++ b/src/mesa/main/teximage.h @@ -111,6 +111,9 @@ extern GLuint _mesa_tex_target_to_face(GLenum target); +extern GLboolean +_mesa_is_color_format(GLenum format); + /** * Lock a texture for updating. See also _mesa_lock_context_textures(). diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c index 3f3b448dbc6..a9e752a6371 100644 --- a/src/mesa/main/texparam.c +++ b/src/mesa/main/texparam.c @@ -324,6 +324,7 @@ _mesa_TexParameterfv( GLenum target, GLenum pname, const GLfloat *params ) break; case GL_GENERATE_MIPMAP_SGIS: if (ctx->Extensions.SGIS_generate_mipmap) { + FLUSH_VERTICES(ctx, _NEW_TEXTURE); texObj->GenerateMipmap = params[0] ? GL_TRUE : GL_FALSE; } else { @@ -641,8 +642,7 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level, *params = 0; break; case GL_TEXTURE_DEPTH_SIZE_ARB: - if (ctx->Extensions.SGIX_depth_texture || - ctx->Extensions.ARB_depth_texture) + if (ctx->Extensions.ARB_depth_texture) *params = img->TexFormat->DepthBits; else _mesa_error(ctx, GL_INVALID_ENUM, @@ -902,9 +902,9 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ) #ifdef FEATURE_OES_draw_texture case GL_TEXTURE_CROP_RECT_OES: params[0] = obj->CropRect[0]; - params[0] = obj->CropRect[1]; - params[0] = obj->CropRect[2]; - params[0] = obj->CropRect[3]; + params[1] = obj->CropRect[1]; + params[2] = obj->CropRect[2]; + params[3] = obj->CropRect[3]; break; #endif default: @@ -1052,9 +1052,9 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params ) #ifdef FEATURE_OES_draw_texture case GL_TEXTURE_CROP_RECT_OES: params[0] = obj->CropRect[0]; - params[0] = obj->CropRect[1]; - params[0] = obj->CropRect[2]; - params[0] = obj->CropRect[3]; + params[1] = obj->CropRect[1]; + params[2] = obj->CropRect[2]; + params[3] = obj->CropRect[3]; break; #endif default: diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c index 20f9c4512c4..f0193770412 100644 --- a/src/mesa/main/texstate.c +++ b/src/mesa/main/texstate.c @@ -118,20 +118,20 @@ _mesa_copy_texture_state( const GLcontext *src, GLcontext *dst ) /* copy texture object bindings, not contents of texture objects */ _mesa_lock_context_textures(dst); - _mesa_reference_texobj(&dst->Texture.Unit[i].Current1D, - src->Texture.Unit[i].Current1D); - _mesa_reference_texobj(&dst->Texture.Unit[i].Current2D, - src->Texture.Unit[i].Current2D); - _mesa_reference_texobj(&dst->Texture.Unit[i].Current3D, - src->Texture.Unit[i].Current3D); - _mesa_reference_texobj(&dst->Texture.Unit[i].CurrentCubeMap, - src->Texture.Unit[i].CurrentCubeMap); - _mesa_reference_texobj(&dst->Texture.Unit[i].CurrentRect, - src->Texture.Unit[i].CurrentRect); - _mesa_reference_texobj(&dst->Texture.Unit[i].Current1DArray, - src->Texture.Unit[i].Current1DArray); - _mesa_reference_texobj(&dst->Texture.Unit[i].Current2DArray, - src->Texture.Unit[i].Current2DArray); + _mesa_reference_texobj(&dst->Texture.Unit[i].Current1D, + src->Texture.Unit[i].Current1D); + _mesa_reference_texobj(&dst->Texture.Unit[i].Current2D, + src->Texture.Unit[i].Current2D); + _mesa_reference_texobj(&dst->Texture.Unit[i].Current3D, + src->Texture.Unit[i].Current3D); + _mesa_reference_texobj(&dst->Texture.Unit[i].CurrentCubeMap, + src->Texture.Unit[i].CurrentCubeMap); + _mesa_reference_texobj(&dst->Texture.Unit[i].CurrentRect, + src->Texture.Unit[i].CurrentRect); + _mesa_reference_texobj(&dst->Texture.Unit[i].Current1DArray, + src->Texture.Unit[i].Current1DArray); + _mesa_reference_texobj(&dst->Texture.Unit[i].Current2DArray, + src->Texture.Unit[i].Current2DArray); _mesa_unlock_context_textures(dst); } @@ -608,6 +608,24 @@ update_texture_state( GLcontext *ctx ) _mesa_problem(ctx, "invalid Alpha combine mode in update_texture_state"); break; } + } + + /* Determine which texture coordinate sets are actually needed */ + if (fprog) { + const GLuint coordMask = (1 << MAX_TEXTURE_COORD_UNITS) - 1; + ctx->Texture._EnabledCoordUnits + = (fprog->Base.InputsRead >> FRAG_ATTRIB_TEX0) & coordMask; + } + else { + ctx->Texture._EnabledCoordUnits = ctx->Texture._EnabledUnits; + } + + /* Setup texgen for those texture coordinate sets that are in use */ + for (unit = 0; unit < ctx->Const.MaxTextureUnits; unit++) { + struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit]; + + if (!(ctx->Texture._EnabledCoordUnits & (1 << unit))) + continue; if (texUnit->TexGenEnabled) { if (texUnit->TexGenEnabled & S_BIT) { @@ -630,16 +648,6 @@ update_texture_state( GLcontext *ctx ) if (ctx->TextureMatrixStack[unit].Top->type != MATRIX_IDENTITY) ctx->Texture._TexMatEnabled |= ENABLE_TEXMAT(unit); } - - /* Determine which texture coordinate sets are actually needed */ - if (fprog) { - const GLuint coordMask = (1 << MAX_TEXTURE_COORD_UNITS) - 1; - ctx->Texture._EnabledCoordUnits - = (fprog->Base.InputsRead >> FRAG_ATTRIB_TEX0) & coordMask; - } - else { - ctx->Texture._EnabledCoordUnits = ctx->Texture._EnabledUnits; - } } @@ -811,7 +819,6 @@ _mesa_free_texture_data(GLcontext *ctx) for (tgt = 0; tgt < NUM_TEXTURE_TARGETS; tgt++) ctx->Driver.DeleteTexture(ctx, ctx->Texture.ProxyTex[tgt]); - #if FEATURE_colortable { GLuint i; @@ -820,3 +827,27 @@ _mesa_free_texture_data(GLcontext *ctx) } #endif } + + +/** + * Update the default texture objects in the given context to reference those + * specified in the shared state and release those referencing the old + * shared state. + */ +void +_mesa_update_default_objects_texture(GLcontext *ctx) +{ + GLuint i; + + for (i = 0; i < MAX_TEXTURE_UNITS; i++) { + struct gl_texture_unit *texUnit = &ctx->Texture.Unit[i]; + + _mesa_reference_texobj(&texUnit->Current1D, ctx->Shared->Default1D); + _mesa_reference_texobj(&texUnit->Current2D, ctx->Shared->Default2D); + _mesa_reference_texobj(&texUnit->Current3D, ctx->Shared->Default3D); + _mesa_reference_texobj(&texUnit->CurrentCubeMap, ctx->Shared->DefaultCubeMap); + _mesa_reference_texobj(&texUnit->CurrentRect, ctx->Shared->DefaultRect); + _mesa_reference_texobj(&texUnit->Current1DArray, ctx->Shared->Default1DArray); + _mesa_reference_texobj(&texUnit->Current2DArray, ctx->Shared->Default2DArray); + } +} diff --git a/src/mesa/main/texstate.h b/src/mesa/main/texstate.h index b5003d5d6ec..a7d7088c621 100644 --- a/src/mesa/main/texstate.h +++ b/src/mesa/main/texstate.h @@ -73,6 +73,9 @@ _mesa_init_texture( GLcontext *ctx ); extern void _mesa_free_texture_data( GLcontext *ctx ); +extern void +_mesa_update_default_objects_texture(GLcontext *ctx); + /*@}*/ #endif diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c index 0fd6a2daae2..7278180a5cc 100644 --- a/src/mesa/main/texstore.c +++ b/src/mesa/main/texstore.c @@ -1,6 +1,6 @@ /* * Mesa 3-D graphics library - * Version: 7.1 + * Version: 7.3 * * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. * @@ -1536,10 +1536,10 @@ _mesa_texstore_argb8888(TEXSTORE_PARAMS) for (row = 0; row < srcHeight; row++) { GLuint *d4 = (GLuint *) dstRow; for (col = 0; col < srcWidth; col++) { - d4[col] = ((0xff << 24) | - (srcRow[col * 3 + RCOMP] << 16) | - (srcRow[col * 3 + GCOMP] << 8) | - (srcRow[col * 3 + BCOMP] << 0)); + d4[col] = PACK_COLOR_8888(0xff, + srcRow[col * 3 + RCOMP], + srcRow[col * 3 + GCOMP], + srcRow[col * 3 + BCOMP]); } dstRow += dstRowStride; srcRow += srcRowStride; @@ -1551,8 +1551,7 @@ _mesa_texstore_argb8888(TEXSTORE_PARAMS) dstFormat == &_mesa_texformat_argb8888 && srcFormat == GL_RGBA && baseInternalFormat == GL_RGBA && - srcType == GL_UNSIGNED_BYTE && - littleEndian) { + srcType == GL_UNSIGNED_BYTE) { /* same as above case, but src data has alpha too */ GLint img, row, col; /* For some reason, streaming copies to write-combined regions @@ -1573,39 +1572,10 @@ _mesa_texstore_argb8888(TEXSTORE_PARAMS) for (row = 0; row < srcHeight; row++) { GLuint *d4 = (GLuint *) dstRow; for (col = 0; col < srcWidth; col++) { - d4[col] = ((srcRow[col * 4 + ACOMP] << 24) | - (srcRow[col * 4 + RCOMP] << 16) | - (srcRow[col * 4 + GCOMP] << 8) | - (srcRow[col * 4 + BCOMP] << 0)); - } - dstRow += dstRowStride; - srcRow += srcRowStride; - } - } - } - else if (!ctx->_ImageTransferState && - !srcPacking->SwapBytes && - dstFormat == &_mesa_texformat_argb8888 && - srcFormat == GL_RGBA && - baseInternalFormat == GL_RGBA && - srcType == GL_UNSIGNED_BYTE) { - - GLint img, row, col; - for (img = 0; img < srcDepth; img++) { - const GLint srcRowStride = _mesa_image_row_stride(srcPacking, - srcWidth, srcFormat, srcType); - GLubyte *srcRow = (GLubyte *) _mesa_image_address(dims, srcPacking, - srcAddr, srcWidth, srcHeight, srcFormat, srcType, img, 0, 0); - GLubyte *dstRow = (GLubyte *) dstAddr - + dstImageOffsets[dstZoffset + img] * dstFormat->TexelBytes - + dstYoffset * dstRowStride - + dstXoffset * dstFormat->TexelBytes; - for (row = 0; row < srcHeight; row++) { - for (col = 0; col < srcWidth; col++) { - dstRow[col * 4 + 0] = srcRow[col * 4 + BCOMP]; - dstRow[col * 4 + 1] = srcRow[col * 4 + GCOMP]; - dstRow[col * 4 + 2] = srcRow[col * 4 + RCOMP]; - dstRow[col * 4 + 3] = srcRow[col * 4 + ACOMP]; + d4[col] = PACK_COLOR_8888(srcRow[col * 4 + ACOMP], + srcRow[col * 4 + RCOMP], + srcRow[col * 4 + GCOMP], + srcRow[col * 4 + BCOMP]); } dstRow += dstRowStride; srcRow += srcRowStride; @@ -3018,10 +2988,13 @@ choose_texture_format(GLcontext *ctx, struct gl_texture_image *texImage, -/* +/** * This is the software fallback for Driver.TexImage1D() * and Driver.CopyTexImage1D(). * \sa _mesa_store_teximage2d() + * Note that the width may not be the actual texture width since it may + * be changed by convolution w/ GL_REDUCE. The texImage->Width field will + * have the actual texture size. */ void _mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level, @@ -3032,21 +3005,16 @@ _mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level, struct gl_texture_object *texObj, struct gl_texture_image *texImage) { - GLint postConvWidth = width; GLint sizeInBytes; (void) border; - if (ctx->_ImageTransferState & IMAGE_CONVOLUTION_BIT) { - _mesa_adjust_image_for_convolution(ctx, 1, &postConvWidth, NULL); - } - choose_texture_format(ctx, texImage, 1, format, type, internalFormat); /* allocate memory */ if (texImage->IsCompressed) sizeInBytes = texImage->CompressedSize; else - sizeInBytes = postConvWidth * texImage->TexFormat->TexelBytes; + sizeInBytes = texImage->Width * texImage->TexFormat->TexelBytes; texImage->Data = _mesa_alloc_texmemory(sizeInBytes); if (!texImage->Data) { _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage1D"); @@ -3106,15 +3074,9 @@ _mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level, struct gl_texture_object *texObj, struct gl_texture_image *texImage) { - GLint postConvWidth = width, postConvHeight = height; GLint texelBytes, sizeInBytes; (void) border; - if (ctx->_ImageTransferState & IMAGE_CONVOLUTION_BIT) { - _mesa_adjust_image_for_convolution(ctx, 2, &postConvWidth, - &postConvHeight); - } - choose_texture_format(ctx, texImage, 2, format, type, internalFormat); texelBytes = texImage->TexFormat->TexelBytes; @@ -3123,7 +3085,7 @@ _mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level, if (texImage->IsCompressed) sizeInBytes = texImage->CompressedSize; else - sizeInBytes = postConvWidth * postConvHeight * texelBytes; + sizeInBytes = texImage->Width * texImage->Height * texelBytes; texImage->Data = _mesa_alloc_texmemory(sizeInBytes); if (!texImage->Data) { _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage2D"); @@ -3757,6 +3719,14 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level, /* general case: convert row to RGBA format */ GLfloat rgba[MAX_WIDTH][4]; GLint col; + GLbitfield transferOps = 0x0; + + if (type == GL_FLOAT && + ((ctx->Color.ClampReadColor == GL_TRUE) || + (ctx->Color.ClampReadColor == GL_FIXED_ONLY_ARB && + texImage->TexFormat->DataType != GL_FLOAT))) + transferOps |= IMAGE_CLAMP_BIT; + for (col = 0; col < width; col++) { (*texImage->FetchTexelf)(texImage, col, row, img, rgba[col]); if (texImage->TexFormat->BaseFormat == GL_ALPHA) { @@ -3781,7 +3751,7 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level, } _mesa_pack_rgba_span_float(ctx, width, (GLfloat (*)[4]) rgba, format, type, dest, - &ctx->Pack, 0x0 /*image xfer ops*/); + &ctx->Pack, transferOps /*image xfer ops*/); } /* format */ } /* row */ } /* img */ @@ -3802,8 +3772,8 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level, void _mesa_get_compressed_teximage(GLcontext *ctx, GLenum target, GLint level, GLvoid *img, - const struct gl_texture_object *texObj, - const struct gl_texture_image *texImage) + struct gl_texture_object *texObj, + struct gl_texture_image *texImage) { GLuint size; diff --git a/src/mesa/main/texstore.h b/src/mesa/main/texstore.h index c5813fbeeec..c9edf14dbc5 100644 --- a/src/mesa/main/texstore.h +++ b/src/mesa/main/texstore.h @@ -215,8 +215,8 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level, extern void _mesa_get_compressed_teximage(GLcontext *ctx, GLenum target, GLint level, GLvoid *img, - const struct gl_texture_object *texObj, - const struct gl_texture_image *texImage); + struct gl_texture_object *texObj, + struct gl_texture_image *texImage); extern const GLvoid * _mesa_validate_pbo_teximage(GLcontext *ctx, GLuint dimensions, diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c index 9f1fcd9d262..9d9b28b5189 100644 --- a/src/mesa/main/varray.c +++ b/src/mesa/main/varray.c @@ -499,7 +499,7 @@ void GLAPIENTRY _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type, GLsizei stride, const GLvoid *ptr) { - const GLboolean normalized = GL_FALSE; + GLboolean normalized = GL_FALSE; GLsizei elementSize; GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END(ctx); @@ -527,6 +527,7 @@ _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type, /* check for valid 'type' and compute StrideB right away */ switch (type) { case GL_UNSIGNED_BYTE: + normalized = GL_TRUE; elementSize = size * sizeof(GLubyte); break; case GL_SHORT: @@ -865,16 +866,22 @@ _mesa_LockArraysEXT(GLint first, GLsizei count) if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(ctx, "glLockArrays %d %d\n", first, count); - if (first == 0 && count > 0 && - count <= (GLint) ctx->Const.MaxArrayLockSize) { - ctx->Array.LockFirst = first; - ctx->Array.LockCount = count; + if (first < 0) { + _mesa_error( ctx, GL_INVALID_VALUE, "glLockArraysEXT(first)" ); + return; } - else { - ctx->Array.LockFirst = 0; - ctx->Array.LockCount = 0; + if (count <= 0) { + _mesa_error( ctx, GL_INVALID_VALUE, "glLockArraysEXT(count)" ); + return; + } + if (ctx->Array.LockCount != 0) { + _mesa_error( ctx, GL_INVALID_OPERATION, "glLockArraysEXT(reentry)" ); + return; } + ctx->Array.LockFirst = first; + ctx->Array.LockCount = count; + ctx->NewState |= _NEW_ARRAY; ctx->Array.NewState |= _NEW_ARRAY_ALL; @@ -892,6 +899,11 @@ _mesa_UnlockArraysEXT( void ) if (MESA_VERBOSE & VERBOSE_API) _mesa_debug(ctx, "glUnlockArrays\n"); + if (ctx->Array.LockCount == 0) { + _mesa_error( ctx, GL_INVALID_OPERATION, "glUnlockArraysEXT(reexit)" ); + return; + } + ctx->Array.LockFirst = 0; ctx->Array.LockCount = 0; ctx->NewState |= _NEW_ARRAY; diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h index f557940738e..97d5c8219d0 100644 --- a/src/mesa/main/varray.h +++ b/src/mesa/main/varray.h @@ -150,6 +150,11 @@ _mesa_MultiModeDrawElementsIBM( const GLenum * mode, const GLsizei * count, GLenum type, const GLvoid * const * indices, GLsizei primcount, GLint modestride ); +extern void GLAPIENTRY +_mesa_LockArraysEXT(GLint first, GLsizei count); + +extern void GLAPIENTRY +_mesa_UnlockArraysEXT( void ); extern void GLAPIENTRY diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h index 9229077f42c..81034a35d1e 100644 --- a/src/mesa/main/version.h +++ b/src/mesa/main/version.h @@ -1,8 +1,8 @@ /* * Mesa 3-D graphics library - * Version: 7.1 + * Version: 7.3 * - * Copyright (C) 1999-2007 Brian Paul All Rights Reserved. + * Copyright (C) 1999-2008 Brian Paul 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"), @@ -29,9 +29,9 @@ /* Mesa version */ #define MESA_MAJOR 7 -#define MESA_MINOR 1 +#define MESA_MINOR 3 #define MESA_PATCH 0 -#define MESA_VERSION_STRING "7.1" +#define MESA_VERSION_STRING "7.3-devel" /* To make version comparison easy */ #define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c)) |