summaryrefslogtreecommitdiff
path: root/src/mesa/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/api_arrayelt.c39
-rw-r--r--src/mesa/main/api_exec.c3
-rw-r--r--src/mesa/main/api_noop.c16
-rw-r--r--src/mesa/main/api_validate.c91
-rw-r--r--src/mesa/main/arrayobj.c223
-rw-r--r--src/mesa/main/arrayobj.h24
-rw-r--r--src/mesa/main/attrib.c122
-rw-r--r--src/mesa/main/bufferobj.c274
-rw-r--r--src/mesa/main/bufferobj.h15
-rw-r--r--src/mesa/main/buffers.c2
-rw-r--r--src/mesa/main/config.h9
-rw-r--r--src/mesa/main/context.c53
-rw-r--r--src/mesa/main/context.h6
-rw-r--r--src/mesa/main/dd.h8
-rw-r--r--src/mesa/main/debug.c111
-rw-r--r--src/mesa/main/debug.h9
-rw-r--r--src/mesa/main/dlist.c55
-rw-r--r--src/mesa/main/enable.c10
-rw-r--r--src/mesa/main/enums.c5296
-rw-r--r--src/mesa/main/extensions.c116
-rw-r--r--src/mesa/main/fbobject.c36
-rw-r--r--src/mesa/main/ffvertex_prog.c19
-rw-r--r--src/mesa/main/get.c12
-rw-r--r--src/mesa/main/get_gen.py6
-rw-r--r--src/mesa/main/glheader.h5
-rw-r--r--src/mesa/main/hash.c18
-rw-r--r--src/mesa/main/histogram.c7
-rw-r--r--src/mesa/main/image.c40
-rw-r--r--src/mesa/main/imports.c45
-rw-r--r--src/mesa/main/matrix.c12
-rw-r--r--src/mesa/main/mfeatures.h1
-rw-r--r--src/mesa/main/mipmap.c10
-rw-r--r--src/mesa/main/mtypes.h68
-rw-r--r--src/mesa/main/pixel.c14
-rw-r--r--src/mesa/main/pixelstore.c9
-rw-r--r--src/mesa/main/queryobj.c16
-rw-r--r--src/mesa/main/queryobj.h3
-rw-r--r--src/mesa/main/shaders.c27
-rw-r--r--src/mesa/main/shared.c16
-rw-r--r--src/mesa/main/state.c166
-rw-r--r--src/mesa/main/texcompress_s3tc.c16
-rw-r--r--src/mesa/main/texenvprogram.c3
-rw-r--r--src/mesa/main/teximage.c21
-rw-r--r--src/mesa/main/texobj.c68
-rw-r--r--src/mesa/main/texobj.h3
-rw-r--r--src/mesa/main/texparam.c22
-rw-r--r--src/mesa/main/texrender.c1
-rw-r--r--src/mesa/main/texstate.c18
-rw-r--r--src/mesa/main/texstore.c39
-rw-r--r--src/mesa/main/varray.c113
-rw-r--r--src/mesa/main/varray.h17
-rw-r--r--src/mesa/main/version.h7
52 files changed, 4204 insertions, 3136 deletions
diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c
index d124c724c9..f5b7d1e138 100644
--- a/src/mesa/main/api_arrayelt.c
+++ b/src/mesa/main/api_arrayelt.c
@@ -1094,48 +1094,49 @@ static void _ae_update_state( GLcontext *ctx )
AEarray *aa = actx->arrays;
AEattrib *at = actx->attribs;
GLuint i;
+ struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
actx->nr_vbos = 0;
/* conventional vertex arrays */
- if (ctx->Array.ArrayObj->Index.Enabled) {
- aa->array = &ctx->Array.ArrayObj->Index;
+ if (arrayObj->Index.Enabled) {
+ aa->array = &arrayObj->Index;
aa->offset = IndexFuncs[TYPE_IDX(aa->array->Type)];
check_vbo(actx, aa->array->BufferObj);
aa++;
}
- if (ctx->Array.ArrayObj->EdgeFlag.Enabled) {
- aa->array = &ctx->Array.ArrayObj->EdgeFlag;
+ if (arrayObj->EdgeFlag.Enabled) {
+ aa->array = &arrayObj->EdgeFlag;
aa->offset = _gloffset_EdgeFlagv;
check_vbo(actx, aa->array->BufferObj);
aa++;
}
- if (ctx->Array.ArrayObj->Normal.Enabled) {
- aa->array = &ctx->Array.ArrayObj->Normal;
+ if (arrayObj->Normal.Enabled) {
+ aa->array = &arrayObj->Normal;
aa->offset = NormalFuncs[TYPE_IDX(aa->array->Type)];
check_vbo(actx, aa->array->BufferObj);
aa++;
}
- if (ctx->Array.ArrayObj->Color.Enabled) {
- aa->array = &ctx->Array.ArrayObj->Color;
+ if (arrayObj->Color.Enabled) {
+ aa->array = &arrayObj->Color;
aa->offset = ColorFuncs[aa->array->Size-3][TYPE_IDX(aa->array->Type)];
check_vbo(actx, aa->array->BufferObj);
aa++;
}
- if (ctx->Array.ArrayObj->SecondaryColor.Enabled) {
- aa->array = &ctx->Array.ArrayObj->SecondaryColor;
+ if (arrayObj->SecondaryColor.Enabled) {
+ aa->array = &arrayObj->SecondaryColor;
aa->offset = SecondaryColorFuncs[TYPE_IDX(aa->array->Type)];
check_vbo(actx, aa->array->BufferObj);
aa++;
}
- if (ctx->Array.ArrayObj->FogCoord.Enabled) {
- aa->array = &ctx->Array.ArrayObj->FogCoord;
+ if (arrayObj->FogCoord.Enabled) {
+ aa->array = &arrayObj->FogCoord;
aa->offset = FogCoordFuncs[TYPE_IDX(aa->array->Type)];
check_vbo(actx, aa->array->BufferObj);
aa++;
}
for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++) {
- struct gl_client_array *attribArray = &ctx->Array.ArrayObj->TexCoord[i];
+ struct gl_client_array *attribArray = &arrayObj->TexCoord[i];
if (attribArray->Enabled) {
/* NOTE: we use generic glVertexAttribNV functions here.
* If we ever remove GL_NV_vertex_program this will have to change.
@@ -1152,8 +1153,8 @@ static void _ae_update_state( GLcontext *ctx )
}
/* generic vertex attribute arrays */
- for (i = 1; i < VERT_ATTRIB_MAX; i++) { /* skip zero! */
- struct gl_client_array *attribArray = &ctx->Array.ArrayObj->VertexAttrib[i];
+ for (i = 1; i < Elements(arrayObj->VertexAttrib); i++) { /* skip zero! */
+ struct gl_client_array *attribArray = &arrayObj->VertexAttrib[i];
if (attribArray->Enabled) {
at->array = attribArray;
/* Note: we can't grab the _glapi_Dispatch->VertexAttrib1fvNV
@@ -1179,18 +1180,18 @@ static void _ae_update_state( GLcontext *ctx )
}
/* finally, vertex position */
- if (ctx->Array.ArrayObj->VertexAttrib[0].Enabled) {
+ if (arrayObj->VertexAttrib[0].Enabled) {
/* Use glVertex(v) instead of glVertexAttrib(0, v) to be sure it's
* issued as the last (provoking) attribute).
*/
- aa->array = &ctx->Array.ArrayObj->VertexAttrib[0];
+ aa->array = &arrayObj->VertexAttrib[0];
assert(aa->array->Size >= 2); /* XXX fix someday? */
aa->offset = VertexFuncs[aa->array->Size-2][TYPE_IDX(aa->array->Type)];
check_vbo(actx, aa->array->BufferObj);
aa++;
}
- else if (ctx->Array.ArrayObj->Vertex.Enabled) {
- aa->array = &ctx->Array.ArrayObj->Vertex;
+ else if (arrayObj->Vertex.Enabled) {
+ aa->array = &arrayObj->Vertex;
aa->offset = VertexFuncs[aa->array->Size-2][TYPE_IDX(aa->array->Type)];
check_vbo(actx, aa->array->BufferObj);
aa++;
diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c
index 6f66ff47a0..c714d177a2 100644
--- a/src/mesa/main/api_exec.c
+++ b/src/mesa/main/api_exec.c
@@ -894,5 +894,8 @@ _mesa_init_exec_table(struct _glapi_table *exec)
*/
SET_RenderbufferStorageMultisample(exec, _mesa_RenderbufferStorageMultisample);
#endif
+
+ /* GL_ARB_copy_buffer */
+ SET_CopyBufferSubData(exec, _mesa_CopyBufferSubData);
}
diff --git a/src/mesa/main/api_noop.c b/src/mesa/main/api_noop.c
index a1cc3a2a4b..66f9c4e6bd 100644
--- a/src/mesa/main/api_noop.c
+++ b/src/mesa/main/api_noop.c
@@ -477,7 +477,7 @@ static void GLAPIENTRY _mesa_noop_VertexAttrib4fvNV( GLuint index, const GLfloat
static void GLAPIENTRY _mesa_noop_VertexAttrib1fARB( GLuint index, GLfloat x )
{
GET_CURRENT_CONTEXT(ctx);
- if (index < MAX_VERTEX_ATTRIBS) {
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS) {
ASSIGN_4V(ctx->Current.Attrib[VERT_ATTRIB_GENERIC0 + index], x, 0, 0, 1);
}
else
@@ -487,7 +487,7 @@ static void GLAPIENTRY _mesa_noop_VertexAttrib1fARB( GLuint index, GLfloat x )
static void GLAPIENTRY _mesa_noop_VertexAttrib1fvARB( GLuint index, const GLfloat *v )
{
GET_CURRENT_CONTEXT(ctx);
- if (index < MAX_VERTEX_ATTRIBS) {
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS) {
ASSIGN_4V(ctx->Current.Attrib[VERT_ATTRIB_GENERIC0 + index], v[0], 0, 0, 1);
}
else
@@ -497,7 +497,7 @@ static void GLAPIENTRY _mesa_noop_VertexAttrib1fvARB( GLuint index, const GLfloa
static void GLAPIENTRY _mesa_noop_VertexAttrib2fARB( GLuint index, GLfloat x, GLfloat y )
{
GET_CURRENT_CONTEXT(ctx);
- if (index < MAX_VERTEX_ATTRIBS) {
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS) {
ASSIGN_4V(ctx->Current.Attrib[VERT_ATTRIB_GENERIC0 + index], x, y, 0, 1);
}
else
@@ -507,7 +507,7 @@ static void GLAPIENTRY _mesa_noop_VertexAttrib2fARB( GLuint index, GLfloat x, GL
static void GLAPIENTRY _mesa_noop_VertexAttrib2fvARB( GLuint index, const GLfloat *v )
{
GET_CURRENT_CONTEXT(ctx);
- if (index < MAX_VERTEX_ATTRIBS) {
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS) {
ASSIGN_4V(ctx->Current.Attrib[VERT_ATTRIB_GENERIC0 + index], v[0], v[1], 0, 1);
}
else
@@ -518,7 +518,7 @@ static void GLAPIENTRY _mesa_noop_VertexAttrib3fARB( GLuint index, GLfloat x,
GLfloat y, GLfloat z )
{
GET_CURRENT_CONTEXT(ctx);
- if (index < MAX_VERTEX_ATTRIBS) {
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS) {
ASSIGN_4V(ctx->Current.Attrib[VERT_ATTRIB_GENERIC0 + index], x, y, z, 1);
}
else
@@ -528,7 +528,7 @@ static void GLAPIENTRY _mesa_noop_VertexAttrib3fARB( GLuint index, GLfloat x,
static void GLAPIENTRY _mesa_noop_VertexAttrib3fvARB( GLuint index, const GLfloat *v )
{
GET_CURRENT_CONTEXT(ctx);
- if (index < MAX_VERTEX_ATTRIBS) {
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS) {
ASSIGN_4V(ctx->Current.Attrib[VERT_ATTRIB_GENERIC0 + index], v[0], v[1], v[2], 1);
}
else
@@ -539,7 +539,7 @@ static void GLAPIENTRY _mesa_noop_VertexAttrib4fARB( GLuint index, GLfloat x,
GLfloat y, GLfloat z, GLfloat w )
{
GET_CURRENT_CONTEXT(ctx);
- if (index < MAX_VERTEX_ATTRIBS) {
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS) {
ASSIGN_4V(ctx->Current.Attrib[VERT_ATTRIB_GENERIC0 + index], x, y, z, w);
}
else
@@ -549,7 +549,7 @@ static void GLAPIENTRY _mesa_noop_VertexAttrib4fARB( GLuint index, GLfloat x,
static void GLAPIENTRY _mesa_noop_VertexAttrib4fvARB( GLuint index, const GLfloat *v )
{
GET_CURRENT_CONTEXT(ctx);
- if (index < MAX_VERTEX_ATTRIBS) {
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS) {
ASSIGN_4V(ctx->Current.Attrib[VERT_ATTRIB_GENERIC0 + index], v[0], v[1], v[2], v[3]);
}
else
diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index 42d1e579e0..1507671250 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -30,6 +30,26 @@
#include "state.h"
+
+/**
+ * \return number of bytes in array [count] of type.
+ */
+static GLsizei
+index_bytes(GLenum type, GLsizei count)
+{
+ if (type == GL_UNSIGNED_INT) {
+ return count * sizeof(GLuint);
+ }
+ else if (type == GL_UNSIGNED_BYTE) {
+ return count * sizeof(GLubyte);
+ }
+ else {
+ ASSERT(type == GL_UNSIGNED_SHORT);
+ return count * sizeof(GLushort);
+ }
+}
+
+
/**
* Find the max index in the given element/index buffer
*/
@@ -44,10 +64,8 @@ max_buffer_index(GLcontext *ctx, GLuint count, GLenum type,
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);
+ map = ctx->Driver.MapBuffer(ctx, GL_ELEMENT_ARRAY_BUFFER,
+ GL_READ_ONLY, elementBuf);
/* Actual address is the sum of pointers */
indices = (const GLvoid *) ADD_POINTERS(map, (const GLubyte *) indices);
}
@@ -70,14 +88,16 @@ max_buffer_index(GLcontext *ctx, GLuint count, GLenum type,
}
if (map) {
- ctx->Driver.UnmapBuffer(ctx,
- GL_ELEMENT_ARRAY_BUFFER_ARB,
- ctx->Array.ElementArrayBufferObj);
+ ctx->Driver.UnmapBuffer(ctx, GL_ELEMENT_ARRAY_BUFFER_ARB, elementBuf);
}
return max;
}
+
+/**
+ * Check if OK to render by examining framebuffer status and vertex arrays.
+ */
static GLboolean
check_valid_to_render(GLcontext *ctx, char *function)
{
@@ -105,6 +125,12 @@ check_valid_to_render(GLcontext *ctx, char *function)
return GL_TRUE;
}
+
+/**
+ * Error checking for glDrawElements(). Includes parameter checking
+ * and VBO bounds checking.
+ * \return GL_TRUE if OK to render, GL_FALSE if error found
+ */
GLboolean
_mesa_validate_DrawElements(GLcontext *ctx,
GLenum mode, GLsizei count, GLenum type,
@@ -140,27 +166,8 @@ _mesa_validate_DrawElements(GLcontext *ctx,
/* Vertex buffer object tests */
if (ctx->Array.ElementArrayBufferObj->Name) {
/* use indices in the buffer object */
- GLuint indexBytes;
-
- if (!ctx->Array.ElementArrayBufferObj->Size) {
- _mesa_warning(ctx,
- "glDrawElements called with empty array elements buffer");
- return GL_FALSE;
- }
-
- 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 > (GLuint) ctx->Array.ElementArrayBufferObj->Size) {
+ if (index_bytes(type, count) > ctx->Array.ElementArrayBufferObj->Size) {
_mesa_warning(ctx, "glDrawElements index out of buffer bounds");
return GL_FALSE;
}
@@ -175,8 +182,10 @@ _mesa_validate_DrawElements(GLcontext *ctx,
/* find max array index */
GLuint max = max_buffer_index(ctx, count, type, indices,
ctx->Array.ElementArrayBufferObj);
- if (max >= ctx->Array._MaxElement) {
+ if (max >= ctx->Array.ArrayObj->_MaxElement) {
/* the max element is out of bounds of one or more enabled arrays */
+ _mesa_warning(ctx, "glDrawElements() index=%u is "
+ "out of bounds (max=%u)", max, ctx->Array.ArrayObj->_MaxElement);
return GL_FALSE;
}
}
@@ -184,6 +193,12 @@ _mesa_validate_DrawElements(GLcontext *ctx,
return GL_TRUE;
}
+
+/**
+ * Error checking for glDrawRangeElements(). Includes parameter checking
+ * and VBO bounds checking.
+ * \return GL_TRUE if OK to render, GL_FALSE if error found
+ */
GLboolean
_mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
GLuint start, GLuint end,
@@ -224,21 +239,8 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
/* Vertex buffer object tests */
if (ctx->Array.ElementArrayBufferObj->Name) {
/* 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) {
+ if (index_bytes(type, count) > ctx->Array.ElementArrayBufferObj->Size) {
_mesa_warning(ctx, "glDrawRangeElements index out of buffer bounds");
return GL_FALSE;
}
@@ -252,7 +254,7 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
if (ctx->Const.CheckArrayBounds) {
GLuint max = max_buffer_index(ctx, count, type, indices,
ctx->Array.ElementArrayBufferObj);
- if (max >= ctx->Array._MaxElement) {
+ if (max >= ctx->Array.ArrayObj->_MaxElement) {
/* the max element is out of bounds of one or more enabled arrays */
return GL_FALSE;
}
@@ -265,6 +267,7 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
/**
* Called from the tnl module to error check the function parameters and
* verify that we really can draw something.
+ * \return GL_TRUE if OK to render, GL_FALSE if error found
*/
GLboolean
_mesa_validate_DrawArrays(GLcontext *ctx,
@@ -290,7 +293,7 @@ _mesa_validate_DrawArrays(GLcontext *ctx,
return GL_FALSE;
if (ctx->Const.CheckArrayBounds) {
- if (start + count > (GLint) ctx->Array._MaxElement)
+ if (start + count > (GLint) ctx->Array.ArrayObj->_MaxElement)
return GL_FALSE;
}
diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
index b04095fd16..c03353b78f 100644
--- a/src/mesa/main/arrayobj.c
+++ b/src/mesa/main/arrayobj.c
@@ -1,9 +1,10 @@
/*
* Mesa 3-D graphics library
- * Version: 7.2
+ * Version: 7.6
*
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
* (C) Copyright IBM Corporation 2006
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -46,6 +47,7 @@
#include "bufferobj.h"
#endif
#include "arrayobj.h"
+#include "macros.h"
#include "glapi/dispatch.h"
@@ -69,6 +71,33 @@ lookup_arrayobj(GLcontext *ctx, GLuint id)
/**
+ * For all the vertex arrays in the array object, unbind any pointers
+ * to any buffer objects (VBOs).
+ * This is done just prior to array object destruction.
+ */
+static void
+unbind_array_object_vbos(GLcontext *ctx, struct gl_array_object *obj)
+{
+ GLuint i;
+
+ _mesa_reference_buffer_object(ctx, &obj->Vertex.BufferObj, NULL);
+ _mesa_reference_buffer_object(ctx, &obj->Weight.BufferObj, NULL);
+ _mesa_reference_buffer_object(ctx, &obj->Normal.BufferObj, NULL);
+ _mesa_reference_buffer_object(ctx, &obj->Color.BufferObj, NULL);
+ _mesa_reference_buffer_object(ctx, &obj->SecondaryColor.BufferObj, NULL);
+ _mesa_reference_buffer_object(ctx, &obj->FogCoord.BufferObj, NULL);
+ _mesa_reference_buffer_object(ctx, &obj->Index.BufferObj, NULL);
+ _mesa_reference_buffer_object(ctx, &obj->EdgeFlag.BufferObj, NULL);
+
+ for (i = 0; i < Elements(obj->TexCoord); i++)
+ _mesa_reference_buffer_object(ctx, &obj->TexCoord[i].BufferObj, NULL);
+
+ for (i = 0; i < Elements(obj->VertexAttrib); i++)
+ _mesa_reference_buffer_object(ctx, &obj->VertexAttrib[i].BufferObj,NULL);
+}
+
+
+/**
* Allocate and initialize a new vertex array object.
*
* This function is intended to be called via
@@ -94,10 +123,70 @@ void
_mesa_delete_array_object( GLcontext *ctx, struct gl_array_object *obj )
{
(void) ctx;
+ unbind_array_object_vbos(ctx, obj);
+ _glthread_DESTROY_MUTEX(obj->Mutex);
_mesa_free(obj);
}
+/**
+ * Set ptr to arrayObj w/ reference counting.
+ */
+void
+_mesa_reference_array_object(GLcontext *ctx,
+ struct gl_array_object **ptr,
+ struct gl_array_object *arrayObj)
+{
+ if (*ptr == arrayObj)
+ return;
+
+ if (*ptr) {
+ /* Unreference the old array object */
+ GLboolean deleteFlag = GL_FALSE;
+ struct gl_array_object *oldObj = *ptr;
+
+ _glthread_LOCK_MUTEX(oldObj->Mutex);
+ ASSERT(oldObj->RefCount > 0);
+ oldObj->RefCount--;
+#if 0
+ printf("ArrayObj %p %d DECR to %d\n",
+ (void *) oldObj, oldObj->Name, oldObj->RefCount);
+#endif
+ deleteFlag = (oldObj->RefCount == 0);
+ _glthread_UNLOCK_MUTEX(oldObj->Mutex);
+
+ if (deleteFlag) {
+ ASSERT(ctx->Driver.DeleteArrayObject);
+ ctx->Driver.DeleteArrayObject(ctx, oldObj);
+ }
+
+ *ptr = NULL;
+ }
+ ASSERT(!*ptr);
+
+ if (arrayObj) {
+ /* reference new array object */
+ _glthread_LOCK_MUTEX(arrayObj->Mutex);
+ if (arrayObj->RefCount == 0) {
+ /* this array's being deleted (look just above) */
+ /* Not sure this can every really happen. Warn if it does. */
+ _mesa_problem(NULL, "referencing deleted array object");
+ *ptr = NULL;
+ }
+ else {
+ arrayObj->RefCount++;
+#if 0
+ printf("ArrayObj %p %d INCR to %d\n",
+ (void *) arrayObj, arrayObj->Name, arrayObj->RefCount);
+#endif
+ *ptr = arrayObj;
+ }
+ _glthread_UNLOCK_MUTEX(arrayObj->Mutex);
+ }
+}
+
+
+
static void
init_array(GLcontext *ctx,
struct gl_client_array *array, GLint size, GLint type)
@@ -112,7 +201,8 @@ init_array(GLcontext *ctx,
array->Normalized = GL_FALSE;
#if FEATURE_ARB_vertex_buffer_object
/* Vertex array buffers */
- array->BufferObj = ctx->Array.NullBufferObj;
+ _mesa_reference_buffer_object(ctx, &array->BufferObj,
+ ctx->Shared->NullBufferObj);
#endif
}
@@ -129,18 +219,22 @@ _mesa_initialize_array_object( GLcontext *ctx,
obj->Name = name;
+ _glthread_INIT_MUTEX(obj->Mutex);
+ obj->RefCount = 1;
+
/* Init the individual arrays */
init_array(ctx, &obj->Vertex, 4, GL_FLOAT);
+ init_array(ctx, &obj->Weight, 1, GL_FLOAT);
init_array(ctx, &obj->Normal, 3, GL_FLOAT);
init_array(ctx, &obj->Color, 4, GL_FLOAT);
init_array(ctx, &obj->SecondaryColor, 4, GL_FLOAT);
init_array(ctx, &obj->FogCoord, 1, GL_FLOAT);
init_array(ctx, &obj->Index, 1, GL_FLOAT);
- for (i = 0; i < MAX_TEXTURE_COORD_UNITS; i++) {
+ for (i = 0; i < Elements(obj->TexCoord); i++) {
init_array(ctx, &obj->TexCoord[i], 4, GL_FLOAT);
}
init_array(ctx, &obj->EdgeFlag, 1, GL_BOOL);
- for (i = 0; i < VERT_ATTRIB_MAX; i++) {
+ for (i = 0; i < Elements(obj->VertexAttrib); i++) {
init_array(ctx, &obj->VertexAttrib[i], 4, GL_FLOAT);
}
@@ -153,8 +247,8 @@ _mesa_initialize_array_object( GLcontext *ctx,
/**
* Add the given array object to the array object pool.
*/
-void
-_mesa_save_array_object( GLcontext *ctx, struct gl_array_object *obj )
+static void
+save_array_object( GLcontext *ctx, struct gl_array_object *obj )
{
if (obj->Name > 0) {
/* insert into hash table */
@@ -167,8 +261,8 @@ _mesa_save_array_object( GLcontext *ctx, struct gl_array_object *obj )
* Remove the given array object from the array object pool.
* Do not deallocate the array object though.
*/
-void
-_mesa_remove_array_object( GLcontext *ctx, struct gl_array_object *obj )
+static void
+remove_array_object( GLcontext *ctx, struct gl_array_object *obj )
{
if (obj->Name > 0) {
/* remove from hash table */
@@ -177,12 +271,80 @@ _mesa_remove_array_object( GLcontext *ctx, struct gl_array_object *obj )
}
+
+/**
+ * Compute the index of the last array element that can be safely accessed
+ * in a vertex array. We can really only do this when the array lives in
+ * a VBO.
+ * The array->_MaxElement field will be updated.
+ * Later in glDrawArrays/Elements/etc we can do some bounds checking.
+ */
static void
-unbind_buffer_object( GLcontext *ctx, struct gl_buffer_object *bufObj )
+compute_max_element(struct gl_client_array *array)
{
- if (bufObj != ctx->Array.NullBufferObj) {
- _mesa_reference_buffer_object(ctx, &bufObj, NULL);
+ if (array->BufferObj->Name) {
+ /* Compute the max element we can access in the VBO without going
+ * out of bounds.
+ */
+ array->_MaxElement = ((GLsizeiptrARB) array->BufferObj->Size
+ - (GLsizeiptrARB) array->Ptr + array->StrideB
+ - array->_ElementSize) / array->StrideB;
+ if (0)
+ _mesa_printf("%s Object %u Size %u MaxElement %u\n",
+ __FUNCTION__,
+ array->BufferObj->Name,
+ (GLuint) array->BufferObj->Size,
+ array->_MaxElement);
}
+ else {
+ /* user-space array, no idea how big it is */
+ array->_MaxElement = 2 * 1000 * 1000 * 1000; /* just a big number */
+ }
+}
+
+
+/**
+ * Helper for update_arrays().
+ * \return min(current min, array->_MaxElement).
+ */
+static GLuint
+update_min(GLuint min, struct gl_client_array *array)
+{
+ compute_max_element(array);
+ if (array->Enabled)
+ return MIN2(min, array->_MaxElement);
+ else
+ return min;
+}
+
+
+/**
+ * Examine vertex arrays to update the gl_array_object::_MaxElement field.
+ */
+void
+_mesa_update_array_object_max_element(GLcontext *ctx,
+ struct gl_array_object *arrayObj)
+{
+ GLuint i, min = ~0;
+
+ min = update_min(min, &arrayObj->Vertex);
+ min = update_min(min, &arrayObj->Weight);
+ min = update_min(min, &arrayObj->Normal);
+ min = update_min(min, &arrayObj->Color);
+ min = update_min(min, &arrayObj->SecondaryColor);
+ min = update_min(min, &arrayObj->FogCoord);
+ min = update_min(min, &arrayObj->Index);
+ min = update_min(min, &arrayObj->EdgeFlag);
+#if FEATURE_point_size_array
+ min = update_min(min, &arrayObj->PointSize);
+#endif
+ for (i = 0; i < ctx->Const.MaxTextureCoordUnits; i++)
+ min = update_min(min, &arrayObj->TexCoord[i]);
+ for (i = 0; i < Elements(arrayObj->VertexAttrib); i++)
+ min = update_min(min, &arrayObj->VertexAttrib[i]);
+
+ /* _MaxElement is one past the last legal array element */
+ arrayObj->_MaxElement = min;
}
@@ -212,7 +374,7 @@ _mesa_BindVertexArrayAPPLE( GLuint id )
return; /* rebinding the same array object- no change */
/*
- * Get pointer to new array object (newBufObj)
+ * Get pointer to new array object (newObj)
*/
if (id == 0) {
/* The spec says there is no array object named 0, but we use
@@ -226,21 +388,18 @@ _mesa_BindVertexArrayAPPLE( GLuint id )
if (!newObj) {
/* If this is a new array object id, allocate an array object now.
*/
-
newObj = (*ctx->Driver.NewArrayObject)(ctx, id);
if (!newObj) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "glBindVertexArrayAPPLE");
return;
}
- _mesa_save_array_object(ctx, newObj);
+ save_array_object(ctx, newObj);
}
}
-
ctx->NewState |= _NEW_ARRAY;
ctx->Array.NewState |= _NEW_ARRAY_ALL;
- ctx->Array.ArrayObj = newObj;
-
+ _mesa_reference_array_object(ctx, &ctx->Array.ArrayObj, newObj);
/* Pass BindVertexArray call to device driver */
if (ctx->Driver.BindArrayObject && newObj)
@@ -274,7 +433,6 @@ _mesa_DeleteVertexArraysAPPLE(GLsizei n, const GLuint *ids)
if ( obj != NULL ) {
ASSERT( obj->Name == ids[i] );
-
/* If the array object is currently bound, the spec says "the binding
* for that object reverts to zero and the default vertex array
* becomes current."
@@ -283,28 +441,13 @@ _mesa_DeleteVertexArraysAPPLE(GLsizei n, const GLuint *ids)
CALL_BindVertexArrayAPPLE( ctx->Exec, (0) );
}
-#if FEATURE_ARB_vertex_buffer_object
- /* Unbind any buffer objects that might be bound to arrays in
- * this array object.
- */
- unbind_buffer_object( ctx, obj->Vertex.BufferObj );
- unbind_buffer_object( ctx, obj->Normal.BufferObj );
- unbind_buffer_object( ctx, obj->Color.BufferObj );
- unbind_buffer_object( ctx, obj->SecondaryColor.BufferObj );
- unbind_buffer_object( ctx, obj->FogCoord.BufferObj );
- unbind_buffer_object( ctx, obj->Index.BufferObj );
- for (i = 0; i < MAX_TEXTURE_COORD_UNITS; i++) {
- unbind_buffer_object( ctx, obj->TexCoord[i].BufferObj );
- }
- unbind_buffer_object( ctx, obj->EdgeFlag.BufferObj );
- for (i = 0; i < VERT_ATTRIB_MAX; i++) {
- unbind_buffer_object( ctx, obj->VertexAttrib[i].BufferObj );
- }
-#endif
-
/* The ID is immediately freed for re-use */
- _mesa_remove_array_object(ctx, obj);
- ctx->Driver.DeleteArrayObject(ctx, obj);
+ remove_array_object(ctx, obj);
+
+ /* Unreference the array object.
+ * If refcount hits zero, the object will be deleted.
+ */
+ _mesa_reference_array_object(ctx, &obj, NULL);
}
}
@@ -353,7 +496,7 @@ _mesa_GenVertexArraysAPPLE(GLsizei n, GLuint *arrays)
_mesa_error(ctx, GL_OUT_OF_MEMORY, "glGenVertexArraysAPPLE");
return;
}
- _mesa_save_array_object(ctx, obj);
+ save_array_object(ctx, obj);
arrays[i] = first + i;
}
diff --git a/src/mesa/main/arrayobj.h b/src/mesa/main/arrayobj.h
index c7d66ec166..abca5ab9b4 100644
--- a/src/mesa/main/arrayobj.h
+++ b/src/mesa/main/arrayobj.h
@@ -1,9 +1,10 @@
/*
* Mesa 3-D graphics library
- * Version: 6.5
+ * Version: 7.6
*
* Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
* (C) Copyright IBM Corporation 2006
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -41,18 +42,25 @@
* Internal functions
*/
-struct gl_array_object * _mesa_new_array_object( GLcontext *ctx,
- GLuint name );
+extern struct gl_array_object *
+_mesa_new_array_object( GLcontext *ctx, GLuint name );
-void _mesa_delete_array_object( GLcontext *ctx, struct gl_array_object *obj );
+extern void
+_mesa_delete_array_object( GLcontext *ctx, struct gl_array_object *obj );
-void _mesa_initialize_array_object( GLcontext *ctx,
- struct gl_array_object *obj, GLuint name );
+extern void
+_mesa_reference_array_object(GLcontext *ctx,
+ struct gl_array_object **ptr,
+ struct gl_array_object *arrayObj);
-void _mesa_save_array_object( GLcontext *ctx, struct gl_array_object *obj );
+extern void
+_mesa_initialize_array_object( GLcontext *ctx,
+ struct gl_array_object *obj, GLuint name );
-void _mesa_remove_array_object( GLcontext *ctx, struct gl_array_object *obj );
+extern void
+_mesa_update_array_object_max_element(GLcontext *ctx,
+ struct gl_array_object *arrayObj);
/*
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index d5d0a552db..476a24434c 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -1,6 +1,6 @@
/*
* Mesa 3-D graphics library
- * Version: 7.3
+ * Version: 7.6
*
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
* Copyright (C) 2009 VMware, Inc. All Rights Reserved.
@@ -541,6 +541,7 @@ end:
static void
pop_enable_group(GLcontext *ctx, const struct gl_enable_attrib *enable)
{
+ const GLuint curTexUnitSave = ctx->Texture.CurrentUnit;
GLuint i;
#define TEST_AND_UPDATE(VALUE, NEWVALUE, ENUM) \
@@ -685,59 +686,51 @@ pop_enable_group(GLcontext *ctx, const struct gl_enable_attrib *enable)
/* texture unit enables */
for (i = 0; i < ctx->Const.MaxTextureUnits; i++) {
- if (ctx->Texture.Unit[i].Enabled != enable->Texture[i]) {
- ctx->Texture.Unit[i].Enabled = enable->Texture[i];
- if (ctx->Driver.Enable) {
- if (ctx->Driver.ActiveTexture) {
- (*ctx->Driver.ActiveTexture)(ctx, i);
- }
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_1D,
- (GLboolean) (enable->Texture[i] & TEXTURE_1D_BIT) );
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_2D,
- (GLboolean) (enable->Texture[i] & TEXTURE_2D_BIT) );
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_3D,
- (GLboolean) (enable->Texture[i] & TEXTURE_3D_BIT) );
- if (ctx->Extensions.ARB_texture_cube_map)
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_CUBE_MAP_ARB,
- (GLboolean) (enable->Texture[i] & TEXTURE_CUBE_BIT) );
- if (ctx->Extensions.NV_texture_rectangle)
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_RECTANGLE_NV,
- (GLboolean) (enable->Texture[i] & TEXTURE_RECT_BIT) );
+ const GLbitfield enabled = enable->Texture[i];
+ const GLbitfield genEnabled = enable->TexGen[i];
+
+ if (ctx->Texture.Unit[i].Enabled != enabled) {
+ _mesa_ActiveTextureARB(GL_TEXTURE0 + i);
+
+ _mesa_set_enable(ctx, GL_TEXTURE_1D,
+ (enabled & TEXTURE_1D_BIT) ? GL_TRUE : GL_FALSE);
+ _mesa_set_enable(ctx, GL_TEXTURE_2D,
+ (enabled & TEXTURE_2D_BIT) ? GL_TRUE : GL_FALSE);
+ _mesa_set_enable(ctx, GL_TEXTURE_3D,
+ (enabled & TEXTURE_3D_BIT) ? GL_TRUE : GL_FALSE);
+ if (ctx->Extensions.NV_texture_rectangle) {
+ _mesa_set_enable(ctx, GL_TEXTURE_RECTANGLE_ARB,
+ (enabled & TEXTURE_RECT_BIT) ? GL_TRUE : GL_FALSE);
+ }
+ if (ctx->Extensions.ARB_texture_cube_map) {
+ _mesa_set_enable(ctx, GL_TEXTURE_CUBE_MAP,
+ (enabled & TEXTURE_CUBE_BIT) ? GL_TRUE : GL_FALSE);
+ }
+ if (ctx->Extensions.MESA_texture_array) {
+ _mesa_set_enable(ctx, GL_TEXTURE_1D_ARRAY_EXT,
+ (enabled & TEXTURE_1D_ARRAY_BIT) ? GL_TRUE : GL_FALSE);
+ _mesa_set_enable(ctx, GL_TEXTURE_2D_ARRAY_EXT,
+ (enabled & TEXTURE_2D_ARRAY_BIT) ? GL_TRUE : GL_FALSE);
}
}
- if (ctx->Texture.Unit[i].TexGenEnabled != enable->TexGen[i]) {
- ctx->Texture.Unit[i].TexGenEnabled = enable->TexGen[i];
- if (ctx->Driver.Enable) {
- if (ctx->Driver.ActiveTexture) {
- (*ctx->Driver.ActiveTexture)(ctx, i);
- }
- if (enable->TexGen[i] & S_BIT)
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_GEN_S, GL_TRUE);
- else
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_GEN_S, GL_FALSE);
- if (enable->TexGen[i] & T_BIT)
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_GEN_T, GL_TRUE);
- else
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_GEN_T, GL_FALSE);
- if (enable->TexGen[i] & R_BIT)
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_GEN_R, GL_TRUE);
- else
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_GEN_R, GL_FALSE);
- if (enable->TexGen[i] & Q_BIT)
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_GEN_Q, GL_TRUE);
- else
- (*ctx->Driver.Enable)( ctx, GL_TEXTURE_GEN_Q, GL_FALSE);
- }
+ if (ctx->Texture.Unit[i].TexGenEnabled != genEnabled) {
+ _mesa_ActiveTextureARB(GL_TEXTURE0 + i);
+ _mesa_set_enable(ctx, GL_TEXTURE_GEN_S,
+ (genEnabled & S_BIT) ? GL_TRUE : GL_FALSE);
+ _mesa_set_enable(ctx, GL_TEXTURE_GEN_T,
+ (genEnabled & T_BIT) ? GL_TRUE : GL_FALSE);
+ _mesa_set_enable(ctx, GL_TEXTURE_GEN_R,
+ (genEnabled & R_BIT) ? GL_TRUE : GL_FALSE);
+ _mesa_set_enable(ctx, GL_TEXTURE_GEN_Q,
+ (genEnabled & Q_BIT) ? GL_TRUE : GL_FALSE);
}
/* GL_SGI_texture_color_table */
ctx->Texture.Unit[i].ColorTableEnabled = enable->TextureColorTable[i];
}
- if (ctx->Driver.ActiveTexture) {
- (*ctx->Driver.ActiveTexture)(ctx, ctx->Texture.CurrentUnit);
- }
+ _mesa_ActiveTextureARB(GL_TEXTURE0 + curTexUnitSave);
}
@@ -770,6 +763,13 @@ pop_texture_group(GLcontext *ctx, struct texture_state *texstate)
_mesa_set_enable(ctx, GL_TEXTURE_RECTANGLE_NV,
(unit->Enabled & TEXTURE_RECT_BIT) ? GL_TRUE : GL_FALSE);
}
+ if (ctx->Extensions.MESA_texture_array) {
+ _mesa_set_enable(ctx, GL_TEXTURE_1D_ARRAY_EXT,
+ (unit->Enabled & TEXTURE_1D_ARRAY_BIT) ? GL_TRUE : GL_FALSE);
+ _mesa_set_enable(ctx, GL_TEXTURE_2D_ARRAY_EXT,
+ (unit->Enabled & TEXTURE_2D_ARRAY_BIT) ? GL_TRUE : GL_FALSE);
+ }
+
if (ctx->Extensions.SGI_texture_color_table) {
_mesa_set_enable(ctx, GL_TEXTURE_COLOR_TABLE_SGI,
unit->ColorTableEnabled);
@@ -1265,7 +1265,7 @@ _mesa_PopAttrib(void)
/* restore clip planes */
for (i = 0; i < MAX_CLIP_PLANES; i++) {
- const GLuint mask = 1 << 1;
+ const GLuint mask = 1 << i;
const GLfloat *eyePlane = xform->EyeUserPlane[i];
COPY_4V(ctx->Transform.EyeUserPlane[i], eyePlane);
if (xform->ClipPlanesEnabled & mask) {
@@ -1330,20 +1330,22 @@ _mesa_PopAttrib(void)
* counts when pushing/popping the GL_CLIENT_VERTEX_ARRAY_BIT attribute group.
*/
static void
-adjust_buffer_object_ref_counts(struct gl_array_attrib *array, GLint step)
+adjust_buffer_object_ref_counts(struct gl_array_object *arrayObj, GLint step)
{
GLuint i;
- array->ArrayObj->Vertex.BufferObj->RefCount += step;
- array->ArrayObj->Normal.BufferObj->RefCount += step;
- array->ArrayObj->Color.BufferObj->RefCount += step;
- array->ArrayObj->SecondaryColor.BufferObj->RefCount += step;
- array->ArrayObj->FogCoord.BufferObj->RefCount += step;
- array->ArrayObj->Index.BufferObj->RefCount += step;
- array->ArrayObj->EdgeFlag.BufferObj->RefCount += step;
- for (i = 0; i < MAX_TEXTURE_COORD_UNITS; i++)
- array->ArrayObj->TexCoord[i].BufferObj->RefCount += step;
- for (i = 0; i < VERT_ATTRIB_MAX; i++)
- array->ArrayObj->VertexAttrib[i].BufferObj->RefCount += step;
+
+ arrayObj->Vertex.BufferObj->RefCount += step;
+ arrayObj->Weight.BufferObj->RefCount += step;
+ arrayObj->Normal.BufferObj->RefCount += step;
+ arrayObj->Color.BufferObj->RefCount += step;
+ arrayObj->SecondaryColor.BufferObj->RefCount += step;
+ arrayObj->FogCoord.BufferObj->RefCount += step;
+ arrayObj->Index.BufferObj->RefCount += step;
+ arrayObj->EdgeFlag.BufferObj->RefCount += step;
+ for (i = 0; i < Elements(arrayObj->TexCoord); i++)
+ arrayObj->TexCoord[i].BufferObj->RefCount += step;
+ for (i = 0; i < Elements(arrayObj->VertexAttrib); i++)
+ arrayObj->VertexAttrib[i].BufferObj->RefCount += step;
}
@@ -1434,7 +1436,7 @@ _mesa_PushClientAttrib(GLbitfield mask)
newnode->next = head;
head = newnode;
/* bump reference counts on buffer objects */
- adjust_buffer_object_ref_counts(&ctx->Array, 1);
+ adjust_buffer_object_ref_counts(ctx->Array.ArrayObj, 1);
}
ctx->ClientAttribStack[ctx->ClientAttribStackDepth] = head;
@@ -1484,7 +1486,7 @@ _mesa_PopClientAttrib(void)
struct gl_array_attrib * data =
(struct gl_array_attrib *) node->data;
- adjust_buffer_object_ref_counts(&ctx->Array, -1);
+ adjust_buffer_object_ref_counts(ctx->Array.ArrayObj, -1);
ctx->Array.ActiveTexture = data->ActiveTexture;
if (data->LockCount != 0)
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index c8d160baa9..a49da3d3b5 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -1,9 +1,9 @@
/*
* Mesa 3-D graphics library
- * Version: 7.5
+ * Version: 7.6
*
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
- * Copyright (C) 1999-2009 VMware, Inc. All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -39,6 +39,11 @@
#include "bufferobj.h"
+/* Debug flags */
+/*#define VBO_DEBUG*/
+/*#define BOUNDS_CHECK*/
+
+
#ifdef FEATURE_OES_mapbuffer
#define DEFAULT_ACCESS GL_WRITE_ONLY;
#else
@@ -73,6 +78,16 @@ get_buffer(GLcontext *ctx, GLenum target)
case GL_PIXEL_UNPACK_BUFFER_EXT:
bufObj = ctx->Unpack.BufferObj;
break;
+ case GL_COPY_READ_BUFFER:
+ if (ctx->Extensions.ARB_copy_buffer) {
+ bufObj = ctx->CopyReadBuffer;
+ }
+ break;
+ case GL_COPY_WRITE_BUFFER:
+ if (ctx->Extensions.ARB_copy_buffer) {
+ bufObj = ctx->CopyWriteBuffer;
+ }
+ break;
default:
/* error must be recorded by caller */
return NULL;
@@ -194,7 +209,7 @@ _mesa_reference_buffer_object(GLcontext *ctx,
return;
if (*ptr) {
- /* Unreference the old texture */
+ /* Unreference the old buffer */
GLboolean deleteFlag = GL_FALSE;
struct gl_buffer_object *oldObj = *ptr;
@@ -227,7 +242,7 @@ _mesa_reference_buffer_object(GLcontext *ctx,
ASSERT(!*ptr);
if (bufObj) {
- /* reference new texture */
+ /* reference new buffer */
/*_glthread_LOCK_MUTEX(tex->Mutex);*/
if (bufObj->RefCount == 0) {
/* this buffer's being deleted (look just above) */
@@ -389,7 +404,6 @@ _mesa_buffer_map( GLcontext *ctx, GLenum target, GLenum access,
(void) ctx;
(void) target;
(void) access;
- ASSERT(!bufObj->OnCard);
/* Just return a direct pointer to the data */
if (bufObj->Pointer) {
/* already mapped! */
@@ -413,7 +427,6 @@ _mesa_buffer_unmap( GLcontext *ctx, GLenum target,
{
(void) ctx;
(void) target;
- ASSERT(!bufObj->OnCard);
/* XXX we might assert here that bufObj->Pointer is non-null */
bufObj->Pointer = NULL;
return GL_TRUE;
@@ -421,21 +434,47 @@ _mesa_buffer_unmap( GLcontext *ctx, GLenum target,
/**
+ * Default fallback for \c dd_function_table::CopyBufferSubData().
+ * Called via glCopyBuffserSubData().
+ */
+void
+_mesa_copy_buffer_subdata(GLcontext *ctx,
+ struct gl_buffer_object *src,
+ struct gl_buffer_object *dst,
+ GLintptr readOffset, GLintptr writeOffset,
+ GLsizeiptr size)
+{
+ GLubyte *srcPtr, *dstPtr;
+
+ /* buffer should not already be mapped */
+ assert(!src->Pointer);
+ assert(!dst->Pointer);
+
+ srcPtr = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_COPY_READ_BUFFER,
+ GL_READ_ONLY, src);
+ dstPtr = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_COPY_WRITE_BUFFER,
+ GL_WRITE_ONLY, dst);
+
+ if (srcPtr && dstPtr)
+ _mesa_memcpy(dstPtr + writeOffset, srcPtr + readOffset, size);
+
+ ctx->Driver.UnmapBuffer(ctx, GL_COPY_READ_BUFFER, src);
+ ctx->Driver.UnmapBuffer(ctx, GL_COPY_WRITE_BUFFER, dst);
+}
+
+
+
+/**
* Initialize the state associated with buffer objects
*/
void
_mesa_init_buffer_objects( GLcontext *ctx )
{
- /* Allocate the default buffer object and set refcount so high that
- * it never gets deleted.
- * XXX with recent/improved refcounting this may not longer be needed.
- */
- ctx->Array.NullBufferObj = _mesa_new_buffer_object(ctx, 0, 0);
- if (ctx->Array.NullBufferObj)
- ctx->Array.NullBufferObj->RefCount = 1000;
+ ctx->Array.ArrayBufferObj = ctx->Shared->NullBufferObj;
+ ctx->Array.ElementArrayBufferObj = ctx->Shared->NullBufferObj;
- ctx->Array.ArrayBufferObj = ctx->Array.NullBufferObj;
- ctx->Array.ElementArrayBufferObj = ctx->Array.NullBufferObj;
+ ctx->CopyReadBuffer = ctx->Shared->NullBufferObj;
+ ctx->CopyWriteBuffer = ctx->Shared->NullBufferObj;
}
@@ -462,8 +501,22 @@ bind_buffer_object(GLcontext *ctx, GLenum target, GLuint buffer)
case GL_PIXEL_UNPACK_BUFFER_EXT:
bindTarget = &ctx->Unpack.BufferObj;
break;
+ case GL_COPY_READ_BUFFER:
+ if (ctx->Extensions.ARB_copy_buffer) {
+ bindTarget = &ctx->CopyReadBuffer;
+ }
+ break;
+ case GL_COPY_WRITE_BUFFER:
+ if (ctx->Extensions.ARB_copy_buffer) {
+ bindTarget = &ctx->CopyWriteBuffer;
+ }
+ break;
default:
- _mesa_error(ctx, GL_INVALID_ENUM, "glBindBufferARB(target)");
+ ; /* no-op / we'll hit the follow error test next */
+ }
+
+ if (!bindTarget) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glBindBufferARB(target 0x%x)");
return;
}
@@ -479,7 +532,7 @@ bind_buffer_object(GLcontext *ctx, GLenum target, GLuint buffer)
/* The spec says there's not a buffer object named 0, but we use
* one internally because it simplifies things.
*/
- newBufObj = ctx->Array.NullBufferObj;
+ newBufObj = ctx->Shared->NullBufferObj;
}
else {
/* non-default buffer object */
@@ -500,7 +553,7 @@ bind_buffer_object(GLcontext *ctx, GLenum target, GLuint buffer)
_mesa_reference_buffer_object(ctx, bindTarget, newBufObj);
/* Pass BindBuffer call to device driver */
- if (ctx->Driver.BindBuffer && newBufObj)
+ if (ctx->Driver.BindBuffer)
ctx->Driver.BindBuffer( ctx, target, newBufObj );
}
@@ -746,7 +799,7 @@ unbind(GLcontext *ctx,
struct gl_buffer_object *obj)
{
if (*ptr == obj) {
- _mesa_reference_buffer_object(ctx, ptr, ctx->Array.NullBufferObj);
+ _mesa_reference_buffer_object(ctx, ptr, ctx->Shared->NullBufferObj);
}
}
@@ -789,6 +842,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids)
for (i = 0; i < n; i++) {
struct gl_buffer_object *bufObj = _mesa_lookup_bufferobj(ctx, ids[i]);
if (bufObj) {
+ struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
GLuint j;
ASSERT(bufObj->Name == ids[i]);
@@ -801,18 +855,19 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids)
}
/* unbind any vertex pointers bound to this buffer */
- unbind(ctx, &ctx->Array.ArrayObj->Vertex.BufferObj, bufObj);
- unbind(ctx, &ctx->Array.ArrayObj->Normal.BufferObj, bufObj);
- unbind(ctx, &ctx->Array.ArrayObj->Color.BufferObj, bufObj);
- unbind(ctx, &ctx->Array.ArrayObj->SecondaryColor.BufferObj, bufObj);
- unbind(ctx, &ctx->Array.ArrayObj->FogCoord.BufferObj, bufObj);
- unbind(ctx, &ctx->Array.ArrayObj->Index.BufferObj, bufObj);
- unbind(ctx, &ctx->Array.ArrayObj->EdgeFlag.BufferObj, bufObj);
- for (j = 0; j < MAX_TEXTURE_COORD_UNITS; j++) {
- unbind(ctx, &ctx->Array.ArrayObj->TexCoord[j].BufferObj, bufObj);
+ unbind(ctx, &arrayObj->Vertex.BufferObj, bufObj);
+ unbind(ctx, &arrayObj->Weight.BufferObj, bufObj);
+ unbind(ctx, &arrayObj->Normal.BufferObj, bufObj);
+ unbind(ctx, &arrayObj->Color.BufferObj, bufObj);
+ unbind(ctx, &arrayObj->SecondaryColor.BufferObj, bufObj);
+ unbind(ctx, &arrayObj->FogCoord.BufferObj, bufObj);
+ unbind(ctx, &arrayObj->Index.BufferObj, bufObj);
+ unbind(ctx, &arrayObj->EdgeFlag.BufferObj, bufObj);
+ for (j = 0; j < Elements(arrayObj->TexCoord); j++) {
+ unbind(ctx, &arrayObj->TexCoord[j].BufferObj, bufObj);
}
- for (j = 0; j < VERT_ATTRIB_MAX; j++) {
- unbind(ctx, &ctx->Array.ArrayObj->VertexAttrib[j].BufferObj, bufObj);
+ for (j = 0; j < Elements(arrayObj->VertexAttrib); j++) {
+ unbind(ctx, &arrayObj->VertexAttrib[j].BufferObj, bufObj);
}
if (ctx->Array.ArrayBufferObj == bufObj) {
@@ -947,7 +1002,7 @@ _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size,
return;
}
if (bufObj->Name == 0) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glBufferDataARB" );
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glBufferDataARB(buffer 0)" );
return;
}
@@ -958,8 +1013,20 @@ _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size,
bufObj->Pointer = NULL;
}
+ FLUSH_VERTICES(ctx, _NEW_BUFFER_OBJECT);
+
ASSERT(ctx->Driver.BufferData);
+ bufObj->Written = GL_TRUE;
+
+#ifdef VBO_DEBUG
+ _mesa_printf("glBufferDataARB(%u, sz %ld, from %p, usage 0x%x)\n",
+ bufObj->Name, size, data, usage);
+#endif
+
+#ifdef BOUNDS_CHECK
+ size += 100;
+#endif
/* Give the buffer object to the driver! <data> may be null! */
ctx->Driver.BufferData( ctx, target, size, data, usage, bufObj );
}
@@ -980,6 +1047,8 @@ _mesa_BufferSubDataARB(GLenum target, GLintptrARB offset,
return;
}
+ bufObj->Written = GL_TRUE;
+
ASSERT(ctx->Driver.BufferSubData);
ctx->Driver.BufferSubData( ctx, target, offset, size, data, bufObj );
}
@@ -1029,7 +1098,7 @@ _mesa_MapBufferARB(GLenum target, GLenum access)
return NULL;
}
if (bufObj->Name == 0) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glMapBufferARB" );
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glMapBufferARB(buffer 0)" );
return NULL;
}
if (bufObj->Pointer) {
@@ -1044,6 +1113,30 @@ _mesa_MapBufferARB(GLenum target, GLenum access)
}
bufObj->Access = access;
+ if (access == GL_WRITE_ONLY_ARB || access == GL_READ_WRITE_ARB)
+ bufObj->Written = GL_TRUE;
+
+#ifdef VBO_DEBUG
+ _mesa_printf("glMapBufferARB(%u, sz %ld, access 0x%x)\n",
+ bufObj->Name, bufObj->Size, access);
+ if (access == GL_WRITE_ONLY_ARB) {
+ GLuint i;
+ GLubyte *b = (GLubyte *) bufObj->Pointer;
+ for (i = 0; i < bufObj->Size; i++)
+ b[i] = i & 0xff;
+ }
+#endif
+
+#ifdef BOUNDS_CHECK
+ {
+ GLubyte *buf = (GLubyte *) bufObj->Pointer;
+ GLuint i;
+ /* buffer is 100 bytes larger than requested, fill with magic value */
+ for (i = 0; i < 100; i++) {
+ buf[bufObj->Size - i - 1] = 123;
+ }
+ }
+#endif
return bufObj->Pointer;
}
@@ -1071,6 +1164,42 @@ _mesa_UnmapBufferARB(GLenum target)
return GL_FALSE;
}
+#ifdef BOUNDS_CHECK
+ if (bufObj->Access != GL_READ_ONLY_ARB) {
+ GLubyte *buf = (GLubyte *) bufObj->Pointer;
+ GLuint i;
+ /* check that last 100 bytes are still = magic value */
+ for (i = 0; i < 100; i++) {
+ GLuint pos = bufObj->Size - i - 1;
+ if (buf[pos] != 123) {
+ _mesa_warning(ctx, "Out of bounds buffer object write detected"
+ " at position %d (value = %u)\n",
+ pos, buf[pos]);
+ }
+ }
+ }
+#endif
+
+#ifdef VBO_DEBUG
+ if (bufObj->Access == GL_WRITE_ONLY_ARB) {
+ GLuint i, unchanged = 0;
+ GLubyte *b = (GLubyte *) bufObj->Pointer;
+ GLint pos = -1;
+ /* check which bytes changed */
+ for (i = 0; i < bufObj->Size - 1; i++) {
+ if (b[i] == (i & 0xff) && b[i+1] == ((i+1) & 0xff)) {
+ unchanged++;
+ if (pos == -1)
+ pos = i;
+ }
+ }
+ if (unchanged) {
+ _mesa_printf("glUnmapBufferARB(%u): %u of %ld unchanged, starting at %d\n",
+ bufObj->Name, unchanged, bufObj->Size, pos);
+ }
+ }
+#endif
+
status = ctx->Driver.UnmapBuffer( ctx, target, bufObj );
bufObj->Access = DEFAULT_ACCESS;
bufObj->Pointer = NULL;
@@ -1140,3 +1269,84 @@ _mesa_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params)
*params = bufObj->Pointer;
}
+
+
+void GLAPIENTRY
+_mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget,
+ GLintptr readOffset, GLintptr writeOffset,
+ GLsizeiptr size)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ struct gl_buffer_object *src, *dst;
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+
+ src = get_buffer(ctx, readTarget);
+ if (!src || src->Name == 0) {
+ _mesa_error(ctx, GL_INVALID_ENUM,
+ "glCopyBuffserSubData(readTarget = 0x%x)", readTarget);
+ return;
+ }
+
+ dst = get_buffer(ctx, writeTarget);
+ if (!dst || dst->Name == 0) {
+ _mesa_error(ctx, GL_INVALID_ENUM,
+ "glCopyBuffserSubData(writeTarget = 0x%x)", writeTarget);
+ return;
+ }
+
+ if (src->Pointer) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glCopyBuffserSubData(readBuffer is mapped)");
+ return;
+ }
+
+ if (dst->Pointer) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glCopyBuffserSubData(writeBuffer is mapped)");
+ return;
+ }
+
+ if (readOffset < 0) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glCopyBuffserSubData(readOffset = %d)", readOffset);
+ return;
+ }
+
+ if (writeOffset < 0) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glCopyBuffserSubData(writeOffset = %d)", writeOffset);
+ return;
+ }
+
+ if (readOffset + size > src->Size) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glCopyBuffserSubData(readOffset + size = %d)",
+ readOffset, size);
+ return;
+ }
+
+ if (writeOffset + size > dst->Size) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glCopyBuffserSubData(writeOffset + size = %d)",
+ writeOffset, size);
+ return;
+ }
+
+ if (src == dst) {
+ if (readOffset + size <= writeOffset) {
+ /* OK */
+ }
+ else if (writeOffset + size <= readOffset) {
+ /* OK */
+ }
+ else {
+ /* overlapping src/dst is illegal */
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glCopyBuffserSubData(overlapping src/dst)");
+ return;
+ }
+ }
+
+ ctx->Driver.CopyBufferSubData(ctx, src, dst, readOffset, writeOffset, size);
+}
+
diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h
index 3c08f0083c..79c027aa4d 100644
--- a/src/mesa/main/bufferobj.h
+++ b/src/mesa/main/bufferobj.h
@@ -1,8 +1,9 @@
/*
* Mesa 3-D graphics library
- * Version: 7.2
+ * Version: 7.6
*
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -82,6 +83,13 @@ extern GLboolean
_mesa_buffer_unmap( GLcontext *ctx, GLenum target,
struct gl_buffer_object * bufObj );
+extern void
+_mesa_copy_buffer_subdata(GLcontext *ctx,
+ struct gl_buffer_object *src,
+ struct gl_buffer_object *dst,
+ GLintptr readOffset, GLintptr writeOffset,
+ GLsizeiptr size);
+
extern GLboolean
_mesa_validate_pbo_access(GLuint dimensions,
const struct gl_pixelstore_attrib *pack,
@@ -154,4 +162,9 @@ _mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint *params);
extern void GLAPIENTRY
_mesa_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params);
+extern void GLAPIENTRY
+_mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget,
+ GLintptr readOffset, GLintptr writeOffset,
+ GLsizeiptr size);
+
#endif
diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c
index c5f13345f0..d8b5f3b1f4 100644
--- a/src/mesa/main/buffers.c
+++ b/src/mesa/main/buffers.c
@@ -443,7 +443,7 @@ _mesa_readbuffer(GLcontext *ctx, GLenum buffer, GLint bufferIndex)
fb->ColorReadBuffer = buffer;
fb->_ColorReadBufferIndex = bufferIndex;
- ctx->NewState |= _NEW_PIXEL;
+ ctx->NewState |= _NEW_BUFFERS;
}
diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h
index 2a9fdf9ca0..f77a29a43e 100644
--- a/src/mesa/main/config.h
+++ b/src/mesa/main/config.h
@@ -168,7 +168,6 @@
/** For GL_ARB_vertex_program */
/*@{*/
#define MAX_VERTEX_PROGRAM_ADDRESS_REGS 1
-#define MAX_VERTEX_PROGRAM_ATTRIBS 16
/*@}*/
/** For GL_ARB_fragment_program */
@@ -180,14 +179,14 @@
/*@{*/
#define MAX_PROGRAM_INSTRUCTIONS (16 * 1024)
#define MAX_PROGRAM_LOCAL_PARAMS 256 /**< per-program constants (power of two) */
-#define MAX_PROGRAM_ENV_PARAMS 128
+#define MAX_PROGRAM_ENV_PARAMS 256 /**< per-context constants (power of two) */
#define MAX_PROGRAM_MATRICES 8
#define MAX_PROGRAM_MATRIX_STACK_DEPTH 4
#define MAX_PROGRAM_CALL_DEPTH 8
#define MAX_PROGRAM_TEMPS 256
#define MAX_PROGRAM_ADDRESS_REGS 2
#define MAX_UNIFORMS 1024 /**< number of vec4 uniforms */
-#define MAX_VARYING 8 /**< number of float[4] vectors */
+#define MAX_VARYING 16 /**< number of float[4] vectors */
#define MAX_SAMPLERS MAX_TEXTURE_IMAGE_UNITS
#define MAX_PROGRAM_INPUTS 32
#define MAX_PROGRAM_OUTPUTS 32
@@ -197,7 +196,7 @@
/*@{*/
#define MAX_NV_VERTEX_PROGRAM_INSTRUCTIONS 128
#define MAX_NV_VERTEX_PROGRAM_TEMPS 12
-#define MAX_NV_VERTEX_PROGRAM_PARAMS MAX_PROGRAM_ENV_PARAMS
+#define MAX_NV_VERTEX_PROGRAM_PARAMS 96
#define MAX_NV_VERTEX_PROGRAM_INPUTS 16
#define MAX_NV_VERTEX_PROGRAM_OUTPUTS 15
/*@}*/
@@ -215,7 +214,7 @@
/** For GL_ARB_vertex_shader */
/*@{*/
-#define MAX_VERTEX_ATTRIBS 16
+#define MAX_VERTEX_GENERIC_ATTRIBS 16
#define MAX_VERTEX_TEXTURE_IMAGE_UNITS MAX_TEXTURE_IMAGE_UNITS
#define MAX_COMBINED_TEXTURE_IMAGE_UNITS MAX_TEXTURE_IMAGE_UNITS
/*@}*/
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index b24a3b4409..bf53bd3467 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -187,7 +187,7 @@ GLfloat _mesa_ubyte_to_float_color_tab[256];
void
_mesa_notifySwapBuffers(__GLcontext *ctx)
{
- FLUSH_VERTICES( ctx, 0 );
+ FLUSH_CURRENT( ctx, 0 );
if (ctx->Driver.Flush) {
ctx->Driver.Flush(ctx);
}
@@ -455,7 +455,7 @@ _mesa_init_current(GLcontext *ctx)
GLuint i;
/* Init all to (0,0,0,1) */
- for (i = 0; i < VERT_ATTRIB_MAX; i++) {
+ for (i = 0; i < Elements(ctx->Current.Attrib); i++) {
ASSIGN_4V( ctx->Current.Attrib[i], 0.0, 0.0, 0.0, 1.0 );
}
@@ -602,6 +602,10 @@ _mesa_init_constants(GLcontext *ctx)
ASSERT(MAX_NV_VERTEX_PROGRAM_TEMPS <= MAX_PROGRAM_TEMPS);
ASSERT(MAX_NV_VERTEX_PROGRAM_INPUTS <= VERT_ATTRIB_MAX);
ASSERT(MAX_NV_VERTEX_PROGRAM_OUTPUTS <= VERT_RESULT_MAX);
+
+ /* check that we don't exceed various 32-bit bitfields */
+ ASSERT(VERT_RESULT_MAX <= 32);
+ ASSERT(FRAG_ATTRIB_MAX <= 32);
}
@@ -1005,10 +1009,17 @@ _mesa_free_context_data( GLcontext *ctx )
_mesa_free_query_data(ctx);
#endif
+ _mesa_delete_array_object(ctx, ctx->Array.DefaultArrayObj);
+
+#if FEATURE_ARB_pixel_buffer_object
+ _mesa_reference_buffer_object(ctx, &ctx->Pack.BufferObj, NULL);
+ _mesa_reference_buffer_object(ctx, &ctx->Unpack.BufferObj, NULL);
+#endif
+
#if FEATURE_ARB_vertex_buffer_object
- _mesa_delete_buffer_object(ctx, ctx->Array.NullBufferObj);
+ _mesa_reference_buffer_object(ctx, &ctx->Array.ArrayBufferObj, NULL);
+ _mesa_reference_buffer_object(ctx, &ctx->Array.ElementArrayBufferObj, NULL);
#endif
- _mesa_delete_array_object(ctx, ctx->Array.DefaultArrayObj);
/* free dispatch tables */
_mesa_free(ctx->Exec);
@@ -1258,7 +1269,7 @@ initialize_framebuffer_size(GLcontext *ctx, GLframebuffer *fb)
* \param drawBuffer the drawing framebuffer
* \param readBuffer the reading framebuffer
*/
-void
+GLboolean
_mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
GLframebuffer *readBuffer )
{
@@ -1271,14 +1282,14 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
if (!check_compatible(newCtx, drawBuffer)) {
_mesa_warning(newCtx,
"MakeCurrent: incompatible visuals for context and drawbuffer");
- return;
+ return GL_FALSE;
}
}
if (newCtx && readBuffer && newCtx->WinSysReadBuffer != readBuffer) {
if (!check_compatible(newCtx, readBuffer)) {
_mesa_warning(newCtx,
"MakeCurrent: incompatible visuals for context and readbuffer");
- return;
+ return GL_FALSE;
}
}
@@ -1383,6 +1394,8 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
newCtx->FirstTimeCurrent = GL_FALSE;
}
}
+
+ return GL_TRUE;
}
@@ -1397,14 +1410,21 @@ _mesa_share_state(GLcontext *ctx, GLcontext *ctxToShare)
{
if (ctx && ctxToShare && ctx->Shared && ctxToShare->Shared) {
struct gl_shared_state *oldSharedState = ctx->Shared;
+ GLint RefCount;
ctx->Shared = ctxToShare->Shared;
+
+ _glthread_LOCK_MUTEX(ctx->Shared->Mutex);
ctx->Shared->RefCount++;
+ _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex);
update_default_objects(ctx);
- oldSharedState->RefCount--;
- if (oldSharedState->RefCount == 0) {
+ _glthread_LOCK_MUTEX(oldSharedState->Mutex);
+ RefCount = --oldSharedState->RefCount;
+ _glthread_UNLOCK_MUTEX(oldSharedState->Mutex);
+
+ if (RefCount == 0) {
_mesa_free_shared_state(ctx, oldSharedState);
}
@@ -1497,6 +1517,7 @@ _mesa_Finish(void)
{
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
+ FLUSH_CURRENT( ctx, 0 );
if (ctx->Driver.Finish) {
ctx->Driver.Finish(ctx);
}
@@ -1514,10 +1535,24 @@ _mesa_Flush(void)
{
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
+ FLUSH_CURRENT( ctx, 0 );
if (ctx->Driver.Flush) {
ctx->Driver.Flush(ctx);
}
}
+/**
+ * Set mvp_with_dp4 flag. If a driver has a preference for DP4 over
+ * MUL/MAD, or vice versa, call this function to register that.
+ * Otherwise we default to MUL/MAD.
+ */
+void
+_mesa_set_mvp_with_dp4( GLcontext *ctx,
+ GLboolean flag )
+{
+ ctx->mvp_with_dp4 = flag;
+}
+
+
/*@}*/
diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h
index ecc1cec779..6b3e1b2b97 100644
--- a/src/mesa/main/context.h
+++ b/src/mesa/main/context.h
@@ -130,7 +130,7 @@ extern void
_mesa_copy_context(const GLcontext *src, GLcontext *dst, GLuint mask);
-extern void
+extern GLboolean
_mesa_make_current( GLcontext *ctx, GLframebuffer *drawBuffer,
GLframebuffer *readBuffer );
@@ -151,6 +151,10 @@ extern struct _glapi_table *
_mesa_get_dispatch(GLcontext *ctx);
+void
+_mesa_set_mvp_with_dp4( GLcontext *ctx,
+ GLboolean flag );
+
/** \name Miscellaneous */
/*@{*/
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index d994401e55..1d92e510a4 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -798,6 +798,12 @@ struct dd_function_table {
void * (*MapBuffer)( GLcontext *ctx, GLenum target, GLenum access,
struct gl_buffer_object *obj );
+ void (*CopyBufferSubData)( GLcontext *ctx,
+ struct gl_buffer_object *src,
+ struct gl_buffer_object *dst,
+ GLintptr readOffset, GLintptr writeOffset,
+ GLsizeiptr size );
+
/* May return NULL if MESA_MAP_NOWAIT_BIT is set in access:
*/
void * (*MapBufferRange)( GLcontext *ctx, GLenum target,
@@ -911,7 +917,7 @@ struct dd_function_table {
void (*Uniform)(GLcontext *ctx, GLint location, GLsizei count,
const GLvoid *values, GLenum type);
void (*UniformMatrix)(GLcontext *ctx, GLint cols, GLint rows,
- GLenum matrixType, GLint location, GLsizei count,
+ GLint location, GLsizei count,
GLboolean transpose, const GLfloat *values);
void (*UseProgram)(GLcontext *ctx, GLuint program);
void (*ValidateProgram)(GLcontext *ctx, GLuint program);
diff --git a/src/mesa/main/debug.c b/src/mesa/main/debug.c
index fdd10dd307..1c8c44fcb9 100644
--- a/src/mesa/main/debug.c
+++ b/src/mesa/main/debug.c
@@ -3,6 +3,7 @@
* Version: 6.5
*
* Copyright (C) 1999-2005 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -23,12 +24,15 @@
*/
#include "mtypes.h"
+#include "attrib.h"
#include "colormac.h"
#include "context.h"
#include "hash.h"
#include "imports.h"
#include "debug.h"
#include "get.h"
+#include "pixelstore.h"
+#include "readpix.h"
#include "texobj.h"
#include "texformat.h"
@@ -262,7 +266,7 @@ static void
write_texture_image(struct gl_texture_object *texObj)
{
const struct gl_texture_image *img = texObj->Image[0][0];
- if (img) {
+ if (img && img->Data) {
char s[100];
/* make filename */
@@ -281,7 +285,7 @@ write_texture_image(struct gl_texture_object *texObj)
case MESA_FORMAT_RGB565:
{
GLubyte *buf2 = (GLubyte *) _mesa_malloc(img->Width * img->Height * 3);
- GLint i;
+ GLuint i;
for (i = 0; i < img->Width * img->Height; i++) {
GLint r, g, b;
GLushort s = ((GLushort *) img->Data)[i];
@@ -338,5 +342,106 @@ _mesa_dump_textures(GLboolean dumpImages)
{
GET_CURRENT_CONTEXT(ctx);
DumpImages = dumpImages;
- _mesa_HashDeleteAll(ctx->Shared->TexObjects, dump_texture_cb, ctx);
+ _mesa_HashWalk(ctx->Shared->TexObjects, dump_texture_cb, ctx);
+}
+
+
+void
+_mesa_dump_color_buffer(const char *filename)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ const GLuint w = ctx->DrawBuffer->Width;
+ const GLuint h = ctx->DrawBuffer->Height;
+ GLubyte *buf;
+
+ buf = (GLubyte *) _mesa_malloc(w * h * 4);
+
+ _mesa_PushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
+ _mesa_PixelStorei(GL_PACK_ALIGNMENT, 1);
+ _mesa_PixelStorei(GL_PACK_INVERT_MESA, GL_TRUE);
+
+ _mesa_ReadPixels(0, 0, w, h, GL_RGBA, GL_UNSIGNED_BYTE, buf);
+
+ _mesa_printf("ReadBuffer %p 0x%x DrawBuffer %p 0x%x\n",
+ ctx->ReadBuffer->_ColorReadBuffer,
+ ctx->ReadBuffer->ColorReadBuffer,
+ ctx->DrawBuffer->_ColorDrawBuffers[0],
+ ctx->DrawBuffer->ColorDrawBuffer[0]);
+ _mesa_printf("Writing %d x %d color buffer to %s\n", w, h, filename);
+ write_ppm(filename, buf, w, h, 4, 0, 1, 2);
+
+ _mesa_PopClientAttrib();
+
+ _mesa_free(buf);
+}
+
+
+void
+_mesa_dump_depth_buffer(const char *filename)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ const GLuint w = ctx->DrawBuffer->Width;
+ const GLuint h = ctx->DrawBuffer->Height;
+ GLuint *buf;
+ GLubyte *buf2;
+ GLuint i;
+
+ buf = (GLuint *) _mesa_malloc(w * h * 4); /* 4 bpp */
+ buf2 = (GLubyte *) _mesa_malloc(w * h * 3); /* 3 bpp */
+
+ _mesa_PushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
+ _mesa_PixelStorei(GL_PACK_ALIGNMENT, 1);
+ _mesa_PixelStorei(GL_PACK_INVERT_MESA, GL_TRUE);
+
+ _mesa_ReadPixels(0, 0, w, h, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, buf);
+
+ /* spread 24 bits of Z across R, G, B */
+ for (i = 0; i < w * h; i++) {
+ buf2[i*3+0] = (buf[i] >> 24) & 0xff;
+ buf2[i*3+1] = (buf[i] >> 16) & 0xff;
+ buf2[i*3+2] = (buf[i] >> 8) & 0xff;
+ }
+
+ _mesa_printf("Writing %d x %d depth buffer to %s\n", w, h, filename);
+ write_ppm(filename, buf2, w, h, 3, 0, 1, 2);
+
+ _mesa_PopClientAttrib();
+
+ _mesa_free(buf);
+ _mesa_free(buf2);
+}
+
+
+void
+_mesa_dump_stencil_buffer(const char *filename)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ const GLuint w = ctx->DrawBuffer->Width;
+ const GLuint h = ctx->DrawBuffer->Height;
+ GLubyte *buf;
+ GLubyte *buf2;
+ GLuint i;
+
+ buf = (GLubyte *) _mesa_malloc(w * h); /* 1 bpp */
+ buf2 = (GLubyte *) _mesa_malloc(w * h * 3); /* 3 bpp */
+
+ _mesa_PushClientAttrib(GL_CLIENT_PIXEL_STORE_BIT);
+ _mesa_PixelStorei(GL_PACK_ALIGNMENT, 1);
+ _mesa_PixelStorei(GL_PACK_INVERT_MESA, GL_TRUE);
+
+ _mesa_ReadPixels(0, 0, w, h, GL_STENCIL_INDEX, GL_UNSIGNED_BYTE, buf);
+
+ for (i = 0; i < w * h; i++) {
+ buf2[i*3+0] = buf[i];
+ buf2[i*3+1] = (buf[i] & 127) * 2;
+ buf2[i*3+2] = (buf[i] - 128) * 2;
+ }
+
+ _mesa_printf("Writing %d x %d stencil buffer to %s\n", w, h, filename);
+ write_ppm(filename, buf2, w, h, 3, 0, 1, 2);
+
+ _mesa_PopClientAttrib();
+
+ _mesa_free(buf);
+ _mesa_free(buf2);
}
diff --git a/src/mesa/main/debug.h b/src/mesa/main/debug.h
index 1862ec75b7..bb384c4324 100644
--- a/src/mesa/main/debug.h
+++ b/src/mesa/main/debug.h
@@ -60,4 +60,13 @@ extern void _mesa_init_debug( GLcontext *ctx );
extern void
_mesa_dump_textures(GLboolean dumpImages);
+extern void
+_mesa_dump_color_buffer(const char *filename);
+
+extern void
+_mesa_dump_depth_buffer(const char *filename);
+
+extern void
+_mesa_dump_stencil_buffer(const char *filename);
+
#endif
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index 537ff5881f..d3c1717a50 100644
--- a/src/mesa/main/dlist.c
+++ b/src/mesa/main/dlist.c
@@ -4883,7 +4883,7 @@ save_Attr1fNV(GLenum attr, GLfloat x)
n[2].f = x;
}
- ASSERT(attr < MAX_VERTEX_PROGRAM_ATTRIBS);
+ ASSERT(attr < MAX_VERTEX_GENERIC_ATTRIBS);
ctx->ListState.ActiveAttribSize[attr] = 1;
ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, 0, 0, 1);
@@ -4905,7 +4905,7 @@ save_Attr2fNV(GLenum attr, GLfloat x, GLfloat y)
n[3].f = y;
}
- ASSERT(attr < MAX_VERTEX_PROGRAM_ATTRIBS);
+ ASSERT(attr < MAX_VERTEX_GENERIC_ATTRIBS);
ctx->ListState.ActiveAttribSize[attr] = 2;
ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, 0, 1);
@@ -4928,7 +4928,7 @@ save_Attr3fNV(GLenum attr, GLfloat x, GLfloat y, GLfloat z)
n[4].f = z;
}
- ASSERT(attr < MAX_VERTEX_PROGRAM_ATTRIBS);
+ ASSERT(attr < MAX_VERTEX_GENERIC_ATTRIBS);
ctx->ListState.ActiveAttribSize[attr] = 3;
ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, z, 1);
@@ -4952,7 +4952,7 @@ save_Attr4fNV(GLenum attr, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
n[5].f = w;
}
- ASSERT(attr < MAX_VERTEX_PROGRAM_ATTRIBS);
+ ASSERT(attr < MAX_VERTEX_GENERIC_ATTRIBS);
ctx->ListState.ActiveAttribSize[attr] = 4;
ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, z, w);
@@ -4974,7 +4974,7 @@ save_Attr1fARB(GLenum attr, GLfloat x)
n[2].f = x;
}
- ASSERT(attr < MAX_VERTEX_ATTRIBS);
+ ASSERT(attr < MAX_VERTEX_GENERIC_ATTRIBS);
ctx->ListState.ActiveAttribSize[attr] = 1;
ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, 0, 0, 1);
@@ -4996,7 +4996,7 @@ save_Attr2fARB(GLenum attr, GLfloat x, GLfloat y)
n[3].f = y;
}
- ASSERT(attr < MAX_VERTEX_ATTRIBS);
+ ASSERT(attr < MAX_VERTEX_GENERIC_ATTRIBS);
ctx->ListState.ActiveAttribSize[attr] = 2;
ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, 0, 1);
@@ -5019,7 +5019,7 @@ save_Attr3fARB(GLenum attr, GLfloat x, GLfloat y, GLfloat z)
n[4].f = z;
}
- ASSERT(attr < MAX_VERTEX_ATTRIBS);
+ ASSERT(attr < MAX_VERTEX_GENERIC_ATTRIBS);
ctx->ListState.ActiveAttribSize[attr] = 3;
ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, z, 1);
@@ -5043,7 +5043,7 @@ save_Attr4fARB(GLenum attr, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
n[5].f = w;
}
- ASSERT(attr < MAX_VERTEX_ATTRIBS);
+ ASSERT(attr < MAX_VERTEX_GENERIC_ATTRIBS);
ctx->ListState.ActiveAttribSize[attr] = 4;
ASSIGN_4V(ctx->ListState.CurrentAttrib[attr], x, y, z, w);
@@ -5506,7 +5506,7 @@ index_error(void)
static void GLAPIENTRY
save_VertexAttrib1fNV(GLuint index, GLfloat x)
{
- if (index < MAX_VERTEX_PROGRAM_ATTRIBS)
+ if (index < MAX_NV_VERTEX_PROGRAM_INPUTS)
save_Attr1fNV(index, x);
else
index_error();
@@ -5515,7 +5515,7 @@ save_VertexAttrib1fNV(GLuint index, GLfloat x)
static void GLAPIENTRY
save_VertexAttrib1fvNV(GLuint index, const GLfloat * v)
{
- if (index < MAX_VERTEX_PROGRAM_ATTRIBS)
+ if (index < MAX_NV_VERTEX_PROGRAM_INPUTS)
save_Attr1fNV(index, v[0]);
else
index_error();
@@ -5524,7 +5524,7 @@ save_VertexAttrib1fvNV(GLuint index, const GLfloat * v)
static void GLAPIENTRY
save_VertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y)
{
- if (index < MAX_VERTEX_PROGRAM_ATTRIBS)
+ if (index < MAX_NV_VERTEX_PROGRAM_INPUTS)
save_Attr2fNV(index, x, y);
else
index_error();
@@ -5533,7 +5533,7 @@ save_VertexAttrib2fNV(GLuint index, GLfloat x, GLfloat y)
static void GLAPIENTRY
save_VertexAttrib2fvNV(GLuint index, const GLfloat * v)
{
- if (index < MAX_VERTEX_PROGRAM_ATTRIBS)
+ if (index < MAX_NV_VERTEX_PROGRAM_INPUTS)
save_Attr2fNV(index, v[0], v[1]);
else
index_error();
@@ -5542,7 +5542,7 @@ save_VertexAttrib2fvNV(GLuint index, const GLfloat * v)
static void GLAPIENTRY
save_VertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z)
{
- if (index < MAX_VERTEX_PROGRAM_ATTRIBS)
+ if (index < MAX_NV_VERTEX_PROGRAM_INPUTS)
save_Attr3fNV(index, x, y, z);
else
index_error();
@@ -5551,7 +5551,7 @@ save_VertexAttrib3fNV(GLuint index, GLfloat x, GLfloat y, GLfloat z)
static void GLAPIENTRY
save_VertexAttrib3fvNV(GLuint index, const GLfloat * v)
{
- if (index < MAX_VERTEX_PROGRAM_ATTRIBS)
+ if (index < MAX_NV_VERTEX_PROGRAM_INPUTS)
save_Attr3fNV(index, v[0], v[1], v[2]);
else
index_error();
@@ -5561,7 +5561,7 @@ static void GLAPIENTRY
save_VertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y,
GLfloat z, GLfloat w)
{
- if (index < MAX_VERTEX_PROGRAM_ATTRIBS)
+ if (index < MAX_NV_VERTEX_PROGRAM_INPUTS)
save_Attr4fNV(index, x, y, z, w);
else
index_error();
@@ -5570,7 +5570,7 @@ save_VertexAttrib4fNV(GLuint index, GLfloat x, GLfloat y,
static void GLAPIENTRY
save_VertexAttrib4fvNV(GLuint index, const GLfloat * v)
{
- if (index < MAX_VERTEX_PROGRAM_ATTRIBS)
+ if (index < MAX_NV_VERTEX_PROGRAM_INPUTS)
save_Attr4fNV(index, v[0], v[1], v[2], v[3]);
else
index_error();
@@ -5582,7 +5582,7 @@ save_VertexAttrib4fvNV(GLuint index, const GLfloat * v)
static void GLAPIENTRY
save_VertexAttrib1fARB(GLuint index, GLfloat x)
{
- if (index < MAX_VERTEX_ATTRIBS)
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS)
save_Attr1fARB(index, x);
else
index_error();
@@ -5591,7 +5591,7 @@ save_VertexAttrib1fARB(GLuint index, GLfloat x)
static void GLAPIENTRY
save_VertexAttrib1fvARB(GLuint index, const GLfloat * v)
{
- if (index < MAX_VERTEX_ATTRIBS)
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS)
save_Attr1fARB(index, v[0]);
else
index_error();
@@ -5600,7 +5600,7 @@ save_VertexAttrib1fvARB(GLuint index, const GLfloat * v)
static void GLAPIENTRY
save_VertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y)
{
- if (index < MAX_VERTEX_ATTRIBS)
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS)
save_Attr2fARB(index, x, y);
else
index_error();
@@ -5609,7 +5609,7 @@ save_VertexAttrib2fARB(GLuint index, GLfloat x, GLfloat y)
static void GLAPIENTRY
save_VertexAttrib2fvARB(GLuint index, const GLfloat * v)
{
- if (index < MAX_VERTEX_ATTRIBS)
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS)
save_Attr2fARB(index, v[0], v[1]);
else
index_error();
@@ -5618,7 +5618,7 @@ save_VertexAttrib2fvARB(GLuint index, const GLfloat * v)
static void GLAPIENTRY
save_VertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z)
{
- if (index < MAX_VERTEX_ATTRIBS)
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS)
save_Attr3fARB(index, x, y, z);
else
index_error();
@@ -5627,7 +5627,7 @@ save_VertexAttrib3fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z)
static void GLAPIENTRY
save_VertexAttrib3fvARB(GLuint index, const GLfloat * v)
{
- if (index < MAX_VERTEX_ATTRIBS)
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS)
save_Attr3fARB(index, v[0], v[1], v[2]);
else
index_error();
@@ -5637,7 +5637,7 @@ static void GLAPIENTRY
save_VertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z,
GLfloat w)
{
- if (index < MAX_VERTEX_ATTRIBS)
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS)
save_Attr4fARB(index, x, y, z, w);
else
index_error();
@@ -5646,7 +5646,7 @@ save_VertexAttrib4fARB(GLuint index, GLfloat x, GLfloat y, GLfloat z,
static void GLAPIENTRY
save_VertexAttrib4fvARB(GLuint index, const GLfloat * v)
{
- if (index < MAX_VERTEX_ATTRIBS)
+ if (index < MAX_VERTEX_GENERIC_ATTRIBS)
save_Attr4fARB(index, v[0], v[1], v[2], v[3]);
else
index_error();
@@ -6806,10 +6806,10 @@ _mesa_NewList(GLuint name, GLenum mode)
/* Reset acumulated list state:
*/
- for (i = 0; i < VERT_ATTRIB_MAX; i++)
+ for (i = 0; i < Elements(ctx->ListState.ActiveAttribSize); i++)
ctx->ListState.ActiveAttribSize[i] = 0;
- for (i = 0; i < MAT_ATTRIB_MAX; i++)
+ for (i = 0; i < Elements(ctx->ListState.ActiveMaterialSize); i++)
ctx->ListState.ActiveMaterialSize[i] = 0;
ctx->Driver.CurrentSavePrimitive = PRIM_UNKNOWN;
@@ -8238,6 +8238,9 @@ _mesa_init_dlist_table(struct _glapi_table *table)
SET_ProgramEnvParameters4fvEXT(table, save_ProgramEnvParameters4fvEXT);
SET_ProgramLocalParameters4fvEXT(table, save_ProgramLocalParameters4fvEXT);
#endif
+
+ /* ARB 59. GL_ARB_copy_buffer */
+ SET_CopyBufferSubData(table, _mesa_CopyBufferSubData); /* no dlist save */
}
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index f432be183c..48268fcd27 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -119,6 +119,7 @@ client_state(GLcontext *ctx, GLenum cap, GLboolean state)
CHECK_EXTENSION(NV_vertex_program, cap);
{
GLint n = (GLint) cap - GL_VERTEX_ATTRIB_ARRAY0_NV;
+ ASSERT(n < Elements(ctx->Array.ArrayObj->VertexAttrib));
var = &ctx->Array.ArrayObj->VertexAttrib[n].Enabled;
flag = _NEW_ARRAY_ATTRIB(n);
}
@@ -222,14 +223,16 @@ get_texcoord_unit(GLcontext *ctx)
/**
* Helper function to enable or disable a texture target.
+ * \param bit one of the TEXTURE_x_BIT values
+ * \return GL_TRUE if state is changing or GL_FALSE if no change
*/
static GLboolean
-enable_texture(GLcontext *ctx, GLboolean state, GLbitfield bit)
+enable_texture(GLcontext *ctx, GLboolean state, GLbitfield texBit)
{
const GLuint curr = ctx->Texture.CurrentUnit;
struct gl_texture_unit *texUnit = &ctx->Texture.Unit[curr];
- const GLuint newenabled = (!state)
- ? (texUnit->Enabled & ~bit) : (texUnit->Enabled | bit);
+ const GLbitfield newenabled = state
+ ? (texUnit->Enabled | texBit) : (texUnit->Enabled & ~texBit);
if (!ctx->DrawBuffer->Visual.rgbMode || texUnit->Enabled == newenabled)
return GL_FALSE;
@@ -1314,6 +1317,7 @@ _mesa_IsEnabled( GLenum cap )
CHECK_EXTENSION(NV_vertex_program);
{
GLint n = (GLint) cap - GL_VERTEX_ATTRIB_ARRAY0_NV;
+ ASSERT(n < Elements(ctx->Array.ArrayObj->VertexAttrib));
return (ctx->Array.ArrayObj->VertexAttrib[n].Enabled != 0);
}
case GL_MAP1_VERTEX_ATTRIB0_4_NV:
diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c
index c077bc0a89..4339e3ba4e 100644
--- a/src/mesa/main/enums.c
+++ b/src/mesa/main/enums.c
@@ -334,6 +334,8 @@ LONGSTRING static const char enum_string_table[] =
"GL_COPY\0"
"GL_COPY_INVERTED\0"
"GL_COPY_PIXEL_TOKEN\0"
+ "GL_COPY_READ_BUFFER\0"
+ "GL_COPY_WRITE_BUFFER\0"
"GL_CULL_FACE\0"
"GL_CULL_FACE_MODE\0"
"GL_CULL_VERTEX_EXT\0"
@@ -1858,7 +1860,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_ZOOM_Y\0"
;
-static const enum_elt all_enums[1820] =
+static const enum_elt all_enums[1822] =
{
{ 0, 0x00000600 }, /* GL_2D */
{ 6, 0x00001407 }, /* GL_2_BYTES */
@@ -2158,2131 +2160,2133 @@ static const enum_elt all_enums[1820] =
{ 6027, 0x00001503 }, /* GL_COPY */
{ 6035, 0x0000150C }, /* GL_COPY_INVERTED */
{ 6052, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
- { 6072, 0x00000B44 }, /* GL_CULL_FACE */
- { 6085, 0x00000B45 }, /* GL_CULL_FACE_MODE */
- { 6103, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
- { 6122, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
- { 6154, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
- { 6189, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
- { 6210, 0x00000001 }, /* GL_CURRENT_BIT */
- { 6225, 0x00000B00 }, /* GL_CURRENT_COLOR */
- { 6242, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
- { 6263, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
- { 6289, 0x00000B01 }, /* GL_CURRENT_INDEX */
- { 6306, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
- { 6328, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
- { 6356, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
- { 6377, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
- { 6411, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
- { 6444, 0x00000B02 }, /* GL_CURRENT_NORMAL */
- { 6462, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
- { 6492, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
- { 6511, 0x00008865 }, /* GL_CURRENT_QUERY */
- { 6528, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
- { 6549, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
- { 6573, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
- { 6600, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
- { 6624, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
- { 6651, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
- { 6684, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
- { 6718, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
- { 6751, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
- { 6778, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
- { 6804, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
- { 6829, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
- { 6858, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
- { 6880, 0x00000900 }, /* GL_CW */
- { 6886, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
- { 6907, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
- { 6928, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
- { 6948, 0x00002101 }, /* GL_DECAL */
- { 6957, 0x00001E03 }, /* GL_DECR */
- { 6965, 0x00008508 }, /* GL_DECR_WRAP */
- { 6978, 0x00008508 }, /* GL_DECR_WRAP_EXT */
- { 6995, 0x00008B80 }, /* GL_DELETE_STATUS */
- { 7012, 0x00001801 }, /* GL_DEPTH */
- { 7021, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */
- { 7041, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */
- { 7061, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
- { 7085, 0x00000D1F }, /* GL_DEPTH_BIAS */
- { 7099, 0x00000D56 }, /* GL_DEPTH_BITS */
- { 7113, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
- { 7133, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
- { 7158, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
- { 7178, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
- { 7196, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
- { 7217, 0x00001902 }, /* GL_DEPTH_COMPONENT */
- { 7236, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
- { 7257, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
- { 7282, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
- { 7308, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
- { 7329, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
- { 7354, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
- { 7380, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
- { 7401, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
- { 7426, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
- { 7452, 0x00000B74 }, /* GL_DEPTH_FUNC */
- { 7466, 0x00000B70 }, /* GL_DEPTH_RANGE */
- { 7481, 0x00000D1E }, /* GL_DEPTH_SCALE */
- { 7496, 0x000084F9 }, /* GL_DEPTH_STENCIL */
- { 7513, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */
- { 7541, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
- { 7561, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
- { 7589, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
- { 7617, 0x00000B71 }, /* GL_DEPTH_TEST */
- { 7631, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
- { 7653, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
- { 7679, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
- { 7698, 0x00001201 }, /* GL_DIFFUSE */
- { 7709, 0x00000BD0 }, /* GL_DITHER */
- { 7719, 0x00000A02 }, /* GL_DOMAIN */
- { 7729, 0x00001100 }, /* GL_DONT_CARE */
- { 7742, 0x000086AE }, /* GL_DOT3_RGB */
- { 7754, 0x000086AF }, /* GL_DOT3_RGBA */
- { 7767, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
- { 7784, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
- { 7801, 0x000086AE }, /* GL_DOT3_RGB_ARB */
- { 7817, 0x00008740 }, /* GL_DOT3_RGB_EXT */
- { 7833, 0x0000140A }, /* GL_DOUBLE */
- { 7843, 0x00000C32 }, /* GL_DOUBLEBUFFER */
- { 7859, 0x00000C01 }, /* GL_DRAW_BUFFER */
- { 7874, 0x00008825 }, /* GL_DRAW_BUFFER0 */
- { 7890, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
- { 7910, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
- { 7930, 0x00008826 }, /* GL_DRAW_BUFFER1 */
- { 7946, 0x0000882F }, /* GL_DRAW_BUFFER10 */
- { 7963, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
- { 7984, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
- { 8005, 0x00008830 }, /* GL_DRAW_BUFFER11 */
- { 8022, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
- { 8043, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
- { 8064, 0x00008831 }, /* GL_DRAW_BUFFER12 */
- { 8081, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
- { 8102, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
- { 8123, 0x00008832 }, /* GL_DRAW_BUFFER13 */
- { 8140, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
- { 8161, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
- { 8182, 0x00008833 }, /* GL_DRAW_BUFFER14 */
- { 8199, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
- { 8220, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
- { 8241, 0x00008834 }, /* GL_DRAW_BUFFER15 */
- { 8258, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
- { 8279, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
- { 8300, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
- { 8320, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
- { 8340, 0x00008827 }, /* GL_DRAW_BUFFER2 */
- { 8356, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
- { 8376, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
- { 8396, 0x00008828 }, /* GL_DRAW_BUFFER3 */
- { 8412, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
- { 8432, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
- { 8452, 0x00008829 }, /* GL_DRAW_BUFFER4 */
- { 8468, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
- { 8488, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
- { 8508, 0x0000882A }, /* GL_DRAW_BUFFER5 */
- { 8524, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
- { 8544, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
- { 8564, 0x0000882B }, /* GL_DRAW_BUFFER6 */
- { 8580, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
- { 8600, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
- { 8620, 0x0000882C }, /* GL_DRAW_BUFFER7 */
- { 8636, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
- { 8656, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
- { 8676, 0x0000882D }, /* GL_DRAW_BUFFER8 */
- { 8692, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
- { 8712, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
- { 8732, 0x0000882E }, /* GL_DRAW_BUFFER9 */
- { 8748, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
- { 8768, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
- { 8788, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */
- { 8808, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
- { 8840, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
- { 8864, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
- { 8884, 0x00000304 }, /* GL_DST_ALPHA */
- { 8897, 0x00000306 }, /* GL_DST_COLOR */
- { 8910, 0x0000877A }, /* GL_DU8DV8_ATI */
- { 8924, 0x00008779 }, /* GL_DUDV_ATI */
- { 8936, 0x000088EA }, /* GL_DYNAMIC_COPY */
- { 8952, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
- { 8972, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
- { 8988, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
- { 9008, 0x000088E9 }, /* GL_DYNAMIC_READ */
- { 9024, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
- { 9044, 0x00000B43 }, /* GL_EDGE_FLAG */
- { 9057, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
- { 9076, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
- { 9110, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
- { 9148, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
- { 9175, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
- { 9201, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
- { 9225, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
- { 9257, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
- { 9293, 0x00001600 }, /* GL_EMISSION */
- { 9305, 0x00002000 }, /* GL_ENABLE_BIT */
- { 9319, 0x00000202 }, /* GL_EQUAL */
- { 9328, 0x00001509 }, /* GL_EQUIV */
- { 9337, 0x00010000 }, /* GL_EVAL_BIT */
- { 9349, 0x00000800 }, /* GL_EXP */
- { 9356, 0x00000801 }, /* GL_EXP2 */
- { 9364, 0x00001F03 }, /* GL_EXTENSIONS */
- { 9378, 0x00002400 }, /* GL_EYE_LINEAR */
- { 9392, 0x00002502 }, /* GL_EYE_PLANE */
- { 9405, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
- { 9430, 0x0000855B }, /* GL_EYE_RADIAL_NV */
- { 9447, 0x00000000 }, /* GL_FALSE */
- { 9456, 0x00001101 }, /* GL_FASTEST */
- { 9467, 0x00001C01 }, /* GL_FEEDBACK */
- { 9479, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
- { 9506, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
- { 9530, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
- { 9554, 0x00001B02 }, /* GL_FILL */
- { 9562, 0x00001D00 }, /* GL_FLAT */
- { 9570, 0x00001406 }, /* GL_FLOAT */
- { 9579, 0x00008B5A }, /* GL_FLOAT_MAT2 */
- { 9593, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
- { 9611, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */
- { 9627, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */
- { 9643, 0x00008B5B }, /* GL_FLOAT_MAT3 */
- { 9657, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
- { 9675, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */
- { 9691, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */
- { 9707, 0x00008B5C }, /* GL_FLOAT_MAT4 */
- { 9721, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
- { 9739, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */
- { 9755, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */
- { 9771, 0x00008B50 }, /* GL_FLOAT_VEC2 */
- { 9785, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
- { 9803, 0x00008B51 }, /* GL_FLOAT_VEC3 */
- { 9817, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
- { 9835, 0x00008B52 }, /* GL_FLOAT_VEC4 */
- { 9849, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
- { 9867, 0x00000B60 }, /* GL_FOG */
- { 9874, 0x00000080 }, /* GL_FOG_BIT */
- { 9885, 0x00000B66 }, /* GL_FOG_COLOR */
- { 9898, 0x00008451 }, /* GL_FOG_COORD */
- { 9911, 0x00008451 }, /* GL_FOG_COORDINATE */
- { 9929, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
- { 9953, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- { 9992, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
- { 10035, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- { 10067, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- { 10098, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- { 10127, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
- { 10152, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
- { 10171, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
- { 10205, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
- { 10232, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
- { 10258, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
- { 10282, 0x00008450 }, /* GL_FOG_COORD_SRC */
- { 10299, 0x00000B62 }, /* GL_FOG_DENSITY */
- { 10314, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
- { 10338, 0x00000B64 }, /* GL_FOG_END */
- { 10349, 0x00000C54 }, /* GL_FOG_HINT */
- { 10361, 0x00000B61 }, /* GL_FOG_INDEX */
- { 10374, 0x00000B65 }, /* GL_FOG_MODE */
- { 10386, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
- { 10405, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
- { 10430, 0x00000B63 }, /* GL_FOG_START */
- { 10443, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
- { 10461, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
- { 10485, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
- { 10504, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
- { 10527, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- { 10562, 0x00008D40 }, /* GL_FRAMEBUFFER */
- { 10577, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
- { 10614, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
- { 10650, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
- { 10691, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
- { 10732, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
- { 10769, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
- { 10806, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
- { 10844, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
- { 10886, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
- { 10924, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
- { 10966, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
- { 11001, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
- { 11040, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
- { 11089, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
- { 11137, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
- { 11189, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
- { 11229, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
- { 11273, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
- { 11313, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
- { 11357, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
- { 11384, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */
- { 11408, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
- { 11436, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */
- { 11459, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
- { 11478, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
- { 11515, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
- { 11556, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- { 11597, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
- { 11639, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- { 11690, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- { 11728, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
- { 11773, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
- { 11822, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
- { 11860, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
- { 11902, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- { 11934, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */
- { 11959, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */
- { 11986, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
- { 12017, 0x00000404 }, /* GL_FRONT */
- { 12026, 0x00000408 }, /* GL_FRONT_AND_BACK */
- { 12044, 0x00000B46 }, /* GL_FRONT_FACE */
- { 12058, 0x00000400 }, /* GL_FRONT_LEFT */
- { 12072, 0x00000401 }, /* GL_FRONT_RIGHT */
- { 12087, 0x00008006 }, /* GL_FUNC_ADD */
- { 12099, 0x00008006 }, /* GL_FUNC_ADD_EXT */
- { 12115, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
- { 12140, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
- { 12169, 0x0000800A }, /* GL_FUNC_SUBTRACT */
- { 12186, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
- { 12207, 0x00008191 }, /* GL_GENERATE_MIPMAP */
- { 12226, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
- { 12250, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
- { 12279, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
- { 12303, 0x00000206 }, /* GL_GEQUAL */
- { 12313, 0x00000204 }, /* GL_GREATER */
- { 12324, 0x00001904 }, /* GL_GREEN */
- { 12333, 0x00000D19 }, /* GL_GREEN_BIAS */
- { 12347, 0x00000D53 }, /* GL_GREEN_BITS */
- { 12361, 0x00000D18 }, /* GL_GREEN_SCALE */
- { 12376, 0x00008000 }, /* GL_HINT_BIT */
- { 12388, 0x00008024 }, /* GL_HISTOGRAM */
- { 12401, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
- { 12425, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
- { 12453, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
- { 12476, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
- { 12503, 0x00008024 }, /* GL_HISTOGRAM_EXT */
- { 12520, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
- { 12540, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
- { 12564, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
- { 12588, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
- { 12616, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- { 12644, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
- { 12676, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
- { 12698, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
- { 12724, 0x0000802D }, /* GL_HISTOGRAM_SINK */
- { 12742, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
- { 12764, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
- { 12783, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
- { 12806, 0x0000862A }, /* GL_IDENTITY_NV */
- { 12821, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
- { 12841, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
- { 12881, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
- { 12919, 0x00001E02 }, /* GL_INCR */
- { 12927, 0x00008507 }, /* GL_INCR_WRAP */
- { 12940, 0x00008507 }, /* GL_INCR_WRAP_EXT */
- { 12957, 0x00008222 }, /* GL_INDEX */
- { 12966, 0x00008077 }, /* GL_INDEX_ARRAY */
- { 12981, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- { 13011, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
- { 13045, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
- { 13068, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
- { 13090, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
- { 13110, 0x00000D51 }, /* GL_INDEX_BITS */
- { 13124, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
- { 13145, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
- { 13163, 0x00000C30 }, /* GL_INDEX_MODE */
- { 13177, 0x00000D13 }, /* GL_INDEX_OFFSET */
- { 13193, 0x00000D12 }, /* GL_INDEX_SHIFT */
- { 13208, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
- { 13227, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
- { 13246, 0x00001404 }, /* GL_INT */
- { 13253, 0x00008049 }, /* GL_INTENSITY */
- { 13266, 0x0000804C }, /* GL_INTENSITY12 */
- { 13281, 0x0000804C }, /* GL_INTENSITY12_EXT */
- { 13300, 0x0000804D }, /* GL_INTENSITY16 */
- { 13315, 0x0000804D }, /* GL_INTENSITY16_EXT */
- { 13334, 0x0000804A }, /* GL_INTENSITY4 */
- { 13348, 0x0000804A }, /* GL_INTENSITY4_EXT */
- { 13366, 0x0000804B }, /* GL_INTENSITY8 */
- { 13380, 0x0000804B }, /* GL_INTENSITY8_EXT */
- { 13398, 0x00008049 }, /* GL_INTENSITY_EXT */
- { 13415, 0x00008575 }, /* GL_INTERPOLATE */
- { 13430, 0x00008575 }, /* GL_INTERPOLATE_ARB */
- { 13449, 0x00008575 }, /* GL_INTERPOLATE_EXT */
- { 13468, 0x00008B53 }, /* GL_INT_VEC2 */
- { 13480, 0x00008B53 }, /* GL_INT_VEC2_ARB */
- { 13496, 0x00008B54 }, /* GL_INT_VEC3 */
- { 13508, 0x00008B54 }, /* GL_INT_VEC3_ARB */
- { 13524, 0x00008B55 }, /* GL_INT_VEC4 */
- { 13536, 0x00008B55 }, /* GL_INT_VEC4_ARB */
- { 13552, 0x00000500 }, /* GL_INVALID_ENUM */
- { 13568, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */
- { 13601, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
- { 13638, 0x00000502 }, /* GL_INVALID_OPERATION */
- { 13659, 0x00000501 }, /* GL_INVALID_VALUE */
- { 13676, 0x0000862B }, /* GL_INVERSE_NV */
- { 13690, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
- { 13714, 0x0000150A }, /* GL_INVERT */
- { 13724, 0x00001E00 }, /* GL_KEEP */
- { 13732, 0x00000406 }, /* GL_LEFT */
- { 13740, 0x00000203 }, /* GL_LEQUAL */
- { 13750, 0x00000201 }, /* GL_LESS */
- { 13758, 0x00004000 }, /* GL_LIGHT0 */
- { 13768, 0x00004001 }, /* GL_LIGHT1 */
- { 13778, 0x00004002 }, /* GL_LIGHT2 */
- { 13788, 0x00004003 }, /* GL_LIGHT3 */
- { 13798, 0x00004004 }, /* GL_LIGHT4 */
- { 13808, 0x00004005 }, /* GL_LIGHT5 */
- { 13818, 0x00004006 }, /* GL_LIGHT6 */
- { 13828, 0x00004007 }, /* GL_LIGHT7 */
- { 13838, 0x00000B50 }, /* GL_LIGHTING */
- { 13850, 0x00000040 }, /* GL_LIGHTING_BIT */
- { 13866, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
- { 13889, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- { 13918, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
- { 13951, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- { 13979, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
- { 14003, 0x00001B01 }, /* GL_LINE */
- { 14011, 0x00002601 }, /* GL_LINEAR */
- { 14021, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
- { 14043, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- { 14073, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- { 14104, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
- { 14128, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
- { 14153, 0x00000001 }, /* GL_LINES */
- { 14162, 0x00000004 }, /* GL_LINE_BIT */
- { 14174, 0x00000002 }, /* GL_LINE_LOOP */
- { 14187, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
- { 14207, 0x00000B20 }, /* GL_LINE_SMOOTH */
- { 14222, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
- { 14242, 0x00000B24 }, /* GL_LINE_STIPPLE */
- { 14258, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
- { 14282, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
- { 14305, 0x00000003 }, /* GL_LINE_STRIP */
- { 14319, 0x00000702 }, /* GL_LINE_TOKEN */
- { 14333, 0x00000B21 }, /* GL_LINE_WIDTH */
- { 14347, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
- { 14373, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
- { 14393, 0x00008B82 }, /* GL_LINK_STATUS */
- { 14408, 0x00000B32 }, /* GL_LIST_BASE */
- { 14421, 0x00020000 }, /* GL_LIST_BIT */
- { 14433, 0x00000B33 }, /* GL_LIST_INDEX */
- { 14447, 0x00000B30 }, /* GL_LIST_MODE */
- { 14460, 0x00000101 }, /* GL_LOAD */
- { 14468, 0x00000BF1 }, /* GL_LOGIC_OP */
- { 14480, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
- { 14497, 0x00008CA1 }, /* GL_LOWER_LEFT */
- { 14511, 0x00001909 }, /* GL_LUMINANCE */
- { 14524, 0x00008041 }, /* GL_LUMINANCE12 */
- { 14539, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
- { 14562, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
- { 14589, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
- { 14611, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
- { 14637, 0x00008041 }, /* GL_LUMINANCE12_EXT */
- { 14656, 0x00008042 }, /* GL_LUMINANCE16 */
- { 14671, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
- { 14694, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
- { 14721, 0x00008042 }, /* GL_LUMINANCE16_EXT */
- { 14740, 0x0000803F }, /* GL_LUMINANCE4 */
- { 14754, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
- { 14775, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
- { 14800, 0x0000803F }, /* GL_LUMINANCE4_EXT */
- { 14818, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
- { 14839, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
- { 14864, 0x00008040 }, /* GL_LUMINANCE8 */
- { 14878, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
- { 14899, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
- { 14924, 0x00008040 }, /* GL_LUMINANCE8_EXT */
- { 14942, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
- { 14961, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
- { 14977, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
- { 14997, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
- { 15019, 0x00000D91 }, /* GL_MAP1_INDEX */
- { 15033, 0x00000D92 }, /* GL_MAP1_NORMAL */
- { 15048, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
- { 15072, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
- { 15096, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
- { 15120, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
- { 15144, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
- { 15161, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
- { 15178, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- { 15206, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- { 15235, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- { 15264, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- { 15293, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- { 15322, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- { 15351, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- { 15380, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- { 15408, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- { 15436, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- { 15464, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- { 15492, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- { 15520, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- { 15548, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- { 15576, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- { 15604, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- { 15632, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
- { 15648, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
- { 15668, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
- { 15690, 0x00000DB1 }, /* GL_MAP2_INDEX */
- { 15704, 0x00000DB2 }, /* GL_MAP2_NORMAL */
- { 15719, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
- { 15743, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
- { 15767, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
- { 15791, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
- { 15815, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
- { 15832, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
- { 15849, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- { 15877, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- { 15906, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- { 15935, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- { 15964, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- { 15993, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- { 16022, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- { 16051, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- { 16079, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- { 16107, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- { 16135, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- { 16163, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- { 16191, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- { 16219, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
- { 16247, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- { 16275, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- { 16303, 0x00000D10 }, /* GL_MAP_COLOR */
- { 16316, 0x00000D11 }, /* GL_MAP_STENCIL */
- { 16331, 0x000088C0 }, /* GL_MATRIX0_ARB */
- { 16346, 0x00008630 }, /* GL_MATRIX0_NV */
- { 16360, 0x000088CA }, /* GL_MATRIX10_ARB */
- { 16376, 0x000088CB }, /* GL_MATRIX11_ARB */
- { 16392, 0x000088CC }, /* GL_MATRIX12_ARB */
- { 16408, 0x000088CD }, /* GL_MATRIX13_ARB */
- { 16424, 0x000088CE }, /* GL_MATRIX14_ARB */
- { 16440, 0x000088CF }, /* GL_MATRIX15_ARB */
- { 16456, 0x000088D0 }, /* GL_MATRIX16_ARB */
- { 16472, 0x000088D1 }, /* GL_MATRIX17_ARB */
- { 16488, 0x000088D2 }, /* GL_MATRIX18_ARB */
- { 16504, 0x000088D3 }, /* GL_MATRIX19_ARB */
- { 16520, 0x000088C1 }, /* GL_MATRIX1_ARB */
- { 16535, 0x00008631 }, /* GL_MATRIX1_NV */
- { 16549, 0x000088D4 }, /* GL_MATRIX20_ARB */
- { 16565, 0x000088D5 }, /* GL_MATRIX21_ARB */
- { 16581, 0x000088D6 }, /* GL_MATRIX22_ARB */
- { 16597, 0x000088D7 }, /* GL_MATRIX23_ARB */
- { 16613, 0x000088D8 }, /* GL_MATRIX24_ARB */
- { 16629, 0x000088D9 }, /* GL_MATRIX25_ARB */
- { 16645, 0x000088DA }, /* GL_MATRIX26_ARB */
- { 16661, 0x000088DB }, /* GL_MATRIX27_ARB */
- { 16677, 0x000088DC }, /* GL_MATRIX28_ARB */
- { 16693, 0x000088DD }, /* GL_MATRIX29_ARB */
- { 16709, 0x000088C2 }, /* GL_MATRIX2_ARB */
- { 16724, 0x00008632 }, /* GL_MATRIX2_NV */
- { 16738, 0x000088DE }, /* GL_MATRIX30_ARB */
- { 16754, 0x000088DF }, /* GL_MATRIX31_ARB */
- { 16770, 0x000088C3 }, /* GL_MATRIX3_ARB */
- { 16785, 0x00008633 }, /* GL_MATRIX3_NV */
- { 16799, 0x000088C4 }, /* GL_MATRIX4_ARB */
- { 16814, 0x00008634 }, /* GL_MATRIX4_NV */
- { 16828, 0x000088C5 }, /* GL_MATRIX5_ARB */
- { 16843, 0x00008635 }, /* GL_MATRIX5_NV */
- { 16857, 0x000088C6 }, /* GL_MATRIX6_ARB */
- { 16872, 0x00008636 }, /* GL_MATRIX6_NV */
- { 16886, 0x000088C7 }, /* GL_MATRIX7_ARB */
- { 16901, 0x00008637 }, /* GL_MATRIX7_NV */
- { 16915, 0x000088C8 }, /* GL_MATRIX8_ARB */
- { 16930, 0x000088C9 }, /* GL_MATRIX9_ARB */
- { 16945, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
- { 16971, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- { 17005, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- { 17036, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- { 17069, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- { 17100, 0x00000BA0 }, /* GL_MATRIX_MODE */
- { 17115, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
- { 17137, 0x00008008 }, /* GL_MAX */
- { 17144, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
- { 17167, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
- { 17199, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
- { 17225, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- { 17258, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- { 17284, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 17318, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
- { 17337, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
- { 17366, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- { 17398, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
- { 17434, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- { 17470, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
- { 17510, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
- { 17536, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
- { 17566, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
- { 17591, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
- { 17620, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- { 17649, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
- { 17682, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
- { 17702, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
- { 17726, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
- { 17750, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
- { 17774, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
- { 17799, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
- { 17817, 0x00008008 }, /* GL_MAX_EXT */
- { 17828, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- { 17863, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
- { 17902, 0x00000D31 }, /* GL_MAX_LIGHTS */
- { 17916, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
- { 17936, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- { 17974, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- { 18003, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
- { 18027, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
- { 18055, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
- { 18078, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 18115, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 18151, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- { 18178, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- { 18207, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- { 18241, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
- { 18277, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- { 18304, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- { 18336, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- { 18372, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- { 18401, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- { 18430, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
- { 18458, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- { 18496, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 18540, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 18583, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 18617, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 18656, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 18693, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 18731, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 18774, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 18817, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- { 18847, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- { 18878, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 18914, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 18950, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
- { 18980, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
- { 19014, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
- { 19047, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
- { 19076, 0x00008D57 }, /* GL_MAX_SAMPLES */
- { 19091, 0x00008504 }, /* GL_MAX_SHININESS_NV */
- { 19111, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
- { 19135, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
- { 19157, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
- { 19183, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- { 19210, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
- { 19241, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
- { 19265, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- { 19299, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
- { 19319, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
- { 19346, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
- { 19367, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
- { 19392, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
- { 19417, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
- { 19452, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
- { 19474, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
- { 19500, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
- { 19522, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
- { 19548, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- { 19582, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
- { 19620, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- { 19653, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
- { 19690, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
- { 19714, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
- { 19735, 0x00008007 }, /* GL_MIN */
- { 19742, 0x0000802E }, /* GL_MINMAX */
- { 19752, 0x0000802E }, /* GL_MINMAX_EXT */
- { 19766, 0x0000802F }, /* GL_MINMAX_FORMAT */
- { 19783, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
- { 19804, 0x00008030 }, /* GL_MINMAX_SINK */
- { 19819, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
- { 19838, 0x00008007 }, /* GL_MIN_EXT */
- { 19849, 0x00008370 }, /* GL_MIRRORED_REPEAT */
- { 19868, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
- { 19891, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
- { 19914, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
- { 19934, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
- { 19954, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- { 19984, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
- { 20012, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- { 20040, 0x00001700 }, /* GL_MODELVIEW */
- { 20053, 0x00001700 }, /* GL_MODELVIEW0_ARB */
- { 20071, 0x0000872A }, /* GL_MODELVIEW10_ARB */
- { 20090, 0x0000872B }, /* GL_MODELVIEW11_ARB */
- { 20109, 0x0000872C }, /* GL_MODELVIEW12_ARB */
- { 20128, 0x0000872D }, /* GL_MODELVIEW13_ARB */
- { 20147, 0x0000872E }, /* GL_MODELVIEW14_ARB */
- { 20166, 0x0000872F }, /* GL_MODELVIEW15_ARB */
- { 20185, 0x00008730 }, /* GL_MODELVIEW16_ARB */
- { 20204, 0x00008731 }, /* GL_MODELVIEW17_ARB */
- { 20223, 0x00008732 }, /* GL_MODELVIEW18_ARB */
- { 20242, 0x00008733 }, /* GL_MODELVIEW19_ARB */
- { 20261, 0x0000850A }, /* GL_MODELVIEW1_ARB */
- { 20279, 0x00008734 }, /* GL_MODELVIEW20_ARB */
- { 20298, 0x00008735 }, /* GL_MODELVIEW21_ARB */
- { 20317, 0x00008736 }, /* GL_MODELVIEW22_ARB */
- { 20336, 0x00008737 }, /* GL_MODELVIEW23_ARB */
- { 20355, 0x00008738 }, /* GL_MODELVIEW24_ARB */
- { 20374, 0x00008739 }, /* GL_MODELVIEW25_ARB */
- { 20393, 0x0000873A }, /* GL_MODELVIEW26_ARB */
- { 20412, 0x0000873B }, /* GL_MODELVIEW27_ARB */
- { 20431, 0x0000873C }, /* GL_MODELVIEW28_ARB */
- { 20450, 0x0000873D }, /* GL_MODELVIEW29_ARB */
- { 20469, 0x00008722 }, /* GL_MODELVIEW2_ARB */
- { 20487, 0x0000873E }, /* GL_MODELVIEW30_ARB */
- { 20506, 0x0000873F }, /* GL_MODELVIEW31_ARB */
- { 20525, 0x00008723 }, /* GL_MODELVIEW3_ARB */
- { 20543, 0x00008724 }, /* GL_MODELVIEW4_ARB */
- { 20561, 0x00008725 }, /* GL_MODELVIEW5_ARB */
- { 20579, 0x00008726 }, /* GL_MODELVIEW6_ARB */
- { 20597, 0x00008727 }, /* GL_MODELVIEW7_ARB */
- { 20615, 0x00008728 }, /* GL_MODELVIEW8_ARB */
- { 20633, 0x00008729 }, /* GL_MODELVIEW9_ARB */
- { 20651, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
- { 20671, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
- { 20698, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
- { 20723, 0x00002100 }, /* GL_MODULATE */
- { 20735, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
- { 20755, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
- { 20782, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
- { 20807, 0x00000103 }, /* GL_MULT */
- { 20815, 0x0000809D }, /* GL_MULTISAMPLE */
- { 20830, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
- { 20850, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
- { 20869, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
- { 20888, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
- { 20912, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
- { 20935, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- { 20965, 0x00002A25 }, /* GL_N3F_V3F */
- { 20976, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
- { 20996, 0x0000150E }, /* GL_NAND */
- { 21004, 0x00002600 }, /* GL_NEAREST */
- { 21015, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- { 21046, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- { 21078, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
- { 21103, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
- { 21129, 0x00000200 }, /* GL_NEVER */
- { 21138, 0x00001102 }, /* GL_NICEST */
- { 21148, 0x00000000 }, /* GL_NONE */
- { 21156, 0x00001505 }, /* GL_NOOP */
- { 21164, 0x00001508 }, /* GL_NOR */
- { 21171, 0x00000BA1 }, /* GL_NORMALIZE */
- { 21184, 0x00008075 }, /* GL_NORMAL_ARRAY */
- { 21200, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
- { 21231, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
- { 21266, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
- { 21290, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
- { 21313, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
- { 21334, 0x00008511 }, /* GL_NORMAL_MAP */
- { 21348, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
- { 21366, 0x00008511 }, /* GL_NORMAL_MAP_NV */
- { 21383, 0x00000205 }, /* GL_NOTEQUAL */
- { 21395, 0x00000000 }, /* GL_NO_ERROR */
- { 21407, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
- { 21441, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
- { 21479, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
- { 21511, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
- { 21553, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
- { 21583, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
- { 21623, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
- { 21654, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
- { 21683, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
- { 21711, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
- { 21741, 0x00002401 }, /* GL_OBJECT_LINEAR */
- { 21758, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
- { 21784, 0x00002501 }, /* GL_OBJECT_PLANE */
- { 21800, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
- { 21835, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
- { 21857, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
- { 21876, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
- { 21906, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
- { 21927, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
- { 21955, 0x00000001 }, /* GL_ONE */
- { 21962, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
- { 21990, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
- { 22022, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
- { 22050, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
- { 22082, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
- { 22105, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
- { 22128, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
- { 22151, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
- { 22174, 0x00008598 }, /* GL_OPERAND0_ALPHA */
- { 22192, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
- { 22214, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
- { 22236, 0x00008590 }, /* GL_OPERAND0_RGB */
- { 22252, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
- { 22272, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
- { 22292, 0x00008599 }, /* GL_OPERAND1_ALPHA */
- { 22310, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
- { 22332, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
- { 22354, 0x00008591 }, /* GL_OPERAND1_RGB */
- { 22370, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
- { 22390, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
- { 22410, 0x0000859A }, /* GL_OPERAND2_ALPHA */
- { 22428, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
- { 22450, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
- { 22472, 0x00008592 }, /* GL_OPERAND2_RGB */
- { 22488, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
- { 22508, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
- { 22528, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
- { 22549, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
- { 22568, 0x00001507 }, /* GL_OR */
- { 22574, 0x00000A01 }, /* GL_ORDER */
- { 22583, 0x0000150D }, /* GL_OR_INVERTED */
- { 22598, 0x0000150B }, /* GL_OR_REVERSE */
- { 22612, 0x00000505 }, /* GL_OUT_OF_MEMORY */
- { 22629, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
- { 22647, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
- { 22668, 0x00008758 }, /* GL_PACK_INVERT_MESA */
- { 22688, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
- { 22706, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
- { 22725, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
- { 22745, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
- { 22765, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
- { 22783, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
- { 22802, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
- { 22827, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
- { 22851, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
- { 22872, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
- { 22894, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
- { 22916, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
- { 22941, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
- { 22965, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
- { 22986, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
- { 23008, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
- { 23030, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
- { 23052, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
- { 23083, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
- { 23103, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- { 23128, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
- { 23148, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- { 23173, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
- { 23193, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- { 23218, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
- { 23238, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- { 23263, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
- { 23283, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- { 23308, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
- { 23328, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- { 23353, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
- { 23373, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- { 23398, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
- { 23418, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- { 23443, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
- { 23463, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- { 23488, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
- { 23508, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- { 23533, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
- { 23551, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */
- { 23572, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */
- { 23601, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
- { 23634, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
- { 23659, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */
- { 23682, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
- { 23713, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
- { 23748, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
- { 23775, 0x00001B00 }, /* GL_POINT */
- { 23784, 0x00000000 }, /* GL_POINTS */
- { 23794, 0x00000002 }, /* GL_POINT_BIT */
- { 23807, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
- { 23837, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
- { 23871, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
- { 23905, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
- { 23940, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
- { 23969, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
- { 24002, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
- { 24035, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
- { 24069, 0x00000B11 }, /* GL_POINT_SIZE */
- { 24083, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
- { 24109, 0x00008127 }, /* GL_POINT_SIZE_MAX */
- { 24127, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
- { 24149, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
- { 24171, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
- { 24194, 0x00008126 }, /* GL_POINT_SIZE_MIN */
- { 24212, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
- { 24234, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
- { 24256, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
- { 24279, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
- { 24299, 0x00000B10 }, /* GL_POINT_SMOOTH */
- { 24315, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
- { 24336, 0x00008861 }, /* GL_POINT_SPRITE */
- { 24352, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
- { 24372, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
- { 24401, 0x00008861 }, /* GL_POINT_SPRITE_NV */
- { 24420, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
- { 24446, 0x00000701 }, /* GL_POINT_TOKEN */
- { 24461, 0x00000009 }, /* GL_POLYGON */
- { 24472, 0x00000008 }, /* GL_POLYGON_BIT */
- { 24487, 0x00000B40 }, /* GL_POLYGON_MODE */
- { 24503, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
- { 24526, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
- { 24551, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
- { 24574, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
- { 24597, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
- { 24621, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
- { 24645, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
- { 24663, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
- { 24686, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
- { 24705, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
- { 24728, 0x00000703 }, /* GL_POLYGON_TOKEN */
- { 24745, 0x00001203 }, /* GL_POSITION */
- { 24757, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- { 24789, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
- { 24825, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- { 24858, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
- { 24895, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- { 24926, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
- { 24961, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- { 24993, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
- { 25029, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- { 25062, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- { 25094, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
- { 25130, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- { 25163, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
- { 25200, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- { 25230, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
- { 25264, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- { 25295, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
- { 25330, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- { 25361, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
- { 25396, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- { 25428, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
- { 25464, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- { 25494, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
- { 25528, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- { 25559, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
- { 25594, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- { 25626, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- { 25657, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
- { 25692, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- { 25724, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
- { 25760, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
- { 25789, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
- { 25822, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
- { 25852, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
- { 25886, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- { 25925, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- { 25958, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- { 25998, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- { 26032, 0x00008578 }, /* GL_PREVIOUS */
- { 26044, 0x00008578 }, /* GL_PREVIOUS_ARB */
- { 26060, 0x00008578 }, /* GL_PREVIOUS_EXT */
- { 26076, 0x00008577 }, /* GL_PRIMARY_COLOR */
- { 26093, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
- { 26114, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
- { 26135, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 26168, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 26200, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
- { 26223, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
- { 26246, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
- { 26276, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
- { 26305, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
- { 26333, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
- { 26355, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- { 26383, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- { 26411, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
- { 26433, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
- { 26454, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 26494, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 26533, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 26563, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 26598, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 26631, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 26665, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 26704, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 26743, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
- { 26765, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
- { 26791, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
- { 26815, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
- { 26838, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
- { 26860, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
- { 26881, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
- { 26902, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
- { 26929, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 26961, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 26993, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- { 27028, 0x00001701 }, /* GL_PROJECTION */
- { 27042, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
- { 27063, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
- { 27089, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
- { 27110, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
- { 27129, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
- { 27152, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
- { 27191, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- { 27229, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
- { 27249, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
- { 27279, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
- { 27303, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
- { 27323, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
- { 27353, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
- { 27377, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
- { 27397, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- { 27430, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
- { 27456, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
- { 27486, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
- { 27517, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
- { 27547, 0x00002003 }, /* GL_Q */
- { 27552, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
- { 27577, 0x00000007 }, /* GL_QUADS */
- { 27586, 0x00008614 }, /* GL_QUAD_MESH_SUN */
- { 27603, 0x00000008 }, /* GL_QUAD_STRIP */
- { 27617, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
- { 27639, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
- { 27665, 0x00008866 }, /* GL_QUERY_RESULT */
- { 27681, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
- { 27701, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
- { 27727, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
- { 27757, 0x00002002 }, /* GL_R */
- { 27762, 0x00002A10 }, /* GL_R3_G3_B2 */
- { 27774, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- { 27807, 0x00000C02 }, /* GL_READ_BUFFER */
- { 27822, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */
- { 27842, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
- { 27874, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
- { 27898, 0x000088B8 }, /* GL_READ_ONLY */
- { 27911, 0x000088B8 }, /* GL_READ_ONLY_ARB */
- { 27928, 0x000088BA }, /* GL_READ_WRITE */
- { 27942, 0x000088BA }, /* GL_READ_WRITE_ARB */
- { 27960, 0x00001903 }, /* GL_RED */
- { 27967, 0x00008016 }, /* GL_REDUCE */
- { 27977, 0x00008016 }, /* GL_REDUCE_EXT */
- { 27991, 0x00000D15 }, /* GL_RED_BIAS */
- { 28003, 0x00000D52 }, /* GL_RED_BITS */
- { 28015, 0x00000D14 }, /* GL_RED_SCALE */
- { 28028, 0x00008512 }, /* GL_REFLECTION_MAP */
- { 28046, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
- { 28068, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
- { 28089, 0x00001C00 }, /* GL_RENDER */
- { 28099, 0x00008D41 }, /* GL_RENDERBUFFER */
- { 28115, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */
- { 28142, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
- { 28170, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */
- { 28196, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */
- { 28223, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
- { 28243, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */
- { 28270, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */
- { 28293, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
- { 28320, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
- { 28352, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
- { 28388, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */
- { 28413, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */
- { 28437, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */
- { 28466, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */
- { 28488, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
- { 28514, 0x00001F01 }, /* GL_RENDERER */
- { 28526, 0x00000C40 }, /* GL_RENDER_MODE */
- { 28541, 0x00002901 }, /* GL_REPEAT */
- { 28551, 0x00001E01 }, /* GL_REPLACE */
- { 28562, 0x00008062 }, /* GL_REPLACE_EXT */
- { 28577, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
- { 28600, 0x0000803A }, /* GL_RESCALE_NORMAL */
- { 28618, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
- { 28640, 0x00000102 }, /* GL_RETURN */
- { 28650, 0x00001907 }, /* GL_RGB */
- { 28657, 0x00008052 }, /* GL_RGB10 */
- { 28666, 0x00008059 }, /* GL_RGB10_A2 */
- { 28678, 0x00008059 }, /* GL_RGB10_A2_EXT */
- { 28694, 0x00008052 }, /* GL_RGB10_EXT */
- { 28707, 0x00008053 }, /* GL_RGB12 */
- { 28716, 0x00008053 }, /* GL_RGB12_EXT */
- { 28729, 0x00008054 }, /* GL_RGB16 */
- { 28738, 0x00008054 }, /* GL_RGB16_EXT */
- { 28751, 0x0000804E }, /* GL_RGB2_EXT */
- { 28763, 0x0000804F }, /* GL_RGB4 */
- { 28771, 0x0000804F }, /* GL_RGB4_EXT */
- { 28783, 0x000083A1 }, /* GL_RGB4_S3TC */
- { 28796, 0x00008050 }, /* GL_RGB5 */
- { 28804, 0x00008057 }, /* GL_RGB5_A1 */
- { 28815, 0x00008057 }, /* GL_RGB5_A1_EXT */
- { 28830, 0x00008050 }, /* GL_RGB5_EXT */
- { 28842, 0x00008051 }, /* GL_RGB8 */
- { 28850, 0x00008051 }, /* GL_RGB8_EXT */
- { 28862, 0x00001908 }, /* GL_RGBA */
- { 28870, 0x0000805A }, /* GL_RGBA12 */
- { 28880, 0x0000805A }, /* GL_RGBA12_EXT */
- { 28894, 0x0000805B }, /* GL_RGBA16 */
- { 28904, 0x0000805B }, /* GL_RGBA16_EXT */
- { 28918, 0x00008055 }, /* GL_RGBA2 */
- { 28927, 0x00008055 }, /* GL_RGBA2_EXT */
- { 28940, 0x00008056 }, /* GL_RGBA4 */
- { 28949, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
- { 28968, 0x00008056 }, /* GL_RGBA4_EXT */
- { 28981, 0x000083A3 }, /* GL_RGBA4_S3TC */
- { 28995, 0x00008058 }, /* GL_RGBA8 */
- { 29004, 0x00008058 }, /* GL_RGBA8_EXT */
- { 29017, 0x00008F97 }, /* GL_RGBA8_SNORM */
- { 29032, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
- { 29050, 0x00000C31 }, /* GL_RGBA_MODE */
- { 29063, 0x000083A2 }, /* GL_RGBA_S3TC */
- { 29076, 0x00008F93 }, /* GL_RGBA_SNORM */
- { 29090, 0x000083A0 }, /* GL_RGB_S3TC */
- { 29102, 0x00008573 }, /* GL_RGB_SCALE */
- { 29115, 0x00008573 }, /* GL_RGB_SCALE_ARB */
- { 29132, 0x00008573 }, /* GL_RGB_SCALE_EXT */
- { 29149, 0x00000407 }, /* GL_RIGHT */
- { 29158, 0x00002000 }, /* GL_S */
- { 29163, 0x00008B5D }, /* GL_SAMPLER_1D */
- { 29177, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
- { 29198, 0x00008B5E }, /* GL_SAMPLER_2D */
- { 29212, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
- { 29233, 0x00008B5F }, /* GL_SAMPLER_3D */
- { 29247, 0x00008B60 }, /* GL_SAMPLER_CUBE */
- { 29263, 0x000080A9 }, /* GL_SAMPLES */
- { 29274, 0x000086B4 }, /* GL_SAMPLES_3DFX */
- { 29290, 0x000080A9 }, /* GL_SAMPLES_ARB */
- { 29305, 0x00008914 }, /* GL_SAMPLES_PASSED */
- { 29323, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
- { 29345, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- { 29373, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
- { 29405, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
- { 29428, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
- { 29455, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
- { 29473, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
- { 29496, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
- { 29518, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
- { 29537, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
- { 29560, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
- { 29586, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
- { 29616, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
- { 29641, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
- { 29670, 0x00080000 }, /* GL_SCISSOR_BIT */
- { 29685, 0x00000C10 }, /* GL_SCISSOR_BOX */
- { 29700, 0x00000C11 }, /* GL_SCISSOR_TEST */
- { 29716, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
- { 29741, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- { 29781, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
- { 29825, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- { 29858, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- { 29888, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- { 29920, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- { 29950, 0x00001C02 }, /* GL_SELECT */
- { 29960, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
- { 29988, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
- { 30013, 0x00008012 }, /* GL_SEPARABLE_2D */
- { 30029, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
- { 30056, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
- { 30087, 0x0000150F }, /* GL_SET */
- { 30094, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
- { 30115, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
- { 30139, 0x00008B4F }, /* GL_SHADER_TYPE */
- { 30154, 0x00000B54 }, /* GL_SHADE_MODEL */
- { 30169, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
- { 30197, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
- { 30220, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- { 30250, 0x00001601 }, /* GL_SHININESS */
- { 30263, 0x00001402 }, /* GL_SHORT */
- { 30272, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */
- { 30293, 0x000081F9 }, /* GL_SINGLE_COLOR */
- { 30309, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
- { 30329, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
- { 30348, 0x00008C46 }, /* GL_SLUMINANCE */
- { 30362, 0x00008C47 }, /* GL_SLUMINANCE8 */
- { 30377, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */
- { 30399, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */
- { 30419, 0x00001D01 }, /* GL_SMOOTH */
- { 30429, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
- { 30462, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
- { 30489, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
- { 30522, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
- { 30549, 0x00008588 }, /* GL_SOURCE0_ALPHA */
- { 30566, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
- { 30587, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
- { 30608, 0x00008580 }, /* GL_SOURCE0_RGB */
- { 30623, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
- { 30642, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
- { 30661, 0x00008589 }, /* GL_SOURCE1_ALPHA */
- { 30678, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
- { 30699, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
- { 30720, 0x00008581 }, /* GL_SOURCE1_RGB */
- { 30735, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
- { 30754, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
- { 30773, 0x0000858A }, /* GL_SOURCE2_ALPHA */
- { 30790, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
- { 30811, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
- { 30832, 0x00008582 }, /* GL_SOURCE2_RGB */
- { 30847, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
- { 30866, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
- { 30885, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
- { 30905, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
- { 30923, 0x00001202 }, /* GL_SPECULAR */
- { 30935, 0x00002402 }, /* GL_SPHERE_MAP */
- { 30949, 0x00001206 }, /* GL_SPOT_CUTOFF */
- { 30964, 0x00001204 }, /* GL_SPOT_DIRECTION */
- { 30982, 0x00001205 }, /* GL_SPOT_EXPONENT */
- { 30999, 0x00008588 }, /* GL_SRC0_ALPHA */
- { 31013, 0x00008580 }, /* GL_SRC0_RGB */
- { 31025, 0x00008589 }, /* GL_SRC1_ALPHA */
- { 31039, 0x00008581 }, /* GL_SRC1_RGB */
- { 31051, 0x0000858A }, /* GL_SRC2_ALPHA */
- { 31065, 0x00008582 }, /* GL_SRC2_RGB */
- { 31077, 0x00000302 }, /* GL_SRC_ALPHA */
- { 31090, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
- { 31112, 0x00000300 }, /* GL_SRC_COLOR */
- { 31125, 0x00008C40 }, /* GL_SRGB */
- { 31133, 0x00008C41 }, /* GL_SRGB8 */
- { 31142, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */
- { 31158, 0x00008C42 }, /* GL_SRGB_ALPHA */
- { 31172, 0x00000503 }, /* GL_STACK_OVERFLOW */
- { 31190, 0x00000504 }, /* GL_STACK_UNDERFLOW */
- { 31209, 0x000088E6 }, /* GL_STATIC_COPY */
- { 31224, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
- { 31243, 0x000088E4 }, /* GL_STATIC_DRAW */
- { 31258, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
- { 31277, 0x000088E5 }, /* GL_STATIC_READ */
- { 31292, 0x000088E5 }, /* GL_STATIC_READ_ARB */
- { 31311, 0x00001802 }, /* GL_STENCIL */
- { 31322, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */
- { 31344, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
- { 31370, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
- { 31391, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */
- { 31416, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
- { 31437, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */
- { 31462, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- { 31494, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */
- { 31530, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- { 31562, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */
- { 31598, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
- { 31618, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
- { 31645, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
- { 31671, 0x00000D57 }, /* GL_STENCIL_BITS */
- { 31687, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
- { 31709, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
- { 31732, 0x00000B94 }, /* GL_STENCIL_FAIL */
- { 31748, 0x00000B92 }, /* GL_STENCIL_FUNC */
- { 31764, 0x00001901 }, /* GL_STENCIL_INDEX */
- { 31781, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
- { 31804, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
- { 31826, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
- { 31848, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
- { 31870, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
- { 31891, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
- { 31918, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
- { 31945, 0x00000B97 }, /* GL_STENCIL_REF */
- { 31960, 0x00000B90 }, /* GL_STENCIL_TEST */
- { 31976, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
- { 32005, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
- { 32027, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
- { 32048, 0x00000C33 }, /* GL_STEREO */
- { 32058, 0x000088E2 }, /* GL_STREAM_COPY */
- { 32073, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
- { 32092, 0x000088E0 }, /* GL_STREAM_DRAW */
- { 32107, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
- { 32126, 0x000088E1 }, /* GL_STREAM_READ */
- { 32141, 0x000088E1 }, /* GL_STREAM_READ_ARB */
- { 32160, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
- { 32177, 0x000084E7 }, /* GL_SUBTRACT */
- { 32189, 0x000084E7 }, /* GL_SUBTRACT_ARB */
- { 32205, 0x00002001 }, /* GL_T */
- { 32210, 0x00002A2A }, /* GL_T2F_C3F_V3F */
- { 32225, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
- { 32244, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
- { 32260, 0x00002A2B }, /* GL_T2F_N3F_V3F */
- { 32275, 0x00002A27 }, /* GL_T2F_V3F */
- { 32286, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
- { 32305, 0x00002A28 }, /* GL_T4F_V4F */
- { 32316, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
- { 32339, 0x00001702 }, /* GL_TEXTURE */
- { 32350, 0x000084C0 }, /* GL_TEXTURE0 */
- { 32362, 0x000084C0 }, /* GL_TEXTURE0_ARB */
- { 32378, 0x000084C1 }, /* GL_TEXTURE1 */
- { 32390, 0x000084CA }, /* GL_TEXTURE10 */
- { 32403, 0x000084CA }, /* GL_TEXTURE10_ARB */
- { 32420, 0x000084CB }, /* GL_TEXTURE11 */
- { 32433, 0x000084CB }, /* GL_TEXTURE11_ARB */
- { 32450, 0x000084CC }, /* GL_TEXTURE12 */
- { 32463, 0x000084CC }, /* GL_TEXTURE12_ARB */
- { 32480, 0x000084CD }, /* GL_TEXTURE13 */
- { 32493, 0x000084CD }, /* GL_TEXTURE13_ARB */
- { 32510, 0x000084CE }, /* GL_TEXTURE14 */
- { 32523, 0x000084CE }, /* GL_TEXTURE14_ARB */
- { 32540, 0x000084CF }, /* GL_TEXTURE15 */
- { 32553, 0x000084CF }, /* GL_TEXTURE15_ARB */
- { 32570, 0x000084D0 }, /* GL_TEXTURE16 */
- { 32583, 0x000084D0 }, /* GL_TEXTURE16_ARB */
- { 32600, 0x000084D1 }, /* GL_TEXTURE17 */
- { 32613, 0x000084D1 }, /* GL_TEXTURE17_ARB */
- { 32630, 0x000084D2 }, /* GL_TEXTURE18 */
- { 32643, 0x000084D2 }, /* GL_TEXTURE18_ARB */
- { 32660, 0x000084D3 }, /* GL_TEXTURE19 */
- { 32673, 0x000084D3 }, /* GL_TEXTURE19_ARB */
- { 32690, 0x000084C1 }, /* GL_TEXTURE1_ARB */
- { 32706, 0x000084C2 }, /* GL_TEXTURE2 */
- { 32718, 0x000084D4 }, /* GL_TEXTURE20 */
- { 32731, 0x000084D4 }, /* GL_TEXTURE20_ARB */
- { 32748, 0x000084D5 }, /* GL_TEXTURE21 */
- { 32761, 0x000084D5 }, /* GL_TEXTURE21_ARB */
- { 32778, 0x000084D6 }, /* GL_TEXTURE22 */
- { 32791, 0x000084D6 }, /* GL_TEXTURE22_ARB */
- { 32808, 0x000084D7 }, /* GL_TEXTURE23 */
- { 32821, 0x000084D7 }, /* GL_TEXTURE23_ARB */
- { 32838, 0x000084D8 }, /* GL_TEXTURE24 */
- { 32851, 0x000084D8 }, /* GL_TEXTURE24_ARB */
- { 32868, 0x000084D9 }, /* GL_TEXTURE25 */
- { 32881, 0x000084D9 }, /* GL_TEXTURE25_ARB */
- { 32898, 0x000084DA }, /* GL_TEXTURE26 */
- { 32911, 0x000084DA }, /* GL_TEXTURE26_ARB */
- { 32928, 0x000084DB }, /* GL_TEXTURE27 */
- { 32941, 0x000084DB }, /* GL_TEXTURE27_ARB */
- { 32958, 0x000084DC }, /* GL_TEXTURE28 */
- { 32971, 0x000084DC }, /* GL_TEXTURE28_ARB */
- { 32988, 0x000084DD }, /* GL_TEXTURE29 */
- { 33001, 0x000084DD }, /* GL_TEXTURE29_ARB */
- { 33018, 0x000084C2 }, /* GL_TEXTURE2_ARB */
- { 33034, 0x000084C3 }, /* GL_TEXTURE3 */
- { 33046, 0x000084DE }, /* GL_TEXTURE30 */
- { 33059, 0x000084DE }, /* GL_TEXTURE30_ARB */
- { 33076, 0x000084DF }, /* GL_TEXTURE31 */
- { 33089, 0x000084DF }, /* GL_TEXTURE31_ARB */
- { 33106, 0x000084C3 }, /* GL_TEXTURE3_ARB */
- { 33122, 0x000084C4 }, /* GL_TEXTURE4 */
- { 33134, 0x000084C4 }, /* GL_TEXTURE4_ARB */
- { 33150, 0x000084C5 }, /* GL_TEXTURE5 */
- { 33162, 0x000084C5 }, /* GL_TEXTURE5_ARB */
- { 33178, 0x000084C6 }, /* GL_TEXTURE6 */
- { 33190, 0x000084C6 }, /* GL_TEXTURE6_ARB */
- { 33206, 0x000084C7 }, /* GL_TEXTURE7 */
- { 33218, 0x000084C7 }, /* GL_TEXTURE7_ARB */
- { 33234, 0x000084C8 }, /* GL_TEXTURE8 */
- { 33246, 0x000084C8 }, /* GL_TEXTURE8_ARB */
- { 33262, 0x000084C9 }, /* GL_TEXTURE9 */
- { 33274, 0x000084C9 }, /* GL_TEXTURE9_ARB */
- { 33290, 0x00000DE0 }, /* GL_TEXTURE_1D */
- { 33304, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */
- { 33328, 0x00000DE1 }, /* GL_TEXTURE_2D */
- { 33342, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */
- { 33366, 0x0000806F }, /* GL_TEXTURE_3D */
- { 33380, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
- { 33402, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
- { 33428, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
- { 33450, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
- { 33472, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
- { 33504, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
- { 33526, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
- { 33558, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
- { 33580, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
- { 33608, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
- { 33640, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
- { 33673, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
- { 33705, 0x00040000 }, /* GL_TEXTURE_BIT */
- { 33720, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
- { 33741, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
- { 33766, 0x00001005 }, /* GL_TEXTURE_BORDER */
- { 33784, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
- { 33808, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- { 33839, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- { 33869, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- { 33899, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- { 33934, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- { 33965, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 34003, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
- { 34030, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- { 34062, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
- { 34096, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
- { 34120, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
- { 34148, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
- { 34172, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
- { 34200, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- { 34233, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
- { 34257, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
- { 34279, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
- { 34301, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
- { 34327, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
- { 34361, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- { 34394, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
- { 34431, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
- { 34459, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
- { 34491, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
- { 34514, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- { 34552, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
- { 34594, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- { 34625, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- { 34653, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- { 34683, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- { 34711, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
- { 34731, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
- { 34755, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- { 34786, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
- { 34821, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- { 34852, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
- { 34887, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- { 34918, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
- { 34953, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- { 34984, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
- { 35019, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- { 35050, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
- { 35085, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- { 35116, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
- { 35151, 0x00008071 }, /* GL_TEXTURE_DEPTH */
- { 35168, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
- { 35190, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
- { 35216, 0x00002300 }, /* GL_TEXTURE_ENV */
- { 35231, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
- { 35252, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
- { 35272, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
- { 35298, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
- { 35318, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
- { 35335, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
- { 35352, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
- { 35369, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
- { 35386, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
- { 35411, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
- { 35433, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
- { 35459, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
- { 35477, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
- { 35503, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
- { 35529, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
- { 35559, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
- { 35586, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
- { 35611, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
- { 35631, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
- { 35655, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- { 35682, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- { 35709, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- { 35736, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
- { 35762, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
- { 35792, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
- { 35814, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
- { 35832, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- { 35862, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- { 35890, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- { 35918, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- { 35946, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
- { 35967, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
- { 35986, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
- { 36008, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
- { 36027, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
- { 36047, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
- { 36072, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
- { 36096, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
- { 36116, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
- { 36140, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
- { 36160, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
- { 36183, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */
- { 36207, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
- { 36232, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- { 36266, 0x00001000 }, /* GL_TEXTURE_WIDTH */
- { 36283, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
- { 36301, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
- { 36319, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
- { 36337, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
- { 36357, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
- { 36376, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- { 36405, 0x00001000 }, /* GL_TRANSFORM_BIT */
- { 36422, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
- { 36448, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
- { 36478, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- { 36510, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- { 36540, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
- { 36574, 0x0000862C }, /* GL_TRANSPOSE_NV */
- { 36590, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- { 36621, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
- { 36656, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- { 36684, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
- { 36716, 0x00000004 }, /* GL_TRIANGLES */
- { 36729, 0x00000006 }, /* GL_TRIANGLE_FAN */
- { 36745, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
- { 36766, 0x00000005 }, /* GL_TRIANGLE_STRIP */
- { 36784, 0x00000001 }, /* GL_TRUE */
- { 36792, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
- { 36812, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
- { 36835, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
- { 36855, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
- { 36876, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
- { 36898, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
- { 36920, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
- { 36940, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
- { 36961, 0x00001401 }, /* GL_UNSIGNED_BYTE */
- { 36978, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- { 37005, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
- { 37028, 0x00001405 }, /* GL_UNSIGNED_INT */
- { 37044, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
- { 37071, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */
- { 37092, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
- { 37116, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- { 37147, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
- { 37171, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- { 37199, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */
- { 37222, 0x00001403 }, /* GL_UNSIGNED_SHORT */
- { 37240, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- { 37270, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- { 37296, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- { 37326, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- { 37352, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
- { 37376, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- { 37404, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- { 37432, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
- { 37459, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- { 37491, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
- { 37522, 0x00008CA2 }, /* GL_UPPER_LEFT */
- { 37536, 0x00002A20 }, /* GL_V2F */
- { 37543, 0x00002A21 }, /* GL_V3F */
- { 37550, 0x00008B83 }, /* GL_VALIDATE_STATUS */
- { 37569, 0x00001F00 }, /* GL_VENDOR */
- { 37579, 0x00001F02 }, /* GL_VERSION */
- { 37590, 0x00008074 }, /* GL_VERTEX_ARRAY */
- { 37606, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
- { 37636, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- { 37667, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
- { 37702, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
- { 37726, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
- { 37747, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
- { 37770, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
- { 37791, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- { 37818, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- { 37846, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- { 37874, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- { 37902, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- { 37930, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- { 37958, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- { 37986, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- { 38013, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- { 38040, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- { 38067, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- { 38094, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- { 38121, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- { 38148, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- { 38175, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- { 38202, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- { 38229, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- { 38267, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
- { 38309, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- { 38340, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
- { 38375, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- { 38409, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
- { 38447, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- { 38478, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
- { 38513, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- { 38541, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
- { 38573, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- { 38603, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
- { 38637, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- { 38665, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
- { 38697, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
- { 38717, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
- { 38739, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
- { 38768, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
- { 38789, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
- { 38818, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
- { 38851, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
- { 38883, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- { 38910, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
- { 38941, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
- { 38971, 0x00008B31 }, /* GL_VERTEX_SHADER */
- { 38988, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
- { 39009, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
- { 39036, 0x00000BA2 }, /* GL_VIEWPORT */
- { 39048, 0x00000800 }, /* GL_VIEWPORT_BIT */
- { 39064, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
- { 39084, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- { 39115, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
- { 39150, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- { 39178, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- { 39203, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- { 39230, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- { 39255, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
- { 39279, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
- { 39298, 0x000088B9 }, /* GL_WRITE_ONLY */
- { 39312, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
- { 39330, 0x00001506 }, /* GL_XOR */
- { 39337, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
- { 39356, 0x00008757 }, /* GL_YCBCR_MESA */
- { 39370, 0x00000000 }, /* GL_ZERO */
- { 39378, 0x00000D16 }, /* GL_ZOOM_X */
- { 39388, 0x00000D17 }, /* GL_ZOOM_Y */
+ { 6072, 0x00008F36 }, /* GL_COPY_READ_BUFFER */
+ { 6092, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */
+ { 6113, 0x00000B44 }, /* GL_CULL_FACE */
+ { 6126, 0x00000B45 }, /* GL_CULL_FACE_MODE */
+ { 6144, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
+ { 6163, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+ { 6195, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+ { 6230, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
+ { 6251, 0x00000001 }, /* GL_CURRENT_BIT */
+ { 6266, 0x00000B00 }, /* GL_CURRENT_COLOR */
+ { 6283, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
+ { 6304, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
+ { 6330, 0x00000B01 }, /* GL_CURRENT_INDEX */
+ { 6347, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
+ { 6369, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
+ { 6397, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
+ { 6418, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+ { 6452, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
+ { 6485, 0x00000B02 }, /* GL_CURRENT_NORMAL */
+ { 6503, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+ { 6533, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
+ { 6552, 0x00008865 }, /* GL_CURRENT_QUERY */
+ { 6569, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
+ { 6590, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
+ { 6614, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
+ { 6641, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
+ { 6665, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
+ { 6692, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
+ { 6725, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
+ { 6759, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+ { 6792, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
+ { 6819, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
+ { 6845, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
+ { 6870, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
+ { 6899, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
+ { 6921, 0x00000900 }, /* GL_CW */
+ { 6927, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
+ { 6948, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
+ { 6969, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
+ { 6989, 0x00002101 }, /* GL_DECAL */
+ { 6998, 0x00001E03 }, /* GL_DECR */
+ { 7006, 0x00008508 }, /* GL_DECR_WRAP */
+ { 7019, 0x00008508 }, /* GL_DECR_WRAP_EXT */
+ { 7036, 0x00008B80 }, /* GL_DELETE_STATUS */
+ { 7053, 0x00001801 }, /* GL_DEPTH */
+ { 7062, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */
+ { 7082, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */
+ { 7102, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
+ { 7126, 0x00000D1F }, /* GL_DEPTH_BIAS */
+ { 7140, 0x00000D56 }, /* GL_DEPTH_BITS */
+ { 7154, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
+ { 7174, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
+ { 7199, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
+ { 7219, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
+ { 7237, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
+ { 7258, 0x00001902 }, /* GL_DEPTH_COMPONENT */
+ { 7277, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
+ { 7298, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
+ { 7323, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
+ { 7349, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
+ { 7370, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
+ { 7395, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
+ { 7421, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
+ { 7442, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
+ { 7467, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
+ { 7493, 0x00000B74 }, /* GL_DEPTH_FUNC */
+ { 7507, 0x00000B70 }, /* GL_DEPTH_RANGE */
+ { 7522, 0x00000D1E }, /* GL_DEPTH_SCALE */
+ { 7537, 0x000084F9 }, /* GL_DEPTH_STENCIL */
+ { 7554, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */
+ { 7582, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
+ { 7602, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+ { 7630, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+ { 7658, 0x00000B71 }, /* GL_DEPTH_TEST */
+ { 7672, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
+ { 7694, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
+ { 7720, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
+ { 7739, 0x00001201 }, /* GL_DIFFUSE */
+ { 7750, 0x00000BD0 }, /* GL_DITHER */
+ { 7760, 0x00000A02 }, /* GL_DOMAIN */
+ { 7770, 0x00001100 }, /* GL_DONT_CARE */
+ { 7783, 0x000086AE }, /* GL_DOT3_RGB */
+ { 7795, 0x000086AF }, /* GL_DOT3_RGBA */
+ { 7808, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
+ { 7825, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
+ { 7842, 0x000086AE }, /* GL_DOT3_RGB_ARB */
+ { 7858, 0x00008740 }, /* GL_DOT3_RGB_EXT */
+ { 7874, 0x0000140A }, /* GL_DOUBLE */
+ { 7884, 0x00000C32 }, /* GL_DOUBLEBUFFER */
+ { 7900, 0x00000C01 }, /* GL_DRAW_BUFFER */
+ { 7915, 0x00008825 }, /* GL_DRAW_BUFFER0 */
+ { 7931, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
+ { 7951, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
+ { 7971, 0x00008826 }, /* GL_DRAW_BUFFER1 */
+ { 7987, 0x0000882F }, /* GL_DRAW_BUFFER10 */
+ { 8004, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
+ { 8025, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
+ { 8046, 0x00008830 }, /* GL_DRAW_BUFFER11 */
+ { 8063, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
+ { 8084, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
+ { 8105, 0x00008831 }, /* GL_DRAW_BUFFER12 */
+ { 8122, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
+ { 8143, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
+ { 8164, 0x00008832 }, /* GL_DRAW_BUFFER13 */
+ { 8181, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
+ { 8202, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
+ { 8223, 0x00008833 }, /* GL_DRAW_BUFFER14 */
+ { 8240, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
+ { 8261, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
+ { 8282, 0x00008834 }, /* GL_DRAW_BUFFER15 */
+ { 8299, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
+ { 8320, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
+ { 8341, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
+ { 8361, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
+ { 8381, 0x00008827 }, /* GL_DRAW_BUFFER2 */
+ { 8397, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
+ { 8417, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
+ { 8437, 0x00008828 }, /* GL_DRAW_BUFFER3 */
+ { 8453, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
+ { 8473, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
+ { 8493, 0x00008829 }, /* GL_DRAW_BUFFER4 */
+ { 8509, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
+ { 8529, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
+ { 8549, 0x0000882A }, /* GL_DRAW_BUFFER5 */
+ { 8565, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
+ { 8585, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
+ { 8605, 0x0000882B }, /* GL_DRAW_BUFFER6 */
+ { 8621, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
+ { 8641, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
+ { 8661, 0x0000882C }, /* GL_DRAW_BUFFER7 */
+ { 8677, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
+ { 8697, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
+ { 8717, 0x0000882D }, /* GL_DRAW_BUFFER8 */
+ { 8733, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
+ { 8753, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
+ { 8773, 0x0000882E }, /* GL_DRAW_BUFFER9 */
+ { 8789, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
+ { 8809, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
+ { 8829, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */
+ { 8849, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
+ { 8881, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
+ { 8905, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
+ { 8925, 0x00000304 }, /* GL_DST_ALPHA */
+ { 8938, 0x00000306 }, /* GL_DST_COLOR */
+ { 8951, 0x0000877A }, /* GL_DU8DV8_ATI */
+ { 8965, 0x00008779 }, /* GL_DUDV_ATI */
+ { 8977, 0x000088EA }, /* GL_DYNAMIC_COPY */
+ { 8993, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
+ { 9013, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
+ { 9029, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
+ { 9049, 0x000088E9 }, /* GL_DYNAMIC_READ */
+ { 9065, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
+ { 9085, 0x00000B43 }, /* GL_EDGE_FLAG */
+ { 9098, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
+ { 9117, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+ { 9151, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
+ { 9189, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
+ { 9216, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+ { 9242, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
+ { 9266, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+ { 9298, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
+ { 9334, 0x00001600 }, /* GL_EMISSION */
+ { 9346, 0x00002000 }, /* GL_ENABLE_BIT */
+ { 9360, 0x00000202 }, /* GL_EQUAL */
+ { 9369, 0x00001509 }, /* GL_EQUIV */
+ { 9378, 0x00010000 }, /* GL_EVAL_BIT */
+ { 9390, 0x00000800 }, /* GL_EXP */
+ { 9397, 0x00000801 }, /* GL_EXP2 */
+ { 9405, 0x00001F03 }, /* GL_EXTENSIONS */
+ { 9419, 0x00002400 }, /* GL_EYE_LINEAR */
+ { 9433, 0x00002502 }, /* GL_EYE_PLANE */
+ { 9446, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
+ { 9471, 0x0000855B }, /* GL_EYE_RADIAL_NV */
+ { 9488, 0x00000000 }, /* GL_FALSE */
+ { 9497, 0x00001101 }, /* GL_FASTEST */
+ { 9508, 0x00001C01 }, /* GL_FEEDBACK */
+ { 9520, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
+ { 9547, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
+ { 9571, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
+ { 9595, 0x00001B02 }, /* GL_FILL */
+ { 9603, 0x00001D00 }, /* GL_FLAT */
+ { 9611, 0x00001406 }, /* GL_FLOAT */
+ { 9620, 0x00008B5A }, /* GL_FLOAT_MAT2 */
+ { 9634, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
+ { 9652, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */
+ { 9668, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */
+ { 9684, 0x00008B5B }, /* GL_FLOAT_MAT3 */
+ { 9698, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
+ { 9716, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */
+ { 9732, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */
+ { 9748, 0x00008B5C }, /* GL_FLOAT_MAT4 */
+ { 9762, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
+ { 9780, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */
+ { 9796, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */
+ { 9812, 0x00008B50 }, /* GL_FLOAT_VEC2 */
+ { 9826, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
+ { 9844, 0x00008B51 }, /* GL_FLOAT_VEC3 */
+ { 9858, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
+ { 9876, 0x00008B52 }, /* GL_FLOAT_VEC4 */
+ { 9890, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
+ { 9908, 0x00000B60 }, /* GL_FOG */
+ { 9915, 0x00000080 }, /* GL_FOG_BIT */
+ { 9926, 0x00000B66 }, /* GL_FOG_COLOR */
+ { 9939, 0x00008451 }, /* GL_FOG_COORD */
+ { 9952, 0x00008451 }, /* GL_FOG_COORDINATE */
+ { 9970, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
+ { 9994, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+ { 10033, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
+ { 10076, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+ { 10108, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+ { 10139, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+ { 10168, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
+ { 10193, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
+ { 10212, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
+ { 10246, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
+ { 10273, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
+ { 10299, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
+ { 10323, 0x00008450 }, /* GL_FOG_COORD_SRC */
+ { 10340, 0x00000B62 }, /* GL_FOG_DENSITY */
+ { 10355, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
+ { 10379, 0x00000B64 }, /* GL_FOG_END */
+ { 10390, 0x00000C54 }, /* GL_FOG_HINT */
+ { 10402, 0x00000B61 }, /* GL_FOG_INDEX */
+ { 10415, 0x00000B65 }, /* GL_FOG_MODE */
+ { 10427, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
+ { 10446, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
+ { 10471, 0x00000B63 }, /* GL_FOG_START */
+ { 10484, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
+ { 10502, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
+ { 10526, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
+ { 10545, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
+ { 10568, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+ { 10603, 0x00008D40 }, /* GL_FRAMEBUFFER */
+ { 10618, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
+ { 10655, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
+ { 10691, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
+ { 10732, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
+ { 10773, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
+ { 10810, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
+ { 10847, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
+ { 10885, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
+ { 10927, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
+ { 10965, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
+ { 11007, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
+ { 11042, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
+ { 11081, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
+ { 11130, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
+ { 11178, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
+ { 11230, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+ { 11270, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
+ { 11314, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
+ { 11354, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
+ { 11398, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
+ { 11425, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */
+ { 11449, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
+ { 11477, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */
+ { 11500, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
+ { 11519, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
+ { 11556, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
+ { 11597, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+ { 11638, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
+ { 11680, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+ { 11731, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+ { 11769, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
+ { 11814, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
+ { 11863, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
+ { 11901, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
+ { 11943, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+ { 11975, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */
+ { 12000, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */
+ { 12027, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
+ { 12058, 0x00000404 }, /* GL_FRONT */
+ { 12067, 0x00000408 }, /* GL_FRONT_AND_BACK */
+ { 12085, 0x00000B46 }, /* GL_FRONT_FACE */
+ { 12099, 0x00000400 }, /* GL_FRONT_LEFT */
+ { 12113, 0x00000401 }, /* GL_FRONT_RIGHT */
+ { 12128, 0x00008006 }, /* GL_FUNC_ADD */
+ { 12140, 0x00008006 }, /* GL_FUNC_ADD_EXT */
+ { 12156, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
+ { 12181, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
+ { 12210, 0x0000800A }, /* GL_FUNC_SUBTRACT */
+ { 12227, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
+ { 12248, 0x00008191 }, /* GL_GENERATE_MIPMAP */
+ { 12267, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
+ { 12291, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
+ { 12320, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
+ { 12344, 0x00000206 }, /* GL_GEQUAL */
+ { 12354, 0x00000204 }, /* GL_GREATER */
+ { 12365, 0x00001904 }, /* GL_GREEN */
+ { 12374, 0x00000D19 }, /* GL_GREEN_BIAS */
+ { 12388, 0x00000D53 }, /* GL_GREEN_BITS */
+ { 12402, 0x00000D18 }, /* GL_GREEN_SCALE */
+ { 12417, 0x00008000 }, /* GL_HINT_BIT */
+ { 12429, 0x00008024 }, /* GL_HISTOGRAM */
+ { 12442, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
+ { 12466, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
+ { 12494, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
+ { 12517, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
+ { 12544, 0x00008024 }, /* GL_HISTOGRAM_EXT */
+ { 12561, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
+ { 12581, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
+ { 12605, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
+ { 12629, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
+ { 12657, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+ { 12685, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
+ { 12717, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
+ { 12739, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
+ { 12765, 0x0000802D }, /* GL_HISTOGRAM_SINK */
+ { 12783, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
+ { 12805, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
+ { 12824, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
+ { 12847, 0x0000862A }, /* GL_IDENTITY_NV */
+ { 12862, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
+ { 12882, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+ { 12922, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+ { 12960, 0x00001E02 }, /* GL_INCR */
+ { 12968, 0x00008507 }, /* GL_INCR_WRAP */
+ { 12981, 0x00008507 }, /* GL_INCR_WRAP_EXT */
+ { 12998, 0x00008222 }, /* GL_INDEX */
+ { 13007, 0x00008077 }, /* GL_INDEX_ARRAY */
+ { 13022, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+ { 13052, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
+ { 13086, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
+ { 13109, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
+ { 13131, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
+ { 13151, 0x00000D51 }, /* GL_INDEX_BITS */
+ { 13165, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
+ { 13186, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
+ { 13204, 0x00000C30 }, /* GL_INDEX_MODE */
+ { 13218, 0x00000D13 }, /* GL_INDEX_OFFSET */
+ { 13234, 0x00000D12 }, /* GL_INDEX_SHIFT */
+ { 13249, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
+ { 13268, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
+ { 13287, 0x00001404 }, /* GL_INT */
+ { 13294, 0x00008049 }, /* GL_INTENSITY */
+ { 13307, 0x0000804C }, /* GL_INTENSITY12 */
+ { 13322, 0x0000804C }, /* GL_INTENSITY12_EXT */
+ { 13341, 0x0000804D }, /* GL_INTENSITY16 */
+ { 13356, 0x0000804D }, /* GL_INTENSITY16_EXT */
+ { 13375, 0x0000804A }, /* GL_INTENSITY4 */
+ { 13389, 0x0000804A }, /* GL_INTENSITY4_EXT */
+ { 13407, 0x0000804B }, /* GL_INTENSITY8 */
+ { 13421, 0x0000804B }, /* GL_INTENSITY8_EXT */
+ { 13439, 0x00008049 }, /* GL_INTENSITY_EXT */
+ { 13456, 0x00008575 }, /* GL_INTERPOLATE */
+ { 13471, 0x00008575 }, /* GL_INTERPOLATE_ARB */
+ { 13490, 0x00008575 }, /* GL_INTERPOLATE_EXT */
+ { 13509, 0x00008B53 }, /* GL_INT_VEC2 */
+ { 13521, 0x00008B53 }, /* GL_INT_VEC2_ARB */
+ { 13537, 0x00008B54 }, /* GL_INT_VEC3 */
+ { 13549, 0x00008B54 }, /* GL_INT_VEC3_ARB */
+ { 13565, 0x00008B55 }, /* GL_INT_VEC4 */
+ { 13577, 0x00008B55 }, /* GL_INT_VEC4_ARB */
+ { 13593, 0x00000500 }, /* GL_INVALID_ENUM */
+ { 13609, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */
+ { 13642, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
+ { 13679, 0x00000502 }, /* GL_INVALID_OPERATION */
+ { 13700, 0x00000501 }, /* GL_INVALID_VALUE */
+ { 13717, 0x0000862B }, /* GL_INVERSE_NV */
+ { 13731, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
+ { 13755, 0x0000150A }, /* GL_INVERT */
+ { 13765, 0x00001E00 }, /* GL_KEEP */
+ { 13773, 0x00000406 }, /* GL_LEFT */
+ { 13781, 0x00000203 }, /* GL_LEQUAL */
+ { 13791, 0x00000201 }, /* GL_LESS */
+ { 13799, 0x00004000 }, /* GL_LIGHT0 */
+ { 13809, 0x00004001 }, /* GL_LIGHT1 */
+ { 13819, 0x00004002 }, /* GL_LIGHT2 */
+ { 13829, 0x00004003 }, /* GL_LIGHT3 */
+ { 13839, 0x00004004 }, /* GL_LIGHT4 */
+ { 13849, 0x00004005 }, /* GL_LIGHT5 */
+ { 13859, 0x00004006 }, /* GL_LIGHT6 */
+ { 13869, 0x00004007 }, /* GL_LIGHT7 */
+ { 13879, 0x00000B50 }, /* GL_LIGHTING */
+ { 13891, 0x00000040 }, /* GL_LIGHTING_BIT */
+ { 13907, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
+ { 13930, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+ { 13959, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
+ { 13992, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+ { 14020, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
+ { 14044, 0x00001B01 }, /* GL_LINE */
+ { 14052, 0x00002601 }, /* GL_LINEAR */
+ { 14062, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
+ { 14084, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+ { 14114, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+ { 14145, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
+ { 14169, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
+ { 14194, 0x00000001 }, /* GL_LINES */
+ { 14203, 0x00000004 }, /* GL_LINE_BIT */
+ { 14215, 0x00000002 }, /* GL_LINE_LOOP */
+ { 14228, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
+ { 14248, 0x00000B20 }, /* GL_LINE_SMOOTH */
+ { 14263, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
+ { 14283, 0x00000B24 }, /* GL_LINE_STIPPLE */
+ { 14299, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
+ { 14323, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
+ { 14346, 0x00000003 }, /* GL_LINE_STRIP */
+ { 14360, 0x00000702 }, /* GL_LINE_TOKEN */
+ { 14374, 0x00000B21 }, /* GL_LINE_WIDTH */
+ { 14388, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
+ { 14414, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
+ { 14434, 0x00008B82 }, /* GL_LINK_STATUS */
+ { 14449, 0x00000B32 }, /* GL_LIST_BASE */
+ { 14462, 0x00020000 }, /* GL_LIST_BIT */
+ { 14474, 0x00000B33 }, /* GL_LIST_INDEX */
+ { 14488, 0x00000B30 }, /* GL_LIST_MODE */
+ { 14501, 0x00000101 }, /* GL_LOAD */
+ { 14509, 0x00000BF1 }, /* GL_LOGIC_OP */
+ { 14521, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
+ { 14538, 0x00008CA1 }, /* GL_LOWER_LEFT */
+ { 14552, 0x00001909 }, /* GL_LUMINANCE */
+ { 14565, 0x00008041 }, /* GL_LUMINANCE12 */
+ { 14580, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
+ { 14603, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
+ { 14630, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
+ { 14652, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
+ { 14678, 0x00008041 }, /* GL_LUMINANCE12_EXT */
+ { 14697, 0x00008042 }, /* GL_LUMINANCE16 */
+ { 14712, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
+ { 14735, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
+ { 14762, 0x00008042 }, /* GL_LUMINANCE16_EXT */
+ { 14781, 0x0000803F }, /* GL_LUMINANCE4 */
+ { 14795, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
+ { 14816, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
+ { 14841, 0x0000803F }, /* GL_LUMINANCE4_EXT */
+ { 14859, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
+ { 14880, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
+ { 14905, 0x00008040 }, /* GL_LUMINANCE8 */
+ { 14919, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
+ { 14940, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
+ { 14965, 0x00008040 }, /* GL_LUMINANCE8_EXT */
+ { 14983, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
+ { 15002, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
+ { 15018, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
+ { 15038, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
+ { 15060, 0x00000D91 }, /* GL_MAP1_INDEX */
+ { 15074, 0x00000D92 }, /* GL_MAP1_NORMAL */
+ { 15089, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
+ { 15113, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
+ { 15137, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
+ { 15161, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
+ { 15185, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
+ { 15202, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
+ { 15219, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+ { 15247, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+ { 15276, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+ { 15305, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+ { 15334, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+ { 15363, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+ { 15392, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+ { 15421, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+ { 15449, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+ { 15477, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+ { 15505, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+ { 15533, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+ { 15561, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+ { 15589, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+ { 15617, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+ { 15645, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+ { 15673, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
+ { 15689, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
+ { 15709, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
+ { 15731, 0x00000DB1 }, /* GL_MAP2_INDEX */
+ { 15745, 0x00000DB2 }, /* GL_MAP2_NORMAL */
+ { 15760, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
+ { 15784, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
+ { 15808, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
+ { 15832, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
+ { 15856, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
+ { 15873, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
+ { 15890, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+ { 15918, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+ { 15947, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+ { 15976, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+ { 16005, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+ { 16034, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+ { 16063, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+ { 16092, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+ { 16120, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+ { 16148, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+ { 16176, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+ { 16204, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+ { 16232, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+ { 16260, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
+ { 16288, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+ { 16316, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+ { 16344, 0x00000D10 }, /* GL_MAP_COLOR */
+ { 16357, 0x00000D11 }, /* GL_MAP_STENCIL */
+ { 16372, 0x000088C0 }, /* GL_MATRIX0_ARB */
+ { 16387, 0x00008630 }, /* GL_MATRIX0_NV */
+ { 16401, 0x000088CA }, /* GL_MATRIX10_ARB */
+ { 16417, 0x000088CB }, /* GL_MATRIX11_ARB */
+ { 16433, 0x000088CC }, /* GL_MATRIX12_ARB */
+ { 16449, 0x000088CD }, /* GL_MATRIX13_ARB */
+ { 16465, 0x000088CE }, /* GL_MATRIX14_ARB */
+ { 16481, 0x000088CF }, /* GL_MATRIX15_ARB */
+ { 16497, 0x000088D0 }, /* GL_MATRIX16_ARB */
+ { 16513, 0x000088D1 }, /* GL_MATRIX17_ARB */
+ { 16529, 0x000088D2 }, /* GL_MATRIX18_ARB */
+ { 16545, 0x000088D3 }, /* GL_MATRIX19_ARB */
+ { 16561, 0x000088C1 }, /* GL_MATRIX1_ARB */
+ { 16576, 0x00008631 }, /* GL_MATRIX1_NV */
+ { 16590, 0x000088D4 }, /* GL_MATRIX20_ARB */
+ { 16606, 0x000088D5 }, /* GL_MATRIX21_ARB */
+ { 16622, 0x000088D6 }, /* GL_MATRIX22_ARB */
+ { 16638, 0x000088D7 }, /* GL_MATRIX23_ARB */
+ { 16654, 0x000088D8 }, /* GL_MATRIX24_ARB */
+ { 16670, 0x000088D9 }, /* GL_MATRIX25_ARB */
+ { 16686, 0x000088DA }, /* GL_MATRIX26_ARB */
+ { 16702, 0x000088DB }, /* GL_MATRIX27_ARB */
+ { 16718, 0x000088DC }, /* GL_MATRIX28_ARB */
+ { 16734, 0x000088DD }, /* GL_MATRIX29_ARB */
+ { 16750, 0x000088C2 }, /* GL_MATRIX2_ARB */
+ { 16765, 0x00008632 }, /* GL_MATRIX2_NV */
+ { 16779, 0x000088DE }, /* GL_MATRIX30_ARB */
+ { 16795, 0x000088DF }, /* GL_MATRIX31_ARB */
+ { 16811, 0x000088C3 }, /* GL_MATRIX3_ARB */
+ { 16826, 0x00008633 }, /* GL_MATRIX3_NV */
+ { 16840, 0x000088C4 }, /* GL_MATRIX4_ARB */
+ { 16855, 0x00008634 }, /* GL_MATRIX4_NV */
+ { 16869, 0x000088C5 }, /* GL_MATRIX5_ARB */
+ { 16884, 0x00008635 }, /* GL_MATRIX5_NV */
+ { 16898, 0x000088C6 }, /* GL_MATRIX6_ARB */
+ { 16913, 0x00008636 }, /* GL_MATRIX6_NV */
+ { 16927, 0x000088C7 }, /* GL_MATRIX7_ARB */
+ { 16942, 0x00008637 }, /* GL_MATRIX7_NV */
+ { 16956, 0x000088C8 }, /* GL_MATRIX8_ARB */
+ { 16971, 0x000088C9 }, /* GL_MATRIX9_ARB */
+ { 16986, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
+ { 17012, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+ { 17046, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+ { 17077, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+ { 17110, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+ { 17141, 0x00000BA0 }, /* GL_MATRIX_MODE */
+ { 17156, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
+ { 17178, 0x00008008 }, /* GL_MAX */
+ { 17185, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
+ { 17208, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+ { 17240, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
+ { 17266, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+ { 17299, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+ { 17325, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ { 17359, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
+ { 17378, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
+ { 17407, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+ { 17439, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
+ { 17475, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+ { 17511, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
+ { 17551, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
+ { 17577, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
+ { 17607, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
+ { 17632, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
+ { 17661, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+ { 17690, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
+ { 17723, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
+ { 17743, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
+ { 17767, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
+ { 17791, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
+ { 17815, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
+ { 17840, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
+ { 17858, 0x00008008 }, /* GL_MAX_EXT */
+ { 17869, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+ { 17904, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
+ { 17943, 0x00000D31 }, /* GL_MAX_LIGHTS */
+ { 17957, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
+ { 17977, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+ { 18015, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+ { 18044, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
+ { 18068, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
+ { 18096, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
+ { 18119, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+ { 18156, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ { 18192, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+ { 18219, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+ { 18248, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+ { 18282, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
+ { 18318, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+ { 18345, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+ { 18377, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+ { 18413, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+ { 18442, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+ { 18471, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
+ { 18499, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+ { 18537, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ { 18581, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ { 18624, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+ { 18658, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ { 18697, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+ { 18734, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ { 18772, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ { 18815, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ { 18858, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+ { 18888, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+ { 18919, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+ { 18955, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ { 18991, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
+ { 19021, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+ { 19055, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
+ { 19088, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
+ { 19117, 0x00008D57 }, /* GL_MAX_SAMPLES */
+ { 19132, 0x00008504 }, /* GL_MAX_SHININESS_NV */
+ { 19152, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
+ { 19176, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
+ { 19198, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
+ { 19224, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+ { 19251, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
+ { 19282, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
+ { 19306, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+ { 19340, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
+ { 19360, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
+ { 19387, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
+ { 19408, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
+ { 19433, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
+ { 19458, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
+ { 19493, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
+ { 19515, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
+ { 19541, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
+ { 19563, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
+ { 19589, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+ { 19623, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
+ { 19661, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+ { 19694, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
+ { 19731, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
+ { 19755, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
+ { 19776, 0x00008007 }, /* GL_MIN */
+ { 19783, 0x0000802E }, /* GL_MINMAX */
+ { 19793, 0x0000802E }, /* GL_MINMAX_EXT */
+ { 19807, 0x0000802F }, /* GL_MINMAX_FORMAT */
+ { 19824, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
+ { 19845, 0x00008030 }, /* GL_MINMAX_SINK */
+ { 19860, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
+ { 19879, 0x00008007 }, /* GL_MIN_EXT */
+ { 19890, 0x00008370 }, /* GL_MIRRORED_REPEAT */
+ { 19909, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
+ { 19932, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
+ { 19955, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
+ { 19975, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
+ { 19995, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+ { 20025, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
+ { 20053, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+ { 20081, 0x00001700 }, /* GL_MODELVIEW */
+ { 20094, 0x00001700 }, /* GL_MODELVIEW0_ARB */
+ { 20112, 0x0000872A }, /* GL_MODELVIEW10_ARB */
+ { 20131, 0x0000872B }, /* GL_MODELVIEW11_ARB */
+ { 20150, 0x0000872C }, /* GL_MODELVIEW12_ARB */
+ { 20169, 0x0000872D }, /* GL_MODELVIEW13_ARB */
+ { 20188, 0x0000872E }, /* GL_MODELVIEW14_ARB */
+ { 20207, 0x0000872F }, /* GL_MODELVIEW15_ARB */
+ { 20226, 0x00008730 }, /* GL_MODELVIEW16_ARB */
+ { 20245, 0x00008731 }, /* GL_MODELVIEW17_ARB */
+ { 20264, 0x00008732 }, /* GL_MODELVIEW18_ARB */
+ { 20283, 0x00008733 }, /* GL_MODELVIEW19_ARB */
+ { 20302, 0x0000850A }, /* GL_MODELVIEW1_ARB */
+ { 20320, 0x00008734 }, /* GL_MODELVIEW20_ARB */
+ { 20339, 0x00008735 }, /* GL_MODELVIEW21_ARB */
+ { 20358, 0x00008736 }, /* GL_MODELVIEW22_ARB */
+ { 20377, 0x00008737 }, /* GL_MODELVIEW23_ARB */
+ { 20396, 0x00008738 }, /* GL_MODELVIEW24_ARB */
+ { 20415, 0x00008739 }, /* GL_MODELVIEW25_ARB */
+ { 20434, 0x0000873A }, /* GL_MODELVIEW26_ARB */
+ { 20453, 0x0000873B }, /* GL_MODELVIEW27_ARB */
+ { 20472, 0x0000873C }, /* GL_MODELVIEW28_ARB */
+ { 20491, 0x0000873D }, /* GL_MODELVIEW29_ARB */
+ { 20510, 0x00008722 }, /* GL_MODELVIEW2_ARB */
+ { 20528, 0x0000873E }, /* GL_MODELVIEW30_ARB */
+ { 20547, 0x0000873F }, /* GL_MODELVIEW31_ARB */
+ { 20566, 0x00008723 }, /* GL_MODELVIEW3_ARB */
+ { 20584, 0x00008724 }, /* GL_MODELVIEW4_ARB */
+ { 20602, 0x00008725 }, /* GL_MODELVIEW5_ARB */
+ { 20620, 0x00008726 }, /* GL_MODELVIEW6_ARB */
+ { 20638, 0x00008727 }, /* GL_MODELVIEW7_ARB */
+ { 20656, 0x00008728 }, /* GL_MODELVIEW8_ARB */
+ { 20674, 0x00008729 }, /* GL_MODELVIEW9_ARB */
+ { 20692, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
+ { 20712, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
+ { 20739, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
+ { 20764, 0x00002100 }, /* GL_MODULATE */
+ { 20776, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
+ { 20796, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
+ { 20823, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
+ { 20848, 0x00000103 }, /* GL_MULT */
+ { 20856, 0x0000809D }, /* GL_MULTISAMPLE */
+ { 20871, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
+ { 20891, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
+ { 20910, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
+ { 20929, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
+ { 20953, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
+ { 20976, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+ { 21006, 0x00002A25 }, /* GL_N3F_V3F */
+ { 21017, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
+ { 21037, 0x0000150E }, /* GL_NAND */
+ { 21045, 0x00002600 }, /* GL_NEAREST */
+ { 21056, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+ { 21087, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+ { 21119, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
+ { 21144, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
+ { 21170, 0x00000200 }, /* GL_NEVER */
+ { 21179, 0x00001102 }, /* GL_NICEST */
+ { 21189, 0x00000000 }, /* GL_NONE */
+ { 21197, 0x00001505 }, /* GL_NOOP */
+ { 21205, 0x00001508 }, /* GL_NOR */
+ { 21212, 0x00000BA1 }, /* GL_NORMALIZE */
+ { 21225, 0x00008075 }, /* GL_NORMAL_ARRAY */
+ { 21241, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+ { 21272, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
+ { 21307, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
+ { 21331, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
+ { 21354, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
+ { 21375, 0x00008511 }, /* GL_NORMAL_MAP */
+ { 21389, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
+ { 21407, 0x00008511 }, /* GL_NORMAL_MAP_NV */
+ { 21424, 0x00000205 }, /* GL_NOTEQUAL */
+ { 21436, 0x00000000 }, /* GL_NO_ERROR */
+ { 21448, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+ { 21482, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
+ { 21520, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
+ { 21552, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
+ { 21594, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
+ { 21624, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
+ { 21664, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
+ { 21695, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
+ { 21724, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
+ { 21752, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
+ { 21782, 0x00002401 }, /* GL_OBJECT_LINEAR */
+ { 21799, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
+ { 21825, 0x00002501 }, /* GL_OBJECT_PLANE */
+ { 21841, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
+ { 21876, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
+ { 21898, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
+ { 21917, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
+ { 21947, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
+ { 21968, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
+ { 21996, 0x00000001 }, /* GL_ONE */
+ { 22003, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+ { 22031, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
+ { 22063, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
+ { 22091, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
+ { 22123, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
+ { 22146, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
+ { 22169, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
+ { 22192, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
+ { 22215, 0x00008598 }, /* GL_OPERAND0_ALPHA */
+ { 22233, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
+ { 22255, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
+ { 22277, 0x00008590 }, /* GL_OPERAND0_RGB */
+ { 22293, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
+ { 22313, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
+ { 22333, 0x00008599 }, /* GL_OPERAND1_ALPHA */
+ { 22351, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
+ { 22373, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
+ { 22395, 0x00008591 }, /* GL_OPERAND1_RGB */
+ { 22411, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
+ { 22431, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
+ { 22451, 0x0000859A }, /* GL_OPERAND2_ALPHA */
+ { 22469, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
+ { 22491, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
+ { 22513, 0x00008592 }, /* GL_OPERAND2_RGB */
+ { 22529, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
+ { 22549, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
+ { 22569, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
+ { 22590, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
+ { 22609, 0x00001507 }, /* GL_OR */
+ { 22615, 0x00000A01 }, /* GL_ORDER */
+ { 22624, 0x0000150D }, /* GL_OR_INVERTED */
+ { 22639, 0x0000150B }, /* GL_OR_REVERSE */
+ { 22653, 0x00000505 }, /* GL_OUT_OF_MEMORY */
+ { 22670, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
+ { 22688, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
+ { 22709, 0x00008758 }, /* GL_PACK_INVERT_MESA */
+ { 22729, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
+ { 22747, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
+ { 22766, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
+ { 22786, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
+ { 22806, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
+ { 22824, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
+ { 22843, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
+ { 22868, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
+ { 22892, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
+ { 22913, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
+ { 22935, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
+ { 22957, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
+ { 22982, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
+ { 23006, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
+ { 23027, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
+ { 23049, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
+ { 23071, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
+ { 23093, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
+ { 23124, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
+ { 23144, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+ { 23169, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
+ { 23189, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+ { 23214, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
+ { 23234, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+ { 23259, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
+ { 23279, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+ { 23304, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
+ { 23324, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+ { 23349, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
+ { 23369, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+ { 23394, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
+ { 23414, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+ { 23439, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
+ { 23459, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+ { 23484, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
+ { 23504, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+ { 23529, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
+ { 23549, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+ { 23574, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
+ { 23592, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */
+ { 23613, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */
+ { 23642, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
+ { 23675, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
+ { 23700, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */
+ { 23723, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
+ { 23754, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
+ { 23789, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
+ { 23816, 0x00001B00 }, /* GL_POINT */
+ { 23825, 0x00000000 }, /* GL_POINTS */
+ { 23835, 0x00000002 }, /* GL_POINT_BIT */
+ { 23848, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
+ { 23878, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
+ { 23912, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
+ { 23946, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
+ { 23981, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
+ { 24010, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
+ { 24043, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
+ { 24076, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
+ { 24110, 0x00000B11 }, /* GL_POINT_SIZE */
+ { 24124, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
+ { 24150, 0x00008127 }, /* GL_POINT_SIZE_MAX */
+ { 24168, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
+ { 24190, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
+ { 24212, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
+ { 24235, 0x00008126 }, /* GL_POINT_SIZE_MIN */
+ { 24253, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
+ { 24275, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
+ { 24297, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
+ { 24320, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
+ { 24340, 0x00000B10 }, /* GL_POINT_SMOOTH */
+ { 24356, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
+ { 24377, 0x00008861 }, /* GL_POINT_SPRITE */
+ { 24393, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
+ { 24413, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
+ { 24442, 0x00008861 }, /* GL_POINT_SPRITE_NV */
+ { 24461, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
+ { 24487, 0x00000701 }, /* GL_POINT_TOKEN */
+ { 24502, 0x00000009 }, /* GL_POLYGON */
+ { 24513, 0x00000008 }, /* GL_POLYGON_BIT */
+ { 24528, 0x00000B40 }, /* GL_POLYGON_MODE */
+ { 24544, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
+ { 24567, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
+ { 24592, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
+ { 24615, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
+ { 24638, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
+ { 24662, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
+ { 24686, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
+ { 24704, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
+ { 24727, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
+ { 24746, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
+ { 24769, 0x00000703 }, /* GL_POLYGON_TOKEN */
+ { 24786, 0x00001203 }, /* GL_POSITION */
+ { 24798, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+ { 24830, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
+ { 24866, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+ { 24899, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
+ { 24936, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+ { 24967, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
+ { 25002, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+ { 25034, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
+ { 25070, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+ { 25103, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+ { 25135, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
+ { 25171, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+ { 25204, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
+ { 25241, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+ { 25271, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
+ { 25305, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+ { 25336, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
+ { 25371, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+ { 25402, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
+ { 25437, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+ { 25469, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
+ { 25505, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+ { 25535, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
+ { 25569, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+ { 25600, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
+ { 25635, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+ { 25667, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+ { 25698, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
+ { 25733, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+ { 25765, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
+ { 25801, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
+ { 25830, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
+ { 25863, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
+ { 25893, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
+ { 25927, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+ { 25966, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+ { 25999, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+ { 26039, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+ { 26073, 0x00008578 }, /* GL_PREVIOUS */
+ { 26085, 0x00008578 }, /* GL_PREVIOUS_ARB */
+ { 26101, 0x00008578 }, /* GL_PREVIOUS_EXT */
+ { 26117, 0x00008577 }, /* GL_PRIMARY_COLOR */
+ { 26134, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
+ { 26155, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
+ { 26176, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+ { 26209, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ { 26241, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
+ { 26264, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
+ { 26287, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
+ { 26317, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
+ { 26346, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
+ { 26374, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
+ { 26396, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+ { 26424, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+ { 26452, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
+ { 26474, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
+ { 26495, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ { 26535, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ { 26574, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+ { 26604, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ { 26639, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+ { 26672, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ { 26706, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ { 26745, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ { 26784, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
+ { 26806, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
+ { 26832, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
+ { 26856, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
+ { 26879, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
+ { 26901, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
+ { 26922, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
+ { 26943, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
+ { 26970, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+ { 27002, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ { 27034, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+ { 27069, 0x00001701 }, /* GL_PROJECTION */
+ { 27083, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
+ { 27104, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
+ { 27130, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
+ { 27151, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
+ { 27170, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
+ { 27193, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+ { 27232, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+ { 27270, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
+ { 27290, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+ { 27320, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
+ { 27344, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
+ { 27364, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+ { 27394, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
+ { 27418, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
+ { 27438, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+ { 27471, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
+ { 27497, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
+ { 27527, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+ { 27558, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
+ { 27588, 0x00002003 }, /* GL_Q */
+ { 27593, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
+ { 27618, 0x00000007 }, /* GL_QUADS */
+ { 27627, 0x00008614 }, /* GL_QUAD_MESH_SUN */
+ { 27644, 0x00000008 }, /* GL_QUAD_STRIP */
+ { 27658, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
+ { 27680, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
+ { 27706, 0x00008866 }, /* GL_QUERY_RESULT */
+ { 27722, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
+ { 27742, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
+ { 27768, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
+ { 27798, 0x00002002 }, /* GL_R */
+ { 27803, 0x00002A10 }, /* GL_R3_G3_B2 */
+ { 27815, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+ { 27848, 0x00000C02 }, /* GL_READ_BUFFER */
+ { 27863, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */
+ { 27883, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
+ { 27915, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
+ { 27939, 0x000088B8 }, /* GL_READ_ONLY */
+ { 27952, 0x000088B8 }, /* GL_READ_ONLY_ARB */
+ { 27969, 0x000088BA }, /* GL_READ_WRITE */
+ { 27983, 0x000088BA }, /* GL_READ_WRITE_ARB */
+ { 28001, 0x00001903 }, /* GL_RED */
+ { 28008, 0x00008016 }, /* GL_REDUCE */
+ { 28018, 0x00008016 }, /* GL_REDUCE_EXT */
+ { 28032, 0x00000D15 }, /* GL_RED_BIAS */
+ { 28044, 0x00000D52 }, /* GL_RED_BITS */
+ { 28056, 0x00000D14 }, /* GL_RED_SCALE */
+ { 28069, 0x00008512 }, /* GL_REFLECTION_MAP */
+ { 28087, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
+ { 28109, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
+ { 28130, 0x00001C00 }, /* GL_RENDER */
+ { 28140, 0x00008D41 }, /* GL_RENDERBUFFER */
+ { 28156, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */
+ { 28183, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
+ { 28211, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */
+ { 28237, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */
+ { 28264, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
+ { 28284, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */
+ { 28311, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */
+ { 28334, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
+ { 28361, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
+ { 28393, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
+ { 28429, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */
+ { 28454, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */
+ { 28478, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */
+ { 28507, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */
+ { 28529, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
+ { 28555, 0x00001F01 }, /* GL_RENDERER */
+ { 28567, 0x00000C40 }, /* GL_RENDER_MODE */
+ { 28582, 0x00002901 }, /* GL_REPEAT */
+ { 28592, 0x00001E01 }, /* GL_REPLACE */
+ { 28603, 0x00008062 }, /* GL_REPLACE_EXT */
+ { 28618, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
+ { 28641, 0x0000803A }, /* GL_RESCALE_NORMAL */
+ { 28659, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
+ { 28681, 0x00000102 }, /* GL_RETURN */
+ { 28691, 0x00001907 }, /* GL_RGB */
+ { 28698, 0x00008052 }, /* GL_RGB10 */
+ { 28707, 0x00008059 }, /* GL_RGB10_A2 */
+ { 28719, 0x00008059 }, /* GL_RGB10_A2_EXT */
+ { 28735, 0x00008052 }, /* GL_RGB10_EXT */
+ { 28748, 0x00008053 }, /* GL_RGB12 */
+ { 28757, 0x00008053 }, /* GL_RGB12_EXT */
+ { 28770, 0x00008054 }, /* GL_RGB16 */
+ { 28779, 0x00008054 }, /* GL_RGB16_EXT */
+ { 28792, 0x0000804E }, /* GL_RGB2_EXT */
+ { 28804, 0x0000804F }, /* GL_RGB4 */
+ { 28812, 0x0000804F }, /* GL_RGB4_EXT */
+ { 28824, 0x000083A1 }, /* GL_RGB4_S3TC */
+ { 28837, 0x00008050 }, /* GL_RGB5 */
+ { 28845, 0x00008057 }, /* GL_RGB5_A1 */
+ { 28856, 0x00008057 }, /* GL_RGB5_A1_EXT */
+ { 28871, 0x00008050 }, /* GL_RGB5_EXT */
+ { 28883, 0x00008051 }, /* GL_RGB8 */
+ { 28891, 0x00008051 }, /* GL_RGB8_EXT */
+ { 28903, 0x00001908 }, /* GL_RGBA */
+ { 28911, 0x0000805A }, /* GL_RGBA12 */
+ { 28921, 0x0000805A }, /* GL_RGBA12_EXT */
+ { 28935, 0x0000805B }, /* GL_RGBA16 */
+ { 28945, 0x0000805B }, /* GL_RGBA16_EXT */
+ { 28959, 0x00008055 }, /* GL_RGBA2 */
+ { 28968, 0x00008055 }, /* GL_RGBA2_EXT */
+ { 28981, 0x00008056 }, /* GL_RGBA4 */
+ { 28990, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
+ { 29009, 0x00008056 }, /* GL_RGBA4_EXT */
+ { 29022, 0x000083A3 }, /* GL_RGBA4_S3TC */
+ { 29036, 0x00008058 }, /* GL_RGBA8 */
+ { 29045, 0x00008058 }, /* GL_RGBA8_EXT */
+ { 29058, 0x00008F97 }, /* GL_RGBA8_SNORM */
+ { 29073, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
+ { 29091, 0x00000C31 }, /* GL_RGBA_MODE */
+ { 29104, 0x000083A2 }, /* GL_RGBA_S3TC */
+ { 29117, 0x00008F93 }, /* GL_RGBA_SNORM */
+ { 29131, 0x000083A0 }, /* GL_RGB_S3TC */
+ { 29143, 0x00008573 }, /* GL_RGB_SCALE */
+ { 29156, 0x00008573 }, /* GL_RGB_SCALE_ARB */
+ { 29173, 0x00008573 }, /* GL_RGB_SCALE_EXT */
+ { 29190, 0x00000407 }, /* GL_RIGHT */
+ { 29199, 0x00002000 }, /* GL_S */
+ { 29204, 0x00008B5D }, /* GL_SAMPLER_1D */
+ { 29218, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
+ { 29239, 0x00008B5E }, /* GL_SAMPLER_2D */
+ { 29253, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
+ { 29274, 0x00008B5F }, /* GL_SAMPLER_3D */
+ { 29288, 0x00008B60 }, /* GL_SAMPLER_CUBE */
+ { 29304, 0x000080A9 }, /* GL_SAMPLES */
+ { 29315, 0x000086B4 }, /* GL_SAMPLES_3DFX */
+ { 29331, 0x000080A9 }, /* GL_SAMPLES_ARB */
+ { 29346, 0x00008914 }, /* GL_SAMPLES_PASSED */
+ { 29364, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
+ { 29386, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+ { 29414, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
+ { 29446, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
+ { 29469, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
+ { 29496, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
+ { 29514, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
+ { 29537, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
+ { 29559, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
+ { 29578, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
+ { 29601, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
+ { 29627, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
+ { 29657, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
+ { 29682, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
+ { 29711, 0x00080000 }, /* GL_SCISSOR_BIT */
+ { 29726, 0x00000C10 }, /* GL_SCISSOR_BOX */
+ { 29741, 0x00000C11 }, /* GL_SCISSOR_TEST */
+ { 29757, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
+ { 29782, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+ { 29822, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
+ { 29866, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+ { 29899, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+ { 29929, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+ { 29961, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+ { 29991, 0x00001C02 }, /* GL_SELECT */
+ { 30001, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
+ { 30029, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
+ { 30054, 0x00008012 }, /* GL_SEPARABLE_2D */
+ { 30070, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
+ { 30097, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
+ { 30128, 0x0000150F }, /* GL_SET */
+ { 30135, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
+ { 30156, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
+ { 30180, 0x00008B4F }, /* GL_SHADER_TYPE */
+ { 30195, 0x00000B54 }, /* GL_SHADE_MODEL */
+ { 30210, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
+ { 30238, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
+ { 30261, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+ { 30291, 0x00001601 }, /* GL_SHININESS */
+ { 30304, 0x00001402 }, /* GL_SHORT */
+ { 30313, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */
+ { 30334, 0x000081F9 }, /* GL_SINGLE_COLOR */
+ { 30350, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
+ { 30370, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
+ { 30389, 0x00008C46 }, /* GL_SLUMINANCE */
+ { 30403, 0x00008C47 }, /* GL_SLUMINANCE8 */
+ { 30418, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */
+ { 30440, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */
+ { 30460, 0x00001D01 }, /* GL_SMOOTH */
+ { 30470, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
+ { 30503, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
+ { 30530, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
+ { 30563, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
+ { 30590, 0x00008588 }, /* GL_SOURCE0_ALPHA */
+ { 30607, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
+ { 30628, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
+ { 30649, 0x00008580 }, /* GL_SOURCE0_RGB */
+ { 30664, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
+ { 30683, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
+ { 30702, 0x00008589 }, /* GL_SOURCE1_ALPHA */
+ { 30719, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
+ { 30740, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
+ { 30761, 0x00008581 }, /* GL_SOURCE1_RGB */
+ { 30776, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
+ { 30795, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
+ { 30814, 0x0000858A }, /* GL_SOURCE2_ALPHA */
+ { 30831, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
+ { 30852, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
+ { 30873, 0x00008582 }, /* GL_SOURCE2_RGB */
+ { 30888, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
+ { 30907, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
+ { 30926, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
+ { 30946, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
+ { 30964, 0x00001202 }, /* GL_SPECULAR */
+ { 30976, 0x00002402 }, /* GL_SPHERE_MAP */
+ { 30990, 0x00001206 }, /* GL_SPOT_CUTOFF */
+ { 31005, 0x00001204 }, /* GL_SPOT_DIRECTION */
+ { 31023, 0x00001205 }, /* GL_SPOT_EXPONENT */
+ { 31040, 0x00008588 }, /* GL_SRC0_ALPHA */
+ { 31054, 0x00008580 }, /* GL_SRC0_RGB */
+ { 31066, 0x00008589 }, /* GL_SRC1_ALPHA */
+ { 31080, 0x00008581 }, /* GL_SRC1_RGB */
+ { 31092, 0x0000858A }, /* GL_SRC2_ALPHA */
+ { 31106, 0x00008582 }, /* GL_SRC2_RGB */
+ { 31118, 0x00000302 }, /* GL_SRC_ALPHA */
+ { 31131, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
+ { 31153, 0x00000300 }, /* GL_SRC_COLOR */
+ { 31166, 0x00008C40 }, /* GL_SRGB */
+ { 31174, 0x00008C41 }, /* GL_SRGB8 */
+ { 31183, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */
+ { 31199, 0x00008C42 }, /* GL_SRGB_ALPHA */
+ { 31213, 0x00000503 }, /* GL_STACK_OVERFLOW */
+ { 31231, 0x00000504 }, /* GL_STACK_UNDERFLOW */
+ { 31250, 0x000088E6 }, /* GL_STATIC_COPY */
+ { 31265, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
+ { 31284, 0x000088E4 }, /* GL_STATIC_DRAW */
+ { 31299, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
+ { 31318, 0x000088E5 }, /* GL_STATIC_READ */
+ { 31333, 0x000088E5 }, /* GL_STATIC_READ_ARB */
+ { 31352, 0x00001802 }, /* GL_STENCIL */
+ { 31363, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */
+ { 31385, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
+ { 31411, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
+ { 31432, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */
+ { 31457, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
+ { 31478, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */
+ { 31503, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+ { 31535, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */
+ { 31571, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+ { 31603, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */
+ { 31639, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
+ { 31659, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
+ { 31686, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
+ { 31712, 0x00000D57 }, /* GL_STENCIL_BITS */
+ { 31728, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
+ { 31750, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
+ { 31773, 0x00000B94 }, /* GL_STENCIL_FAIL */
+ { 31789, 0x00000B92 }, /* GL_STENCIL_FUNC */
+ { 31805, 0x00001901 }, /* GL_STENCIL_INDEX */
+ { 31822, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
+ { 31845, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
+ { 31867, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
+ { 31889, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
+ { 31911, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
+ { 31932, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
+ { 31959, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
+ { 31986, 0x00000B97 }, /* GL_STENCIL_REF */
+ { 32001, 0x00000B90 }, /* GL_STENCIL_TEST */
+ { 32017, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+ { 32046, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
+ { 32068, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
+ { 32089, 0x00000C33 }, /* GL_STEREO */
+ { 32099, 0x000088E2 }, /* GL_STREAM_COPY */
+ { 32114, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
+ { 32133, 0x000088E0 }, /* GL_STREAM_DRAW */
+ { 32148, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
+ { 32167, 0x000088E1 }, /* GL_STREAM_READ */
+ { 32182, 0x000088E1 }, /* GL_STREAM_READ_ARB */
+ { 32201, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
+ { 32218, 0x000084E7 }, /* GL_SUBTRACT */
+ { 32230, 0x000084E7 }, /* GL_SUBTRACT_ARB */
+ { 32246, 0x00002001 }, /* GL_T */
+ { 32251, 0x00002A2A }, /* GL_T2F_C3F_V3F */
+ { 32266, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
+ { 32285, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
+ { 32301, 0x00002A2B }, /* GL_T2F_N3F_V3F */
+ { 32316, 0x00002A27 }, /* GL_T2F_V3F */
+ { 32327, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
+ { 32346, 0x00002A28 }, /* GL_T4F_V4F */
+ { 32357, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
+ { 32380, 0x00001702 }, /* GL_TEXTURE */
+ { 32391, 0x000084C0 }, /* GL_TEXTURE0 */
+ { 32403, 0x000084C0 }, /* GL_TEXTURE0_ARB */
+ { 32419, 0x000084C1 }, /* GL_TEXTURE1 */
+ { 32431, 0x000084CA }, /* GL_TEXTURE10 */
+ { 32444, 0x000084CA }, /* GL_TEXTURE10_ARB */
+ { 32461, 0x000084CB }, /* GL_TEXTURE11 */
+ { 32474, 0x000084CB }, /* GL_TEXTURE11_ARB */
+ { 32491, 0x000084CC }, /* GL_TEXTURE12 */
+ { 32504, 0x000084CC }, /* GL_TEXTURE12_ARB */
+ { 32521, 0x000084CD }, /* GL_TEXTURE13 */
+ { 32534, 0x000084CD }, /* GL_TEXTURE13_ARB */
+ { 32551, 0x000084CE }, /* GL_TEXTURE14 */
+ { 32564, 0x000084CE }, /* GL_TEXTURE14_ARB */
+ { 32581, 0x000084CF }, /* GL_TEXTURE15 */
+ { 32594, 0x000084CF }, /* GL_TEXTURE15_ARB */
+ { 32611, 0x000084D0 }, /* GL_TEXTURE16 */
+ { 32624, 0x000084D0 }, /* GL_TEXTURE16_ARB */
+ { 32641, 0x000084D1 }, /* GL_TEXTURE17 */
+ { 32654, 0x000084D1 }, /* GL_TEXTURE17_ARB */
+ { 32671, 0x000084D2 }, /* GL_TEXTURE18 */
+ { 32684, 0x000084D2 }, /* GL_TEXTURE18_ARB */
+ { 32701, 0x000084D3 }, /* GL_TEXTURE19 */
+ { 32714, 0x000084D3 }, /* GL_TEXTURE19_ARB */
+ { 32731, 0x000084C1 }, /* GL_TEXTURE1_ARB */
+ { 32747, 0x000084C2 }, /* GL_TEXTURE2 */
+ { 32759, 0x000084D4 }, /* GL_TEXTURE20 */
+ { 32772, 0x000084D4 }, /* GL_TEXTURE20_ARB */
+ { 32789, 0x000084D5 }, /* GL_TEXTURE21 */
+ { 32802, 0x000084D5 }, /* GL_TEXTURE21_ARB */
+ { 32819, 0x000084D6 }, /* GL_TEXTURE22 */
+ { 32832, 0x000084D6 }, /* GL_TEXTURE22_ARB */
+ { 32849, 0x000084D7 }, /* GL_TEXTURE23 */
+ { 32862, 0x000084D7 }, /* GL_TEXTURE23_ARB */
+ { 32879, 0x000084D8 }, /* GL_TEXTURE24 */
+ { 32892, 0x000084D8 }, /* GL_TEXTURE24_ARB */
+ { 32909, 0x000084D9 }, /* GL_TEXTURE25 */
+ { 32922, 0x000084D9 }, /* GL_TEXTURE25_ARB */
+ { 32939, 0x000084DA }, /* GL_TEXTURE26 */
+ { 32952, 0x000084DA }, /* GL_TEXTURE26_ARB */
+ { 32969, 0x000084DB }, /* GL_TEXTURE27 */
+ { 32982, 0x000084DB }, /* GL_TEXTURE27_ARB */
+ { 32999, 0x000084DC }, /* GL_TEXTURE28 */
+ { 33012, 0x000084DC }, /* GL_TEXTURE28_ARB */
+ { 33029, 0x000084DD }, /* GL_TEXTURE29 */
+ { 33042, 0x000084DD }, /* GL_TEXTURE29_ARB */
+ { 33059, 0x000084C2 }, /* GL_TEXTURE2_ARB */
+ { 33075, 0x000084C3 }, /* GL_TEXTURE3 */
+ { 33087, 0x000084DE }, /* GL_TEXTURE30 */
+ { 33100, 0x000084DE }, /* GL_TEXTURE30_ARB */
+ { 33117, 0x000084DF }, /* GL_TEXTURE31 */
+ { 33130, 0x000084DF }, /* GL_TEXTURE31_ARB */
+ { 33147, 0x000084C3 }, /* GL_TEXTURE3_ARB */
+ { 33163, 0x000084C4 }, /* GL_TEXTURE4 */
+ { 33175, 0x000084C4 }, /* GL_TEXTURE4_ARB */
+ { 33191, 0x000084C5 }, /* GL_TEXTURE5 */
+ { 33203, 0x000084C5 }, /* GL_TEXTURE5_ARB */
+ { 33219, 0x000084C6 }, /* GL_TEXTURE6 */
+ { 33231, 0x000084C6 }, /* GL_TEXTURE6_ARB */
+ { 33247, 0x000084C7 }, /* GL_TEXTURE7 */
+ { 33259, 0x000084C7 }, /* GL_TEXTURE7_ARB */
+ { 33275, 0x000084C8 }, /* GL_TEXTURE8 */
+ { 33287, 0x000084C8 }, /* GL_TEXTURE8_ARB */
+ { 33303, 0x000084C9 }, /* GL_TEXTURE9 */
+ { 33315, 0x000084C9 }, /* GL_TEXTURE9_ARB */
+ { 33331, 0x00000DE0 }, /* GL_TEXTURE_1D */
+ { 33345, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */
+ { 33369, 0x00000DE1 }, /* GL_TEXTURE_2D */
+ { 33383, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */
+ { 33407, 0x0000806F }, /* GL_TEXTURE_3D */
+ { 33421, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
+ { 33443, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
+ { 33469, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
+ { 33491, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
+ { 33513, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+ { 33545, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
+ { 33567, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+ { 33599, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
+ { 33621, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
+ { 33649, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
+ { 33681, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+ { 33714, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
+ { 33746, 0x00040000 }, /* GL_TEXTURE_BIT */
+ { 33761, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
+ { 33782, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
+ { 33807, 0x00001005 }, /* GL_TEXTURE_BORDER */
+ { 33825, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
+ { 33849, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+ { 33880, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+ { 33910, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+ { 33940, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+ { 33975, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+ { 34006, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ { 34044, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
+ { 34071, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+ { 34103, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+ { 34137, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
+ { 34161, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
+ { 34189, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
+ { 34213, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
+ { 34241, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+ { 34274, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
+ { 34298, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
+ { 34320, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
+ { 34342, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
+ { 34368, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
+ { 34402, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+ { 34435, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
+ { 34472, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
+ { 34500, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
+ { 34532, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
+ { 34555, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+ { 34593, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
+ { 34635, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+ { 34666, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+ { 34694, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+ { 34724, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+ { 34752, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
+ { 34772, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
+ { 34796, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+ { 34827, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
+ { 34862, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+ { 34893, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
+ { 34928, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+ { 34959, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
+ { 34994, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+ { 35025, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
+ { 35060, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+ { 35091, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
+ { 35126, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+ { 35157, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
+ { 35192, 0x00008071 }, /* GL_TEXTURE_DEPTH */
+ { 35209, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
+ { 35231, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
+ { 35257, 0x00002300 }, /* GL_TEXTURE_ENV */
+ { 35272, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
+ { 35293, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
+ { 35313, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
+ { 35339, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
+ { 35359, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
+ { 35376, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
+ { 35393, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
+ { 35410, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
+ { 35427, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
+ { 35452, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
+ { 35474, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
+ { 35500, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
+ { 35518, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
+ { 35544, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
+ { 35570, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
+ { 35600, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
+ { 35627, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
+ { 35652, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
+ { 35672, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
+ { 35696, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+ { 35723, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+ { 35750, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+ { 35777, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
+ { 35803, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
+ { 35833, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
+ { 35855, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
+ { 35873, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+ { 35903, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+ { 35931, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+ { 35959, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+ { 35987, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
+ { 36008, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
+ { 36027, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
+ { 36049, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
+ { 36068, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
+ { 36088, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
+ { 36113, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
+ { 36137, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
+ { 36157, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
+ { 36181, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
+ { 36201, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
+ { 36224, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */
+ { 36248, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
+ { 36273, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+ { 36307, 0x00001000 }, /* GL_TEXTURE_WIDTH */
+ { 36324, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
+ { 36342, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
+ { 36360, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
+ { 36378, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
+ { 36398, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
+ { 36417, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+ { 36446, 0x00001000 }, /* GL_TRANSFORM_BIT */
+ { 36463, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
+ { 36489, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
+ { 36519, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+ { 36551, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+ { 36581, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
+ { 36615, 0x0000862C }, /* GL_TRANSPOSE_NV */
+ { 36631, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+ { 36662, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
+ { 36697, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+ { 36725, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
+ { 36757, 0x00000004 }, /* GL_TRIANGLES */
+ { 36770, 0x00000006 }, /* GL_TRIANGLE_FAN */
+ { 36786, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
+ { 36807, 0x00000005 }, /* GL_TRIANGLE_STRIP */
+ { 36825, 0x00000001 }, /* GL_TRUE */
+ { 36833, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
+ { 36853, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
+ { 36876, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
+ { 36896, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
+ { 36917, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
+ { 36939, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
+ { 36961, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
+ { 36981, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
+ { 37002, 0x00001401 }, /* GL_UNSIGNED_BYTE */
+ { 37019, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+ { 37046, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
+ { 37069, 0x00001405 }, /* GL_UNSIGNED_INT */
+ { 37085, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
+ { 37112, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */
+ { 37133, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
+ { 37157, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+ { 37188, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
+ { 37212, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+ { 37240, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */
+ { 37263, 0x00001403 }, /* GL_UNSIGNED_SHORT */
+ { 37281, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+ { 37311, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+ { 37337, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+ { 37367, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+ { 37393, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
+ { 37417, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+ { 37445, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+ { 37473, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
+ { 37500, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+ { 37532, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
+ { 37563, 0x00008CA2 }, /* GL_UPPER_LEFT */
+ { 37577, 0x00002A20 }, /* GL_V2F */
+ { 37584, 0x00002A21 }, /* GL_V3F */
+ { 37591, 0x00008B83 }, /* GL_VALIDATE_STATUS */
+ { 37610, 0x00001F00 }, /* GL_VENDOR */
+ { 37620, 0x00001F02 }, /* GL_VERSION */
+ { 37631, 0x00008074 }, /* GL_VERTEX_ARRAY */
+ { 37647, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
+ { 37677, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+ { 37708, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
+ { 37743, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
+ { 37767, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
+ { 37788, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
+ { 37811, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
+ { 37832, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+ { 37859, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+ { 37887, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+ { 37915, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+ { 37943, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+ { 37971, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+ { 37999, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+ { 38027, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+ { 38054, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+ { 38081, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+ { 38108, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+ { 38135, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+ { 38162, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+ { 38189, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+ { 38216, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+ { 38243, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+ { 38270, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+ { 38308, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
+ { 38350, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+ { 38381, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
+ { 38416, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+ { 38450, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
+ { 38488, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+ { 38519, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
+ { 38554, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+ { 38582, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
+ { 38614, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+ { 38644, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
+ { 38678, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+ { 38706, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
+ { 38738, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
+ { 38758, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
+ { 38780, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
+ { 38809, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
+ { 38830, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+ { 38859, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
+ { 38892, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
+ { 38924, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+ { 38951, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
+ { 38982, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
+ { 39012, 0x00008B31 }, /* GL_VERTEX_SHADER */
+ { 39029, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
+ { 39050, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
+ { 39077, 0x00000BA2 }, /* GL_VIEWPORT */
+ { 39089, 0x00000800 }, /* GL_VIEWPORT_BIT */
+ { 39105, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
+ { 39125, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+ { 39156, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
+ { 39191, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+ { 39219, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+ { 39244, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+ { 39271, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+ { 39296, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
+ { 39320, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
+ { 39339, 0x000088B9 }, /* GL_WRITE_ONLY */
+ { 39353, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
+ { 39371, 0x00001506 }, /* GL_XOR */
+ { 39378, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
+ { 39397, 0x00008757 }, /* GL_YCBCR_MESA */
+ { 39411, 0x00000000 }, /* GL_ZERO */
+ { 39419, 0x00000D16 }, /* GL_ZOOM_X */
+ { 39429, 0x00000D17 }, /* GL_ZOOM_Y */
};
-static const unsigned reduced_enums[1319] =
+static const unsigned reduced_enums[1321] =
{
- 469, /* GL_FALSE */
- 683, /* GL_LINES */
- 685, /* GL_LINE_LOOP */
- 692, /* GL_LINE_STRIP */
- 1709, /* GL_TRIANGLES */
- 1712, /* GL_TRIANGLE_STRIP */
- 1710, /* GL_TRIANGLE_FAN */
- 1254, /* GL_QUADS */
- 1256, /* GL_QUAD_STRIP */
- 1142, /* GL_POLYGON */
- 1154, /* GL_POLYGON_STIPPLE_BIT */
- 1103, /* GL_PIXEL_MODE_BIT */
- 670, /* GL_LIGHTING_BIT */
- 497, /* GL_FOG_BIT */
+ 471, /* GL_FALSE */
+ 685, /* GL_LINES */
+ 687, /* GL_LINE_LOOP */
+ 694, /* GL_LINE_STRIP */
+ 1711, /* GL_TRIANGLES */
+ 1714, /* GL_TRIANGLE_STRIP */
+ 1712, /* GL_TRIANGLE_FAN */
+ 1256, /* GL_QUADS */
+ 1258, /* GL_QUAD_STRIP */
+ 1144, /* GL_POLYGON */
+ 1156, /* GL_POLYGON_STIPPLE_BIT */
+ 1105, /* GL_PIXEL_MODE_BIT */
+ 672, /* GL_LIGHTING_BIT */
+ 499, /* GL_FOG_BIT */
8, /* GL_ACCUM */
- 702, /* GL_LOAD */
- 1308, /* GL_RETURN */
- 976, /* GL_MULT */
+ 704, /* GL_LOAD */
+ 1310, /* GL_RETURN */
+ 978, /* GL_MULT */
23, /* GL_ADD */
- 992, /* GL_NEVER */
- 660, /* GL_LESS */
- 459, /* GL_EQUAL */
- 659, /* GL_LEQUAL */
- 583, /* GL_GREATER */
- 1007, /* GL_NOTEQUAL */
- 582, /* GL_GEQUAL */
+ 994, /* GL_NEVER */
+ 662, /* GL_LESS */
+ 461, /* GL_EQUAL */
+ 661, /* GL_LEQUAL */
+ 585, /* GL_GREATER */
+ 1009, /* GL_NOTEQUAL */
+ 584, /* GL_GEQUAL */
46, /* GL_ALWAYS */
- 1448, /* GL_SRC_COLOR */
- 1036, /* GL_ONE_MINUS_SRC_COLOR */
- 1446, /* GL_SRC_ALPHA */
- 1035, /* GL_ONE_MINUS_SRC_ALPHA */
- 438, /* GL_DST_ALPHA */
- 1033, /* GL_ONE_MINUS_DST_ALPHA */
- 439, /* GL_DST_COLOR */
- 1034, /* GL_ONE_MINUS_DST_COLOR */
- 1447, /* GL_SRC_ALPHA_SATURATE */
- 570, /* GL_FRONT_LEFT */
- 571, /* GL_FRONT_RIGHT */
+ 1450, /* GL_SRC_COLOR */
+ 1038, /* GL_ONE_MINUS_SRC_COLOR */
+ 1448, /* GL_SRC_ALPHA */
+ 1037, /* GL_ONE_MINUS_SRC_ALPHA */
+ 440, /* GL_DST_ALPHA */
+ 1035, /* GL_ONE_MINUS_DST_ALPHA */
+ 441, /* GL_DST_COLOR */
+ 1036, /* GL_ONE_MINUS_DST_COLOR */
+ 1449, /* GL_SRC_ALPHA_SATURATE */
+ 572, /* GL_FRONT_LEFT */
+ 573, /* GL_FRONT_RIGHT */
68, /* GL_BACK_LEFT */
69, /* GL_BACK_RIGHT */
- 567, /* GL_FRONT */
+ 569, /* GL_FRONT */
67, /* GL_BACK */
- 658, /* GL_LEFT */
- 1350, /* GL_RIGHT */
- 568, /* GL_FRONT_AND_BACK */
+ 660, /* GL_LEFT */
+ 1352, /* GL_RIGHT */
+ 570, /* GL_FRONT_AND_BACK */
62, /* GL_AUX0 */
63, /* GL_AUX1 */
64, /* GL_AUX2 */
65, /* GL_AUX3 */
- 649, /* GL_INVALID_ENUM */
- 653, /* GL_INVALID_VALUE */
- 652, /* GL_INVALID_OPERATION */
- 1453, /* GL_STACK_OVERFLOW */
- 1454, /* GL_STACK_UNDERFLOW */
- 1061, /* GL_OUT_OF_MEMORY */
- 650, /* GL_INVALID_FRAMEBUFFER_OPERATION */
+ 651, /* GL_INVALID_ENUM */
+ 655, /* GL_INVALID_VALUE */
+ 654, /* GL_INVALID_OPERATION */
+ 1455, /* GL_STACK_OVERFLOW */
+ 1456, /* GL_STACK_UNDERFLOW */
+ 1063, /* GL_OUT_OF_MEMORY */
+ 652, /* GL_INVALID_FRAMEBUFFER_OPERATION */
0, /* GL_2D */
2, /* GL_3D */
3, /* GL_3D_COLOR */
4, /* GL_3D_COLOR_TEXTURE */
6, /* GL_4D_COLOR_TEXTURE */
- 1081, /* GL_PASS_THROUGH_TOKEN */
- 1141, /* GL_POINT_TOKEN */
- 693, /* GL_LINE_TOKEN */
- 1155, /* GL_POLYGON_TOKEN */
+ 1083, /* GL_PASS_THROUGH_TOKEN */
+ 1143, /* GL_POINT_TOKEN */
+ 695, /* GL_LINE_TOKEN */
+ 1157, /* GL_POLYGON_TOKEN */
73, /* GL_BITMAP_TOKEN */
- 437, /* GL_DRAW_PIXEL_TOKEN */
+ 439, /* GL_DRAW_PIXEL_TOKEN */
297, /* GL_COPY_PIXEL_TOKEN */
- 686, /* GL_LINE_RESET_TOKEN */
- 462, /* GL_EXP */
- 463, /* GL_EXP2 */
- 331, /* GL_CW */
+ 688, /* GL_LINE_RESET_TOKEN */
+ 464, /* GL_EXP */
+ 465, /* GL_EXP2 */
+ 333, /* GL_CW */
122, /* GL_CCW */
143, /* GL_COEFF */
- 1058, /* GL_ORDER */
- 375, /* GL_DOMAIN */
- 305, /* GL_CURRENT_COLOR */
- 308, /* GL_CURRENT_INDEX */
- 314, /* GL_CURRENT_NORMAL */
- 327, /* GL_CURRENT_TEXTURE_COORDS */
- 319, /* GL_CURRENT_RASTER_COLOR */
- 321, /* GL_CURRENT_RASTER_INDEX */
- 325, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
- 322, /* GL_CURRENT_RASTER_POSITION */
- 323, /* GL_CURRENT_RASTER_POSITION_VALID */
- 320, /* GL_CURRENT_RASTER_DISTANCE */
- 1134, /* GL_POINT_SMOOTH */
- 1123, /* GL_POINT_SIZE */
- 1133, /* GL_POINT_SIZE_RANGE */
- 1124, /* GL_POINT_SIZE_GRANULARITY */
- 687, /* GL_LINE_SMOOTH */
- 694, /* GL_LINE_WIDTH */
- 696, /* GL_LINE_WIDTH_RANGE */
- 695, /* GL_LINE_WIDTH_GRANULARITY */
- 689, /* GL_LINE_STIPPLE */
- 690, /* GL_LINE_STIPPLE_PATTERN */
- 691, /* GL_LINE_STIPPLE_REPEAT */
- 701, /* GL_LIST_MODE */
- 860, /* GL_MAX_LIST_NESTING */
- 698, /* GL_LIST_BASE */
- 700, /* GL_LIST_INDEX */
- 1144, /* GL_POLYGON_MODE */
- 1151, /* GL_POLYGON_SMOOTH */
- 1153, /* GL_POLYGON_STIPPLE */
- 448, /* GL_EDGE_FLAG */
- 298, /* GL_CULL_FACE */
- 299, /* GL_CULL_FACE_MODE */
- 569, /* GL_FRONT_FACE */
- 669, /* GL_LIGHTING */
- 674, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- 675, /* GL_LIGHT_MODEL_TWO_SIDE */
- 671, /* GL_LIGHT_MODEL_AMBIENT */
- 1396, /* GL_SHADE_MODEL */
+ 1060, /* GL_ORDER */
+ 377, /* GL_DOMAIN */
+ 307, /* GL_CURRENT_COLOR */
+ 310, /* GL_CURRENT_INDEX */
+ 316, /* GL_CURRENT_NORMAL */
+ 329, /* GL_CURRENT_TEXTURE_COORDS */
+ 321, /* GL_CURRENT_RASTER_COLOR */
+ 323, /* GL_CURRENT_RASTER_INDEX */
+ 327, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+ 324, /* GL_CURRENT_RASTER_POSITION */
+ 325, /* GL_CURRENT_RASTER_POSITION_VALID */
+ 322, /* GL_CURRENT_RASTER_DISTANCE */
+ 1136, /* GL_POINT_SMOOTH */
+ 1125, /* GL_POINT_SIZE */
+ 1135, /* GL_POINT_SIZE_RANGE */
+ 1126, /* GL_POINT_SIZE_GRANULARITY */
+ 689, /* GL_LINE_SMOOTH */
+ 696, /* GL_LINE_WIDTH */
+ 698, /* GL_LINE_WIDTH_RANGE */
+ 697, /* GL_LINE_WIDTH_GRANULARITY */
+ 691, /* GL_LINE_STIPPLE */
+ 692, /* GL_LINE_STIPPLE_PATTERN */
+ 693, /* GL_LINE_STIPPLE_REPEAT */
+ 703, /* GL_LIST_MODE */
+ 862, /* GL_MAX_LIST_NESTING */
+ 700, /* GL_LIST_BASE */
+ 702, /* GL_LIST_INDEX */
+ 1146, /* GL_POLYGON_MODE */
+ 1153, /* GL_POLYGON_SMOOTH */
+ 1155, /* GL_POLYGON_STIPPLE */
+ 450, /* GL_EDGE_FLAG */
+ 300, /* GL_CULL_FACE */
+ 301, /* GL_CULL_FACE_MODE */
+ 571, /* GL_FRONT_FACE */
+ 671, /* GL_LIGHTING */
+ 676, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+ 677, /* GL_LIGHT_MODEL_TWO_SIDE */
+ 673, /* GL_LIGHT_MODEL_AMBIENT */
+ 1398, /* GL_SHADE_MODEL */
190, /* GL_COLOR_MATERIAL_FACE */
191, /* GL_COLOR_MATERIAL_PARAMETER */
189, /* GL_COLOR_MATERIAL */
- 496, /* GL_FOG */
- 518, /* GL_FOG_INDEX */
- 514, /* GL_FOG_DENSITY */
- 522, /* GL_FOG_START */
- 516, /* GL_FOG_END */
- 519, /* GL_FOG_MODE */
- 498, /* GL_FOG_COLOR */
- 362, /* GL_DEPTH_RANGE */
- 369, /* GL_DEPTH_TEST */
- 372, /* GL_DEPTH_WRITEMASK */
- 350, /* GL_DEPTH_CLEAR_VALUE */
- 361, /* GL_DEPTH_FUNC */
+ 498, /* GL_FOG */
+ 520, /* GL_FOG_INDEX */
+ 516, /* GL_FOG_DENSITY */
+ 524, /* GL_FOG_START */
+ 518, /* GL_FOG_END */
+ 521, /* GL_FOG_MODE */
+ 500, /* GL_FOG_COLOR */
+ 364, /* GL_DEPTH_RANGE */
+ 371, /* GL_DEPTH_TEST */
+ 374, /* GL_DEPTH_WRITEMASK */
+ 352, /* GL_DEPTH_CLEAR_VALUE */
+ 363, /* GL_DEPTH_FUNC */
12, /* GL_ACCUM_CLEAR_VALUE */
- 1489, /* GL_STENCIL_TEST */
- 1477, /* GL_STENCIL_CLEAR_VALUE */
- 1479, /* GL_STENCIL_FUNC */
- 1491, /* GL_STENCIL_VALUE_MASK */
- 1478, /* GL_STENCIL_FAIL */
- 1486, /* GL_STENCIL_PASS_DEPTH_FAIL */
- 1487, /* GL_STENCIL_PASS_DEPTH_PASS */
- 1488, /* GL_STENCIL_REF */
- 1492, /* GL_STENCIL_WRITEMASK */
- 829, /* GL_MATRIX_MODE */
- 997, /* GL_NORMALIZE */
- 1801, /* GL_VIEWPORT */
- 971, /* GL_MODELVIEW_STACK_DEPTH */
- 1234, /* GL_PROJECTION_STACK_DEPTH */
- 1687, /* GL_TEXTURE_STACK_DEPTH */
- 969, /* GL_MODELVIEW_MATRIX */
- 1233, /* GL_PROJECTION_MATRIX */
- 1672, /* GL_TEXTURE_MATRIX */
+ 1491, /* GL_STENCIL_TEST */
+ 1479, /* GL_STENCIL_CLEAR_VALUE */
+ 1481, /* GL_STENCIL_FUNC */
+ 1493, /* GL_STENCIL_VALUE_MASK */
+ 1480, /* GL_STENCIL_FAIL */
+ 1488, /* GL_STENCIL_PASS_DEPTH_FAIL */
+ 1489, /* GL_STENCIL_PASS_DEPTH_PASS */
+ 1490, /* GL_STENCIL_REF */
+ 1494, /* GL_STENCIL_WRITEMASK */
+ 831, /* GL_MATRIX_MODE */
+ 999, /* GL_NORMALIZE */
+ 1803, /* GL_VIEWPORT */
+ 973, /* GL_MODELVIEW_STACK_DEPTH */
+ 1236, /* GL_PROJECTION_STACK_DEPTH */
+ 1689, /* GL_TEXTURE_STACK_DEPTH */
+ 971, /* GL_MODELVIEW_MATRIX */
+ 1235, /* GL_PROJECTION_MATRIX */
+ 1674, /* GL_TEXTURE_MATRIX */
60, /* GL_ATTRIB_STACK_DEPTH */
133, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
43, /* GL_ALPHA_TEST */
44, /* GL_ALPHA_TEST_FUNC */
45, /* GL_ALPHA_TEST_REF */
- 374, /* GL_DITHER */
+ 376, /* GL_DITHER */
77, /* GL_BLEND_DST */
86, /* GL_BLEND_SRC */
74, /* GL_BLEND */
- 704, /* GL_LOGIC_OP_MODE */
- 623, /* GL_INDEX_LOGIC_OP */
+ 706, /* GL_LOGIC_OP_MODE */
+ 625, /* GL_INDEX_LOGIC_OP */
188, /* GL_COLOR_LOGIC_OP */
66, /* GL_AUX_BUFFERS */
- 385, /* GL_DRAW_BUFFER */
- 1266, /* GL_READ_BUFFER */
- 1377, /* GL_SCISSOR_BOX */
- 1378, /* GL_SCISSOR_TEST */
- 622, /* GL_INDEX_CLEAR_VALUE */
- 627, /* GL_INDEX_WRITEMASK */
+ 387, /* GL_DRAW_BUFFER */
+ 1268, /* GL_READ_BUFFER */
+ 1379, /* GL_SCISSOR_BOX */
+ 1380, /* GL_SCISSOR_TEST */
+ 624, /* GL_INDEX_CLEAR_VALUE */
+ 629, /* GL_INDEX_WRITEMASK */
185, /* GL_COLOR_CLEAR_VALUE */
227, /* GL_COLOR_WRITEMASK */
- 624, /* GL_INDEX_MODE */
- 1343, /* GL_RGBA_MODE */
- 384, /* GL_DOUBLEBUFFER */
- 1493, /* GL_STEREO */
- 1301, /* GL_RENDER_MODE */
- 1082, /* GL_PERSPECTIVE_CORRECTION_HINT */
- 1135, /* GL_POINT_SMOOTH_HINT */
- 688, /* GL_LINE_SMOOTH_HINT */
- 1152, /* GL_POLYGON_SMOOTH_HINT */
- 517, /* GL_FOG_HINT */
- 1653, /* GL_TEXTURE_GEN_S */
- 1654, /* GL_TEXTURE_GEN_T */
- 1652, /* GL_TEXTURE_GEN_R */
- 1651, /* GL_TEXTURE_GEN_Q */
- 1095, /* GL_PIXEL_MAP_I_TO_I */
- 1101, /* GL_PIXEL_MAP_S_TO_S */
- 1097, /* GL_PIXEL_MAP_I_TO_R */
- 1093, /* GL_PIXEL_MAP_I_TO_G */
- 1091, /* GL_PIXEL_MAP_I_TO_B */
- 1089, /* GL_PIXEL_MAP_I_TO_A */
- 1099, /* GL_PIXEL_MAP_R_TO_R */
- 1087, /* GL_PIXEL_MAP_G_TO_G */
- 1085, /* GL_PIXEL_MAP_B_TO_B */
- 1083, /* GL_PIXEL_MAP_A_TO_A */
- 1096, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- 1102, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- 1098, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- 1094, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- 1092, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- 1090, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- 1100, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- 1088, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- 1086, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- 1084, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- 1721, /* GL_UNPACK_SWAP_BYTES */
- 1716, /* GL_UNPACK_LSB_FIRST */
- 1717, /* GL_UNPACK_ROW_LENGTH */
- 1720, /* GL_UNPACK_SKIP_ROWS */
- 1719, /* GL_UNPACK_SKIP_PIXELS */
- 1714, /* GL_UNPACK_ALIGNMENT */
- 1070, /* GL_PACK_SWAP_BYTES */
- 1065, /* GL_PACK_LSB_FIRST */
- 1066, /* GL_PACK_ROW_LENGTH */
- 1069, /* GL_PACK_SKIP_ROWS */
- 1068, /* GL_PACK_SKIP_PIXELS */
- 1062, /* GL_PACK_ALIGNMENT */
- 782, /* GL_MAP_COLOR */
- 783, /* GL_MAP_STENCIL */
- 626, /* GL_INDEX_SHIFT */
- 625, /* GL_INDEX_OFFSET */
- 1279, /* GL_RED_SCALE */
- 1277, /* GL_RED_BIAS */
- 1818, /* GL_ZOOM_X */
- 1819, /* GL_ZOOM_Y */
- 587, /* GL_GREEN_SCALE */
- 585, /* GL_GREEN_BIAS */
+ 626, /* GL_INDEX_MODE */
+ 1345, /* GL_RGBA_MODE */
+ 386, /* GL_DOUBLEBUFFER */
+ 1495, /* GL_STEREO */
+ 1303, /* GL_RENDER_MODE */
+ 1084, /* GL_PERSPECTIVE_CORRECTION_HINT */
+ 1137, /* GL_POINT_SMOOTH_HINT */
+ 690, /* GL_LINE_SMOOTH_HINT */
+ 1154, /* GL_POLYGON_SMOOTH_HINT */
+ 519, /* GL_FOG_HINT */
+ 1655, /* GL_TEXTURE_GEN_S */
+ 1656, /* GL_TEXTURE_GEN_T */
+ 1654, /* GL_TEXTURE_GEN_R */
+ 1653, /* GL_TEXTURE_GEN_Q */
+ 1097, /* GL_PIXEL_MAP_I_TO_I */
+ 1103, /* GL_PIXEL_MAP_S_TO_S */
+ 1099, /* GL_PIXEL_MAP_I_TO_R */
+ 1095, /* GL_PIXEL_MAP_I_TO_G */
+ 1093, /* GL_PIXEL_MAP_I_TO_B */
+ 1091, /* GL_PIXEL_MAP_I_TO_A */
+ 1101, /* GL_PIXEL_MAP_R_TO_R */
+ 1089, /* GL_PIXEL_MAP_G_TO_G */
+ 1087, /* GL_PIXEL_MAP_B_TO_B */
+ 1085, /* GL_PIXEL_MAP_A_TO_A */
+ 1098, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+ 1104, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+ 1100, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+ 1096, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+ 1094, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+ 1092, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+ 1102, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+ 1090, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+ 1088, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+ 1086, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+ 1723, /* GL_UNPACK_SWAP_BYTES */
+ 1718, /* GL_UNPACK_LSB_FIRST */
+ 1719, /* GL_UNPACK_ROW_LENGTH */
+ 1722, /* GL_UNPACK_SKIP_ROWS */
+ 1721, /* GL_UNPACK_SKIP_PIXELS */
+ 1716, /* GL_UNPACK_ALIGNMENT */
+ 1072, /* GL_PACK_SWAP_BYTES */
+ 1067, /* GL_PACK_LSB_FIRST */
+ 1068, /* GL_PACK_ROW_LENGTH */
+ 1071, /* GL_PACK_SKIP_ROWS */
+ 1070, /* GL_PACK_SKIP_PIXELS */
+ 1064, /* GL_PACK_ALIGNMENT */
+ 784, /* GL_MAP_COLOR */
+ 785, /* GL_MAP_STENCIL */
+ 628, /* GL_INDEX_SHIFT */
+ 627, /* GL_INDEX_OFFSET */
+ 1281, /* GL_RED_SCALE */
+ 1279, /* GL_RED_BIAS */
+ 1820, /* GL_ZOOM_X */
+ 1821, /* GL_ZOOM_Y */
+ 589, /* GL_GREEN_SCALE */
+ 587, /* GL_GREEN_BIAS */
92, /* GL_BLUE_SCALE */
90, /* GL_BLUE_BIAS */
42, /* GL_ALPHA_SCALE */
40, /* GL_ALPHA_BIAS */
- 363, /* GL_DEPTH_SCALE */
- 344, /* GL_DEPTH_BIAS */
- 855, /* GL_MAX_EVAL_ORDER */
- 859, /* GL_MAX_LIGHTS */
- 838, /* GL_MAX_CLIP_PLANES */
- 904, /* GL_MAX_TEXTURE_SIZE */
- 865, /* GL_MAX_PIXEL_MAP_TABLE */
- 834, /* GL_MAX_ATTRIB_STACK_DEPTH */
- 862, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- 863, /* GL_MAX_NAME_STACK_DEPTH */
- 891, /* GL_MAX_PROJECTION_STACK_DEPTH */
- 905, /* GL_MAX_TEXTURE_STACK_DEPTH */
- 919, /* GL_MAX_VIEWPORT_DIMS */
- 835, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- 1500, /* GL_SUBPIXEL_BITS */
- 621, /* GL_INDEX_BITS */
- 1278, /* GL_RED_BITS */
- 586, /* GL_GREEN_BITS */
+ 365, /* GL_DEPTH_SCALE */
+ 346, /* GL_DEPTH_BIAS */
+ 857, /* GL_MAX_EVAL_ORDER */
+ 861, /* GL_MAX_LIGHTS */
+ 840, /* GL_MAX_CLIP_PLANES */
+ 906, /* GL_MAX_TEXTURE_SIZE */
+ 867, /* GL_MAX_PIXEL_MAP_TABLE */
+ 836, /* GL_MAX_ATTRIB_STACK_DEPTH */
+ 864, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+ 865, /* GL_MAX_NAME_STACK_DEPTH */
+ 893, /* GL_MAX_PROJECTION_STACK_DEPTH */
+ 907, /* GL_MAX_TEXTURE_STACK_DEPTH */
+ 921, /* GL_MAX_VIEWPORT_DIMS */
+ 837, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+ 1502, /* GL_SUBPIXEL_BITS */
+ 623, /* GL_INDEX_BITS */
+ 1280, /* GL_RED_BITS */
+ 588, /* GL_GREEN_BITS */
91, /* GL_BLUE_BITS */
41, /* GL_ALPHA_BITS */
- 345, /* GL_DEPTH_BITS */
- 1475, /* GL_STENCIL_BITS */
+ 347, /* GL_DEPTH_BITS */
+ 1477, /* GL_STENCIL_BITS */
14, /* GL_ACCUM_RED_BITS */
13, /* GL_ACCUM_GREEN_BITS */
10, /* GL_ACCUM_BLUE_BITS */
9, /* GL_ACCUM_ALPHA_BITS */
- 985, /* GL_NAME_STACK_DEPTH */
+ 987, /* GL_NAME_STACK_DEPTH */
61, /* GL_AUTO_NORMAL */
- 728, /* GL_MAP1_COLOR_4 */
- 731, /* GL_MAP1_INDEX */
- 732, /* GL_MAP1_NORMAL */
- 733, /* GL_MAP1_TEXTURE_COORD_1 */
- 734, /* GL_MAP1_TEXTURE_COORD_2 */
- 735, /* GL_MAP1_TEXTURE_COORD_3 */
- 736, /* GL_MAP1_TEXTURE_COORD_4 */
- 737, /* GL_MAP1_VERTEX_3 */
- 738, /* GL_MAP1_VERTEX_4 */
- 755, /* GL_MAP2_COLOR_4 */
- 758, /* GL_MAP2_INDEX */
- 759, /* GL_MAP2_NORMAL */
- 760, /* GL_MAP2_TEXTURE_COORD_1 */
- 761, /* GL_MAP2_TEXTURE_COORD_2 */
- 762, /* GL_MAP2_TEXTURE_COORD_3 */
- 763, /* GL_MAP2_TEXTURE_COORD_4 */
- 764, /* GL_MAP2_VERTEX_3 */
- 765, /* GL_MAP2_VERTEX_4 */
- 729, /* GL_MAP1_GRID_DOMAIN */
- 730, /* GL_MAP1_GRID_SEGMENTS */
- 756, /* GL_MAP2_GRID_DOMAIN */
- 757, /* GL_MAP2_GRID_SEGMENTS */
- 1577, /* GL_TEXTURE_1D */
- 1579, /* GL_TEXTURE_2D */
- 472, /* GL_FEEDBACK_BUFFER_POINTER */
- 473, /* GL_FEEDBACK_BUFFER_SIZE */
- 474, /* GL_FEEDBACK_BUFFER_TYPE */
- 1387, /* GL_SELECTION_BUFFER_POINTER */
- 1388, /* GL_SELECTION_BUFFER_SIZE */
- 1691, /* GL_TEXTURE_WIDTH */
- 1658, /* GL_TEXTURE_HEIGHT */
- 1614, /* GL_TEXTURE_COMPONENTS */
- 1598, /* GL_TEXTURE_BORDER_COLOR */
- 1597, /* GL_TEXTURE_BORDER */
- 376, /* GL_DONT_CARE */
- 470, /* GL_FASTEST */
- 993, /* GL_NICEST */
+ 730, /* GL_MAP1_COLOR_4 */
+ 733, /* GL_MAP1_INDEX */
+ 734, /* GL_MAP1_NORMAL */
+ 735, /* GL_MAP1_TEXTURE_COORD_1 */
+ 736, /* GL_MAP1_TEXTURE_COORD_2 */
+ 737, /* GL_MAP1_TEXTURE_COORD_3 */
+ 738, /* GL_MAP1_TEXTURE_COORD_4 */
+ 739, /* GL_MAP1_VERTEX_3 */
+ 740, /* GL_MAP1_VERTEX_4 */
+ 757, /* GL_MAP2_COLOR_4 */
+ 760, /* GL_MAP2_INDEX */
+ 761, /* GL_MAP2_NORMAL */
+ 762, /* GL_MAP2_TEXTURE_COORD_1 */
+ 763, /* GL_MAP2_TEXTURE_COORD_2 */
+ 764, /* GL_MAP2_TEXTURE_COORD_3 */
+ 765, /* GL_MAP2_TEXTURE_COORD_4 */
+ 766, /* GL_MAP2_VERTEX_3 */
+ 767, /* GL_MAP2_VERTEX_4 */
+ 731, /* GL_MAP1_GRID_DOMAIN */
+ 732, /* GL_MAP1_GRID_SEGMENTS */
+ 758, /* GL_MAP2_GRID_DOMAIN */
+ 759, /* GL_MAP2_GRID_SEGMENTS */
+ 1579, /* GL_TEXTURE_1D */
+ 1581, /* GL_TEXTURE_2D */
+ 474, /* GL_FEEDBACK_BUFFER_POINTER */
+ 475, /* GL_FEEDBACK_BUFFER_SIZE */
+ 476, /* GL_FEEDBACK_BUFFER_TYPE */
+ 1389, /* GL_SELECTION_BUFFER_POINTER */
+ 1390, /* GL_SELECTION_BUFFER_SIZE */
+ 1693, /* GL_TEXTURE_WIDTH */
+ 1660, /* GL_TEXTURE_HEIGHT */
+ 1616, /* GL_TEXTURE_COMPONENTS */
+ 1600, /* GL_TEXTURE_BORDER_COLOR */
+ 1599, /* GL_TEXTURE_BORDER */
+ 378, /* GL_DONT_CARE */
+ 472, /* GL_FASTEST */
+ 995, /* GL_NICEST */
47, /* GL_AMBIENT */
- 373, /* GL_DIFFUSE */
- 1435, /* GL_SPECULAR */
- 1156, /* GL_POSITION */
- 1438, /* GL_SPOT_DIRECTION */
- 1439, /* GL_SPOT_EXPONENT */
- 1437, /* GL_SPOT_CUTOFF */
+ 375, /* GL_DIFFUSE */
+ 1437, /* GL_SPECULAR */
+ 1158, /* GL_POSITION */
+ 1440, /* GL_SPOT_DIRECTION */
+ 1441, /* GL_SPOT_EXPONENT */
+ 1439, /* GL_SPOT_CUTOFF */
271, /* GL_CONSTANT_ATTENUATION */
- 678, /* GL_LINEAR_ATTENUATION */
- 1253, /* GL_QUADRATIC_ATTENUATION */
+ 680, /* GL_LINEAR_ATTENUATION */
+ 1255, /* GL_QUADRATIC_ATTENUATION */
241, /* GL_COMPILE */
242, /* GL_COMPILE_AND_EXECUTE */
117, /* GL_BYTE */
- 1722, /* GL_UNSIGNED_BYTE */
- 1401, /* GL_SHORT */
- 1733, /* GL_UNSIGNED_SHORT */
- 629, /* GL_INT */
- 1725, /* GL_UNSIGNED_INT */
- 477, /* GL_FLOAT */
+ 1724, /* GL_UNSIGNED_BYTE */
+ 1403, /* GL_SHORT */
+ 1735, /* GL_UNSIGNED_SHORT */
+ 631, /* GL_INT */
+ 1727, /* GL_UNSIGNED_INT */
+ 479, /* GL_FLOAT */
1, /* GL_2_BYTES */
5, /* GL_3_BYTES */
7, /* GL_4_BYTES */
- 383, /* GL_DOUBLE */
+ 385, /* GL_DOUBLE */
129, /* GL_CLEAR */
49, /* GL_AND */
51, /* GL_AND_REVERSE */
295, /* GL_COPY */
50, /* GL_AND_INVERTED */
- 995, /* GL_NOOP */
- 1814, /* GL_XOR */
- 1057, /* GL_OR */
- 996, /* GL_NOR */
- 460, /* GL_EQUIV */
- 656, /* GL_INVERT */
- 1060, /* GL_OR_REVERSE */
+ 997, /* GL_NOOP */
+ 1816, /* GL_XOR */
+ 1059, /* GL_OR */
+ 998, /* GL_NOR */
+ 462, /* GL_EQUIV */
+ 658, /* GL_INVERT */
+ 1062, /* GL_OR_REVERSE */
296, /* GL_COPY_INVERTED */
- 1059, /* GL_OR_INVERTED */
- 986, /* GL_NAND */
- 1392, /* GL_SET */
- 457, /* GL_EMISSION */
- 1400, /* GL_SHININESS */
+ 1061, /* GL_OR_INVERTED */
+ 988, /* GL_NAND */
+ 1394, /* GL_SET */
+ 459, /* GL_EMISSION */
+ 1402, /* GL_SHININESS */
48, /* GL_AMBIENT_AND_DIFFUSE */
187, /* GL_COLOR_INDEXES */
- 936, /* GL_MODELVIEW */
- 1232, /* GL_PROJECTION */
- 1512, /* GL_TEXTURE */
+ 938, /* GL_MODELVIEW */
+ 1234, /* GL_PROJECTION */
+ 1514, /* GL_TEXTURE */
144, /* GL_COLOR */
- 340, /* GL_DEPTH */
- 1461, /* GL_STENCIL */
+ 342, /* GL_DEPTH */
+ 1463, /* GL_STENCIL */
186, /* GL_COLOR_INDEX */
- 1480, /* GL_STENCIL_INDEX */
- 351, /* GL_DEPTH_COMPONENT */
- 1274, /* GL_RED */
- 584, /* GL_GREEN */
+ 1482, /* GL_STENCIL_INDEX */
+ 353, /* GL_DEPTH_COMPONENT */
+ 1276, /* GL_RED */
+ 586, /* GL_GREEN */
89, /* GL_BLUE */
31, /* GL_ALPHA */
- 1309, /* GL_RGB */
- 1328, /* GL_RGBA */
- 706, /* GL_LUMINANCE */
- 727, /* GL_LUMINANCE_ALPHA */
+ 1311, /* GL_RGB */
+ 1330, /* GL_RGBA */
+ 708, /* GL_LUMINANCE */
+ 729, /* GL_LUMINANCE_ALPHA */
72, /* GL_BITMAP */
- 1112, /* GL_POINT */
- 676, /* GL_LINE */
- 475, /* GL_FILL */
- 1283, /* GL_RENDER */
- 471, /* GL_FEEDBACK */
- 1386, /* GL_SELECT */
- 476, /* GL_FLAT */
- 1410, /* GL_SMOOTH */
- 657, /* GL_KEEP */
- 1303, /* GL_REPLACE */
- 611, /* GL_INCR */
- 336, /* GL_DECR */
- 1748, /* GL_VENDOR */
- 1300, /* GL_RENDERER */
- 1749, /* GL_VERSION */
- 464, /* GL_EXTENSIONS */
- 1351, /* GL_S */
- 1503, /* GL_T */
- 1263, /* GL_R */
- 1252, /* GL_Q */
- 972, /* GL_MODULATE */
- 335, /* GL_DECAL */
- 1648, /* GL_TEXTURE_ENV_MODE */
- 1647, /* GL_TEXTURE_ENV_COLOR */
- 1646, /* GL_TEXTURE_ENV */
- 465, /* GL_EYE_LINEAR */
- 1019, /* GL_OBJECT_LINEAR */
- 1436, /* GL_SPHERE_MAP */
- 1650, /* GL_TEXTURE_GEN_MODE */
- 1021, /* GL_OBJECT_PLANE */
- 466, /* GL_EYE_PLANE */
- 987, /* GL_NEAREST */
- 677, /* GL_LINEAR */
- 991, /* GL_NEAREST_MIPMAP_NEAREST */
- 682, /* GL_LINEAR_MIPMAP_NEAREST */
- 990, /* GL_NEAREST_MIPMAP_LINEAR */
- 681, /* GL_LINEAR_MIPMAP_LINEAR */
- 1671, /* GL_TEXTURE_MAG_FILTER */
- 1679, /* GL_TEXTURE_MIN_FILTER */
- 1693, /* GL_TEXTURE_WRAP_S */
- 1694, /* GL_TEXTURE_WRAP_T */
+ 1114, /* GL_POINT */
+ 678, /* GL_LINE */
+ 477, /* GL_FILL */
+ 1285, /* GL_RENDER */
+ 473, /* GL_FEEDBACK */
+ 1388, /* GL_SELECT */
+ 478, /* GL_FLAT */
+ 1412, /* GL_SMOOTH */
+ 659, /* GL_KEEP */
+ 1305, /* GL_REPLACE */
+ 613, /* GL_INCR */
+ 338, /* GL_DECR */
+ 1750, /* GL_VENDOR */
+ 1302, /* GL_RENDERER */
+ 1751, /* GL_VERSION */
+ 466, /* GL_EXTENSIONS */
+ 1353, /* GL_S */
+ 1505, /* GL_T */
+ 1265, /* GL_R */
+ 1254, /* GL_Q */
+ 974, /* GL_MODULATE */
+ 337, /* GL_DECAL */
+ 1650, /* GL_TEXTURE_ENV_MODE */
+ 1649, /* GL_TEXTURE_ENV_COLOR */
+ 1648, /* GL_TEXTURE_ENV */
+ 467, /* GL_EYE_LINEAR */
+ 1021, /* GL_OBJECT_LINEAR */
+ 1438, /* GL_SPHERE_MAP */
+ 1652, /* GL_TEXTURE_GEN_MODE */
+ 1023, /* GL_OBJECT_PLANE */
+ 468, /* GL_EYE_PLANE */
+ 989, /* GL_NEAREST */
+ 679, /* GL_LINEAR */
+ 993, /* GL_NEAREST_MIPMAP_NEAREST */
+ 684, /* GL_LINEAR_MIPMAP_NEAREST */
+ 992, /* GL_NEAREST_MIPMAP_LINEAR */
+ 683, /* GL_LINEAR_MIPMAP_LINEAR */
+ 1673, /* GL_TEXTURE_MAG_FILTER */
+ 1681, /* GL_TEXTURE_MIN_FILTER */
+ 1695, /* GL_TEXTURE_WRAP_S */
+ 1696, /* GL_TEXTURE_WRAP_T */
123, /* GL_CLAMP */
- 1302, /* GL_REPEAT */
- 1150, /* GL_POLYGON_OFFSET_UNITS */
- 1149, /* GL_POLYGON_OFFSET_POINT */
- 1148, /* GL_POLYGON_OFFSET_LINE */
- 1264, /* GL_R3_G3_B2 */
- 1745, /* GL_V2F */
- 1746, /* GL_V3F */
+ 1304, /* GL_REPEAT */
+ 1152, /* GL_POLYGON_OFFSET_UNITS */
+ 1151, /* GL_POLYGON_OFFSET_POINT */
+ 1150, /* GL_POLYGON_OFFSET_LINE */
+ 1266, /* GL_R3_G3_B2 */
+ 1747, /* GL_V2F */
+ 1748, /* GL_V3F */
120, /* GL_C4UB_V2F */
121, /* GL_C4UB_V3F */
118, /* GL_C3F_V3F */
- 984, /* GL_N3F_V3F */
+ 986, /* GL_N3F_V3F */
119, /* GL_C4F_N3F_V3F */
- 1508, /* GL_T2F_V3F */
- 1510, /* GL_T4F_V4F */
- 1506, /* GL_T2F_C4UB_V3F */
- 1504, /* GL_T2F_C3F_V3F */
- 1507, /* GL_T2F_N3F_V3F */
- 1505, /* GL_T2F_C4F_N3F_V3F */
- 1509, /* GL_T4F_C4F_N3F_V4F */
+ 1510, /* GL_T2F_V3F */
+ 1512, /* GL_T4F_V4F */
+ 1508, /* GL_T2F_C4UB_V3F */
+ 1506, /* GL_T2F_C3F_V3F */
+ 1509, /* GL_T2F_N3F_V3F */
+ 1507, /* GL_T2F_C4F_N3F_V3F */
+ 1511, /* GL_T4F_C4F_N3F_V4F */
136, /* GL_CLIP_PLANE0 */
137, /* GL_CLIP_PLANE1 */
138, /* GL_CLIP_PLANE2 */
139, /* GL_CLIP_PLANE3 */
140, /* GL_CLIP_PLANE4 */
141, /* GL_CLIP_PLANE5 */
- 661, /* GL_LIGHT0 */
- 662, /* GL_LIGHT1 */
- 663, /* GL_LIGHT2 */
- 664, /* GL_LIGHT3 */
- 665, /* GL_LIGHT4 */
- 666, /* GL_LIGHT5 */
- 667, /* GL_LIGHT6 */
- 668, /* GL_LIGHT7 */
- 588, /* GL_HINT_BIT */
+ 663, /* GL_LIGHT0 */
+ 664, /* GL_LIGHT1 */
+ 665, /* GL_LIGHT2 */
+ 666, /* GL_LIGHT3 */
+ 667, /* GL_LIGHT4 */
+ 668, /* GL_LIGHT5 */
+ 669, /* GL_LIGHT6 */
+ 670, /* GL_LIGHT7 */
+ 590, /* GL_HINT_BIT */
273, /* GL_CONSTANT_COLOR */
- 1031, /* GL_ONE_MINUS_CONSTANT_COLOR */
+ 1033, /* GL_ONE_MINUS_CONSTANT_COLOR */
268, /* GL_CONSTANT_ALPHA */
- 1029, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+ 1031, /* GL_ONE_MINUS_CONSTANT_ALPHA */
75, /* GL_BLEND_COLOR */
- 572, /* GL_FUNC_ADD */
- 920, /* GL_MIN */
- 831, /* GL_MAX */
+ 574, /* GL_FUNC_ADD */
+ 922, /* GL_MIN */
+ 833, /* GL_MAX */
80, /* GL_BLEND_EQUATION */
- 576, /* GL_FUNC_SUBTRACT */
- 574, /* GL_FUNC_REVERSE_SUBTRACT */
+ 578, /* GL_FUNC_SUBTRACT */
+ 576, /* GL_FUNC_REVERSE_SUBTRACT */
276, /* GL_CONVOLUTION_1D */
277, /* GL_CONVOLUTION_2D */
- 1389, /* GL_SEPARABLE_2D */
+ 1391, /* GL_SEPARABLE_2D */
280, /* GL_CONVOLUTION_BORDER_MODE */
284, /* GL_CONVOLUTION_FILTER_SCALE */
282, /* GL_CONVOLUTION_FILTER_BIAS */
- 1275, /* GL_REDUCE */
+ 1277, /* GL_REDUCE */
286, /* GL_CONVOLUTION_FORMAT */
290, /* GL_CONVOLUTION_WIDTH */
288, /* GL_CONVOLUTION_HEIGHT */
- 846, /* GL_MAX_CONVOLUTION_WIDTH */
- 844, /* GL_MAX_CONVOLUTION_HEIGHT */
- 1189, /* GL_POST_CONVOLUTION_RED_SCALE */
- 1185, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- 1180, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- 1176, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- 1187, /* GL_POST_CONVOLUTION_RED_BIAS */
- 1183, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- 1178, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- 1174, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- 589, /* GL_HISTOGRAM */
- 1236, /* GL_PROXY_HISTOGRAM */
- 605, /* GL_HISTOGRAM_WIDTH */
- 595, /* GL_HISTOGRAM_FORMAT */
- 601, /* GL_HISTOGRAM_RED_SIZE */
- 597, /* GL_HISTOGRAM_GREEN_SIZE */
- 592, /* GL_HISTOGRAM_BLUE_SIZE */
- 590, /* GL_HISTOGRAM_ALPHA_SIZE */
- 599, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- 603, /* GL_HISTOGRAM_SINK */
- 921, /* GL_MINMAX */
- 923, /* GL_MINMAX_FORMAT */
- 925, /* GL_MINMAX_SINK */
- 1511, /* GL_TABLE_TOO_LARGE_EXT */
- 1724, /* GL_UNSIGNED_BYTE_3_3_2 */
- 1735, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- 1737, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- 1730, /* GL_UNSIGNED_INT_8_8_8_8 */
- 1726, /* GL_UNSIGNED_INT_10_10_10_2 */
- 1147, /* GL_POLYGON_OFFSET_FILL */
- 1146, /* GL_POLYGON_OFFSET_FACTOR */
- 1145, /* GL_POLYGON_OFFSET_BIAS */
- 1306, /* GL_RESCALE_NORMAL */
+ 848, /* GL_MAX_CONVOLUTION_WIDTH */
+ 846, /* GL_MAX_CONVOLUTION_HEIGHT */
+ 1191, /* GL_POST_CONVOLUTION_RED_SCALE */
+ 1187, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+ 1182, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+ 1178, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+ 1189, /* GL_POST_CONVOLUTION_RED_BIAS */
+ 1185, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+ 1180, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+ 1176, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+ 591, /* GL_HISTOGRAM */
+ 1238, /* GL_PROXY_HISTOGRAM */
+ 607, /* GL_HISTOGRAM_WIDTH */
+ 597, /* GL_HISTOGRAM_FORMAT */
+ 603, /* GL_HISTOGRAM_RED_SIZE */
+ 599, /* GL_HISTOGRAM_GREEN_SIZE */
+ 594, /* GL_HISTOGRAM_BLUE_SIZE */
+ 592, /* GL_HISTOGRAM_ALPHA_SIZE */
+ 601, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+ 605, /* GL_HISTOGRAM_SINK */
+ 923, /* GL_MINMAX */
+ 925, /* GL_MINMAX_FORMAT */
+ 927, /* GL_MINMAX_SINK */
+ 1513, /* GL_TABLE_TOO_LARGE_EXT */
+ 1726, /* GL_UNSIGNED_BYTE_3_3_2 */
+ 1737, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+ 1739, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+ 1732, /* GL_UNSIGNED_INT_8_8_8_8 */
+ 1728, /* GL_UNSIGNED_INT_10_10_10_2 */
+ 1149, /* GL_POLYGON_OFFSET_FILL */
+ 1148, /* GL_POLYGON_OFFSET_FACTOR */
+ 1147, /* GL_POLYGON_OFFSET_BIAS */
+ 1308, /* GL_RESCALE_NORMAL */
36, /* GL_ALPHA4 */
38, /* GL_ALPHA8 */
32, /* GL_ALPHA12 */
34, /* GL_ALPHA16 */
- 717, /* GL_LUMINANCE4 */
- 723, /* GL_LUMINANCE8 */
- 707, /* GL_LUMINANCE12 */
- 713, /* GL_LUMINANCE16 */
- 718, /* GL_LUMINANCE4_ALPHA4 */
- 721, /* GL_LUMINANCE6_ALPHA2 */
- 724, /* GL_LUMINANCE8_ALPHA8 */
- 710, /* GL_LUMINANCE12_ALPHA4 */
- 708, /* GL_LUMINANCE12_ALPHA12 */
- 714, /* GL_LUMINANCE16_ALPHA16 */
- 630, /* GL_INTENSITY */
- 635, /* GL_INTENSITY4 */
- 637, /* GL_INTENSITY8 */
- 631, /* GL_INTENSITY12 */
- 633, /* GL_INTENSITY16 */
- 1318, /* GL_RGB2_EXT */
- 1319, /* GL_RGB4 */
- 1322, /* GL_RGB5 */
- 1326, /* GL_RGB8 */
- 1310, /* GL_RGB10 */
- 1314, /* GL_RGB12 */
- 1316, /* GL_RGB16 */
- 1333, /* GL_RGBA2 */
- 1335, /* GL_RGBA4 */
- 1323, /* GL_RGB5_A1 */
- 1339, /* GL_RGBA8 */
- 1311, /* GL_RGB10_A2 */
- 1329, /* GL_RGBA12 */
- 1331, /* GL_RGBA16 */
- 1684, /* GL_TEXTURE_RED_SIZE */
- 1656, /* GL_TEXTURE_GREEN_SIZE */
- 1595, /* GL_TEXTURE_BLUE_SIZE */
- 1582, /* GL_TEXTURE_ALPHA_SIZE */
- 1669, /* GL_TEXTURE_LUMINANCE_SIZE */
- 1660, /* GL_TEXTURE_INTENSITY_SIZE */
- 1304, /* GL_REPLACE_EXT */
- 1240, /* GL_PROXY_TEXTURE_1D */
- 1243, /* GL_PROXY_TEXTURE_2D */
- 1689, /* GL_TEXTURE_TOO_LARGE_EXT */
- 1681, /* GL_TEXTURE_PRIORITY */
- 1686, /* GL_TEXTURE_RESIDENT */
- 1585, /* GL_TEXTURE_BINDING_1D */
- 1587, /* GL_TEXTURE_BINDING_2D */
- 1589, /* GL_TEXTURE_BINDING_3D */
- 1067, /* GL_PACK_SKIP_IMAGES */
- 1063, /* GL_PACK_IMAGE_HEIGHT */
- 1718, /* GL_UNPACK_SKIP_IMAGES */
- 1715, /* GL_UNPACK_IMAGE_HEIGHT */
- 1581, /* GL_TEXTURE_3D */
- 1246, /* GL_PROXY_TEXTURE_3D */
- 1643, /* GL_TEXTURE_DEPTH */
- 1692, /* GL_TEXTURE_WRAP_R */
- 832, /* GL_MAX_3D_TEXTURE_SIZE */
- 1750, /* GL_VERTEX_ARRAY */
- 998, /* GL_NORMAL_ARRAY */
+ 719, /* GL_LUMINANCE4 */
+ 725, /* GL_LUMINANCE8 */
+ 709, /* GL_LUMINANCE12 */
+ 715, /* GL_LUMINANCE16 */
+ 720, /* GL_LUMINANCE4_ALPHA4 */
+ 723, /* GL_LUMINANCE6_ALPHA2 */
+ 726, /* GL_LUMINANCE8_ALPHA8 */
+ 712, /* GL_LUMINANCE12_ALPHA4 */
+ 710, /* GL_LUMINANCE12_ALPHA12 */
+ 716, /* GL_LUMINANCE16_ALPHA16 */
+ 632, /* GL_INTENSITY */
+ 637, /* GL_INTENSITY4 */
+ 639, /* GL_INTENSITY8 */
+ 633, /* GL_INTENSITY12 */
+ 635, /* GL_INTENSITY16 */
+ 1320, /* GL_RGB2_EXT */
+ 1321, /* GL_RGB4 */
+ 1324, /* GL_RGB5 */
+ 1328, /* GL_RGB8 */
+ 1312, /* GL_RGB10 */
+ 1316, /* GL_RGB12 */
+ 1318, /* GL_RGB16 */
+ 1335, /* GL_RGBA2 */
+ 1337, /* GL_RGBA4 */
+ 1325, /* GL_RGB5_A1 */
+ 1341, /* GL_RGBA8 */
+ 1313, /* GL_RGB10_A2 */
+ 1331, /* GL_RGBA12 */
+ 1333, /* GL_RGBA16 */
+ 1686, /* GL_TEXTURE_RED_SIZE */
+ 1658, /* GL_TEXTURE_GREEN_SIZE */
+ 1597, /* GL_TEXTURE_BLUE_SIZE */
+ 1584, /* GL_TEXTURE_ALPHA_SIZE */
+ 1671, /* GL_TEXTURE_LUMINANCE_SIZE */
+ 1662, /* GL_TEXTURE_INTENSITY_SIZE */
+ 1306, /* GL_REPLACE_EXT */
+ 1242, /* GL_PROXY_TEXTURE_1D */
+ 1245, /* GL_PROXY_TEXTURE_2D */
+ 1691, /* GL_TEXTURE_TOO_LARGE_EXT */
+ 1683, /* GL_TEXTURE_PRIORITY */
+ 1688, /* GL_TEXTURE_RESIDENT */
+ 1587, /* GL_TEXTURE_BINDING_1D */
+ 1589, /* GL_TEXTURE_BINDING_2D */
+ 1591, /* GL_TEXTURE_BINDING_3D */
+ 1069, /* GL_PACK_SKIP_IMAGES */
+ 1065, /* GL_PACK_IMAGE_HEIGHT */
+ 1720, /* GL_UNPACK_SKIP_IMAGES */
+ 1717, /* GL_UNPACK_IMAGE_HEIGHT */
+ 1583, /* GL_TEXTURE_3D */
+ 1248, /* GL_PROXY_TEXTURE_3D */
+ 1645, /* GL_TEXTURE_DEPTH */
+ 1694, /* GL_TEXTURE_WRAP_R */
+ 834, /* GL_MAX_3D_TEXTURE_SIZE */
+ 1752, /* GL_VERTEX_ARRAY */
+ 1000, /* GL_NORMAL_ARRAY */
145, /* GL_COLOR_ARRAY */
- 615, /* GL_INDEX_ARRAY */
- 1622, /* GL_TEXTURE_COORD_ARRAY */
- 449, /* GL_EDGE_FLAG_ARRAY */
- 1755, /* GL_VERTEX_ARRAY_SIZE */
- 1757, /* GL_VERTEX_ARRAY_TYPE */
- 1756, /* GL_VERTEX_ARRAY_STRIDE */
- 1003, /* GL_NORMAL_ARRAY_TYPE */
- 1002, /* GL_NORMAL_ARRAY_STRIDE */
+ 617, /* GL_INDEX_ARRAY */
+ 1624, /* GL_TEXTURE_COORD_ARRAY */
+ 451, /* GL_EDGE_FLAG_ARRAY */
+ 1757, /* GL_VERTEX_ARRAY_SIZE */
+ 1759, /* GL_VERTEX_ARRAY_TYPE */
+ 1758, /* GL_VERTEX_ARRAY_STRIDE */
+ 1005, /* GL_NORMAL_ARRAY_TYPE */
+ 1004, /* GL_NORMAL_ARRAY_STRIDE */
149, /* GL_COLOR_ARRAY_SIZE */
151, /* GL_COLOR_ARRAY_TYPE */
150, /* GL_COLOR_ARRAY_STRIDE */
- 620, /* GL_INDEX_ARRAY_TYPE */
- 619, /* GL_INDEX_ARRAY_STRIDE */
- 1626, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- 1628, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- 1627, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- 453, /* GL_EDGE_FLAG_ARRAY_STRIDE */
- 1754, /* GL_VERTEX_ARRAY_POINTER */
- 1001, /* GL_NORMAL_ARRAY_POINTER */
+ 622, /* GL_INDEX_ARRAY_TYPE */
+ 621, /* GL_INDEX_ARRAY_STRIDE */
+ 1628, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+ 1630, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+ 1629, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+ 455, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+ 1756, /* GL_VERTEX_ARRAY_POINTER */
+ 1003, /* GL_NORMAL_ARRAY_POINTER */
148, /* GL_COLOR_ARRAY_POINTER */
- 618, /* GL_INDEX_ARRAY_POINTER */
- 1625, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- 452, /* GL_EDGE_FLAG_ARRAY_POINTER */
- 977, /* GL_MULTISAMPLE */
- 1363, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- 1365, /* GL_SAMPLE_ALPHA_TO_ONE */
- 1370, /* GL_SAMPLE_COVERAGE */
- 1367, /* GL_SAMPLE_BUFFERS */
- 1358, /* GL_SAMPLES */
- 1374, /* GL_SAMPLE_COVERAGE_VALUE */
- 1372, /* GL_SAMPLE_COVERAGE_INVERT */
+ 620, /* GL_INDEX_ARRAY_POINTER */
+ 1627, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+ 454, /* GL_EDGE_FLAG_ARRAY_POINTER */
+ 979, /* GL_MULTISAMPLE */
+ 1365, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+ 1367, /* GL_SAMPLE_ALPHA_TO_ONE */
+ 1372, /* GL_SAMPLE_COVERAGE */
+ 1369, /* GL_SAMPLE_BUFFERS */
+ 1360, /* GL_SAMPLES */
+ 1376, /* GL_SAMPLE_COVERAGE_VALUE */
+ 1374, /* GL_SAMPLE_COVERAGE_INVERT */
192, /* GL_COLOR_MATRIX */
194, /* GL_COLOR_MATRIX_STACK_DEPTH */
- 840, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- 1172, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- 1168, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- 1163, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- 1159, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- 1170, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- 1166, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- 1161, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- 1157, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- 1605, /* GL_TEXTURE_COLOR_TABLE_SGI */
- 1247, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- 1607, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+ 842, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+ 1174, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+ 1170, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+ 1165, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+ 1161, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+ 1172, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+ 1168, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+ 1163, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+ 1159, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+ 1607, /* GL_TEXTURE_COLOR_TABLE_SGI */
+ 1249, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+ 1609, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
79, /* GL_BLEND_DST_RGB */
88, /* GL_BLEND_SRC_RGB */
78, /* GL_BLEND_DST_ALPHA */
87, /* GL_BLEND_SRC_ALPHA */
198, /* GL_COLOR_TABLE */
- 1182, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- 1165, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- 1235, /* GL_PROXY_COLOR_TABLE */
- 1239, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- 1238, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+ 1184, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+ 1167, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+ 1237, /* GL_PROXY_COLOR_TABLE */
+ 1241, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+ 1240, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
222, /* GL_COLOR_TABLE_SCALE */
202, /* GL_COLOR_TABLE_BIAS */
207, /* GL_COLOR_TABLE_FORMAT */
@@ -4295,667 +4299,667 @@ static const unsigned reduced_enums[1319] =
213, /* GL_COLOR_TABLE_INTENSITY_SIZE */
70, /* GL_BGR */
71, /* GL_BGRA */
- 854, /* GL_MAX_ELEMENTS_VERTICES */
- 853, /* GL_MAX_ELEMENTS_INDICES */
- 1659, /* GL_TEXTURE_INDEX_SIZE_EXT */
+ 856, /* GL_MAX_ELEMENTS_VERTICES */
+ 855, /* GL_MAX_ELEMENTS_INDICES */
+ 1661, /* GL_TEXTURE_INDEX_SIZE_EXT */
142, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
- 1129, /* GL_POINT_SIZE_MIN */
- 1125, /* GL_POINT_SIZE_MAX */
- 1119, /* GL_POINT_FADE_THRESHOLD_SIZE */
- 1115, /* GL_POINT_DISTANCE_ATTENUATION */
+ 1131, /* GL_POINT_SIZE_MIN */
+ 1127, /* GL_POINT_SIZE_MAX */
+ 1121, /* GL_POINT_FADE_THRESHOLD_SIZE */
+ 1117, /* GL_POINT_DISTANCE_ATTENUATION */
124, /* GL_CLAMP_TO_BORDER */
127, /* GL_CLAMP_TO_EDGE */
- 1680, /* GL_TEXTURE_MIN_LOD */
- 1678, /* GL_TEXTURE_MAX_LOD */
- 1584, /* GL_TEXTURE_BASE_LEVEL */
- 1677, /* GL_TEXTURE_MAX_LEVEL */
- 608, /* GL_IGNORE_BORDER_HP */
+ 1682, /* GL_TEXTURE_MIN_LOD */
+ 1680, /* GL_TEXTURE_MAX_LOD */
+ 1586, /* GL_TEXTURE_BASE_LEVEL */
+ 1679, /* GL_TEXTURE_MAX_LEVEL */
+ 610, /* GL_IGNORE_BORDER_HP */
272, /* GL_CONSTANT_BORDER_HP */
- 1305, /* GL_REPLICATE_BORDER_HP */
+ 1307, /* GL_REPLICATE_BORDER_HP */
278, /* GL_CONVOLUTION_BORDER_COLOR */
- 1026, /* GL_OCCLUSION_TEST_HP */
- 1027, /* GL_OCCLUSION_TEST_RESULT_HP */
- 679, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- 1599, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- 1601, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- 1603, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- 1604, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1602, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- 1600, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- 836, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- 837, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1192, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- 1194, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- 1191, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- 1193, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- 1667, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- 1668, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- 1666, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- 578, /* GL_GENERATE_MIPMAP */
- 579, /* GL_GENERATE_MIPMAP_HINT */
- 520, /* GL_FOG_OFFSET_SGIX */
- 521, /* GL_FOG_OFFSET_VALUE_SGIX */
- 1613, /* GL_TEXTURE_COMPARE_SGIX */
- 1612, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- 1663, /* GL_TEXTURE_LEQUAL_R_SGIX */
- 1655, /* GL_TEXTURE_GEQUAL_R_SGIX */
- 352, /* GL_DEPTH_COMPONENT16 */
- 355, /* GL_DEPTH_COMPONENT24 */
- 358, /* GL_DEPTH_COMPONENT32 */
- 300, /* GL_CULL_VERTEX_EXT */
- 302, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
- 301, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
- 1811, /* GL_WRAP_BORDER_SUN */
- 1606, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- 672, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- 1403, /* GL_SINGLE_COLOR */
- 1390, /* GL_SEPARATE_SPECULAR_COLOR */
- 1399, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- 531, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
- 532, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
- 539, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
- 534, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
- 530, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
- 529, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
- 533, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
- 540, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
- 551, /* GL_FRAMEBUFFER_DEFAULT */
- 564, /* GL_FRAMEBUFFER_UNDEFINED */
- 365, /* GL_DEPTH_STENCIL_ATTACHMENT */
- 614, /* GL_INDEX */
- 1723, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- 1738, /* GL_UNSIGNED_SHORT_5_6_5 */
- 1739, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- 1736, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- 1734, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- 1731, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- 1729, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- 1675, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- 1676, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- 1674, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- 928, /* GL_MIRRORED_REPEAT */
- 1346, /* GL_RGB_S3TC */
- 1321, /* GL_RGB4_S3TC */
- 1344, /* GL_RGBA_S3TC */
- 1338, /* GL_RGBA4_S3TC */
- 1342, /* GL_RGBA_DXT5_S3TC */
- 1336, /* GL_RGBA4_DXT5_S3TC */
+ 1028, /* GL_OCCLUSION_TEST_HP */
+ 1029, /* GL_OCCLUSION_TEST_RESULT_HP */
+ 681, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+ 1601, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+ 1603, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+ 1605, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+ 1606, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ 1604, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+ 1602, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+ 838, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+ 839, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ 1194, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+ 1196, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+ 1193, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+ 1195, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+ 1669, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+ 1670, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+ 1668, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+ 580, /* GL_GENERATE_MIPMAP */
+ 581, /* GL_GENERATE_MIPMAP_HINT */
+ 522, /* GL_FOG_OFFSET_SGIX */
+ 523, /* GL_FOG_OFFSET_VALUE_SGIX */
+ 1615, /* GL_TEXTURE_COMPARE_SGIX */
+ 1614, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+ 1665, /* GL_TEXTURE_LEQUAL_R_SGIX */
+ 1657, /* GL_TEXTURE_GEQUAL_R_SGIX */
+ 354, /* GL_DEPTH_COMPONENT16 */
+ 357, /* GL_DEPTH_COMPONENT24 */
+ 360, /* GL_DEPTH_COMPONENT32 */
+ 302, /* GL_CULL_VERTEX_EXT */
+ 304, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+ 303, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+ 1813, /* GL_WRAP_BORDER_SUN */
+ 1608, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+ 674, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+ 1405, /* GL_SINGLE_COLOR */
+ 1392, /* GL_SEPARATE_SPECULAR_COLOR */
+ 1401, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+ 533, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
+ 534, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
+ 541, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
+ 536, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
+ 532, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
+ 531, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
+ 535, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
+ 542, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
+ 553, /* GL_FRAMEBUFFER_DEFAULT */
+ 566, /* GL_FRAMEBUFFER_UNDEFINED */
+ 367, /* GL_DEPTH_STENCIL_ATTACHMENT */
+ 616, /* GL_INDEX */
+ 1725, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+ 1740, /* GL_UNSIGNED_SHORT_5_6_5 */
+ 1741, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+ 1738, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+ 1736, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+ 1733, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+ 1731, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+ 1677, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+ 1678, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+ 1676, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+ 930, /* GL_MIRRORED_REPEAT */
+ 1348, /* GL_RGB_S3TC */
+ 1323, /* GL_RGB4_S3TC */
+ 1346, /* GL_RGBA_S3TC */
+ 1340, /* GL_RGBA4_S3TC */
+ 1344, /* GL_RGBA_DXT5_S3TC */
+ 1338, /* GL_RGBA4_DXT5_S3TC */
261, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
256, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
257, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
258, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
- 989, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- 988, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- 680, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- 507, /* GL_FOG_COORDINATE_SOURCE */
- 499, /* GL_FOG_COORD */
- 523, /* GL_FRAGMENT_DEPTH */
- 306, /* GL_CURRENT_FOG_COORD */
- 506, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- 505, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- 504, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- 501, /* GL_FOG_COORDINATE_ARRAY */
+ 991, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+ 990, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+ 682, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+ 509, /* GL_FOG_COORDINATE_SOURCE */
+ 501, /* GL_FOG_COORD */
+ 525, /* GL_FRAGMENT_DEPTH */
+ 308, /* GL_CURRENT_FOG_COORD */
+ 508, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+ 507, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+ 506, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+ 503, /* GL_FOG_COORDINATE_ARRAY */
196, /* GL_COLOR_SUM */
- 326, /* GL_CURRENT_SECONDARY_COLOR */
- 1383, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- 1385, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- 1384, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- 1382, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- 1379, /* GL_SECONDARY_COLOR_ARRAY */
- 324, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
+ 328, /* GL_CURRENT_SECONDARY_COLOR */
+ 1385, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+ 1387, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+ 1386, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+ 1384, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+ 1381, /* GL_SECONDARY_COLOR_ARRAY */
+ 326, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
28, /* GL_ALIASED_POINT_SIZE_RANGE */
27, /* GL_ALIASED_LINE_WIDTH_RANGE */
- 1513, /* GL_TEXTURE0 */
- 1515, /* GL_TEXTURE1 */
- 1537, /* GL_TEXTURE2 */
- 1559, /* GL_TEXTURE3 */
- 1565, /* GL_TEXTURE4 */
- 1567, /* GL_TEXTURE5 */
- 1569, /* GL_TEXTURE6 */
- 1571, /* GL_TEXTURE7 */
- 1573, /* GL_TEXTURE8 */
- 1575, /* GL_TEXTURE9 */
- 1516, /* GL_TEXTURE10 */
- 1518, /* GL_TEXTURE11 */
- 1520, /* GL_TEXTURE12 */
- 1522, /* GL_TEXTURE13 */
- 1524, /* GL_TEXTURE14 */
- 1526, /* GL_TEXTURE15 */
- 1528, /* GL_TEXTURE16 */
- 1530, /* GL_TEXTURE17 */
- 1532, /* GL_TEXTURE18 */
- 1534, /* GL_TEXTURE19 */
- 1538, /* GL_TEXTURE20 */
- 1540, /* GL_TEXTURE21 */
- 1542, /* GL_TEXTURE22 */
- 1544, /* GL_TEXTURE23 */
- 1546, /* GL_TEXTURE24 */
- 1548, /* GL_TEXTURE25 */
- 1550, /* GL_TEXTURE26 */
- 1552, /* GL_TEXTURE27 */
- 1554, /* GL_TEXTURE28 */
- 1556, /* GL_TEXTURE29 */
- 1560, /* GL_TEXTURE30 */
- 1562, /* GL_TEXTURE31 */
+ 1515, /* GL_TEXTURE0 */
+ 1517, /* GL_TEXTURE1 */
+ 1539, /* GL_TEXTURE2 */
+ 1561, /* GL_TEXTURE3 */
+ 1567, /* GL_TEXTURE4 */
+ 1569, /* GL_TEXTURE5 */
+ 1571, /* GL_TEXTURE6 */
+ 1573, /* GL_TEXTURE7 */
+ 1575, /* GL_TEXTURE8 */
+ 1577, /* GL_TEXTURE9 */
+ 1518, /* GL_TEXTURE10 */
+ 1520, /* GL_TEXTURE11 */
+ 1522, /* GL_TEXTURE12 */
+ 1524, /* GL_TEXTURE13 */
+ 1526, /* GL_TEXTURE14 */
+ 1528, /* GL_TEXTURE15 */
+ 1530, /* GL_TEXTURE16 */
+ 1532, /* GL_TEXTURE17 */
+ 1534, /* GL_TEXTURE18 */
+ 1536, /* GL_TEXTURE19 */
+ 1540, /* GL_TEXTURE20 */
+ 1542, /* GL_TEXTURE21 */
+ 1544, /* GL_TEXTURE22 */
+ 1546, /* GL_TEXTURE23 */
+ 1548, /* GL_TEXTURE24 */
+ 1550, /* GL_TEXTURE25 */
+ 1552, /* GL_TEXTURE26 */
+ 1554, /* GL_TEXTURE27 */
+ 1556, /* GL_TEXTURE28 */
+ 1558, /* GL_TEXTURE29 */
+ 1562, /* GL_TEXTURE30 */
+ 1564, /* GL_TEXTURE31 */
18, /* GL_ACTIVE_TEXTURE */
130, /* GL_CLIENT_ACTIVE_TEXTURE */
- 906, /* GL_MAX_TEXTURE_UNITS */
- 1702, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- 1705, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- 1707, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- 1699, /* GL_TRANSPOSE_COLOR_MATRIX */
- 1501, /* GL_SUBTRACT */
- 894, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
+ 908, /* GL_MAX_TEXTURE_UNITS */
+ 1704, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+ 1707, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+ 1709, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+ 1701, /* GL_TRANSPOSE_COLOR_MATRIX */
+ 1503, /* GL_SUBTRACT */
+ 896, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
244, /* GL_COMPRESSED_ALPHA */
248, /* GL_COMPRESSED_LUMINANCE */
249, /* GL_COMPRESSED_LUMINANCE_ALPHA */
246, /* GL_COMPRESSED_INTENSITY */
252, /* GL_COMPRESSED_RGB */
253, /* GL_COMPRESSED_RGBA */
- 1620, /* GL_TEXTURE_COMPRESSION_HINT */
- 1682, /* GL_TEXTURE_RECTANGLE_ARB */
- 1592, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
- 1250, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
- 892, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
- 364, /* GL_DEPTH_STENCIL */
- 1727, /* GL_UNSIGNED_INT_24_8 */
- 902, /* GL_MAX_TEXTURE_LOD_BIAS */
- 1673, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- 903, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- 1649, /* GL_TEXTURE_FILTER_CONTROL */
- 1664, /* GL_TEXTURE_LOD_BIAS */
+ 1622, /* GL_TEXTURE_COMPRESSION_HINT */
+ 1684, /* GL_TEXTURE_RECTANGLE_ARB */
+ 1594, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+ 1252, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+ 894, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+ 366, /* GL_DEPTH_STENCIL */
+ 1729, /* GL_UNSIGNED_INT_24_8 */
+ 904, /* GL_MAX_TEXTURE_LOD_BIAS */
+ 1675, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+ 905, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+ 1651, /* GL_TEXTURE_FILTER_CONTROL */
+ 1666, /* GL_TEXTURE_LOD_BIAS */
229, /* GL_COMBINE4 */
- 896, /* GL_MAX_SHININESS_NV */
- 897, /* GL_MAX_SPOT_EXPONENT_NV */
- 612, /* GL_INCR_WRAP */
- 337, /* GL_DECR_WRAP */
- 948, /* GL_MODELVIEW1_ARB */
- 1004, /* GL_NORMAL_MAP */
- 1280, /* GL_REFLECTION_MAP */
- 1629, /* GL_TEXTURE_CUBE_MAP */
- 1590, /* GL_TEXTURE_BINDING_CUBE_MAP */
- 1637, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- 1631, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- 1639, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- 1633, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- 1641, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- 1635, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- 1248, /* GL_PROXY_TEXTURE_CUBE_MAP */
- 848, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- 983, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- 515, /* GL_FOG_DISTANCE_MODE_NV */
- 468, /* GL_EYE_RADIAL_NV */
- 467, /* GL_EYE_PLANE_ABSOLUTE_NV */
+ 898, /* GL_MAX_SHININESS_NV */
+ 899, /* GL_MAX_SPOT_EXPONENT_NV */
+ 614, /* GL_INCR_WRAP */
+ 339, /* GL_DECR_WRAP */
+ 950, /* GL_MODELVIEW1_ARB */
+ 1006, /* GL_NORMAL_MAP */
+ 1282, /* GL_REFLECTION_MAP */
+ 1631, /* GL_TEXTURE_CUBE_MAP */
+ 1592, /* GL_TEXTURE_BINDING_CUBE_MAP */
+ 1639, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+ 1633, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+ 1641, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+ 1635, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+ 1643, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+ 1637, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+ 1250, /* GL_PROXY_TEXTURE_CUBE_MAP */
+ 850, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+ 985, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+ 517, /* GL_FOG_DISTANCE_MODE_NV */
+ 470, /* GL_EYE_RADIAL_NV */
+ 469, /* GL_EYE_PLANE_ABSOLUTE_NV */
228, /* GL_COMBINE */
235, /* GL_COMBINE_RGB */
230, /* GL_COMBINE_ALPHA */
- 1347, /* GL_RGB_SCALE */
+ 1349, /* GL_RGB_SCALE */
24, /* GL_ADD_SIGNED */
- 640, /* GL_INTERPOLATE */
+ 642, /* GL_INTERPOLATE */
267, /* GL_CONSTANT */
- 1198, /* GL_PRIMARY_COLOR */
- 1195, /* GL_PREVIOUS */
- 1418, /* GL_SOURCE0_RGB */
- 1424, /* GL_SOURCE1_RGB */
- 1430, /* GL_SOURCE2_RGB */
- 1434, /* GL_SOURCE3_RGB_NV */
- 1415, /* GL_SOURCE0_ALPHA */
- 1421, /* GL_SOURCE1_ALPHA */
- 1427, /* GL_SOURCE2_ALPHA */
- 1433, /* GL_SOURCE3_ALPHA_NV */
- 1040, /* GL_OPERAND0_RGB */
- 1046, /* GL_OPERAND1_RGB */
- 1052, /* GL_OPERAND2_RGB */
- 1056, /* GL_OPERAND3_RGB_NV */
- 1037, /* GL_OPERAND0_ALPHA */
- 1043, /* GL_OPERAND1_ALPHA */
- 1049, /* GL_OPERAND2_ALPHA */
- 1055, /* GL_OPERAND3_ALPHA_NV */
- 1751, /* GL_VERTEX_ARRAY_BINDING_APPLE */
- 1815, /* GL_YCBCR_422_APPLE */
- 1740, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- 1742, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- 1405, /* GL_SLICE_ACCUM_SUN */
- 1255, /* GL_QUAD_MESH_SUN */
- 1711, /* GL_TRIANGLE_MESH_SUN */
- 1789, /* GL_VERTEX_PROGRAM_ARB */
- 1800, /* GL_VERTEX_STATE_PROGRAM_NV */
- 1776, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- 1782, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- 1784, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- 1786, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- 328, /* GL_CURRENT_VERTEX_ATTRIB */
- 1211, /* GL_PROGRAM_LENGTH_ARB */
- 1225, /* GL_PROGRAM_STRING_ARB */
- 970, /* GL_MODELVIEW_PROJECTION_NV */
- 607, /* GL_IDENTITY_NV */
- 654, /* GL_INVERSE_NV */
- 1704, /* GL_TRANSPOSE_NV */
- 655, /* GL_INVERSE_TRANSPOSE_NV */
- 878, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- 877, /* GL_MAX_PROGRAM_MATRICES_ARB */
- 785, /* GL_MATRIX0_NV */
- 797, /* GL_MATRIX1_NV */
- 809, /* GL_MATRIX2_NV */
- 813, /* GL_MATRIX3_NV */
- 815, /* GL_MATRIX4_NV */
- 817, /* GL_MATRIX5_NV */
- 819, /* GL_MATRIX6_NV */
- 821, /* GL_MATRIX7_NV */
- 312, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
- 309, /* GL_CURRENT_MATRIX_ARB */
- 1792, /* GL_VERTEX_PROGRAM_POINT_SIZE */
- 1795, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- 1223, /* GL_PROGRAM_PARAMETER_NV */
- 1780, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- 1227, /* GL_PROGRAM_TARGET_NV */
- 1224, /* GL_PROGRAM_RESIDENT_NV */
- 1696, /* GL_TRACK_MATRIX_NV */
- 1697, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- 1790, /* GL_VERTEX_PROGRAM_BINDING_NV */
- 1205, /* GL_PROGRAM_ERROR_POSITION_ARB */
- 349, /* GL_DEPTH_CLAMP_NV */
- 1758, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- 1765, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- 1766, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- 1767, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- 1768, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- 1769, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- 1770, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- 1771, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- 1772, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- 1773, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- 1759, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- 1760, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- 1761, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- 1762, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- 1763, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- 1764, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- 739, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- 746, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- 747, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- 748, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- 749, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- 750, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- 751, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- 752, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- 753, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- 754, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- 740, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- 741, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- 742, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- 743, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- 744, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- 745, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- 766, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- 773, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- 774, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- 775, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- 776, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- 777, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- 778, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- 1204, /* GL_PROGRAM_BINDING_ARB */
- 780, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- 781, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- 767, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- 768, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- 769, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- 770, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- 771, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- 772, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- 1618, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- 1615, /* GL_TEXTURE_COMPRESSED */
- 1009, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+ 1200, /* GL_PRIMARY_COLOR */
+ 1197, /* GL_PREVIOUS */
+ 1420, /* GL_SOURCE0_RGB */
+ 1426, /* GL_SOURCE1_RGB */
+ 1432, /* GL_SOURCE2_RGB */
+ 1436, /* GL_SOURCE3_RGB_NV */
+ 1417, /* GL_SOURCE0_ALPHA */
+ 1423, /* GL_SOURCE1_ALPHA */
+ 1429, /* GL_SOURCE2_ALPHA */
+ 1435, /* GL_SOURCE3_ALPHA_NV */
+ 1042, /* GL_OPERAND0_RGB */
+ 1048, /* GL_OPERAND1_RGB */
+ 1054, /* GL_OPERAND2_RGB */
+ 1058, /* GL_OPERAND3_RGB_NV */
+ 1039, /* GL_OPERAND0_ALPHA */
+ 1045, /* GL_OPERAND1_ALPHA */
+ 1051, /* GL_OPERAND2_ALPHA */
+ 1057, /* GL_OPERAND3_ALPHA_NV */
+ 1753, /* GL_VERTEX_ARRAY_BINDING_APPLE */
+ 1817, /* GL_YCBCR_422_APPLE */
+ 1742, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+ 1744, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+ 1407, /* GL_SLICE_ACCUM_SUN */
+ 1257, /* GL_QUAD_MESH_SUN */
+ 1713, /* GL_TRIANGLE_MESH_SUN */
+ 1791, /* GL_VERTEX_PROGRAM_ARB */
+ 1802, /* GL_VERTEX_STATE_PROGRAM_NV */
+ 1778, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+ 1784, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+ 1786, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+ 1788, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+ 330, /* GL_CURRENT_VERTEX_ATTRIB */
+ 1213, /* GL_PROGRAM_LENGTH_ARB */
+ 1227, /* GL_PROGRAM_STRING_ARB */
+ 972, /* GL_MODELVIEW_PROJECTION_NV */
+ 609, /* GL_IDENTITY_NV */
+ 656, /* GL_INVERSE_NV */
+ 1706, /* GL_TRANSPOSE_NV */
+ 657, /* GL_INVERSE_TRANSPOSE_NV */
+ 880, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+ 879, /* GL_MAX_PROGRAM_MATRICES_ARB */
+ 787, /* GL_MATRIX0_NV */
+ 799, /* GL_MATRIX1_NV */
+ 811, /* GL_MATRIX2_NV */
+ 815, /* GL_MATRIX3_NV */
+ 817, /* GL_MATRIX4_NV */
+ 819, /* GL_MATRIX5_NV */
+ 821, /* GL_MATRIX6_NV */
+ 823, /* GL_MATRIX7_NV */
+ 314, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+ 311, /* GL_CURRENT_MATRIX_ARB */
+ 1794, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+ 1797, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+ 1225, /* GL_PROGRAM_PARAMETER_NV */
+ 1782, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+ 1229, /* GL_PROGRAM_TARGET_NV */
+ 1226, /* GL_PROGRAM_RESIDENT_NV */
+ 1698, /* GL_TRACK_MATRIX_NV */
+ 1699, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+ 1792, /* GL_VERTEX_PROGRAM_BINDING_NV */
+ 1207, /* GL_PROGRAM_ERROR_POSITION_ARB */
+ 351, /* GL_DEPTH_CLAMP_NV */
+ 1760, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+ 1767, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+ 1768, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+ 1769, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+ 1770, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+ 1771, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+ 1772, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+ 1773, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+ 1774, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+ 1775, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+ 1761, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+ 1762, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+ 1763, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+ 1764, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+ 1765, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+ 1766, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+ 741, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+ 748, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+ 749, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+ 750, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+ 751, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+ 752, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+ 753, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+ 754, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+ 755, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+ 756, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+ 742, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+ 743, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+ 744, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+ 745, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+ 746, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+ 747, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+ 768, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+ 775, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+ 776, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+ 777, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+ 778, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+ 779, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+ 780, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+ 1206, /* GL_PROGRAM_BINDING_ARB */
+ 782, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+ 783, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+ 769, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+ 770, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+ 771, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+ 772, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+ 773, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+ 774, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+ 1620, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+ 1617, /* GL_TEXTURE_COMPRESSED */
+ 1011, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
266, /* GL_COMPRESSED_TEXTURE_FORMATS */
- 918, /* GL_MAX_VERTEX_UNITS_ARB */
+ 920, /* GL_MAX_VERTEX_UNITS_ARB */
22, /* GL_ACTIVE_VERTEX_UNITS_ARB */
- 1810, /* GL_WEIGHT_SUM_UNITY_ARB */
- 1788, /* GL_VERTEX_BLEND_ARB */
- 330, /* GL_CURRENT_WEIGHT_ARB */
- 1809, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- 1808, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- 1807, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- 1806, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- 1803, /* GL_WEIGHT_ARRAY_ARB */
- 377, /* GL_DOT3_RGB */
- 378, /* GL_DOT3_RGBA */
+ 1812, /* GL_WEIGHT_SUM_UNITY_ARB */
+ 1790, /* GL_VERTEX_BLEND_ARB */
+ 332, /* GL_CURRENT_WEIGHT_ARB */
+ 1811, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+ 1810, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+ 1809, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+ 1808, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+ 1805, /* GL_WEIGHT_ARRAY_ARB */
+ 379, /* GL_DOT3_RGB */
+ 380, /* GL_DOT3_RGBA */
260, /* GL_COMPRESSED_RGB_FXT1_3DFX */
255, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
- 978, /* GL_MULTISAMPLE_3DFX */
- 1368, /* GL_SAMPLE_BUFFERS_3DFX */
- 1359, /* GL_SAMPLES_3DFX */
- 959, /* GL_MODELVIEW2_ARB */
- 962, /* GL_MODELVIEW3_ARB */
- 963, /* GL_MODELVIEW4_ARB */
- 964, /* GL_MODELVIEW5_ARB */
- 965, /* GL_MODELVIEW6_ARB */
- 966, /* GL_MODELVIEW7_ARB */
- 967, /* GL_MODELVIEW8_ARB */
- 968, /* GL_MODELVIEW9_ARB */
- 938, /* GL_MODELVIEW10_ARB */
- 939, /* GL_MODELVIEW11_ARB */
- 940, /* GL_MODELVIEW12_ARB */
- 941, /* GL_MODELVIEW13_ARB */
- 942, /* GL_MODELVIEW14_ARB */
- 943, /* GL_MODELVIEW15_ARB */
- 944, /* GL_MODELVIEW16_ARB */
- 945, /* GL_MODELVIEW17_ARB */
- 946, /* GL_MODELVIEW18_ARB */
- 947, /* GL_MODELVIEW19_ARB */
- 949, /* GL_MODELVIEW20_ARB */
- 950, /* GL_MODELVIEW21_ARB */
- 951, /* GL_MODELVIEW22_ARB */
- 952, /* GL_MODELVIEW23_ARB */
- 953, /* GL_MODELVIEW24_ARB */
- 954, /* GL_MODELVIEW25_ARB */
- 955, /* GL_MODELVIEW26_ARB */
- 956, /* GL_MODELVIEW27_ARB */
- 957, /* GL_MODELVIEW28_ARB */
- 958, /* GL_MODELVIEW29_ARB */
- 960, /* GL_MODELVIEW30_ARB */
- 961, /* GL_MODELVIEW31_ARB */
- 382, /* GL_DOT3_RGB_EXT */
- 380, /* GL_DOT3_RGBA_EXT */
- 932, /* GL_MIRROR_CLAMP_EXT */
- 935, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- 973, /* GL_MODULATE_ADD_ATI */
- 974, /* GL_MODULATE_SIGNED_ADD_ATI */
- 975, /* GL_MODULATE_SUBTRACT_ATI */
- 1816, /* GL_YCBCR_MESA */
- 1064, /* GL_PACK_INVERT_MESA */
- 333, /* GL_DEBUG_OBJECT_MESA */
- 334, /* GL_DEBUG_PRINT_MESA */
- 332, /* GL_DEBUG_ASSERT_MESA */
+ 980, /* GL_MULTISAMPLE_3DFX */
+ 1370, /* GL_SAMPLE_BUFFERS_3DFX */
+ 1361, /* GL_SAMPLES_3DFX */
+ 961, /* GL_MODELVIEW2_ARB */
+ 964, /* GL_MODELVIEW3_ARB */
+ 965, /* GL_MODELVIEW4_ARB */
+ 966, /* GL_MODELVIEW5_ARB */
+ 967, /* GL_MODELVIEW6_ARB */
+ 968, /* GL_MODELVIEW7_ARB */
+ 969, /* GL_MODELVIEW8_ARB */
+ 970, /* GL_MODELVIEW9_ARB */
+ 940, /* GL_MODELVIEW10_ARB */
+ 941, /* GL_MODELVIEW11_ARB */
+ 942, /* GL_MODELVIEW12_ARB */
+ 943, /* GL_MODELVIEW13_ARB */
+ 944, /* GL_MODELVIEW14_ARB */
+ 945, /* GL_MODELVIEW15_ARB */
+ 946, /* GL_MODELVIEW16_ARB */
+ 947, /* GL_MODELVIEW17_ARB */
+ 948, /* GL_MODELVIEW18_ARB */
+ 949, /* GL_MODELVIEW19_ARB */
+ 951, /* GL_MODELVIEW20_ARB */
+ 952, /* GL_MODELVIEW21_ARB */
+ 953, /* GL_MODELVIEW22_ARB */
+ 954, /* GL_MODELVIEW23_ARB */
+ 955, /* GL_MODELVIEW24_ARB */
+ 956, /* GL_MODELVIEW25_ARB */
+ 957, /* GL_MODELVIEW26_ARB */
+ 958, /* GL_MODELVIEW27_ARB */
+ 959, /* GL_MODELVIEW28_ARB */
+ 960, /* GL_MODELVIEW29_ARB */
+ 962, /* GL_MODELVIEW30_ARB */
+ 963, /* GL_MODELVIEW31_ARB */
+ 384, /* GL_DOT3_RGB_EXT */
+ 382, /* GL_DOT3_RGBA_EXT */
+ 934, /* GL_MIRROR_CLAMP_EXT */
+ 937, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+ 975, /* GL_MODULATE_ADD_ATI */
+ 976, /* GL_MODULATE_SIGNED_ADD_ATI */
+ 977, /* GL_MODULATE_SUBTRACT_ATI */
+ 1818, /* GL_YCBCR_MESA */
+ 1066, /* GL_PACK_INVERT_MESA */
+ 335, /* GL_DEBUG_OBJECT_MESA */
+ 336, /* GL_DEBUG_PRINT_MESA */
+ 334, /* GL_DEBUG_ASSERT_MESA */
107, /* GL_BUFFER_SIZE */
109, /* GL_BUFFER_USAGE */
113, /* GL_BUMP_ROT_MATRIX_ATI */
114, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
112, /* GL_BUMP_NUM_TEX_UNITS_ATI */
116, /* GL_BUMP_TEX_UNITS_ATI */
- 441, /* GL_DUDV_ATI */
- 440, /* GL_DU8DV8_ATI */
+ 443, /* GL_DUDV_ATI */
+ 442, /* GL_DU8DV8_ATI */
111, /* GL_BUMP_ENVMAP_ATI */
115, /* GL_BUMP_TARGET_ATI */
- 1466, /* GL_STENCIL_BACK_FUNC */
- 1464, /* GL_STENCIL_BACK_FAIL */
- 1468, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- 1470, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- 524, /* GL_FRAGMENT_PROGRAM_ARB */
- 1202, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 1230, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 1229, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- 1214, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 1220, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 1219, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 867, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 890, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 889, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- 880, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 886, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 885, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 850, /* GL_MAX_DRAW_BUFFERS */
- 386, /* GL_DRAW_BUFFER0 */
- 389, /* GL_DRAW_BUFFER1 */
- 410, /* GL_DRAW_BUFFER2 */
- 413, /* GL_DRAW_BUFFER3 */
- 416, /* GL_DRAW_BUFFER4 */
- 419, /* GL_DRAW_BUFFER5 */
- 422, /* GL_DRAW_BUFFER6 */
- 425, /* GL_DRAW_BUFFER7 */
- 428, /* GL_DRAW_BUFFER8 */
- 431, /* GL_DRAW_BUFFER9 */
- 390, /* GL_DRAW_BUFFER10 */
- 393, /* GL_DRAW_BUFFER11 */
- 396, /* GL_DRAW_BUFFER12 */
- 399, /* GL_DRAW_BUFFER13 */
- 402, /* GL_DRAW_BUFFER14 */
- 405, /* GL_DRAW_BUFFER15 */
+ 1468, /* GL_STENCIL_BACK_FUNC */
+ 1466, /* GL_STENCIL_BACK_FAIL */
+ 1470, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+ 1472, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+ 526, /* GL_FRAGMENT_PROGRAM_ARB */
+ 1204, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ 1232, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ 1231, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+ 1216, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ 1222, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ 1221, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ 869, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ 892, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ 891, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+ 882, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ 888, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ 887, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ 852, /* GL_MAX_DRAW_BUFFERS */
+ 388, /* GL_DRAW_BUFFER0 */
+ 391, /* GL_DRAW_BUFFER1 */
+ 412, /* GL_DRAW_BUFFER2 */
+ 415, /* GL_DRAW_BUFFER3 */
+ 418, /* GL_DRAW_BUFFER4 */
+ 421, /* GL_DRAW_BUFFER5 */
+ 424, /* GL_DRAW_BUFFER6 */
+ 427, /* GL_DRAW_BUFFER7 */
+ 430, /* GL_DRAW_BUFFER8 */
+ 433, /* GL_DRAW_BUFFER9 */
+ 392, /* GL_DRAW_BUFFER10 */
+ 395, /* GL_DRAW_BUFFER11 */
+ 398, /* GL_DRAW_BUFFER12 */
+ 401, /* GL_DRAW_BUFFER13 */
+ 404, /* GL_DRAW_BUFFER14 */
+ 407, /* GL_DRAW_BUFFER15 */
81, /* GL_BLEND_EQUATION_ALPHA */
- 830, /* GL_MATRIX_PALETTE_ARB */
- 861, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- 864, /* GL_MAX_PALETTE_MATRICES_ARB */
- 315, /* GL_CURRENT_PALETTE_MATRIX_ARB */
- 824, /* GL_MATRIX_INDEX_ARRAY_ARB */
- 310, /* GL_CURRENT_MATRIX_INDEX_ARB */
- 826, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- 828, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- 827, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- 825, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- 1644, /* GL_TEXTURE_DEPTH_SIZE */
- 370, /* GL_DEPTH_TEXTURE_MODE */
- 1610, /* GL_TEXTURE_COMPARE_MODE */
- 1608, /* GL_TEXTURE_COMPARE_FUNC */
+ 832, /* GL_MATRIX_PALETTE_ARB */
+ 863, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+ 866, /* GL_MAX_PALETTE_MATRICES_ARB */
+ 317, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+ 826, /* GL_MATRIX_INDEX_ARRAY_ARB */
+ 312, /* GL_CURRENT_MATRIX_INDEX_ARB */
+ 828, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+ 830, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+ 829, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+ 827, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+ 1646, /* GL_TEXTURE_DEPTH_SIZE */
+ 372, /* GL_DEPTH_TEXTURE_MODE */
+ 1612, /* GL_TEXTURE_COMPARE_MODE */
+ 1610, /* GL_TEXTURE_COMPARE_FUNC */
239, /* GL_COMPARE_R_TO_TEXTURE */
- 1136, /* GL_POINT_SPRITE */
+ 1138, /* GL_POINT_SPRITE */
292, /* GL_COORD_REPLACE */
- 1140, /* GL_POINT_SPRITE_R_MODE_NV */
- 1257, /* GL_QUERY_COUNTER_BITS */
- 317, /* GL_CURRENT_QUERY */
- 1259, /* GL_QUERY_RESULT */
- 1261, /* GL_QUERY_RESULT_AVAILABLE */
- 912, /* GL_MAX_VERTEX_ATTRIBS */
- 1778, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- 368, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
- 367, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
- 898, /* GL_MAX_TEXTURE_COORDS */
- 900, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- 1207, /* GL_PROGRAM_ERROR_STRING_ARB */
- 1209, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- 1208, /* GL_PROGRAM_FORMAT_ARB */
- 1690, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- 347, /* GL_DEPTH_BOUNDS_TEST_EXT */
- 346, /* GL_DEPTH_BOUNDS_EXT */
+ 1142, /* GL_POINT_SPRITE_R_MODE_NV */
+ 1259, /* GL_QUERY_COUNTER_BITS */
+ 319, /* GL_CURRENT_QUERY */
+ 1261, /* GL_QUERY_RESULT */
+ 1263, /* GL_QUERY_RESULT_AVAILABLE */
+ 914, /* GL_MAX_VERTEX_ATTRIBS */
+ 1780, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+ 370, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+ 369, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+ 900, /* GL_MAX_TEXTURE_COORDS */
+ 902, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+ 1209, /* GL_PROGRAM_ERROR_STRING_ARB */
+ 1211, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+ 1210, /* GL_PROGRAM_FORMAT_ARB */
+ 1692, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+ 349, /* GL_DEPTH_BOUNDS_TEST_EXT */
+ 348, /* GL_DEPTH_BOUNDS_EXT */
52, /* GL_ARRAY_BUFFER */
- 454, /* GL_ELEMENT_ARRAY_BUFFER */
+ 456, /* GL_ELEMENT_ARRAY_BUFFER */
53, /* GL_ARRAY_BUFFER_BINDING */
- 455, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
- 1752, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- 999, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+ 457, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+ 1754, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+ 1001, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
146, /* GL_COLOR_ARRAY_BUFFER_BINDING */
- 616, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- 1623, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- 450, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
- 1380, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- 502, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- 1804, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- 1774, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- 1210, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- 873, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- 1216, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 882, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 1228, /* GL_PROGRAM_TEMPORARIES_ARB */
- 888, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- 1218, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 884, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 1222, /* GL_PROGRAM_PARAMETERS_ARB */
- 887, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- 1217, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- 883, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- 1203, /* GL_PROGRAM_ATTRIBS_ARB */
- 868, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- 1215, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- 881, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- 1201, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- 866, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- 1213, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 879, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 874, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- 870, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- 1231, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- 1701, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- 1270, /* GL_READ_ONLY */
- 1812, /* GL_WRITE_ONLY */
- 1272, /* GL_READ_WRITE */
+ 618, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+ 1625, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+ 452, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+ 1382, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+ 504, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+ 1806, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+ 1776, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+ 1212, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+ 875, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+ 1218, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ 884, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ 1230, /* GL_PROGRAM_TEMPORARIES_ARB */
+ 890, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+ 1220, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ 886, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ 1224, /* GL_PROGRAM_PARAMETERS_ARB */
+ 889, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+ 1219, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+ 885, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+ 1205, /* GL_PROGRAM_ATTRIBS_ARB */
+ 870, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+ 1217, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+ 883, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+ 1203, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+ 868, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+ 1215, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ 881, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ 876, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+ 872, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+ 1233, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+ 1703, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+ 1272, /* GL_READ_ONLY */
+ 1814, /* GL_WRITE_ONLY */
+ 1274, /* GL_READ_WRITE */
101, /* GL_BUFFER_ACCESS */
103, /* GL_BUFFER_MAPPED */
105, /* GL_BUFFER_MAP_POINTER */
- 1695, /* GL_TIME_ELAPSED_EXT */
- 784, /* GL_MATRIX0_ARB */
- 796, /* GL_MATRIX1_ARB */
- 808, /* GL_MATRIX2_ARB */
- 812, /* GL_MATRIX3_ARB */
- 814, /* GL_MATRIX4_ARB */
- 816, /* GL_MATRIX5_ARB */
- 818, /* GL_MATRIX6_ARB */
- 820, /* GL_MATRIX7_ARB */
- 822, /* GL_MATRIX8_ARB */
- 823, /* GL_MATRIX9_ARB */
- 786, /* GL_MATRIX10_ARB */
- 787, /* GL_MATRIX11_ARB */
- 788, /* GL_MATRIX12_ARB */
- 789, /* GL_MATRIX13_ARB */
- 790, /* GL_MATRIX14_ARB */
- 791, /* GL_MATRIX15_ARB */
- 792, /* GL_MATRIX16_ARB */
- 793, /* GL_MATRIX17_ARB */
- 794, /* GL_MATRIX18_ARB */
- 795, /* GL_MATRIX19_ARB */
- 798, /* GL_MATRIX20_ARB */
- 799, /* GL_MATRIX21_ARB */
- 800, /* GL_MATRIX22_ARB */
- 801, /* GL_MATRIX23_ARB */
- 802, /* GL_MATRIX24_ARB */
- 803, /* GL_MATRIX25_ARB */
- 804, /* GL_MATRIX26_ARB */
- 805, /* GL_MATRIX27_ARB */
- 806, /* GL_MATRIX28_ARB */
- 807, /* GL_MATRIX29_ARB */
- 810, /* GL_MATRIX30_ARB */
- 811, /* GL_MATRIX31_ARB */
- 1496, /* GL_STREAM_DRAW */
- 1498, /* GL_STREAM_READ */
- 1494, /* GL_STREAM_COPY */
- 1457, /* GL_STATIC_DRAW */
- 1459, /* GL_STATIC_READ */
- 1455, /* GL_STATIC_COPY */
- 444, /* GL_DYNAMIC_DRAW */
- 446, /* GL_DYNAMIC_READ */
- 442, /* GL_DYNAMIC_COPY */
- 1104, /* GL_PIXEL_PACK_BUFFER */
- 1108, /* GL_PIXEL_UNPACK_BUFFER */
- 1105, /* GL_PIXEL_PACK_BUFFER_BINDING */
- 1109, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
- 341, /* GL_DEPTH24_STENCIL8 */
- 1688, /* GL_TEXTURE_STENCIL_SIZE */
- 871, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
- 869, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- 872, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- 876, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- 875, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- 833, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
- 1490, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+ 1697, /* GL_TIME_ELAPSED_EXT */
+ 786, /* GL_MATRIX0_ARB */
+ 798, /* GL_MATRIX1_ARB */
+ 810, /* GL_MATRIX2_ARB */
+ 814, /* GL_MATRIX3_ARB */
+ 816, /* GL_MATRIX4_ARB */
+ 818, /* GL_MATRIX5_ARB */
+ 820, /* GL_MATRIX6_ARB */
+ 822, /* GL_MATRIX7_ARB */
+ 824, /* GL_MATRIX8_ARB */
+ 825, /* GL_MATRIX9_ARB */
+ 788, /* GL_MATRIX10_ARB */
+ 789, /* GL_MATRIX11_ARB */
+ 790, /* GL_MATRIX12_ARB */
+ 791, /* GL_MATRIX13_ARB */
+ 792, /* GL_MATRIX14_ARB */
+ 793, /* GL_MATRIX15_ARB */
+ 794, /* GL_MATRIX16_ARB */
+ 795, /* GL_MATRIX17_ARB */
+ 796, /* GL_MATRIX18_ARB */
+ 797, /* GL_MATRIX19_ARB */
+ 800, /* GL_MATRIX20_ARB */
+ 801, /* GL_MATRIX21_ARB */
+ 802, /* GL_MATRIX22_ARB */
+ 803, /* GL_MATRIX23_ARB */
+ 804, /* GL_MATRIX24_ARB */
+ 805, /* GL_MATRIX25_ARB */
+ 806, /* GL_MATRIX26_ARB */
+ 807, /* GL_MATRIX27_ARB */
+ 808, /* GL_MATRIX28_ARB */
+ 809, /* GL_MATRIX29_ARB */
+ 812, /* GL_MATRIX30_ARB */
+ 813, /* GL_MATRIX31_ARB */
+ 1498, /* GL_STREAM_DRAW */
+ 1500, /* GL_STREAM_READ */
+ 1496, /* GL_STREAM_COPY */
+ 1459, /* GL_STATIC_DRAW */
+ 1461, /* GL_STATIC_READ */
+ 1457, /* GL_STATIC_COPY */
+ 446, /* GL_DYNAMIC_DRAW */
+ 448, /* GL_DYNAMIC_READ */
+ 444, /* GL_DYNAMIC_COPY */
+ 1106, /* GL_PIXEL_PACK_BUFFER */
+ 1110, /* GL_PIXEL_UNPACK_BUFFER */
+ 1107, /* GL_PIXEL_PACK_BUFFER_BINDING */
+ 1111, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
+ 343, /* GL_DEPTH24_STENCIL8 */
+ 1690, /* GL_TEXTURE_STENCIL_SIZE */
+ 873, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
+ 871, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+ 874, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+ 878, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+ 877, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+ 835, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+ 1492, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
17, /* GL_ACTIVE_STENCIL_FACE_EXT */
- 933, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- 1361, /* GL_SAMPLES_PASSED */
- 525, /* GL_FRAGMENT_SHADER */
- 1798, /* GL_VERTEX_SHADER */
- 1221, /* GL_PROGRAM_OBJECT_ARB */
- 1393, /* GL_SHADER_OBJECT_ARB */
- 857, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- 916, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- 910, /* GL_MAX_VARYING_FLOATS */
- 914, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- 842, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- 1024, /* GL_OBJECT_TYPE_ARB */
- 1395, /* GL_SHADER_TYPE */
- 490, /* GL_FLOAT_VEC2 */
- 492, /* GL_FLOAT_VEC3 */
- 494, /* GL_FLOAT_VEC4 */
- 643, /* GL_INT_VEC2 */
- 645, /* GL_INT_VEC3 */
- 647, /* GL_INT_VEC4 */
+ 935, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+ 1363, /* GL_SAMPLES_PASSED */
+ 527, /* GL_FRAGMENT_SHADER */
+ 1800, /* GL_VERTEX_SHADER */
+ 1223, /* GL_PROGRAM_OBJECT_ARB */
+ 1395, /* GL_SHADER_OBJECT_ARB */
+ 859, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+ 918, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+ 912, /* GL_MAX_VARYING_FLOATS */
+ 916, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+ 844, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+ 1026, /* GL_OBJECT_TYPE_ARB */
+ 1397, /* GL_SHADER_TYPE */
+ 492, /* GL_FLOAT_VEC2 */
+ 494, /* GL_FLOAT_VEC3 */
+ 496, /* GL_FLOAT_VEC4 */
+ 645, /* GL_INT_VEC2 */
+ 647, /* GL_INT_VEC3 */
+ 649, /* GL_INT_VEC4 */
93, /* GL_BOOL */
95, /* GL_BOOL_VEC2 */
97, /* GL_BOOL_VEC3 */
99, /* GL_BOOL_VEC4 */
- 478, /* GL_FLOAT_MAT2 */
- 482, /* GL_FLOAT_MAT3 */
- 486, /* GL_FLOAT_MAT4 */
- 1352, /* GL_SAMPLER_1D */
- 1354, /* GL_SAMPLER_2D */
- 1356, /* GL_SAMPLER_3D */
- 1357, /* GL_SAMPLER_CUBE */
- 1353, /* GL_SAMPLER_1D_SHADOW */
- 1355, /* GL_SAMPLER_2D_SHADOW */
- 480, /* GL_FLOAT_MAT2x3 */
- 481, /* GL_FLOAT_MAT2x4 */
- 484, /* GL_FLOAT_MAT3x2 */
- 485, /* GL_FLOAT_MAT3x4 */
- 488, /* GL_FLOAT_MAT4x2 */
- 489, /* GL_FLOAT_MAT4x3 */
- 339, /* GL_DELETE_STATUS */
+ 480, /* GL_FLOAT_MAT2 */
+ 484, /* GL_FLOAT_MAT3 */
+ 488, /* GL_FLOAT_MAT4 */
+ 1354, /* GL_SAMPLER_1D */
+ 1356, /* GL_SAMPLER_2D */
+ 1358, /* GL_SAMPLER_3D */
+ 1359, /* GL_SAMPLER_CUBE */
+ 1355, /* GL_SAMPLER_1D_SHADOW */
+ 1357, /* GL_SAMPLER_2D_SHADOW */
+ 482, /* GL_FLOAT_MAT2x3 */
+ 483, /* GL_FLOAT_MAT2x4 */
+ 486, /* GL_FLOAT_MAT3x2 */
+ 487, /* GL_FLOAT_MAT3x4 */
+ 490, /* GL_FLOAT_MAT4x2 */
+ 491, /* GL_FLOAT_MAT4x3 */
+ 341, /* GL_DELETE_STATUS */
243, /* GL_COMPILE_STATUS */
- 697, /* GL_LINK_STATUS */
- 1747, /* GL_VALIDATE_STATUS */
- 628, /* GL_INFO_LOG_LENGTH */
+ 699, /* GL_LINK_STATUS */
+ 1749, /* GL_VALIDATE_STATUS */
+ 630, /* GL_INFO_LOG_LENGTH */
55, /* GL_ATTACHED_SHADERS */
20, /* GL_ACTIVE_UNIFORMS */
21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
- 1394, /* GL_SHADER_SOURCE_LENGTH */
+ 1396, /* GL_SHADER_SOURCE_LENGTH */
15, /* GL_ACTIVE_ATTRIBUTES */
16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */
- 527, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- 1397, /* GL_SHADING_LANGUAGE_VERSION */
- 316, /* GL_CURRENT_PROGRAM */
- 1073, /* GL_PALETTE4_RGB8_OES */
- 1075, /* GL_PALETTE4_RGBA8_OES */
- 1071, /* GL_PALETTE4_R5_G6_B5_OES */
- 1074, /* GL_PALETTE4_RGBA4_OES */
- 1072, /* GL_PALETTE4_RGB5_A1_OES */
- 1078, /* GL_PALETTE8_RGB8_OES */
- 1080, /* GL_PALETTE8_RGBA8_OES */
- 1076, /* GL_PALETTE8_R5_G6_B5_OES */
- 1079, /* GL_PALETTE8_RGBA4_OES */
- 1077, /* GL_PALETTE8_RGB5_A1_OES */
- 610, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
- 609, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
- 1732, /* GL_UNSIGNED_NORMALIZED */
- 1578, /* GL_TEXTURE_1D_ARRAY_EXT */
- 1241, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
- 1580, /* GL_TEXTURE_2D_ARRAY_EXT */
- 1244, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
- 1586, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
- 1588, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
- 1449, /* GL_SRGB */
- 1450, /* GL_SRGB8 */
- 1452, /* GL_SRGB_ALPHA */
- 1451, /* GL_SRGB8_ALPHA8 */
- 1409, /* GL_SLUMINANCE_ALPHA */
- 1408, /* GL_SLUMINANCE8_ALPHA8 */
- 1406, /* GL_SLUMINANCE */
- 1407, /* GL_SLUMINANCE8 */
+ 529, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+ 1399, /* GL_SHADING_LANGUAGE_VERSION */
+ 318, /* GL_CURRENT_PROGRAM */
+ 1075, /* GL_PALETTE4_RGB8_OES */
+ 1077, /* GL_PALETTE4_RGBA8_OES */
+ 1073, /* GL_PALETTE4_R5_G6_B5_OES */
+ 1076, /* GL_PALETTE4_RGBA4_OES */
+ 1074, /* GL_PALETTE4_RGB5_A1_OES */
+ 1080, /* GL_PALETTE8_RGB8_OES */
+ 1082, /* GL_PALETTE8_RGBA8_OES */
+ 1078, /* GL_PALETTE8_R5_G6_B5_OES */
+ 1081, /* GL_PALETTE8_RGBA4_OES */
+ 1079, /* GL_PALETTE8_RGB5_A1_OES */
+ 612, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+ 611, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+ 1734, /* GL_UNSIGNED_NORMALIZED */
+ 1580, /* GL_TEXTURE_1D_ARRAY_EXT */
+ 1243, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+ 1582, /* GL_TEXTURE_2D_ARRAY_EXT */
+ 1246, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+ 1588, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+ 1590, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+ 1451, /* GL_SRGB */
+ 1452, /* GL_SRGB8 */
+ 1454, /* GL_SRGB_ALPHA */
+ 1453, /* GL_SRGB8_ALPHA8 */
+ 1411, /* GL_SLUMINANCE_ALPHA */
+ 1410, /* GL_SLUMINANCE8_ALPHA8 */
+ 1408, /* GL_SLUMINANCE */
+ 1409, /* GL_SLUMINANCE8 */
264, /* GL_COMPRESSED_SRGB */
265, /* GL_COMPRESSED_SRGB_ALPHA */
262, /* GL_COMPRESSED_SLUMINANCE */
263, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
- 1138, /* GL_POINT_SPRITE_COORD_ORIGIN */
- 705, /* GL_LOWER_LEFT */
- 1744, /* GL_UPPER_LEFT */
- 1472, /* GL_STENCIL_BACK_REF */
- 1473, /* GL_STENCIL_BACK_VALUE_MASK */
- 1474, /* GL_STENCIL_BACK_WRITEMASK */
- 435, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
- 1286, /* GL_RENDERBUFFER_BINDING_EXT */
- 1267, /* GL_READ_FRAMEBUFFER */
- 434, /* GL_DRAW_FRAMEBUFFER */
- 1268, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
- 1296, /* GL_RENDERBUFFER_SAMPLES */
- 537, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
- 535, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
- 546, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
- 542, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
- 544, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
- 549, /* GL_FRAMEBUFFER_COMPLETE */
- 553, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
- 559, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
- 557, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- 555, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- 558, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- 556, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
- 562, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
- 565, /* GL_FRAMEBUFFER_UNSUPPORTED */
- 563, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- 839, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
+ 1140, /* GL_POINT_SPRITE_COORD_ORIGIN */
+ 707, /* GL_LOWER_LEFT */
+ 1746, /* GL_UPPER_LEFT */
+ 1474, /* GL_STENCIL_BACK_REF */
+ 1475, /* GL_STENCIL_BACK_VALUE_MASK */
+ 1476, /* GL_STENCIL_BACK_WRITEMASK */
+ 437, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
+ 1288, /* GL_RENDERBUFFER_BINDING_EXT */
+ 1269, /* GL_READ_FRAMEBUFFER */
+ 436, /* GL_DRAW_FRAMEBUFFER */
+ 1270, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
+ 1298, /* GL_RENDERBUFFER_SAMPLES */
+ 539, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
+ 537, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
+ 548, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
+ 544, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
+ 546, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+ 551, /* GL_FRAMEBUFFER_COMPLETE */
+ 555, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
+ 561, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
+ 559, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+ 557, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+ 560, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+ 558, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
+ 564, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
+ 567, /* GL_FRAMEBUFFER_UNSUPPORTED */
+ 565, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+ 841, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
152, /* GL_COLOR_ATTACHMENT0 */
154, /* GL_COLOR_ATTACHMENT1 */
168, /* GL_COLOR_ATTACHMENT2 */
@@ -4972,36 +4976,38 @@ static const unsigned reduced_enums[1319] =
161, /* GL_COLOR_ATTACHMENT13 */
163, /* GL_COLOR_ATTACHMENT14 */
165, /* GL_COLOR_ATTACHMENT15 */
- 342, /* GL_DEPTH_ATTACHMENT */
- 1462, /* GL_STENCIL_ATTACHMENT */
- 528, /* GL_FRAMEBUFFER */
- 1284, /* GL_RENDERBUFFER */
- 1298, /* GL_RENDERBUFFER_WIDTH */
- 1291, /* GL_RENDERBUFFER_HEIGHT */
- 1293, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
- 1485, /* GL_STENCIL_INDEX_EXT */
- 1482, /* GL_STENCIL_INDEX1_EXT */
- 1483, /* GL_STENCIL_INDEX4_EXT */
- 1484, /* GL_STENCIL_INDEX8_EXT */
- 1481, /* GL_STENCIL_INDEX16_EXT */
- 1295, /* GL_RENDERBUFFER_RED_SIZE */
- 1290, /* GL_RENDERBUFFER_GREEN_SIZE */
- 1287, /* GL_RENDERBUFFER_BLUE_SIZE */
- 1285, /* GL_RENDERBUFFER_ALPHA_SIZE */
- 1288, /* GL_RENDERBUFFER_DEPTH_SIZE */
- 1297, /* GL_RENDERBUFFER_STENCIL_SIZE */
- 561, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
- 895, /* GL_MAX_SAMPLES */
- 1345, /* GL_RGBA_SNORM */
- 1341, /* GL_RGBA8_SNORM */
- 1402, /* GL_SIGNED_NORMALIZED */
- 461, /* GL_EVAL_BIT */
- 1265, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- 699, /* GL_LIST_BIT */
- 1594, /* GL_TEXTURE_BIT */
- 1376, /* GL_SCISSOR_BIT */
+ 344, /* GL_DEPTH_ATTACHMENT */
+ 1464, /* GL_STENCIL_ATTACHMENT */
+ 530, /* GL_FRAMEBUFFER */
+ 1286, /* GL_RENDERBUFFER */
+ 1300, /* GL_RENDERBUFFER_WIDTH */
+ 1293, /* GL_RENDERBUFFER_HEIGHT */
+ 1295, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
+ 1487, /* GL_STENCIL_INDEX_EXT */
+ 1484, /* GL_STENCIL_INDEX1_EXT */
+ 1485, /* GL_STENCIL_INDEX4_EXT */
+ 1486, /* GL_STENCIL_INDEX8_EXT */
+ 1483, /* GL_STENCIL_INDEX16_EXT */
+ 1297, /* GL_RENDERBUFFER_RED_SIZE */
+ 1292, /* GL_RENDERBUFFER_GREEN_SIZE */
+ 1289, /* GL_RENDERBUFFER_BLUE_SIZE */
+ 1287, /* GL_RENDERBUFFER_ALPHA_SIZE */
+ 1290, /* GL_RENDERBUFFER_DEPTH_SIZE */
+ 1299, /* GL_RENDERBUFFER_STENCIL_SIZE */
+ 563, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
+ 897, /* GL_MAX_SAMPLES */
+ 298, /* GL_COPY_READ_BUFFER */
+ 299, /* GL_COPY_WRITE_BUFFER */
+ 1347, /* GL_RGBA_SNORM */
+ 1343, /* GL_RGBA8_SNORM */
+ 1404, /* GL_SIGNED_NORMALIZED */
+ 463, /* GL_EVAL_BIT */
+ 1267, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+ 701, /* GL_LIST_BIT */
+ 1596, /* GL_TEXTURE_BIT */
+ 1378, /* GL_SCISSOR_BIT */
29, /* GL_ALL_ATTRIB_BITS */
- 980, /* GL_MULTISAMPLE_BIT */
+ 982, /* GL_MULTISAMPLE_BIT */
30, /* GL_ALL_CLIENT_ATTRIB_BITS */
};
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index 147d923e64..490110a6d2 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -31,7 +31,7 @@
#include "mtypes.h"
-#define F(x) (int)(uintptr_t)&(((struct gl_extensions *)0)->x)
+#define F(x) offsetof(struct gl_extensions, x)
#define ON GL_TRUE
#define OFF GL_FALSE
@@ -44,6 +44,7 @@ static const struct {
const char *name;
int flag_offset;
} default_extensions[] = {
+ { OFF, "GL_ARB_copy_buffer", F(ARB_copy_buffer) },
{ OFF, "GL_ARB_depth_texture", F(ARB_depth_texture) },
{ ON, "GL_ARB_draw_buffers", F(ARB_draw_buffers) },
{ OFF, "GL_ARB_fragment_program", F(ARB_fragment_program) },
@@ -183,6 +184,7 @@ static const struct {
void
_mesa_enable_sw_extensions(GLcontext *ctx)
{
+ ctx->Extensions.ARB_copy_buffer = GL_TRUE;
ctx->Extensions.ARB_depth_texture = GL_TRUE;
/*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
#if FEATURE_ARB_fragment_program
@@ -440,8 +442,9 @@ _mesa_enable_2_1_extensions(GLcontext *ctx)
/**
* Either enable or disable the named extension.
+ * \return GL_TRUE for success, GL_FALSE if invalid extension name
*/
-static void
+static GLboolean
set_extension( GLcontext *ctx, const char *name, GLboolean state )
{
GLboolean *base = (GLboolean *) &ctx->Extensions;
@@ -450,7 +453,7 @@ set_extension( GLcontext *ctx, const char *name, GLboolean state )
if (ctx->Extensions.String) {
/* The string was already queried - can't change it now! */
_mesa_problem(ctx, "Trying to enable/disable extension after glGetString(GL_EXTENSIONS): %s", name);
- return;
+ return GL_FALSE;
}
for (i = 0 ; i < Elements(default_extensions) ; i++) {
@@ -459,10 +462,10 @@ set_extension( GLcontext *ctx, const char *name, GLboolean state )
GLboolean *enabled = base + default_extensions[i].flag_offset;
*enabled = state;
}
- return;
+ return GL_TRUE;
}
}
- _mesa_problem(ctx, "Trying to enable unknown extension: %s", name);
+ return GL_FALSE;
}
@@ -473,7 +476,8 @@ set_extension( GLcontext *ctx, const char *name, GLboolean state )
void
_mesa_enable_extension( GLcontext *ctx, const char *name )
{
- set_extension(ctx, name, GL_TRUE);
+ if (!set_extension(ctx, name, GL_TRUE))
+ _mesa_problem(ctx, "Trying to enable unknown extension: %s", name);
}
@@ -484,7 +488,8 @@ _mesa_enable_extension( GLcontext *ctx, const char *name )
void
_mesa_disable_extension( GLcontext *ctx, const char *name )
{
- set_extension(ctx, name, GL_FALSE);
+ if (!set_extension(ctx, name, GL_FALSE))
+ _mesa_problem(ctx, "Trying to disable unknown extension: %s", name);
}
@@ -509,6 +514,80 @@ _mesa_extension_is_enabled( GLcontext *ctx, const char *name )
/**
+ * Append string 'b' onto string 'a'. Free 'a' and return new string.
+ */
+static char *
+append(const char *a, const char *b)
+{
+ const GLuint aLen = a ? _mesa_strlen(a) : 0;
+ const GLuint bLen = b ? _mesa_strlen(b) : 0;
+ char *s = _mesa_calloc(aLen + bLen + 1);
+ if (s) {
+ if (a)
+ _mesa_memcpy(s, a, aLen);
+ if (b)
+ _mesa_memcpy(s + aLen, b, bLen);
+ s[aLen + bLen] = '\0';
+ }
+ if (a)
+ _mesa_free((void *) a);
+ return s;
+}
+
+
+/**
+ * Check the MESA_EXTENSION_OVERRIDE env var.
+ * For extension names that are recognized, turn them on. For extension
+ * names that are recognized and prefixed with '-', turn them off.
+ * Return a string of the unknown/leftover names.
+ */
+static const char *
+get_extension_override( GLcontext *ctx )
+{
+ const char *envExt = _mesa_getenv("MESA_EXTENSION_OVERRIDE");
+ char *extraExt = NULL;
+ char ext[1000];
+ GLuint extLen = 0;
+ GLuint i;
+ GLboolean disableExt = GL_FALSE;
+
+ if (!envExt)
+ return NULL;
+
+ for (i = 0; ; i++) {
+ if (envExt[i] == '\0' || envExt[i] == ' ') {
+ /* terminate/process 'ext' if extLen > 0 */
+ if (extLen > 0) {
+ assert(extLen < sizeof(ext));
+ /* enable extension named by 'ext' */
+ ext[extLen] = 0;
+ if (!set_extension(ctx, ext, !disableExt)) {
+ /* unknown extension name, append it to extraExt */
+ if (extraExt) {
+ extraExt = append(extraExt, " ");
+ }
+ extraExt = append(extraExt, ext);
+ }
+ extLen = 0;
+ disableExt = GL_FALSE;
+ }
+ if (envExt[i] == '\0')
+ break;
+ }
+ else if (envExt[i] == '-') {
+ disableExt = GL_TRUE;
+ }
+ else {
+ /* accumulate this non-space character */
+ ext[extLen++] = envExt[i];
+ }
+ }
+
+ return extraExt;
+}
+
+
+/**
* Run through the default_extensions array above and set the
* ctx->Extensions.ARB/EXT_* flags accordingly.
* To be called during context initialization.
@@ -536,8 +615,9 @@ GLubyte *
_mesa_make_extension_string( GLcontext *ctx )
{
const GLboolean *base = (const GLboolean *) &ctx->Extensions;
+ const char *extraExt = get_extension_override(ctx);
GLuint extStrLen = 0;
- GLubyte *s;
+ char *s;
GLuint i;
/* first, compute length of the extension string */
@@ -547,7 +627,14 @@ _mesa_make_extension_string( GLcontext *ctx )
extStrLen += (GLuint)_mesa_strlen(default_extensions[i].name) + 1;
}
}
- s = (GLubyte *) _mesa_malloc(extStrLen);
+
+ if (extraExt)
+ extStrLen += _mesa_strlen(extraExt) + 1; /* +1 for space */
+
+ /* allocate the extension string */
+ s = (char *) _mesa_malloc(extStrLen);
+ if (!s)
+ return NULL;
/* second, build the extension string */
extStrLen = 0;
@@ -557,13 +644,18 @@ _mesa_make_extension_string( GLcontext *ctx )
GLuint len = (GLuint)_mesa_strlen(default_extensions[i].name);
_mesa_memcpy(s + extStrLen, default_extensions[i].name, len);
extStrLen += len;
- s[extStrLen] = (GLubyte) ' ';
+ s[extStrLen] = ' ';
extStrLen++;
}
}
ASSERT(extStrLen > 0);
- s[extStrLen - 1] = 0;
+ s[extStrLen - 1] = 0; /* -1 to overwrite trailing the ' ' */
- return s;
+ if (extraExt) {
+ s = append(s, " ");
+ s = append(s, extraExt);
+ }
+
+ return (GLubyte *) s;
}
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 151e29053a..83301f1e62 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -368,12 +368,18 @@ test_attachment_completeness(const GLcontext *ctx, GLenum format,
att->Complete = GL_FALSE;
return;
}
+ if (texImage->TexFormat->TexelBytes == 0) {
+ att_incomplete("compressed internalformat");
+ att->Complete = GL_FALSE;
+ return;
+ }
}
else if (format == GL_DEPTH) {
if (texImage->TexFormat->BaseFormat == GL_DEPTH_COMPONENT) {
/* OK */
}
else if (ctx->Extensions.EXT_packed_depth_stencil &&
+ ctx->Extensions.ARB_depth_texture &&
texImage->TexFormat->BaseFormat == GL_DEPTH_STENCIL_EXT) {
/* OK */
}
@@ -384,10 +390,19 @@ test_attachment_completeness(const GLcontext *ctx, GLenum format,
}
}
else {
- /* no such thing as stencil textures */
- att_incomplete("illegal stencil texture");
- att->Complete = GL_FALSE;
- return;
+ ASSERT(format == GL_STENCIL);
+ ASSERT(att->Renderbuffer->StencilBits);
+ if (ctx->Extensions.EXT_packed_depth_stencil &&
+ ctx->Extensions.ARB_depth_texture &&
+ att->Renderbuffer->_BaseFormat == GL_DEPTH_STENCIL_EXT) {
+ /* OK */
+ }
+ else {
+ /* no such thing as stencil-only textures */
+ att_incomplete("illegal stencil texture");
+ att->Complete = GL_FALSE;
+ return;
+ }
}
}
else if (att->Type == GL_RENDERBUFFER_EXT) {
@@ -692,7 +707,7 @@ _mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer)
return;
}
- FLUSH_VERTICES(ctx, _NEW_BUFFERS);
+ FLUSH_CURRENT(ctx, _NEW_BUFFERS);
/* The above doesn't fully flush the drivers in the way that a
* glFlush does, but that is required here:
*/
@@ -1187,8 +1202,7 @@ _mesa_BindFramebufferEXT(GLenum target, GLuint framebuffer)
return;
}
- FLUSH_VERTICES(ctx, _NEW_BUFFERS);
-
+ FLUSH_CURRENT(ctx, _NEW_BUFFERS);
if (ctx->Driver.Flush) {
ctx->Driver.Flush(ctx);
}
@@ -1269,7 +1283,7 @@ _mesa_DeleteFramebuffersEXT(GLsizei n, const GLuint *framebuffers)
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
- FLUSH_VERTICES(ctx, _NEW_BUFFERS);
+ FLUSH_CURRENT(ctx, _NEW_BUFFERS);
/* The above doesn't fully flush the drivers in the way that a
* glFlush does, but that is required here:
*/
@@ -1507,7 +1521,7 @@ framebuffer_texture(GLcontext *ctx, const char *caller, GLenum target,
}
}
- FLUSH_VERTICES(ctx, _NEW_BUFFERS);
+ FLUSH_CURRENT(ctx, _NEW_BUFFERS);
/* The above doesn't fully flush the drivers in the way that a
* glFlush does, but that is required here:
*/
@@ -1688,7 +1702,7 @@ _mesa_FramebufferRenderbufferEXT(GLenum target, GLenum attachment,
}
- FLUSH_VERTICES(ctx, _NEW_BUFFERS);
+ FLUSH_CURRENT(ctx, _NEW_BUFFERS);
/* The above doesn't fully flush the drivers in the way that a
* glFlush does, but that is required here:
*/
@@ -1769,7 +1783,7 @@ _mesa_GetFramebufferAttachmentParameterivEXT(GLenum target, GLenum attachment,
}
}
- FLUSH_VERTICES(ctx, _NEW_BUFFERS);
+ FLUSH_CURRENT(ctx, _NEW_BUFFERS);
/* The above doesn't fully flush the drivers in the way that a
* glFlush does, but that is required here:
*/
diff --git a/src/mesa/main/ffvertex_prog.c b/src/mesa/main/ffvertex_prog.c
index 03f42704a7..43325b1352 100644
--- a/src/mesa/main/ffvertex_prog.c
+++ b/src/mesa/main/ffvertex_prog.c
@@ -315,12 +315,6 @@ static void make_state_key( GLcontext *ctx, struct state_key *key )
*/
#define DISASSEM 0
-/* Should be tunable by the driver - do we want to do matrix
- * multiplications with DP4's or with MUL/MAD's? SSE works better
- * with the latter, drivers may differ.
- */
-#define PREFER_DP4 0
-
/* Use uregs to represent registers internally, translate to Mesa's
* expected formats on emit.
@@ -348,6 +342,7 @@ struct tnl_program {
const struct state_key *state;
struct gl_vertex_program *program;
GLint max_inst; /** number of instructions allocated for program */
+ GLboolean mvp_with_dp4;
GLuint temp_in_use;
GLuint temp_reserved;
@@ -570,9 +565,8 @@ static void emit_arg( struct prog_src_register *src,
src->File = reg.file;
src->Index = reg.idx;
src->Swizzle = reg.swz;
- src->NegateBase = reg.negate ? NEGATE_XYZW : 0;
+ src->Negate = reg.negate ? NEGATE_XYZW : NEGATE_NONE;
src->Abs = 0;
- src->NegateAbs = 0;
src->RelAddr = 0;
/* Check that bitfield sizes aren't exceeded */
ASSERT(src->Index == reg.idx);
@@ -776,7 +770,7 @@ static struct ureg get_eye_position( struct tnl_program *p )
p->eye_position = reserve_temp(p);
- if (PREFER_DP4) {
+ if (p->mvp_with_dp4) {
register_matrix_param5( p, STATE_MODELVIEW_MATRIX, 0, 0, 3,
0, modelview );
@@ -882,7 +876,7 @@ static void build_hpos( struct tnl_program *p )
struct ureg hpos = register_output( p, VERT_RESULT_HPOS );
struct ureg mvp[4];
- if (PREFER_DP4) {
+ if (p->mvp_with_dp4) {
register_matrix_param5( p, STATE_MVP_MATRIX, 0, 0, 3,
0, mvp );
emit_matrix_transform_vec4( p, hpos, mvp, pos );
@@ -1575,7 +1569,7 @@ static void build_texture_transform( struct tnl_program *p )
struct ureg in = (!is_undef(out_texgen) ?
out_texgen :
register_input(p, VERT_ATTRIB_TEX0+i));
- if (PREFER_DP4) {
+ if (p->mvp_with_dp4) {
register_matrix_param5( p, STATE_TEXTURE_MATRIX, i, 0, 3,
0, texmat );
emit_matrix_transform_vec4( p, out, texmat, in );
@@ -1709,6 +1703,7 @@ static void build_tnl_program( struct tnl_program *p )
static void
create_new_program( const struct state_key *key,
struct gl_vertex_program *program,
+ GLboolean mvp_with_dp4,
GLuint max_temps)
{
struct tnl_program p;
@@ -1722,6 +1717,7 @@ create_new_program( const struct state_key *key,
p.transformed_normal = undef;
p.identity = undef;
p.temp_in_use = 0;
+ p.mvp_with_dp4 = mvp_with_dp4;
if (max_temps >= sizeof(int) * 8)
p.temp_reserved = 0;
@@ -1777,6 +1773,7 @@ _mesa_get_fixed_func_vertex_program(GLcontext *ctx)
return NULL;
create_new_program( &key, prog,
+ ctx->mvp_with_dp4,
ctx->Const.VertexProgram.MaxTemps );
#if 0
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 0937fd053c..1ed6fc3383 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -1867,6 +1867,10 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
CHECK_EXT1(ARB_framebuffer_object, "GetBooleanv");
params[0] = INT_TO_BOOLEAN(ctx->Const.MaxSamples);
break;
+ case GL_VERTEX_ARRAY_BINDING_APPLE:
+ CHECK_EXT1(APPLE_vertex_array_object, "GetBooleanv");
+ params[0] = INT_TO_BOOLEAN(ctx->Array.ArrayObj->Name);
+ break;
default:
_mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv(pname=0x%x)", pname);
}
@@ -3677,6 +3681,10 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
CHECK_EXT1(ARB_framebuffer_object, "GetFloatv");
params[0] = (GLfloat)(ctx->Const.MaxSamples);
break;
+ case GL_VERTEX_ARRAY_BINDING_APPLE:
+ CHECK_EXT1(APPLE_vertex_array_object, "GetFloatv");
+ params[0] = (GLfloat)(ctx->Array.ArrayObj->Name);
+ break;
default:
_mesa_error(ctx, GL_INVALID_ENUM, "glGetFloatv(pname=0x%x)", pname);
}
@@ -5487,6 +5495,10 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
CHECK_EXT1(ARB_framebuffer_object, "GetIntegerv");
params[0] = ctx->Const.MaxSamples;
break;
+ case GL_VERTEX_ARRAY_BINDING_APPLE:
+ CHECK_EXT1(APPLE_vertex_array_object, "GetIntegerv");
+ params[0] = ctx->Array.ArrayObj->Name;
+ break;
default:
_mesa_error(ctx, GL_INVALID_ENUM, "glGetIntegerv(pname=0x%x)", pname);
}
diff --git a/src/mesa/main/get_gen.py b/src/mesa/main/get_gen.py
index fa695c48f1..43ee5fff10 100644
--- a/src/mesa/main/get_gen.py
+++ b/src/mesa/main/get_gen.py
@@ -1003,7 +1003,11 @@ StateVars = [
# GL_ARB_framebuffer_object
( "GL_MAX_SAMPLES", GLint, ["ctx->Const.MaxSamples"], "",
- ["ARB_framebuffer_object"] )
+ ["ARB_framebuffer_object"] ),
+
+ # GL_APPLE_vertex_array_object
+ ( "GL_VERTEX_ARRAY_BINDING_APPLE", GLint, ["ctx->Array.ArrayObj->Name"], "",
+ ["APPLE_vertex_array_object"] ),
]
diff --git a/src/mesa/main/glheader.h b/src/mesa/main/glheader.h
index ad095321e3..81d4ccf919 100644
--- a/src/mesa/main/glheader.h
+++ b/src/mesa/main/glheader.h
@@ -74,6 +74,11 @@
#endif
+#ifndef GL_PROGRAM_BINARY_LENGTH_OES
+#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741
+#endif
+
+
/**
* Special, internal token
*/
diff --git a/src/mesa/main/hash.c b/src/mesa/main/hash.c
index 976f9d999b..08c64568c8 100644
--- a/src/mesa/main/hash.c
+++ b/src/mesa/main/hash.c
@@ -63,6 +63,7 @@ struct _mesa_HashTable {
struct HashEntry *Table[TABLE_SIZE]; /**< the lookup table */
GLuint MaxKey; /**< highest key inserted so far */
_glthread_Mutex Mutex; /**< mutual exclusion lock */
+ _glthread_Mutex WalkMutex; /**< for _mesa_HashWalk() */
GLboolean InDeleteAll; /**< Debug check */
};
@@ -79,6 +80,7 @@ _mesa_NewHashTable(void)
struct _mesa_HashTable *table = CALLOC_STRUCT(_mesa_HashTable);
if (table) {
_glthread_INIT_MUTEX(table->Mutex);
+ _glthread_INIT_MUTEX(table->WalkMutex);
}
return table;
}
@@ -111,6 +113,7 @@ _mesa_DeleteHashTable(struct _mesa_HashTable *table)
}
}
_glthread_DESTROY_MUTEX(table->Mutex);
+ _glthread_DESTROY_MUTEX(table->WalkMutex);
_mesa_free(table);
}
@@ -285,6 +288,11 @@ _mesa_HashDeleteAll(struct _mesa_HashTable *table,
/**
* Walk over all entries in a hash table, calling callback function for each.
+ * Note: we use a separate mutex in this function to avoid a recursive
+ * locking deadlock (in case the callback calls _mesa_HashRemove()) and to
+ * prevent multiple threads/contexts from getting tangled up.
+ * A lock-less version of this function could be used when the table will
+ * not be modified.
* \param table the hash table to walk
* \param callback the callback function
* \param userData arbitrary pointer to pass along to the callback
@@ -300,14 +308,16 @@ _mesa_HashWalk(const struct _mesa_HashTable *table,
GLuint pos;
ASSERT(table);
ASSERT(callback);
- _glthread_LOCK_MUTEX(table2->Mutex);
+ _glthread_LOCK_MUTEX(table2->WalkMutex);
for (pos = 0; pos < TABLE_SIZE; pos++) {
- struct HashEntry *entry;
- for (entry = table->Table[pos]; entry; entry = entry->Next) {
+ struct HashEntry *entry, *next;
+ for (entry = table->Table[pos]; entry; entry = next) {
+ /* save 'next' pointer now in case the callback deletes the entry */
+ next = entry->Next;
callback(entry->Key, entry->Data, userData);
}
}
- _glthread_UNLOCK_MUTEX(table2->Mutex);
+ _glthread_UNLOCK_MUTEX(table2->WalkMutex);
}
diff --git a/src/mesa/main/histogram.c b/src/mesa/main/histogram.c
index 905c1ad830..5fee4fd0e3 100644
--- a/src/mesa/main/histogram.c
+++ b/src/mesa/main/histogram.c
@@ -975,6 +975,8 @@ _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean s
}
}
+ FLUSH_VERTICES(ctx, _NEW_PIXEL);
+
/* reset histograms */
for (i = 0; i < HISTOGRAM_TABLE_SIZE; i++) {
ctx->Histogram.Count[i][0] = 0;
@@ -1002,8 +1004,6 @@ _mesa_Histogram(GLenum target, GLsizei width, GLenum internalFormat, GLboolean s
ctx->Histogram.AlphaSize = 8 * sizeof(GLuint);
ctx->Histogram.LuminanceSize = 8 * sizeof(GLuint);
}
-
- ctx->NewState |= _NEW_PIXEL;
}
@@ -1058,8 +1058,6 @@ _mesa_ResetHistogram(GLenum target)
ctx->Histogram.Count[i][2] = 0;
ctx->Histogram.Count[i][3] = 0;
}
-
- ctx->NewState |= _NEW_PIXEL;
}
@@ -1083,7 +1081,6 @@ _mesa_ResetMinmax(GLenum target)
ctx->MinMax.Min[GCOMP] = 1000; ctx->MinMax.Max[GCOMP] = -1000;
ctx->MinMax.Min[BCOMP] = 1000; ctx->MinMax.Max[BCOMP] = -1000;
ctx->MinMax.Min[ACOMP] = 1000; ctx->MinMax.Max[ACOMP] = -1000;
- ctx->NewState |= _NEW_PIXEL;
}
diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c
index ddae456fa1..090e5eb330 100644
--- a/src/mesa/main/image.c
+++ b/src/mesa/main/image.c
@@ -1,8 +1,9 @@
/*
* Mesa 3-D graphics library
- * Version: 7.1
+ * Version: 7.5
*
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -181,6 +182,8 @@ _mesa_sizeof_type( GLenum type )
return sizeof(GLint);
case GL_FLOAT:
return sizeof(GLfloat);
+ case GL_DOUBLE:
+ return sizeof(GLdouble);
case GL_HALF_FLOAT_ARB:
return sizeof(GLhalfARB);
default:
@@ -755,12 +758,20 @@ _mesa_image_image_stride( const struct gl_pixelstore_attrib *packing,
GLint width, GLint height,
GLenum format, GLenum type )
{
+ GLint bytesPerRow, bytesPerImage, remainder;
+
ASSERT(packing);
- ASSERT(type != GL_BITMAP);
- {
+ if (type == GL_BITMAP) {
+ if (packing->RowLength == 0) {
+ bytesPerRow = (width + 7) / 8;
+ }
+ else {
+ bytesPerRow = (packing->RowLength + 7) / 8;
+ }
+ }
+ else {
const GLint bytesPerPixel = _mesa_bytes_per_pixel(format, type);
- GLint bytesPerRow, bytesPerImage, remainder;
if (bytesPerPixel <= 0)
return -1; /* error */
@@ -770,17 +781,18 @@ _mesa_image_image_stride( const struct gl_pixelstore_attrib *packing,
else {
bytesPerRow = bytesPerPixel * packing->RowLength;
}
- remainder = bytesPerRow % packing->Alignment;
- if (remainder > 0)
- bytesPerRow += (packing->Alignment - remainder);
+ }
- if (packing->ImageHeight == 0)
- bytesPerImage = bytesPerRow * height;
- else
- bytesPerImage = bytesPerRow * packing->ImageHeight;
+ remainder = bytesPerRow % packing->Alignment;
+ if (remainder > 0)
+ bytesPerRow += (packing->Alignment - remainder);
- return bytesPerImage;
- }
+ if (packing->ImageHeight == 0)
+ bytesPerImage = bytesPerRow * height;
+ else
+ bytesPerImage = bytesPerRow * packing->ImageHeight;
+
+ return bytesPerImage;
}
@@ -2862,7 +2874,7 @@ extract_uint_indexes(GLuint n, GLuint indexes[],
}
else {
for (i = 0; i < n; i++)
- indexes[i] = s[i] & 0xfff; /* lower 8 bits */
+ indexes[i] = s[i] & 0xff; /* lower 8 bits */
}
}
break;
diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
index 2ac93a5237..3fb67083a2 100644
--- a/src/mesa/main/imports.c
+++ b/src/mesa/main/imports.c
@@ -980,7 +980,8 @@ _mesa_vsprintf( char *str, const char *fmt, va_list args )
/*@{*/
static void
-output_if_debug(const char *prefixString, const char *outputString)
+output_if_debug(const char *prefixString, const char *outputString,
+ GLboolean newline)
{
static int debug = -1;
@@ -1004,16 +1005,29 @@ output_if_debug(const char *prefixString, const char *outputString)
/* Now only print the string if we're required to do so. */
if (debug) {
- fprintf(stderr, "%s: %s\n", prefixString, outputString);
+ fprintf(stderr, "%s: %s", prefixString, outputString);
+ if (newline)
+ fprintf(stderr, "\n");
+
+#if defined(_WIN32) && !defined(_WIN32_WCE)
+ /* stderr from windows applications without console is not usually
+ * visible, so communicate with the debugger instead */
+ {
+ char buf[4096];
+ _mesa_snprintf(buf, sizeof(buf), "%s: %s%s", prefixString, outputString, newline ? "\n" : "");
+ OutputDebugStringA(buf);
+ }
+#endif
}
}
+
/**
* Report a warning (a recoverable error condition) to stderr if
* either DEBUG is defined or the MESA_DEBUG env var is set.
*
* \param ctx GL context.
- * \param fmtString printf() alike format string.
+ * \param fmtString printf()-like format string.
*/
void
_mesa_warning( GLcontext *ctx, const char *fmtString, ... )
@@ -1025,11 +1039,12 @@ _mesa_warning( GLcontext *ctx, const char *fmtString, ... )
(void) vsnprintf( str, MAXSTRING, fmtString, args );
va_end( args );
- output_if_debug("Mesa warning", str);
+ output_if_debug("Mesa warning", str, GL_TRUE);
}
+
/**
- * Report an internla implementation problem.
+ * Report an internal implementation problem.
* Prints the message to stderr via fprintf().
*
* \param ctx GL context.
@@ -1050,8 +1065,9 @@ _mesa_problem( const GLcontext *ctx, const char *fmtString, ... )
fprintf(stderr, "Please report at bugzilla.freedesktop.org\n");
}
+
/**
- * Record an OpenGL state error. These usually occur when the users
+ * Record an OpenGL state error. These usually occur when the user
* passes invalid parameters to a GL function.
*
* If debugging is enabled (either at compile-time via the DEBUG macro, or
@@ -1123,11 +1139,22 @@ _mesa_error( GLcontext *ctx, GLenum error, const char *fmtString, ... )
errstr = "unknown";
break;
}
- _mesa_debug(ctx, "User error: %s in %s\n", errstr, where);
+
+ {
+ char s[MAXSTRING], s2[MAXSTRING];
+ va_list args;
+ va_start(args, fmtString);
+ vsnprintf(s, MAXSTRING, fmtString, args);
+ va_end(args);
+
+ _mesa_snprintf(s2, MAXSTRING, "%s in %s", errstr, s);
+ output_if_debug("Mesa: User error", s2, GL_TRUE);
+ }
}
_mesa_record_error(ctx, error);
-}
+}
+
/**
* Report debug information. Print error message to stderr via fprintf().
@@ -1145,7 +1172,7 @@ _mesa_debug( const GLcontext *ctx, const char *fmtString, ... )
va_start(args, fmtString);
vsnprintf(s, MAXSTRING, fmtString, args);
va_end(args);
- output_if_debug("Mesa", s);
+ output_if_debug("Mesa", s, GL_FALSE);
#endif /* DEBUG */
(void) ctx;
(void) fmtString;
diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c
index 7388276c45..ebc3cbd59c 100644
--- a/src/mesa/main/matrix.c
+++ b/src/mesa/main/matrix.c
@@ -160,11 +160,21 @@ _mesa_MatrixMode( GLenum mode )
ctx->CurrentStack = &ctx->ProjectionMatrixStack;
break;
case GL_TEXTURE:
+ /* This error check is disabled because if we're called from
+ * glPopAttrib() when the active texture unit is >= MaxTextureCoordUnits
+ * we'll generate an unexpected error.
+ * From the GL_ARB_vertex_shader spec it sounds like we should instead
+ * do error checking in other places when we actually try to access
+ * texture matrices beyond MaxTextureCoordUnits.
+ */
+#if 0
if (ctx->Texture.CurrentUnit >= ctx->Const.MaxTextureCoordUnits) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glMatrixMode(invalid unit %d)",
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glMatrixMode(invalid tex unit %d)",
ctx->Texture.CurrentUnit);
return;
}
+#endif
+ ASSERT(ctx->Texture.CurrentUnit < Elements(ctx->TextureMatrixStack));
ctx->CurrentStack = &ctx->TextureMatrixStack[ctx->Texture.CurrentUnit];
break;
case GL_COLOR:
diff --git a/src/mesa/main/mfeatures.h b/src/mesa/main/mfeatures.h
index f570647942..62c3ead3e1 100644
--- a/src/mesa/main/mfeatures.h
+++ b/src/mesa/main/mfeatures.h
@@ -61,6 +61,7 @@
#define FEATURE_ARB_occlusion_query _HAVE_FULL_GL
#define FEATURE_ARB_fragment_program _HAVE_FULL_GL
#define FEATURE_ARB_framebuffer_object _HAVE_FULL_GL
+#define FEATURE_ARB_pixel_buffer_object _HAVE_FULL_GL
#define FEATURE_ARB_vertex_buffer_object _HAVE_FULL_GL
#define FEATURE_ARB_vertex_program _HAVE_FULL_GL
#define FEATURE_ARB_vertex_shader _HAVE_FULL_GL
diff --git a/src/mesa/main/mipmap.c b/src/mesa/main/mipmap.c
index bc8658beff..872982fa43 100644
--- a/src/mesa/main/mipmap.c
+++ b/src/mesa/main/mipmap.c
@@ -1370,6 +1370,9 @@ make_2d_stack_mipmap(GLenum datatype, GLuint comps, GLint border,
/**
* Down-sample a texture image to produce the next lower mipmap level.
+ * \param comps components per texel (1, 2, 3 or 4)
+ * \param srcRowStride stride between source rows, in texels
+ * \param dstRowStride stride between destination rows, in texels
*/
void
_mesa_generate_mipmap_level(GLenum target,
@@ -1478,9 +1481,12 @@ next_mipmap_level_size(GLenum target, GLint border,
/**
- * For GL_SGIX_generate_mipmap:
- * Generate a complete set of mipmaps from texObj's base-level image.
+ * Automatic mipmap generation.
+ * This is the fallback/default function for ctx->Driver.GenerateMipmap().
+ * Generate a complete set of mipmaps from texObj's BaseLevel image.
* Stop at texObj's MaxLevel or when we get to the 1x1 texture.
+ * For cube maps, target will be one of
+ * GL_TEXTURE_CUBE_MAP_POSITIVE/NEGATIVE_X/Y/Z; never GL_TEXTURE_CUBE_MAP.
*/
void
_mesa_generate_mipmap(GLcontext *ctx, GLenum target,
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index 3f31590000..46020eb210 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -1028,7 +1028,7 @@ struct gl_stencil_attrib
/**
* An index for each type of texture object. These correspond to the GL
- * target target enums, such as GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, etc.
+ * texture target enums, such as GL_TEXTURE_2D, GL_TEXTURE_CUBE_MAP, etc.
* Note: the order is from highest priority to lowest priority.
*/
typedef enum
@@ -1498,14 +1498,17 @@ struct gl_buffer_object
{
GLint RefCount;
GLuint Name;
- GLenum Usage;
- GLenum Access;
- GLvoid *Pointer; /**< Only valid while buffer is mapped */
- GLintptr Offset; /**< mapped offset */
- GLsizeiptr Length; /**< mapped length */
- GLsizeiptrARB Size; /**< Size of storage in bytes */
- GLubyte *Data; /**< Location of storage either in RAM or VRAM. */
- GLboolean OnCard; /**< Is buffer in VRAM? (hardware drivers) */
+ GLenum Usage; /**< GL_STREAM_DRAW_ARB, GL_STREAM_READ_ARB, etc. */
+ GLsizeiptrARB Size; /**< Size of buffer storage in bytes */
+ GLubyte *Data; /**< Location of storage either in RAM or VRAM. */
+ /** Fields describing a mapped buffer */
+ /*@{*/
+ GLenum Access; /**< GL_READ_ONLY_ARB, GL_WRITE_ONLY_ARB, etc. */
+ GLvoid *Pointer; /**< User-space address of mapping */
+ GLintptr Offset; /**< Mapped offset */
+ GLsizeiptr Length; /**< Mapped length */
+ /*@}*/
+ GLboolean Written; /**< Ever written to? (for debugging) */
};
@@ -1541,10 +1544,10 @@ struct gl_client_array
const GLubyte *Ptr; /**< Points to array data */
GLboolean Enabled; /**< Enabled flag is a boolean */
GLboolean Normalized; /**< GL_ARB_vertex_program */
+ GLuint _ElementSize; /**< size of each element in bytes */
- /**< GL_ARB_vertex_buffer_object */
- struct gl_buffer_object *BufferObj;
- GLuint _MaxElement;
+ struct gl_buffer_object *BufferObj;/**< GL_ARB_vertex_buffer_object */
+ GLuint _MaxElement; /**< max element index into array buffer + 1 */
};
@@ -1557,9 +1560,13 @@ struct gl_array_object
/** Name of the array object as received from glGenVertexArrayAPPLE. */
GLuint Name;
+ GLint RefCount;
+ _glthread_Mutex Mutex;
+
/** Conventional vertex arrays */
/*@{*/
struct gl_client_array Vertex;
+ struct gl_client_array Weight;
struct gl_client_array Normal;
struct gl_client_array Color;
struct gl_client_array SecondaryColor;
@@ -1570,11 +1577,22 @@ struct gl_array_object
struct gl_client_array PointSize;
/*@}*/
- /** Generic arrays for vertex programs/shaders */
- struct gl_client_array VertexAttrib[VERT_ATTRIB_MAX];
+ /**
+ * Generic arrays for vertex programs/shaders.
+ * For NV vertex programs, these attributes alias and take priority
+ * over the conventional attribs above. For ARB vertex programs and
+ * GLSL vertex shaders, these attributes are separate.
+ */
+ struct gl_client_array VertexAttrib[MAX_VERTEX_GENERIC_ATTRIBS];
/** Mask of _NEW_ARRAY_* values indicating which arrays are enabled */
GLbitfield _Enabled;
+
+ /**
+ * Min of all enabled arrays' _MaxElement. When arrays reside inside VBOs
+ * we can determine the max legal (in bounds) glDrawElements array index.
+ */
+ GLuint _MaxElement;
};
@@ -1583,7 +1601,10 @@ struct gl_array_object
*/
struct gl_array_attrib
{
+ /** Currently bound array object. See _mesa_BindVertexArrayAPPLE() */
struct gl_array_object *ArrayObj;
+
+ /** The default vertex array object */
struct gl_array_object *DefaultArrayObj;
GLint ActiveTexture; /**< Client Active Texture */
@@ -1593,11 +1614,9 @@ struct gl_array_attrib
GLbitfield NewState; /**< mask of _NEW_ARRAY_* values */
#if FEATURE_ARB_vertex_buffer_object
- struct gl_buffer_object *NullBufferObj;
struct gl_buffer_object *ArrayBufferObj;
struct gl_buffer_object *ElementArrayBufferObj;
#endif
- GLuint _MaxElement; /* Min of all enabled array's maxes */
};
@@ -2050,6 +2069,9 @@ struct gl_shared_state
/** Default texture objects (shared by all texture units) */
struct gl_texture_object *DefaultTex[NUM_TEXTURE_TARGETS];
+ /** Fallback texture used when a bound texture is incomplete */
+ struct gl_texture_object *FallbackTex;
+
/**
* \name Thread safety and statechange notification for texture
* objects.
@@ -2061,6 +2083,8 @@ struct gl_shared_state
GLuint TextureStateStamp; /**< state notification for shared tex */
/*@}*/
+ /** Default buffer object for vertex arrays that aren't in VBOs */
+ struct gl_buffer_object *NullBufferObj;
/**
* \name Vertex/fragment programs
@@ -2410,6 +2434,7 @@ struct gl_constants
struct gl_extensions
{
GLboolean dummy; /* don't remove this! */
+ GLboolean ARB_copy_buffer;
GLboolean ARB_depth_texture;
GLboolean ARB_draw_buffers;
GLboolean ARB_fragment_program;
@@ -2615,6 +2640,8 @@ struct gl_matrix_stack
#define _NEW_TRACK_MATRIX 0x4000000 /**< __GLcontextRec::VertexProgram */
#define _NEW_PROGRAM 0x8000000 /**< __GLcontextRec::VertexProgram */
#define _NEW_CURRENT_ATTRIB 0x10000000 /**< __GLcontextRec::Current */
+#define _NEW_PROGRAM_CONSTANTS 0x20000000
+#define _NEW_BUFFER_OBJECT 0x40000000
#define _NEW_ALL ~0
/*@}*/
@@ -2933,6 +2960,9 @@ struct __GLcontextRec
struct gl_shader_state Shader; /**< GLSL shader object state */
struct gl_query_state Query; /**< occlusion, timer queries */
+
+ struct gl_buffer_object *CopyReadBuffer; /**< GL_ARB_copy_buffer */
+ struct gl_buffer_object *CopyWriteBuffer; /**< GL_ARB_copy_buffer */
/*@}*/
#if FEATURE_EXT_framebuffer_object
@@ -2976,6 +3006,12 @@ struct __GLcontextRec
/** software compression/decompression supported or not */
GLboolean Mesa_DXTn;
+ /**
+ * Use dp4 (rather than mul/mad) instructions for position
+ * transformation?
+ */
+ GLboolean mvp_with_dp4;
+
/** Core tnl module support */
struct gl_tnl_module TnlModule;
diff --git a/src/mesa/main/pixel.c b/src/mesa/main/pixel.c
index 52781e048e..d9f3e476e8 100644
--- a/src/mesa/main/pixel.c
+++ b/src/mesa/main/pixel.c
@@ -170,7 +170,7 @@ _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values )
return;
}
/* restore */
- ctx->DefaultPacking.BufferObj = ctx->Array.NullBufferObj;
+ ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj;
buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
GL_READ_ONLY_ARB,
ctx->Unpack.BufferObj);
@@ -229,7 +229,7 @@ _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values )
return;
}
/* restore */
- ctx->DefaultPacking.BufferObj = ctx->Array.NullBufferObj;
+ ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj;
buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
GL_READ_ONLY_ARB,
ctx->Unpack.BufferObj);
@@ -303,7 +303,7 @@ _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values )
return;
}
/* restore */
- ctx->DefaultPacking.BufferObj = ctx->Array.NullBufferObj;
+ ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj;
buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
GL_READ_ONLY_ARB,
ctx->Unpack.BufferObj);
@@ -371,7 +371,7 @@ _mesa_GetPixelMapfv( GLenum map, GLfloat *values )
return;
}
/* restore */
- ctx->DefaultPacking.BufferObj = ctx->Array.NullBufferObj;
+ ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj;
buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
GL_WRITE_ONLY_ARB,
ctx->Pack.BufferObj);
@@ -432,7 +432,7 @@ _mesa_GetPixelMapuiv( GLenum map, GLuint *values )
return;
}
/* restore */
- ctx->DefaultPacking.BufferObj = ctx->Array.NullBufferObj;
+ ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj;
buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
GL_WRITE_ONLY_ARB,
ctx->Pack.BufferObj);
@@ -494,7 +494,7 @@ _mesa_GetPixelMapusv( GLenum map, GLushort *values )
return;
}
/* restore */
- ctx->DefaultPacking.BufferObj = ctx->Array.NullBufferObj;
+ ctx->DefaultPacking.BufferObj = ctx->Shared->NullBufferObj;
buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
GL_WRITE_ONLY_ARB,
ctx->Pack.BufferObj);
@@ -819,7 +819,7 @@ update_image_transfer_state(GLcontext *ctx)
/**
- * Update meas pixel transfer derived state.
+ * Update mesa pixel transfer derived state.
*/
void _mesa_update_pixel( GLcontext *ctx, GLuint new_state )
{
diff --git a/src/mesa/main/pixelstore.c b/src/mesa/main/pixelstore.c
index ff1a6344cc..6a641f83f2 100644
--- a/src/mesa/main/pixelstore.c
+++ b/src/mesa/main/pixelstore.c
@@ -245,7 +245,8 @@ _mesa_init_pixelstore( GLcontext *ctx )
ctx->Pack.ClientStorage = GL_FALSE;
ctx->Pack.Invert = GL_FALSE;
#if FEATURE_EXT_pixel_buffer_object
- ctx->Pack.BufferObj = ctx->Array.NullBufferObj;
+ _mesa_reference_buffer_object(ctx, &ctx->Pack.BufferObj,
+ ctx->Shared->NullBufferObj);
#endif
ctx->Unpack.Alignment = 4;
ctx->Unpack.RowLength = 0;
@@ -258,7 +259,8 @@ _mesa_init_pixelstore( GLcontext *ctx )
ctx->Unpack.ClientStorage = GL_FALSE;
ctx->Unpack.Invert = GL_FALSE;
#if FEATURE_EXT_pixel_buffer_object
- ctx->Unpack.BufferObj = ctx->Array.NullBufferObj;
+ _mesa_reference_buffer_object(ctx, &ctx->Unpack.BufferObj,
+ ctx->Shared->NullBufferObj);
#endif
/*
@@ -278,6 +280,7 @@ _mesa_init_pixelstore( GLcontext *ctx )
ctx->DefaultPacking.ClientStorage = GL_FALSE;
ctx->DefaultPacking.Invert = GL_FALSE;
#if FEATURE_EXT_pixel_buffer_object
- ctx->DefaultPacking.BufferObj = ctx->Array.NullBufferObj;
+ _mesa_reference_buffer_object(ctx, &ctx->DefaultPacking.BufferObj,
+ ctx->Shared->NullBufferObj);
#endif
}
diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c
index 554e0b0d18..c25b31af02 100644
--- a/src/mesa/main/queryobj.c
+++ b/src/mesa/main/queryobj.c
@@ -83,13 +83,27 @@ void
_mesa_wait_query(GLcontext *ctx, struct gl_query_object *q)
{
/* For software drivers, _mesa_end_query() should have completed the query.
- * For real hardware, implement a proper WaitQuery() driver function.
+ * For real hardware, implement a proper WaitQuery() driver function,
+ * which may require issuing a flush.
*/
assert(q->Ready);
}
/**
+ * Check if a query results are ready. Software driver fallback.
+ * Called via ctx->Driver.CheckQuery().
+ */
+void
+_mesa_check_query(GLcontext *ctx, struct gl_query_object *q)
+{
+ /* No-op for sw rendering.
+ * HW drivers may need to flush at this time.
+ */
+}
+
+
+/**
* Delete a query object. Called via ctx->Driver.DeleteQuery().
* Not removed from hash table here.
*/
diff --git a/src/mesa/main/queryobj.h b/src/mesa/main/queryobj.h
index 9a9774641b..bc02b65b54 100644
--- a/src/mesa/main/queryobj.h
+++ b/src/mesa/main/queryobj.h
@@ -48,6 +48,9 @@ _mesa_end_query(GLcontext *ctx, struct gl_query_object *q);
extern void
_mesa_wait_query(GLcontext *ctx, struct gl_query_object *q);
+extern void
+_mesa_check_query(GLcontext *ctx, struct gl_query_object *q);
+
extern void GLAPIENTRY
_mesa_GenQueriesARB(GLsizei n, GLuint *ids);
diff --git a/src/mesa/main/shaders.c b/src/mesa/main/shaders.c
index be93b45a7d..bc76b91291 100644
--- a/src/mesa/main/shaders.c
+++ b/src/mesa/main/shaders.c
@@ -638,8 +638,7 @@ _mesa_UniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose,
const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- ctx->Driver.UniformMatrix(ctx, 2, 2, GL_FLOAT_MAT2,
- location, count, transpose, value);
+ ctx->Driver.UniformMatrix(ctx, 2, 2, location, count, transpose, value);
}
void GLAPIENTRY
@@ -647,8 +646,7 @@ _mesa_UniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose,
const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- ctx->Driver.UniformMatrix(ctx, 3, 3, GL_FLOAT_MAT3,
- location, count, transpose, value);
+ ctx->Driver.UniformMatrix(ctx, 3, 3, location, count, transpose, value);
}
void GLAPIENTRY
@@ -656,8 +654,7 @@ _mesa_UniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose,
const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- ctx->Driver.UniformMatrix(ctx, 4, 4, GL_FLOAT_MAT4,
- location, count, transpose, value);
+ ctx->Driver.UniformMatrix(ctx, 4, 4, location, count, transpose, value);
}
@@ -669,8 +666,7 @@ _mesa_UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- ctx->Driver.UniformMatrix(ctx, 2, 3, GL_FLOAT_MAT2x3,
- location, count, transpose, value);
+ ctx->Driver.UniformMatrix(ctx, 2, 3, location, count, transpose, value);
}
void GLAPIENTRY
@@ -678,8 +674,7 @@ _mesa_UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- ctx->Driver.UniformMatrix(ctx, 3, 2, GL_FLOAT_MAT3x2,
- location, count, transpose, value);
+ ctx->Driver.UniformMatrix(ctx, 3, 2, location, count, transpose, value);
}
void GLAPIENTRY
@@ -687,8 +682,7 @@ _mesa_UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- ctx->Driver.UniformMatrix(ctx, 2, 4, GL_FLOAT_MAT2x4,
- location, count, transpose, value);
+ ctx->Driver.UniformMatrix(ctx, 2, 4, location, count, transpose, value);
}
void GLAPIENTRY
@@ -696,8 +690,7 @@ _mesa_UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- ctx->Driver.UniformMatrix(ctx, 4, 2, GL_FLOAT_MAT4x2,
- location, count, transpose, value);
+ ctx->Driver.UniformMatrix(ctx, 4, 2, location, count, transpose, value);
}
void GLAPIENTRY
@@ -705,8 +698,7 @@ _mesa_UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- ctx->Driver.UniformMatrix(ctx, 3, 4, GL_FLOAT_MAT3x4,
- location, count, transpose, value);
+ ctx->Driver.UniformMatrix(ctx, 3, 4, location, count, transpose, value);
}
void GLAPIENTRY
@@ -714,8 +706,7 @@ _mesa_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- ctx->Driver.UniformMatrix(ctx, 4, 3, GL_FLOAT_MAT4x3,
- location, count, transpose, value);
+ ctx->Driver.UniformMatrix(ctx, 4, 3, location, count, transpose, value);
}
diff --git a/src/mesa/main/shared.c b/src/mesa/main/shared.c
index 193ac8970c..759883743d 100644
--- a/src/mesa/main/shared.c
+++ b/src/mesa/main/shared.c
@@ -33,6 +33,7 @@
#include "mtypes.h"
#include "hash.h"
#include "arrayobj.h"
+#include "bufferobj.h"
#include "shared.h"
#include "shader/program.h"
#include "shader/shader_api.h"
@@ -92,6 +93,13 @@ _mesa_alloc_shared_state(GLcontext *ctx)
shared->BufferObjects = _mesa_NewHashTable();
#endif
+ /* Allocate the default buffer object and set refcount so high that
+ * it never gets deleted.
+ * XXX with recent/improved refcounting this may not longer be needed.
+ */
+ shared->NullBufferObj = _mesa_new_buffer_object(ctx, 0, 0);
+ shared->NullBufferObj->RefCount = 1000;
+
shared->ArrayObjects = _mesa_NewHashTable();
/* Create default texture objects */
@@ -190,6 +198,10 @@ delete_bufferobj_cb(GLuint id, void *data, void *userData)
{
struct gl_buffer_object *bufObj = (struct gl_buffer_object *) data;
GLcontext *ctx = (GLcontext *) userData;
+ if (bufObj->Pointer) {
+ ctx->Driver.UnmapBuffer(ctx, 0, bufObj);
+ bufObj->Pointer = NULL;
+ }
ctx->Driver.DeleteBuffer(ctx, bufObj);
}
@@ -337,6 +349,10 @@ _mesa_free_shared_state(GLcontext *ctx, struct gl_shared_state *shared)
_mesa_DeleteHashTable(shared->RenderBuffers);
#endif
+#if FEATURE_ARB_vertex_buffer_object
+ _mesa_delete_buffer_object(ctx, shared->NullBufferObj);
+#endif
+
/*
* Free texture objects (after FBOs since some textures might have
* been bound to FBOs).
diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c
index cc37d63636..7b41b8f4da 100644
--- a/src/mesa/main/state.c
+++ b/src/mesa/main/state.c
@@ -44,6 +44,7 @@
#include "pixel.h"
#endif
#include "shader/program.h"
+#include "shader/prog_parameter.h"
#include "state.h"
#include "stencil.h"
#include "texenvprogram.h"
@@ -63,114 +64,149 @@ update_separate_specular(GLcontext *ctx)
/**
- * Update state dependent on vertex arrays.
+ * Compute the index of the last array element that can be safely accessed
+ * in a vertex array. We can really only do this when the array lives in
+ * a VBO.
+ * The array->_MaxElement field will be updated.
+ * Later in glDrawArrays/Elements/etc we can do some bounds checking.
+ */
+static void
+compute_max_element(struct gl_client_array *array)
+{
+ assert(array->Enabled);
+ if (array->BufferObj->Name) {
+ /* Compute the max element we can access in the VBO without going
+ * out of bounds.
+ */
+ array->_MaxElement = ((GLsizeiptrARB) array->BufferObj->Size
+ - (GLsizeiptrARB) array->Ptr + array->StrideB
+ - array->_ElementSize) / array->StrideB;
+ }
+ else {
+ /* user-space array, no idea how big it is */
+ array->_MaxElement = 2 * 1000 * 1000 * 1000; /* just a big number */
+ }
+}
+
+
+/**
+ * Helper for update_arrays().
+ * \return min(current min, array->_MaxElement).
+ */
+static GLuint
+update_min(GLuint min, struct gl_client_array *array)
+{
+ compute_max_element(array);
+ return MIN2(min, array->_MaxElement);
+}
+
+
+/**
+ * Update ctx->Array._MaxElement (the max legal index into all enabled arrays).
+ * Need to do this upon new array state or new buffer object state.
*/
static void
update_arrays( GLcontext *ctx )
{
- GLuint i, min;
+ struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
+ GLuint i, min = ~0;
/* find min of _MaxElement values for all enabled arrays */
/* 0 */
if (ctx->VertexProgram._Current
- && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled) {
- min = ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_POS]._MaxElement;
+ && arrayObj->VertexAttrib[VERT_ATTRIB_POS].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_POS]);
}
- else if (ctx->Array.ArrayObj->Vertex.Enabled) {
- min = ctx->Array.ArrayObj->Vertex._MaxElement;
- }
- else {
- /* can't draw anything without vertex positions! */
- min = 0;
+ else if (arrayObj->Vertex.Enabled) {
+ min = update_min(min, &arrayObj->Vertex);
}
/* 1 */
if (ctx->VertexProgram._Enabled
- && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_WEIGHT].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_WEIGHT]._MaxElement);
+ && arrayObj->VertexAttrib[VERT_ATTRIB_WEIGHT].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_WEIGHT]);
}
/* no conventional vertex weight array */
/* 2 */
if (ctx->VertexProgram._Enabled
- && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_NORMAL]._MaxElement);
+ && arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_NORMAL]);
}
- else if (ctx->Array.ArrayObj->Normal.Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->Normal._MaxElement);
+ else if (arrayObj->Normal.Enabled) {
+ min = update_min(min, &arrayObj->Normal);
}
/* 3 */
if (ctx->VertexProgram._Enabled
- && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR0]._MaxElement);
+ && arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR0]);
}
- else if (ctx->Array.ArrayObj->Color.Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->Color._MaxElement);
+ else if (arrayObj->Color.Enabled) {
+ min = update_min(min, &arrayObj->Color);
}
/* 4 */
if (ctx->VertexProgram._Enabled
- && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR1]._MaxElement);
+ && arrayObj->VertexAttrib[VERT_ATTRIB_COLOR1].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR1]);
}
- else if (ctx->Array.ArrayObj->SecondaryColor.Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->SecondaryColor._MaxElement);
+ else if (arrayObj->SecondaryColor.Enabled) {
+ min = update_min(min, &arrayObj->SecondaryColor);
}
/* 5 */
if (ctx->VertexProgram._Enabled
- && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_FOG].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_FOG]._MaxElement);
+ && arrayObj->VertexAttrib[VERT_ATTRIB_FOG].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_FOG]);
}
- else if (ctx->Array.ArrayObj->FogCoord.Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->FogCoord._MaxElement);
+ else if (arrayObj->FogCoord.Enabled) {
+ min = update_min(min, &arrayObj->FogCoord);
}
/* 6 */
if (ctx->VertexProgram._Enabled
- && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX]._MaxElement);
+ && arrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_COLOR_INDEX]);
}
- else if (ctx->Array.ArrayObj->Index.Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->Index._MaxElement);
+ else if (arrayObj->Index.Enabled) {
+ min = update_min(min, &arrayObj->Index);
}
-
/* 7 */
if (ctx->VertexProgram._Enabled
- && ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG]._MaxElement);
+ && arrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[VERT_ATTRIB_EDGEFLAG]);
}
/* 8..15 */
for (i = VERT_ATTRIB_TEX0; i <= VERT_ATTRIB_TEX7; i++) {
if (ctx->VertexProgram._Enabled
- && ctx->Array.ArrayObj->VertexAttrib[i].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[i]._MaxElement);
+ && arrayObj->VertexAttrib[i].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[i]);
}
else if (i - VERT_ATTRIB_TEX0 < ctx->Const.MaxTextureCoordUnits
- && ctx->Array.ArrayObj->TexCoord[i - VERT_ATTRIB_TEX0].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->TexCoord[i - VERT_ATTRIB_TEX0]._MaxElement);
+ && arrayObj->TexCoord[i - VERT_ATTRIB_TEX0].Enabled) {
+ min = update_min(min, &arrayObj->TexCoord[i - VERT_ATTRIB_TEX0]);
}
}
/* 16..31 */
if (ctx->VertexProgram._Current) {
- for (i = VERT_ATTRIB_GENERIC0; i < VERT_ATTRIB_MAX; i++) {
- if (ctx->Array.ArrayObj->VertexAttrib[i].Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->VertexAttrib[i]._MaxElement);
+ for (i = 0; i < Elements(arrayObj->VertexAttrib); i++) {
+ if (arrayObj->VertexAttrib[i].Enabled) {
+ min = update_min(min, &arrayObj->VertexAttrib[i]);
}
}
}
- if (ctx->Array.ArrayObj->EdgeFlag.Enabled) {
- min = MIN2(min, ctx->Array.ArrayObj->EdgeFlag._MaxElement);
+ if (arrayObj->EdgeFlag.Enabled) {
+ min = update_min(min, &arrayObj->EdgeFlag);
}
/* _MaxElement is one past the last legal array element */
- ctx->Array._MaxElement = min;
+ arrayObj->_MaxElement = min;
}
@@ -303,6 +339,36 @@ update_program(GLcontext *ctx)
}
+/**
+ * Examine shader constants and return either _NEW_PROGRAM_CONSTANTS or 0.
+ */
+static GLbitfield
+update_program_constants(GLcontext *ctx)
+{
+ GLbitfield new_state = 0x0;
+
+ if (ctx->FragmentProgram._Current) {
+ const struct gl_program_parameter_list *params =
+ ctx->FragmentProgram._Current->Base.Parameters;
+ if (params && params->StateFlags & ctx->NewState) {
+ new_state |= _NEW_PROGRAM_CONSTANTS;
+ }
+ }
+
+ if (ctx->VertexProgram._Current) {
+ const struct gl_program_parameter_list *params =
+ ctx->VertexProgram._Current->Base.Parameters;
+ if (params && params->StateFlags & ctx->NewState) {
+ new_state |= _NEW_PROGRAM_CONSTANTS;
+ }
+ }
+
+ return new_state;
+}
+
+
+
+
static void
update_viewport_matrix(GLcontext *ctx)
{
@@ -470,7 +536,8 @@ _mesa_update_state_locked( GLcontext *ctx )
/* Determine which state flags effect vertex/fragment program state */
if (ctx->FragmentProgram._MaintainTexEnvProgram) {
- prog_flags |= (_NEW_TEXTURE | _NEW_FOG | _DD_NEW_SEPARATE_SPECULAR);
+ prog_flags |= (_NEW_TEXTURE | _NEW_FOG | _DD_NEW_SEPARATE_SPECULAR |
+ _NEW_ARRAY);
}
if (ctx->VertexProgram._MaintainTnlProgram) {
prog_flags |= (_NEW_ARRAY | _NEW_TEXTURE | _NEW_TEXTURE_MATRIX |
@@ -515,7 +582,7 @@ _mesa_update_state_locked( GLcontext *ctx )
if (new_state & _DD_NEW_SEPARATE_SPECULAR)
update_separate_specular( ctx );
- if (new_state & (_NEW_ARRAY | _NEW_PROGRAM))
+ if (new_state & (_NEW_ARRAY | _NEW_PROGRAM | _NEW_BUFFER_OBJECT))
update_arrays( ctx );
if (new_state & (_NEW_BUFFERS | _NEW_VIEWPORT))
@@ -553,6 +620,10 @@ _mesa_update_state_locked( GLcontext *ctx )
new_prog_state |= update_program( ctx );
}
+
+ out:
+ new_prog_state |= update_program_constants(ctx);
+
/*
* Give the driver a chance to act upon the new_state flags.
* The driver might plug in different span functions, for example.
@@ -562,7 +633,6 @@ _mesa_update_state_locked( GLcontext *ctx )
* Set ctx->NewState to zero to avoid recursion if
* Driver.UpdateState() has to call FLUSH_VERTICES(). (fixed?)
*/
- out:
new_state = ctx->NewState | new_prog_state;
ctx->NewState = 0;
ctx->Driver.UpdateState(ctx, new_state);
diff --git a/src/mesa/main/texcompress_s3tc.c b/src/mesa/main/texcompress_s3tc.c
index d17e18da6b..a1c0f18f36 100644
--- a/src/mesa/main/texcompress_s3tc.c
+++ b/src/mesa/main/texcompress_s3tc.c
@@ -205,7 +205,7 @@ texstore_rgb_dxt1(TEXSTORE_PARAMS)
dst, dstRowStride);
}
else {
- _mesa_warning(ctx, "external dxt library not available");
+ _mesa_warning(ctx, "external dxt library not available: texstore_rgb_dxt1");
}
if (tempImage)
@@ -267,7 +267,7 @@ texstore_rgba_dxt1(TEXSTORE_PARAMS)
dst, dstRowStride);
}
else {
- _mesa_warning(ctx, "external dxt library not available");
+ _mesa_warning(ctx, "external dxt library not available: texstore_rgba_dxt1");
}
if (tempImage)
@@ -328,7 +328,7 @@ texstore_rgba_dxt3(TEXSTORE_PARAMS)
dst, dstRowStride);
}
else {
- _mesa_warning(ctx, "external dxt library not available");
+ _mesa_warning(ctx, "external dxt library not available: texstore_rgba_dxt3");
}
if (tempImage)
@@ -389,7 +389,7 @@ texstore_rgba_dxt5(TEXSTORE_PARAMS)
dst, dstRowStride);
}
else {
- _mesa_warning(ctx, "external dxt library not available");
+ _mesa_warning(ctx, "external dxt library not available: texstore_rgba_dxt5");
}
if (tempImage)
@@ -410,7 +410,7 @@ fetch_texel_2d_rgb_dxt1( const struct gl_texture_image *texImage,
(GLubyte *)(texImage)->Data, i, j, texel);
}
else
- _mesa_debug(NULL, "attempted to decode s3tc texture without library available\n");
+ _mesa_debug(NULL, "attempted to decode s3tc texture without library available: fetch_texel_2d_rgb_dxt1");
}
@@ -438,7 +438,7 @@ fetch_texel_2d_rgba_dxt1( const struct gl_texture_image *texImage,
(GLubyte *)(texImage)->Data, i, j, texel);
}
else
- _mesa_debug(NULL, "attempted to decode s3tc texture without library available\n");
+ _mesa_debug(NULL, "attempted to decode s3tc texture without library available: fetch_texel_2d_rgba_dxt1\n");
}
@@ -467,7 +467,7 @@ fetch_texel_2d_rgba_dxt3( const struct gl_texture_image *texImage,
i, j, texel);
}
else
- _mesa_debug(NULL, "attempted to decode s3tc texture without library available\n");
+ _mesa_debug(NULL, "attempted to decode s3tc texture without library available: fetch_texel_2d_rgba_dxt3\n");
}
@@ -495,7 +495,7 @@ fetch_texel_2d_rgba_dxt5( const struct gl_texture_image *texImage,
i, j, texel);
}
else
- _mesa_debug(NULL, "attempted to decode s3tc texture without library available\n");
+ _mesa_debug(NULL, "attempted to decode s3tc texture without library available: fetch_texel_2d_rgba_dxt5\n");
}
diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c
index 4a124bf27e..a70d069bd9 100644
--- a/src/mesa/main/texenvprogram.c
+++ b/src/mesa/main/texenvprogram.c
@@ -663,9 +663,8 @@ static void emit_arg( struct prog_src_register *reg,
reg->File = ureg.file;
reg->Index = ureg.idx;
reg->Swizzle = ureg.swz;
- reg->NegateBase = ureg.negatebase ? 0xf : 0x0;
+ reg->Negate = ureg.negatebase ? NEGATE_XYZW : NEGATE_NONE;
reg->Abs = ureg.abs;
- reg->NegateAbs = ureg.negateabs;
}
static void emit_dst( struct prog_dst_register *dst,
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 8c03c36c75..76b46d700b 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -52,6 +52,17 @@
/**
+ * State changes which we care about for glCopyTex[Sub]Image() calls.
+ * In particular, we care about pixel transfer state and buffer state
+ * (such as glReadBuffer to make sure we read from the right renderbuffer).
+ */
+#define NEW_COPY_TEX_STATE (_MESA_NEW_TRANSFER_STATE | \
+ _NEW_BUFFERS | \
+ _NEW_PIXEL)
+
+
+
+/**
* We allocate texture memory on 512-byte boundaries so we can use MMX/SSE
* elsewhere.
*/
@@ -3008,7 +3019,7 @@ _mesa_CopyTexImage1D( GLenum target, GLint level,
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
- if (ctx->NewState & _MESA_NEW_TRANSFER_STATE)
+ if (ctx->NewState & NEW_COPY_TEX_STATE)
_mesa_update_state(ctx);
#if FEATURE_convolve
@@ -3073,7 +3084,7 @@ _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat,
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
- if (ctx->NewState & _MESA_NEW_TRANSFER_STATE)
+ if (ctx->NewState & NEW_COPY_TEX_STATE)
_mesa_update_state(ctx);
#if FEATURE_convolve
@@ -3141,7 +3152,7 @@ _mesa_CopyTexSubImage1D( GLenum target, GLint level,
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
- if (ctx->NewState & _MESA_NEW_TRANSFER_STATE)
+ if (ctx->NewState & NEW_COPY_TEX_STATE)
_mesa_update_state(ctx);
if (copytexsubimage_error_check1(ctx, 1, target, level))
@@ -3196,7 +3207,7 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level,
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
- if (ctx->NewState & _MESA_NEW_TRANSFER_STATE)
+ if (ctx->NewState & NEW_COPY_TEX_STATE)
_mesa_update_state(ctx);
if (copytexsubimage_error_check1(ctx, 2, target, level))
@@ -3251,7 +3262,7 @@ _mesa_CopyTexSubImage3D( GLenum target, GLint level,
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
- if (ctx->NewState & _MESA_NEW_TRANSFER_STATE)
+ if (ctx->NewState & NEW_COPY_TEX_STATE)
_mesa_update_state(ctx);
if (copytexsubimage_error_check1(ctx, 3, target, level))
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index b63f747fe8..2082f945f1 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -281,7 +281,8 @@ valid_texture_object(const struct gl_texture_object *tex)
_mesa_problem(NULL, "invalid reference to a deleted texture object");
return GL_FALSE;
default:
- _mesa_problem(NULL, "invalid texture object Target value");
+ _mesa_problem(NULL, "invalid texture object Target 0x%x, Id = %u",
+ tex->Target, tex->Name);
return GL_FALSE;
}
}
@@ -662,6 +663,59 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
}
}
+
+/**
+ * Return pointer to a default/fallback texture.
+ * The texture is a 2D 8x8 RGBA texture with all texels = (0,0,0,1).
+ * That's the value a sampler should get when sampling from an
+ * incomplete texture.
+ */
+struct gl_texture_object *
+_mesa_get_fallback_texture(GLcontext *ctx)
+{
+ if (!ctx->Shared->FallbackTex) {
+ /* create fallback texture now */
+ static GLubyte texels[8 * 8][4];
+ struct gl_texture_object *texObj;
+ struct gl_texture_image *texImage;
+ GLuint i;
+
+ for (i = 0; i < 8 * 8; i++) {
+ texels[i][0] =
+ texels[i][1] =
+ texels[i][2] = 0x0;
+ texels[i][3] = 0xff;
+ }
+
+ /* create texture object */
+ texObj = ctx->Driver.NewTextureObject(ctx, 0, GL_TEXTURE_2D);
+ assert(texObj->RefCount == 1);
+ texObj->MinFilter = GL_NEAREST;
+ texObj->MagFilter = GL_NEAREST;
+
+ /* create level[0] texture image */
+ texImage = _mesa_get_tex_image(ctx, texObj, GL_TEXTURE_2D, 0);
+
+ /* init the image fields */
+ _mesa_init_teximage_fields(ctx, GL_TEXTURE_2D, texImage,
+ 8, 8, 1, 0, GL_RGBA);
+
+ /* set image data */
+ ctx->Driver.TexImage2D(ctx, GL_TEXTURE_2D, 0, GL_RGBA,
+ 8, 8, 0,
+ GL_RGBA, GL_UNSIGNED_BYTE, texels,
+ &ctx->DefaultPacking, texObj, texImage);
+
+ _mesa_test_texobj_completeness(ctx, texObj);
+ assert(texObj->_Complete);
+
+ ctx->Shared->FallbackTex = texObj;
+ }
+ return ctx->Shared->FallbackTex;
+}
+
+
+
/*@}*/
@@ -891,6 +945,7 @@ _mesa_BindTexture( GLenum target, GLuint texName )
struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit];
struct gl_texture_object *newTexObj = NULL, *defaultTexObj = NULL;
GLint targetIndex;
+ GLboolean early_out = GL_FALSE;
ASSERT_OUTSIDE_BEGIN_END(ctx);
if (MESA_VERBOSE & (VERBOSE_API|VERBOSE_TEXTURE))
@@ -944,6 +999,17 @@ _mesa_BindTexture( GLenum target, GLuint texName )
assert(valid_texture_object(newTexObj));
+ _glthread_LOCK_MUTEX(ctx->Shared->Mutex);
+ if ((ctx->Shared->RefCount == 1)
+ && (newTexObj == texUnit->CurrentTex[targetIndex])) {
+ early_out = GL_TRUE;
+ }
+ _glthread_UNLOCK_MUTEX(ctx->Shared->Mutex);
+
+ if (early_out) {
+ return;
+ }
+
/* flush before changing binding */
FLUSH_VERTICES(ctx, _NEW_TEXTURE);
diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h
index d5374c5d6c..2599c0816a 100644
--- a/src/mesa/main/texobj.h
+++ b/src/mesa/main/texobj.h
@@ -65,6 +65,9 @@ extern void
_mesa_test_texobj_completeness( const GLcontext *ctx,
struct gl_texture_object *obj );
+extern struct gl_texture_object *
+_mesa_get_fallback_texture(GLcontext *ctx);
+
extern void
_mesa_unlock_context_textures( GLcontext *ctx );
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index 515a35cdfc..2195a334d3 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -69,7 +69,7 @@ validate_texture_wrap_mode(GLcontext * ctx, GLenum target, GLenum wrap)
return GL_TRUE;
}
- _mesa_error( ctx, GL_INVALID_VALUE, "glTexParameter(param)" );
+ _mesa_error( ctx, GL_INVALID_VALUE, "glTexParameter(param=0x%x)", wrap );
return GL_FALSE;
}
@@ -209,7 +209,8 @@ set_tex_parameteri(GLcontext *ctx,
}
/* fall-through */
default:
- _mesa_error( ctx, GL_INVALID_VALUE, "glTexParameter(param)" );
+ _mesa_error( ctx, GL_INVALID_VALUE, "glTexParameter(param=0x%x)",
+ params[0] );
}
return GL_FALSE;
@@ -223,7 +224,8 @@ set_tex_parameteri(GLcontext *ctx,
texObj->MagFilter = params[0];
return GL_TRUE;
default:
- _mesa_error( ctx, GL_INVALID_VALUE, "glTexParameter(param)" );
+ _mesa_error( ctx, GL_INVALID_VALUE, "glTexParameter(param=0x%x)",
+ params[0]);
}
return GL_FALSE;
@@ -262,7 +264,8 @@ set_tex_parameteri(GLcontext *ctx,
return GL_FALSE;
if (params[0] < 0 ||
(texObj->Target == GL_TEXTURE_RECTANGLE_ARB && params[0] != 0)) {
- _mesa_error(ctx, GL_INVALID_VALUE, "glTexParameter(param)");
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glTexParameter(param=%d)", params[0]);
return GL_FALSE;
}
flush(ctx, texObj);
@@ -273,7 +276,8 @@ set_tex_parameteri(GLcontext *ctx,
if (texObj->MaxLevel == params[0])
return GL_FALSE;
if (params[0] < 0 || texObj->Target == GL_TEXTURE_RECTANGLE_ARB) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glTexParameter(param)");
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glTexParameter(param=%d)", params[0]);
return GL_FALSE;
}
flush(ctx, texObj);
@@ -340,7 +344,7 @@ set_tex_parameteri(GLcontext *ctx,
}
}
else {
- _mesa_error(ctx, GL_INVALID_ENUM, "glTexParameter(param)");
+ _mesa_error(ctx, GL_INVALID_ENUM, "glTexParameter(pname=0x%x)", pname);
}
return GL_FALSE;
@@ -465,8 +469,10 @@ set_tex_parameterf(GLcontext *ctx,
return GL_TRUE;
}
else {
- _mesa_error(ctx, GL_INVALID_ENUM,
- "glTexParameter(pname=GL_TEXTURE_MAX_ANISOTROPY_EXT)");
+ static GLuint count = 0;
+ if (count++ < 10)
+ _mesa_error(ctx, GL_INVALID_ENUM,
+ "glTexParameter(pname=GL_TEXTURE_MAX_ANISOTROPY_EXT)");
}
return GL_FALSE;
diff --git a/src/mesa/main/texrender.c b/src/mesa/main/texrender.c
index 49de6f5b8a..cc74d58fbd 100644
--- a/src/mesa/main/texrender.c
+++ b/src/mesa/main/texrender.c
@@ -507,6 +507,7 @@ update_wrapper(GLcontext *ctx, const struct gl_renderbuffer_attachment *att)
trb->Base.BlueBits = trb->TexImage->TexFormat->BlueBits;
trb->Base.AlphaBits = trb->TexImage->TexFormat->AlphaBits;
trb->Base.DepthBits = trb->TexImage->TexFormat->DepthBits;
+ trb->Base.StencilBits = trb->TexImage->TexFormat->StencilBits;
}
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
index 73f8a5339e..6e0c0c688a 100644
--- a/src/mesa/main/texstate.c
+++ b/src/mesa/main/texstate.c
@@ -561,8 +561,19 @@ update_texture_state( GLcontext *ctx )
}
if (!texUnit->_ReallyEnabled) {
- _mesa_reference_texobj(&texUnit->_Current, NULL);
- continue;
+ if (fprog) {
+ /* If we get here it means the shader is expecting a texture
+ * object, but there isn't one (or it's incomplete). Use the
+ * fallback texture.
+ */
+ struct gl_texture_object *texObj = _mesa_get_fallback_texture(ctx);
+ texUnit->_ReallyEnabled = 1 << TEXTURE_2D_INDEX;
+ _mesa_reference_texobj(&texUnit->_Current, texObj);
+ }
+ else {
+ /* fixed-function: texture unit is really disabled */
+ continue;
+ }
}
/* if we get here, we know this texture unit is enabled */
@@ -780,6 +791,9 @@ _mesa_free_texture_data(GLcontext *ctx)
/* unreference current textures */
for (u = 0; u < MAX_TEXTURE_IMAGE_UNITS; u++) {
+ /* The _Current texture could account for another reference */
+ _mesa_reference_texobj(&ctx->Texture.Unit[u]._Current, NULL);
+
for (tgt = 0; tgt < NUM_TEXTURE_TARGETS; tgt++) {
_mesa_reference_texobj(&ctx->Texture.Unit[u].CurrentTex[tgt], NULL);
}
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index f3739f950b..bfced1b3f4 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -2689,12 +2689,45 @@ GLboolean
_mesa_texstore_z24_s8(TEXSTORE_PARAMS)
{
const GLfloat depthScale = (GLfloat) 0xffffff;
+ const GLint srcRowStride
+ = _mesa_image_row_stride(srcPacking, srcWidth, srcFormat, srcType)
+ / sizeof(GLuint);
+ GLint img, row;
ASSERT(dstFormat == &_mesa_texformat_z24_s8);
- ASSERT(srcFormat == GL_DEPTH_STENCIL_EXT);
- ASSERT(srcType == GL_UNSIGNED_INT_24_8_EXT);
+ ASSERT(srcFormat == GL_DEPTH_STENCIL_EXT || srcFormat == GL_DEPTH_COMPONENT);
+ ASSERT(srcFormat != GL_DEPTH_STENCIL_EXT || srcType == GL_UNSIGNED_INT_24_8_EXT);
- if (ctx->Pixel.DepthScale == 1.0f &&
+ /* In case we only upload depth we need to preserve the stencil */
+ if (srcFormat == GL_DEPTH_COMPONENT) {
+ for (img = 0; img < srcDepth; img++) {
+ GLuint *dstRow = (GLuint *) dstAddr
+ + dstImageOffsets[dstZoffset + img]
+ + dstYoffset * dstRowStride / sizeof(GLuint)
+ + dstXoffset;
+ const GLuint *src
+ = (const GLuint *) _mesa_image_address(dims, srcPacking, srcAddr,
+ srcWidth, srcHeight,
+ srcFormat, srcType,
+ img, 0, 0);
+ for (row = 0; row < srcHeight; row++) {
+ GLuint depth[MAX_WIDTH];
+ GLint i;
+ _mesa_unpack_depth_span(ctx, srcWidth,
+ GL_UNSIGNED_INT, /* dst type */
+ depth, /* dst addr */
+ depthScale,
+ srcType, src, srcPacking);
+
+ for (i = 0; i < srcWidth; i++)
+ dstRow[i] = depth[i] << 8 | (dstRow[i] & 0x000000FF);
+
+ src += srcRowStride;
+ dstRow += dstRowStride / sizeof(GLuint);
+ }
+ }
+ }
+ else if (ctx->Pixel.DepthScale == 1.0f &&
ctx->Pixel.DepthBias == 0.0f &&
!srcPacking->SwapBytes) {
/* simple path */
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index 106252e460..f04c137c6d 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -1,8 +1,9 @@
/*
* Mesa 3-D graphics library
- * Version: 7.2
+ * Version: 7.6
*
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -36,15 +37,14 @@
/**
- * Update the fields of a vertex array object.
- * We need to do a few special things for arrays that live in
- * vertex buffer objects.
+ * Set the fields of a vertex array.
*
* \param array the array to update
* \param dirtyBit which bit to set in ctx->Array.NewState for this array
* \param elementSize size of each array element, in bytes
* \param size components per element (1, 2, 3 or 4)
* \param type datatype of each component (GL_FLOAT, GL_INT, etc)
+ * \param format either GL_RGBA or GL_BGRA
* \param stride stride between elements, in elements
* \param normalized are integer types converted to floats in [-1, 1]?
* \param ptr the address (or offset inside VBO) of the array data
@@ -63,22 +63,11 @@ update_array(GLcontext *ctx, struct gl_client_array *array,
array->StrideB = stride ? stride : elementSize;
array->Normalized = normalized;
array->Ptr = (const GLubyte *) ptr;
-#if FEATURE_ARB_vertex_buffer_object
+ array->_ElementSize = elementSize;
+
_mesa_reference_buffer_object(ctx, &array->BufferObj,
ctx->Array.ArrayBufferObj);
- /* Compute the index of the last array element that's inside the buffer.
- * Later in glDrawArrays we'll check if start + count > _MaxElement to
- * be sure we won't go out of bounds.
- */
- if (ctx->Array.ArrayBufferObj->Name)
- array->_MaxElement = ((GLsizeiptrARB) ctx->Array.ArrayBufferObj->Size
- - (GLsizeiptrARB) array->Ptr + array->StrideB
- - elementSize) / array->StrideB;
- else
-#endif
- array->_MaxElement = 2 * 1000 * 1000 * 1000; /* just a big number */
-
ctx->NewState |= _NEW_ARRAY;
ctx->Array.NewState |= dirtyBit;
}
@@ -528,16 +517,23 @@ _mesa_PointSizePointer(GLenum type, GLsizei stride, const GLvoid *ptr)
#if FEATURE_NV_vertex_program
+/**
+ * Set a vertex attribute array.
+ * Note that these arrays DO alias the conventional GL vertex arrays
+ * (position, normal, color, fog, texcoord, etc).
+ * The generic attribute slots at #16 and above are not touched.
+ */
void GLAPIENTRY
_mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type,
GLsizei stride, const GLvoid *ptr)
{
GLboolean normalized = GL_FALSE;
GLsizei elementSize;
+ GLenum format;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
- if (index >= MAX_VERTEX_PROGRAM_ATTRIBS) {
+ if (index >= MAX_NV_VERTEX_PROGRAM_INPUTS) {
_mesa_error(ctx, GL_INVALID_VALUE, "glVertexAttribPointerNV(index)");
return;
}
@@ -557,6 +553,21 @@ _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type,
return;
}
+ if (size == GL_BGRA) {
+ if (type != GL_UNSIGNED_BYTE) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glVertexAttribPointerNV(GL_BGRA/type)");
+ return;
+ }
+
+ format = GL_BGRA;
+ size = 4;
+ normalized = GL_TRUE;
+ }
+ else {
+ format = GL_RGBA;
+ }
+
/* check for valid 'type' and compute StrideB right away */
switch (type) {
case GL_UNSIGNED_BYTE:
@@ -579,7 +590,7 @@ _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type,
update_array(ctx, &ctx->Array.ArrayObj->VertexAttrib[index],
_NEW_ARRAY_ATTRIB(index),
- elementSize, size, type, GL_RGBA, stride, normalized, ptr);
+ elementSize, size, type, format, stride, normalized, ptr);
if (ctx->Driver.VertexAttribPointer)
ctx->Driver.VertexAttribPointer( ctx, index, size, type, stride, ptr );
@@ -588,6 +599,11 @@ _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type,
#if FEATURE_ARB_vertex_program
+/**
+ * Set a generic vertex attribute array.
+ * Note that these arrays DO NOT alias the conventional GL vertex arrays
+ * (position, normal, color, fog, texcoord, etc).
+ */
void GLAPIENTRY
_mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type,
GLboolean normalized,
@@ -621,9 +637,14 @@ _mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type,
"glVertexAttribPointerARB(GL_BGRA/type)");
return;
}
+ if (normalized != GL_TRUE) {
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glVertexAttribPointerARB(GL_BGRA/normalized)");
+ return;
+ }
+
format = GL_BGRA;
size = 4;
- normalized = GL_TRUE;
}
else {
format = GL_RGBA;
@@ -668,7 +689,7 @@ _mesa_VertexAttribPointerARB(GLuint index, GLint size, GLenum type,
update_array(ctx, &ctx->Array.ArrayObj->VertexAttrib[index],
_NEW_ARRAY_ATTRIB(index),
- elementSize, size, type, GL_RGBA, stride, normalized, ptr);
+ elementSize, size, type, format, stride, normalized, ptr);
if (ctx->Driver.VertexAttribPointer)
ctx->Driver.VertexAttribPointer(ctx, index, size, type, stride, ptr);
@@ -1044,13 +1065,59 @@ _mesa_MultiModeDrawElementsIBM( const GLenum * mode, const GLsizei * count,
/**
+ * Print vertex array's fields.
+ */
+static void
+print_array(const char *name, GLint index, const struct gl_client_array *array)
+{
+ if (index >= 0)
+ _mesa_printf(" %s[%d]: ", name, index);
+ else
+ _mesa_printf(" %s: ", name);
+ _mesa_printf("Ptr=%p, Type=0x%x, Size=%d, ElemSize=%u, Stride=%d, Buffer=%u(Size %u), MaxElem=%u\n",
+ array->Ptr, array->Type, array->Size,
+ array->_ElementSize, array->StrideB,
+ array->BufferObj->Name, array->BufferObj->Size,
+ array->_MaxElement);
+}
+
+
+/**
+ * Print current vertex object/array info. For debug.
+ */
+void
+_mesa_print_arrays(GLcontext *ctx)
+{
+ struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
+ GLuint i;
+
+ _mesa_update_array_object_max_element(ctx, arrayObj);
+
+ _mesa_printf("Array Object %u\n", arrayObj->Name);
+ if (arrayObj->Vertex.Enabled)
+ print_array("Vertex", -1, &arrayObj->Vertex);
+ if (arrayObj->Normal.Enabled)
+ print_array("Normal", -1, &arrayObj->Normal);
+ if (arrayObj->Color.Enabled)
+ print_array("Color", -1, &arrayObj->Color);
+ for (i = 0; i < Elements(arrayObj->TexCoord); i++)
+ if (arrayObj->TexCoord[i].Enabled)
+ print_array("TexCoord", i, &arrayObj->TexCoord[i]);
+ for (i = 0; i < Elements(arrayObj->VertexAttrib); i++)
+ if (arrayObj->VertexAttrib[i].Enabled)
+ print_array("Attrib", i, &arrayObj->VertexAttrib[i]);
+ _mesa_printf(" _MaxElement = %u\n", arrayObj->_MaxElement);
+}
+
+
+/**
* Initialize vertex array state for given context.
*/
void
_mesa_init_varray(GLcontext *ctx)
{
ctx->Array.DefaultArrayObj = _mesa_new_array_object(ctx, 0);
- ctx->Array.ArrayObj = ctx->Array.DefaultArrayObj;
-
+ _mesa_reference_array_object(ctx, &ctx->Array.ArrayObj,
+ ctx->Array.DefaultArrayObj);
ctx->Array.ActiveTexture = 0; /* GL_ARB_multitexture */
}
diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h
index 97d5c8219d..46cc3ee342 100644
--- a/src/mesa/main/varray.h
+++ b/src/mesa/main/varray.h
@@ -1,18 +1,9 @@
-/**
- * \file varray.h
- * Vertex arrays.
- *
- * \if subset
- * (No-op)
- *
- * \endif
- */
-
/*
* Mesa 3-D graphics library
- * Version: 4.1
+ * Version: 7.6
*
- * Copyright (C) 1999-2002 Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -169,6 +160,8 @@ _mesa_DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count,
GLenum type, const GLvoid *indices);
+extern void
+_mesa_print_arrays(GLcontext *ctx);
extern void
_mesa_init_varray( GLcontext * ctx );
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index f5bf6e2c85..d4d3dd1a94 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -1,8 +1,9 @@
/*
* Mesa 3-D graphics library
- * Version: 7.5
+ * Version: 7.6
*
* Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
@@ -29,9 +30,9 @@
/* Mesa version */
#define MESA_MAJOR 7
-#define MESA_MINOR 5
+#define MESA_MINOR 6
#define MESA_PATCH 0
-#define MESA_VERSION_STRING "7.5-devel"
+#define MESA_VERSION_STRING "7.6-devel"
/* To make version comparison easy */
#define MESA_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))