aboutsummaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/api_arrayelt.c3
-rw-r--r--src/mesa/main/api_exec.c1
-rw-r--r--src/mesa/main/api_validate.c21
-rw-r--r--src/mesa/main/attrib.c146
-rw-r--r--src/mesa/main/bufferobj.c64
-rw-r--r--src/mesa/main/bufferobj.h20
-rw-r--r--src/mesa/main/colortab.c8
-rw-r--r--src/mesa/main/compiler.h8
-rw-r--r--src/mesa/main/config.h9
-rw-r--r--src/mesa/main/context.c69
-rw-r--r--src/mesa/main/context.h6
-rw-r--r--src/mesa/main/convolve.c20
-rw-r--r--src/mesa/main/debug.c97
-rw-r--r--src/mesa/main/dlist.c304
-rw-r--r--src/mesa/main/drawpix.c142
-rw-r--r--src/mesa/main/enable.c10
-rw-r--r--src/mesa/main/enums.c5980
-rw-r--r--src/mesa/main/extensions.c3
-rw-r--r--src/mesa/main/fbobject.c20
-rw-r--r--src/mesa/main/fog.c2
-rw-r--r--src/mesa/main/framebuffer.c26
-rw-r--r--src/mesa/main/get.c12
-rw-r--r--src/mesa/main/get_gen.py4
-rw-r--r--src/mesa/main/getstring.c1
-rw-r--r--src/mesa/main/histogram.c8
-rw-r--r--src/mesa/main/image.c382
-rw-r--r--src/mesa/main/image.h24
-rw-r--r--src/mesa/main/imports.c85
-rw-r--r--src/mesa/main/imports.h3
-rw-r--r--src/mesa/main/light.c8
-rw-r--r--src/mesa/main/mtypes.h18
-rw-r--r--src/mesa/main/pixel.c24
-rw-r--r--src/mesa/main/polygon.c4
-rw-r--r--src/mesa/main/readpix.c55
-rw-r--r--src/mesa/main/shared.c2
-rw-r--r--src/mesa/main/state.c5
-rw-r--r--src/mesa/main/texenv.c69
-rw-r--r--src/mesa/main/texenvprogram.c15
-rw-r--r--src/mesa/main/texgetimage.c233
-rw-r--r--src/mesa/main/texgetimage.h9
-rw-r--r--src/mesa/main/teximage.c596
-rw-r--r--src/mesa/main/teximage.h16
-rw-r--r--src/mesa/main/texobj.c56
-rw-r--r--src/mesa/main/texobj.h8
-rw-r--r--src/mesa/main/texparam.c58
-rw-r--r--src/mesa/main/texstate.h18
-rw-r--r--src/mesa/main/texstore.c6
-rw-r--r--src/mesa/main/varray.c41
-rw-r--r--src/mesa/main/varray.h6
-rw-r--r--src/mesa/main/viewport.c4
50 files changed, 4577 insertions, 4152 deletions
diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c
index f5b7d1e1385..2462a1b0037 100644
--- a/src/mesa/main/api_arrayelt.c
+++ b/src/mesa/main/api_arrayelt.c
@@ -28,6 +28,7 @@
#include "glheader.h"
#include "api_arrayelt.h"
+#include "bufferobj.h"
#include "context.h"
#include "imports.h"
#include "macros.h"
@@ -1071,7 +1072,7 @@ void _ae_destroy_context( GLcontext *ctx )
static void check_vbo( AEcontext *actx,
struct gl_buffer_object *vbo )
{
- if (vbo->Name && !vbo->Pointer) {
+ if (_mesa_is_bufferobj(vbo) && !_mesa_bufferobj_mapped(vbo)) {
GLuint i;
for (i = 0; i < actx->nr_vbos; i++)
if (actx->vbo[i] == vbo)
diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c
index e49cd041a6a..199550b35d3 100644
--- a/src/mesa/main/api_exec.c
+++ b/src/mesa/main/api_exec.c
@@ -107,6 +107,7 @@
#include "state.h"
#include "stencil.h"
#include "texenv.h"
+#include "texgetimage.h"
#include "teximage.h"
#if FEATURE_texgen
#include "texgen.h"
diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index b2f11ffbfe3..2df4f173893 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -24,6 +24,7 @@
#include "glheader.h"
#include "api_validate.h"
+#include "bufferobj.h"
#include "context.h"
#include "imports.h"
#include "mtypes.h"
@@ -62,7 +63,7 @@ max_buffer_index(GLcontext *ctx, GLuint count, GLenum type,
GLuint max = 0;
GLuint i;
- if (elementBuf->Name) {
+ if (_mesa_is_bufferobj(elementBuf)) {
/* elements are in a user-defined buffer object. need to map it */
map = ctx->Driver.MapBuffer(ctx, GL_ELEMENT_ARRAY_BUFFER,
GL_READ_ONLY, elementBuf);
@@ -96,14 +97,12 @@ max_buffer_index(GLcontext *ctx, GLuint count, GLenum type,
/**
- * Check if OK to render by examining framebuffer status and vertex arrays.
+ * Check if OK to draw arrays/elements.
*/
static GLboolean
-check_valid_to_render(GLcontext *ctx, char *function)
+check_valid_to_render(GLcontext *ctx, const char *function)
{
- if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
- "glDraw%s(incomplete framebuffer)", function);
+ if (!_mesa_valid_to_render(ctx, function)) {
return GL_FALSE;
}
@@ -160,11 +159,11 @@ _mesa_validate_DrawElements(GLcontext *ctx,
if (ctx->NewState)
_mesa_update_state(ctx);
- if (!check_valid_to_render(ctx, "Elements"))
+ if (!check_valid_to_render(ctx, "glDrawElements"))
return GL_FALSE;
/* Vertex buffer object tests */
- if (ctx->Array.ElementArrayBufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) {
/* use indices in the buffer object */
/* make sure count doesn't go outside buffer bounds */
if (index_bytes(type, count) > ctx->Array.ElementArrayBufferObj->Size) {
@@ -233,11 +232,11 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
if (ctx->NewState)
_mesa_update_state(ctx);
- if (!check_valid_to_render(ctx, "RangeElements"))
+ if (!check_valid_to_render(ctx, "glDrawRangeElements"))
return GL_FALSE;
/* Vertex buffer object tests */
- if (ctx->Array.ElementArrayBufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Array.ElementArrayBufferObj)) {
/* use indices in the buffer object */
/* make sure count doesn't go outside buffer bounds */
if (index_bytes(type, count) > ctx->Array.ElementArrayBufferObj->Size) {
@@ -289,7 +288,7 @@ _mesa_validate_DrawArrays(GLcontext *ctx,
if (ctx->NewState)
_mesa_update_state(ctx);
- if (!check_valid_to_render(ctx, "Arrays"))
+ if (!check_valid_to_render(ctx, "glDrawArrays"))
return GL_FALSE;
if (ctx->Const.CheckArrayBounds) {
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index cb49c4cb076..ab99ca1c642 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -174,24 +174,30 @@ struct texture_state
/**
- * Allocate a new attribute state node. These nodes have a
- * "kind" value and a pointer to a struct of state data.
+ * Allocate new attribute node of given type/kind. Attach payload data.
+ * Insert it into the linked list named by 'head'.
*/
-static struct gl_attrib_node *
-new_attrib_node( GLbitfield kind )
+static void
+save_attrib_data(struct gl_attrib_node **head,
+ GLbitfield kind, void *payload)
{
- struct gl_attrib_node *an = MALLOC_STRUCT(gl_attrib_node);
- if (an) {
- an->kind = kind;
+ struct gl_attrib_node *n = MALLOC_STRUCT(gl_attrib_node);
+ if (n) {
+ n->kind = kind;
+ n->data = payload;
+ /* insert at head */
+ n->next = *head;
+ *head = n;
+ }
+ else {
+ /* out of memory! */
}
- return an;
}
void GLAPIENTRY
_mesa_PushAttrib(GLbitfield mask)
{
- struct gl_attrib_node *newnode;
struct gl_attrib_node *head;
GET_CURRENT_CONTEXT(ctx);
@@ -213,10 +219,7 @@ _mesa_PushAttrib(GLbitfield mask)
struct gl_accum_attrib *attr;
attr = MALLOC_STRUCT( gl_accum_attrib );
MEMCPY( attr, &ctx->Accum, sizeof(struct gl_accum_attrib) );
- newnode = new_attrib_node( GL_ACCUM_BUFFER_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_ACCUM_BUFFER_BIT, attr);
}
if (mask & GL_COLOR_BUFFER_BIT) {
@@ -227,10 +230,7 @@ _mesa_PushAttrib(GLbitfield mask)
/* push the Draw FBO's DrawBuffer[] state, not ctx->Color.DrawBuffer[] */
for (i = 0; i < ctx->Const.MaxDrawBuffers; i ++)
attr->DrawBuffer[i] = ctx->DrawBuffer->ColorDrawBuffer[i];
- newnode = new_attrib_node( GL_COLOR_BUFFER_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_COLOR_BUFFER_BIT, attr);
}
if (mask & GL_CURRENT_BIT) {
@@ -238,20 +238,14 @@ _mesa_PushAttrib(GLbitfield mask)
FLUSH_CURRENT( ctx, 0 );
attr = MALLOC_STRUCT( gl_current_attrib );
MEMCPY( attr, &ctx->Current, sizeof(struct gl_current_attrib) );
- newnode = new_attrib_node( GL_CURRENT_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_CURRENT_BIT, attr);
}
if (mask & GL_DEPTH_BUFFER_BIT) {
struct gl_depthbuffer_attrib *attr;
attr = MALLOC_STRUCT( gl_depthbuffer_attrib );
MEMCPY( attr, &ctx->Depth, sizeof(struct gl_depthbuffer_attrib) );
- newnode = new_attrib_node( GL_DEPTH_BUFFER_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_DEPTH_BUFFER_BIT, attr);
}
if (mask & GL_ENABLE_BIT) {
@@ -331,40 +325,28 @@ _mesa_PushAttrib(GLbitfield mask)
attr->VertexProgram = ctx->VertexProgram.Enabled;
attr->VertexProgramPointSize = ctx->VertexProgram.PointSizeEnabled;
attr->VertexProgramTwoSide = ctx->VertexProgram.TwoSideEnabled;
- newnode = new_attrib_node( GL_ENABLE_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_ENABLE_BIT, attr);
}
if (mask & GL_EVAL_BIT) {
struct gl_eval_attrib *attr;
attr = MALLOC_STRUCT( gl_eval_attrib );
MEMCPY( attr, &ctx->Eval, sizeof(struct gl_eval_attrib) );
- newnode = new_attrib_node( GL_EVAL_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_EVAL_BIT, attr);
}
if (mask & GL_FOG_BIT) {
struct gl_fog_attrib *attr;
attr = MALLOC_STRUCT( gl_fog_attrib );
MEMCPY( attr, &ctx->Fog, sizeof(struct gl_fog_attrib) );
- newnode = new_attrib_node( GL_FOG_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_FOG_BIT, attr);
}
if (mask & GL_HINT_BIT) {
struct gl_hint_attrib *attr;
attr = MALLOC_STRUCT( gl_hint_attrib );
MEMCPY( attr, &ctx->Hint, sizeof(struct gl_hint_attrib) );
- newnode = new_attrib_node( GL_HINT_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_HINT_BIT, attr);
}
if (mask & GL_LIGHTING_BIT) {
@@ -372,30 +354,21 @@ _mesa_PushAttrib(GLbitfield mask)
FLUSH_CURRENT(ctx, 0); /* flush material changes */
attr = MALLOC_STRUCT( gl_light_attrib );
MEMCPY( attr, &ctx->Light, sizeof(struct gl_light_attrib) );
- newnode = new_attrib_node( GL_LIGHTING_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_LIGHTING_BIT, attr);
}
if (mask & GL_LINE_BIT) {
struct gl_line_attrib *attr;
attr = MALLOC_STRUCT( gl_line_attrib );
MEMCPY( attr, &ctx->Line, sizeof(struct gl_line_attrib) );
- newnode = new_attrib_node( GL_LINE_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_LINE_BIT, attr);
}
if (mask & GL_LIST_BIT) {
struct gl_list_attrib *attr;
attr = MALLOC_STRUCT( gl_list_attrib );
MEMCPY( attr, &ctx->List, sizeof(struct gl_list_attrib) );
- newnode = new_attrib_node( GL_LIST_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_LIST_BIT, attr);
}
if (mask & GL_PIXEL_MODE_BIT) {
@@ -404,60 +377,42 @@ _mesa_PushAttrib(GLbitfield mask)
MEMCPY( attr, &ctx->Pixel, sizeof(struct gl_pixel_attrib) );
/* push the Read FBO's ReadBuffer state, not ctx->Pixel.ReadBuffer */
attr->ReadBuffer = ctx->ReadBuffer->ColorReadBuffer;
- newnode = new_attrib_node( GL_PIXEL_MODE_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_PIXEL_MODE_BIT, attr);
}
if (mask & GL_POINT_BIT) {
struct gl_point_attrib *attr;
attr = MALLOC_STRUCT( gl_point_attrib );
MEMCPY( attr, &ctx->Point, sizeof(struct gl_point_attrib) );
- newnode = new_attrib_node( GL_POINT_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_POINT_BIT, attr);
}
if (mask & GL_POLYGON_BIT) {
struct gl_polygon_attrib *attr;
attr = MALLOC_STRUCT( gl_polygon_attrib );
MEMCPY( attr, &ctx->Polygon, sizeof(struct gl_polygon_attrib) );
- newnode = new_attrib_node( GL_POLYGON_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_POLYGON_BIT, attr);
}
if (mask & GL_POLYGON_STIPPLE_BIT) {
GLuint *stipple;
stipple = (GLuint *) MALLOC( 32*sizeof(GLuint) );
MEMCPY( stipple, ctx->PolygonStipple, 32*sizeof(GLuint) );
- newnode = new_attrib_node( GL_POLYGON_STIPPLE_BIT );
- newnode->data = stipple;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_POLYGON_STIPPLE_BIT, stipple);
}
if (mask & GL_SCISSOR_BIT) {
struct gl_scissor_attrib *attr;
attr = MALLOC_STRUCT( gl_scissor_attrib );
MEMCPY( attr, &ctx->Scissor, sizeof(struct gl_scissor_attrib) );
- newnode = new_attrib_node( GL_SCISSOR_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_SCISSOR_BIT, attr);
}
if (mask & GL_STENCIL_BUFFER_BIT) {
struct gl_stencil_attrib *attr;
attr = MALLOC_STRUCT( gl_stencil_attrib );
MEMCPY( attr, &ctx->Stencil, sizeof(struct gl_stencil_attrib) );
- newnode = new_attrib_node( GL_STENCIL_BUFFER_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_STENCIL_BUFFER_BIT, attr);
}
if (mask & GL_TEXTURE_BIT) {
@@ -494,30 +449,21 @@ _mesa_PushAttrib(GLbitfield mask)
_mesa_unlock_context_textures(ctx);
- newnode = new_attrib_node( GL_TEXTURE_BIT );
- newnode->data = texstate;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_TEXTURE_BIT, texstate);
}
if (mask & GL_TRANSFORM_BIT) {
struct gl_transform_attrib *attr;
attr = MALLOC_STRUCT( gl_transform_attrib );
MEMCPY( attr, &ctx->Transform, sizeof(struct gl_transform_attrib) );
- newnode = new_attrib_node( GL_TRANSFORM_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_TRANSFORM_BIT, attr);
}
if (mask & GL_VIEWPORT_BIT) {
struct gl_viewport_attrib *attr;
attr = MALLOC_STRUCT( gl_viewport_attrib );
MEMCPY( attr, &ctx->Viewport, sizeof(struct gl_viewport_attrib) );
- newnode = new_attrib_node( GL_VIEWPORT_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_VIEWPORT_BIT, attr);
}
/* GL_ARB_multisample */
@@ -525,10 +471,7 @@ _mesa_PushAttrib(GLbitfield mask)
struct gl_multisample_attrib *attr;
attr = MALLOC_STRUCT( gl_multisample_attrib );
MEMCPY( attr, &ctx->Multisample, sizeof(struct gl_multisample_attrib) );
- newnode = new_attrib_node( GL_MULTISAMPLE_BIT_ARB );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_MULTISAMPLE_BIT_ARB, attr);
}
end:
@@ -1373,7 +1316,6 @@ copy_pixelstore(GLcontext *ctx,
void GLAPIENTRY
_mesa_PushClientAttrib(GLbitfield mask)
{
- struct gl_attrib_node *newnode;
struct gl_attrib_node *head;
GET_CURRENT_CONTEXT(ctx);
@@ -1394,17 +1336,11 @@ _mesa_PushClientAttrib(GLbitfield mask)
/* packing attribs */
attr = CALLOC_STRUCT( gl_pixelstore_attrib );
copy_pixelstore(ctx, attr, &ctx->Pack);
- newnode = new_attrib_node( GL_CLIENT_PACK_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_CLIENT_PACK_BIT, attr);
/* unpacking attribs */
attr = CALLOC_STRUCT( gl_pixelstore_attrib );
copy_pixelstore(ctx, attr, &ctx->Unpack);
- newnode = new_attrib_node( GL_CLIENT_UNPACK_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_CLIENT_UNPACK_BIT, attr);
}
if (mask & GL_CLIENT_VERTEX_ARRAY_BIT) {
@@ -1425,10 +1361,8 @@ _mesa_PushClientAttrib(GLbitfield mask)
attr->ArrayObj = obj;
- newnode = new_attrib_node( GL_CLIENT_VERTEX_ARRAY_BIT );
- newnode->data = attr;
- newnode->next = head;
- head = newnode;
+ save_attrib_data(&head, GL_CLIENT_VERTEX_ARRAY_BIT, attr);
+
/* bump reference counts on buffer objects */
adjust_buffer_object_ref_counts(ctx->Array.ArrayObj, 1);
}
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index d640f5358e5..f96185a4b5d 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -156,7 +156,7 @@ buffer_object_subdata_range_good( GLcontext * ctx, GLenum target,
_mesa_error(ctx, GL_INVALID_ENUM, "%s(target)", caller);
return NULL;
}
- if (bufObj->Name == 0) {
+ if (!_mesa_is_bufferobj(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", caller);
return NULL;
}
@@ -165,7 +165,7 @@ buffer_object_subdata_range_good( GLcontext * ctx, GLenum target,
"%s(size + offset > buffer size)", caller);
return NULL;
}
- if (bufObj->Pointer) {
+ if (_mesa_bufferobj_mapped(bufObj)) {
/* Buffer is currently mapped */
_mesa_error(ctx, GL_INVALID_OPERATION, "%s", caller);
return NULL;
@@ -423,7 +423,7 @@ _mesa_buffer_map( GLcontext *ctx, GLenum target, GLenum access,
(void) target;
(void) access;
/* Just return a direct pointer to the data */
- if (bufObj->Pointer) {
+ if (_mesa_bufferobj_mapped(bufObj)) {
/* already mapped! */
return NULL;
}
@@ -445,7 +445,7 @@ _mesa_buffer_map_range( GLcontext *ctx, GLenum target, GLintptr offset,
(void) target;
(void) access;
(void) length;
- assert(!bufObj->Pointer);
+ assert(!_mesa_bufferobj_mapped(bufObj));
/* Just return a direct pointer to the data */
return bufObj->Data + offset;
}
@@ -502,8 +502,8 @@ _mesa_copy_buffer_subdata(GLcontext *ctx,
GLubyte *srcPtr, *dstPtr;
/* buffer should not already be mapped */
- assert(!src->Pointer);
- assert(!dst->Pointer);
+ assert(!_mesa_bufferobj_mapped(src));
+ assert(!_mesa_bufferobj_mapped(dst));
srcPtr = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_COPY_READ_BUFFER,
GL_READ_ONLY, src);
@@ -663,7 +663,7 @@ _mesa_validate_pbo_access(GLuint dimensions,
GLvoid *start, *end;
const GLubyte *sizeAddr; /* buffer size, cast to a pointer */
- ASSERT(pack->BufferObj->Name != 0);
+ ASSERT(_mesa_is_bufferobj(pack->BufferObj));
if (pack->BufferObj->Size == 0)
/* no buffer! */
@@ -709,7 +709,7 @@ _mesa_map_bitmap_pbo(GLcontext *ctx,
{
const GLubyte *buf;
- if (unpack->BufferObj->Name) {
+ if (_mesa_is_bufferobj(unpack->BufferObj)) {
/* unpack from PBO */
buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
GL_READ_ONLY_ARB,
@@ -736,7 +736,7 @@ void
_mesa_unmap_bitmap_pbo(GLcontext *ctx,
const struct gl_pixelstore_attrib *unpack)
{
- if (unpack->BufferObj->Name) {
+ if (_mesa_is_bufferobj(unpack->BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
unpack->BufferObj);
}
@@ -753,7 +753,7 @@ _mesa_map_drawpix_pbo(GLcontext *ctx,
{
const GLvoid *buf;
- if (unpack->BufferObj->Name) {
+ if (_mesa_is_bufferobj(unpack->BufferObj)) {
/* unpack from PBO */
buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
GL_READ_ONLY_ARB,
@@ -779,7 +779,7 @@ void
_mesa_unmap_drawpix_pbo(GLcontext *ctx,
const struct gl_pixelstore_attrib *unpack)
{
- if (unpack->BufferObj->Name) {
+ if (_mesa_is_bufferobj(unpack->BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
unpack->BufferObj);
}
@@ -798,7 +798,7 @@ _mesa_map_readpix_pbo(GLcontext *ctx,
{
void *buf;
- if (pack->BufferObj->Name) {
+ if (_mesa_is_bufferobj(pack->BufferObj)) {
/* pack into PBO */
buf = (GLubyte *) ctx->Driver.MapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
GL_WRITE_ONLY_ARB,
@@ -824,7 +824,7 @@ void
_mesa_unmap_readpix_pbo(GLcontext *ctx,
const struct gl_pixelstore_attrib *pack)
{
- if (pack->BufferObj->Name) {
+ if (_mesa_is_bufferobj(pack->BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT, pack->BufferObj);
}
}
@@ -932,7 +932,7 @@ _mesa_DeleteBuffersARB(GLsizei n, const GLuint *ids)
ASSERT(bufObj->Name == ids[i]);
- if (bufObj->Pointer) {
+ if (_mesa_bufferobj_mapped(bufObj)) {
/* if mapped, unmap it now */
ctx->Driver.UnmapBuffer(ctx, 0, bufObj);
bufObj->AccessFlags = DEFAULT_ACCESS;
@@ -1086,12 +1086,12 @@ _mesa_BufferDataARB(GLenum target, GLsizeiptrARB size,
_mesa_error(ctx, GL_INVALID_ENUM, "glBufferDataARB(target)" );
return;
}
- if (bufObj->Name == 0) {
+ if (!_mesa_is_bufferobj(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glBufferDataARB(buffer 0)" );
return;
}
- if (bufObj->Pointer) {
+ if (_mesa_bufferobj_mapped(bufObj)) {
/* Unmap the existing buffer. We'll replace it now. Not an error. */
ctx->Driver.UnmapBuffer(ctx, target, bufObj);
bufObj->AccessFlags = DEFAULT_ACCESS;
@@ -1187,18 +1187,18 @@ _mesa_MapBufferARB(GLenum target, GLenum access)
_mesa_error(ctx, GL_INVALID_ENUM, "glMapBufferARB(target)" );
return NULL;
}
- if (bufObj->Name == 0) {
+ if (!_mesa_is_bufferobj(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glMapBufferARB(buffer 0)" );
return NULL;
}
- if (bufObj->Pointer) {
+ if (_mesa_bufferobj_mapped(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glMapBufferARB(already mapped)");
return NULL;
}
ASSERT(ctx->Driver.MapBuffer);
bufObj->Pointer = ctx->Driver.MapBuffer( ctx, target, access, bufObj );
- if (!bufObj->Pointer) {
+ if (!_mesa_bufferobj_mapped(bufObj)) {
_mesa_error(ctx, GL_OUT_OF_MEMORY, "glMapBufferARB(access)");
}
@@ -1248,11 +1248,11 @@ _mesa_UnmapBufferARB(GLenum target)
_mesa_error(ctx, GL_INVALID_ENUM, "glUnmapBufferARB(target)" );
return GL_FALSE;
}
- if (bufObj->Name == 0) {
+ if (!_mesa_is_bufferobj(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glUnmapBufferARB" );
return GL_FALSE;
}
- if (!bufObj->Pointer) {
+ if (!_mesa_bufferobj_mapped(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glUnmapBufferARB");
return GL_FALSE;
}
@@ -1315,7 +1315,7 @@ _mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint *params)
_mesa_error(ctx, GL_INVALID_ENUM, "GetBufferParameterivARB(target)" );
return;
}
- if (bufObj->Name == 0) {
+ if (!_mesa_is_bufferobj(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "GetBufferParameterivARB" );
return;
}
@@ -1331,7 +1331,7 @@ _mesa_GetBufferParameterivARB(GLenum target, GLenum pname, GLint *params)
*params = simplified_access_mode(bufObj->AccessFlags);
break;
case GL_BUFFER_MAPPED_ARB:
- *params = (bufObj->Pointer != NULL);
+ *params = _mesa_bufferobj_mapped(bufObj);
break;
default:
_mesa_error(ctx, GL_INVALID_ENUM, "glGetBufferParameterivARB(pname)");
@@ -1357,7 +1357,7 @@ _mesa_GetBufferPointervARB(GLenum target, GLenum pname, GLvoid **params)
_mesa_error(ctx, GL_INVALID_ENUM, "glGetBufferPointervARB(target)" );
return;
}
- if (bufObj->Name == 0) {
+ if (!_mesa_is_bufferobj(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glGetBufferPointervARB" );
return;
}
@@ -1376,26 +1376,26 @@ _mesa_CopyBufferSubData(GLenum readTarget, GLenum writeTarget,
ASSERT_OUTSIDE_BEGIN_END(ctx);
src = get_buffer(ctx, readTarget);
- if (!src || src->Name == 0) {
+ if (!src || !_mesa_is_bufferobj(src)) {
_mesa_error(ctx, GL_INVALID_ENUM,
"glCopyBuffserSubData(readTarget = 0x%x)", readTarget);
return;
}
dst = get_buffer(ctx, writeTarget);
- if (!dst || dst->Name == 0) {
+ if (!dst || !_mesa_is_bufferobj(dst)) {
_mesa_error(ctx, GL_INVALID_ENUM,
"glCopyBuffserSubData(writeTarget = 0x%x)", writeTarget);
return;
}
- if (src->Pointer) {
+ if (_mesa_bufferobj_mapped(src)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glCopyBuffserSubData(readBuffer is mapped)");
return;
}
- if (dst->Pointer) {
+ if (_mesa_bufferobj_mapped(dst)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glCopyBuffserSubData(writeBuffer is mapped)");
return;
@@ -1499,7 +1499,7 @@ _mesa_MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length,
}
bufObj = get_buffer(ctx, target);
- if (!bufObj || bufObj->Name == 0) {
+ if (!bufObj || !_mesa_is_bufferobj(bufObj)) {
_mesa_error(ctx, GL_INVALID_ENUM,
"glMapBufferRange(target = 0x%x)", target);
return NULL;
@@ -1511,7 +1511,7 @@ _mesa_MapBufferRange(GLenum target, GLintptr offset, GLsizeiptr length,
return NULL;
}
- if (bufObj->Pointer) {
+ if (_mesa_bufferobj_mapped(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glMapBufferRange(buffer already mapped)");
return NULL;
@@ -1564,13 +1564,13 @@ _mesa_FlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
return;
}
- if (bufObj->Name == 0) {
+ if (!_mesa_is_bufferobj(bufObj)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glMapBufferRange(current buffer is 0)");
return;
}
- if (!bufObj->Pointer) {
+ if (!_mesa_bufferobj_mapped(bufObj)) {
/* buffer is not mapped */
_mesa_error(ctx, GL_INVALID_OPERATION,
"glMapBufferRange(buffer is not mapped)");
diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h
index ef59ff83c84..decb44a65e6 100644
--- a/src/mesa/main/bufferobj.h
+++ b/src/mesa/main/bufferobj.h
@@ -36,6 +36,26 @@
* Internal functions
*/
+
+/** Is the given buffer object currently mapped? */
+static INLINE GLboolean
+_mesa_bufferobj_mapped(const struct gl_buffer_object *obj)
+{
+ return obj->Pointer != NULL;
+}
+
+/**
+ * Is the given buffer object a user-created buffer object?
+ * Mesa uses default buffer objects in several places. Default buffers
+ * always have Name==0. User created buffers have Name!=0.
+ */
+static INLINE GLboolean
+_mesa_is_bufferobj(const struct gl_buffer_object *obj)
+{
+ return obj->Name != 0;
+}
+
+
extern void
_mesa_init_buffer_objects( GLcontext *ctx );
diff --git a/src/mesa/main/colortab.c b/src/mesa/main/colortab.c
index bd9cf438b4f..36304065eb7 100644
--- a/src/mesa/main/colortab.c
+++ b/src/mesa/main/colortab.c
@@ -179,7 +179,7 @@ store_colortable_entries(GLcontext *ctx, struct gl_color_table *table,
GLfloat bScale, GLfloat bBias,
GLfloat aScale, GLfloat aBias)
{
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
/* Get/unpack the color table data from a PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(1, &ctx->Unpack, count, 1, 1,
@@ -279,7 +279,7 @@ store_colortable_entries(GLcontext *ctx, struct gl_color_table *table,
}
}
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
ctx->Unpack.BufferObj);
}
@@ -696,7 +696,7 @@ _mesa_GetColorTable( GLenum target, GLenum format,
return;
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* pack color table into PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(1, &ctx->Pack, table->Size, 1, 1,
@@ -720,7 +720,7 @@ _mesa_GetColorTable( GLenum target, GLenum format,
_mesa_pack_rgba_span_float(ctx, table->Size, rgba,
format, type, data, &ctx->Pack, 0x0);
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
ctx->Pack.BufferObj);
}
diff --git a/src/mesa/main/compiler.h b/src/mesa/main/compiler.h
index e79bbc2ac5f..9319505a75d 100644
--- a/src/mesa/main/compiler.h
+++ b/src/mesa/main/compiler.h
@@ -110,10 +110,8 @@ extern "C" {
#if defined(_WIN32) && !defined(__WIN32__) && !defined(__CYGWIN__) && !defined(BUILD_FOR_SNAP)
# define __WIN32__
# define finite _finite
-#endif
-#if defined(__WATCOMC__)
+#elif defined(__WATCOMC__)
# define finite _finite
-# pragma disable_message(201) /* Disable unreachable code warnings */
#endif
@@ -135,6 +133,10 @@ extern "C" {
# endif
# endif
#endif
+#if defined(__WATCOMC__)
+# pragma disable_message(201) /* Disable unreachable code warnings */
+#endif
+
/**
diff --git a/src/mesa/main/config.h b/src/mesa/main/config.h
index f77a29a43ec..e4995c35c44 100644
--- a/src/mesa/main/config.h
+++ b/src/mesa/main/config.h
@@ -138,9 +138,14 @@
/**
* Maximum viewport/image width. Must accomodate all texture sizes too.
*/
-#define MAX_WIDTH 4096
+
+#ifndef MAX_WIDTH
+# define MAX_WIDTH 4096
+#endif
/** Maximum viewport/image height */
-#define MAX_HEIGHT 4096
+#ifndef MAX_HEIGHT
+# define MAX_HEIGHT 4096
+#endif
/** Maxmimum size for CVA. May be overridden by the drivers. */
#define MAX_ARRAY_LOCK_SIZE 3000
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 415e339cb80..38ec4188098 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -150,6 +150,7 @@
#include "glapi/glapioffsets.h"
#include "glapi/glapitable.h"
#include "shader/program.h"
+#include "shader/prog_print.h"
#include "shader/shader_api.h"
#if FEATURE_ATI_fragment_shader
#include "shader/atifragshader.h"
@@ -1576,4 +1577,72 @@ _mesa_set_mvp_with_dp4( GLcontext *ctx,
}
+
+/**
+ * Prior to drawing anything with glBegin, glDrawArrays, etc. this function
+ * is called to see if it's valid to render. This involves checking that
+ * the current shader is valid and the framebuffer is complete.
+ * If an error is detected it'll be recorded here.
+ * \return GL_TRUE if OK to render, GL_FALSE if not
+ */
+GLboolean
+_mesa_valid_to_render(GLcontext *ctx, const char *where)
+{
+ if (ctx->Shader.CurrentProgram) {
+ /* using shaders */
+ if (!ctx->Shader.CurrentProgram->LinkStatus) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "%s(shader not linked), where");
+ return GL_FALSE;
+ }
+ }
+ else {
+ if (ctx->VertexProgram.Enabled && !ctx->VertexProgram._Enabled) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "%s(vertex program not valid)", where);
+ return GL_FALSE;
+ }
+ if (ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "%s(fragment program not valid)", where);
+ return GL_FALSE;
+ }
+ }
+
+ if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
+ _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
+ "%s(incomplete framebuffer)", where);
+ return GL_FALSE;
+ }
+
+#ifdef DEBUG
+ if (ctx->Shader.Flags & GLSL_LOG) {
+ struct gl_shader_program *shProg = ctx->Shader.CurrentProgram;
+ if (shProg) {
+ if (!shProg->_Used) {
+ /* This is the first time this shader is being used.
+ * Append shader's constants/uniforms to log file.
+ */
+ GLuint i;
+ for (i = 0; i < shProg->NumShaders; i++) {
+ struct gl_shader *sh = shProg->Shaders[i];
+ if (sh->Type == GL_VERTEX_SHADER) {
+ _mesa_append_uniforms_to_file(sh,
+ &shProg->VertexProgram->Base);
+ }
+ else if (sh->Type == GL_FRAGMENT_SHADER) {
+ _mesa_append_uniforms_to_file(sh,
+ &shProg->FragmentProgram->Base);
+ }
+ }
+ shProg->_Used = GL_TRUE;
+ }
+ }
+ }
+#endif
+
+ return GL_TRUE;
+}
+
+
/*@}*/
diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h
index 0531ae8ee86..5587695fa0b 100644
--- a/src/mesa/main/context.h
+++ b/src/mesa/main/context.h
@@ -159,6 +159,11 @@ _mesa_set_mvp_with_dp4( GLcontext *ctx,
GLboolean flag );
+extern GLboolean
+_mesa_valid_to_render(GLcontext *ctx, const char *where);
+
+
+
/** \name Miscellaneous */
/*@{*/
@@ -174,7 +179,6 @@ _mesa_Flush( void );
/*@}*/
-
/**
* \name Macros for flushing buffered rendering commands before state changes,
* checking if inside glBegin/glEnd, etc.
diff --git a/src/mesa/main/convolve.c b/src/mesa/main/convolve.c
index 814c6a0a5a6..69dba72ed38 100644
--- a/src/mesa/main/convolve.c
+++ b/src/mesa/main/convolve.c
@@ -144,7 +144,7 @@ _mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, G
ctx->Convolution1D.Width = width;
ctx->Convolution1D.Height = 1;
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
/* unpack filter from PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(1, &ctx->Unpack, width, 1, 1,
@@ -173,7 +173,7 @@ _mesa_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width, G
format, type, image, &ctx->Unpack,
0); /* transferOps */
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
ctx->Unpack.BufferObj);
}
@@ -242,7 +242,7 @@ _mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, G
ctx->Convolution2D.Width = width;
ctx->Convolution2D.Height = height;
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
/* unpack filter from PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(2, &ctx->Unpack, width, height, 1,
@@ -276,7 +276,7 @@ _mesa_ConvolutionFilter2D(GLenum target, GLenum internalFormat, GLsizei width, G
0); /* transferOps */
}
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
ctx->Unpack.BufferObj);
}
@@ -598,7 +598,7 @@ _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
return;
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* Pack the filter into a PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(2, &ctx->Pack,
@@ -629,7 +629,7 @@ _mesa_GetConvolutionFilter(GLenum target, GLenum format, GLenum type,
format, type, dst, &ctx->Pack, 0x0);
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
ctx->Pack.BufferObj);
}
@@ -802,7 +802,7 @@ _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
filter = &ctx->Separable2D;
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* Pack filter into PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(1, &ctx->Pack, filter->Width, 1, 1,
@@ -850,7 +850,7 @@ _mesa_GetSeparableFilter(GLenum target, GLenum format, GLenum type,
(void) span; /* unused at this time */
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* Pack filter into PBO */
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
ctx->Unpack.BufferObj);
@@ -905,7 +905,7 @@ _mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLs
ctx->Separable2D.Width = width;
ctx->Separable2D.Height = height;
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
/* unpack filter from PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(1, &ctx->Unpack, width, 1, 1,
@@ -971,7 +971,7 @@ _mesa_SeparableFilter2D(GLenum target, GLenum internalFormat, GLsizei width, GLs
ctx->Pixel.ConvolutionFilterBias[2][3]);
}
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
ctx->Unpack.BufferObj);
}
diff --git a/src/mesa/main/debug.c b/src/mesa/main/debug.c
index 1c8c44fcb96..8492c8561d4 100644
--- a/src/mesa/main/debug.c
+++ b/src/mesa/main/debug.c
@@ -33,6 +33,7 @@
#include "get.h"
#include "pixelstore.h"
#include "readpix.h"
+#include "texgetimage.h"
#include "texobj.h"
#include "texformat.h"
@@ -234,11 +235,11 @@ _mesa_init_debug( GLcontext *ctx )
*/
static void
write_ppm(const char *filename, const GLubyte *buffer, int width, int height,
- int comps, int rcomp, int gcomp, int bcomp)
+ int comps, int rcomp, int gcomp, int bcomp, GLboolean invert)
{
FILE *f = fopen( filename, "w" );
if (f) {
- int i, x, y;
+ int x, y;
const GLubyte *ptr = buffer;
fprintf(f,"P6\n");
fprintf(f,"# ppm-file created by osdemo.c\n");
@@ -246,10 +247,11 @@ write_ppm(const char *filename, const GLubyte *buffer, int width, int height,
fprintf(f,"255\n");
fclose(f);
f = fopen( filename, "ab" ); /* reopen in binary append mode */
- for (y=height-1; y>=0; y--) {
- for (x=0; x<width; x++) {
- i = (y*width + x) * comps;
- fputc(ptr[i+rcomp], f); /* write red */
+ for (y=0; y < height; y++) {
+ for (x = 0; x < width; x++) {
+ int yy = invert ? (height - 1 - y) : y;
+ int i = (yy * width + x) * comps;
+ fputc(ptr[i+rcomp], f); /* write red */
fputc(ptr[i+gcomp], f); /* write green */
fputc(ptr[i+bcomp], f); /* write blue */
}
@@ -263,47 +265,34 @@ write_ppm(const char *filename, const GLubyte *buffer, int width, int height,
* Write level[0] image to a ppm file.
*/
static void
-write_texture_image(struct gl_texture_object *texObj)
+write_texture_image(struct gl_texture_object *texObj, GLuint face, GLuint level)
{
- const struct gl_texture_image *img = texObj->Image[0][0];
- if (img && img->Data) {
+ struct gl_texture_image *img = texObj->Image[face][level];
+ if (img) {
+ GET_CURRENT_CONTEXT(ctx);
+ struct gl_pixelstore_attrib store;
+ GLubyte *buffer;
char s[100];
+ buffer = (GLubyte *) _mesa_malloc(img->Width * img->Height
+ * img->Depth * 4);
+
+ store = ctx->Pack; /* save */
+ ctx->Pack = ctx->DefaultPacking;
+
+ ctx->Driver.GetTexImage(ctx, texObj->Target, level,
+ GL_RGBA, GL_UNSIGNED_BYTE,
+ buffer, texObj, img);
+
/* make filename */
- sprintf(s, "/tmp/teximage%u.ppm", texObj->Name);
-
- switch (img->TexFormat->MesaFormat) {
- case MESA_FORMAT_RGBA8888:
- write_ppm(s, img->Data, img->Width, img->Height, 4, 3, 2, 1);
- break;
- case MESA_FORMAT_ARGB8888:
- write_ppm(s, img->Data, img->Width, img->Height, 4, 2, 1, 0);
- break;
- case MESA_FORMAT_RGB888:
- write_ppm(s, img->Data, img->Width, img->Height, 3, 2, 1, 0);
- break;
- case MESA_FORMAT_RGB565:
- {
- GLubyte *buf2 = (GLubyte *) _mesa_malloc(img->Width * img->Height * 3);
- GLuint i;
- for (i = 0; i < img->Width * img->Height; i++) {
- GLint r, g, b;
- GLushort s = ((GLushort *) img->Data)[i];
- r = UBYTE_TO_CHAN( ((s >> 8) & 0xf8) | ((s >> 13) & 0x7) );
- g = UBYTE_TO_CHAN( ((s >> 3) & 0xfc) | ((s >> 9) & 0x3) );
- b = UBYTE_TO_CHAN( ((s << 3) & 0xf8) | ((s >> 2) & 0x7) );
- buf2[i*3+1] = r;
- buf2[i*3+2] = g;
- buf2[i*3+3] = b;
- }
- write_ppm(s, buf2, img->Width, img->Height, 3, 2, 1, 0);
- _mesa_free(buf2);
- }
- break;
- default:
- printf("XXXX unsupported mesa tex format %d in %s\n",
- img->TexFormat->MesaFormat, __FUNCTION__);
- }
+ _mesa_sprintf(s, "/tmp/teximage%u.ppm", texObj->Name);
+
+ _mesa_printf(" Writing image level %u to %s\n", level, s);
+ write_ppm(s, buffer, img->Width, img->Height, 4, 0, 1, 2, GL_FALSE);
+
+ ctx->Pack = store; /* restore */
+
+ _mesa_free(buffer);
}
}
@@ -316,17 +305,21 @@ dump_texture_cb(GLuint id, void *data, void *userData)
{
struct gl_texture_object *texObj = (struct gl_texture_object *) data;
int i;
+ GLboolean written = GL_FALSE;
(void) userData;
- printf("Texture %u\n", texObj->Name);
- printf(" Target 0x%x\n", texObj->Target);
+ _mesa_printf("Texture %u\n", texObj->Name);
+ _mesa_printf(" Target 0x%x\n", texObj->Target);
for (i = 0; i < MAX_TEXTURE_LEVELS; i++) {
struct gl_texture_image *texImg = texObj->Image[0][i];
if (texImg) {
- printf(" Image %u: %d x %d x %d at %p\n", i,
- texImg->Width, texImg->Height, texImg->Depth, texImg->Data);
- if (DumpImages && i == 0) {
- write_texture_image(texObj);
+ _mesa_printf(" Image %u: %d x %d x %d, format %u at %p\n", i,
+ texImg->Width, texImg->Height, texImg->Depth,
+ texImg->TexFormat->MesaFormat, texImg->Data);
+ if (DumpImages && !written) {
+ GLuint face = 0;
+ write_texture_image(texObj, face, i);
+ written = GL_TRUE;
}
}
}
@@ -368,7 +361,7 @@ _mesa_dump_color_buffer(const char *filename)
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);
+ write_ppm(filename, buf, w, h, 4, 0, 1, 2, GL_TRUE);
_mesa_PopClientAttrib();
@@ -403,7 +396,7 @@ _mesa_dump_depth_buffer(const char *filename)
}
_mesa_printf("Writing %d x %d depth buffer to %s\n", w, h, filename);
- write_ppm(filename, buf2, w, h, 3, 0, 1, 2);
+ write_ppm(filename, buf2, w, h, 3, 0, 1, 2, GL_TRUE);
_mesa_PopClientAttrib();
@@ -438,7 +431,7 @@ _mesa_dump_stencil_buffer(const char *filename)
}
_mesa_printf("Writing %d x %d stencil buffer to %s\n", w, h, filename);
- write_ppm(filename, buf2, w, h, 3, 0, 1, 2);
+ write_ppm(filename, buf2, w, h, 3, 0, 1, 2, GL_TRUE);
_mesa_PopClientAttrib();
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index 49f202daa1c..9b68b3e1162 100644
--- a/src/mesa/main/dlist.c
+++ b/src/mesa/main/dlist.c
@@ -683,24 +683,48 @@ translate_id(GLsizei n, GLenum type, const GLvoid * list)
/**
* Wrapper for _mesa_unpack_image() that handles pixel buffer objects.
- * \todo This won't suffice when the PBO is really in VRAM/GPU memory.
+ * If we run out of memory, GL_OUT_OF_MEMORY will be recorded.
*/
static GLvoid *
-unpack_image(GLuint dimensions, GLsizei width, GLsizei height, GLsizei depth,
+unpack_image(GLcontext *ctx, GLuint dimensions,
+ GLsizei width, GLsizei height, GLsizei depth,
GLenum format, GLenum type, const GLvoid * pixels,
const struct gl_pixelstore_attrib *unpack)
{
- if (unpack->BufferObj->Name == 0) {
+ if (!_mesa_is_bufferobj(unpack->BufferObj)) {
/* no PBO */
- return _mesa_unpack_image(dimensions, width, height, depth, format,
- type, pixels, unpack);
+ GLvoid *image = _mesa_unpack_image(dimensions, width, height, depth,
+ format, type, pixels, unpack);
+ if (pixels && !image) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "display list construction");
+ }
+ return image;
}
- else
- if (_mesa_validate_pbo_access
- (dimensions, unpack, width, height, depth, format, type, pixels)) {
- const GLubyte *src = ADD_POINTERS(unpack->BufferObj->Data, pixels);
- return _mesa_unpack_image(dimensions, width, height, depth, format,
- type, src, unpack);
+ else if (_mesa_validate_pbo_access(dimensions, unpack, width, height, depth,
+ format, type, pixels)) {
+ const GLubyte *map, *src;
+ GLvoid *image;
+
+ map = (GLubyte *)
+ ctx->Driver.MapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
+ GL_READ_ONLY_ARB, unpack->BufferObj);
+ if (!map) {
+ /* unable to map src buffer! */
+ _mesa_error(ctx, GL_INVALID_OPERATION, "unable to map PBO");
+ return NULL;
+ }
+
+ src = ADD_POINTERS(map, pixels);
+ image = _mesa_unpack_image(dimensions, width, height, depth,
+ format, type, src, unpack);
+
+ ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
+ unpack->BufferObj);
+
+ if (!image) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "display list construction");
+ }
+ return image;
}
/* bad access! */
return NULL;
@@ -858,7 +882,6 @@ save_Bitmap(GLsizei width, GLsizei height,
GLfloat xmove, GLfloat ymove, const GLubyte * pixels)
{
GET_CURRENT_CONTEXT(ctx);
- GLvoid *image = _mesa_unpack_bitmap(width, height, pixels, &ctx->Unpack);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION(ctx, OPCODE_BITMAP, 7);
@@ -869,10 +892,7 @@ save_Bitmap(GLsizei width, GLsizei height,
n[4].f = yorig;
n[5].f = xmove;
n[6].f = ymove;
- n[7].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[7].data = _mesa_unpack_bitmap(width, height, pixels, &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_Bitmap(ctx->Exec, (width, height,
@@ -999,7 +1019,7 @@ _mesa_save_CallList(GLuint list)
void GLAPIENTRY
-_mesa_save_CallLists(GLsizei n, GLenum type, const GLvoid * lists)
+_mesa_save_CallLists(GLsizei num, GLenum type, const GLvoid * lists)
{
GET_CURRENT_CONTEXT(ctx);
GLint i;
@@ -1024,7 +1044,7 @@ _mesa_save_CallLists(GLsizei n, GLenum type, const GLvoid * lists)
typeErrorFlag = GL_TRUE;
}
- for (i = 0; i < n; i++) {
+ for (i = 0; i < num; i++) {
GLint list = translate_id(i, type, lists);
Node *n = ALLOC_INSTRUCTION(ctx, OPCODE_CALL_LIST_OFFSET, 2);
if (n) {
@@ -1039,7 +1059,7 @@ _mesa_save_CallLists(GLsizei n, GLenum type, const GLvoid * lists)
invalidate_saved_current_state( ctx );
if (ctx->ExecuteFlag) {
- CALL_CallLists(ctx->Exec, (n, type, lists));
+ CALL_CallLists(ctx->Exec, (num, type, lists));
}
}
@@ -1217,8 +1237,6 @@ save_ColorTable(GLenum target, GLenum internalFormat,
format, type, table));
}
else {
- GLvoid *image = unpack_image(1, width, 1, 1, format, type, table,
- &ctx->Unpack);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION(ctx, OPCODE_COLOR_TABLE, 6);
@@ -1228,10 +1246,8 @@ save_ColorTable(GLenum target, GLenum internalFormat,
n[3].i = width;
n[4].e = format;
n[5].e = type;
- n[6].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[6].data = unpack_image(ctx, 1, width, 1, 1, format, type, table,
+ &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_ColorTable(ctx->Exec, (target, internalFormat, width,
@@ -1307,8 +1323,6 @@ save_ColorSubTable(GLenum target, GLsizei start, GLsizei count,
GLenum format, GLenum type, const GLvoid * table)
{
GET_CURRENT_CONTEXT(ctx);
- GLvoid *image = unpack_image(1, count, 1, 1, format, type, table,
- &ctx->Unpack);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION(ctx, OPCODE_COLOR_SUB_TABLE, 6);
@@ -1318,10 +1332,8 @@ save_ColorSubTable(GLenum target, GLsizei start, GLsizei count,
n[3].i = count;
n[4].e = format;
n[5].e = type;
- n[6].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[6].data = unpack_image(ctx, 1, count, 1, 1, format, type, table,
+ &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_ColorSubTable(ctx->Exec,
@@ -1379,10 +1391,10 @@ save_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width,
GLenum format, GLenum type, const GLvoid * filter)
{
GET_CURRENT_CONTEXT(ctx);
- GLvoid *image = unpack_image(1, width, 1, 1, format, type, filter,
- &ctx->Unpack);
Node *n;
+
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_CONVOLUTION_FILTER_1D, 6);
if (n) {
n[1].e = target;
@@ -1390,10 +1402,8 @@ save_ConvolutionFilter1D(GLenum target, GLenum internalFormat, GLsizei width,
n[3].i = width;
n[4].e = format;
n[5].e = type;
- n[6].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[6].data = unpack_image(ctx, 1, width, 1, 1, format, type, filter,
+ &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_ConvolutionFilter1D(ctx->Exec, (target, internalFormat, width,
@@ -1408,10 +1418,10 @@ save_ConvolutionFilter2D(GLenum target, GLenum internalFormat,
GLenum type, const GLvoid * filter)
{
GET_CURRENT_CONTEXT(ctx);
- GLvoid *image = unpack_image(2, width, height, 1, format, type, filter,
- &ctx->Unpack);
Node *n;
+
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_CONVOLUTION_FILTER_2D, 7);
if (n) {
n[1].e = target;
@@ -1420,10 +1430,8 @@ save_ConvolutionFilter2D(GLenum target, GLenum internalFormat,
n[4].i = height;
n[5].e = format;
n[6].e = type;
- n[7].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[7].data = unpack_image(ctx, 2, width, height, 1, format, type, filter,
+ &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_ConvolutionFilter2D(ctx->Exec,
@@ -1778,20 +1786,18 @@ save_DrawPixels(GLsizei width, GLsizei height,
GLenum format, GLenum type, const GLvoid * pixels)
{
GET_CURRENT_CONTEXT(ctx);
- GLvoid *image = unpack_image(2, width, height, 1, format, type,
- pixels, &ctx->Unpack);
Node *n;
+
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_DRAW_PIXELS, 5);
if (n) {
n[1].i = width;
n[2].i = height;
n[3].e = format;
n[4].e = type;
- n[5].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[5].data = unpack_image(ctx, 2, width, height, 1, format, type,
+ pixels, &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_DrawPixels(ctx->Exec, (width, height, format, type, pixels));
@@ -1880,7 +1886,10 @@ save_Fogfv(GLenum pname, const GLfloat *params)
static void GLAPIENTRY
save_Fogf(GLenum pname, GLfloat param)
{
- save_Fogfv(pname, &param);
+ GLfloat parray[4];
+ parray[0] = param;
+ parray[1] = parray[2] = parray[3] = 0.0F;
+ save_Fogfv(pname, parray);
}
@@ -1904,7 +1913,7 @@ save_Fogiv(GLenum pname, const GLint *params)
break;
default:
/* Error will be caught later in gl_Fogfv */
- ;
+ ASSIGN_4V(p, 0.0F, 0.0F, 0.0F, 0.0F);
}
save_Fogfv(pname, p);
}
@@ -1913,7 +1922,10 @@ save_Fogiv(GLenum pname, const GLint *params)
static void GLAPIENTRY
save_Fogi(GLenum pname, GLint param)
{
- save_Fogiv(pname, &param);
+ GLint parray[4];
+ parray[0] = param;
+ parray[1] = parray[2] = parray[3] = 0;
+ save_Fogiv(pname, parray);
}
@@ -2077,9 +2089,12 @@ save_Lightfv(GLenum light, GLenum pname, const GLfloat *params)
static void GLAPIENTRY
-save_Lightf(GLenum light, GLenum pname, GLfloat params)
+save_Lightf(GLenum light, GLenum pname, GLfloat param)
{
- save_Lightfv(light, pname, &params);
+ GLfloat parray[4];
+ parray[0] = param;
+ parray[1] = parray[2] = parray[3] = 0.0F;
+ save_Lightfv(light, pname, parray);
}
@@ -2125,7 +2140,10 @@ save_Lightiv(GLenum light, GLenum pname, const GLint *params)
static void GLAPIENTRY
save_Lighti(GLenum light, GLenum pname, GLint param)
{
- save_Lightiv(light, pname, &param);
+ GLint parray[4];
+ parray[0] = param;
+ parray[1] = parray[2] = parray[3] = 0;
+ save_Lightiv(light, pname, parray);
}
@@ -2152,7 +2170,10 @@ save_LightModelfv(GLenum pname, const GLfloat *params)
static void GLAPIENTRY
save_LightModelf(GLenum pname, GLfloat param)
{
- save_LightModelfv(pname, &param);
+ GLfloat parray[4];
+ parray[0] = param;
+ parray[1] = parray[2] = parray[3] = 0.0F;
+ save_LightModelfv(pname, parray);
}
@@ -2174,7 +2195,7 @@ save_LightModeliv(GLenum pname, const GLint *params)
break;
default:
/* Error will be caught later in gl_LightModelfv */
- ;
+ ASSIGN_4V(fparam, 0.0F, 0.0F, 0.0F, 0.0F);
}
save_LightModelfv(pname, fparam);
}
@@ -2183,7 +2204,10 @@ save_LightModeliv(GLenum pname, const GLint *params)
static void GLAPIENTRY
save_LightModeli(GLenum pname, GLint param)
{
- save_LightModeliv(pname, &param);
+ GLint parray[4];
+ parray[0] = param;
+ parray[1] = parray[2] = parray[3] = 0;
+ save_LightModeliv(pname, parray);
}
@@ -2698,21 +2722,28 @@ save_PointParameterfvEXT(GLenum pname, const GLfloat *params)
static void GLAPIENTRY
save_PointParameterfEXT(GLenum pname, GLfloat param)
{
- save_PointParameterfvEXT(pname, &param);
+ GLfloat parray[3];
+ parray[0] = param;
+ parray[1] = parray[2] = 0.0F;
+ save_PointParameterfvEXT(pname, parray);
}
static void GLAPIENTRY
save_PointParameteriNV(GLenum pname, GLint param)
{
- GLfloat p = (GLfloat) param;
- save_PointParameterfvEXT(pname, &p);
+ GLfloat parray[3];
+ parray[0] = (GLfloat) param;
+ parray[1] = parray[2] = 0.0F;
+ save_PointParameterfvEXT(pname, parray);
}
static void GLAPIENTRY
save_PointParameterivNV(GLenum pname, const GLint * param)
{
- GLfloat p = (GLfloat) param[0];
- save_PointParameterfvEXT(pname, &p);
+ GLfloat parray[3];
+ parray[0] = (GLfloat) param[0];
+ parray[1] = parray[2] = 0.0F;
+ save_PointParameterfvEXT(pname, parray);
}
@@ -2753,16 +2784,14 @@ static void GLAPIENTRY
save_PolygonStipple(const GLubyte * pattern)
{
GET_CURRENT_CONTEXT(ctx);
- GLvoid *image = unpack_image(2, 32, 32, 1, GL_COLOR_INDEX, GL_BITMAP,
- pattern, &ctx->Unpack);
Node *n;
+
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_POLYGON_STIPPLE, 1);
if (n) {
- n[1].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[1].data = unpack_image(ctx, 2, 32, 32, 1, GL_COLOR_INDEX, GL_BITMAP,
+ pattern, &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_PolygonStipple(ctx->Exec, ((GLubyte *) pattern));
@@ -3386,7 +3415,10 @@ save_TexEnvfv(GLenum target, GLenum pname, const GLfloat *params)
static void GLAPIENTRY
save_TexEnvf(GLenum target, GLenum pname, GLfloat param)
{
- save_TexEnvfv(target, pname, &param);
+ GLfloat parray[4];
+ parray[0] = (GLfloat) param;
+ parray[1] = parray[2] = parray[3] = 0.0F;
+ save_TexEnvfv(target, pname, parray);
}
@@ -3454,8 +3486,10 @@ save_TexGeniv(GLenum coord, GLenum pname, const GLint *params)
static void GLAPIENTRY
save_TexGend(GLenum coord, GLenum pname, GLdouble param)
{
- GLfloat p = (GLfloat) param;
- save_TexGenfv(coord, pname, &p);
+ GLfloat parray[4];
+ parray[0] = (GLfloat) param;
+ parray[1] = parray[2] = parray[3] = 0.0F;
+ save_TexGenfv(coord, pname, parray);
}
@@ -3474,14 +3508,20 @@ save_TexGendv(GLenum coord, GLenum pname, const GLdouble *params)
static void GLAPIENTRY
save_TexGenf(GLenum coord, GLenum pname, GLfloat param)
{
- save_TexGenfv(coord, pname, &param);
+ GLfloat parray[4];
+ parray[0] = param;
+ parray[1] = parray[2] = parray[3] = 0.0F;
+ save_TexGenfv(coord, pname, parray);
}
static void GLAPIENTRY
save_TexGeni(GLenum coord, GLenum pname, GLint param)
{
- save_TexGeniv(coord, pname, &param);
+ GLint parray[4];
+ parray[0] = param;
+ parray[1] = parray[2] = parray[3] = 0;
+ save_TexGeniv(coord, pname, parray);
}
@@ -3509,7 +3549,10 @@ save_TexParameterfv(GLenum target, GLenum pname, const GLfloat *params)
static void GLAPIENTRY
save_TexParameterf(GLenum target, GLenum pname, GLfloat param)
{
- save_TexParameterfv(target, pname, &param);
+ GLfloat parray[4];
+ parray[0] = param;
+ parray[1] = parray[2] = parray[3] = 0.0F;
+ save_TexParameterfv(target, pname, parray);
}
@@ -3546,8 +3589,6 @@ save_TexImage1D(GLenum target,
border, format, type, pixels));
}
else {
- GLvoid *image = unpack_image(1, width, 1, 1, format, type,
- pixels, &ctx->Unpack);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION(ctx, OPCODE_TEX_IMAGE1D, 8);
@@ -3559,10 +3600,8 @@ save_TexImage1D(GLenum target,
n[5].i = border;
n[6].e = format;
n[7].e = type;
- n[8].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[8].data = unpack_image(ctx, 1, width, 1, 1, format, type,
+ pixels, &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_TexImage1D(ctx->Exec, (target, level, components, width,
@@ -3585,8 +3624,6 @@ save_TexImage2D(GLenum target,
height, border, format, type, pixels));
}
else {
- GLvoid *image = unpack_image(2, width, height, 1, format, type,
- pixels, &ctx->Unpack);
Node *n;
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION(ctx, OPCODE_TEX_IMAGE2D, 9);
@@ -3599,10 +3636,8 @@ save_TexImage2D(GLenum target,
n[6].i = border;
n[7].e = format;
n[8].e = type;
- n[9].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[9].data = unpack_image(ctx, 2, width, height, 1, format, type,
+ pixels, &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_TexImage2D(ctx->Exec, (target, level, components, width,
@@ -3628,8 +3663,6 @@ save_TexImage3D(GLenum target,
}
else {
Node *n;
- GLvoid *image = unpack_image(3, width, height, depth, format, type,
- pixels, &ctx->Unpack);
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
n = ALLOC_INSTRUCTION(ctx, OPCODE_TEX_IMAGE3D, 10);
if (n) {
@@ -3642,10 +3675,8 @@ save_TexImage3D(GLenum target,
n[7].i = border;
n[8].e = format;
n[9].e = type;
- n[10].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[10].data = unpack_image(ctx, 3, width, height, depth, format, type,
+ pixels, &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_TexImage3D(ctx->Exec, (target, level, internalFormat, width,
@@ -3663,9 +3694,9 @@ save_TexSubImage1D(GLenum target, GLint level, GLint xoffset,
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
- GLvoid *image = unpack_image(1, width, 1, 1, format, type,
- pixels, &ctx->Unpack);
+
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_TEX_SUB_IMAGE1D, 7);
if (n) {
n[1].e = target;
@@ -3674,10 +3705,8 @@ save_TexSubImage1D(GLenum target, GLint level, GLint xoffset,
n[4].i = (GLint) width;
n[5].e = format;
n[6].e = type;
- n[7].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[7].data = unpack_image(ctx, 1, width, 1, 1, format, type,
+ pixels, &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_TexSubImage1D(ctx->Exec, (target, level, xoffset, width,
@@ -3694,9 +3723,9 @@ save_TexSubImage2D(GLenum target, GLint level,
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
- GLvoid *image = unpack_image(2, width, height, 1, format, type,
- pixels, &ctx->Unpack);
+
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_TEX_SUB_IMAGE2D, 9);
if (n) {
n[1].e = target;
@@ -3707,10 +3736,8 @@ save_TexSubImage2D(GLenum target, GLint level,
n[6].i = (GLint) height;
n[7].e = format;
n[8].e = type;
- n[9].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[9].data = unpack_image(ctx, 2, width, height, 1, format, type,
+ pixels, &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_TexSubImage2D(ctx->Exec, (target, level, xoffset, yoffset,
@@ -3727,9 +3754,9 @@ save_TexSubImage3D(GLenum target, GLint level,
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
- GLvoid *image = unpack_image(3, width, height, depth, format, type,
- pixels, &ctx->Unpack);
+
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_TEX_SUB_IMAGE3D, 11);
if (n) {
n[1].e = target;
@@ -3742,10 +3769,8 @@ save_TexSubImage3D(GLenum target, GLint level,
n[8].i = (GLint) depth;
n[9].e = format;
n[10].e = type;
- n[11].data = image;
- }
- else if (image) {
- _mesa_free(image);
+ n[11].data = unpack_image(ctx, 3, width, height, depth, format, type,
+ pixels, &ctx->Unpack);
}
if (ctx->ExecuteFlag) {
CALL_TexSubImage3D(ctx->Exec, (target, level,
@@ -4458,18 +4483,17 @@ save_LoadProgramNV(GLenum target, GLuint id, GLsizei len,
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
- GLubyte *programCopy;
-
- programCopy = (GLubyte *) _mesa_malloc(len);
- if (!programCopy) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glLoadProgramNV");
- return;
- }
- _mesa_memcpy(programCopy, program, len);
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_LOAD_PROGRAM_NV, 4);
if (n) {
+ GLubyte *programCopy = (GLubyte *) _mesa_malloc(len);
+ if (!programCopy) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "glLoadProgramNV");
+ return;
+ }
+ _mesa_memcpy(programCopy, program, len);
n[1].e = target;
n[2].ui = id;
n[3].i = len;
@@ -4486,15 +4510,17 @@ save_RequestResidentProgramsNV(GLsizei num, const GLuint * ids)
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
- GLuint *idCopy = (GLuint *) _mesa_malloc(num * sizeof(GLuint));
- if (!idCopy) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glRequestResidentProgramsNV");
- return;
- }
- _mesa_memcpy(idCopy, ids, num * sizeof(GLuint));
+
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_TRACK_MATRIX_NV, 2);
if (n) {
+ GLuint *idCopy = (GLuint *) _mesa_malloc(num * sizeof(GLuint));
+ if (!idCopy) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "glRequestResidentProgramsNV");
+ return;
+ }
+ _mesa_memcpy(idCopy, ids, num * sizeof(GLuint));
n[1].i = num;
n[2].data = idCopy;
}
@@ -4655,16 +4681,17 @@ save_ProgramNamedParameter4fNV(GLuint id, GLsizei len, const GLubyte * name,
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
- GLubyte *nameCopy = (GLubyte *) _mesa_malloc(len);
- if (!nameCopy) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glProgramNamedParameter4fNV");
- return;
- }
- _mesa_memcpy(nameCopy, name, len);
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_PROGRAM_NAMED_PARAMETER_NV, 6);
if (n) {
+ GLubyte *nameCopy = (GLubyte *) _mesa_malloc(len);
+ if (!nameCopy) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "glProgramNamedParameter4fNV");
+ return;
+ }
+ _mesa_memcpy(nameCopy, name, len);
n[1].ui = id;
n[2].i = len;
n[3].data = nameCopy;
@@ -4753,18 +4780,17 @@ save_ProgramStringARB(GLenum target, GLenum format, GLsizei len,
{
GET_CURRENT_CONTEXT(ctx);
Node *n;
- GLubyte *programCopy;
-
- programCopy = (GLubyte *) _mesa_malloc(len);
- if (!programCopy) {
- _mesa_error(ctx, GL_OUT_OF_MEMORY, "glProgramStringARB");
- return;
- }
- _mesa_memcpy(programCopy, string, len);
ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+
n = ALLOC_INSTRUCTION(ctx, OPCODE_PROGRAM_STRING_ARB, 4);
if (n) {
+ GLubyte *programCopy = (GLubyte *) _mesa_malloc(len);
+ if (!programCopy) {
+ _mesa_error(ctx, GL_OUT_OF_MEMORY, "glProgramStringARB");
+ return;
+ }
+ _mesa_memcpy(programCopy, string, len);
n[1].e = target;
n[2].e = format;
n[3].i = len;
diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c
index 6682b5e725c..6d31f32443a 100644
--- a/src/mesa/main/drawpix.c
+++ b/src/mesa/main/drawpix.c
@@ -27,6 +27,7 @@
#include "bufferobj.h"
#include "context.h"
#include "drawpix.h"
+#include "enums.h"
#include "feedback.h"
#include "framebuffer.h"
#include "image.h"
@@ -34,6 +35,18 @@
#include "state.h"
+
+/**
+ * If a fragment program is enabled, check that it's valid.
+ * \return GL_TRUE if valid, GL_FALSE otherwise
+ */
+static GLboolean
+valid_fragment_program(GLcontext *ctx)
+{
+ return !(ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled);
+}
+
+
#if _HAVE_FULL_GL
/*
@@ -51,29 +64,34 @@ _mesa_DrawPixels( GLsizei width, GLsizei height,
return;
}
+ /* We're not using the current vertex program, and the driver may install
+ * it's own.
+ */
+ _mesa_set_vp_override(ctx, GL_TRUE);
+
if (ctx->NewState) {
_mesa_update_state(ctx);
}
- if (ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled) {
+ if (!valid_fragment_program(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glDrawPixels (invalid fragment program)");
- return;
+ goto end;
}
if (_mesa_error_check_format_type(ctx, format, type, GL_TRUE)) {
- /* found an error */
- return;
+ /* the error was already recorded */
+ goto end;
}
if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
_mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
"glDrawPixels(incomplete framebuffer)" );
- return;
+ goto end;
}
if (!ctx->Current.RasterPosValid) {
- return;
+ goto end; /* no-op, not an error */
}
if (ctx->RenderMode == GL_RENDER) {
@@ -88,13 +106,13 @@ _mesa_DrawPixels( GLsizei width, GLsizei height,
format, type, pixels)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glDrawPixels(invalid PBO access)");
- return;
+ goto end;
}
- if (ctx->Unpack.BufferObj->Pointer) {
+ if (_mesa_bufferobj_mapped(ctx->Unpack.BufferObj)) {
/* buffer is mapped - that's an error */
_mesa_error(ctx, GL_INVALID_OPERATION,
"glDrawPixels(PBO is mapped)");
- return;
+ goto end;
}
}
@@ -116,6 +134,9 @@ _mesa_DrawPixels( GLsizei width, GLsizei height,
ASSERT(ctx->RenderMode == GL_SELECT);
/* Do nothing. See OpenGL Spec, Appendix B, Corollary 6. */
}
+
+end:
+ _mesa_set_vp_override(ctx, GL_FALSE);
}
@@ -126,37 +147,48 @@ _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height,
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
+ if (width < 0 || height < 0) {
+ _mesa_error(ctx, GL_INVALID_VALUE, "glCopyPixels(width or height < 0)");
+ return;
+ }
+
+ if (type != GL_COLOR && type != GL_DEPTH && type != GL_STENCIL) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glCopyPixels(type=%s)",
+ _mesa_lookup_enum_by_nr(type));
+ return;
+ }
+
+ /* We're not using the current vertex program, and the driver may install
+ * it's own.
+ */
+ _mesa_set_vp_override(ctx, GL_TRUE);
+
if (ctx->NewState) {
_mesa_update_state(ctx);
}
- if (ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled) {
+ if (!valid_fragment_program(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glCopyPixels (invalid fragment program)");
- return;
- }
-
- if (width < 0 || height < 0) {
- _mesa_error(ctx, GL_INVALID_VALUE, "glCopyPixels(width or height < 0)");
- return;
+ goto end;
}
if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT ||
ctx->ReadBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
_mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
"glCopyPixels(incomplete framebuffer)" );
- return;
+ goto end;
}
if (!_mesa_source_buffer_exists(ctx, type) ||
!_mesa_dest_buffer_exists(ctx, type)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glCopyPixels(missing source or dest buffer)");
- return;
+ goto end;
}
if (!ctx->Current.RasterPosValid || width ==0 || height == 0) {
- return;
+ goto end; /* no-op, not an error */
}
if (ctx->RenderMode == GL_RENDER) {
@@ -181,6 +213,9 @@ _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height,
ASSERT(ctx->RenderMode == GL_SELECT);
/* Do nothing. See OpenGL Spec, Appendix B, Corollary 6. */
}
+
+end:
+ _mesa_set_vp_override(ctx, GL_FALSE);
}
#endif /* _HAVE_FULL_GL */
@@ -208,7 +243,7 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
_mesa_update_state(ctx);
}
- if (ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled) {
+ if (!valid_fragment_program(ctx)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glBitmap (invalid fragment program)");
return;
@@ -235,7 +270,7 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
"glBitmap(invalid PBO access)");
return;
}
- if (ctx->Unpack.BufferObj->Pointer) {
+ if (_mesa_bufferobj_mapped(ctx->Unpack.BufferObj)) {
/* buffer is mapped - that's an error */
_mesa_error(ctx, GL_INVALID_OPERATION, "glBitmap(PBO is mapped)");
return;
@@ -264,68 +299,3 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
ctx->Current.RasterPos[0] += xmove;
ctx->Current.RasterPos[1] += ymove;
}
-
-
-
-#if 0 /* experimental */
-/*
- * Execute glDrawDepthPixelsMESA(). This function accepts both a color
- * image and depth (Z) image. Rasterization produces fragments with
- * color and Z taken from these images. This function is intended for
- * Z-compositing. Normally, this operation requires two glDrawPixels
- * calls with stencil testing.
- */
-void GLAPIENTRY
-_mesa_DrawDepthPixelsMESA( GLsizei width, GLsizei height,
- GLenum colorFormat, GLenum colorType,
- const GLvoid *colors,
- GLenum depthType, const GLvoid *depths )
-{
- GET_CURRENT_CONTEXT(ctx);
- ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
-
- if (width < 0 || height < 0) {
- _mesa_error( ctx, GL_INVALID_VALUE,
- "glDrawDepthPixelsMESA(width or height < 0" );
- return;
- }
-
- if (!ctx->Current.RasterPosValid) {
- return;
- }
-
- if (ctx->NewState) {
- _mesa_update_state(ctx);
- }
-
- if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
- "glDrawDepthPixelsMESA(incomplete framebuffer)");
- return;
- }
-
- if (ctx->RenderMode == GL_RENDER) {
- /* Round, to satisfy conformance tests (matches SGI's OpenGL) */
- GLint x = IROUND(ctx->Current.RasterPos[0]);
- GLint y = IROUND(ctx->Current.RasterPos[1]);
- ctx->Driver.DrawDepthPixelsMESA(ctx, x, y, width, height,
- colorFormat, colorType, colors,
- depthType, depths, &ctx->Unpack);
- }
- else if (ctx->RenderMode == GL_FEEDBACK) {
- /* Feedback the current raster pos info */
- FLUSH_CURRENT( ctx, 0 );
- _mesa_feedback_token( ctx, (GLfloat) (GLint) GL_DRAW_PIXEL_TOKEN );
- _mesa_feedback_vertex( ctx,
- ctx->Current.RasterPos,
- ctx->Current.RasterColor,
- ctx->Current.RasterIndex,
- ctx->Current.RasterTexCoords[0] );
- }
- else {
- ASSERT(ctx->RenderMode == GL_SELECT);
- /* Do nothing. See OpenGL Spec, Appendix B, Corollary 6. */
- }
-}
-
-#endif
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index 48268fcd277..4bc54771e97 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -972,6 +972,11 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state)
}
break;
+ case GL_TEXTURE_CUBE_MAP_SEAMLESS:
+ CHECK_EXTENSION(ARB_seamless_cube_map, cap);
+ ctx->Texture.CubeMapSeamless = state;
+ break;
+
default:
_mesa_error(ctx, GL_INVALID_ENUM,
"%s(0x%x)", state ? "glEnable" : "glDisable", cap);
@@ -1395,6 +1400,11 @@ _mesa_IsEnabled( GLenum cap )
CHECK_EXTENSION(ATI_fragment_shader);
return ctx->ATIFragmentShader.Enabled;
#endif /* FEATURE_ATI_fragment_shader */
+
+ case GL_TEXTURE_CUBE_MAP_SEAMLESS:
+ CHECK_EXTENSION(ARB_seamless_cube_map);
+ return ctx->Texture.CubeMapSeamless;
+
default:
_mesa_error(ctx, GL_INVALID_ENUM, "glIsEnabled(0x%x)", (int) cap);
return GL_FALSE;
diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c
index 6e2adea6360..ad40bb6e784 100644
--- a/src/mesa/main/enums.c
+++ b/src/mesa/main/enums.c
@@ -139,10 +139,12 @@ LONGSTRING static const char enum_string_table[] =
"GL_BOOL_VEC4_ARB\0"
"GL_BUFFER_ACCESS\0"
"GL_BUFFER_ACCESS_ARB\0"
+ "GL_BUFFER_FLUSHING_UNMAP_APPLE\0"
"GL_BUFFER_MAPPED\0"
"GL_BUFFER_MAPPED_ARB\0"
"GL_BUFFER_MAP_POINTER\0"
"GL_BUFFER_MAP_POINTER_ARB\0"
+ "GL_BUFFER_SERIALIZED_MODIFY_APPLE\0"
"GL_BUFFER_SIZE\0"
"GL_BUFFER_SIZE_ARB\0"
"GL_BUFFER_USAGE\0"
@@ -1542,6 +1544,9 @@ LONGSTRING static const char enum_string_table[] =
"GL_STENCIL_VALUE_MASK\0"
"GL_STENCIL_WRITEMASK\0"
"GL_STEREO\0"
+ "GL_STORAGE_CACHED_APPLE\0"
+ "GL_STORAGE_PRIVATE_APPLE\0"
+ "GL_STORAGE_SHARED_APPLE\0"
"GL_STREAM_COPY\0"
"GL_STREAM_COPY_ARB\0"
"GL_STREAM_DRAW\0"
@@ -1691,6 +1696,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB\0"
"GL_TEXTURE_CUBE_MAP_POSITIVE_Z\0"
"GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB\0"
+ "GL_TEXTURE_CUBE_MAP_SEAMLESS\0"
"GL_TEXTURE_DEPTH\0"
"GL_TEXTURE_DEPTH_SIZE\0"
"GL_TEXTURE_DEPTH_SIZE_ARB\0"
@@ -1730,6 +1736,8 @@ LONGSTRING static const char enum_string_table[] =
"GL_TEXTURE_MIN_FILTER\0"
"GL_TEXTURE_MIN_LOD\0"
"GL_TEXTURE_PRIORITY\0"
+ "GL_TEXTURE_RANGE_LENGTH_APPLE\0"
+ "GL_TEXTURE_RANGE_POINTER_APPLE\0"
"GL_TEXTURE_RECTANGLE_ARB\0"
"GL_TEXTURE_RECTANGLE_NV\0"
"GL_TEXTURE_RED_SIZE\0"
@@ -1737,6 +1745,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_TEXTURE_RESIDENT\0"
"GL_TEXTURE_STACK_DEPTH\0"
"GL_TEXTURE_STENCIL_SIZE\0"
+ "GL_TEXTURE_STORAGE_HINT_APPLE\0"
"GL_TEXTURE_TOO_LARGE_EXT\0"
"GL_TEXTURE_UNSIGNED_REMAP_MODE_NV\0"
"GL_TEXTURE_WIDTH\0"
@@ -1871,7 +1880,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_ZOOM_Y\0"
;
-static const enum_elt all_enums[1833] =
+static const enum_elt all_enums[1842] =
{
{ 0, 0x00000600 }, /* GL_2D */
{ 6, 0x00001407 }, /* GL_2_BYTES */
@@ -1976,3064 +1985,3081 @@ static const enum_elt all_enums[1833] =
{ 1632, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */
{ 1649, 0x000088BB }, /* GL_BUFFER_ACCESS */
{ 1666, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */
- { 1687, 0x000088BC }, /* GL_BUFFER_MAPPED */
- { 1704, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */
- { 1725, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */
- { 1747, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */
- { 1773, 0x00008764 }, /* GL_BUFFER_SIZE */
- { 1788, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */
- { 1807, 0x00008765 }, /* GL_BUFFER_USAGE */
- { 1823, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */
- { 1843, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */
- { 1862, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */
- { 1888, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */
- { 1911, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
- { 1939, 0x0000877C }, /* GL_BUMP_TARGET_ATI */
- { 1958, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */
- { 1980, 0x00001400 }, /* GL_BYTE */
- { 1988, 0x00002A24 }, /* GL_C3F_V3F */
- { 1999, 0x00002A26 }, /* GL_C4F_N3F_V3F */
- { 2014, 0x00002A22 }, /* GL_C4UB_V2F */
- { 2026, 0x00002A23 }, /* GL_C4UB_V3F */
- { 2038, 0x00000901 }, /* GL_CCW */
- { 2045, 0x00002900 }, /* GL_CLAMP */
- { 2054, 0x0000812D }, /* GL_CLAMP_TO_BORDER */
- { 2073, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */
- { 2096, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */
- { 2120, 0x0000812F }, /* GL_CLAMP_TO_EDGE */
- { 2137, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */
- { 2159, 0x00001500 }, /* GL_CLEAR */
- { 2168, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */
- { 2193, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */
- { 2222, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */
- { 2248, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
- { 2277, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */
- { 2303, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */
- { 2330, 0x00003000 }, /* GL_CLIP_PLANE0 */
- { 2345, 0x00003001 }, /* GL_CLIP_PLANE1 */
- { 2360, 0x00003002 }, /* GL_CLIP_PLANE2 */
- { 2375, 0x00003003 }, /* GL_CLIP_PLANE3 */
- { 2390, 0x00003004 }, /* GL_CLIP_PLANE4 */
- { 2405, 0x00003005 }, /* GL_CLIP_PLANE5 */
- { 2420, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
- { 2453, 0x00000A00 }, /* GL_COEFF */
- { 2462, 0x00001800 }, /* GL_COLOR */
- { 2471, 0x00008076 }, /* GL_COLOR_ARRAY */
- { 2486, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */
- { 2516, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */
- { 2550, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */
- { 2573, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */
- { 2593, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */
- { 2615, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */
- { 2635, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */
- { 2656, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */
- { 2681, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */
- { 2702, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */
- { 2724, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */
- { 2750, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */
- { 2772, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */
- { 2798, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */
- { 2820, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */
- { 2846, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */
- { 2868, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */
- { 2894, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */
- { 2916, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */
- { 2942, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */
- { 2964, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */
- { 2990, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */
- { 3015, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */
- { 3036, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */
- { 3061, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */
- { 3082, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */
- { 3107, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */
- { 3128, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */
- { 3153, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */
- { 3174, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */
- { 3199, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */
- { 3220, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */
- { 3245, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */
- { 3266, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */
- { 3291, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */
- { 3312, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */
- { 3337, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */
- { 3358, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */
- { 3383, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */
- { 3403, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */
- { 3424, 0x00001900 }, /* GL_COLOR_INDEX */
- { 3439, 0x00001603 }, /* GL_COLOR_INDEXES */
- { 3456, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */
- { 3474, 0x00000B57 }, /* GL_COLOR_MATERIAL */
- { 3492, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */
- { 3515, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */
- { 3543, 0x000080B1 }, /* GL_COLOR_MATRIX */
- { 3559, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */
- { 3579, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */
- { 3607, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */
- { 3639, 0x00008458 }, /* GL_COLOR_SUM */
- { 3652, 0x00008458 }, /* GL_COLOR_SUM_ARB */
- { 3669, 0x000080D0 }, /* GL_COLOR_TABLE */
- { 3684, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */
- { 3710, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */
- { 3740, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */
- { 3770, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */
- { 3790, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */
- { 3814, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */
- { 3839, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */
- { 3868, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */
- { 3897, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */
- { 3919, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */
- { 3945, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */
- { 3971, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */
- { 3997, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */
- { 4027, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */
- { 4057, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */
- { 4087, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */
- { 4121, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */
- { 4155, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
- { 4185, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */
- { 4219, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */
- { 4253, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */
- { 4277, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */
- { 4305, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */
- { 4333, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */
- { 4354, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */
- { 4379, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */
- { 4400, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */
- { 4425, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */
- { 4450, 0x00000C23 }, /* GL_COLOR_WRITEMASK */
- { 4469, 0x00008570 }, /* GL_COMBINE */
- { 4480, 0x00008503 }, /* GL_COMBINE4 */
- { 4492, 0x00008572 }, /* GL_COMBINE_ALPHA */
- { 4509, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */
- { 4530, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */
- { 4551, 0x00008570 }, /* GL_COMBINE_ARB */
- { 4566, 0x00008570 }, /* GL_COMBINE_EXT */
- { 4581, 0x00008571 }, /* GL_COMBINE_RGB */
- { 4596, 0x00008571 }, /* GL_COMBINE_RGB_ARB */
- { 4615, 0x00008571 }, /* GL_COMBINE_RGB_EXT */
- { 4634, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */
- { 4670, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */
- { 4694, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */
- { 4722, 0x00001300 }, /* GL_COMPILE */
- { 4733, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */
- { 4756, 0x00008B81 }, /* GL_COMPILE_STATUS */
- { 4774, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */
- { 4794, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */
- { 4818, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */
- { 4842, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */
- { 4870, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */
- { 4894, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */
- { 4924, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */
- { 4958, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */
- { 4986, 0x000084ED }, /* GL_COMPRESSED_RGB */
- { 5004, 0x000084EE }, /* GL_COMPRESSED_RGBA */
- { 5023, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */
- { 5046, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
- { 5075, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
- { 5108, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
- { 5141, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
- { 5174, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */
- { 5196, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */
- { 5224, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
- { 5256, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */
- { 5281, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
- { 5312, 0x00008C48 }, /* GL_COMPRESSED_SRGB */
- { 5331, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */
- { 5356, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */
- { 5386, 0x00008576 }, /* GL_CONSTANT */
- { 5398, 0x00008003 }, /* GL_CONSTANT_ALPHA */
- { 5416, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */
- { 5438, 0x00008576 }, /* GL_CONSTANT_ARB */
- { 5454, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */
- { 5478, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */
- { 5500, 0x00008001 }, /* GL_CONSTANT_COLOR */
- { 5518, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */
- { 5540, 0x00008576 }, /* GL_CONSTANT_EXT */
- { 5556, 0x00008010 }, /* GL_CONVOLUTION_1D */
- { 5574, 0x00008011 }, /* GL_CONVOLUTION_2D */
- { 5592, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */
- { 5620, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */
- { 5651, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */
- { 5678, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */
- { 5709, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */
- { 5736, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */
- { 5767, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */
- { 5795, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */
- { 5827, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */
- { 5849, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */
- { 5875, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */
- { 5897, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */
- { 5923, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */
- { 5944, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */
- { 5969, 0x00008862 }, /* GL_COORD_REPLACE */
- { 5986, 0x00008862 }, /* GL_COORD_REPLACE_ARB */
- { 6007, 0x00008862 }, /* GL_COORD_REPLACE_NV */
- { 6027, 0x00001503 }, /* GL_COPY */
- { 6035, 0x0000150C }, /* GL_COPY_INVERTED */
- { 6052, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
- { 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, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */
- { 9634, 0x00001D00 }, /* GL_FLAT */
- { 9642, 0x00001406 }, /* GL_FLOAT */
- { 9651, 0x00008B5A }, /* GL_FLOAT_MAT2 */
- { 9665, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
- { 9683, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */
- { 9699, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */
- { 9715, 0x00008B5B }, /* GL_FLOAT_MAT3 */
- { 9729, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
- { 9747, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */
- { 9763, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */
- { 9779, 0x00008B5C }, /* GL_FLOAT_MAT4 */
- { 9793, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
- { 9811, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */
- { 9827, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */
- { 9843, 0x00008B50 }, /* GL_FLOAT_VEC2 */
- { 9857, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
- { 9875, 0x00008B51 }, /* GL_FLOAT_VEC3 */
- { 9889, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
- { 9907, 0x00008B52 }, /* GL_FLOAT_VEC4 */
- { 9921, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
- { 9939, 0x00000B60 }, /* GL_FOG */
- { 9946, 0x00000080 }, /* GL_FOG_BIT */
- { 9957, 0x00000B66 }, /* GL_FOG_COLOR */
- { 9970, 0x00008451 }, /* GL_FOG_COORD */
- { 9983, 0x00008451 }, /* GL_FOG_COORDINATE */
- { 10001, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
- { 10025, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- { 10064, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
- { 10107, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- { 10139, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- { 10170, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- { 10199, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
- { 10224, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
- { 10243, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
- { 10277, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
- { 10304, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
- { 10330, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
- { 10354, 0x00008450 }, /* GL_FOG_COORD_SRC */
- { 10371, 0x00000B62 }, /* GL_FOG_DENSITY */
- { 10386, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
- { 10410, 0x00000B64 }, /* GL_FOG_END */
- { 10421, 0x00000C54 }, /* GL_FOG_HINT */
- { 10433, 0x00000B61 }, /* GL_FOG_INDEX */
- { 10446, 0x00000B65 }, /* GL_FOG_MODE */
- { 10458, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
- { 10477, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
- { 10502, 0x00000B63 }, /* GL_FOG_START */
- { 10515, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
- { 10533, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
- { 10557, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
- { 10576, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
- { 10599, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- { 10634, 0x00008D40 }, /* GL_FRAMEBUFFER */
- { 10649, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
- { 10686, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
- { 10722, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
- { 10763, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
- { 10804, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
- { 10841, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
- { 10878, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
- { 10916, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
- { 10958, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
- { 10996, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
- { 11038, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
- { 11073, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
- { 11112, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
- { 11161, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
- { 11209, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
- { 11261, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
- { 11301, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
- { 11345, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
- { 11385, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
- { 11429, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
- { 11456, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */
- { 11480, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
- { 11508, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */
- { 11531, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
- { 11550, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
- { 11587, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
- { 11628, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- { 11669, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
- { 11711, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- { 11762, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- { 11800, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
- { 11845, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
- { 11894, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
- { 11932, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
- { 11974, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- { 12006, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */
- { 12031, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */
- { 12058, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
- { 12089, 0x00000404 }, /* GL_FRONT */
- { 12098, 0x00000408 }, /* GL_FRONT_AND_BACK */
- { 12116, 0x00000B46 }, /* GL_FRONT_FACE */
- { 12130, 0x00000400 }, /* GL_FRONT_LEFT */
- { 12144, 0x00000401 }, /* GL_FRONT_RIGHT */
- { 12159, 0x00008006 }, /* GL_FUNC_ADD */
- { 12171, 0x00008006 }, /* GL_FUNC_ADD_EXT */
- { 12187, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
- { 12212, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
- { 12241, 0x0000800A }, /* GL_FUNC_SUBTRACT */
- { 12258, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
- { 12279, 0x00008191 }, /* GL_GENERATE_MIPMAP */
- { 12298, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
- { 12322, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
- { 12351, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
- { 12375, 0x00000206 }, /* GL_GEQUAL */
- { 12385, 0x00000204 }, /* GL_GREATER */
- { 12396, 0x00001904 }, /* GL_GREEN */
- { 12405, 0x00000D19 }, /* GL_GREEN_BIAS */
- { 12419, 0x00000D53 }, /* GL_GREEN_BITS */
- { 12433, 0x00000D18 }, /* GL_GREEN_SCALE */
- { 12448, 0x00008000 }, /* GL_HINT_BIT */
- { 12460, 0x00008024 }, /* GL_HISTOGRAM */
- { 12473, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
- { 12497, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
- { 12525, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
- { 12548, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
- { 12575, 0x00008024 }, /* GL_HISTOGRAM_EXT */
- { 12592, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
- { 12612, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
- { 12636, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
- { 12660, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
- { 12688, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- { 12716, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
- { 12748, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
- { 12770, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
- { 12796, 0x0000802D }, /* GL_HISTOGRAM_SINK */
- { 12814, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
- { 12836, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
- { 12855, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
- { 12878, 0x0000862A }, /* GL_IDENTITY_NV */
- { 12893, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
- { 12913, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
- { 12953, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
- { 12991, 0x00001E02 }, /* GL_INCR */
- { 12999, 0x00008507 }, /* GL_INCR_WRAP */
- { 13012, 0x00008507 }, /* GL_INCR_WRAP_EXT */
- { 13029, 0x00008222 }, /* GL_INDEX */
- { 13038, 0x00008077 }, /* GL_INDEX_ARRAY */
- { 13053, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- { 13083, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
- { 13117, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
- { 13140, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
- { 13162, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
- { 13182, 0x00000D51 }, /* GL_INDEX_BITS */
- { 13196, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
- { 13217, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
- { 13235, 0x00000C30 }, /* GL_INDEX_MODE */
- { 13249, 0x00000D13 }, /* GL_INDEX_OFFSET */
- { 13265, 0x00000D12 }, /* GL_INDEX_SHIFT */
- { 13280, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
- { 13299, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
- { 13318, 0x00001404 }, /* GL_INT */
- { 13325, 0x00008049 }, /* GL_INTENSITY */
- { 13338, 0x0000804C }, /* GL_INTENSITY12 */
- { 13353, 0x0000804C }, /* GL_INTENSITY12_EXT */
- { 13372, 0x0000804D }, /* GL_INTENSITY16 */
- { 13387, 0x0000804D }, /* GL_INTENSITY16_EXT */
- { 13406, 0x0000804A }, /* GL_INTENSITY4 */
- { 13420, 0x0000804A }, /* GL_INTENSITY4_EXT */
- { 13438, 0x0000804B }, /* GL_INTENSITY8 */
- { 13452, 0x0000804B }, /* GL_INTENSITY8_EXT */
- { 13470, 0x00008049 }, /* GL_INTENSITY_EXT */
- { 13487, 0x00008575 }, /* GL_INTERPOLATE */
- { 13502, 0x00008575 }, /* GL_INTERPOLATE_ARB */
- { 13521, 0x00008575 }, /* GL_INTERPOLATE_EXT */
- { 13540, 0x00008B53 }, /* GL_INT_VEC2 */
- { 13552, 0x00008B53 }, /* GL_INT_VEC2_ARB */
- { 13568, 0x00008B54 }, /* GL_INT_VEC3 */
- { 13580, 0x00008B54 }, /* GL_INT_VEC3_ARB */
- { 13596, 0x00008B55 }, /* GL_INT_VEC4 */
- { 13608, 0x00008B55 }, /* GL_INT_VEC4_ARB */
- { 13624, 0x00000500 }, /* GL_INVALID_ENUM */
- { 13640, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */
- { 13673, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
- { 13710, 0x00000502 }, /* GL_INVALID_OPERATION */
- { 13731, 0x00000501 }, /* GL_INVALID_VALUE */
- { 13748, 0x0000862B }, /* GL_INVERSE_NV */
- { 13762, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
- { 13786, 0x0000150A }, /* GL_INVERT */
- { 13796, 0x00001E00 }, /* GL_KEEP */
- { 13804, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */
- { 13834, 0x00000406 }, /* GL_LEFT */
- { 13842, 0x00000203 }, /* GL_LEQUAL */
- { 13852, 0x00000201 }, /* GL_LESS */
- { 13860, 0x00004000 }, /* GL_LIGHT0 */
- { 13870, 0x00004001 }, /* GL_LIGHT1 */
- { 13880, 0x00004002 }, /* GL_LIGHT2 */
- { 13890, 0x00004003 }, /* GL_LIGHT3 */
- { 13900, 0x00004004 }, /* GL_LIGHT4 */
- { 13910, 0x00004005 }, /* GL_LIGHT5 */
- { 13920, 0x00004006 }, /* GL_LIGHT6 */
- { 13930, 0x00004007 }, /* GL_LIGHT7 */
- { 13940, 0x00000B50 }, /* GL_LIGHTING */
- { 13952, 0x00000040 }, /* GL_LIGHTING_BIT */
- { 13968, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
- { 13991, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- { 14020, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
- { 14053, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- { 14081, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
- { 14105, 0x00001B01 }, /* GL_LINE */
- { 14113, 0x00002601 }, /* GL_LINEAR */
- { 14123, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
- { 14145, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- { 14175, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- { 14206, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
- { 14230, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
- { 14255, 0x00000001 }, /* GL_LINES */
- { 14264, 0x00000004 }, /* GL_LINE_BIT */
- { 14276, 0x00000002 }, /* GL_LINE_LOOP */
- { 14289, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
- { 14309, 0x00000B20 }, /* GL_LINE_SMOOTH */
- { 14324, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
- { 14344, 0x00000B24 }, /* GL_LINE_STIPPLE */
- { 14360, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
- { 14384, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
- { 14407, 0x00000003 }, /* GL_LINE_STRIP */
- { 14421, 0x00000702 }, /* GL_LINE_TOKEN */
- { 14435, 0x00000B21 }, /* GL_LINE_WIDTH */
- { 14449, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
- { 14475, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
- { 14495, 0x00008B82 }, /* GL_LINK_STATUS */
- { 14510, 0x00000B32 }, /* GL_LIST_BASE */
- { 14523, 0x00020000 }, /* GL_LIST_BIT */
- { 14535, 0x00000B33 }, /* GL_LIST_INDEX */
- { 14549, 0x00000B30 }, /* GL_LIST_MODE */
- { 14562, 0x00000101 }, /* GL_LOAD */
- { 14570, 0x00000BF1 }, /* GL_LOGIC_OP */
- { 14582, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
- { 14599, 0x00008CA1 }, /* GL_LOWER_LEFT */
- { 14613, 0x00001909 }, /* GL_LUMINANCE */
- { 14626, 0x00008041 }, /* GL_LUMINANCE12 */
- { 14641, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
- { 14664, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
- { 14691, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
- { 14713, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
- { 14739, 0x00008041 }, /* GL_LUMINANCE12_EXT */
- { 14758, 0x00008042 }, /* GL_LUMINANCE16 */
- { 14773, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
- { 14796, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
- { 14823, 0x00008042 }, /* GL_LUMINANCE16_EXT */
- { 14842, 0x0000803F }, /* GL_LUMINANCE4 */
- { 14856, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
- { 14877, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
- { 14902, 0x0000803F }, /* GL_LUMINANCE4_EXT */
- { 14920, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
- { 14941, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
- { 14966, 0x00008040 }, /* GL_LUMINANCE8 */
- { 14980, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
- { 15001, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
- { 15026, 0x00008040 }, /* GL_LUMINANCE8_EXT */
- { 15044, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
- { 15063, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
- { 15079, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
- { 15099, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
- { 15121, 0x00000D91 }, /* GL_MAP1_INDEX */
- { 15135, 0x00000D92 }, /* GL_MAP1_NORMAL */
- { 15150, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
- { 15174, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
- { 15198, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
- { 15222, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
- { 15246, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
- { 15263, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
- { 15280, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- { 15308, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- { 15337, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- { 15366, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- { 15395, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- { 15424, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- { 15453, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- { 15482, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- { 15510, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- { 15538, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- { 15566, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- { 15594, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- { 15622, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- { 15650, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- { 15678, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- { 15706, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- { 15734, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
- { 15750, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
- { 15770, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
- { 15792, 0x00000DB1 }, /* GL_MAP2_INDEX */
- { 15806, 0x00000DB2 }, /* GL_MAP2_NORMAL */
- { 15821, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
- { 15845, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
- { 15869, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
- { 15893, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
- { 15917, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
- { 15934, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
- { 15951, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- { 15979, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- { 16008, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- { 16037, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- { 16066, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- { 16095, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- { 16124, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- { 16153, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- { 16181, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- { 16209, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- { 16237, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- { 16265, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- { 16293, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- { 16321, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
- { 16349, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- { 16377, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- { 16405, 0x00000D10 }, /* GL_MAP_COLOR */
- { 16418, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */
- { 16444, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */
- { 16473, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */
- { 16501, 0x00000001 }, /* GL_MAP_READ_BIT */
- { 16517, 0x00000D11 }, /* GL_MAP_STENCIL */
- { 16532, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */
- { 16558, 0x00000002 }, /* GL_MAP_WRITE_BIT */
- { 16575, 0x000088C0 }, /* GL_MATRIX0_ARB */
- { 16590, 0x00008630 }, /* GL_MATRIX0_NV */
- { 16604, 0x000088CA }, /* GL_MATRIX10_ARB */
- { 16620, 0x000088CB }, /* GL_MATRIX11_ARB */
- { 16636, 0x000088CC }, /* GL_MATRIX12_ARB */
- { 16652, 0x000088CD }, /* GL_MATRIX13_ARB */
- { 16668, 0x000088CE }, /* GL_MATRIX14_ARB */
- { 16684, 0x000088CF }, /* GL_MATRIX15_ARB */
- { 16700, 0x000088D0 }, /* GL_MATRIX16_ARB */
- { 16716, 0x000088D1 }, /* GL_MATRIX17_ARB */
- { 16732, 0x000088D2 }, /* GL_MATRIX18_ARB */
- { 16748, 0x000088D3 }, /* GL_MATRIX19_ARB */
- { 16764, 0x000088C1 }, /* GL_MATRIX1_ARB */
- { 16779, 0x00008631 }, /* GL_MATRIX1_NV */
- { 16793, 0x000088D4 }, /* GL_MATRIX20_ARB */
- { 16809, 0x000088D5 }, /* GL_MATRIX21_ARB */
- { 16825, 0x000088D6 }, /* GL_MATRIX22_ARB */
- { 16841, 0x000088D7 }, /* GL_MATRIX23_ARB */
- { 16857, 0x000088D8 }, /* GL_MATRIX24_ARB */
- { 16873, 0x000088D9 }, /* GL_MATRIX25_ARB */
- { 16889, 0x000088DA }, /* GL_MATRIX26_ARB */
- { 16905, 0x000088DB }, /* GL_MATRIX27_ARB */
- { 16921, 0x000088DC }, /* GL_MATRIX28_ARB */
- { 16937, 0x000088DD }, /* GL_MATRIX29_ARB */
- { 16953, 0x000088C2 }, /* GL_MATRIX2_ARB */
- { 16968, 0x00008632 }, /* GL_MATRIX2_NV */
- { 16982, 0x000088DE }, /* GL_MATRIX30_ARB */
- { 16998, 0x000088DF }, /* GL_MATRIX31_ARB */
- { 17014, 0x000088C3 }, /* GL_MATRIX3_ARB */
- { 17029, 0x00008633 }, /* GL_MATRIX3_NV */
- { 17043, 0x000088C4 }, /* GL_MATRIX4_ARB */
- { 17058, 0x00008634 }, /* GL_MATRIX4_NV */
- { 17072, 0x000088C5 }, /* GL_MATRIX5_ARB */
- { 17087, 0x00008635 }, /* GL_MATRIX5_NV */
- { 17101, 0x000088C6 }, /* GL_MATRIX6_ARB */
- { 17116, 0x00008636 }, /* GL_MATRIX6_NV */
- { 17130, 0x000088C7 }, /* GL_MATRIX7_ARB */
- { 17145, 0x00008637 }, /* GL_MATRIX7_NV */
- { 17159, 0x000088C8 }, /* GL_MATRIX8_ARB */
- { 17174, 0x000088C9 }, /* GL_MATRIX9_ARB */
- { 17189, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
- { 17215, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- { 17249, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- { 17280, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- { 17313, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- { 17344, 0x00000BA0 }, /* GL_MATRIX_MODE */
- { 17359, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
- { 17381, 0x00008008 }, /* GL_MAX */
- { 17388, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
- { 17411, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
- { 17443, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
- { 17469, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- { 17502, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- { 17528, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 17562, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
- { 17581, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
- { 17610, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- { 17642, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
- { 17678, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- { 17714, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
- { 17754, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
- { 17780, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
- { 17810, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
- { 17835, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
- { 17864, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- { 17893, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
- { 17926, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
- { 17946, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
- { 17970, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
- { 17994, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
- { 18018, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
- { 18043, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
- { 18061, 0x00008008 }, /* GL_MAX_EXT */
- { 18072, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- { 18107, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
- { 18146, 0x00000D31 }, /* GL_MAX_LIGHTS */
- { 18160, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
- { 18180, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- { 18218, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- { 18247, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
- { 18271, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
- { 18299, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
- { 18322, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 18359, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 18395, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- { 18422, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- { 18451, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- { 18485, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
- { 18521, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- { 18548, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- { 18580, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- { 18616, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- { 18645, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- { 18674, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
- { 18702, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- { 18740, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 18784, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 18827, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 18861, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 18900, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 18937, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 18975, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 19018, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 19061, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- { 19091, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- { 19122, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 19158, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 19194, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
- { 19224, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
- { 19258, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
- { 19291, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
- { 19320, 0x00008D57 }, /* GL_MAX_SAMPLES */
- { 19335, 0x00008504 }, /* GL_MAX_SHININESS_NV */
- { 19355, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
- { 19379, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
- { 19401, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
- { 19427, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- { 19454, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
- { 19485, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
- { 19509, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- { 19543, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
- { 19563, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
- { 19590, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
- { 19611, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
- { 19636, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
- { 19661, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
- { 19696, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
- { 19718, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
- { 19744, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
- { 19766, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
- { 19792, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- { 19826, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
- { 19864, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- { 19897, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
- { 19934, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
- { 19958, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
- { 19979, 0x00008007 }, /* GL_MIN */
- { 19986, 0x0000802E }, /* GL_MINMAX */
- { 19996, 0x0000802E }, /* GL_MINMAX_EXT */
- { 20010, 0x0000802F }, /* GL_MINMAX_FORMAT */
- { 20027, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
- { 20048, 0x00008030 }, /* GL_MINMAX_SINK */
- { 20063, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
- { 20082, 0x00008007 }, /* GL_MIN_EXT */
- { 20093, 0x00008370 }, /* GL_MIRRORED_REPEAT */
- { 20112, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
- { 20135, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
- { 20158, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
- { 20178, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
- { 20198, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- { 20228, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
- { 20256, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- { 20284, 0x00001700 }, /* GL_MODELVIEW */
- { 20297, 0x00001700 }, /* GL_MODELVIEW0_ARB */
- { 20315, 0x0000872A }, /* GL_MODELVIEW10_ARB */
- { 20334, 0x0000872B }, /* GL_MODELVIEW11_ARB */
- { 20353, 0x0000872C }, /* GL_MODELVIEW12_ARB */
- { 20372, 0x0000872D }, /* GL_MODELVIEW13_ARB */
- { 20391, 0x0000872E }, /* GL_MODELVIEW14_ARB */
- { 20410, 0x0000872F }, /* GL_MODELVIEW15_ARB */
- { 20429, 0x00008730 }, /* GL_MODELVIEW16_ARB */
- { 20448, 0x00008731 }, /* GL_MODELVIEW17_ARB */
- { 20467, 0x00008732 }, /* GL_MODELVIEW18_ARB */
- { 20486, 0x00008733 }, /* GL_MODELVIEW19_ARB */
- { 20505, 0x0000850A }, /* GL_MODELVIEW1_ARB */
- { 20523, 0x00008734 }, /* GL_MODELVIEW20_ARB */
- { 20542, 0x00008735 }, /* GL_MODELVIEW21_ARB */
- { 20561, 0x00008736 }, /* GL_MODELVIEW22_ARB */
- { 20580, 0x00008737 }, /* GL_MODELVIEW23_ARB */
- { 20599, 0x00008738 }, /* GL_MODELVIEW24_ARB */
- { 20618, 0x00008739 }, /* GL_MODELVIEW25_ARB */
- { 20637, 0x0000873A }, /* GL_MODELVIEW26_ARB */
- { 20656, 0x0000873B }, /* GL_MODELVIEW27_ARB */
- { 20675, 0x0000873C }, /* GL_MODELVIEW28_ARB */
- { 20694, 0x0000873D }, /* GL_MODELVIEW29_ARB */
- { 20713, 0x00008722 }, /* GL_MODELVIEW2_ARB */
- { 20731, 0x0000873E }, /* GL_MODELVIEW30_ARB */
- { 20750, 0x0000873F }, /* GL_MODELVIEW31_ARB */
- { 20769, 0x00008723 }, /* GL_MODELVIEW3_ARB */
- { 20787, 0x00008724 }, /* GL_MODELVIEW4_ARB */
- { 20805, 0x00008725 }, /* GL_MODELVIEW5_ARB */
- { 20823, 0x00008726 }, /* GL_MODELVIEW6_ARB */
- { 20841, 0x00008727 }, /* GL_MODELVIEW7_ARB */
- { 20859, 0x00008728 }, /* GL_MODELVIEW8_ARB */
- { 20877, 0x00008729 }, /* GL_MODELVIEW9_ARB */
- { 20895, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
- { 20915, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
- { 20942, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
- { 20967, 0x00002100 }, /* GL_MODULATE */
- { 20979, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
- { 20999, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
- { 21026, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
- { 21051, 0x00000103 }, /* GL_MULT */
- { 21059, 0x0000809D }, /* GL_MULTISAMPLE */
- { 21074, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
- { 21094, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
- { 21113, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
- { 21132, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
- { 21156, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
- { 21179, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- { 21209, 0x00002A25 }, /* GL_N3F_V3F */
- { 21220, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
- { 21240, 0x0000150E }, /* GL_NAND */
- { 21248, 0x00002600 }, /* GL_NEAREST */
- { 21259, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- { 21290, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- { 21322, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
- { 21347, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
- { 21373, 0x00000200 }, /* GL_NEVER */
- { 21382, 0x00001102 }, /* GL_NICEST */
- { 21392, 0x00000000 }, /* GL_NONE */
- { 21400, 0x00001505 }, /* GL_NOOP */
- { 21408, 0x00001508 }, /* GL_NOR */
- { 21415, 0x00000BA1 }, /* GL_NORMALIZE */
- { 21428, 0x00008075 }, /* GL_NORMAL_ARRAY */
- { 21444, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
- { 21475, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
- { 21510, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
- { 21534, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
- { 21557, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
- { 21578, 0x00008511 }, /* GL_NORMAL_MAP */
- { 21592, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
- { 21610, 0x00008511 }, /* GL_NORMAL_MAP_NV */
- { 21627, 0x00000205 }, /* GL_NOTEQUAL */
- { 21639, 0x00000000 }, /* GL_NO_ERROR */
- { 21651, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
- { 21685, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
- { 21723, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
- { 21755, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
- { 21797, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
- { 21827, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
- { 21867, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
- { 21898, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
- { 21927, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
- { 21955, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
- { 21985, 0x00002401 }, /* GL_OBJECT_LINEAR */
- { 22002, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
- { 22028, 0x00002501 }, /* GL_OBJECT_PLANE */
- { 22044, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
- { 22079, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
- { 22101, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
- { 22120, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
- { 22150, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
- { 22171, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
- { 22199, 0x00000001 }, /* GL_ONE */
- { 22206, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
- { 22234, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
- { 22266, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
- { 22294, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
- { 22326, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
- { 22349, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
- { 22372, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
- { 22395, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
- { 22418, 0x00008598 }, /* GL_OPERAND0_ALPHA */
- { 22436, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
- { 22458, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
- { 22480, 0x00008590 }, /* GL_OPERAND0_RGB */
- { 22496, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
- { 22516, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
- { 22536, 0x00008599 }, /* GL_OPERAND1_ALPHA */
- { 22554, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
- { 22576, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
- { 22598, 0x00008591 }, /* GL_OPERAND1_RGB */
- { 22614, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
- { 22634, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
- { 22654, 0x0000859A }, /* GL_OPERAND2_ALPHA */
- { 22672, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
- { 22694, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
- { 22716, 0x00008592 }, /* GL_OPERAND2_RGB */
- { 22732, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
- { 22752, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
- { 22772, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
- { 22793, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
- { 22812, 0x00001507 }, /* GL_OR */
- { 22818, 0x00000A01 }, /* GL_ORDER */
- { 22827, 0x0000150D }, /* GL_OR_INVERTED */
- { 22842, 0x0000150B }, /* GL_OR_REVERSE */
- { 22856, 0x00000505 }, /* GL_OUT_OF_MEMORY */
- { 22873, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
- { 22891, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
- { 22912, 0x00008758 }, /* GL_PACK_INVERT_MESA */
- { 22932, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
- { 22950, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
- { 22969, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
- { 22989, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
- { 23009, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
- { 23027, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
- { 23046, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
- { 23071, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
- { 23095, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
- { 23116, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
- { 23138, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
- { 23160, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
- { 23185, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
- { 23209, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
- { 23230, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
- { 23252, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
- { 23274, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
- { 23296, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
- { 23327, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
- { 23347, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- { 23372, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
- { 23392, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- { 23417, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
- { 23437, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- { 23462, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
- { 23482, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- { 23507, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
- { 23527, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- { 23552, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
- { 23572, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- { 23597, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
- { 23617, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- { 23642, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
- { 23662, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- { 23687, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
- { 23707, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- { 23732, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
- { 23752, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- { 23777, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
- { 23795, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */
- { 23816, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */
- { 23845, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
- { 23878, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
- { 23903, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */
- { 23926, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
- { 23957, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
- { 23992, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
- { 24019, 0x00001B00 }, /* GL_POINT */
- { 24028, 0x00000000 }, /* GL_POINTS */
- { 24038, 0x00000002 }, /* GL_POINT_BIT */
- { 24051, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
- { 24081, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
- { 24115, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
- { 24149, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
- { 24184, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
- { 24213, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
- { 24246, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
- { 24279, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
- { 24313, 0x00000B11 }, /* GL_POINT_SIZE */
- { 24327, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
- { 24353, 0x00008127 }, /* GL_POINT_SIZE_MAX */
- { 24371, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
- { 24393, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
- { 24415, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
- { 24438, 0x00008126 }, /* GL_POINT_SIZE_MIN */
- { 24456, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
- { 24478, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
- { 24500, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
- { 24523, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
- { 24543, 0x00000B10 }, /* GL_POINT_SMOOTH */
- { 24559, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
- { 24580, 0x00008861 }, /* GL_POINT_SPRITE */
- { 24596, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
- { 24616, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
- { 24645, 0x00008861 }, /* GL_POINT_SPRITE_NV */
- { 24664, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
- { 24690, 0x00000701 }, /* GL_POINT_TOKEN */
- { 24705, 0x00000009 }, /* GL_POLYGON */
- { 24716, 0x00000008 }, /* GL_POLYGON_BIT */
- { 24731, 0x00000B40 }, /* GL_POLYGON_MODE */
- { 24747, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
- { 24770, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
- { 24795, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
- { 24818, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
- { 24841, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
- { 24865, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
- { 24889, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
- { 24907, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
- { 24930, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
- { 24949, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
- { 24972, 0x00000703 }, /* GL_POLYGON_TOKEN */
- { 24989, 0x00001203 }, /* GL_POSITION */
- { 25001, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- { 25033, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
- { 25069, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- { 25102, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
- { 25139, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- { 25170, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
- { 25205, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- { 25237, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
- { 25273, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- { 25306, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- { 25338, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
- { 25374, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- { 25407, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
- { 25444, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- { 25474, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
- { 25508, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- { 25539, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
- { 25574, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- { 25605, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
- { 25640, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- { 25672, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
- { 25708, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- { 25738, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
- { 25772, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- { 25803, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
- { 25838, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- { 25870, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- { 25901, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
- { 25936, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- { 25968, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
- { 26004, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
- { 26033, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
- { 26066, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
- { 26096, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
- { 26130, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- { 26169, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- { 26202, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- { 26242, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- { 26276, 0x00008578 }, /* GL_PREVIOUS */
- { 26288, 0x00008578 }, /* GL_PREVIOUS_ARB */
- { 26304, 0x00008578 }, /* GL_PREVIOUS_EXT */
- { 26320, 0x00008577 }, /* GL_PRIMARY_COLOR */
- { 26337, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
- { 26358, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
- { 26379, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 26412, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 26444, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
- { 26467, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
- { 26490, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
- { 26520, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
- { 26549, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
- { 26577, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
- { 26599, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- { 26627, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- { 26655, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
- { 26677, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
- { 26698, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 26738, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 26777, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 26807, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 26842, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 26875, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 26909, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 26948, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 26987, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
- { 27009, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
- { 27035, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
- { 27059, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
- { 27082, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
- { 27104, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
- { 27125, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
- { 27146, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
- { 27173, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 27205, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 27237, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- { 27272, 0x00001701 }, /* GL_PROJECTION */
- { 27286, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
- { 27307, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
- { 27333, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */
- { 27357, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
- { 27378, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
- { 27397, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
- { 27420, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
- { 27459, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- { 27497, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
- { 27517, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
- { 27547, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
- { 27571, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
- { 27591, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
- { 27621, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
- { 27645, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
- { 27665, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- { 27698, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
- { 27724, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
- { 27754, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
- { 27785, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
- { 27815, 0x00002003 }, /* GL_Q */
- { 27820, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
- { 27845, 0x00000007 }, /* GL_QUADS */
- { 27854, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */
- { 27902, 0x00008614 }, /* GL_QUAD_MESH_SUN */
- { 27919, 0x00000008 }, /* GL_QUAD_STRIP */
- { 27933, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
- { 27955, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
- { 27981, 0x00008866 }, /* GL_QUERY_RESULT */
- { 27997, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
- { 28017, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
- { 28043, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
- { 28073, 0x00002002 }, /* GL_R */
- { 28078, 0x00002A10 }, /* GL_R3_G3_B2 */
- { 28090, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- { 28123, 0x00000C02 }, /* GL_READ_BUFFER */
- { 28138, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */
- { 28158, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
- { 28190, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
- { 28214, 0x000088B8 }, /* GL_READ_ONLY */
- { 28227, 0x000088B8 }, /* GL_READ_ONLY_ARB */
- { 28244, 0x000088BA }, /* GL_READ_WRITE */
- { 28258, 0x000088BA }, /* GL_READ_WRITE_ARB */
- { 28276, 0x00001903 }, /* GL_RED */
- { 28283, 0x00008016 }, /* GL_REDUCE */
- { 28293, 0x00008016 }, /* GL_REDUCE_EXT */
- { 28307, 0x00000D15 }, /* GL_RED_BIAS */
- { 28319, 0x00000D52 }, /* GL_RED_BITS */
- { 28331, 0x00000D14 }, /* GL_RED_SCALE */
- { 28344, 0x00008512 }, /* GL_REFLECTION_MAP */
- { 28362, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
- { 28384, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
- { 28405, 0x00001C00 }, /* GL_RENDER */
- { 28415, 0x00008D41 }, /* GL_RENDERBUFFER */
- { 28431, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */
- { 28458, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
- { 28486, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */
- { 28512, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */
- { 28539, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
- { 28559, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */
- { 28586, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */
- { 28609, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
- { 28636, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
- { 28668, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
- { 28704, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */
- { 28729, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */
- { 28753, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */
- { 28782, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */
- { 28804, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
- { 28830, 0x00001F01 }, /* GL_RENDERER */
- { 28842, 0x00000C40 }, /* GL_RENDER_MODE */
- { 28857, 0x00002901 }, /* GL_REPEAT */
- { 28867, 0x00001E01 }, /* GL_REPLACE */
- { 28878, 0x00008062 }, /* GL_REPLACE_EXT */
- { 28893, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
- { 28916, 0x0000803A }, /* GL_RESCALE_NORMAL */
- { 28934, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
- { 28956, 0x00000102 }, /* GL_RETURN */
- { 28966, 0x00001907 }, /* GL_RGB */
- { 28973, 0x00008052 }, /* GL_RGB10 */
- { 28982, 0x00008059 }, /* GL_RGB10_A2 */
- { 28994, 0x00008059 }, /* GL_RGB10_A2_EXT */
- { 29010, 0x00008052 }, /* GL_RGB10_EXT */
- { 29023, 0x00008053 }, /* GL_RGB12 */
- { 29032, 0x00008053 }, /* GL_RGB12_EXT */
- { 29045, 0x00008054 }, /* GL_RGB16 */
- { 29054, 0x00008054 }, /* GL_RGB16_EXT */
- { 29067, 0x0000804E }, /* GL_RGB2_EXT */
- { 29079, 0x0000804F }, /* GL_RGB4 */
- { 29087, 0x0000804F }, /* GL_RGB4_EXT */
- { 29099, 0x000083A1 }, /* GL_RGB4_S3TC */
- { 29112, 0x00008050 }, /* GL_RGB5 */
- { 29120, 0x00008057 }, /* GL_RGB5_A1 */
- { 29131, 0x00008057 }, /* GL_RGB5_A1_EXT */
- { 29146, 0x00008050 }, /* GL_RGB5_EXT */
- { 29158, 0x00008051 }, /* GL_RGB8 */
- { 29166, 0x00008051 }, /* GL_RGB8_EXT */
- { 29178, 0x00001908 }, /* GL_RGBA */
- { 29186, 0x0000805A }, /* GL_RGBA12 */
- { 29196, 0x0000805A }, /* GL_RGBA12_EXT */
- { 29210, 0x0000805B }, /* GL_RGBA16 */
- { 29220, 0x0000805B }, /* GL_RGBA16_EXT */
- { 29234, 0x00008055 }, /* GL_RGBA2 */
- { 29243, 0x00008055 }, /* GL_RGBA2_EXT */
- { 29256, 0x00008056 }, /* GL_RGBA4 */
- { 29265, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
- { 29284, 0x00008056 }, /* GL_RGBA4_EXT */
- { 29297, 0x000083A3 }, /* GL_RGBA4_S3TC */
- { 29311, 0x00008058 }, /* GL_RGBA8 */
- { 29320, 0x00008058 }, /* GL_RGBA8_EXT */
- { 29333, 0x00008F97 }, /* GL_RGBA8_SNORM */
- { 29348, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
- { 29366, 0x00000C31 }, /* GL_RGBA_MODE */
- { 29379, 0x000083A2 }, /* GL_RGBA_S3TC */
- { 29392, 0x00008F93 }, /* GL_RGBA_SNORM */
- { 29406, 0x000083A0 }, /* GL_RGB_S3TC */
- { 29418, 0x00008573 }, /* GL_RGB_SCALE */
- { 29431, 0x00008573 }, /* GL_RGB_SCALE_ARB */
- { 29448, 0x00008573 }, /* GL_RGB_SCALE_EXT */
- { 29465, 0x00000407 }, /* GL_RIGHT */
- { 29474, 0x00002000 }, /* GL_S */
- { 29479, 0x00008B5D }, /* GL_SAMPLER_1D */
- { 29493, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
- { 29514, 0x00008B5E }, /* GL_SAMPLER_2D */
- { 29528, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
- { 29549, 0x00008B5F }, /* GL_SAMPLER_3D */
- { 29563, 0x00008B60 }, /* GL_SAMPLER_CUBE */
- { 29579, 0x000080A9 }, /* GL_SAMPLES */
- { 29590, 0x000086B4 }, /* GL_SAMPLES_3DFX */
- { 29606, 0x000080A9 }, /* GL_SAMPLES_ARB */
- { 29621, 0x00008914 }, /* GL_SAMPLES_PASSED */
- { 29639, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
- { 29661, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- { 29689, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
- { 29721, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
- { 29744, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
- { 29771, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
- { 29789, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
- { 29812, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
- { 29834, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
- { 29853, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
- { 29876, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
- { 29902, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
- { 29932, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
- { 29957, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
- { 29986, 0x00080000 }, /* GL_SCISSOR_BIT */
- { 30001, 0x00000C10 }, /* GL_SCISSOR_BOX */
- { 30016, 0x00000C11 }, /* GL_SCISSOR_TEST */
- { 30032, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
- { 30057, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- { 30097, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
- { 30141, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- { 30174, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- { 30204, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- { 30236, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- { 30266, 0x00001C02 }, /* GL_SELECT */
- { 30276, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
- { 30304, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
- { 30329, 0x00008012 }, /* GL_SEPARABLE_2D */
- { 30345, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
- { 30372, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
- { 30403, 0x0000150F }, /* GL_SET */
- { 30410, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
- { 30431, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
- { 30455, 0x00008B4F }, /* GL_SHADER_TYPE */
- { 30470, 0x00000B54 }, /* GL_SHADE_MODEL */
- { 30485, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
- { 30513, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
- { 30536, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- { 30566, 0x00001601 }, /* GL_SHININESS */
- { 30579, 0x00001402 }, /* GL_SHORT */
- { 30588, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */
- { 30609, 0x000081F9 }, /* GL_SINGLE_COLOR */
- { 30625, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
- { 30645, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
- { 30664, 0x00008C46 }, /* GL_SLUMINANCE */
- { 30678, 0x00008C47 }, /* GL_SLUMINANCE8 */
- { 30693, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */
- { 30715, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */
- { 30735, 0x00001D01 }, /* GL_SMOOTH */
- { 30745, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
- { 30778, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
- { 30805, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
- { 30838, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
- { 30865, 0x00008588 }, /* GL_SOURCE0_ALPHA */
- { 30882, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
- { 30903, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
- { 30924, 0x00008580 }, /* GL_SOURCE0_RGB */
- { 30939, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
- { 30958, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
- { 30977, 0x00008589 }, /* GL_SOURCE1_ALPHA */
- { 30994, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
- { 31015, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
- { 31036, 0x00008581 }, /* GL_SOURCE1_RGB */
- { 31051, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
- { 31070, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
- { 31089, 0x0000858A }, /* GL_SOURCE2_ALPHA */
- { 31106, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
- { 31127, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
- { 31148, 0x00008582 }, /* GL_SOURCE2_RGB */
- { 31163, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
- { 31182, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
- { 31201, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
- { 31221, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
- { 31239, 0x00001202 }, /* GL_SPECULAR */
- { 31251, 0x00002402 }, /* GL_SPHERE_MAP */
- { 31265, 0x00001206 }, /* GL_SPOT_CUTOFF */
- { 31280, 0x00001204 }, /* GL_SPOT_DIRECTION */
- { 31298, 0x00001205 }, /* GL_SPOT_EXPONENT */
- { 31315, 0x00008588 }, /* GL_SRC0_ALPHA */
- { 31329, 0x00008580 }, /* GL_SRC0_RGB */
- { 31341, 0x00008589 }, /* GL_SRC1_ALPHA */
- { 31355, 0x00008581 }, /* GL_SRC1_RGB */
- { 31367, 0x0000858A }, /* GL_SRC2_ALPHA */
- { 31381, 0x00008582 }, /* GL_SRC2_RGB */
- { 31393, 0x00000302 }, /* GL_SRC_ALPHA */
- { 31406, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
- { 31428, 0x00000300 }, /* GL_SRC_COLOR */
- { 31441, 0x00008C40 }, /* GL_SRGB */
- { 31449, 0x00008C41 }, /* GL_SRGB8 */
- { 31458, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */
- { 31474, 0x00008C42 }, /* GL_SRGB_ALPHA */
- { 31488, 0x00000503 }, /* GL_STACK_OVERFLOW */
- { 31506, 0x00000504 }, /* GL_STACK_UNDERFLOW */
- { 31525, 0x000088E6 }, /* GL_STATIC_COPY */
- { 31540, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
- { 31559, 0x000088E4 }, /* GL_STATIC_DRAW */
- { 31574, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
- { 31593, 0x000088E5 }, /* GL_STATIC_READ */
- { 31608, 0x000088E5 }, /* GL_STATIC_READ_ARB */
- { 31627, 0x00001802 }, /* GL_STENCIL */
- { 31638, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */
- { 31660, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
- { 31686, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
- { 31707, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */
- { 31732, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
- { 31753, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */
- { 31778, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- { 31810, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */
- { 31846, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- { 31878, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */
- { 31914, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
- { 31934, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
- { 31961, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
- { 31987, 0x00000D57 }, /* GL_STENCIL_BITS */
- { 32003, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
- { 32025, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
- { 32048, 0x00000B94 }, /* GL_STENCIL_FAIL */
- { 32064, 0x00000B92 }, /* GL_STENCIL_FUNC */
- { 32080, 0x00001901 }, /* GL_STENCIL_INDEX */
- { 32097, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
- { 32120, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
- { 32142, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
- { 32164, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
- { 32186, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
- { 32207, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
- { 32234, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
- { 32261, 0x00000B97 }, /* GL_STENCIL_REF */
- { 32276, 0x00000B90 }, /* GL_STENCIL_TEST */
- { 32292, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
- { 32321, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
- { 32343, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
- { 32364, 0x00000C33 }, /* GL_STEREO */
- { 32374, 0x000088E2 }, /* GL_STREAM_COPY */
- { 32389, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
- { 32408, 0x000088E0 }, /* GL_STREAM_DRAW */
- { 32423, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
- { 32442, 0x000088E1 }, /* GL_STREAM_READ */
- { 32457, 0x000088E1 }, /* GL_STREAM_READ_ARB */
- { 32476, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
- { 32493, 0x000084E7 }, /* GL_SUBTRACT */
- { 32505, 0x000084E7 }, /* GL_SUBTRACT_ARB */
- { 32521, 0x00002001 }, /* GL_T */
- { 32526, 0x00002A2A }, /* GL_T2F_C3F_V3F */
- { 32541, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
- { 32560, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
- { 32576, 0x00002A2B }, /* GL_T2F_N3F_V3F */
- { 32591, 0x00002A27 }, /* GL_T2F_V3F */
- { 32602, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
- { 32621, 0x00002A28 }, /* GL_T4F_V4F */
- { 32632, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
- { 32655, 0x00001702 }, /* GL_TEXTURE */
- { 32666, 0x000084C0 }, /* GL_TEXTURE0 */
- { 32678, 0x000084C0 }, /* GL_TEXTURE0_ARB */
- { 32694, 0x000084C1 }, /* GL_TEXTURE1 */
- { 32706, 0x000084CA }, /* GL_TEXTURE10 */
- { 32719, 0x000084CA }, /* GL_TEXTURE10_ARB */
- { 32736, 0x000084CB }, /* GL_TEXTURE11 */
- { 32749, 0x000084CB }, /* GL_TEXTURE11_ARB */
- { 32766, 0x000084CC }, /* GL_TEXTURE12 */
- { 32779, 0x000084CC }, /* GL_TEXTURE12_ARB */
- { 32796, 0x000084CD }, /* GL_TEXTURE13 */
- { 32809, 0x000084CD }, /* GL_TEXTURE13_ARB */
- { 32826, 0x000084CE }, /* GL_TEXTURE14 */
- { 32839, 0x000084CE }, /* GL_TEXTURE14_ARB */
- { 32856, 0x000084CF }, /* GL_TEXTURE15 */
- { 32869, 0x000084CF }, /* GL_TEXTURE15_ARB */
- { 32886, 0x000084D0 }, /* GL_TEXTURE16 */
- { 32899, 0x000084D0 }, /* GL_TEXTURE16_ARB */
- { 32916, 0x000084D1 }, /* GL_TEXTURE17 */
- { 32929, 0x000084D1 }, /* GL_TEXTURE17_ARB */
- { 32946, 0x000084D2 }, /* GL_TEXTURE18 */
- { 32959, 0x000084D2 }, /* GL_TEXTURE18_ARB */
- { 32976, 0x000084D3 }, /* GL_TEXTURE19 */
- { 32989, 0x000084D3 }, /* GL_TEXTURE19_ARB */
- { 33006, 0x000084C1 }, /* GL_TEXTURE1_ARB */
- { 33022, 0x000084C2 }, /* GL_TEXTURE2 */
- { 33034, 0x000084D4 }, /* GL_TEXTURE20 */
- { 33047, 0x000084D4 }, /* GL_TEXTURE20_ARB */
- { 33064, 0x000084D5 }, /* GL_TEXTURE21 */
- { 33077, 0x000084D5 }, /* GL_TEXTURE21_ARB */
- { 33094, 0x000084D6 }, /* GL_TEXTURE22 */
- { 33107, 0x000084D6 }, /* GL_TEXTURE22_ARB */
- { 33124, 0x000084D7 }, /* GL_TEXTURE23 */
- { 33137, 0x000084D7 }, /* GL_TEXTURE23_ARB */
- { 33154, 0x000084D8 }, /* GL_TEXTURE24 */
- { 33167, 0x000084D8 }, /* GL_TEXTURE24_ARB */
- { 33184, 0x000084D9 }, /* GL_TEXTURE25 */
- { 33197, 0x000084D9 }, /* GL_TEXTURE25_ARB */
- { 33214, 0x000084DA }, /* GL_TEXTURE26 */
- { 33227, 0x000084DA }, /* GL_TEXTURE26_ARB */
- { 33244, 0x000084DB }, /* GL_TEXTURE27 */
- { 33257, 0x000084DB }, /* GL_TEXTURE27_ARB */
- { 33274, 0x000084DC }, /* GL_TEXTURE28 */
- { 33287, 0x000084DC }, /* GL_TEXTURE28_ARB */
- { 33304, 0x000084DD }, /* GL_TEXTURE29 */
- { 33317, 0x000084DD }, /* GL_TEXTURE29_ARB */
- { 33334, 0x000084C2 }, /* GL_TEXTURE2_ARB */
- { 33350, 0x000084C3 }, /* GL_TEXTURE3 */
- { 33362, 0x000084DE }, /* GL_TEXTURE30 */
- { 33375, 0x000084DE }, /* GL_TEXTURE30_ARB */
- { 33392, 0x000084DF }, /* GL_TEXTURE31 */
- { 33405, 0x000084DF }, /* GL_TEXTURE31_ARB */
- { 33422, 0x000084C3 }, /* GL_TEXTURE3_ARB */
- { 33438, 0x000084C4 }, /* GL_TEXTURE4 */
- { 33450, 0x000084C4 }, /* GL_TEXTURE4_ARB */
- { 33466, 0x000084C5 }, /* GL_TEXTURE5 */
- { 33478, 0x000084C5 }, /* GL_TEXTURE5_ARB */
- { 33494, 0x000084C6 }, /* GL_TEXTURE6 */
- { 33506, 0x000084C6 }, /* GL_TEXTURE6_ARB */
- { 33522, 0x000084C7 }, /* GL_TEXTURE7 */
- { 33534, 0x000084C7 }, /* GL_TEXTURE7_ARB */
- { 33550, 0x000084C8 }, /* GL_TEXTURE8 */
- { 33562, 0x000084C8 }, /* GL_TEXTURE8_ARB */
- { 33578, 0x000084C9 }, /* GL_TEXTURE9 */
- { 33590, 0x000084C9 }, /* GL_TEXTURE9_ARB */
- { 33606, 0x00000DE0 }, /* GL_TEXTURE_1D */
- { 33620, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */
- { 33644, 0x00000DE1 }, /* GL_TEXTURE_2D */
- { 33658, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */
- { 33682, 0x0000806F }, /* GL_TEXTURE_3D */
- { 33696, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
- { 33718, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
- { 33744, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
- { 33766, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
- { 33788, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
- { 33820, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
- { 33842, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
- { 33874, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
- { 33896, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
- { 33924, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
- { 33956, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
- { 33989, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
- { 34021, 0x00040000 }, /* GL_TEXTURE_BIT */
- { 34036, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
- { 34057, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
- { 34082, 0x00001005 }, /* GL_TEXTURE_BORDER */
- { 34100, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
- { 34124, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- { 34155, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- { 34185, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- { 34215, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- { 34250, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- { 34281, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 34319, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
- { 34346, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- { 34378, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
- { 34412, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
- { 34436, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
- { 34464, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
- { 34488, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
- { 34516, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- { 34549, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
- { 34573, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
- { 34595, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
- { 34617, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
- { 34643, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
- { 34677, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- { 34710, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
- { 34747, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
- { 34775, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
- { 34807, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
- { 34830, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- { 34868, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
- { 34910, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- { 34941, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- { 34969, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- { 34999, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- { 35027, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
- { 35047, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
- { 35071, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- { 35102, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
- { 35137, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- { 35168, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
- { 35203, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- { 35234, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
- { 35269, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- { 35300, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
- { 35335, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- { 35366, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
- { 35401, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- { 35432, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
- { 35467, 0x00008071 }, /* GL_TEXTURE_DEPTH */
- { 35484, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
- { 35506, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
- { 35532, 0x00002300 }, /* GL_TEXTURE_ENV */
- { 35547, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
- { 35568, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
- { 35588, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
- { 35614, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
- { 35634, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
- { 35651, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
- { 35668, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
- { 35685, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
- { 35702, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
- { 35727, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
- { 35749, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
- { 35775, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
- { 35793, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
- { 35819, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
- { 35845, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
- { 35875, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
- { 35902, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
- { 35927, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
- { 35947, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
- { 35971, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- { 35998, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- { 36025, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- { 36052, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
- { 36078, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
- { 36108, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
- { 36130, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
- { 36148, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- { 36178, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- { 36206, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- { 36234, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- { 36262, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
- { 36283, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
- { 36302, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
- { 36324, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
- { 36343, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
- { 36363, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
- { 36388, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
- { 36412, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
- { 36432, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
- { 36456, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
- { 36476, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
- { 36499, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */
- { 36523, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
- { 36548, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- { 36582, 0x00001000 }, /* GL_TEXTURE_WIDTH */
- { 36599, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
- { 36617, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
- { 36635, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
- { 36653, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
- { 36673, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
- { 36692, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- { 36721, 0x00001000 }, /* GL_TRANSFORM_BIT */
- { 36738, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
- { 36764, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
- { 36794, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- { 36826, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- { 36856, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
- { 36890, 0x0000862C }, /* GL_TRANSPOSE_NV */
- { 36906, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- { 36937, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
- { 36972, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- { 37000, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
- { 37032, 0x00000004 }, /* GL_TRIANGLES */
- { 37045, 0x00000006 }, /* GL_TRIANGLE_FAN */
- { 37061, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
- { 37082, 0x00000005 }, /* GL_TRIANGLE_STRIP */
- { 37100, 0x00000001 }, /* GL_TRUE */
- { 37108, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
- { 37128, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
- { 37151, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
- { 37171, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
- { 37192, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
- { 37214, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
- { 37236, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
- { 37256, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
- { 37277, 0x00001401 }, /* GL_UNSIGNED_BYTE */
- { 37294, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- { 37321, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
- { 37344, 0x00001405 }, /* GL_UNSIGNED_INT */
- { 37360, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
- { 37387, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */
- { 37408, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
- { 37432, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- { 37463, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
- { 37487, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- { 37515, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */
- { 37538, 0x00001403 }, /* GL_UNSIGNED_SHORT */
- { 37556, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- { 37586, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- { 37612, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- { 37642, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- { 37668, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
- { 37692, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- { 37720, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- { 37748, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
- { 37775, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- { 37807, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
- { 37838, 0x00008CA2 }, /* GL_UPPER_LEFT */
- { 37852, 0x00002A20 }, /* GL_V2F */
- { 37859, 0x00002A21 }, /* GL_V3F */
- { 37866, 0x00008B83 }, /* GL_VALIDATE_STATUS */
- { 37885, 0x00001F00 }, /* GL_VENDOR */
- { 37895, 0x00001F02 }, /* GL_VERSION */
- { 37906, 0x00008074 }, /* GL_VERTEX_ARRAY */
- { 37922, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */
- { 37946, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
- { 37976, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- { 38007, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
- { 38042, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
- { 38066, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
- { 38087, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
- { 38110, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
- { 38131, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- { 38158, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- { 38186, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- { 38214, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- { 38242, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- { 38270, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- { 38298, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- { 38326, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- { 38353, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- { 38380, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- { 38407, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- { 38434, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- { 38461, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- { 38488, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- { 38515, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- { 38542, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- { 38569, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- { 38607, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
- { 38649, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- { 38680, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
- { 38715, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- { 38749, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
- { 38787, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- { 38818, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
- { 38853, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- { 38881, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
- { 38913, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- { 38943, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
- { 38977, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- { 39005, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
- { 39037, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
- { 39057, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
- { 39079, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
- { 39108, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
- { 39129, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
- { 39158, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
- { 39191, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
- { 39223, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- { 39250, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
- { 39281, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
- { 39311, 0x00008B31 }, /* GL_VERTEX_SHADER */
- { 39328, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
- { 39349, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
- { 39376, 0x00000BA2 }, /* GL_VIEWPORT */
- { 39388, 0x00000800 }, /* GL_VIEWPORT_BIT */
- { 39404, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
- { 39424, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- { 39455, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
- { 39490, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- { 39518, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- { 39543, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- { 39570, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- { 39595, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
- { 39619, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
- { 39638, 0x000088B9 }, /* GL_WRITE_ONLY */
- { 39652, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
- { 39670, 0x00001506 }, /* GL_XOR */
- { 39677, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
- { 39696, 0x00008757 }, /* GL_YCBCR_MESA */
- { 39710, 0x00000000 }, /* GL_ZERO */
- { 39718, 0x00000D16 }, /* GL_ZOOM_X */
- { 39728, 0x00000D17 }, /* GL_ZOOM_Y */
+ { 1687, 0x00008A13 }, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */
+ { 1718, 0x000088BC }, /* GL_BUFFER_MAPPED */
+ { 1735, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */
+ { 1756, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */
+ { 1778, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */
+ { 1804, 0x00008A12 }, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */
+ { 1838, 0x00008764 }, /* GL_BUFFER_SIZE */
+ { 1853, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */
+ { 1872, 0x00008765 }, /* GL_BUFFER_USAGE */
+ { 1888, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */
+ { 1908, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */
+ { 1927, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */
+ { 1953, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */
+ { 1976, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
+ { 2004, 0x0000877C }, /* GL_BUMP_TARGET_ATI */
+ { 2023, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */
+ { 2045, 0x00001400 }, /* GL_BYTE */
+ { 2053, 0x00002A24 }, /* GL_C3F_V3F */
+ { 2064, 0x00002A26 }, /* GL_C4F_N3F_V3F */
+ { 2079, 0x00002A22 }, /* GL_C4UB_V2F */
+ { 2091, 0x00002A23 }, /* GL_C4UB_V3F */
+ { 2103, 0x00000901 }, /* GL_CCW */
+ { 2110, 0x00002900 }, /* GL_CLAMP */
+ { 2119, 0x0000812D }, /* GL_CLAMP_TO_BORDER */
+ { 2138, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */
+ { 2161, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */
+ { 2185, 0x0000812F }, /* GL_CLAMP_TO_EDGE */
+ { 2202, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */
+ { 2224, 0x00001500 }, /* GL_CLEAR */
+ { 2233, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */
+ { 2258, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */
+ { 2287, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */
+ { 2313, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
+ { 2342, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */
+ { 2368, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */
+ { 2395, 0x00003000 }, /* GL_CLIP_PLANE0 */
+ { 2410, 0x00003001 }, /* GL_CLIP_PLANE1 */
+ { 2425, 0x00003002 }, /* GL_CLIP_PLANE2 */
+ { 2440, 0x00003003 }, /* GL_CLIP_PLANE3 */
+ { 2455, 0x00003004 }, /* GL_CLIP_PLANE4 */
+ { 2470, 0x00003005 }, /* GL_CLIP_PLANE5 */
+ { 2485, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
+ { 2518, 0x00000A00 }, /* GL_COEFF */
+ { 2527, 0x00001800 }, /* GL_COLOR */
+ { 2536, 0x00008076 }, /* GL_COLOR_ARRAY */
+ { 2551, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */
+ { 2581, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */
+ { 2615, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */
+ { 2638, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */
+ { 2658, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */
+ { 2680, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */
+ { 2700, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */
+ { 2721, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */
+ { 2746, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */
+ { 2767, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */
+ { 2789, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */
+ { 2815, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */
+ { 2837, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */
+ { 2863, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */
+ { 2885, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */
+ { 2911, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */
+ { 2933, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */
+ { 2959, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */
+ { 2981, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */
+ { 3007, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */
+ { 3029, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */
+ { 3055, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */
+ { 3080, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */
+ { 3101, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */
+ { 3126, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */
+ { 3147, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */
+ { 3172, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */
+ { 3193, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */
+ { 3218, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */
+ { 3239, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */
+ { 3264, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */
+ { 3285, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */
+ { 3310, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */
+ { 3331, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */
+ { 3356, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */
+ { 3377, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */
+ { 3402, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */
+ { 3423, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */
+ { 3448, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */
+ { 3468, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */
+ { 3489, 0x00001900 }, /* GL_COLOR_INDEX */
+ { 3504, 0x00001603 }, /* GL_COLOR_INDEXES */
+ { 3521, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */
+ { 3539, 0x00000B57 }, /* GL_COLOR_MATERIAL */
+ { 3557, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */
+ { 3580, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */
+ { 3608, 0x000080B1 }, /* GL_COLOR_MATRIX */
+ { 3624, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */
+ { 3644, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */
+ { 3672, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */
+ { 3704, 0x00008458 }, /* GL_COLOR_SUM */
+ { 3717, 0x00008458 }, /* GL_COLOR_SUM_ARB */
+ { 3734, 0x000080D0 }, /* GL_COLOR_TABLE */
+ { 3749, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */
+ { 3775, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */
+ { 3805, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */
+ { 3835, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */
+ { 3855, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */
+ { 3879, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */
+ { 3904, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */
+ { 3933, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */
+ { 3962, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */
+ { 3984, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */
+ { 4010, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */
+ { 4036, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */
+ { 4062, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */
+ { 4092, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */
+ { 4122, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */
+ { 4152, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */
+ { 4186, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */
+ { 4220, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
+ { 4250, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */
+ { 4284, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */
+ { 4318, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */
+ { 4342, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */
+ { 4370, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */
+ { 4398, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */
+ { 4419, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */
+ { 4444, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */
+ { 4465, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */
+ { 4490, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */
+ { 4515, 0x00000C23 }, /* GL_COLOR_WRITEMASK */
+ { 4534, 0x00008570 }, /* GL_COMBINE */
+ { 4545, 0x00008503 }, /* GL_COMBINE4 */
+ { 4557, 0x00008572 }, /* GL_COMBINE_ALPHA */
+ { 4574, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */
+ { 4595, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */
+ { 4616, 0x00008570 }, /* GL_COMBINE_ARB */
+ { 4631, 0x00008570 }, /* GL_COMBINE_EXT */
+ { 4646, 0x00008571 }, /* GL_COMBINE_RGB */
+ { 4661, 0x00008571 }, /* GL_COMBINE_RGB_ARB */
+ { 4680, 0x00008571 }, /* GL_COMBINE_RGB_EXT */
+ { 4699, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */
+ { 4735, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */
+ { 4759, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */
+ { 4787, 0x00001300 }, /* GL_COMPILE */
+ { 4798, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */
+ { 4821, 0x00008B81 }, /* GL_COMPILE_STATUS */
+ { 4839, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */
+ { 4859, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */
+ { 4883, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */
+ { 4907, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */
+ { 4935, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */
+ { 4959, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */
+ { 4989, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */
+ { 5023, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */
+ { 5051, 0x000084ED }, /* GL_COMPRESSED_RGB */
+ { 5069, 0x000084EE }, /* GL_COMPRESSED_RGBA */
+ { 5088, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */
+ { 5111, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
+ { 5140, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
+ { 5173, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
+ { 5206, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
+ { 5239, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */
+ { 5261, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */
+ { 5289, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
+ { 5321, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */
+ { 5346, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
+ { 5377, 0x00008C48 }, /* GL_COMPRESSED_SRGB */
+ { 5396, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */
+ { 5421, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */
+ { 5451, 0x00008576 }, /* GL_CONSTANT */
+ { 5463, 0x00008003 }, /* GL_CONSTANT_ALPHA */
+ { 5481, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */
+ { 5503, 0x00008576 }, /* GL_CONSTANT_ARB */
+ { 5519, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */
+ { 5543, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */
+ { 5565, 0x00008001 }, /* GL_CONSTANT_COLOR */
+ { 5583, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */
+ { 5605, 0x00008576 }, /* GL_CONSTANT_EXT */
+ { 5621, 0x00008010 }, /* GL_CONVOLUTION_1D */
+ { 5639, 0x00008011 }, /* GL_CONVOLUTION_2D */
+ { 5657, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */
+ { 5685, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */
+ { 5716, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */
+ { 5743, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */
+ { 5774, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */
+ { 5801, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */
+ { 5832, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */
+ { 5860, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */
+ { 5892, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */
+ { 5914, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */
+ { 5940, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */
+ { 5962, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */
+ { 5988, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */
+ { 6009, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */
+ { 6034, 0x00008862 }, /* GL_COORD_REPLACE */
+ { 6051, 0x00008862 }, /* GL_COORD_REPLACE_ARB */
+ { 6072, 0x00008862 }, /* GL_COORD_REPLACE_NV */
+ { 6092, 0x00001503 }, /* GL_COPY */
+ { 6100, 0x0000150C }, /* GL_COPY_INVERTED */
+ { 6117, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
+ { 6137, 0x00008F36 }, /* GL_COPY_READ_BUFFER */
+ { 6157, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */
+ { 6178, 0x00000B44 }, /* GL_CULL_FACE */
+ { 6191, 0x00000B45 }, /* GL_CULL_FACE_MODE */
+ { 6209, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
+ { 6228, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+ { 6260, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+ { 6295, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
+ { 6316, 0x00000001 }, /* GL_CURRENT_BIT */
+ { 6331, 0x00000B00 }, /* GL_CURRENT_COLOR */
+ { 6348, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
+ { 6369, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
+ { 6395, 0x00000B01 }, /* GL_CURRENT_INDEX */
+ { 6412, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
+ { 6434, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
+ { 6462, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
+ { 6483, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+ { 6517, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
+ { 6550, 0x00000B02 }, /* GL_CURRENT_NORMAL */
+ { 6568, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+ { 6598, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
+ { 6617, 0x00008865 }, /* GL_CURRENT_QUERY */
+ { 6634, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
+ { 6655, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
+ { 6679, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
+ { 6706, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
+ { 6730, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
+ { 6757, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
+ { 6790, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
+ { 6824, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+ { 6857, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
+ { 6884, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
+ { 6910, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
+ { 6935, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
+ { 6964, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
+ { 6986, 0x00000900 }, /* GL_CW */
+ { 6992, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
+ { 7013, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
+ { 7034, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
+ { 7054, 0x00002101 }, /* GL_DECAL */
+ { 7063, 0x00001E03 }, /* GL_DECR */
+ { 7071, 0x00008508 }, /* GL_DECR_WRAP */
+ { 7084, 0x00008508 }, /* GL_DECR_WRAP_EXT */
+ { 7101, 0x00008B80 }, /* GL_DELETE_STATUS */
+ { 7118, 0x00001801 }, /* GL_DEPTH */
+ { 7127, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */
+ { 7147, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */
+ { 7167, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
+ { 7191, 0x00000D1F }, /* GL_DEPTH_BIAS */
+ { 7205, 0x00000D56 }, /* GL_DEPTH_BITS */
+ { 7219, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
+ { 7239, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
+ { 7264, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
+ { 7284, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
+ { 7302, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
+ { 7323, 0x00001902 }, /* GL_DEPTH_COMPONENT */
+ { 7342, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
+ { 7363, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
+ { 7388, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
+ { 7414, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
+ { 7435, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
+ { 7460, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
+ { 7486, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
+ { 7507, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
+ { 7532, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
+ { 7558, 0x00000B74 }, /* GL_DEPTH_FUNC */
+ { 7572, 0x00000B70 }, /* GL_DEPTH_RANGE */
+ { 7587, 0x00000D1E }, /* GL_DEPTH_SCALE */
+ { 7602, 0x000084F9 }, /* GL_DEPTH_STENCIL */
+ { 7619, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */
+ { 7647, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
+ { 7667, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+ { 7695, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+ { 7723, 0x00000B71 }, /* GL_DEPTH_TEST */
+ { 7737, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
+ { 7759, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
+ { 7785, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
+ { 7804, 0x00001201 }, /* GL_DIFFUSE */
+ { 7815, 0x00000BD0 }, /* GL_DITHER */
+ { 7825, 0x00000A02 }, /* GL_DOMAIN */
+ { 7835, 0x00001100 }, /* GL_DONT_CARE */
+ { 7848, 0x000086AE }, /* GL_DOT3_RGB */
+ { 7860, 0x000086AF }, /* GL_DOT3_RGBA */
+ { 7873, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
+ { 7890, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
+ { 7907, 0x000086AE }, /* GL_DOT3_RGB_ARB */
+ { 7923, 0x00008740 }, /* GL_DOT3_RGB_EXT */
+ { 7939, 0x0000140A }, /* GL_DOUBLE */
+ { 7949, 0x00000C32 }, /* GL_DOUBLEBUFFER */
+ { 7965, 0x00000C01 }, /* GL_DRAW_BUFFER */
+ { 7980, 0x00008825 }, /* GL_DRAW_BUFFER0 */
+ { 7996, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
+ { 8016, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
+ { 8036, 0x00008826 }, /* GL_DRAW_BUFFER1 */
+ { 8052, 0x0000882F }, /* GL_DRAW_BUFFER10 */
+ { 8069, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
+ { 8090, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
+ { 8111, 0x00008830 }, /* GL_DRAW_BUFFER11 */
+ { 8128, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
+ { 8149, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
+ { 8170, 0x00008831 }, /* GL_DRAW_BUFFER12 */
+ { 8187, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
+ { 8208, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
+ { 8229, 0x00008832 }, /* GL_DRAW_BUFFER13 */
+ { 8246, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
+ { 8267, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
+ { 8288, 0x00008833 }, /* GL_DRAW_BUFFER14 */
+ { 8305, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
+ { 8326, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
+ { 8347, 0x00008834 }, /* GL_DRAW_BUFFER15 */
+ { 8364, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
+ { 8385, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
+ { 8406, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
+ { 8426, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
+ { 8446, 0x00008827 }, /* GL_DRAW_BUFFER2 */
+ { 8462, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
+ { 8482, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
+ { 8502, 0x00008828 }, /* GL_DRAW_BUFFER3 */
+ { 8518, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
+ { 8538, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
+ { 8558, 0x00008829 }, /* GL_DRAW_BUFFER4 */
+ { 8574, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
+ { 8594, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
+ { 8614, 0x0000882A }, /* GL_DRAW_BUFFER5 */
+ { 8630, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
+ { 8650, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
+ { 8670, 0x0000882B }, /* GL_DRAW_BUFFER6 */
+ { 8686, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
+ { 8706, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
+ { 8726, 0x0000882C }, /* GL_DRAW_BUFFER7 */
+ { 8742, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
+ { 8762, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
+ { 8782, 0x0000882D }, /* GL_DRAW_BUFFER8 */
+ { 8798, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
+ { 8818, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
+ { 8838, 0x0000882E }, /* GL_DRAW_BUFFER9 */
+ { 8854, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
+ { 8874, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
+ { 8894, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */
+ { 8914, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
+ { 8946, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
+ { 8970, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
+ { 8990, 0x00000304 }, /* GL_DST_ALPHA */
+ { 9003, 0x00000306 }, /* GL_DST_COLOR */
+ { 9016, 0x0000877A }, /* GL_DU8DV8_ATI */
+ { 9030, 0x00008779 }, /* GL_DUDV_ATI */
+ { 9042, 0x000088EA }, /* GL_DYNAMIC_COPY */
+ { 9058, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
+ { 9078, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
+ { 9094, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
+ { 9114, 0x000088E9 }, /* GL_DYNAMIC_READ */
+ { 9130, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
+ { 9150, 0x00000B43 }, /* GL_EDGE_FLAG */
+ { 9163, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
+ { 9182, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+ { 9216, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
+ { 9254, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
+ { 9281, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+ { 9307, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
+ { 9331, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+ { 9363, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
+ { 9399, 0x00001600 }, /* GL_EMISSION */
+ { 9411, 0x00002000 }, /* GL_ENABLE_BIT */
+ { 9425, 0x00000202 }, /* GL_EQUAL */
+ { 9434, 0x00001509 }, /* GL_EQUIV */
+ { 9443, 0x00010000 }, /* GL_EVAL_BIT */
+ { 9455, 0x00000800 }, /* GL_EXP */
+ { 9462, 0x00000801 }, /* GL_EXP2 */
+ { 9470, 0x00001F03 }, /* GL_EXTENSIONS */
+ { 9484, 0x00002400 }, /* GL_EYE_LINEAR */
+ { 9498, 0x00002502 }, /* GL_EYE_PLANE */
+ { 9511, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
+ { 9536, 0x0000855B }, /* GL_EYE_RADIAL_NV */
+ { 9553, 0x00000000 }, /* GL_FALSE */
+ { 9562, 0x00001101 }, /* GL_FASTEST */
+ { 9573, 0x00001C01 }, /* GL_FEEDBACK */
+ { 9585, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
+ { 9612, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
+ { 9636, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
+ { 9660, 0x00001B02 }, /* GL_FILL */
+ { 9668, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */
+ { 9699, 0x00001D00 }, /* GL_FLAT */
+ { 9707, 0x00001406 }, /* GL_FLOAT */
+ { 9716, 0x00008B5A }, /* GL_FLOAT_MAT2 */
+ { 9730, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
+ { 9748, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */
+ { 9764, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */
+ { 9780, 0x00008B5B }, /* GL_FLOAT_MAT3 */
+ { 9794, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
+ { 9812, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */
+ { 9828, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */
+ { 9844, 0x00008B5C }, /* GL_FLOAT_MAT4 */
+ { 9858, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
+ { 9876, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */
+ { 9892, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */
+ { 9908, 0x00008B50 }, /* GL_FLOAT_VEC2 */
+ { 9922, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
+ { 9940, 0x00008B51 }, /* GL_FLOAT_VEC3 */
+ { 9954, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
+ { 9972, 0x00008B52 }, /* GL_FLOAT_VEC4 */
+ { 9986, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
+ { 10004, 0x00000B60 }, /* GL_FOG */
+ { 10011, 0x00000080 }, /* GL_FOG_BIT */
+ { 10022, 0x00000B66 }, /* GL_FOG_COLOR */
+ { 10035, 0x00008451 }, /* GL_FOG_COORD */
+ { 10048, 0x00008451 }, /* GL_FOG_COORDINATE */
+ { 10066, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
+ { 10090, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+ { 10129, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
+ { 10172, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+ { 10204, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+ { 10235, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+ { 10264, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
+ { 10289, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
+ { 10308, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
+ { 10342, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
+ { 10369, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
+ { 10395, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
+ { 10419, 0x00008450 }, /* GL_FOG_COORD_SRC */
+ { 10436, 0x00000B62 }, /* GL_FOG_DENSITY */
+ { 10451, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
+ { 10475, 0x00000B64 }, /* GL_FOG_END */
+ { 10486, 0x00000C54 }, /* GL_FOG_HINT */
+ { 10498, 0x00000B61 }, /* GL_FOG_INDEX */
+ { 10511, 0x00000B65 }, /* GL_FOG_MODE */
+ { 10523, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
+ { 10542, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
+ { 10567, 0x00000B63 }, /* GL_FOG_START */
+ { 10580, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
+ { 10598, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
+ { 10622, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
+ { 10641, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
+ { 10664, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+ { 10699, 0x00008D40 }, /* GL_FRAMEBUFFER */
+ { 10714, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
+ { 10751, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
+ { 10787, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
+ { 10828, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
+ { 10869, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
+ { 10906, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
+ { 10943, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
+ { 10981, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
+ { 11023, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
+ { 11061, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
+ { 11103, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
+ { 11138, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
+ { 11177, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
+ { 11226, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
+ { 11274, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
+ { 11326, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+ { 11366, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
+ { 11410, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
+ { 11450, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
+ { 11494, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
+ { 11521, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */
+ { 11545, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
+ { 11573, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */
+ { 11596, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
+ { 11615, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
+ { 11652, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
+ { 11693, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+ { 11734, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
+ { 11776, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+ { 11827, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+ { 11865, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
+ { 11910, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
+ { 11959, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
+ { 11997, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
+ { 12039, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+ { 12071, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */
+ { 12096, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */
+ { 12123, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
+ { 12154, 0x00000404 }, /* GL_FRONT */
+ { 12163, 0x00000408 }, /* GL_FRONT_AND_BACK */
+ { 12181, 0x00000B46 }, /* GL_FRONT_FACE */
+ { 12195, 0x00000400 }, /* GL_FRONT_LEFT */
+ { 12209, 0x00000401 }, /* GL_FRONT_RIGHT */
+ { 12224, 0x00008006 }, /* GL_FUNC_ADD */
+ { 12236, 0x00008006 }, /* GL_FUNC_ADD_EXT */
+ { 12252, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
+ { 12277, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
+ { 12306, 0x0000800A }, /* GL_FUNC_SUBTRACT */
+ { 12323, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
+ { 12344, 0x00008191 }, /* GL_GENERATE_MIPMAP */
+ { 12363, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
+ { 12387, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
+ { 12416, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
+ { 12440, 0x00000206 }, /* GL_GEQUAL */
+ { 12450, 0x00000204 }, /* GL_GREATER */
+ { 12461, 0x00001904 }, /* GL_GREEN */
+ { 12470, 0x00000D19 }, /* GL_GREEN_BIAS */
+ { 12484, 0x00000D53 }, /* GL_GREEN_BITS */
+ { 12498, 0x00000D18 }, /* GL_GREEN_SCALE */
+ { 12513, 0x00008000 }, /* GL_HINT_BIT */
+ { 12525, 0x00008024 }, /* GL_HISTOGRAM */
+ { 12538, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
+ { 12562, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
+ { 12590, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
+ { 12613, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
+ { 12640, 0x00008024 }, /* GL_HISTOGRAM_EXT */
+ { 12657, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
+ { 12677, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
+ { 12701, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
+ { 12725, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
+ { 12753, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+ { 12781, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
+ { 12813, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
+ { 12835, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
+ { 12861, 0x0000802D }, /* GL_HISTOGRAM_SINK */
+ { 12879, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
+ { 12901, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
+ { 12920, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
+ { 12943, 0x0000862A }, /* GL_IDENTITY_NV */
+ { 12958, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
+ { 12978, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+ { 13018, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+ { 13056, 0x00001E02 }, /* GL_INCR */
+ { 13064, 0x00008507 }, /* GL_INCR_WRAP */
+ { 13077, 0x00008507 }, /* GL_INCR_WRAP_EXT */
+ { 13094, 0x00008222 }, /* GL_INDEX */
+ { 13103, 0x00008077 }, /* GL_INDEX_ARRAY */
+ { 13118, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+ { 13148, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
+ { 13182, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
+ { 13205, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
+ { 13227, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
+ { 13247, 0x00000D51 }, /* GL_INDEX_BITS */
+ { 13261, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
+ { 13282, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
+ { 13300, 0x00000C30 }, /* GL_INDEX_MODE */
+ { 13314, 0x00000D13 }, /* GL_INDEX_OFFSET */
+ { 13330, 0x00000D12 }, /* GL_INDEX_SHIFT */
+ { 13345, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
+ { 13364, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
+ { 13383, 0x00001404 }, /* GL_INT */
+ { 13390, 0x00008049 }, /* GL_INTENSITY */
+ { 13403, 0x0000804C }, /* GL_INTENSITY12 */
+ { 13418, 0x0000804C }, /* GL_INTENSITY12_EXT */
+ { 13437, 0x0000804D }, /* GL_INTENSITY16 */
+ { 13452, 0x0000804D }, /* GL_INTENSITY16_EXT */
+ { 13471, 0x0000804A }, /* GL_INTENSITY4 */
+ { 13485, 0x0000804A }, /* GL_INTENSITY4_EXT */
+ { 13503, 0x0000804B }, /* GL_INTENSITY8 */
+ { 13517, 0x0000804B }, /* GL_INTENSITY8_EXT */
+ { 13535, 0x00008049 }, /* GL_INTENSITY_EXT */
+ { 13552, 0x00008575 }, /* GL_INTERPOLATE */
+ { 13567, 0x00008575 }, /* GL_INTERPOLATE_ARB */
+ { 13586, 0x00008575 }, /* GL_INTERPOLATE_EXT */
+ { 13605, 0x00008B53 }, /* GL_INT_VEC2 */
+ { 13617, 0x00008B53 }, /* GL_INT_VEC2_ARB */
+ { 13633, 0x00008B54 }, /* GL_INT_VEC3 */
+ { 13645, 0x00008B54 }, /* GL_INT_VEC3_ARB */
+ { 13661, 0x00008B55 }, /* GL_INT_VEC4 */
+ { 13673, 0x00008B55 }, /* GL_INT_VEC4_ARB */
+ { 13689, 0x00000500 }, /* GL_INVALID_ENUM */
+ { 13705, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */
+ { 13738, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
+ { 13775, 0x00000502 }, /* GL_INVALID_OPERATION */
+ { 13796, 0x00000501 }, /* GL_INVALID_VALUE */
+ { 13813, 0x0000862B }, /* GL_INVERSE_NV */
+ { 13827, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
+ { 13851, 0x0000150A }, /* GL_INVERT */
+ { 13861, 0x00001E00 }, /* GL_KEEP */
+ { 13869, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */
+ { 13899, 0x00000406 }, /* GL_LEFT */
+ { 13907, 0x00000203 }, /* GL_LEQUAL */
+ { 13917, 0x00000201 }, /* GL_LESS */
+ { 13925, 0x00004000 }, /* GL_LIGHT0 */
+ { 13935, 0x00004001 }, /* GL_LIGHT1 */
+ { 13945, 0x00004002 }, /* GL_LIGHT2 */
+ { 13955, 0x00004003 }, /* GL_LIGHT3 */
+ { 13965, 0x00004004 }, /* GL_LIGHT4 */
+ { 13975, 0x00004005 }, /* GL_LIGHT5 */
+ { 13985, 0x00004006 }, /* GL_LIGHT6 */
+ { 13995, 0x00004007 }, /* GL_LIGHT7 */
+ { 14005, 0x00000B50 }, /* GL_LIGHTING */
+ { 14017, 0x00000040 }, /* GL_LIGHTING_BIT */
+ { 14033, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
+ { 14056, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+ { 14085, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
+ { 14118, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+ { 14146, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
+ { 14170, 0x00001B01 }, /* GL_LINE */
+ { 14178, 0x00002601 }, /* GL_LINEAR */
+ { 14188, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
+ { 14210, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+ { 14240, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+ { 14271, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
+ { 14295, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
+ { 14320, 0x00000001 }, /* GL_LINES */
+ { 14329, 0x00000004 }, /* GL_LINE_BIT */
+ { 14341, 0x00000002 }, /* GL_LINE_LOOP */
+ { 14354, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
+ { 14374, 0x00000B20 }, /* GL_LINE_SMOOTH */
+ { 14389, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
+ { 14409, 0x00000B24 }, /* GL_LINE_STIPPLE */
+ { 14425, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
+ { 14449, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
+ { 14472, 0x00000003 }, /* GL_LINE_STRIP */
+ { 14486, 0x00000702 }, /* GL_LINE_TOKEN */
+ { 14500, 0x00000B21 }, /* GL_LINE_WIDTH */
+ { 14514, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
+ { 14540, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
+ { 14560, 0x00008B82 }, /* GL_LINK_STATUS */
+ { 14575, 0x00000B32 }, /* GL_LIST_BASE */
+ { 14588, 0x00020000 }, /* GL_LIST_BIT */
+ { 14600, 0x00000B33 }, /* GL_LIST_INDEX */
+ { 14614, 0x00000B30 }, /* GL_LIST_MODE */
+ { 14627, 0x00000101 }, /* GL_LOAD */
+ { 14635, 0x00000BF1 }, /* GL_LOGIC_OP */
+ { 14647, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
+ { 14664, 0x00008CA1 }, /* GL_LOWER_LEFT */
+ { 14678, 0x00001909 }, /* GL_LUMINANCE */
+ { 14691, 0x00008041 }, /* GL_LUMINANCE12 */
+ { 14706, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
+ { 14729, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
+ { 14756, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
+ { 14778, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
+ { 14804, 0x00008041 }, /* GL_LUMINANCE12_EXT */
+ { 14823, 0x00008042 }, /* GL_LUMINANCE16 */
+ { 14838, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
+ { 14861, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
+ { 14888, 0x00008042 }, /* GL_LUMINANCE16_EXT */
+ { 14907, 0x0000803F }, /* GL_LUMINANCE4 */
+ { 14921, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
+ { 14942, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
+ { 14967, 0x0000803F }, /* GL_LUMINANCE4_EXT */
+ { 14985, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
+ { 15006, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
+ { 15031, 0x00008040 }, /* GL_LUMINANCE8 */
+ { 15045, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
+ { 15066, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
+ { 15091, 0x00008040 }, /* GL_LUMINANCE8_EXT */
+ { 15109, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
+ { 15128, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
+ { 15144, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
+ { 15164, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
+ { 15186, 0x00000D91 }, /* GL_MAP1_INDEX */
+ { 15200, 0x00000D92 }, /* GL_MAP1_NORMAL */
+ { 15215, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
+ { 15239, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
+ { 15263, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
+ { 15287, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
+ { 15311, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
+ { 15328, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
+ { 15345, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+ { 15373, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+ { 15402, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+ { 15431, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+ { 15460, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+ { 15489, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+ { 15518, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+ { 15547, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+ { 15575, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+ { 15603, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+ { 15631, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+ { 15659, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+ { 15687, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+ { 15715, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+ { 15743, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+ { 15771, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+ { 15799, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
+ { 15815, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
+ { 15835, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
+ { 15857, 0x00000DB1 }, /* GL_MAP2_INDEX */
+ { 15871, 0x00000DB2 }, /* GL_MAP2_NORMAL */
+ { 15886, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
+ { 15910, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
+ { 15934, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
+ { 15958, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
+ { 15982, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
+ { 15999, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
+ { 16016, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+ { 16044, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+ { 16073, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+ { 16102, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+ { 16131, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+ { 16160, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+ { 16189, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+ { 16218, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+ { 16246, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+ { 16274, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+ { 16302, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+ { 16330, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+ { 16358, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+ { 16386, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
+ { 16414, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+ { 16442, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+ { 16470, 0x00000D10 }, /* GL_MAP_COLOR */
+ { 16483, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */
+ { 16509, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */
+ { 16538, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */
+ { 16566, 0x00000001 }, /* GL_MAP_READ_BIT */
+ { 16582, 0x00000D11 }, /* GL_MAP_STENCIL */
+ { 16597, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */
+ { 16623, 0x00000002 }, /* GL_MAP_WRITE_BIT */
+ { 16640, 0x000088C0 }, /* GL_MATRIX0_ARB */
+ { 16655, 0x00008630 }, /* GL_MATRIX0_NV */
+ { 16669, 0x000088CA }, /* GL_MATRIX10_ARB */
+ { 16685, 0x000088CB }, /* GL_MATRIX11_ARB */
+ { 16701, 0x000088CC }, /* GL_MATRIX12_ARB */
+ { 16717, 0x000088CD }, /* GL_MATRIX13_ARB */
+ { 16733, 0x000088CE }, /* GL_MATRIX14_ARB */
+ { 16749, 0x000088CF }, /* GL_MATRIX15_ARB */
+ { 16765, 0x000088D0 }, /* GL_MATRIX16_ARB */
+ { 16781, 0x000088D1 }, /* GL_MATRIX17_ARB */
+ { 16797, 0x000088D2 }, /* GL_MATRIX18_ARB */
+ { 16813, 0x000088D3 }, /* GL_MATRIX19_ARB */
+ { 16829, 0x000088C1 }, /* GL_MATRIX1_ARB */
+ { 16844, 0x00008631 }, /* GL_MATRIX1_NV */
+ { 16858, 0x000088D4 }, /* GL_MATRIX20_ARB */
+ { 16874, 0x000088D5 }, /* GL_MATRIX21_ARB */
+ { 16890, 0x000088D6 }, /* GL_MATRIX22_ARB */
+ { 16906, 0x000088D7 }, /* GL_MATRIX23_ARB */
+ { 16922, 0x000088D8 }, /* GL_MATRIX24_ARB */
+ { 16938, 0x000088D9 }, /* GL_MATRIX25_ARB */
+ { 16954, 0x000088DA }, /* GL_MATRIX26_ARB */
+ { 16970, 0x000088DB }, /* GL_MATRIX27_ARB */
+ { 16986, 0x000088DC }, /* GL_MATRIX28_ARB */
+ { 17002, 0x000088DD }, /* GL_MATRIX29_ARB */
+ { 17018, 0x000088C2 }, /* GL_MATRIX2_ARB */
+ { 17033, 0x00008632 }, /* GL_MATRIX2_NV */
+ { 17047, 0x000088DE }, /* GL_MATRIX30_ARB */
+ { 17063, 0x000088DF }, /* GL_MATRIX31_ARB */
+ { 17079, 0x000088C3 }, /* GL_MATRIX3_ARB */
+ { 17094, 0x00008633 }, /* GL_MATRIX3_NV */
+ { 17108, 0x000088C4 }, /* GL_MATRIX4_ARB */
+ { 17123, 0x00008634 }, /* GL_MATRIX4_NV */
+ { 17137, 0x000088C5 }, /* GL_MATRIX5_ARB */
+ { 17152, 0x00008635 }, /* GL_MATRIX5_NV */
+ { 17166, 0x000088C6 }, /* GL_MATRIX6_ARB */
+ { 17181, 0x00008636 }, /* GL_MATRIX6_NV */
+ { 17195, 0x000088C7 }, /* GL_MATRIX7_ARB */
+ { 17210, 0x00008637 }, /* GL_MATRIX7_NV */
+ { 17224, 0x000088C8 }, /* GL_MATRIX8_ARB */
+ { 17239, 0x000088C9 }, /* GL_MATRIX9_ARB */
+ { 17254, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
+ { 17280, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+ { 17314, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+ { 17345, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+ { 17378, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+ { 17409, 0x00000BA0 }, /* GL_MATRIX_MODE */
+ { 17424, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
+ { 17446, 0x00008008 }, /* GL_MAX */
+ { 17453, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
+ { 17476, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+ { 17508, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
+ { 17534, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+ { 17567, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+ { 17593, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ { 17627, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
+ { 17646, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
+ { 17675, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+ { 17707, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
+ { 17743, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+ { 17779, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
+ { 17819, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
+ { 17845, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
+ { 17875, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
+ { 17900, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
+ { 17929, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+ { 17958, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
+ { 17991, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
+ { 18011, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
+ { 18035, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
+ { 18059, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
+ { 18083, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
+ { 18108, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
+ { 18126, 0x00008008 }, /* GL_MAX_EXT */
+ { 18137, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+ { 18172, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
+ { 18211, 0x00000D31 }, /* GL_MAX_LIGHTS */
+ { 18225, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
+ { 18245, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+ { 18283, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+ { 18312, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
+ { 18336, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
+ { 18364, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
+ { 18387, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+ { 18424, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ { 18460, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+ { 18487, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+ { 18516, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+ { 18550, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
+ { 18586, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+ { 18613, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+ { 18645, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+ { 18681, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+ { 18710, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+ { 18739, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
+ { 18767, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+ { 18805, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ { 18849, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ { 18892, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+ { 18926, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ { 18965, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+ { 19002, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ { 19040, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ { 19083, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ { 19126, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+ { 19156, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+ { 19187, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+ { 19223, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ { 19259, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
+ { 19289, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+ { 19323, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
+ { 19356, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
+ { 19385, 0x00008D57 }, /* GL_MAX_SAMPLES */
+ { 19400, 0x00008504 }, /* GL_MAX_SHININESS_NV */
+ { 19420, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
+ { 19444, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
+ { 19466, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
+ { 19492, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+ { 19519, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
+ { 19550, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
+ { 19574, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+ { 19608, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
+ { 19628, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
+ { 19655, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
+ { 19676, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
+ { 19701, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
+ { 19726, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
+ { 19761, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
+ { 19783, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
+ { 19809, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
+ { 19831, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
+ { 19857, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+ { 19891, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
+ { 19929, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+ { 19962, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
+ { 19999, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
+ { 20023, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
+ { 20044, 0x00008007 }, /* GL_MIN */
+ { 20051, 0x0000802E }, /* GL_MINMAX */
+ { 20061, 0x0000802E }, /* GL_MINMAX_EXT */
+ { 20075, 0x0000802F }, /* GL_MINMAX_FORMAT */
+ { 20092, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
+ { 20113, 0x00008030 }, /* GL_MINMAX_SINK */
+ { 20128, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
+ { 20147, 0x00008007 }, /* GL_MIN_EXT */
+ { 20158, 0x00008370 }, /* GL_MIRRORED_REPEAT */
+ { 20177, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
+ { 20200, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
+ { 20223, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
+ { 20243, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
+ { 20263, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+ { 20293, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
+ { 20321, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+ { 20349, 0x00001700 }, /* GL_MODELVIEW */
+ { 20362, 0x00001700 }, /* GL_MODELVIEW0_ARB */
+ { 20380, 0x0000872A }, /* GL_MODELVIEW10_ARB */
+ { 20399, 0x0000872B }, /* GL_MODELVIEW11_ARB */
+ { 20418, 0x0000872C }, /* GL_MODELVIEW12_ARB */
+ { 20437, 0x0000872D }, /* GL_MODELVIEW13_ARB */
+ { 20456, 0x0000872E }, /* GL_MODELVIEW14_ARB */
+ { 20475, 0x0000872F }, /* GL_MODELVIEW15_ARB */
+ { 20494, 0x00008730 }, /* GL_MODELVIEW16_ARB */
+ { 20513, 0x00008731 }, /* GL_MODELVIEW17_ARB */
+ { 20532, 0x00008732 }, /* GL_MODELVIEW18_ARB */
+ { 20551, 0x00008733 }, /* GL_MODELVIEW19_ARB */
+ { 20570, 0x0000850A }, /* GL_MODELVIEW1_ARB */
+ { 20588, 0x00008734 }, /* GL_MODELVIEW20_ARB */
+ { 20607, 0x00008735 }, /* GL_MODELVIEW21_ARB */
+ { 20626, 0x00008736 }, /* GL_MODELVIEW22_ARB */
+ { 20645, 0x00008737 }, /* GL_MODELVIEW23_ARB */
+ { 20664, 0x00008738 }, /* GL_MODELVIEW24_ARB */
+ { 20683, 0x00008739 }, /* GL_MODELVIEW25_ARB */
+ { 20702, 0x0000873A }, /* GL_MODELVIEW26_ARB */
+ { 20721, 0x0000873B }, /* GL_MODELVIEW27_ARB */
+ { 20740, 0x0000873C }, /* GL_MODELVIEW28_ARB */
+ { 20759, 0x0000873D }, /* GL_MODELVIEW29_ARB */
+ { 20778, 0x00008722 }, /* GL_MODELVIEW2_ARB */
+ { 20796, 0x0000873E }, /* GL_MODELVIEW30_ARB */
+ { 20815, 0x0000873F }, /* GL_MODELVIEW31_ARB */
+ { 20834, 0x00008723 }, /* GL_MODELVIEW3_ARB */
+ { 20852, 0x00008724 }, /* GL_MODELVIEW4_ARB */
+ { 20870, 0x00008725 }, /* GL_MODELVIEW5_ARB */
+ { 20888, 0x00008726 }, /* GL_MODELVIEW6_ARB */
+ { 20906, 0x00008727 }, /* GL_MODELVIEW7_ARB */
+ { 20924, 0x00008728 }, /* GL_MODELVIEW8_ARB */
+ { 20942, 0x00008729 }, /* GL_MODELVIEW9_ARB */
+ { 20960, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
+ { 20980, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
+ { 21007, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
+ { 21032, 0x00002100 }, /* GL_MODULATE */
+ { 21044, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
+ { 21064, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
+ { 21091, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
+ { 21116, 0x00000103 }, /* GL_MULT */
+ { 21124, 0x0000809D }, /* GL_MULTISAMPLE */
+ { 21139, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
+ { 21159, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
+ { 21178, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
+ { 21197, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
+ { 21221, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
+ { 21244, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+ { 21274, 0x00002A25 }, /* GL_N3F_V3F */
+ { 21285, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
+ { 21305, 0x0000150E }, /* GL_NAND */
+ { 21313, 0x00002600 }, /* GL_NEAREST */
+ { 21324, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+ { 21355, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+ { 21387, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
+ { 21412, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
+ { 21438, 0x00000200 }, /* GL_NEVER */
+ { 21447, 0x00001102 }, /* GL_NICEST */
+ { 21457, 0x00000000 }, /* GL_NONE */
+ { 21465, 0x00001505 }, /* GL_NOOP */
+ { 21473, 0x00001508 }, /* GL_NOR */
+ { 21480, 0x00000BA1 }, /* GL_NORMALIZE */
+ { 21493, 0x00008075 }, /* GL_NORMAL_ARRAY */
+ { 21509, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+ { 21540, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
+ { 21575, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
+ { 21599, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
+ { 21622, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
+ { 21643, 0x00008511 }, /* GL_NORMAL_MAP */
+ { 21657, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
+ { 21675, 0x00008511 }, /* GL_NORMAL_MAP_NV */
+ { 21692, 0x00000205 }, /* GL_NOTEQUAL */
+ { 21704, 0x00000000 }, /* GL_NO_ERROR */
+ { 21716, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+ { 21750, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
+ { 21788, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
+ { 21820, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
+ { 21862, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
+ { 21892, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
+ { 21932, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
+ { 21963, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
+ { 21992, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
+ { 22020, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
+ { 22050, 0x00002401 }, /* GL_OBJECT_LINEAR */
+ { 22067, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
+ { 22093, 0x00002501 }, /* GL_OBJECT_PLANE */
+ { 22109, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
+ { 22144, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
+ { 22166, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
+ { 22185, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
+ { 22215, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
+ { 22236, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
+ { 22264, 0x00000001 }, /* GL_ONE */
+ { 22271, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+ { 22299, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
+ { 22331, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
+ { 22359, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
+ { 22391, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
+ { 22414, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
+ { 22437, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
+ { 22460, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
+ { 22483, 0x00008598 }, /* GL_OPERAND0_ALPHA */
+ { 22501, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
+ { 22523, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
+ { 22545, 0x00008590 }, /* GL_OPERAND0_RGB */
+ { 22561, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
+ { 22581, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
+ { 22601, 0x00008599 }, /* GL_OPERAND1_ALPHA */
+ { 22619, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
+ { 22641, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
+ { 22663, 0x00008591 }, /* GL_OPERAND1_RGB */
+ { 22679, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
+ { 22699, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
+ { 22719, 0x0000859A }, /* GL_OPERAND2_ALPHA */
+ { 22737, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
+ { 22759, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
+ { 22781, 0x00008592 }, /* GL_OPERAND2_RGB */
+ { 22797, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
+ { 22817, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
+ { 22837, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
+ { 22858, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
+ { 22877, 0x00001507 }, /* GL_OR */
+ { 22883, 0x00000A01 }, /* GL_ORDER */
+ { 22892, 0x0000150D }, /* GL_OR_INVERTED */
+ { 22907, 0x0000150B }, /* GL_OR_REVERSE */
+ { 22921, 0x00000505 }, /* GL_OUT_OF_MEMORY */
+ { 22938, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
+ { 22956, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
+ { 22977, 0x00008758 }, /* GL_PACK_INVERT_MESA */
+ { 22997, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
+ { 23015, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
+ { 23034, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
+ { 23054, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
+ { 23074, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
+ { 23092, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
+ { 23111, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
+ { 23136, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
+ { 23160, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
+ { 23181, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
+ { 23203, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
+ { 23225, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
+ { 23250, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
+ { 23274, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
+ { 23295, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
+ { 23317, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
+ { 23339, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
+ { 23361, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
+ { 23392, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
+ { 23412, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+ { 23437, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
+ { 23457, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+ { 23482, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
+ { 23502, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+ { 23527, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
+ { 23547, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+ { 23572, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
+ { 23592, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+ { 23617, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
+ { 23637, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+ { 23662, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
+ { 23682, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+ { 23707, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
+ { 23727, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+ { 23752, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
+ { 23772, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+ { 23797, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
+ { 23817, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+ { 23842, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
+ { 23860, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */
+ { 23881, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */
+ { 23910, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
+ { 23943, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
+ { 23968, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */
+ { 23991, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
+ { 24022, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
+ { 24057, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
+ { 24084, 0x00001B00 }, /* GL_POINT */
+ { 24093, 0x00000000 }, /* GL_POINTS */
+ { 24103, 0x00000002 }, /* GL_POINT_BIT */
+ { 24116, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
+ { 24146, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
+ { 24180, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
+ { 24214, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
+ { 24249, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
+ { 24278, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
+ { 24311, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
+ { 24344, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
+ { 24378, 0x00000B11 }, /* GL_POINT_SIZE */
+ { 24392, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
+ { 24418, 0x00008127 }, /* GL_POINT_SIZE_MAX */
+ { 24436, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
+ { 24458, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
+ { 24480, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
+ { 24503, 0x00008126 }, /* GL_POINT_SIZE_MIN */
+ { 24521, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
+ { 24543, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
+ { 24565, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
+ { 24588, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
+ { 24608, 0x00000B10 }, /* GL_POINT_SMOOTH */
+ { 24624, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
+ { 24645, 0x00008861 }, /* GL_POINT_SPRITE */
+ { 24661, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
+ { 24681, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
+ { 24710, 0x00008861 }, /* GL_POINT_SPRITE_NV */
+ { 24729, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
+ { 24755, 0x00000701 }, /* GL_POINT_TOKEN */
+ { 24770, 0x00000009 }, /* GL_POLYGON */
+ { 24781, 0x00000008 }, /* GL_POLYGON_BIT */
+ { 24796, 0x00000B40 }, /* GL_POLYGON_MODE */
+ { 24812, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
+ { 24835, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
+ { 24860, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
+ { 24883, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
+ { 24906, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
+ { 24930, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
+ { 24954, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
+ { 24972, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
+ { 24995, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
+ { 25014, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
+ { 25037, 0x00000703 }, /* GL_POLYGON_TOKEN */
+ { 25054, 0x00001203 }, /* GL_POSITION */
+ { 25066, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+ { 25098, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
+ { 25134, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+ { 25167, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
+ { 25204, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+ { 25235, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
+ { 25270, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+ { 25302, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
+ { 25338, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+ { 25371, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+ { 25403, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
+ { 25439, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+ { 25472, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
+ { 25509, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+ { 25539, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
+ { 25573, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+ { 25604, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
+ { 25639, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+ { 25670, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
+ { 25705, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+ { 25737, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
+ { 25773, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+ { 25803, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
+ { 25837, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+ { 25868, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
+ { 25903, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+ { 25935, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+ { 25966, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
+ { 26001, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+ { 26033, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
+ { 26069, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
+ { 26098, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
+ { 26131, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
+ { 26161, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
+ { 26195, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+ { 26234, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+ { 26267, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+ { 26307, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+ { 26341, 0x00008578 }, /* GL_PREVIOUS */
+ { 26353, 0x00008578 }, /* GL_PREVIOUS_ARB */
+ { 26369, 0x00008578 }, /* GL_PREVIOUS_EXT */
+ { 26385, 0x00008577 }, /* GL_PRIMARY_COLOR */
+ { 26402, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
+ { 26423, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
+ { 26444, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+ { 26477, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ { 26509, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
+ { 26532, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
+ { 26555, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
+ { 26585, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
+ { 26614, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
+ { 26642, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
+ { 26664, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+ { 26692, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+ { 26720, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
+ { 26742, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
+ { 26763, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ { 26803, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ { 26842, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+ { 26872, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ { 26907, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+ { 26940, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ { 26974, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ { 27013, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ { 27052, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
+ { 27074, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
+ { 27100, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
+ { 27124, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
+ { 27147, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
+ { 27169, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
+ { 27190, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
+ { 27211, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
+ { 27238, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+ { 27270, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ { 27302, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+ { 27337, 0x00001701 }, /* GL_PROJECTION */
+ { 27351, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
+ { 27372, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
+ { 27398, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */
+ { 27422, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
+ { 27443, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
+ { 27462, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
+ { 27485, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+ { 27524, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+ { 27562, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
+ { 27582, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+ { 27612, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
+ { 27636, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
+ { 27656, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+ { 27686, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
+ { 27710, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
+ { 27730, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+ { 27763, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
+ { 27789, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
+ { 27819, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+ { 27850, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
+ { 27880, 0x00002003 }, /* GL_Q */
+ { 27885, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
+ { 27910, 0x00000007 }, /* GL_QUADS */
+ { 27919, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */
+ { 27967, 0x00008614 }, /* GL_QUAD_MESH_SUN */
+ { 27984, 0x00000008 }, /* GL_QUAD_STRIP */
+ { 27998, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
+ { 28020, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
+ { 28046, 0x00008866 }, /* GL_QUERY_RESULT */
+ { 28062, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
+ { 28082, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
+ { 28108, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
+ { 28138, 0x00002002 }, /* GL_R */
+ { 28143, 0x00002A10 }, /* GL_R3_G3_B2 */
+ { 28155, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+ { 28188, 0x00000C02 }, /* GL_READ_BUFFER */
+ { 28203, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */
+ { 28223, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
+ { 28255, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
+ { 28279, 0x000088B8 }, /* GL_READ_ONLY */
+ { 28292, 0x000088B8 }, /* GL_READ_ONLY_ARB */
+ { 28309, 0x000088BA }, /* GL_READ_WRITE */
+ { 28323, 0x000088BA }, /* GL_READ_WRITE_ARB */
+ { 28341, 0x00001903 }, /* GL_RED */
+ { 28348, 0x00008016 }, /* GL_REDUCE */
+ { 28358, 0x00008016 }, /* GL_REDUCE_EXT */
+ { 28372, 0x00000D15 }, /* GL_RED_BIAS */
+ { 28384, 0x00000D52 }, /* GL_RED_BITS */
+ { 28396, 0x00000D14 }, /* GL_RED_SCALE */
+ { 28409, 0x00008512 }, /* GL_REFLECTION_MAP */
+ { 28427, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
+ { 28449, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
+ { 28470, 0x00001C00 }, /* GL_RENDER */
+ { 28480, 0x00008D41 }, /* GL_RENDERBUFFER */
+ { 28496, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */
+ { 28523, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
+ { 28551, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */
+ { 28577, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */
+ { 28604, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
+ { 28624, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */
+ { 28651, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */
+ { 28674, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
+ { 28701, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
+ { 28733, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
+ { 28769, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */
+ { 28794, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */
+ { 28818, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */
+ { 28847, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */
+ { 28869, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
+ { 28895, 0x00001F01 }, /* GL_RENDERER */
+ { 28907, 0x00000C40 }, /* GL_RENDER_MODE */
+ { 28922, 0x00002901 }, /* GL_REPEAT */
+ { 28932, 0x00001E01 }, /* GL_REPLACE */
+ { 28943, 0x00008062 }, /* GL_REPLACE_EXT */
+ { 28958, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
+ { 28981, 0x0000803A }, /* GL_RESCALE_NORMAL */
+ { 28999, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
+ { 29021, 0x00000102 }, /* GL_RETURN */
+ { 29031, 0x00001907 }, /* GL_RGB */
+ { 29038, 0x00008052 }, /* GL_RGB10 */
+ { 29047, 0x00008059 }, /* GL_RGB10_A2 */
+ { 29059, 0x00008059 }, /* GL_RGB10_A2_EXT */
+ { 29075, 0x00008052 }, /* GL_RGB10_EXT */
+ { 29088, 0x00008053 }, /* GL_RGB12 */
+ { 29097, 0x00008053 }, /* GL_RGB12_EXT */
+ { 29110, 0x00008054 }, /* GL_RGB16 */
+ { 29119, 0x00008054 }, /* GL_RGB16_EXT */
+ { 29132, 0x0000804E }, /* GL_RGB2_EXT */
+ { 29144, 0x0000804F }, /* GL_RGB4 */
+ { 29152, 0x0000804F }, /* GL_RGB4_EXT */
+ { 29164, 0x000083A1 }, /* GL_RGB4_S3TC */
+ { 29177, 0x00008050 }, /* GL_RGB5 */
+ { 29185, 0x00008057 }, /* GL_RGB5_A1 */
+ { 29196, 0x00008057 }, /* GL_RGB5_A1_EXT */
+ { 29211, 0x00008050 }, /* GL_RGB5_EXT */
+ { 29223, 0x00008051 }, /* GL_RGB8 */
+ { 29231, 0x00008051 }, /* GL_RGB8_EXT */
+ { 29243, 0x00001908 }, /* GL_RGBA */
+ { 29251, 0x0000805A }, /* GL_RGBA12 */
+ { 29261, 0x0000805A }, /* GL_RGBA12_EXT */
+ { 29275, 0x0000805B }, /* GL_RGBA16 */
+ { 29285, 0x0000805B }, /* GL_RGBA16_EXT */
+ { 29299, 0x00008055 }, /* GL_RGBA2 */
+ { 29308, 0x00008055 }, /* GL_RGBA2_EXT */
+ { 29321, 0x00008056 }, /* GL_RGBA4 */
+ { 29330, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
+ { 29349, 0x00008056 }, /* GL_RGBA4_EXT */
+ { 29362, 0x000083A3 }, /* GL_RGBA4_S3TC */
+ { 29376, 0x00008058 }, /* GL_RGBA8 */
+ { 29385, 0x00008058 }, /* GL_RGBA8_EXT */
+ { 29398, 0x00008F97 }, /* GL_RGBA8_SNORM */
+ { 29413, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
+ { 29431, 0x00000C31 }, /* GL_RGBA_MODE */
+ { 29444, 0x000083A2 }, /* GL_RGBA_S3TC */
+ { 29457, 0x00008F93 }, /* GL_RGBA_SNORM */
+ { 29471, 0x000083A0 }, /* GL_RGB_S3TC */
+ { 29483, 0x00008573 }, /* GL_RGB_SCALE */
+ { 29496, 0x00008573 }, /* GL_RGB_SCALE_ARB */
+ { 29513, 0x00008573 }, /* GL_RGB_SCALE_EXT */
+ { 29530, 0x00000407 }, /* GL_RIGHT */
+ { 29539, 0x00002000 }, /* GL_S */
+ { 29544, 0x00008B5D }, /* GL_SAMPLER_1D */
+ { 29558, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
+ { 29579, 0x00008B5E }, /* GL_SAMPLER_2D */
+ { 29593, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
+ { 29614, 0x00008B5F }, /* GL_SAMPLER_3D */
+ { 29628, 0x00008B60 }, /* GL_SAMPLER_CUBE */
+ { 29644, 0x000080A9 }, /* GL_SAMPLES */
+ { 29655, 0x000086B4 }, /* GL_SAMPLES_3DFX */
+ { 29671, 0x000080A9 }, /* GL_SAMPLES_ARB */
+ { 29686, 0x00008914 }, /* GL_SAMPLES_PASSED */
+ { 29704, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
+ { 29726, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+ { 29754, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
+ { 29786, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
+ { 29809, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
+ { 29836, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
+ { 29854, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
+ { 29877, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
+ { 29899, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
+ { 29918, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
+ { 29941, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
+ { 29967, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
+ { 29997, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
+ { 30022, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
+ { 30051, 0x00080000 }, /* GL_SCISSOR_BIT */
+ { 30066, 0x00000C10 }, /* GL_SCISSOR_BOX */
+ { 30081, 0x00000C11 }, /* GL_SCISSOR_TEST */
+ { 30097, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
+ { 30122, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+ { 30162, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
+ { 30206, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+ { 30239, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+ { 30269, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+ { 30301, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+ { 30331, 0x00001C02 }, /* GL_SELECT */
+ { 30341, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
+ { 30369, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
+ { 30394, 0x00008012 }, /* GL_SEPARABLE_2D */
+ { 30410, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
+ { 30437, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
+ { 30468, 0x0000150F }, /* GL_SET */
+ { 30475, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
+ { 30496, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
+ { 30520, 0x00008B4F }, /* GL_SHADER_TYPE */
+ { 30535, 0x00000B54 }, /* GL_SHADE_MODEL */
+ { 30550, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
+ { 30578, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
+ { 30601, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+ { 30631, 0x00001601 }, /* GL_SHININESS */
+ { 30644, 0x00001402 }, /* GL_SHORT */
+ { 30653, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */
+ { 30674, 0x000081F9 }, /* GL_SINGLE_COLOR */
+ { 30690, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
+ { 30710, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
+ { 30729, 0x00008C46 }, /* GL_SLUMINANCE */
+ { 30743, 0x00008C47 }, /* GL_SLUMINANCE8 */
+ { 30758, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */
+ { 30780, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */
+ { 30800, 0x00001D01 }, /* GL_SMOOTH */
+ { 30810, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
+ { 30843, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
+ { 30870, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
+ { 30903, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
+ { 30930, 0x00008588 }, /* GL_SOURCE0_ALPHA */
+ { 30947, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
+ { 30968, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
+ { 30989, 0x00008580 }, /* GL_SOURCE0_RGB */
+ { 31004, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
+ { 31023, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
+ { 31042, 0x00008589 }, /* GL_SOURCE1_ALPHA */
+ { 31059, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
+ { 31080, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
+ { 31101, 0x00008581 }, /* GL_SOURCE1_RGB */
+ { 31116, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
+ { 31135, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
+ { 31154, 0x0000858A }, /* GL_SOURCE2_ALPHA */
+ { 31171, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
+ { 31192, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
+ { 31213, 0x00008582 }, /* GL_SOURCE2_RGB */
+ { 31228, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
+ { 31247, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
+ { 31266, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
+ { 31286, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
+ { 31304, 0x00001202 }, /* GL_SPECULAR */
+ { 31316, 0x00002402 }, /* GL_SPHERE_MAP */
+ { 31330, 0x00001206 }, /* GL_SPOT_CUTOFF */
+ { 31345, 0x00001204 }, /* GL_SPOT_DIRECTION */
+ { 31363, 0x00001205 }, /* GL_SPOT_EXPONENT */
+ { 31380, 0x00008588 }, /* GL_SRC0_ALPHA */
+ { 31394, 0x00008580 }, /* GL_SRC0_RGB */
+ { 31406, 0x00008589 }, /* GL_SRC1_ALPHA */
+ { 31420, 0x00008581 }, /* GL_SRC1_RGB */
+ { 31432, 0x0000858A }, /* GL_SRC2_ALPHA */
+ { 31446, 0x00008582 }, /* GL_SRC2_RGB */
+ { 31458, 0x00000302 }, /* GL_SRC_ALPHA */
+ { 31471, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
+ { 31493, 0x00000300 }, /* GL_SRC_COLOR */
+ { 31506, 0x00008C40 }, /* GL_SRGB */
+ { 31514, 0x00008C41 }, /* GL_SRGB8 */
+ { 31523, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */
+ { 31539, 0x00008C42 }, /* GL_SRGB_ALPHA */
+ { 31553, 0x00000503 }, /* GL_STACK_OVERFLOW */
+ { 31571, 0x00000504 }, /* GL_STACK_UNDERFLOW */
+ { 31590, 0x000088E6 }, /* GL_STATIC_COPY */
+ { 31605, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
+ { 31624, 0x000088E4 }, /* GL_STATIC_DRAW */
+ { 31639, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
+ { 31658, 0x000088E5 }, /* GL_STATIC_READ */
+ { 31673, 0x000088E5 }, /* GL_STATIC_READ_ARB */
+ { 31692, 0x00001802 }, /* GL_STENCIL */
+ { 31703, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */
+ { 31725, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
+ { 31751, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
+ { 31772, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */
+ { 31797, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
+ { 31818, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */
+ { 31843, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+ { 31875, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */
+ { 31911, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+ { 31943, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */
+ { 31979, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
+ { 31999, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
+ { 32026, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
+ { 32052, 0x00000D57 }, /* GL_STENCIL_BITS */
+ { 32068, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
+ { 32090, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
+ { 32113, 0x00000B94 }, /* GL_STENCIL_FAIL */
+ { 32129, 0x00000B92 }, /* GL_STENCIL_FUNC */
+ { 32145, 0x00001901 }, /* GL_STENCIL_INDEX */
+ { 32162, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
+ { 32185, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
+ { 32207, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
+ { 32229, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
+ { 32251, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
+ { 32272, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
+ { 32299, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
+ { 32326, 0x00000B97 }, /* GL_STENCIL_REF */
+ { 32341, 0x00000B90 }, /* GL_STENCIL_TEST */
+ { 32357, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+ { 32386, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
+ { 32408, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
+ { 32429, 0x00000C33 }, /* GL_STEREO */
+ { 32439, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */
+ { 32463, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */
+ { 32488, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */
+ { 32512, 0x000088E2 }, /* GL_STREAM_COPY */
+ { 32527, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
+ { 32546, 0x000088E0 }, /* GL_STREAM_DRAW */
+ { 32561, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
+ { 32580, 0x000088E1 }, /* GL_STREAM_READ */
+ { 32595, 0x000088E1 }, /* GL_STREAM_READ_ARB */
+ { 32614, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
+ { 32631, 0x000084E7 }, /* GL_SUBTRACT */
+ { 32643, 0x000084E7 }, /* GL_SUBTRACT_ARB */
+ { 32659, 0x00002001 }, /* GL_T */
+ { 32664, 0x00002A2A }, /* GL_T2F_C3F_V3F */
+ { 32679, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
+ { 32698, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
+ { 32714, 0x00002A2B }, /* GL_T2F_N3F_V3F */
+ { 32729, 0x00002A27 }, /* GL_T2F_V3F */
+ { 32740, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
+ { 32759, 0x00002A28 }, /* GL_T4F_V4F */
+ { 32770, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
+ { 32793, 0x00001702 }, /* GL_TEXTURE */
+ { 32804, 0x000084C0 }, /* GL_TEXTURE0 */
+ { 32816, 0x000084C0 }, /* GL_TEXTURE0_ARB */
+ { 32832, 0x000084C1 }, /* GL_TEXTURE1 */
+ { 32844, 0x000084CA }, /* GL_TEXTURE10 */
+ { 32857, 0x000084CA }, /* GL_TEXTURE10_ARB */
+ { 32874, 0x000084CB }, /* GL_TEXTURE11 */
+ { 32887, 0x000084CB }, /* GL_TEXTURE11_ARB */
+ { 32904, 0x000084CC }, /* GL_TEXTURE12 */
+ { 32917, 0x000084CC }, /* GL_TEXTURE12_ARB */
+ { 32934, 0x000084CD }, /* GL_TEXTURE13 */
+ { 32947, 0x000084CD }, /* GL_TEXTURE13_ARB */
+ { 32964, 0x000084CE }, /* GL_TEXTURE14 */
+ { 32977, 0x000084CE }, /* GL_TEXTURE14_ARB */
+ { 32994, 0x000084CF }, /* GL_TEXTURE15 */
+ { 33007, 0x000084CF }, /* GL_TEXTURE15_ARB */
+ { 33024, 0x000084D0 }, /* GL_TEXTURE16 */
+ { 33037, 0x000084D0 }, /* GL_TEXTURE16_ARB */
+ { 33054, 0x000084D1 }, /* GL_TEXTURE17 */
+ { 33067, 0x000084D1 }, /* GL_TEXTURE17_ARB */
+ { 33084, 0x000084D2 }, /* GL_TEXTURE18 */
+ { 33097, 0x000084D2 }, /* GL_TEXTURE18_ARB */
+ { 33114, 0x000084D3 }, /* GL_TEXTURE19 */
+ { 33127, 0x000084D3 }, /* GL_TEXTURE19_ARB */
+ { 33144, 0x000084C1 }, /* GL_TEXTURE1_ARB */
+ { 33160, 0x000084C2 }, /* GL_TEXTURE2 */
+ { 33172, 0x000084D4 }, /* GL_TEXTURE20 */
+ { 33185, 0x000084D4 }, /* GL_TEXTURE20_ARB */
+ { 33202, 0x000084D5 }, /* GL_TEXTURE21 */
+ { 33215, 0x000084D5 }, /* GL_TEXTURE21_ARB */
+ { 33232, 0x000084D6 }, /* GL_TEXTURE22 */
+ { 33245, 0x000084D6 }, /* GL_TEXTURE22_ARB */
+ { 33262, 0x000084D7 }, /* GL_TEXTURE23 */
+ { 33275, 0x000084D7 }, /* GL_TEXTURE23_ARB */
+ { 33292, 0x000084D8 }, /* GL_TEXTURE24 */
+ { 33305, 0x000084D8 }, /* GL_TEXTURE24_ARB */
+ { 33322, 0x000084D9 }, /* GL_TEXTURE25 */
+ { 33335, 0x000084D9 }, /* GL_TEXTURE25_ARB */
+ { 33352, 0x000084DA }, /* GL_TEXTURE26 */
+ { 33365, 0x000084DA }, /* GL_TEXTURE26_ARB */
+ { 33382, 0x000084DB }, /* GL_TEXTURE27 */
+ { 33395, 0x000084DB }, /* GL_TEXTURE27_ARB */
+ { 33412, 0x000084DC }, /* GL_TEXTURE28 */
+ { 33425, 0x000084DC }, /* GL_TEXTURE28_ARB */
+ { 33442, 0x000084DD }, /* GL_TEXTURE29 */
+ { 33455, 0x000084DD }, /* GL_TEXTURE29_ARB */
+ { 33472, 0x000084C2 }, /* GL_TEXTURE2_ARB */
+ { 33488, 0x000084C3 }, /* GL_TEXTURE3 */
+ { 33500, 0x000084DE }, /* GL_TEXTURE30 */
+ { 33513, 0x000084DE }, /* GL_TEXTURE30_ARB */
+ { 33530, 0x000084DF }, /* GL_TEXTURE31 */
+ { 33543, 0x000084DF }, /* GL_TEXTURE31_ARB */
+ { 33560, 0x000084C3 }, /* GL_TEXTURE3_ARB */
+ { 33576, 0x000084C4 }, /* GL_TEXTURE4 */
+ { 33588, 0x000084C4 }, /* GL_TEXTURE4_ARB */
+ { 33604, 0x000084C5 }, /* GL_TEXTURE5 */
+ { 33616, 0x000084C5 }, /* GL_TEXTURE5_ARB */
+ { 33632, 0x000084C6 }, /* GL_TEXTURE6 */
+ { 33644, 0x000084C6 }, /* GL_TEXTURE6_ARB */
+ { 33660, 0x000084C7 }, /* GL_TEXTURE7 */
+ { 33672, 0x000084C7 }, /* GL_TEXTURE7_ARB */
+ { 33688, 0x000084C8 }, /* GL_TEXTURE8 */
+ { 33700, 0x000084C8 }, /* GL_TEXTURE8_ARB */
+ { 33716, 0x000084C9 }, /* GL_TEXTURE9 */
+ { 33728, 0x000084C9 }, /* GL_TEXTURE9_ARB */
+ { 33744, 0x00000DE0 }, /* GL_TEXTURE_1D */
+ { 33758, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */
+ { 33782, 0x00000DE1 }, /* GL_TEXTURE_2D */
+ { 33796, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */
+ { 33820, 0x0000806F }, /* GL_TEXTURE_3D */
+ { 33834, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
+ { 33856, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
+ { 33882, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
+ { 33904, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
+ { 33926, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+ { 33958, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
+ { 33980, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+ { 34012, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
+ { 34034, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
+ { 34062, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
+ { 34094, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+ { 34127, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
+ { 34159, 0x00040000 }, /* GL_TEXTURE_BIT */
+ { 34174, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
+ { 34195, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
+ { 34220, 0x00001005 }, /* GL_TEXTURE_BORDER */
+ { 34238, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
+ { 34262, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+ { 34293, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+ { 34323, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+ { 34353, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+ { 34388, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+ { 34419, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ { 34457, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
+ { 34484, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+ { 34516, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+ { 34550, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
+ { 34574, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
+ { 34602, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
+ { 34626, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
+ { 34654, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+ { 34687, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
+ { 34711, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
+ { 34733, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
+ { 34755, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
+ { 34781, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
+ { 34815, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+ { 34848, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
+ { 34885, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
+ { 34913, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
+ { 34945, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
+ { 34968, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+ { 35006, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
+ { 35048, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+ { 35079, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+ { 35107, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+ { 35137, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+ { 35165, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
+ { 35185, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
+ { 35209, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+ { 35240, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
+ { 35275, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+ { 35306, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
+ { 35341, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+ { 35372, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
+ { 35407, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+ { 35438, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
+ { 35473, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+ { 35504, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
+ { 35539, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+ { 35570, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
+ { 35605, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */
+ { 35634, 0x00008071 }, /* GL_TEXTURE_DEPTH */
+ { 35651, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
+ { 35673, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
+ { 35699, 0x00002300 }, /* GL_TEXTURE_ENV */
+ { 35714, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
+ { 35735, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
+ { 35755, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
+ { 35781, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
+ { 35801, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
+ { 35818, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
+ { 35835, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
+ { 35852, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
+ { 35869, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
+ { 35894, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
+ { 35916, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
+ { 35942, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
+ { 35960, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
+ { 35986, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
+ { 36012, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
+ { 36042, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
+ { 36069, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
+ { 36094, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
+ { 36114, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
+ { 36138, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+ { 36165, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+ { 36192, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+ { 36219, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
+ { 36245, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
+ { 36275, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
+ { 36297, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
+ { 36315, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+ { 36345, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+ { 36373, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+ { 36401, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+ { 36429, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
+ { 36450, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
+ { 36469, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
+ { 36491, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
+ { 36510, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
+ { 36530, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */
+ { 36560, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */
+ { 36591, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
+ { 36616, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
+ { 36640, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
+ { 36660, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
+ { 36684, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
+ { 36704, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
+ { 36727, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */
+ { 36751, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */
+ { 36781, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
+ { 36806, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+ { 36840, 0x00001000 }, /* GL_TEXTURE_WIDTH */
+ { 36857, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
+ { 36875, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
+ { 36893, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
+ { 36911, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
+ { 36931, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
+ { 36950, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+ { 36979, 0x00001000 }, /* GL_TRANSFORM_BIT */
+ { 36996, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
+ { 37022, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
+ { 37052, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+ { 37084, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+ { 37114, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
+ { 37148, 0x0000862C }, /* GL_TRANSPOSE_NV */
+ { 37164, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+ { 37195, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
+ { 37230, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+ { 37258, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
+ { 37290, 0x00000004 }, /* GL_TRIANGLES */
+ { 37303, 0x00000006 }, /* GL_TRIANGLE_FAN */
+ { 37319, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
+ { 37340, 0x00000005 }, /* GL_TRIANGLE_STRIP */
+ { 37358, 0x00000001 }, /* GL_TRUE */
+ { 37366, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
+ { 37386, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
+ { 37409, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
+ { 37429, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
+ { 37450, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
+ { 37472, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
+ { 37494, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
+ { 37514, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
+ { 37535, 0x00001401 }, /* GL_UNSIGNED_BYTE */
+ { 37552, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+ { 37579, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
+ { 37602, 0x00001405 }, /* GL_UNSIGNED_INT */
+ { 37618, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
+ { 37645, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */
+ { 37666, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
+ { 37690, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+ { 37721, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
+ { 37745, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+ { 37773, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */
+ { 37796, 0x00001403 }, /* GL_UNSIGNED_SHORT */
+ { 37814, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+ { 37844, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+ { 37870, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+ { 37900, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+ { 37926, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
+ { 37950, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+ { 37978, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+ { 38006, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
+ { 38033, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+ { 38065, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
+ { 38096, 0x00008CA2 }, /* GL_UPPER_LEFT */
+ { 38110, 0x00002A20 }, /* GL_V2F */
+ { 38117, 0x00002A21 }, /* GL_V3F */
+ { 38124, 0x00008B83 }, /* GL_VALIDATE_STATUS */
+ { 38143, 0x00001F00 }, /* GL_VENDOR */
+ { 38153, 0x00001F02 }, /* GL_VERSION */
+ { 38164, 0x00008074 }, /* GL_VERTEX_ARRAY */
+ { 38180, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */
+ { 38204, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
+ { 38234, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+ { 38265, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
+ { 38300, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
+ { 38324, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
+ { 38345, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
+ { 38368, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
+ { 38389, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+ { 38416, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+ { 38444, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+ { 38472, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+ { 38500, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+ { 38528, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+ { 38556, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+ { 38584, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+ { 38611, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+ { 38638, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+ { 38665, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+ { 38692, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+ { 38719, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+ { 38746, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+ { 38773, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+ { 38800, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+ { 38827, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+ { 38865, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
+ { 38907, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+ { 38938, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
+ { 38973, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+ { 39007, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
+ { 39045, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+ { 39076, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
+ { 39111, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+ { 39139, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
+ { 39171, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+ { 39201, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
+ { 39235, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+ { 39263, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
+ { 39295, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
+ { 39315, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
+ { 39337, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
+ { 39366, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
+ { 39387, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+ { 39416, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
+ { 39449, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
+ { 39481, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+ { 39508, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
+ { 39539, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
+ { 39569, 0x00008B31 }, /* GL_VERTEX_SHADER */
+ { 39586, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
+ { 39607, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
+ { 39634, 0x00000BA2 }, /* GL_VIEWPORT */
+ { 39646, 0x00000800 }, /* GL_VIEWPORT_BIT */
+ { 39662, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
+ { 39682, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+ { 39713, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
+ { 39748, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+ { 39776, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+ { 39801, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+ { 39828, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+ { 39853, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
+ { 39877, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
+ { 39896, 0x000088B9 }, /* GL_WRITE_ONLY */
+ { 39910, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
+ { 39928, 0x00001506 }, /* GL_XOR */
+ { 39935, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
+ { 39954, 0x00008757 }, /* GL_YCBCR_MESA */
+ { 39968, 0x00000000 }, /* GL_ZERO */
+ { 39976, 0x00000D16 }, /* GL_ZOOM_X */
+ { 39986, 0x00000D17 }, /* GL_ZOOM_Y */
};
-static const unsigned reduced_enums[1325] =
+static const unsigned reduced_enums[1333] =
{
- 471, /* GL_FALSE */
- 687, /* GL_LINES */
- 689, /* GL_LINE_LOOP */
- 696, /* GL_LINE_STRIP */
- 1721, /* GL_TRIANGLES */
- 1724, /* GL_TRIANGLE_STRIP */
- 1722, /* GL_TRIANGLE_FAN */
- 1265, /* GL_QUADS */
- 1268, /* GL_QUAD_STRIP */
- 1152, /* GL_POLYGON */
- 1164, /* GL_POLYGON_STIPPLE_BIT */
- 1113, /* GL_PIXEL_MODE_BIT */
- 674, /* GL_LIGHTING_BIT */
- 500, /* GL_FOG_BIT */
+ 473, /* GL_FALSE */
+ 689, /* GL_LINES */
+ 691, /* GL_LINE_LOOP */
+ 698, /* GL_LINE_STRIP */
+ 1730, /* GL_TRIANGLES */
+ 1733, /* GL_TRIANGLE_STRIP */
+ 1731, /* GL_TRIANGLE_FAN */
+ 1267, /* GL_QUADS */
+ 1270, /* GL_QUAD_STRIP */
+ 1154, /* GL_POLYGON */
+ 1166, /* GL_POLYGON_STIPPLE_BIT */
+ 1115, /* GL_PIXEL_MODE_BIT */
+ 676, /* GL_LIGHTING_BIT */
+ 502, /* GL_FOG_BIT */
8, /* GL_ACCUM */
- 706, /* GL_LOAD */
- 1320, /* GL_RETURN */
- 986, /* GL_MULT */
+ 708, /* GL_LOAD */
+ 1322, /* GL_RETURN */
+ 988, /* GL_MULT */
23, /* GL_ADD */
- 1002, /* GL_NEVER */
- 664, /* GL_LESS */
- 461, /* GL_EQUAL */
- 663, /* GL_LEQUAL */
- 586, /* GL_GREATER */
- 1017, /* GL_NOTEQUAL */
- 585, /* GL_GEQUAL */
+ 1004, /* GL_NEVER */
+ 666, /* GL_LESS */
+ 463, /* GL_EQUAL */
+ 665, /* GL_LEQUAL */
+ 588, /* GL_GREATER */
+ 1019, /* GL_NOTEQUAL */
+ 587, /* GL_GEQUAL */
46, /* GL_ALWAYS */
- 1460, /* GL_SRC_COLOR */
- 1046, /* GL_ONE_MINUS_SRC_COLOR */
- 1458, /* GL_SRC_ALPHA */
- 1045, /* GL_ONE_MINUS_SRC_ALPHA */
- 440, /* GL_DST_ALPHA */
- 1043, /* GL_ONE_MINUS_DST_ALPHA */
- 441, /* GL_DST_COLOR */
- 1044, /* GL_ONE_MINUS_DST_COLOR */
- 1459, /* GL_SRC_ALPHA_SATURATE */
- 573, /* GL_FRONT_LEFT */
- 574, /* GL_FRONT_RIGHT */
+ 1462, /* GL_SRC_COLOR */
+ 1048, /* GL_ONE_MINUS_SRC_COLOR */
+ 1460, /* GL_SRC_ALPHA */
+ 1047, /* GL_ONE_MINUS_SRC_ALPHA */
+ 442, /* GL_DST_ALPHA */
+ 1045, /* GL_ONE_MINUS_DST_ALPHA */
+ 443, /* GL_DST_COLOR */
+ 1046, /* GL_ONE_MINUS_DST_COLOR */
+ 1461, /* GL_SRC_ALPHA_SATURATE */
+ 575, /* GL_FRONT_LEFT */
+ 576, /* GL_FRONT_RIGHT */
68, /* GL_BACK_LEFT */
69, /* GL_BACK_RIGHT */
- 570, /* GL_FRONT */
+ 572, /* GL_FRONT */
67, /* GL_BACK */
- 662, /* GL_LEFT */
- 1362, /* GL_RIGHT */
- 571, /* GL_FRONT_AND_BACK */
+ 664, /* GL_LEFT */
+ 1364, /* GL_RIGHT */
+ 573, /* GL_FRONT_AND_BACK */
62, /* GL_AUX0 */
63, /* GL_AUX1 */
64, /* GL_AUX2 */
65, /* GL_AUX3 */
- 652, /* GL_INVALID_ENUM */
- 656, /* GL_INVALID_VALUE */
- 655, /* GL_INVALID_OPERATION */
- 1465, /* GL_STACK_OVERFLOW */
- 1466, /* GL_STACK_UNDERFLOW */
- 1071, /* GL_OUT_OF_MEMORY */
- 653, /* GL_INVALID_FRAMEBUFFER_OPERATION */
+ 654, /* GL_INVALID_ENUM */
+ 658, /* GL_INVALID_VALUE */
+ 657, /* GL_INVALID_OPERATION */
+ 1467, /* GL_STACK_OVERFLOW */
+ 1468, /* GL_STACK_UNDERFLOW */
+ 1073, /* GL_OUT_OF_MEMORY */
+ 655, /* GL_INVALID_FRAMEBUFFER_OPERATION */
0, /* GL_2D */
2, /* GL_3D */
3, /* GL_3D_COLOR */
4, /* GL_3D_COLOR_TEXTURE */
6, /* GL_4D_COLOR_TEXTURE */
- 1091, /* GL_PASS_THROUGH_TOKEN */
- 1151, /* GL_POINT_TOKEN */
- 697, /* GL_LINE_TOKEN */
- 1165, /* GL_POLYGON_TOKEN */
+ 1093, /* GL_PASS_THROUGH_TOKEN */
+ 1153, /* GL_POINT_TOKEN */
+ 699, /* GL_LINE_TOKEN */
+ 1167, /* GL_POLYGON_TOKEN */
73, /* GL_BITMAP_TOKEN */
- 439, /* GL_DRAW_PIXEL_TOKEN */
- 297, /* GL_COPY_PIXEL_TOKEN */
- 690, /* GL_LINE_RESET_TOKEN */
- 464, /* GL_EXP */
- 465, /* GL_EXP2 */
- 333, /* GL_CW */
- 122, /* GL_CCW */
- 143, /* GL_COEFF */
- 1068, /* 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 */
- 1144, /* GL_POINT_SMOOTH */
- 1133, /* GL_POINT_SIZE */
- 1143, /* GL_POINT_SIZE_RANGE */
- 1134, /* GL_POINT_SIZE_GRANULARITY */
- 691, /* GL_LINE_SMOOTH */
- 698, /* GL_LINE_WIDTH */
- 700, /* GL_LINE_WIDTH_RANGE */
- 699, /* GL_LINE_WIDTH_GRANULARITY */
- 693, /* GL_LINE_STIPPLE */
- 694, /* GL_LINE_STIPPLE_PATTERN */
- 695, /* GL_LINE_STIPPLE_REPEAT */
- 705, /* GL_LIST_MODE */
- 870, /* GL_MAX_LIST_NESTING */
- 702, /* GL_LIST_BASE */
- 704, /* GL_LIST_INDEX */
- 1154, /* GL_POLYGON_MODE */
- 1161, /* GL_POLYGON_SMOOTH */
- 1163, /* GL_POLYGON_STIPPLE */
- 450, /* GL_EDGE_FLAG */
- 300, /* GL_CULL_FACE */
- 301, /* GL_CULL_FACE_MODE */
- 572, /* GL_FRONT_FACE */
- 673, /* GL_LIGHTING */
- 678, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- 679, /* GL_LIGHT_MODEL_TWO_SIDE */
- 675, /* GL_LIGHT_MODEL_AMBIENT */
- 1408, /* GL_SHADE_MODEL */
- 190, /* GL_COLOR_MATERIAL_FACE */
- 191, /* GL_COLOR_MATERIAL_PARAMETER */
- 189, /* GL_COLOR_MATERIAL */
- 499, /* GL_FOG */
- 521, /* GL_FOG_INDEX */
- 517, /* GL_FOG_DENSITY */
- 525, /* GL_FOG_START */
- 519, /* GL_FOG_END */
- 522, /* GL_FOG_MODE */
- 501, /* GL_FOG_COLOR */
- 364, /* GL_DEPTH_RANGE */
- 371, /* GL_DEPTH_TEST */
- 374, /* GL_DEPTH_WRITEMASK */
- 352, /* GL_DEPTH_CLEAR_VALUE */
- 363, /* GL_DEPTH_FUNC */
+ 441, /* GL_DRAW_PIXEL_TOKEN */
+ 299, /* GL_COPY_PIXEL_TOKEN */
+ 692, /* GL_LINE_RESET_TOKEN */
+ 466, /* GL_EXP */
+ 467, /* GL_EXP2 */
+ 335, /* GL_CW */
+ 124, /* GL_CCW */
+ 145, /* GL_COEFF */
+ 1070, /* GL_ORDER */
+ 379, /* GL_DOMAIN */
+ 309, /* GL_CURRENT_COLOR */
+ 312, /* GL_CURRENT_INDEX */
+ 318, /* GL_CURRENT_NORMAL */
+ 331, /* GL_CURRENT_TEXTURE_COORDS */
+ 323, /* GL_CURRENT_RASTER_COLOR */
+ 325, /* GL_CURRENT_RASTER_INDEX */
+ 329, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+ 326, /* GL_CURRENT_RASTER_POSITION */
+ 327, /* GL_CURRENT_RASTER_POSITION_VALID */
+ 324, /* GL_CURRENT_RASTER_DISTANCE */
+ 1146, /* GL_POINT_SMOOTH */
+ 1135, /* GL_POINT_SIZE */
+ 1145, /* GL_POINT_SIZE_RANGE */
+ 1136, /* GL_POINT_SIZE_GRANULARITY */
+ 693, /* GL_LINE_SMOOTH */
+ 700, /* GL_LINE_WIDTH */
+ 702, /* GL_LINE_WIDTH_RANGE */
+ 701, /* GL_LINE_WIDTH_GRANULARITY */
+ 695, /* GL_LINE_STIPPLE */
+ 696, /* GL_LINE_STIPPLE_PATTERN */
+ 697, /* GL_LINE_STIPPLE_REPEAT */
+ 707, /* GL_LIST_MODE */
+ 872, /* GL_MAX_LIST_NESTING */
+ 704, /* GL_LIST_BASE */
+ 706, /* GL_LIST_INDEX */
+ 1156, /* GL_POLYGON_MODE */
+ 1163, /* GL_POLYGON_SMOOTH */
+ 1165, /* GL_POLYGON_STIPPLE */
+ 452, /* GL_EDGE_FLAG */
+ 302, /* GL_CULL_FACE */
+ 303, /* GL_CULL_FACE_MODE */
+ 574, /* GL_FRONT_FACE */
+ 675, /* GL_LIGHTING */
+ 680, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+ 681, /* GL_LIGHT_MODEL_TWO_SIDE */
+ 677, /* GL_LIGHT_MODEL_AMBIENT */
+ 1410, /* GL_SHADE_MODEL */
+ 192, /* GL_COLOR_MATERIAL_FACE */
+ 193, /* GL_COLOR_MATERIAL_PARAMETER */
+ 191, /* GL_COLOR_MATERIAL */
+ 501, /* GL_FOG */
+ 523, /* GL_FOG_INDEX */
+ 519, /* GL_FOG_DENSITY */
+ 527, /* GL_FOG_START */
+ 521, /* GL_FOG_END */
+ 524, /* GL_FOG_MODE */
+ 503, /* GL_FOG_COLOR */
+ 366, /* GL_DEPTH_RANGE */
+ 373, /* GL_DEPTH_TEST */
+ 376, /* GL_DEPTH_WRITEMASK */
+ 354, /* GL_DEPTH_CLEAR_VALUE */
+ 365, /* GL_DEPTH_FUNC */
12, /* GL_ACCUM_CLEAR_VALUE */
- 1501, /* GL_STENCIL_TEST */
- 1489, /* GL_STENCIL_CLEAR_VALUE */
- 1491, /* GL_STENCIL_FUNC */
- 1503, /* GL_STENCIL_VALUE_MASK */
- 1490, /* GL_STENCIL_FAIL */
- 1498, /* GL_STENCIL_PASS_DEPTH_FAIL */
- 1499, /* GL_STENCIL_PASS_DEPTH_PASS */
- 1500, /* GL_STENCIL_REF */
- 1504, /* GL_STENCIL_WRITEMASK */
- 839, /* GL_MATRIX_MODE */
- 1007, /* GL_NORMALIZE */
- 1814, /* GL_VIEWPORT */
- 981, /* GL_MODELVIEW_STACK_DEPTH */
- 1244, /* GL_PROJECTION_STACK_DEPTH */
- 1699, /* GL_TEXTURE_STACK_DEPTH */
- 979, /* GL_MODELVIEW_MATRIX */
- 1243, /* GL_PROJECTION_MATRIX */
- 1684, /* GL_TEXTURE_MATRIX */
+ 1503, /* GL_STENCIL_TEST */
+ 1491, /* GL_STENCIL_CLEAR_VALUE */
+ 1493, /* GL_STENCIL_FUNC */
+ 1505, /* GL_STENCIL_VALUE_MASK */
+ 1492, /* GL_STENCIL_FAIL */
+ 1500, /* GL_STENCIL_PASS_DEPTH_FAIL */
+ 1501, /* GL_STENCIL_PASS_DEPTH_PASS */
+ 1502, /* GL_STENCIL_REF */
+ 1506, /* GL_STENCIL_WRITEMASK */
+ 841, /* GL_MATRIX_MODE */
+ 1009, /* GL_NORMALIZE */
+ 1823, /* GL_VIEWPORT */
+ 983, /* GL_MODELVIEW_STACK_DEPTH */
+ 1246, /* GL_PROJECTION_STACK_DEPTH */
+ 1707, /* GL_TEXTURE_STACK_DEPTH */
+ 981, /* GL_MODELVIEW_MATRIX */
+ 1245, /* GL_PROJECTION_MATRIX */
+ 1690, /* GL_TEXTURE_MATRIX */
60, /* GL_ATTRIB_STACK_DEPTH */
- 133, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
+ 135, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
43, /* GL_ALPHA_TEST */
44, /* GL_ALPHA_TEST_FUNC */
45, /* GL_ALPHA_TEST_REF */
- 376, /* GL_DITHER */
+ 378, /* GL_DITHER */
77, /* GL_BLEND_DST */
86, /* GL_BLEND_SRC */
74, /* GL_BLEND */
- 708, /* GL_LOGIC_OP_MODE */
- 626, /* GL_INDEX_LOGIC_OP */
- 188, /* GL_COLOR_LOGIC_OP */
+ 710, /* GL_LOGIC_OP_MODE */
+ 628, /* GL_INDEX_LOGIC_OP */
+ 190, /* GL_COLOR_LOGIC_OP */
66, /* GL_AUX_BUFFERS */
- 387, /* GL_DRAW_BUFFER */
- 1278, /* GL_READ_BUFFER */
- 1389, /* GL_SCISSOR_BOX */
- 1390, /* GL_SCISSOR_TEST */
- 625, /* GL_INDEX_CLEAR_VALUE */
- 630, /* GL_INDEX_WRITEMASK */
- 185, /* GL_COLOR_CLEAR_VALUE */
- 227, /* GL_COLOR_WRITEMASK */
- 627, /* GL_INDEX_MODE */
- 1355, /* GL_RGBA_MODE */
- 386, /* GL_DOUBLEBUFFER */
- 1505, /* GL_STEREO */
- 1313, /* GL_RENDER_MODE */
- 1092, /* GL_PERSPECTIVE_CORRECTION_HINT */
- 1145, /* GL_POINT_SMOOTH_HINT */
- 692, /* GL_LINE_SMOOTH_HINT */
- 1162, /* GL_POLYGON_SMOOTH_HINT */
- 520, /* GL_FOG_HINT */
- 1665, /* GL_TEXTURE_GEN_S */
- 1666, /* GL_TEXTURE_GEN_T */
- 1664, /* GL_TEXTURE_GEN_R */
- 1663, /* GL_TEXTURE_GEN_Q */
- 1105, /* GL_PIXEL_MAP_I_TO_I */
- 1111, /* GL_PIXEL_MAP_S_TO_S */
- 1107, /* GL_PIXEL_MAP_I_TO_R */
- 1103, /* GL_PIXEL_MAP_I_TO_G */
- 1101, /* GL_PIXEL_MAP_I_TO_B */
- 1099, /* GL_PIXEL_MAP_I_TO_A */
- 1109, /* GL_PIXEL_MAP_R_TO_R */
- 1097, /* GL_PIXEL_MAP_G_TO_G */
- 1095, /* GL_PIXEL_MAP_B_TO_B */
- 1093, /* GL_PIXEL_MAP_A_TO_A */
- 1106, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- 1112, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- 1108, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- 1104, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- 1102, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- 1100, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- 1110, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- 1098, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- 1096, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- 1094, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- 1733, /* GL_UNPACK_SWAP_BYTES */
- 1728, /* GL_UNPACK_LSB_FIRST */
- 1729, /* GL_UNPACK_ROW_LENGTH */
- 1732, /* GL_UNPACK_SKIP_ROWS */
- 1731, /* GL_UNPACK_SKIP_PIXELS */
- 1726, /* GL_UNPACK_ALIGNMENT */
- 1080, /* GL_PACK_SWAP_BYTES */
- 1075, /* GL_PACK_LSB_FIRST */
- 1076, /* GL_PACK_ROW_LENGTH */
- 1079, /* GL_PACK_SKIP_ROWS */
- 1078, /* GL_PACK_SKIP_PIXELS */
- 1072, /* GL_PACK_ALIGNMENT */
- 786, /* GL_MAP_COLOR */
- 791, /* GL_MAP_STENCIL */
- 629, /* GL_INDEX_SHIFT */
- 628, /* GL_INDEX_OFFSET */
- 1291, /* GL_RED_SCALE */
- 1289, /* GL_RED_BIAS */
- 1831, /* GL_ZOOM_X */
- 1832, /* GL_ZOOM_Y */
- 590, /* GL_GREEN_SCALE */
- 588, /* GL_GREEN_BIAS */
+ 389, /* GL_DRAW_BUFFER */
+ 1280, /* GL_READ_BUFFER */
+ 1391, /* GL_SCISSOR_BOX */
+ 1392, /* GL_SCISSOR_TEST */
+ 627, /* GL_INDEX_CLEAR_VALUE */
+ 632, /* GL_INDEX_WRITEMASK */
+ 187, /* GL_COLOR_CLEAR_VALUE */
+ 229, /* GL_COLOR_WRITEMASK */
+ 629, /* GL_INDEX_MODE */
+ 1357, /* GL_RGBA_MODE */
+ 388, /* GL_DOUBLEBUFFER */
+ 1507, /* GL_STEREO */
+ 1315, /* GL_RENDER_MODE */
+ 1094, /* GL_PERSPECTIVE_CORRECTION_HINT */
+ 1147, /* GL_POINT_SMOOTH_HINT */
+ 694, /* GL_LINE_SMOOTH_HINT */
+ 1164, /* GL_POLYGON_SMOOTH_HINT */
+ 522, /* GL_FOG_HINT */
+ 1671, /* GL_TEXTURE_GEN_S */
+ 1672, /* GL_TEXTURE_GEN_T */
+ 1670, /* GL_TEXTURE_GEN_R */
+ 1669, /* GL_TEXTURE_GEN_Q */
+ 1107, /* GL_PIXEL_MAP_I_TO_I */
+ 1113, /* GL_PIXEL_MAP_S_TO_S */
+ 1109, /* GL_PIXEL_MAP_I_TO_R */
+ 1105, /* GL_PIXEL_MAP_I_TO_G */
+ 1103, /* GL_PIXEL_MAP_I_TO_B */
+ 1101, /* GL_PIXEL_MAP_I_TO_A */
+ 1111, /* GL_PIXEL_MAP_R_TO_R */
+ 1099, /* GL_PIXEL_MAP_G_TO_G */
+ 1097, /* GL_PIXEL_MAP_B_TO_B */
+ 1095, /* GL_PIXEL_MAP_A_TO_A */
+ 1108, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+ 1114, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+ 1110, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+ 1106, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+ 1104, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+ 1102, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+ 1112, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+ 1100, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+ 1098, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+ 1096, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+ 1742, /* GL_UNPACK_SWAP_BYTES */
+ 1737, /* GL_UNPACK_LSB_FIRST */
+ 1738, /* GL_UNPACK_ROW_LENGTH */
+ 1741, /* GL_UNPACK_SKIP_ROWS */
+ 1740, /* GL_UNPACK_SKIP_PIXELS */
+ 1735, /* GL_UNPACK_ALIGNMENT */
+ 1082, /* GL_PACK_SWAP_BYTES */
+ 1077, /* GL_PACK_LSB_FIRST */
+ 1078, /* GL_PACK_ROW_LENGTH */
+ 1081, /* GL_PACK_SKIP_ROWS */
+ 1080, /* GL_PACK_SKIP_PIXELS */
+ 1074, /* GL_PACK_ALIGNMENT */
+ 788, /* GL_MAP_COLOR */
+ 793, /* GL_MAP_STENCIL */
+ 631, /* GL_INDEX_SHIFT */
+ 630, /* GL_INDEX_OFFSET */
+ 1293, /* GL_RED_SCALE */
+ 1291, /* GL_RED_BIAS */
+ 1840, /* GL_ZOOM_X */
+ 1841, /* GL_ZOOM_Y */
+ 592, /* GL_GREEN_SCALE */
+ 590, /* GL_GREEN_BIAS */
92, /* GL_BLUE_SCALE */
90, /* GL_BLUE_BIAS */
42, /* GL_ALPHA_SCALE */
40, /* GL_ALPHA_BIAS */
- 365, /* GL_DEPTH_SCALE */
- 346, /* GL_DEPTH_BIAS */
- 865, /* GL_MAX_EVAL_ORDER */
- 869, /* GL_MAX_LIGHTS */
- 848, /* GL_MAX_CLIP_PLANES */
- 914, /* GL_MAX_TEXTURE_SIZE */
- 875, /* GL_MAX_PIXEL_MAP_TABLE */
- 844, /* GL_MAX_ATTRIB_STACK_DEPTH */
- 872, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- 873, /* GL_MAX_NAME_STACK_DEPTH */
- 901, /* GL_MAX_PROJECTION_STACK_DEPTH */
- 915, /* GL_MAX_TEXTURE_STACK_DEPTH */
- 929, /* GL_MAX_VIEWPORT_DIMS */
- 845, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- 1512, /* GL_SUBPIXEL_BITS */
- 624, /* GL_INDEX_BITS */
- 1290, /* GL_RED_BITS */
- 589, /* GL_GREEN_BITS */
+ 367, /* GL_DEPTH_SCALE */
+ 348, /* GL_DEPTH_BIAS */
+ 867, /* GL_MAX_EVAL_ORDER */
+ 871, /* GL_MAX_LIGHTS */
+ 850, /* GL_MAX_CLIP_PLANES */
+ 916, /* GL_MAX_TEXTURE_SIZE */
+ 877, /* GL_MAX_PIXEL_MAP_TABLE */
+ 846, /* GL_MAX_ATTRIB_STACK_DEPTH */
+ 874, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+ 875, /* GL_MAX_NAME_STACK_DEPTH */
+ 903, /* GL_MAX_PROJECTION_STACK_DEPTH */
+ 917, /* GL_MAX_TEXTURE_STACK_DEPTH */
+ 931, /* GL_MAX_VIEWPORT_DIMS */
+ 847, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+ 1517, /* GL_SUBPIXEL_BITS */
+ 626, /* GL_INDEX_BITS */
+ 1292, /* GL_RED_BITS */
+ 591, /* GL_GREEN_BITS */
91, /* GL_BLUE_BITS */
41, /* GL_ALPHA_BITS */
- 347, /* GL_DEPTH_BITS */
- 1487, /* GL_STENCIL_BITS */
+ 349, /* GL_DEPTH_BITS */
+ 1489, /* GL_STENCIL_BITS */
14, /* GL_ACCUM_RED_BITS */
13, /* GL_ACCUM_GREEN_BITS */
10, /* GL_ACCUM_BLUE_BITS */
9, /* GL_ACCUM_ALPHA_BITS */
- 995, /* GL_NAME_STACK_DEPTH */
+ 997, /* GL_NAME_STACK_DEPTH */
61, /* GL_AUTO_NORMAL */
- 732, /* GL_MAP1_COLOR_4 */
- 735, /* GL_MAP1_INDEX */
- 736, /* GL_MAP1_NORMAL */
- 737, /* GL_MAP1_TEXTURE_COORD_1 */
- 738, /* GL_MAP1_TEXTURE_COORD_2 */
- 739, /* GL_MAP1_TEXTURE_COORD_3 */
- 740, /* GL_MAP1_TEXTURE_COORD_4 */
- 741, /* GL_MAP1_VERTEX_3 */
- 742, /* GL_MAP1_VERTEX_4 */
- 759, /* GL_MAP2_COLOR_4 */
- 762, /* GL_MAP2_INDEX */
- 763, /* GL_MAP2_NORMAL */
- 764, /* GL_MAP2_TEXTURE_COORD_1 */
- 765, /* GL_MAP2_TEXTURE_COORD_2 */
- 766, /* GL_MAP2_TEXTURE_COORD_3 */
- 767, /* GL_MAP2_TEXTURE_COORD_4 */
- 768, /* GL_MAP2_VERTEX_3 */
- 769, /* GL_MAP2_VERTEX_4 */
- 733, /* GL_MAP1_GRID_DOMAIN */
- 734, /* GL_MAP1_GRID_SEGMENTS */
- 760, /* GL_MAP2_GRID_DOMAIN */
- 761, /* GL_MAP2_GRID_SEGMENTS */
- 1589, /* GL_TEXTURE_1D */
- 1591, /* GL_TEXTURE_2D */
- 474, /* GL_FEEDBACK_BUFFER_POINTER */
- 475, /* GL_FEEDBACK_BUFFER_SIZE */
- 476, /* GL_FEEDBACK_BUFFER_TYPE */
- 1399, /* GL_SELECTION_BUFFER_POINTER */
- 1400, /* GL_SELECTION_BUFFER_SIZE */
- 1703, /* GL_TEXTURE_WIDTH */
- 1670, /* GL_TEXTURE_HEIGHT */
- 1626, /* GL_TEXTURE_COMPONENTS */
- 1610, /* GL_TEXTURE_BORDER_COLOR */
- 1609, /* GL_TEXTURE_BORDER */
- 378, /* GL_DONT_CARE */
- 472, /* GL_FASTEST */
- 1003, /* GL_NICEST */
+ 734, /* GL_MAP1_COLOR_4 */
+ 737, /* GL_MAP1_INDEX */
+ 738, /* GL_MAP1_NORMAL */
+ 739, /* GL_MAP1_TEXTURE_COORD_1 */
+ 740, /* GL_MAP1_TEXTURE_COORD_2 */
+ 741, /* GL_MAP1_TEXTURE_COORD_3 */
+ 742, /* GL_MAP1_TEXTURE_COORD_4 */
+ 743, /* GL_MAP1_VERTEX_3 */
+ 744, /* GL_MAP1_VERTEX_4 */
+ 761, /* GL_MAP2_COLOR_4 */
+ 764, /* GL_MAP2_INDEX */
+ 765, /* GL_MAP2_NORMAL */
+ 766, /* GL_MAP2_TEXTURE_COORD_1 */
+ 767, /* GL_MAP2_TEXTURE_COORD_2 */
+ 768, /* GL_MAP2_TEXTURE_COORD_3 */
+ 769, /* GL_MAP2_TEXTURE_COORD_4 */
+ 770, /* GL_MAP2_VERTEX_3 */
+ 771, /* GL_MAP2_VERTEX_4 */
+ 735, /* GL_MAP1_GRID_DOMAIN */
+ 736, /* GL_MAP1_GRID_SEGMENTS */
+ 762, /* GL_MAP2_GRID_DOMAIN */
+ 763, /* GL_MAP2_GRID_SEGMENTS */
+ 1594, /* GL_TEXTURE_1D */
+ 1596, /* GL_TEXTURE_2D */
+ 476, /* GL_FEEDBACK_BUFFER_POINTER */
+ 477, /* GL_FEEDBACK_BUFFER_SIZE */
+ 478, /* GL_FEEDBACK_BUFFER_TYPE */
+ 1401, /* GL_SELECTION_BUFFER_POINTER */
+ 1402, /* GL_SELECTION_BUFFER_SIZE */
+ 1712, /* GL_TEXTURE_WIDTH */
+ 1676, /* GL_TEXTURE_HEIGHT */
+ 1631, /* GL_TEXTURE_COMPONENTS */
+ 1615, /* GL_TEXTURE_BORDER_COLOR */
+ 1614, /* GL_TEXTURE_BORDER */
+ 380, /* GL_DONT_CARE */
+ 474, /* GL_FASTEST */
+ 1005, /* GL_NICEST */
47, /* GL_AMBIENT */
- 375, /* GL_DIFFUSE */
- 1447, /* GL_SPECULAR */
- 1166, /* GL_POSITION */
- 1450, /* GL_SPOT_DIRECTION */
- 1451, /* GL_SPOT_EXPONENT */
- 1449, /* GL_SPOT_CUTOFF */
- 271, /* GL_CONSTANT_ATTENUATION */
- 682, /* GL_LINEAR_ATTENUATION */
- 1264, /* GL_QUADRATIC_ATTENUATION */
- 241, /* GL_COMPILE */
- 242, /* GL_COMPILE_AND_EXECUTE */
- 117, /* GL_BYTE */
- 1734, /* GL_UNSIGNED_BYTE */
- 1413, /* GL_SHORT */
- 1745, /* GL_UNSIGNED_SHORT */
- 632, /* GL_INT */
- 1737, /* GL_UNSIGNED_INT */
- 480, /* GL_FLOAT */
+ 377, /* GL_DIFFUSE */
+ 1449, /* GL_SPECULAR */
+ 1168, /* GL_POSITION */
+ 1452, /* GL_SPOT_DIRECTION */
+ 1453, /* GL_SPOT_EXPONENT */
+ 1451, /* GL_SPOT_CUTOFF */
+ 273, /* GL_CONSTANT_ATTENUATION */
+ 684, /* GL_LINEAR_ATTENUATION */
+ 1266, /* GL_QUADRATIC_ATTENUATION */
+ 243, /* GL_COMPILE */
+ 244, /* GL_COMPILE_AND_EXECUTE */
+ 119, /* GL_BYTE */
+ 1743, /* GL_UNSIGNED_BYTE */
+ 1415, /* GL_SHORT */
+ 1754, /* GL_UNSIGNED_SHORT */
+ 634, /* GL_INT */
+ 1746, /* GL_UNSIGNED_INT */
+ 482, /* GL_FLOAT */
1, /* GL_2_BYTES */
5, /* GL_3_BYTES */
7, /* GL_4_BYTES */
- 385, /* GL_DOUBLE */
- 129, /* GL_CLEAR */
+ 387, /* GL_DOUBLE */
+ 131, /* GL_CLEAR */
49, /* GL_AND */
51, /* GL_AND_REVERSE */
- 295, /* GL_COPY */
+ 297, /* GL_COPY */
50, /* GL_AND_INVERTED */
- 1005, /* GL_NOOP */
- 1827, /* GL_XOR */
- 1067, /* GL_OR */
- 1006, /* GL_NOR */
- 462, /* GL_EQUIV */
- 659, /* GL_INVERT */
- 1070, /* GL_OR_REVERSE */
- 296, /* GL_COPY_INVERTED */
- 1069, /* GL_OR_INVERTED */
- 996, /* GL_NAND */
- 1404, /* GL_SET */
- 459, /* GL_EMISSION */
- 1412, /* GL_SHININESS */
+ 1007, /* GL_NOOP */
+ 1836, /* GL_XOR */
+ 1069, /* GL_OR */
+ 1008, /* GL_NOR */
+ 464, /* GL_EQUIV */
+ 661, /* GL_INVERT */
+ 1072, /* GL_OR_REVERSE */
+ 298, /* GL_COPY_INVERTED */
+ 1071, /* GL_OR_INVERTED */
+ 998, /* GL_NAND */
+ 1406, /* GL_SET */
+ 461, /* GL_EMISSION */
+ 1414, /* GL_SHININESS */
48, /* GL_AMBIENT_AND_DIFFUSE */
- 187, /* GL_COLOR_INDEXES */
- 946, /* GL_MODELVIEW */
- 1242, /* GL_PROJECTION */
- 1524, /* GL_TEXTURE */
- 144, /* GL_COLOR */
- 342, /* GL_DEPTH */
- 1473, /* GL_STENCIL */
- 186, /* GL_COLOR_INDEX */
- 1492, /* GL_STENCIL_INDEX */
- 353, /* GL_DEPTH_COMPONENT */
- 1286, /* GL_RED */
- 587, /* GL_GREEN */
+ 189, /* GL_COLOR_INDEXES */
+ 948, /* GL_MODELVIEW */
+ 1244, /* GL_PROJECTION */
+ 1529, /* GL_TEXTURE */
+ 146, /* GL_COLOR */
+ 344, /* GL_DEPTH */
+ 1475, /* GL_STENCIL */
+ 188, /* GL_COLOR_INDEX */
+ 1494, /* GL_STENCIL_INDEX */
+ 355, /* GL_DEPTH_COMPONENT */
+ 1288, /* GL_RED */
+ 589, /* GL_GREEN */
89, /* GL_BLUE */
31, /* GL_ALPHA */
- 1321, /* GL_RGB */
- 1340, /* GL_RGBA */
- 710, /* GL_LUMINANCE */
- 731, /* GL_LUMINANCE_ALPHA */
+ 1323, /* GL_RGB */
+ 1342, /* GL_RGBA */
+ 712, /* GL_LUMINANCE */
+ 733, /* GL_LUMINANCE_ALPHA */
72, /* GL_BITMAP */
- 1122, /* GL_POINT */
- 680, /* GL_LINE */
- 477, /* GL_FILL */
- 1295, /* GL_RENDER */
- 473, /* GL_FEEDBACK */
- 1398, /* GL_SELECT */
- 479, /* GL_FLAT */
- 1422, /* GL_SMOOTH */
- 660, /* GL_KEEP */
- 1315, /* GL_REPLACE */
- 614, /* GL_INCR */
- 338, /* GL_DECR */
- 1760, /* GL_VENDOR */
- 1312, /* GL_RENDERER */
- 1761, /* GL_VERSION */
- 466, /* GL_EXTENSIONS */
- 1363, /* GL_S */
- 1515, /* GL_T */
- 1275, /* GL_R */
- 1263, /* GL_Q */
- 982, /* GL_MODULATE */
- 337, /* GL_DECAL */
- 1660, /* GL_TEXTURE_ENV_MODE */
- 1659, /* GL_TEXTURE_ENV_COLOR */
- 1658, /* GL_TEXTURE_ENV */
- 467, /* GL_EYE_LINEAR */
- 1029, /* GL_OBJECT_LINEAR */
- 1448, /* GL_SPHERE_MAP */
- 1662, /* GL_TEXTURE_GEN_MODE */
- 1031, /* GL_OBJECT_PLANE */
- 468, /* GL_EYE_PLANE */
- 997, /* GL_NEAREST */
- 681, /* GL_LINEAR */
- 1001, /* GL_NEAREST_MIPMAP_NEAREST */
- 686, /* GL_LINEAR_MIPMAP_NEAREST */
- 1000, /* GL_NEAREST_MIPMAP_LINEAR */
- 685, /* GL_LINEAR_MIPMAP_LINEAR */
- 1683, /* GL_TEXTURE_MAG_FILTER */
- 1691, /* GL_TEXTURE_MIN_FILTER */
- 1705, /* GL_TEXTURE_WRAP_S */
- 1706, /* GL_TEXTURE_WRAP_T */
- 123, /* GL_CLAMP */
- 1314, /* GL_REPEAT */
- 1160, /* GL_POLYGON_OFFSET_UNITS */
- 1159, /* GL_POLYGON_OFFSET_POINT */
- 1158, /* GL_POLYGON_OFFSET_LINE */
- 1276, /* GL_R3_G3_B2 */
- 1757, /* GL_V2F */
- 1758, /* GL_V3F */
- 120, /* GL_C4UB_V2F */
- 121, /* GL_C4UB_V3F */
- 118, /* GL_C3F_V3F */
- 994, /* GL_N3F_V3F */
- 119, /* GL_C4F_N3F_V3F */
- 1520, /* GL_T2F_V3F */
- 1522, /* GL_T4F_V4F */
- 1518, /* GL_T2F_C4UB_V3F */
- 1516, /* GL_T2F_C3F_V3F */
- 1519, /* GL_T2F_N3F_V3F */
- 1517, /* GL_T2F_C4F_N3F_V3F */
- 1521, /* 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 */
- 665, /* GL_LIGHT0 */
- 666, /* GL_LIGHT1 */
- 667, /* GL_LIGHT2 */
- 668, /* GL_LIGHT3 */
- 669, /* GL_LIGHT4 */
- 670, /* GL_LIGHT5 */
- 671, /* GL_LIGHT6 */
- 672, /* GL_LIGHT7 */
- 591, /* GL_HINT_BIT */
- 273, /* GL_CONSTANT_COLOR */
- 1041, /* GL_ONE_MINUS_CONSTANT_COLOR */
- 268, /* GL_CONSTANT_ALPHA */
- 1039, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+ 1124, /* GL_POINT */
+ 682, /* GL_LINE */
+ 479, /* GL_FILL */
+ 1297, /* GL_RENDER */
+ 475, /* GL_FEEDBACK */
+ 1400, /* GL_SELECT */
+ 481, /* GL_FLAT */
+ 1424, /* GL_SMOOTH */
+ 662, /* GL_KEEP */
+ 1317, /* GL_REPLACE */
+ 616, /* GL_INCR */
+ 340, /* GL_DECR */
+ 1769, /* GL_VENDOR */
+ 1314, /* GL_RENDERER */
+ 1770, /* GL_VERSION */
+ 468, /* GL_EXTENSIONS */
+ 1365, /* GL_S */
+ 1520, /* GL_T */
+ 1277, /* GL_R */
+ 1265, /* GL_Q */
+ 984, /* GL_MODULATE */
+ 339, /* GL_DECAL */
+ 1666, /* GL_TEXTURE_ENV_MODE */
+ 1665, /* GL_TEXTURE_ENV_COLOR */
+ 1664, /* GL_TEXTURE_ENV */
+ 469, /* GL_EYE_LINEAR */
+ 1031, /* GL_OBJECT_LINEAR */
+ 1450, /* GL_SPHERE_MAP */
+ 1668, /* GL_TEXTURE_GEN_MODE */
+ 1033, /* GL_OBJECT_PLANE */
+ 470, /* GL_EYE_PLANE */
+ 999, /* GL_NEAREST */
+ 683, /* GL_LINEAR */
+ 1003, /* GL_NEAREST_MIPMAP_NEAREST */
+ 688, /* GL_LINEAR_MIPMAP_NEAREST */
+ 1002, /* GL_NEAREST_MIPMAP_LINEAR */
+ 687, /* GL_LINEAR_MIPMAP_LINEAR */
+ 1689, /* GL_TEXTURE_MAG_FILTER */
+ 1697, /* GL_TEXTURE_MIN_FILTER */
+ 1714, /* GL_TEXTURE_WRAP_S */
+ 1715, /* GL_TEXTURE_WRAP_T */
+ 125, /* GL_CLAMP */
+ 1316, /* GL_REPEAT */
+ 1162, /* GL_POLYGON_OFFSET_UNITS */
+ 1161, /* GL_POLYGON_OFFSET_POINT */
+ 1160, /* GL_POLYGON_OFFSET_LINE */
+ 1278, /* GL_R3_G3_B2 */
+ 1766, /* GL_V2F */
+ 1767, /* GL_V3F */
+ 122, /* GL_C4UB_V2F */
+ 123, /* GL_C4UB_V3F */
+ 120, /* GL_C3F_V3F */
+ 996, /* GL_N3F_V3F */
+ 121, /* GL_C4F_N3F_V3F */
+ 1525, /* GL_T2F_V3F */
+ 1527, /* GL_T4F_V4F */
+ 1523, /* GL_T2F_C4UB_V3F */
+ 1521, /* GL_T2F_C3F_V3F */
+ 1524, /* GL_T2F_N3F_V3F */
+ 1522, /* GL_T2F_C4F_N3F_V3F */
+ 1526, /* GL_T4F_C4F_N3F_V4F */
+ 138, /* GL_CLIP_PLANE0 */
+ 139, /* GL_CLIP_PLANE1 */
+ 140, /* GL_CLIP_PLANE2 */
+ 141, /* GL_CLIP_PLANE3 */
+ 142, /* GL_CLIP_PLANE4 */
+ 143, /* GL_CLIP_PLANE5 */
+ 667, /* GL_LIGHT0 */
+ 668, /* GL_LIGHT1 */
+ 669, /* GL_LIGHT2 */
+ 670, /* GL_LIGHT3 */
+ 671, /* GL_LIGHT4 */
+ 672, /* GL_LIGHT5 */
+ 673, /* GL_LIGHT6 */
+ 674, /* GL_LIGHT7 */
+ 593, /* GL_HINT_BIT */
+ 275, /* GL_CONSTANT_COLOR */
+ 1043, /* GL_ONE_MINUS_CONSTANT_COLOR */
+ 270, /* GL_CONSTANT_ALPHA */
+ 1041, /* GL_ONE_MINUS_CONSTANT_ALPHA */
75, /* GL_BLEND_COLOR */
- 575, /* GL_FUNC_ADD */
- 930, /* GL_MIN */
- 841, /* GL_MAX */
+ 577, /* GL_FUNC_ADD */
+ 932, /* GL_MIN */
+ 843, /* GL_MAX */
80, /* GL_BLEND_EQUATION */
- 579, /* GL_FUNC_SUBTRACT */
- 577, /* GL_FUNC_REVERSE_SUBTRACT */
- 276, /* GL_CONVOLUTION_1D */
- 277, /* GL_CONVOLUTION_2D */
- 1401, /* GL_SEPARABLE_2D */
- 280, /* GL_CONVOLUTION_BORDER_MODE */
- 284, /* GL_CONVOLUTION_FILTER_SCALE */
- 282, /* GL_CONVOLUTION_FILTER_BIAS */
- 1287, /* GL_REDUCE */
- 286, /* GL_CONVOLUTION_FORMAT */
- 290, /* GL_CONVOLUTION_WIDTH */
- 288, /* GL_CONVOLUTION_HEIGHT */
- 856, /* GL_MAX_CONVOLUTION_WIDTH */
- 854, /* GL_MAX_CONVOLUTION_HEIGHT */
- 1199, /* GL_POST_CONVOLUTION_RED_SCALE */
- 1195, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- 1190, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- 1186, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- 1197, /* GL_POST_CONVOLUTION_RED_BIAS */
- 1193, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- 1188, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- 1184, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- 592, /* GL_HISTOGRAM */
- 1247, /* GL_PROXY_HISTOGRAM */
- 608, /* GL_HISTOGRAM_WIDTH */
- 598, /* GL_HISTOGRAM_FORMAT */
- 604, /* GL_HISTOGRAM_RED_SIZE */
- 600, /* GL_HISTOGRAM_GREEN_SIZE */
- 595, /* GL_HISTOGRAM_BLUE_SIZE */
- 593, /* GL_HISTOGRAM_ALPHA_SIZE */
- 602, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- 606, /* GL_HISTOGRAM_SINK */
- 931, /* GL_MINMAX */
- 933, /* GL_MINMAX_FORMAT */
- 935, /* GL_MINMAX_SINK */
- 1523, /* GL_TABLE_TOO_LARGE_EXT */
- 1736, /* GL_UNSIGNED_BYTE_3_3_2 */
- 1747, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- 1749, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- 1742, /* GL_UNSIGNED_INT_8_8_8_8 */
- 1738, /* GL_UNSIGNED_INT_10_10_10_2 */
- 1157, /* GL_POLYGON_OFFSET_FILL */
- 1156, /* GL_POLYGON_OFFSET_FACTOR */
- 1155, /* GL_POLYGON_OFFSET_BIAS */
- 1318, /* GL_RESCALE_NORMAL */
+ 581, /* GL_FUNC_SUBTRACT */
+ 579, /* GL_FUNC_REVERSE_SUBTRACT */
+ 278, /* GL_CONVOLUTION_1D */
+ 279, /* GL_CONVOLUTION_2D */
+ 1403, /* GL_SEPARABLE_2D */
+ 282, /* GL_CONVOLUTION_BORDER_MODE */
+ 286, /* GL_CONVOLUTION_FILTER_SCALE */
+ 284, /* GL_CONVOLUTION_FILTER_BIAS */
+ 1289, /* GL_REDUCE */
+ 288, /* GL_CONVOLUTION_FORMAT */
+ 292, /* GL_CONVOLUTION_WIDTH */
+ 290, /* GL_CONVOLUTION_HEIGHT */
+ 858, /* GL_MAX_CONVOLUTION_WIDTH */
+ 856, /* GL_MAX_CONVOLUTION_HEIGHT */
+ 1201, /* GL_POST_CONVOLUTION_RED_SCALE */
+ 1197, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+ 1192, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+ 1188, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+ 1199, /* GL_POST_CONVOLUTION_RED_BIAS */
+ 1195, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+ 1190, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+ 1186, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+ 594, /* GL_HISTOGRAM */
+ 1249, /* GL_PROXY_HISTOGRAM */
+ 610, /* GL_HISTOGRAM_WIDTH */
+ 600, /* GL_HISTOGRAM_FORMAT */
+ 606, /* GL_HISTOGRAM_RED_SIZE */
+ 602, /* GL_HISTOGRAM_GREEN_SIZE */
+ 597, /* GL_HISTOGRAM_BLUE_SIZE */
+ 595, /* GL_HISTOGRAM_ALPHA_SIZE */
+ 604, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+ 608, /* GL_HISTOGRAM_SINK */
+ 933, /* GL_MINMAX */
+ 935, /* GL_MINMAX_FORMAT */
+ 937, /* GL_MINMAX_SINK */
+ 1528, /* GL_TABLE_TOO_LARGE_EXT */
+ 1745, /* GL_UNSIGNED_BYTE_3_3_2 */
+ 1756, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+ 1758, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+ 1751, /* GL_UNSIGNED_INT_8_8_8_8 */
+ 1747, /* GL_UNSIGNED_INT_10_10_10_2 */
+ 1159, /* GL_POLYGON_OFFSET_FILL */
+ 1158, /* GL_POLYGON_OFFSET_FACTOR */
+ 1157, /* GL_POLYGON_OFFSET_BIAS */
+ 1320, /* GL_RESCALE_NORMAL */
36, /* GL_ALPHA4 */
38, /* GL_ALPHA8 */
32, /* GL_ALPHA12 */
34, /* GL_ALPHA16 */
- 721, /* GL_LUMINANCE4 */
- 727, /* GL_LUMINANCE8 */
- 711, /* GL_LUMINANCE12 */
- 717, /* GL_LUMINANCE16 */
- 722, /* GL_LUMINANCE4_ALPHA4 */
- 725, /* GL_LUMINANCE6_ALPHA2 */
- 728, /* GL_LUMINANCE8_ALPHA8 */
- 714, /* GL_LUMINANCE12_ALPHA4 */
- 712, /* GL_LUMINANCE12_ALPHA12 */
- 718, /* GL_LUMINANCE16_ALPHA16 */
- 633, /* GL_INTENSITY */
- 638, /* GL_INTENSITY4 */
- 640, /* GL_INTENSITY8 */
- 634, /* GL_INTENSITY12 */
- 636, /* GL_INTENSITY16 */
- 1330, /* GL_RGB2_EXT */
- 1331, /* GL_RGB4 */
- 1334, /* GL_RGB5 */
- 1338, /* GL_RGB8 */
- 1322, /* GL_RGB10 */
- 1326, /* GL_RGB12 */
- 1328, /* GL_RGB16 */
- 1345, /* GL_RGBA2 */
- 1347, /* GL_RGBA4 */
- 1335, /* GL_RGB5_A1 */
- 1351, /* GL_RGBA8 */
- 1323, /* GL_RGB10_A2 */
- 1341, /* GL_RGBA12 */
- 1343, /* GL_RGBA16 */
- 1696, /* GL_TEXTURE_RED_SIZE */
- 1668, /* GL_TEXTURE_GREEN_SIZE */
- 1607, /* GL_TEXTURE_BLUE_SIZE */
- 1594, /* GL_TEXTURE_ALPHA_SIZE */
- 1681, /* GL_TEXTURE_LUMINANCE_SIZE */
- 1672, /* GL_TEXTURE_INTENSITY_SIZE */
- 1316, /* GL_REPLACE_EXT */
- 1251, /* GL_PROXY_TEXTURE_1D */
- 1254, /* GL_PROXY_TEXTURE_2D */
- 1701, /* GL_TEXTURE_TOO_LARGE_EXT */
- 1693, /* GL_TEXTURE_PRIORITY */
- 1698, /* GL_TEXTURE_RESIDENT */
- 1597, /* GL_TEXTURE_BINDING_1D */
- 1599, /* GL_TEXTURE_BINDING_2D */
- 1601, /* GL_TEXTURE_BINDING_3D */
- 1077, /* GL_PACK_SKIP_IMAGES */
- 1073, /* GL_PACK_IMAGE_HEIGHT */
- 1730, /* GL_UNPACK_SKIP_IMAGES */
- 1727, /* GL_UNPACK_IMAGE_HEIGHT */
- 1593, /* GL_TEXTURE_3D */
- 1257, /* GL_PROXY_TEXTURE_3D */
- 1655, /* GL_TEXTURE_DEPTH */
- 1704, /* GL_TEXTURE_WRAP_R */
- 842, /* GL_MAX_3D_TEXTURE_SIZE */
- 1762, /* GL_VERTEX_ARRAY */
- 1008, /* GL_NORMAL_ARRAY */
- 145, /* GL_COLOR_ARRAY */
- 618, /* GL_INDEX_ARRAY */
- 1634, /* GL_TEXTURE_COORD_ARRAY */
- 451, /* GL_EDGE_FLAG_ARRAY */
- 1768, /* GL_VERTEX_ARRAY_SIZE */
- 1770, /* GL_VERTEX_ARRAY_TYPE */
- 1769, /* GL_VERTEX_ARRAY_STRIDE */
- 1013, /* GL_NORMAL_ARRAY_TYPE */
- 1012, /* GL_NORMAL_ARRAY_STRIDE */
- 149, /* GL_COLOR_ARRAY_SIZE */
- 151, /* GL_COLOR_ARRAY_TYPE */
- 150, /* GL_COLOR_ARRAY_STRIDE */
- 623, /* GL_INDEX_ARRAY_TYPE */
- 622, /* GL_INDEX_ARRAY_STRIDE */
- 1638, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- 1640, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- 1639, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- 455, /* GL_EDGE_FLAG_ARRAY_STRIDE */
- 1767, /* GL_VERTEX_ARRAY_POINTER */
- 1011, /* GL_NORMAL_ARRAY_POINTER */
- 148, /* GL_COLOR_ARRAY_POINTER */
- 621, /* GL_INDEX_ARRAY_POINTER */
- 1637, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- 454, /* GL_EDGE_FLAG_ARRAY_POINTER */
- 987, /* GL_MULTISAMPLE */
- 1375, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- 1377, /* GL_SAMPLE_ALPHA_TO_ONE */
- 1382, /* GL_SAMPLE_COVERAGE */
- 1379, /* GL_SAMPLE_BUFFERS */
- 1370, /* GL_SAMPLES */
- 1386, /* GL_SAMPLE_COVERAGE_VALUE */
- 1384, /* GL_SAMPLE_COVERAGE_INVERT */
- 192, /* GL_COLOR_MATRIX */
- 194, /* GL_COLOR_MATRIX_STACK_DEPTH */
- 850, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- 1182, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- 1178, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- 1173, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- 1169, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- 1180, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- 1176, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- 1171, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- 1167, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- 1617, /* GL_TEXTURE_COLOR_TABLE_SGI */
- 1258, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- 1619, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+ 723, /* GL_LUMINANCE4 */
+ 729, /* GL_LUMINANCE8 */
+ 713, /* GL_LUMINANCE12 */
+ 719, /* GL_LUMINANCE16 */
+ 724, /* GL_LUMINANCE4_ALPHA4 */
+ 727, /* GL_LUMINANCE6_ALPHA2 */
+ 730, /* GL_LUMINANCE8_ALPHA8 */
+ 716, /* GL_LUMINANCE12_ALPHA4 */
+ 714, /* GL_LUMINANCE12_ALPHA12 */
+ 720, /* GL_LUMINANCE16_ALPHA16 */
+ 635, /* GL_INTENSITY */
+ 640, /* GL_INTENSITY4 */
+ 642, /* GL_INTENSITY8 */
+ 636, /* GL_INTENSITY12 */
+ 638, /* GL_INTENSITY16 */
+ 1332, /* GL_RGB2_EXT */
+ 1333, /* GL_RGB4 */
+ 1336, /* GL_RGB5 */
+ 1340, /* GL_RGB8 */
+ 1324, /* GL_RGB10 */
+ 1328, /* GL_RGB12 */
+ 1330, /* GL_RGB16 */
+ 1347, /* GL_RGBA2 */
+ 1349, /* GL_RGBA4 */
+ 1337, /* GL_RGB5_A1 */
+ 1353, /* GL_RGBA8 */
+ 1325, /* GL_RGB10_A2 */
+ 1343, /* GL_RGBA12 */
+ 1345, /* GL_RGBA16 */
+ 1704, /* GL_TEXTURE_RED_SIZE */
+ 1674, /* GL_TEXTURE_GREEN_SIZE */
+ 1612, /* GL_TEXTURE_BLUE_SIZE */
+ 1599, /* GL_TEXTURE_ALPHA_SIZE */
+ 1687, /* GL_TEXTURE_LUMINANCE_SIZE */
+ 1678, /* GL_TEXTURE_INTENSITY_SIZE */
+ 1318, /* GL_REPLACE_EXT */
+ 1253, /* GL_PROXY_TEXTURE_1D */
+ 1256, /* GL_PROXY_TEXTURE_2D */
+ 1710, /* GL_TEXTURE_TOO_LARGE_EXT */
+ 1699, /* GL_TEXTURE_PRIORITY */
+ 1706, /* GL_TEXTURE_RESIDENT */
+ 1602, /* GL_TEXTURE_BINDING_1D */
+ 1604, /* GL_TEXTURE_BINDING_2D */
+ 1606, /* GL_TEXTURE_BINDING_3D */
+ 1079, /* GL_PACK_SKIP_IMAGES */
+ 1075, /* GL_PACK_IMAGE_HEIGHT */
+ 1739, /* GL_UNPACK_SKIP_IMAGES */
+ 1736, /* GL_UNPACK_IMAGE_HEIGHT */
+ 1598, /* GL_TEXTURE_3D */
+ 1259, /* GL_PROXY_TEXTURE_3D */
+ 1661, /* GL_TEXTURE_DEPTH */
+ 1713, /* GL_TEXTURE_WRAP_R */
+ 844, /* GL_MAX_3D_TEXTURE_SIZE */
+ 1771, /* GL_VERTEX_ARRAY */
+ 1010, /* GL_NORMAL_ARRAY */
+ 147, /* GL_COLOR_ARRAY */
+ 620, /* GL_INDEX_ARRAY */
+ 1639, /* GL_TEXTURE_COORD_ARRAY */
+ 453, /* GL_EDGE_FLAG_ARRAY */
+ 1777, /* GL_VERTEX_ARRAY_SIZE */
+ 1779, /* GL_VERTEX_ARRAY_TYPE */
+ 1778, /* GL_VERTEX_ARRAY_STRIDE */
+ 1015, /* GL_NORMAL_ARRAY_TYPE */
+ 1014, /* GL_NORMAL_ARRAY_STRIDE */
+ 151, /* GL_COLOR_ARRAY_SIZE */
+ 153, /* GL_COLOR_ARRAY_TYPE */
+ 152, /* GL_COLOR_ARRAY_STRIDE */
+ 625, /* GL_INDEX_ARRAY_TYPE */
+ 624, /* GL_INDEX_ARRAY_STRIDE */
+ 1643, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+ 1645, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+ 1644, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+ 457, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+ 1776, /* GL_VERTEX_ARRAY_POINTER */
+ 1013, /* GL_NORMAL_ARRAY_POINTER */
+ 150, /* GL_COLOR_ARRAY_POINTER */
+ 623, /* GL_INDEX_ARRAY_POINTER */
+ 1642, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+ 456, /* GL_EDGE_FLAG_ARRAY_POINTER */
+ 989, /* GL_MULTISAMPLE */
+ 1377, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+ 1379, /* GL_SAMPLE_ALPHA_TO_ONE */
+ 1384, /* GL_SAMPLE_COVERAGE */
+ 1381, /* GL_SAMPLE_BUFFERS */
+ 1372, /* GL_SAMPLES */
+ 1388, /* GL_SAMPLE_COVERAGE_VALUE */
+ 1386, /* GL_SAMPLE_COVERAGE_INVERT */
+ 194, /* GL_COLOR_MATRIX */
+ 196, /* GL_COLOR_MATRIX_STACK_DEPTH */
+ 852, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+ 1184, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+ 1180, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+ 1175, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+ 1171, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+ 1182, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+ 1178, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+ 1173, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+ 1169, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+ 1622, /* GL_TEXTURE_COLOR_TABLE_SGI */
+ 1260, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+ 1624, /* 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 */
- 1192, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- 1175, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- 1246, /* GL_PROXY_COLOR_TABLE */
- 1250, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- 1249, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
- 222, /* GL_COLOR_TABLE_SCALE */
- 202, /* GL_COLOR_TABLE_BIAS */
- 207, /* GL_COLOR_TABLE_FORMAT */
- 224, /* GL_COLOR_TABLE_WIDTH */
- 219, /* GL_COLOR_TABLE_RED_SIZE */
- 210, /* GL_COLOR_TABLE_GREEN_SIZE */
- 204, /* GL_COLOR_TABLE_BLUE_SIZE */
- 199, /* GL_COLOR_TABLE_ALPHA_SIZE */
- 216, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
- 213, /* GL_COLOR_TABLE_INTENSITY_SIZE */
+ 200, /* GL_COLOR_TABLE */
+ 1194, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+ 1177, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+ 1248, /* GL_PROXY_COLOR_TABLE */
+ 1252, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+ 1251, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+ 224, /* GL_COLOR_TABLE_SCALE */
+ 204, /* GL_COLOR_TABLE_BIAS */
+ 209, /* GL_COLOR_TABLE_FORMAT */
+ 226, /* GL_COLOR_TABLE_WIDTH */
+ 221, /* GL_COLOR_TABLE_RED_SIZE */
+ 212, /* GL_COLOR_TABLE_GREEN_SIZE */
+ 206, /* GL_COLOR_TABLE_BLUE_SIZE */
+ 201, /* GL_COLOR_TABLE_ALPHA_SIZE */
+ 218, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
+ 215, /* GL_COLOR_TABLE_INTENSITY_SIZE */
70, /* GL_BGR */
71, /* GL_BGRA */
- 864, /* GL_MAX_ELEMENTS_VERTICES */
- 863, /* GL_MAX_ELEMENTS_INDICES */
- 1671, /* GL_TEXTURE_INDEX_SIZE_EXT */
- 142, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
- 1139, /* GL_POINT_SIZE_MIN */
- 1135, /* GL_POINT_SIZE_MAX */
- 1129, /* GL_POINT_FADE_THRESHOLD_SIZE */
- 1125, /* GL_POINT_DISTANCE_ATTENUATION */
- 124, /* GL_CLAMP_TO_BORDER */
- 127, /* GL_CLAMP_TO_EDGE */
- 1692, /* GL_TEXTURE_MIN_LOD */
- 1690, /* GL_TEXTURE_MAX_LOD */
- 1596, /* GL_TEXTURE_BASE_LEVEL */
- 1689, /* GL_TEXTURE_MAX_LEVEL */
- 611, /* GL_IGNORE_BORDER_HP */
- 272, /* GL_CONSTANT_BORDER_HP */
- 1317, /* GL_REPLICATE_BORDER_HP */
- 278, /* GL_CONVOLUTION_BORDER_COLOR */
- 1036, /* GL_OCCLUSION_TEST_HP */
- 1037, /* GL_OCCLUSION_TEST_RESULT_HP */
- 683, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- 1611, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- 1613, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- 1615, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- 1616, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1614, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- 1612, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- 846, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- 847, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1202, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- 1204, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- 1201, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- 1203, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- 1679, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- 1680, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- 1678, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- 581, /* GL_GENERATE_MIPMAP */
- 582, /* GL_GENERATE_MIPMAP_HINT */
- 523, /* GL_FOG_OFFSET_SGIX */
- 524, /* GL_FOG_OFFSET_VALUE_SGIX */
- 1625, /* GL_TEXTURE_COMPARE_SGIX */
- 1624, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- 1675, /* GL_TEXTURE_LEQUAL_R_SGIX */
- 1667, /* 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 */
- 1824, /* GL_WRAP_BORDER_SUN */
- 1618, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- 676, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- 1415, /* GL_SINGLE_COLOR */
- 1402, /* GL_SEPARATE_SPECULAR_COLOR */
- 1411, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- 534, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
- 535, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
- 542, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
- 537, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
- 533, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
- 532, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
- 536, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
- 543, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
- 554, /* GL_FRAMEBUFFER_DEFAULT */
- 567, /* GL_FRAMEBUFFER_UNDEFINED */
- 367, /* GL_DEPTH_STENCIL_ATTACHMENT */
- 617, /* GL_INDEX */
- 1735, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- 1750, /* GL_UNSIGNED_SHORT_5_6_5 */
- 1751, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- 1748, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- 1746, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- 1743, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- 1741, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- 1687, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- 1688, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- 1686, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- 938, /* GL_MIRRORED_REPEAT */
- 1358, /* GL_RGB_S3TC */
- 1333, /* GL_RGB4_S3TC */
- 1356, /* GL_RGBA_S3TC */
- 1350, /* GL_RGBA4_S3TC */
- 1354, /* GL_RGBA_DXT5_S3TC */
- 1348, /* 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 */
- 999, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- 998, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- 684, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- 510, /* GL_FOG_COORDINATE_SOURCE */
- 502, /* GL_FOG_COORD */
- 526, /* GL_FRAGMENT_DEPTH */
- 308, /* GL_CURRENT_FOG_COORD */
- 509, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- 508, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- 507, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- 504, /* GL_FOG_COORDINATE_ARRAY */
- 196, /* GL_COLOR_SUM */
- 328, /* GL_CURRENT_SECONDARY_COLOR */
- 1395, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- 1397, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- 1396, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- 1394, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- 1391, /* GL_SECONDARY_COLOR_ARRAY */
- 326, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
+ 866, /* GL_MAX_ELEMENTS_VERTICES */
+ 865, /* GL_MAX_ELEMENTS_INDICES */
+ 1677, /* GL_TEXTURE_INDEX_SIZE_EXT */
+ 144, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
+ 1141, /* GL_POINT_SIZE_MIN */
+ 1137, /* GL_POINT_SIZE_MAX */
+ 1131, /* GL_POINT_FADE_THRESHOLD_SIZE */
+ 1127, /* GL_POINT_DISTANCE_ATTENUATION */
+ 126, /* GL_CLAMP_TO_BORDER */
+ 129, /* GL_CLAMP_TO_EDGE */
+ 1698, /* GL_TEXTURE_MIN_LOD */
+ 1696, /* GL_TEXTURE_MAX_LOD */
+ 1601, /* GL_TEXTURE_BASE_LEVEL */
+ 1695, /* GL_TEXTURE_MAX_LEVEL */
+ 613, /* GL_IGNORE_BORDER_HP */
+ 274, /* GL_CONSTANT_BORDER_HP */
+ 1319, /* GL_REPLICATE_BORDER_HP */
+ 280, /* GL_CONVOLUTION_BORDER_COLOR */
+ 1038, /* GL_OCCLUSION_TEST_HP */
+ 1039, /* GL_OCCLUSION_TEST_RESULT_HP */
+ 685, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+ 1616, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+ 1618, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+ 1620, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+ 1621, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ 1619, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+ 1617, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+ 848, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+ 849, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ 1204, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+ 1206, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+ 1203, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+ 1205, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+ 1685, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+ 1686, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+ 1684, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+ 583, /* GL_GENERATE_MIPMAP */
+ 584, /* GL_GENERATE_MIPMAP_HINT */
+ 525, /* GL_FOG_OFFSET_SGIX */
+ 526, /* GL_FOG_OFFSET_VALUE_SGIX */
+ 1630, /* GL_TEXTURE_COMPARE_SGIX */
+ 1629, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+ 1681, /* GL_TEXTURE_LEQUAL_R_SGIX */
+ 1673, /* GL_TEXTURE_GEQUAL_R_SGIX */
+ 356, /* GL_DEPTH_COMPONENT16 */
+ 359, /* GL_DEPTH_COMPONENT24 */
+ 362, /* GL_DEPTH_COMPONENT32 */
+ 304, /* GL_CULL_VERTEX_EXT */
+ 306, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+ 305, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+ 1833, /* GL_WRAP_BORDER_SUN */
+ 1623, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+ 678, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+ 1417, /* GL_SINGLE_COLOR */
+ 1404, /* GL_SEPARATE_SPECULAR_COLOR */
+ 1413, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+ 536, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
+ 537, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
+ 544, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
+ 539, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
+ 535, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
+ 534, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
+ 538, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
+ 545, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
+ 556, /* GL_FRAMEBUFFER_DEFAULT */
+ 569, /* GL_FRAMEBUFFER_UNDEFINED */
+ 369, /* GL_DEPTH_STENCIL_ATTACHMENT */
+ 619, /* GL_INDEX */
+ 1744, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+ 1759, /* GL_UNSIGNED_SHORT_5_6_5 */
+ 1760, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+ 1757, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+ 1755, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+ 1752, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+ 1750, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+ 1693, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+ 1694, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+ 1692, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+ 940, /* GL_MIRRORED_REPEAT */
+ 1360, /* GL_RGB_S3TC */
+ 1335, /* GL_RGB4_S3TC */
+ 1358, /* GL_RGBA_S3TC */
+ 1352, /* GL_RGBA4_S3TC */
+ 1356, /* GL_RGBA_DXT5_S3TC */
+ 1350, /* GL_RGBA4_DXT5_S3TC */
+ 263, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
+ 258, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
+ 259, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
+ 260, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
+ 1001, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+ 1000, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+ 686, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+ 512, /* GL_FOG_COORDINATE_SOURCE */
+ 504, /* GL_FOG_COORD */
+ 528, /* GL_FRAGMENT_DEPTH */
+ 310, /* GL_CURRENT_FOG_COORD */
+ 511, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+ 510, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+ 509, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+ 506, /* GL_FOG_COORDINATE_ARRAY */
+ 198, /* GL_COLOR_SUM */
+ 330, /* GL_CURRENT_SECONDARY_COLOR */
+ 1397, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+ 1399, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+ 1398, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+ 1396, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+ 1393, /* GL_SECONDARY_COLOR_ARRAY */
+ 328, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
28, /* GL_ALIASED_POINT_SIZE_RANGE */
27, /* GL_ALIASED_LINE_WIDTH_RANGE */
- 1525, /* GL_TEXTURE0 */
- 1527, /* GL_TEXTURE1 */
- 1549, /* GL_TEXTURE2 */
- 1571, /* GL_TEXTURE3 */
- 1577, /* GL_TEXTURE4 */
- 1579, /* GL_TEXTURE5 */
- 1581, /* GL_TEXTURE6 */
- 1583, /* GL_TEXTURE7 */
- 1585, /* GL_TEXTURE8 */
- 1587, /* GL_TEXTURE9 */
- 1528, /* GL_TEXTURE10 */
- 1530, /* GL_TEXTURE11 */
- 1532, /* GL_TEXTURE12 */
- 1534, /* GL_TEXTURE13 */
- 1536, /* GL_TEXTURE14 */
- 1538, /* GL_TEXTURE15 */
- 1540, /* GL_TEXTURE16 */
- 1542, /* GL_TEXTURE17 */
- 1544, /* GL_TEXTURE18 */
- 1546, /* GL_TEXTURE19 */
- 1550, /* GL_TEXTURE20 */
- 1552, /* GL_TEXTURE21 */
- 1554, /* GL_TEXTURE22 */
- 1556, /* GL_TEXTURE23 */
- 1558, /* GL_TEXTURE24 */
- 1560, /* GL_TEXTURE25 */
- 1562, /* GL_TEXTURE26 */
- 1564, /* GL_TEXTURE27 */
- 1566, /* GL_TEXTURE28 */
- 1568, /* GL_TEXTURE29 */
- 1572, /* GL_TEXTURE30 */
- 1574, /* GL_TEXTURE31 */
+ 1530, /* GL_TEXTURE0 */
+ 1532, /* GL_TEXTURE1 */
+ 1554, /* GL_TEXTURE2 */
+ 1576, /* GL_TEXTURE3 */
+ 1582, /* GL_TEXTURE4 */
+ 1584, /* GL_TEXTURE5 */
+ 1586, /* GL_TEXTURE6 */
+ 1588, /* GL_TEXTURE7 */
+ 1590, /* GL_TEXTURE8 */
+ 1592, /* GL_TEXTURE9 */
+ 1533, /* GL_TEXTURE10 */
+ 1535, /* GL_TEXTURE11 */
+ 1537, /* GL_TEXTURE12 */
+ 1539, /* GL_TEXTURE13 */
+ 1541, /* GL_TEXTURE14 */
+ 1543, /* GL_TEXTURE15 */
+ 1545, /* GL_TEXTURE16 */
+ 1547, /* GL_TEXTURE17 */
+ 1549, /* GL_TEXTURE18 */
+ 1551, /* GL_TEXTURE19 */
+ 1555, /* GL_TEXTURE20 */
+ 1557, /* GL_TEXTURE21 */
+ 1559, /* GL_TEXTURE22 */
+ 1561, /* GL_TEXTURE23 */
+ 1563, /* GL_TEXTURE24 */
+ 1565, /* GL_TEXTURE25 */
+ 1567, /* GL_TEXTURE26 */
+ 1569, /* GL_TEXTURE27 */
+ 1571, /* GL_TEXTURE28 */
+ 1573, /* GL_TEXTURE29 */
+ 1577, /* GL_TEXTURE30 */
+ 1579, /* GL_TEXTURE31 */
18, /* GL_ACTIVE_TEXTURE */
- 130, /* GL_CLIENT_ACTIVE_TEXTURE */
- 916, /* GL_MAX_TEXTURE_UNITS */
- 1714, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- 1717, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- 1719, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- 1711, /* GL_TRANSPOSE_COLOR_MATRIX */
- 1513, /* GL_SUBTRACT */
- 904, /* 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 */
- 1632, /* GL_TEXTURE_COMPRESSION_HINT */
- 1694, /* GL_TEXTURE_RECTANGLE_ARB */
- 1604, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
- 1261, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
- 902, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
- 366, /* GL_DEPTH_STENCIL */
- 1739, /* GL_UNSIGNED_INT_24_8 */
- 912, /* GL_MAX_TEXTURE_LOD_BIAS */
- 1685, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- 913, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- 1661, /* GL_TEXTURE_FILTER_CONTROL */
- 1676, /* GL_TEXTURE_LOD_BIAS */
- 229, /* GL_COMBINE4 */
- 906, /* GL_MAX_SHININESS_NV */
- 907, /* GL_MAX_SPOT_EXPONENT_NV */
- 615, /* GL_INCR_WRAP */
- 339, /* GL_DECR_WRAP */
- 958, /* GL_MODELVIEW1_ARB */
- 1014, /* GL_NORMAL_MAP */
- 1292, /* GL_REFLECTION_MAP */
- 1641, /* GL_TEXTURE_CUBE_MAP */
- 1602, /* GL_TEXTURE_BINDING_CUBE_MAP */
- 1649, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- 1643, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- 1651, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- 1645, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- 1653, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- 1647, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- 1259, /* GL_PROXY_TEXTURE_CUBE_MAP */
- 858, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- 993, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- 518, /* 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 */
- 1359, /* GL_RGB_SCALE */
+ 132, /* GL_CLIENT_ACTIVE_TEXTURE */
+ 918, /* GL_MAX_TEXTURE_UNITS */
+ 1723, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+ 1726, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+ 1728, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+ 1720, /* GL_TRANSPOSE_COLOR_MATRIX */
+ 1518, /* GL_SUBTRACT */
+ 906, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
+ 246, /* GL_COMPRESSED_ALPHA */
+ 250, /* GL_COMPRESSED_LUMINANCE */
+ 251, /* GL_COMPRESSED_LUMINANCE_ALPHA */
+ 248, /* GL_COMPRESSED_INTENSITY */
+ 254, /* GL_COMPRESSED_RGB */
+ 255, /* GL_COMPRESSED_RGBA */
+ 1637, /* GL_TEXTURE_COMPRESSION_HINT */
+ 1702, /* GL_TEXTURE_RECTANGLE_ARB */
+ 1609, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+ 1263, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+ 904, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+ 368, /* GL_DEPTH_STENCIL */
+ 1748, /* GL_UNSIGNED_INT_24_8 */
+ 914, /* GL_MAX_TEXTURE_LOD_BIAS */
+ 1691, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+ 915, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+ 1667, /* GL_TEXTURE_FILTER_CONTROL */
+ 1682, /* GL_TEXTURE_LOD_BIAS */
+ 231, /* GL_COMBINE4 */
+ 908, /* GL_MAX_SHININESS_NV */
+ 909, /* GL_MAX_SPOT_EXPONENT_NV */
+ 617, /* GL_INCR_WRAP */
+ 341, /* GL_DECR_WRAP */
+ 960, /* GL_MODELVIEW1_ARB */
+ 1016, /* GL_NORMAL_MAP */
+ 1294, /* GL_REFLECTION_MAP */
+ 1646, /* GL_TEXTURE_CUBE_MAP */
+ 1607, /* GL_TEXTURE_BINDING_CUBE_MAP */
+ 1654, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+ 1648, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+ 1656, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+ 1650, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+ 1658, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+ 1652, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+ 1261, /* GL_PROXY_TEXTURE_CUBE_MAP */
+ 860, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+ 995, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+ 520, /* GL_FOG_DISTANCE_MODE_NV */
+ 472, /* GL_EYE_RADIAL_NV */
+ 471, /* GL_EYE_PLANE_ABSOLUTE_NV */
+ 230, /* GL_COMBINE */
+ 237, /* GL_COMBINE_RGB */
+ 232, /* GL_COMBINE_ALPHA */
+ 1361, /* GL_RGB_SCALE */
24, /* GL_ADD_SIGNED */
- 643, /* GL_INTERPOLATE */
- 267, /* GL_CONSTANT */
- 1208, /* GL_PRIMARY_COLOR */
- 1205, /* GL_PREVIOUS */
- 1430, /* GL_SOURCE0_RGB */
- 1436, /* GL_SOURCE1_RGB */
- 1442, /* GL_SOURCE2_RGB */
- 1446, /* GL_SOURCE3_RGB_NV */
- 1427, /* GL_SOURCE0_ALPHA */
- 1433, /* GL_SOURCE1_ALPHA */
- 1439, /* GL_SOURCE2_ALPHA */
- 1445, /* GL_SOURCE3_ALPHA_NV */
- 1050, /* GL_OPERAND0_RGB */
- 1056, /* GL_OPERAND1_RGB */
- 1062, /* GL_OPERAND2_RGB */
- 1066, /* GL_OPERAND3_RGB_NV */
- 1047, /* GL_OPERAND0_ALPHA */
- 1053, /* GL_OPERAND1_ALPHA */
- 1059, /* GL_OPERAND2_ALPHA */
- 1065, /* GL_OPERAND3_ALPHA_NV */
- 1763, /* GL_VERTEX_ARRAY_BINDING */
- 1828, /* GL_YCBCR_422_APPLE */
- 1752, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- 1754, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- 1417, /* GL_SLICE_ACCUM_SUN */
- 1267, /* GL_QUAD_MESH_SUN */
- 1723, /* GL_TRIANGLE_MESH_SUN */
- 1802, /* GL_VERTEX_PROGRAM_ARB */
- 1813, /* GL_VERTEX_STATE_PROGRAM_NV */
- 1789, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- 1795, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- 1797, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- 1799, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- 330, /* GL_CURRENT_VERTEX_ATTRIB */
- 1221, /* GL_PROGRAM_LENGTH_ARB */
- 1235, /* GL_PROGRAM_STRING_ARB */
- 980, /* GL_MODELVIEW_PROJECTION_NV */
- 610, /* GL_IDENTITY_NV */
- 657, /* GL_INVERSE_NV */
- 1716, /* GL_TRANSPOSE_NV */
- 658, /* GL_INVERSE_TRANSPOSE_NV */
- 888, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- 887, /* GL_MAX_PROGRAM_MATRICES_ARB */
- 795, /* GL_MATRIX0_NV */
- 807, /* GL_MATRIX1_NV */
- 819, /* GL_MATRIX2_NV */
- 823, /* GL_MATRIX3_NV */
- 825, /* GL_MATRIX4_NV */
- 827, /* GL_MATRIX5_NV */
- 829, /* GL_MATRIX6_NV */
- 831, /* GL_MATRIX7_NV */
- 314, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
- 311, /* GL_CURRENT_MATRIX_ARB */
- 1805, /* GL_VERTEX_PROGRAM_POINT_SIZE */
- 1808, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- 1233, /* GL_PROGRAM_PARAMETER_NV */
- 1793, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- 1237, /* GL_PROGRAM_TARGET_NV */
- 1234, /* GL_PROGRAM_RESIDENT_NV */
- 1708, /* GL_TRACK_MATRIX_NV */
- 1709, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- 1803, /* GL_VERTEX_PROGRAM_BINDING_NV */
- 1215, /* GL_PROGRAM_ERROR_POSITION_ARB */
- 351, /* GL_DEPTH_CLAMP_NV */
- 1771, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- 1778, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- 1779, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- 1780, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- 1781, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- 1782, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- 1783, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- 1784, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- 1785, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- 1786, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- 1772, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- 1773, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- 1774, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- 1775, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- 1776, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- 1777, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- 743, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- 750, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- 751, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- 752, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- 753, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- 754, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- 755, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- 756, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- 757, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- 758, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- 744, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- 745, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- 746, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- 747, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- 748, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- 749, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- 770, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- 777, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- 778, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- 779, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- 780, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- 781, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- 782, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- 1214, /* GL_PROGRAM_BINDING_ARB */
- 784, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- 785, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- 771, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- 772, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- 773, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- 774, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- 775, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- 776, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- 1630, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- 1627, /* GL_TEXTURE_COMPRESSED */
- 1019, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
- 266, /* GL_COMPRESSED_TEXTURE_FORMATS */
- 928, /* GL_MAX_VERTEX_UNITS_ARB */
+ 645, /* GL_INTERPOLATE */
+ 269, /* GL_CONSTANT */
+ 1210, /* GL_PRIMARY_COLOR */
+ 1207, /* GL_PREVIOUS */
+ 1432, /* GL_SOURCE0_RGB */
+ 1438, /* GL_SOURCE1_RGB */
+ 1444, /* GL_SOURCE2_RGB */
+ 1448, /* GL_SOURCE3_RGB_NV */
+ 1429, /* GL_SOURCE0_ALPHA */
+ 1435, /* GL_SOURCE1_ALPHA */
+ 1441, /* GL_SOURCE2_ALPHA */
+ 1447, /* GL_SOURCE3_ALPHA_NV */
+ 1052, /* GL_OPERAND0_RGB */
+ 1058, /* GL_OPERAND1_RGB */
+ 1064, /* GL_OPERAND2_RGB */
+ 1068, /* GL_OPERAND3_RGB_NV */
+ 1049, /* GL_OPERAND0_ALPHA */
+ 1055, /* GL_OPERAND1_ALPHA */
+ 1061, /* GL_OPERAND2_ALPHA */
+ 1067, /* GL_OPERAND3_ALPHA_NV */
+ 1772, /* GL_VERTEX_ARRAY_BINDING */
+ 1700, /* GL_TEXTURE_RANGE_LENGTH_APPLE */
+ 1701, /* GL_TEXTURE_RANGE_POINTER_APPLE */
+ 1837, /* GL_YCBCR_422_APPLE */
+ 1761, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+ 1763, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+ 1709, /* GL_TEXTURE_STORAGE_HINT_APPLE */
+ 1509, /* GL_STORAGE_PRIVATE_APPLE */
+ 1508, /* GL_STORAGE_CACHED_APPLE */
+ 1510, /* GL_STORAGE_SHARED_APPLE */
+ 1419, /* GL_SLICE_ACCUM_SUN */
+ 1269, /* GL_QUAD_MESH_SUN */
+ 1732, /* GL_TRIANGLE_MESH_SUN */
+ 1811, /* GL_VERTEX_PROGRAM_ARB */
+ 1822, /* GL_VERTEX_STATE_PROGRAM_NV */
+ 1798, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+ 1804, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+ 1806, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+ 1808, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+ 332, /* GL_CURRENT_VERTEX_ATTRIB */
+ 1223, /* GL_PROGRAM_LENGTH_ARB */
+ 1237, /* GL_PROGRAM_STRING_ARB */
+ 982, /* GL_MODELVIEW_PROJECTION_NV */
+ 612, /* GL_IDENTITY_NV */
+ 659, /* GL_INVERSE_NV */
+ 1725, /* GL_TRANSPOSE_NV */
+ 660, /* GL_INVERSE_TRANSPOSE_NV */
+ 890, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+ 889, /* GL_MAX_PROGRAM_MATRICES_ARB */
+ 797, /* GL_MATRIX0_NV */
+ 809, /* GL_MATRIX1_NV */
+ 821, /* GL_MATRIX2_NV */
+ 825, /* GL_MATRIX3_NV */
+ 827, /* GL_MATRIX4_NV */
+ 829, /* GL_MATRIX5_NV */
+ 831, /* GL_MATRIX6_NV */
+ 833, /* GL_MATRIX7_NV */
+ 316, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+ 313, /* GL_CURRENT_MATRIX_ARB */
+ 1814, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+ 1817, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+ 1235, /* GL_PROGRAM_PARAMETER_NV */
+ 1802, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+ 1239, /* GL_PROGRAM_TARGET_NV */
+ 1236, /* GL_PROGRAM_RESIDENT_NV */
+ 1717, /* GL_TRACK_MATRIX_NV */
+ 1718, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+ 1812, /* GL_VERTEX_PROGRAM_BINDING_NV */
+ 1217, /* GL_PROGRAM_ERROR_POSITION_ARB */
+ 353, /* GL_DEPTH_CLAMP_NV */
+ 1780, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+ 1787, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+ 1788, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+ 1789, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+ 1790, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+ 1791, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+ 1792, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+ 1793, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+ 1794, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+ 1795, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+ 1781, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+ 1782, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+ 1783, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+ 1784, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+ 1785, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+ 1786, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+ 745, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+ 752, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+ 753, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+ 754, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+ 755, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+ 756, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+ 757, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+ 758, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+ 759, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+ 760, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+ 746, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+ 747, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+ 748, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+ 749, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+ 750, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+ 751, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+ 772, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+ 779, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+ 780, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+ 781, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+ 782, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+ 783, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+ 784, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+ 1216, /* GL_PROGRAM_BINDING_ARB */
+ 786, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+ 787, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+ 773, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+ 774, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+ 775, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+ 776, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+ 777, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+ 778, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+ 1635, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+ 1632, /* GL_TEXTURE_COMPRESSED */
+ 1021, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+ 268, /* GL_COMPRESSED_TEXTURE_FORMATS */
+ 930, /* GL_MAX_VERTEX_UNITS_ARB */
22, /* GL_ACTIVE_VERTEX_UNITS_ARB */
- 1823, /* GL_WEIGHT_SUM_UNITY_ARB */
- 1801, /* GL_VERTEX_BLEND_ARB */
- 332, /* GL_CURRENT_WEIGHT_ARB */
- 1822, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- 1821, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- 1820, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- 1819, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- 1816, /* GL_WEIGHT_ARRAY_ARB */
- 379, /* GL_DOT3_RGB */
- 380, /* GL_DOT3_RGBA */
- 260, /* GL_COMPRESSED_RGB_FXT1_3DFX */
- 255, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
- 988, /* GL_MULTISAMPLE_3DFX */
- 1380, /* GL_SAMPLE_BUFFERS_3DFX */
- 1371, /* GL_SAMPLES_3DFX */
- 969, /* GL_MODELVIEW2_ARB */
- 972, /* GL_MODELVIEW3_ARB */
- 973, /* GL_MODELVIEW4_ARB */
- 974, /* GL_MODELVIEW5_ARB */
- 975, /* GL_MODELVIEW6_ARB */
- 976, /* GL_MODELVIEW7_ARB */
- 977, /* GL_MODELVIEW8_ARB */
- 978, /* GL_MODELVIEW9_ARB */
- 948, /* GL_MODELVIEW10_ARB */
- 949, /* GL_MODELVIEW11_ARB */
- 950, /* GL_MODELVIEW12_ARB */
- 951, /* GL_MODELVIEW13_ARB */
- 952, /* GL_MODELVIEW14_ARB */
- 953, /* GL_MODELVIEW15_ARB */
- 954, /* GL_MODELVIEW16_ARB */
- 955, /* GL_MODELVIEW17_ARB */
- 956, /* GL_MODELVIEW18_ARB */
- 957, /* GL_MODELVIEW19_ARB */
- 959, /* GL_MODELVIEW20_ARB */
- 960, /* GL_MODELVIEW21_ARB */
- 961, /* GL_MODELVIEW22_ARB */
- 962, /* GL_MODELVIEW23_ARB */
- 963, /* GL_MODELVIEW24_ARB */
- 964, /* GL_MODELVIEW25_ARB */
- 965, /* GL_MODELVIEW26_ARB */
- 966, /* GL_MODELVIEW27_ARB */
- 967, /* GL_MODELVIEW28_ARB */
- 968, /* GL_MODELVIEW29_ARB */
- 970, /* GL_MODELVIEW30_ARB */
- 971, /* GL_MODELVIEW31_ARB */
- 384, /* GL_DOT3_RGB_EXT */
- 382, /* GL_DOT3_RGBA_EXT */
- 942, /* GL_MIRROR_CLAMP_EXT */
- 945, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- 983, /* GL_MODULATE_ADD_ATI */
- 984, /* GL_MODULATE_SIGNED_ADD_ATI */
- 985, /* GL_MODULATE_SUBTRACT_ATI */
- 1829, /* GL_YCBCR_MESA */
- 1074, /* 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 */
- 443, /* GL_DUDV_ATI */
- 442, /* GL_DU8DV8_ATI */
- 111, /* GL_BUMP_ENVMAP_ATI */
- 115, /* GL_BUMP_TARGET_ATI */
- 1478, /* GL_STENCIL_BACK_FUNC */
- 1476, /* GL_STENCIL_BACK_FAIL */
- 1480, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- 1482, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- 527, /* GL_FRAGMENT_PROGRAM_ARB */
- 1212, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 1240, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 1239, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- 1224, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 1230, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 1229, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 877, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 900, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 899, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- 890, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 896, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 895, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 860, /* 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 */
+ 1832, /* GL_WEIGHT_SUM_UNITY_ARB */
+ 1810, /* GL_VERTEX_BLEND_ARB */
+ 334, /* GL_CURRENT_WEIGHT_ARB */
+ 1831, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+ 1830, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+ 1829, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+ 1828, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+ 1825, /* GL_WEIGHT_ARRAY_ARB */
+ 381, /* GL_DOT3_RGB */
+ 382, /* GL_DOT3_RGBA */
+ 262, /* GL_COMPRESSED_RGB_FXT1_3DFX */
+ 257, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
+ 990, /* GL_MULTISAMPLE_3DFX */
+ 1382, /* GL_SAMPLE_BUFFERS_3DFX */
+ 1373, /* GL_SAMPLES_3DFX */
+ 971, /* GL_MODELVIEW2_ARB */
+ 974, /* GL_MODELVIEW3_ARB */
+ 975, /* GL_MODELVIEW4_ARB */
+ 976, /* GL_MODELVIEW5_ARB */
+ 977, /* GL_MODELVIEW6_ARB */
+ 978, /* GL_MODELVIEW7_ARB */
+ 979, /* GL_MODELVIEW8_ARB */
+ 980, /* GL_MODELVIEW9_ARB */
+ 950, /* GL_MODELVIEW10_ARB */
+ 951, /* GL_MODELVIEW11_ARB */
+ 952, /* GL_MODELVIEW12_ARB */
+ 953, /* GL_MODELVIEW13_ARB */
+ 954, /* GL_MODELVIEW14_ARB */
+ 955, /* GL_MODELVIEW15_ARB */
+ 956, /* GL_MODELVIEW16_ARB */
+ 957, /* GL_MODELVIEW17_ARB */
+ 958, /* GL_MODELVIEW18_ARB */
+ 959, /* GL_MODELVIEW19_ARB */
+ 961, /* GL_MODELVIEW20_ARB */
+ 962, /* GL_MODELVIEW21_ARB */
+ 963, /* GL_MODELVIEW22_ARB */
+ 964, /* GL_MODELVIEW23_ARB */
+ 965, /* GL_MODELVIEW24_ARB */
+ 966, /* GL_MODELVIEW25_ARB */
+ 967, /* GL_MODELVIEW26_ARB */
+ 968, /* GL_MODELVIEW27_ARB */
+ 969, /* GL_MODELVIEW28_ARB */
+ 970, /* GL_MODELVIEW29_ARB */
+ 972, /* GL_MODELVIEW30_ARB */
+ 973, /* GL_MODELVIEW31_ARB */
+ 386, /* GL_DOT3_RGB_EXT */
+ 384, /* GL_DOT3_RGBA_EXT */
+ 944, /* GL_MIRROR_CLAMP_EXT */
+ 947, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+ 985, /* GL_MODULATE_ADD_ATI */
+ 986, /* GL_MODULATE_SIGNED_ADD_ATI */
+ 987, /* GL_MODULATE_SUBTRACT_ATI */
+ 1838, /* GL_YCBCR_MESA */
+ 1076, /* GL_PACK_INVERT_MESA */
+ 337, /* GL_DEBUG_OBJECT_MESA */
+ 338, /* GL_DEBUG_PRINT_MESA */
+ 336, /* GL_DEBUG_ASSERT_MESA */
+ 109, /* GL_BUFFER_SIZE */
+ 111, /* GL_BUFFER_USAGE */
+ 115, /* GL_BUMP_ROT_MATRIX_ATI */
+ 116, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
+ 114, /* GL_BUMP_NUM_TEX_UNITS_ATI */
+ 118, /* GL_BUMP_TEX_UNITS_ATI */
+ 445, /* GL_DUDV_ATI */
+ 444, /* GL_DU8DV8_ATI */
+ 113, /* GL_BUMP_ENVMAP_ATI */
+ 117, /* GL_BUMP_TARGET_ATI */
+ 1480, /* GL_STENCIL_BACK_FUNC */
+ 1478, /* GL_STENCIL_BACK_FAIL */
+ 1482, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+ 1484, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+ 529, /* GL_FRAGMENT_PROGRAM_ARB */
+ 1214, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ 1242, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ 1241, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+ 1226, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ 1232, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ 1231, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ 879, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ 902, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ 901, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+ 892, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ 898, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ 897, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ 862, /* GL_MAX_DRAW_BUFFERS */
+ 390, /* GL_DRAW_BUFFER0 */
+ 393, /* GL_DRAW_BUFFER1 */
+ 414, /* GL_DRAW_BUFFER2 */
+ 417, /* GL_DRAW_BUFFER3 */
+ 420, /* GL_DRAW_BUFFER4 */
+ 423, /* GL_DRAW_BUFFER5 */
+ 426, /* GL_DRAW_BUFFER6 */
+ 429, /* GL_DRAW_BUFFER7 */
+ 432, /* GL_DRAW_BUFFER8 */
+ 435, /* GL_DRAW_BUFFER9 */
+ 394, /* GL_DRAW_BUFFER10 */
+ 397, /* GL_DRAW_BUFFER11 */
+ 400, /* GL_DRAW_BUFFER12 */
+ 403, /* GL_DRAW_BUFFER13 */
+ 406, /* GL_DRAW_BUFFER14 */
+ 409, /* GL_DRAW_BUFFER15 */
81, /* GL_BLEND_EQUATION_ALPHA */
- 840, /* GL_MATRIX_PALETTE_ARB */
- 871, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- 874, /* GL_MAX_PALETTE_MATRICES_ARB */
- 317, /* GL_CURRENT_PALETTE_MATRIX_ARB */
- 834, /* GL_MATRIX_INDEX_ARRAY_ARB */
- 312, /* GL_CURRENT_MATRIX_INDEX_ARB */
- 836, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- 838, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- 837, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- 835, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- 1656, /* GL_TEXTURE_DEPTH_SIZE */
- 372, /* GL_DEPTH_TEXTURE_MODE */
- 1622, /* GL_TEXTURE_COMPARE_MODE */
- 1620, /* GL_TEXTURE_COMPARE_FUNC */
- 239, /* GL_COMPARE_R_TO_TEXTURE */
- 1146, /* GL_POINT_SPRITE */
- 292, /* GL_COORD_REPLACE */
- 1150, /* GL_POINT_SPRITE_R_MODE_NV */
- 1269, /* GL_QUERY_COUNTER_BITS */
- 319, /* GL_CURRENT_QUERY */
- 1271, /* GL_QUERY_RESULT */
- 1273, /* GL_QUERY_RESULT_AVAILABLE */
- 922, /* GL_MAX_VERTEX_ATTRIBS */
- 1791, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- 370, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
- 369, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
- 908, /* GL_MAX_TEXTURE_COORDS */
- 910, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- 1217, /* GL_PROGRAM_ERROR_STRING_ARB */
- 1219, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- 1218, /* GL_PROGRAM_FORMAT_ARB */
- 1702, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- 349, /* GL_DEPTH_BOUNDS_TEST_EXT */
- 348, /* GL_DEPTH_BOUNDS_EXT */
+ 842, /* GL_MATRIX_PALETTE_ARB */
+ 873, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+ 876, /* GL_MAX_PALETTE_MATRICES_ARB */
+ 319, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+ 836, /* GL_MATRIX_INDEX_ARRAY_ARB */
+ 314, /* GL_CURRENT_MATRIX_INDEX_ARB */
+ 838, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+ 840, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+ 839, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+ 837, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+ 1662, /* GL_TEXTURE_DEPTH_SIZE */
+ 374, /* GL_DEPTH_TEXTURE_MODE */
+ 1627, /* GL_TEXTURE_COMPARE_MODE */
+ 1625, /* GL_TEXTURE_COMPARE_FUNC */
+ 241, /* GL_COMPARE_R_TO_TEXTURE */
+ 1148, /* GL_POINT_SPRITE */
+ 294, /* GL_COORD_REPLACE */
+ 1152, /* GL_POINT_SPRITE_R_MODE_NV */
+ 1271, /* GL_QUERY_COUNTER_BITS */
+ 321, /* GL_CURRENT_QUERY */
+ 1273, /* GL_QUERY_RESULT */
+ 1275, /* GL_QUERY_RESULT_AVAILABLE */
+ 924, /* GL_MAX_VERTEX_ATTRIBS */
+ 1800, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+ 372, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+ 371, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+ 910, /* GL_MAX_TEXTURE_COORDS */
+ 912, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+ 1219, /* GL_PROGRAM_ERROR_STRING_ARB */
+ 1221, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+ 1220, /* GL_PROGRAM_FORMAT_ARB */
+ 1711, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+ 351, /* GL_DEPTH_BOUNDS_TEST_EXT */
+ 350, /* GL_DEPTH_BOUNDS_EXT */
52, /* GL_ARRAY_BUFFER */
- 456, /* GL_ELEMENT_ARRAY_BUFFER */
+ 458, /* GL_ELEMENT_ARRAY_BUFFER */
53, /* GL_ARRAY_BUFFER_BINDING */
- 457, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
- 1765, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- 1009, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
- 146, /* GL_COLOR_ARRAY_BUFFER_BINDING */
- 619, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- 1635, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- 452, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
- 1392, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- 505, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- 1817, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- 1787, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- 1220, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- 883, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- 1226, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 892, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 1238, /* GL_PROGRAM_TEMPORARIES_ARB */
- 898, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- 1228, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 894, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 1232, /* GL_PROGRAM_PARAMETERS_ARB */
- 897, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- 1227, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- 893, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- 1213, /* GL_PROGRAM_ATTRIBS_ARB */
- 878, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- 1225, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- 891, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- 1211, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- 876, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- 1223, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 889, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 884, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- 880, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- 1241, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- 1713, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- 1282, /* GL_READ_ONLY */
- 1825, /* GL_WRITE_ONLY */
- 1284, /* GL_READ_WRITE */
+ 459, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+ 1774, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+ 1011, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+ 148, /* GL_COLOR_ARRAY_BUFFER_BINDING */
+ 621, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+ 1640, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+ 454, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+ 1394, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+ 507, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+ 1826, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+ 1796, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+ 1222, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+ 885, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+ 1228, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ 894, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ 1240, /* GL_PROGRAM_TEMPORARIES_ARB */
+ 900, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+ 1230, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ 896, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ 1234, /* GL_PROGRAM_PARAMETERS_ARB */
+ 899, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+ 1229, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+ 895, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+ 1215, /* GL_PROGRAM_ATTRIBS_ARB */
+ 880, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+ 1227, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+ 893, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+ 1213, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+ 878, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+ 1225, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ 891, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ 886, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+ 882, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+ 1243, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+ 1722, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+ 1284, /* GL_READ_ONLY */
+ 1834, /* GL_WRITE_ONLY */
+ 1286, /* GL_READ_WRITE */
101, /* GL_BUFFER_ACCESS */
- 103, /* GL_BUFFER_MAPPED */
- 105, /* GL_BUFFER_MAP_POINTER */
- 1707, /* GL_TIME_ELAPSED_EXT */
- 794, /* GL_MATRIX0_ARB */
- 806, /* GL_MATRIX1_ARB */
- 818, /* GL_MATRIX2_ARB */
- 822, /* GL_MATRIX3_ARB */
- 824, /* GL_MATRIX4_ARB */
- 826, /* GL_MATRIX5_ARB */
- 828, /* GL_MATRIX6_ARB */
- 830, /* GL_MATRIX7_ARB */
- 832, /* GL_MATRIX8_ARB */
- 833, /* GL_MATRIX9_ARB */
- 796, /* GL_MATRIX10_ARB */
- 797, /* GL_MATRIX11_ARB */
- 798, /* GL_MATRIX12_ARB */
- 799, /* GL_MATRIX13_ARB */
- 800, /* GL_MATRIX14_ARB */
- 801, /* GL_MATRIX15_ARB */
- 802, /* GL_MATRIX16_ARB */
- 803, /* GL_MATRIX17_ARB */
- 804, /* GL_MATRIX18_ARB */
- 805, /* GL_MATRIX19_ARB */
- 808, /* GL_MATRIX20_ARB */
- 809, /* GL_MATRIX21_ARB */
- 810, /* GL_MATRIX22_ARB */
- 811, /* GL_MATRIX23_ARB */
- 812, /* GL_MATRIX24_ARB */
- 813, /* GL_MATRIX25_ARB */
- 814, /* GL_MATRIX26_ARB */
- 815, /* GL_MATRIX27_ARB */
- 816, /* GL_MATRIX28_ARB */
- 817, /* GL_MATRIX29_ARB */
- 820, /* GL_MATRIX30_ARB */
- 821, /* GL_MATRIX31_ARB */
- 1508, /* GL_STREAM_DRAW */
- 1510, /* GL_STREAM_READ */
- 1506, /* GL_STREAM_COPY */
- 1469, /* GL_STATIC_DRAW */
- 1471, /* GL_STATIC_READ */
- 1467, /* GL_STATIC_COPY */
- 446, /* GL_DYNAMIC_DRAW */
- 448, /* GL_DYNAMIC_READ */
- 444, /* GL_DYNAMIC_COPY */
- 1114, /* GL_PIXEL_PACK_BUFFER */
- 1118, /* GL_PIXEL_UNPACK_BUFFER */
- 1115, /* GL_PIXEL_PACK_BUFFER_BINDING */
- 1119, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
- 343, /* GL_DEPTH24_STENCIL8 */
- 1700, /* GL_TEXTURE_STENCIL_SIZE */
- 881, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
- 879, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- 882, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- 886, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- 885, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- 843, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
- 1502, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+ 104, /* GL_BUFFER_MAPPED */
+ 106, /* GL_BUFFER_MAP_POINTER */
+ 1716, /* GL_TIME_ELAPSED_EXT */
+ 796, /* GL_MATRIX0_ARB */
+ 808, /* GL_MATRIX1_ARB */
+ 820, /* GL_MATRIX2_ARB */
+ 824, /* GL_MATRIX3_ARB */
+ 826, /* GL_MATRIX4_ARB */
+ 828, /* GL_MATRIX5_ARB */
+ 830, /* GL_MATRIX6_ARB */
+ 832, /* GL_MATRIX7_ARB */
+ 834, /* GL_MATRIX8_ARB */
+ 835, /* GL_MATRIX9_ARB */
+ 798, /* GL_MATRIX10_ARB */
+ 799, /* GL_MATRIX11_ARB */
+ 800, /* GL_MATRIX12_ARB */
+ 801, /* GL_MATRIX13_ARB */
+ 802, /* GL_MATRIX14_ARB */
+ 803, /* GL_MATRIX15_ARB */
+ 804, /* GL_MATRIX16_ARB */
+ 805, /* GL_MATRIX17_ARB */
+ 806, /* GL_MATRIX18_ARB */
+ 807, /* GL_MATRIX19_ARB */
+ 810, /* GL_MATRIX20_ARB */
+ 811, /* GL_MATRIX21_ARB */
+ 812, /* GL_MATRIX22_ARB */
+ 813, /* GL_MATRIX23_ARB */
+ 814, /* GL_MATRIX24_ARB */
+ 815, /* GL_MATRIX25_ARB */
+ 816, /* GL_MATRIX26_ARB */
+ 817, /* GL_MATRIX27_ARB */
+ 818, /* GL_MATRIX28_ARB */
+ 819, /* GL_MATRIX29_ARB */
+ 822, /* GL_MATRIX30_ARB */
+ 823, /* GL_MATRIX31_ARB */
+ 1513, /* GL_STREAM_DRAW */
+ 1515, /* GL_STREAM_READ */
+ 1511, /* GL_STREAM_COPY */
+ 1471, /* GL_STATIC_DRAW */
+ 1473, /* GL_STATIC_READ */
+ 1469, /* GL_STATIC_COPY */
+ 448, /* GL_DYNAMIC_DRAW */
+ 450, /* GL_DYNAMIC_READ */
+ 446, /* GL_DYNAMIC_COPY */
+ 1116, /* GL_PIXEL_PACK_BUFFER */
+ 1120, /* GL_PIXEL_UNPACK_BUFFER */
+ 1117, /* GL_PIXEL_PACK_BUFFER_BINDING */
+ 1121, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
+ 345, /* GL_DEPTH24_STENCIL8 */
+ 1708, /* GL_TEXTURE_STENCIL_SIZE */
+ 1660, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */
+ 881, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+ 884, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+ 888, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+ 887, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+ 845, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+ 1504, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
17, /* GL_ACTIVE_STENCIL_FACE_EXT */
- 943, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- 1373, /* GL_SAMPLES_PASSED */
- 528, /* GL_FRAGMENT_SHADER */
- 1811, /* GL_VERTEX_SHADER */
- 1231, /* GL_PROGRAM_OBJECT_ARB */
- 1405, /* GL_SHADER_OBJECT_ARB */
- 867, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- 926, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- 920, /* GL_MAX_VARYING_FLOATS */
- 924, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- 852, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- 1034, /* GL_OBJECT_TYPE_ARB */
- 1407, /* GL_SHADER_TYPE */
- 493, /* GL_FLOAT_VEC2 */
- 495, /* GL_FLOAT_VEC3 */
- 497, /* GL_FLOAT_VEC4 */
- 646, /* GL_INT_VEC2 */
- 648, /* GL_INT_VEC3 */
- 650, /* GL_INT_VEC4 */
+ 945, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+ 1375, /* GL_SAMPLES_PASSED */
+ 108, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */
+ 103, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */
+ 530, /* GL_FRAGMENT_SHADER */
+ 1820, /* GL_VERTEX_SHADER */
+ 1233, /* GL_PROGRAM_OBJECT_ARB */
+ 1407, /* GL_SHADER_OBJECT_ARB */
+ 869, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+ 928, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+ 922, /* GL_MAX_VARYING_FLOATS */
+ 926, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+ 854, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+ 1036, /* GL_OBJECT_TYPE_ARB */
+ 1409, /* GL_SHADER_TYPE */
+ 495, /* GL_FLOAT_VEC2 */
+ 497, /* GL_FLOAT_VEC3 */
+ 499, /* GL_FLOAT_VEC4 */
+ 648, /* GL_INT_VEC2 */
+ 650, /* GL_INT_VEC3 */
+ 652, /* GL_INT_VEC4 */
93, /* GL_BOOL */
95, /* GL_BOOL_VEC2 */
97, /* GL_BOOL_VEC3 */
99, /* GL_BOOL_VEC4 */
- 481, /* GL_FLOAT_MAT2 */
- 485, /* GL_FLOAT_MAT3 */
- 489, /* GL_FLOAT_MAT4 */
- 1364, /* GL_SAMPLER_1D */
- 1366, /* GL_SAMPLER_2D */
- 1368, /* GL_SAMPLER_3D */
- 1369, /* GL_SAMPLER_CUBE */
- 1365, /* GL_SAMPLER_1D_SHADOW */
- 1367, /* GL_SAMPLER_2D_SHADOW */
- 483, /* GL_FLOAT_MAT2x3 */
- 484, /* GL_FLOAT_MAT2x4 */
- 487, /* GL_FLOAT_MAT3x2 */
- 488, /* GL_FLOAT_MAT3x4 */
- 491, /* GL_FLOAT_MAT4x2 */
- 492, /* GL_FLOAT_MAT4x3 */
- 341, /* GL_DELETE_STATUS */
- 243, /* GL_COMPILE_STATUS */
- 701, /* GL_LINK_STATUS */
- 1759, /* GL_VALIDATE_STATUS */
- 631, /* GL_INFO_LOG_LENGTH */
+ 483, /* GL_FLOAT_MAT2 */
+ 487, /* GL_FLOAT_MAT3 */
+ 491, /* GL_FLOAT_MAT4 */
+ 1366, /* GL_SAMPLER_1D */
+ 1368, /* GL_SAMPLER_2D */
+ 1370, /* GL_SAMPLER_3D */
+ 1371, /* GL_SAMPLER_CUBE */
+ 1367, /* GL_SAMPLER_1D_SHADOW */
+ 1369, /* GL_SAMPLER_2D_SHADOW */
+ 485, /* GL_FLOAT_MAT2x3 */
+ 486, /* GL_FLOAT_MAT2x4 */
+ 489, /* GL_FLOAT_MAT3x2 */
+ 490, /* GL_FLOAT_MAT3x4 */
+ 493, /* GL_FLOAT_MAT4x2 */
+ 494, /* GL_FLOAT_MAT4x3 */
+ 343, /* GL_DELETE_STATUS */
+ 245, /* GL_COMPILE_STATUS */
+ 703, /* GL_LINK_STATUS */
+ 1768, /* GL_VALIDATE_STATUS */
+ 633, /* GL_INFO_LOG_LENGTH */
55, /* GL_ATTACHED_SHADERS */
20, /* GL_ACTIVE_UNIFORMS */
21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
- 1406, /* GL_SHADER_SOURCE_LENGTH */
+ 1408, /* GL_SHADER_SOURCE_LENGTH */
15, /* GL_ACTIVE_ATTRIBUTES */
16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */
- 530, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- 1409, /* GL_SHADING_LANGUAGE_VERSION */
- 318, /* GL_CURRENT_PROGRAM */
- 1083, /* GL_PALETTE4_RGB8_OES */
- 1085, /* GL_PALETTE4_RGBA8_OES */
- 1081, /* GL_PALETTE4_R5_G6_B5_OES */
- 1084, /* GL_PALETTE4_RGBA4_OES */
- 1082, /* GL_PALETTE4_RGB5_A1_OES */
- 1088, /* GL_PALETTE8_RGB8_OES */
- 1090, /* GL_PALETTE8_RGBA8_OES */
- 1086, /* GL_PALETTE8_R5_G6_B5_OES */
- 1089, /* GL_PALETTE8_RGBA4_OES */
- 1087, /* GL_PALETTE8_RGB5_A1_OES */
- 613, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
- 612, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
- 1744, /* GL_UNSIGNED_NORMALIZED */
- 1590, /* GL_TEXTURE_1D_ARRAY_EXT */
- 1252, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
- 1592, /* GL_TEXTURE_2D_ARRAY_EXT */
- 1255, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
- 1598, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
- 1600, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
- 1461, /* GL_SRGB */
- 1462, /* GL_SRGB8 */
- 1464, /* GL_SRGB_ALPHA */
- 1463, /* GL_SRGB8_ALPHA8 */
- 1421, /* GL_SLUMINANCE_ALPHA */
- 1420, /* GL_SLUMINANCE8_ALPHA8 */
- 1418, /* GL_SLUMINANCE */
- 1419, /* GL_SLUMINANCE8 */
- 264, /* GL_COMPRESSED_SRGB */
- 265, /* GL_COMPRESSED_SRGB_ALPHA */
- 262, /* GL_COMPRESSED_SLUMINANCE */
- 263, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
- 1148, /* GL_POINT_SPRITE_COORD_ORIGIN */
- 709, /* GL_LOWER_LEFT */
- 1756, /* GL_UPPER_LEFT */
- 1484, /* GL_STENCIL_BACK_REF */
- 1485, /* GL_STENCIL_BACK_VALUE_MASK */
- 1486, /* GL_STENCIL_BACK_WRITEMASK */
- 437, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
- 1298, /* GL_RENDERBUFFER_BINDING_EXT */
- 1279, /* GL_READ_FRAMEBUFFER */
- 436, /* GL_DRAW_FRAMEBUFFER */
- 1280, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
- 1308, /* GL_RENDERBUFFER_SAMPLES */
- 540, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
- 538, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
- 549, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
- 545, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
- 547, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
- 552, /* GL_FRAMEBUFFER_COMPLETE */
- 556, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
- 562, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
- 560, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- 558, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- 561, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- 559, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
- 565, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
- 568, /* GL_FRAMEBUFFER_UNSUPPORTED */
- 566, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- 849, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
- 152, /* GL_COLOR_ATTACHMENT0 */
- 154, /* GL_COLOR_ATTACHMENT1 */
- 168, /* GL_COLOR_ATTACHMENT2 */
- 170, /* GL_COLOR_ATTACHMENT3 */
- 172, /* GL_COLOR_ATTACHMENT4 */
- 174, /* GL_COLOR_ATTACHMENT5 */
- 176, /* GL_COLOR_ATTACHMENT6 */
- 178, /* GL_COLOR_ATTACHMENT7 */
- 180, /* GL_COLOR_ATTACHMENT8 */
- 182, /* GL_COLOR_ATTACHMENT9 */
- 155, /* GL_COLOR_ATTACHMENT10 */
- 157, /* GL_COLOR_ATTACHMENT11 */
- 159, /* GL_COLOR_ATTACHMENT12 */
- 161, /* GL_COLOR_ATTACHMENT13 */
- 163, /* GL_COLOR_ATTACHMENT14 */
- 165, /* GL_COLOR_ATTACHMENT15 */
- 344, /* GL_DEPTH_ATTACHMENT */
- 1474, /* GL_STENCIL_ATTACHMENT */
- 531, /* GL_FRAMEBUFFER */
- 1296, /* GL_RENDERBUFFER */
- 1310, /* GL_RENDERBUFFER_WIDTH */
- 1303, /* GL_RENDERBUFFER_HEIGHT */
- 1305, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
- 1497, /* GL_STENCIL_INDEX_EXT */
- 1494, /* GL_STENCIL_INDEX1_EXT */
- 1495, /* GL_STENCIL_INDEX4_EXT */
- 1496, /* GL_STENCIL_INDEX8_EXT */
- 1493, /* GL_STENCIL_INDEX16_EXT */
- 1307, /* GL_RENDERBUFFER_RED_SIZE */
- 1302, /* GL_RENDERBUFFER_GREEN_SIZE */
- 1299, /* GL_RENDERBUFFER_BLUE_SIZE */
- 1297, /* GL_RENDERBUFFER_ALPHA_SIZE */
- 1300, /* GL_RENDERBUFFER_DEPTH_SIZE */
- 1309, /* GL_RENDERBUFFER_STENCIL_SIZE */
- 564, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
- 905, /* GL_MAX_SAMPLES */
- 1266, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */
- 478, /* GL_FIRST_VERTEX_CONVENTION_EXT */
- 661, /* GL_LAST_VERTEX_CONVENTION_EXT */
- 1245, /* GL_PROVOKING_VERTEX_EXT */
- 298, /* GL_COPY_READ_BUFFER */
- 299, /* GL_COPY_WRITE_BUFFER */
- 1357, /* GL_RGBA_SNORM */
- 1353, /* GL_RGBA8_SNORM */
- 1414, /* GL_SIGNED_NORMALIZED */
- 463, /* GL_EVAL_BIT */
- 1277, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- 703, /* GL_LIST_BIT */
- 1606, /* GL_TEXTURE_BIT */
- 1388, /* GL_SCISSOR_BIT */
+ 532, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+ 1411, /* GL_SHADING_LANGUAGE_VERSION */
+ 320, /* GL_CURRENT_PROGRAM */
+ 1085, /* GL_PALETTE4_RGB8_OES */
+ 1087, /* GL_PALETTE4_RGBA8_OES */
+ 1083, /* GL_PALETTE4_R5_G6_B5_OES */
+ 1086, /* GL_PALETTE4_RGBA4_OES */
+ 1084, /* GL_PALETTE4_RGB5_A1_OES */
+ 1090, /* GL_PALETTE8_RGB8_OES */
+ 1092, /* GL_PALETTE8_RGBA8_OES */
+ 1088, /* GL_PALETTE8_R5_G6_B5_OES */
+ 1091, /* GL_PALETTE8_RGBA4_OES */
+ 1089, /* GL_PALETTE8_RGB5_A1_OES */
+ 615, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+ 614, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+ 1753, /* GL_UNSIGNED_NORMALIZED */
+ 1595, /* GL_TEXTURE_1D_ARRAY_EXT */
+ 1254, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+ 1597, /* GL_TEXTURE_2D_ARRAY_EXT */
+ 1257, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+ 1603, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+ 1605, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+ 1463, /* GL_SRGB */
+ 1464, /* GL_SRGB8 */
+ 1466, /* GL_SRGB_ALPHA */
+ 1465, /* GL_SRGB8_ALPHA8 */
+ 1423, /* GL_SLUMINANCE_ALPHA */
+ 1422, /* GL_SLUMINANCE8_ALPHA8 */
+ 1420, /* GL_SLUMINANCE */
+ 1421, /* GL_SLUMINANCE8 */
+ 266, /* GL_COMPRESSED_SRGB */
+ 267, /* GL_COMPRESSED_SRGB_ALPHA */
+ 264, /* GL_COMPRESSED_SLUMINANCE */
+ 265, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
+ 1150, /* GL_POINT_SPRITE_COORD_ORIGIN */
+ 711, /* GL_LOWER_LEFT */
+ 1765, /* GL_UPPER_LEFT */
+ 1486, /* GL_STENCIL_BACK_REF */
+ 1487, /* GL_STENCIL_BACK_VALUE_MASK */
+ 1488, /* GL_STENCIL_BACK_WRITEMASK */
+ 439, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
+ 1300, /* GL_RENDERBUFFER_BINDING_EXT */
+ 1281, /* GL_READ_FRAMEBUFFER */
+ 438, /* GL_DRAW_FRAMEBUFFER */
+ 1282, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
+ 1310, /* GL_RENDERBUFFER_SAMPLES */
+ 542, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
+ 540, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
+ 551, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
+ 547, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
+ 549, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+ 554, /* GL_FRAMEBUFFER_COMPLETE */
+ 558, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
+ 564, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
+ 562, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+ 560, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+ 563, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+ 561, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
+ 567, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
+ 570, /* GL_FRAMEBUFFER_UNSUPPORTED */
+ 568, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+ 851, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
+ 154, /* GL_COLOR_ATTACHMENT0 */
+ 156, /* GL_COLOR_ATTACHMENT1 */
+ 170, /* GL_COLOR_ATTACHMENT2 */
+ 172, /* GL_COLOR_ATTACHMENT3 */
+ 174, /* GL_COLOR_ATTACHMENT4 */
+ 176, /* GL_COLOR_ATTACHMENT5 */
+ 178, /* GL_COLOR_ATTACHMENT6 */
+ 180, /* GL_COLOR_ATTACHMENT7 */
+ 182, /* GL_COLOR_ATTACHMENT8 */
+ 184, /* GL_COLOR_ATTACHMENT9 */
+ 157, /* GL_COLOR_ATTACHMENT10 */
+ 159, /* GL_COLOR_ATTACHMENT11 */
+ 161, /* GL_COLOR_ATTACHMENT12 */
+ 163, /* GL_COLOR_ATTACHMENT13 */
+ 165, /* GL_COLOR_ATTACHMENT14 */
+ 167, /* GL_COLOR_ATTACHMENT15 */
+ 346, /* GL_DEPTH_ATTACHMENT */
+ 1476, /* GL_STENCIL_ATTACHMENT */
+ 533, /* GL_FRAMEBUFFER */
+ 1298, /* GL_RENDERBUFFER */
+ 1312, /* GL_RENDERBUFFER_WIDTH */
+ 1305, /* GL_RENDERBUFFER_HEIGHT */
+ 1307, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
+ 1499, /* GL_STENCIL_INDEX_EXT */
+ 1496, /* GL_STENCIL_INDEX1_EXT */
+ 1497, /* GL_STENCIL_INDEX4_EXT */
+ 1498, /* GL_STENCIL_INDEX8_EXT */
+ 1495, /* GL_STENCIL_INDEX16_EXT */
+ 1309, /* GL_RENDERBUFFER_RED_SIZE */
+ 1304, /* GL_RENDERBUFFER_GREEN_SIZE */
+ 1301, /* GL_RENDERBUFFER_BLUE_SIZE */
+ 1299, /* GL_RENDERBUFFER_ALPHA_SIZE */
+ 1302, /* GL_RENDERBUFFER_DEPTH_SIZE */
+ 1311, /* GL_RENDERBUFFER_STENCIL_SIZE */
+ 566, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
+ 907, /* GL_MAX_SAMPLES */
+ 1268, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */
+ 480, /* GL_FIRST_VERTEX_CONVENTION_EXT */
+ 663, /* GL_LAST_VERTEX_CONVENTION_EXT */
+ 1247, /* GL_PROVOKING_VERTEX_EXT */
+ 300, /* GL_COPY_READ_BUFFER */
+ 301, /* GL_COPY_WRITE_BUFFER */
+ 1359, /* GL_RGBA_SNORM */
+ 1355, /* GL_RGBA8_SNORM */
+ 1416, /* GL_SIGNED_NORMALIZED */
+ 465, /* GL_EVAL_BIT */
+ 1279, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+ 705, /* GL_LIST_BIT */
+ 1611, /* GL_TEXTURE_BIT */
+ 1390, /* GL_SCISSOR_BIT */
29, /* GL_ALL_ATTRIB_BITS */
- 990, /* GL_MULTISAMPLE_BIT */
+ 992, /* GL_MULTISAMPLE_BIT */
30, /* GL_ALL_CLIENT_ATTRIB_BITS */
};
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index c60b58a4926..195fdde3468 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -61,6 +61,7 @@ static const struct {
{ OFF, "GL_ARB_pixel_buffer_object", F(EXT_pixel_buffer_object) },
{ OFF, "GL_ARB_point_parameters", F(EXT_point_parameters) },
{ OFF, "GL_ARB_point_sprite", F(ARB_point_sprite) },
+ { OFF, "GL_ARB_seamless_cube_map", F(ARB_seamless_cube_map) },
{ OFF, "GL_ARB_shader_objects", F(ARB_shader_objects) },
{ OFF, "GL_ARB_shading_language_100", F(ARB_shading_language_100) },
{ OFF, "GL_ARB_shading_language_120", F(ARB_shading_language_120) },
@@ -78,6 +79,7 @@ static const struct {
{ OFF, "GL_ARB_texture_non_power_of_two", F(ARB_texture_non_power_of_two)},
{ OFF, "GL_ARB_texture_rectangle", F(NV_texture_rectangle) },
{ ON, "GL_ARB_transpose_matrix", F(ARB_transpose_matrix) },
+ { OFF, "GL_ARB_vertex_array_bgra", F(EXT_vertex_array_bgra) },
{ OFF, "GL_ARB_vertex_array_object", F(ARB_vertex_array_object) },
{ ON, "GL_ARB_vertex_buffer_object", F(ARB_vertex_buffer_object) },
{ OFF, "GL_ARB_vertex_program", F(ARB_vertex_program) },
@@ -413,6 +415,7 @@ _mesa_enable_2_0_extensions(GLcontext *ctx)
ctx->Extensions.ARB_fragment_shader = GL_TRUE;
#endif
ctx->Extensions.ARB_point_sprite = GL_TRUE;
+ ctx->Extensions.EXT_blend_equation_separate = GL_TRUE;
ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE;
#if FEATURE_ARB_shader_objects
ctx->Extensions.ARB_shader_objects = GL_TRUE;
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index 83301f1e621..825a23090b5 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -417,21 +417,22 @@ test_attachment_completeness(const GLcontext *ctx, GLenum format,
if (format == GL_COLOR) {
if (att->Renderbuffer->_BaseFormat != GL_RGB &&
att->Renderbuffer->_BaseFormat != GL_RGBA) {
- ASSERT(att->Renderbuffer->RedBits);
- ASSERT(att->Renderbuffer->GreenBits);
- ASSERT(att->Renderbuffer->BlueBits);
att_incomplete("bad renderbuffer color format");
att->Complete = GL_FALSE;
return;
}
+ ASSERT(att->Renderbuffer->RedBits);
+ ASSERT(att->Renderbuffer->GreenBits);
+ ASSERT(att->Renderbuffer->BlueBits);
}
else if (format == GL_DEPTH) {
- ASSERT(att->Renderbuffer->DepthBits);
if (att->Renderbuffer->_BaseFormat == GL_DEPTH_COMPONENT) {
+ ASSERT(att->Renderbuffer->DepthBits);
/* OK */
}
else if (ctx->Extensions.EXT_packed_depth_stencil &&
att->Renderbuffer->_BaseFormat == GL_DEPTH_STENCIL_EXT) {
+ ASSERT(att->Renderbuffer->DepthBits);
/* OK */
}
else {
@@ -442,12 +443,13 @@ test_attachment_completeness(const GLcontext *ctx, GLenum format,
}
else {
assert(format == GL_STENCIL);
- ASSERT(att->Renderbuffer->StencilBits);
if (att->Renderbuffer->_BaseFormat == GL_STENCIL_INDEX) {
+ ASSERT(att->Renderbuffer->StencilBits);
/* OK */
}
else if (ctx->Extensions.EXT_packed_depth_stencil &&
att->Renderbuffer->_BaseFormat == GL_DEPTH_STENCIL_EXT) {
+ ASSERT(att->Renderbuffer->StencilBits);
/* OK */
}
else {
@@ -2038,7 +2040,9 @@ _mesa_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
if (mask & GL_STENCIL_BUFFER_BIT) {
struct gl_renderbuffer *readRb = readFb->_StencilBuffer;
struct gl_renderbuffer *drawRb = drawFb->_StencilBuffer;
- if (readRb->StencilBits != drawRb->StencilBits) {
+ if (!readRb ||
+ !drawRb ||
+ readRb->StencilBits != drawRb->StencilBits) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glBlitFramebufferEXT(stencil buffer size mismatch");
return;
@@ -2048,7 +2052,9 @@ _mesa_BlitFramebufferEXT(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
if (mask & GL_DEPTH_BUFFER_BIT) {
struct gl_renderbuffer *readRb = readFb->_DepthBuffer;
struct gl_renderbuffer *drawRb = drawFb->_DepthBuffer;
- if (readRb->DepthBits != drawRb->DepthBits) {
+ if (!readRb ||
+ !drawRb ||
+ readRb->DepthBits != drawRb->DepthBits) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glBlitFramebufferEXT(depth buffer size mismatch");
return;
diff --git a/src/mesa/main/fog.c b/src/mesa/main/fog.c
index 50a61bd84bf..4323d3db820 100644
--- a/src/mesa/main/fog.c
+++ b/src/mesa/main/fog.c
@@ -67,7 +67,7 @@ _mesa_Fogiv(GLenum pname, const GLint *params )
break;
default:
/* Error will be caught later in _mesa_Fogfv */
- ;
+ ASSIGN_4V(p, 0.0F, 0.0F, 0.0F, 0.0F);
}
_mesa_Fogfv(pname, p);
}
diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c
index 5a13c88a7ab..dc79b8ca61a 100644
--- a/src/mesa/main/framebuffer.c
+++ b/src/mesa/main/framebuffer.c
@@ -817,7 +817,7 @@ _mesa_update_framebuffer(GLcontext *ctx)
/**
* Check if the renderbuffer for a read operation (glReadPixels, glCopyPixels,
- * glCopyTex[Sub]Image, etc. exists.
+ * glCopyTex[Sub]Image, etc) exists.
* \param format a basic image format such as GL_RGB, GL_RGBA, GL_ALPHA,
* GL_DEPTH_COMPONENT, etc. or GL_COLOR, GL_DEPTH, GL_STENCIL.
* \return GL_TRUE if buffer exists, GL_FALSE otherwise
@@ -825,8 +825,12 @@ _mesa_update_framebuffer(GLcontext *ctx)
GLboolean
_mesa_source_buffer_exists(GLcontext *ctx, GLenum format)
{
- const struct gl_renderbuffer_attachment *att
- = ctx->ReadBuffer->Attachment;
+ const struct gl_renderbuffer_attachment *att = ctx->ReadBuffer->Attachment;
+
+ /* If we don't know the framebuffer status, update it now */
+ if (ctx->ReadBuffer->_Status == 0) {
+ _mesa_test_framebuffer_completeness(ctx, ctx->ReadBuffer);
+ }
if (ctx->ReadBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
return GL_FALSE;
@@ -850,10 +854,8 @@ _mesa_source_buffer_exists(GLcontext *ctx, GLenum format)
if (ctx->ReadBuffer->_ColorReadBuffer == NULL) {
return GL_FALSE;
}
- /* XXX enable this post 6.5 release:
ASSERT(ctx->ReadBuffer->_ColorReadBuffer->RedBits > 0 ||
ctx->ReadBuffer->_ColorReadBuffer->IndexBits > 0);
- */
break;
case GL_DEPTH:
case GL_DEPTH_COMPONENT:
@@ -891,13 +893,17 @@ _mesa_source_buffer_exists(GLcontext *ctx, GLenum format)
/**
* As above, but for drawing operations.
- * XXX code do some code merging w/ above function.
+ * XXX could do some code merging w/ above function.
*/
GLboolean
_mesa_dest_buffer_exists(GLcontext *ctx, GLenum format)
{
- const struct gl_renderbuffer_attachment *att
- = ctx->ReadBuffer->Attachment;
+ const struct gl_renderbuffer_attachment *att = ctx->DrawBuffer->Attachment;
+
+ /* If we don't know the framebuffer status, update it now */
+ if (ctx->DrawBuffer->_Status == 0) {
+ _mesa_test_framebuffer_completeness(ctx, ctx->DrawBuffer);
+ }
if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
return GL_FALSE;
@@ -918,7 +924,7 @@ _mesa_dest_buffer_exists(GLcontext *ctx, GLenum format)
case GL_BGRA:
case GL_ABGR_EXT:
case GL_COLOR_INDEX:
- /* nothing special */
+ /* Nothing special since GL_DRAW_BUFFER could be GL_NONE. */
/* Could assert that colorbuffer has RedBits > 0 */
break;
case GL_DEPTH:
@@ -945,7 +951,7 @@ _mesa_dest_buffer_exists(GLcontext *ctx, GLenum format)
break;
default:
_mesa_problem(ctx,
- "Unexpected format 0x%x in _mesa_source_buffer_exists",
+ "Unexpected format 0x%x in _mesa_dest_buffer_exists",
format);
return GL_FALSE;
}
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index 516159bbf2f..79f06a3c404 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -1879,6 +1879,10 @@ _mesa_GetBooleanv( GLenum pname, GLboolean *params )
CHECK_EXT1(APPLE_vertex_array_object, "GetBooleanv");
params[0] = INT_TO_BOOLEAN(ctx->Array.ArrayObj->Name);
break;
+ case GL_TEXTURE_CUBE_MAP_SEAMLESS:
+ CHECK_EXT1(ARB_seamless_cube_map, "GetBooleanv");
+ params[0] = ctx->Texture.CubeMapSeamless;
+ break;
default:
_mesa_error(ctx, GL_INVALID_ENUM, "glGetBooleanv(pname=0x%x)", pname);
}
@@ -3701,6 +3705,10 @@ _mesa_GetFloatv( GLenum pname, GLfloat *params )
CHECK_EXT1(APPLE_vertex_array_object, "GetFloatv");
params[0] = (GLfloat)(ctx->Array.ArrayObj->Name);
break;
+ case GL_TEXTURE_CUBE_MAP_SEAMLESS:
+ CHECK_EXT1(ARB_seamless_cube_map, "GetFloatv");
+ params[0] = BOOLEAN_TO_FLOAT(ctx->Texture.CubeMapSeamless);
+ break;
default:
_mesa_error(ctx, GL_INVALID_ENUM, "glGetFloatv(pname=0x%x)", pname);
}
@@ -5523,6 +5531,10 @@ _mesa_GetIntegerv( GLenum pname, GLint *params )
CHECK_EXT1(APPLE_vertex_array_object, "GetIntegerv");
params[0] = ctx->Array.ArrayObj->Name;
break;
+ case GL_TEXTURE_CUBE_MAP_SEAMLESS:
+ CHECK_EXT1(ARB_seamless_cube_map, "GetIntegerv");
+ params[0] = BOOLEAN_TO_INT(ctx->Texture.CubeMapSeamless);
+ 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 5666ad0e42e..e9c8226d08d 100644
--- a/src/mesa/main/get_gen.py
+++ b/src/mesa/main/get_gen.py
@@ -1015,6 +1015,10 @@ StateVars = [
# GL_APPLE_vertex_array_object
( "GL_VERTEX_ARRAY_BINDING_APPLE", GLint, ["ctx->Array.ArrayObj->Name"], "",
["APPLE_vertex_array_object"] ),
+
+ # GL_ARB_seamless_cube_map
+ ( "GL_TEXTURE_CUBE_MAP_SEAMLESS", GLboolean, ["ctx->Texture.CubeMapSeamless"], "",
+ ["ARB_seamless_cube_map"] ),
]
diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c
index 41fd786d7d5..6599ed9698d 100644
--- a/src/mesa/main/getstring.c
+++ b/src/mesa/main/getstring.c
@@ -266,5 +266,6 @@ _mesa_GetError( void )
_mesa_debug(ctx, "glGetError <-- %s\n", _mesa_lookup_enum_by_nr(e));
ctx->ErrorValue = (GLenum) GL_NO_ERROR;
+ ctx->ErrorDebugCount = 0;
return e;
}
diff --git a/src/mesa/main/histogram.c b/src/mesa/main/histogram.c
index 5fee4fd0e34..726a50d3b1b 100644
--- a/src/mesa/main/histogram.c
+++ b/src/mesa/main/histogram.c
@@ -649,7 +649,7 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvo
return;
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* pack min/max values into a PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(1, &ctx->Pack, 2, 1, 1,
@@ -687,7 +687,7 @@ _mesa_GetMinmax(GLenum target, GLboolean reset, GLenum format, GLenum type, GLvo
format, type, values, &ctx->Pack, 0x0);
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
ctx->Pack.BufferObj);
}
@@ -733,7 +733,7 @@ _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, G
return;
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* pack min/max values into a PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(1, &ctx->Pack, ctx->Histogram.Width, 1, 1,
@@ -761,7 +761,7 @@ _mesa_GetHistogram(GLenum target, GLboolean reset, GLenum format, GLenum type, G
(CONST GLuint (*)[4]) ctx->Histogram.Count,
format, type, values, &ctx->Pack);
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
ctx->Pack.BufferObj);
}
diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c
index 090e5eb3300..d77c593ac7c 100644
--- a/src/mesa/main/image.c
+++ b/src/mesa/main/image.c
@@ -531,6 +531,210 @@ _mesa_is_legal_format_and_type( GLcontext *ctx, GLenum format, GLenum type )
/**
+ * Test if the given image format is a color/RGBA format (i.e., not color
+ * index, depth, stencil, etc).
+ * \param format the image format value (may by an internal texture format)
+ * \return GL_TRUE if its a color/RGBA format, GL_FALSE otherwise.
+ */
+GLboolean
+_mesa_is_color_format(GLenum format)
+{
+ switch (format) {
+ case GL_RED:
+ case GL_GREEN:
+ case GL_BLUE:
+ case GL_ALPHA:
+ case GL_ALPHA4:
+ case GL_ALPHA8:
+ case GL_ALPHA12:
+ case GL_ALPHA16:
+ case 1:
+ case GL_LUMINANCE:
+ case GL_LUMINANCE4:
+ case GL_LUMINANCE8:
+ case GL_LUMINANCE12:
+ case GL_LUMINANCE16:
+ case 2:
+ case GL_LUMINANCE_ALPHA:
+ case GL_LUMINANCE4_ALPHA4:
+ case GL_LUMINANCE6_ALPHA2:
+ case GL_LUMINANCE8_ALPHA8:
+ case GL_LUMINANCE12_ALPHA4:
+ case GL_LUMINANCE12_ALPHA12:
+ case GL_LUMINANCE16_ALPHA16:
+ case GL_INTENSITY:
+ case GL_INTENSITY4:
+ case GL_INTENSITY8:
+ case GL_INTENSITY12:
+ case GL_INTENSITY16:
+ case 3:
+ case GL_RGB:
+ case GL_BGR:
+ case GL_R3_G3_B2:
+ case GL_RGB4:
+ case GL_RGB5:
+ case GL_RGB8:
+ case GL_RGB10:
+ case GL_RGB12:
+ case GL_RGB16:
+ case 4:
+ case GL_ABGR_EXT:
+ case GL_RGBA:
+ case GL_BGRA:
+ case GL_RGBA2:
+ case GL_RGBA4:
+ case GL_RGB5_A1:
+ case GL_RGBA8:
+ case GL_RGB10_A2:
+ case GL_RGBA12:
+ case GL_RGBA16:
+ /* float texture formats */
+ case GL_ALPHA16F_ARB:
+ case GL_ALPHA32F_ARB:
+ case GL_LUMINANCE16F_ARB:
+ case GL_LUMINANCE32F_ARB:
+ case GL_LUMINANCE_ALPHA16F_ARB:
+ case GL_LUMINANCE_ALPHA32F_ARB:
+ case GL_INTENSITY16F_ARB:
+ case GL_INTENSITY32F_ARB:
+ case GL_RGB16F_ARB:
+ case GL_RGB32F_ARB:
+ case GL_RGBA16F_ARB:
+ case GL_RGBA32F_ARB:
+ /* compressed formats */
+ case GL_COMPRESSED_ALPHA:
+ case GL_COMPRESSED_LUMINANCE:
+ case GL_COMPRESSED_LUMINANCE_ALPHA:
+ case GL_COMPRESSED_INTENSITY:
+ case GL_COMPRESSED_RGB:
+ case GL_COMPRESSED_RGBA:
+ case GL_RGB_S3TC:
+ case GL_RGB4_S3TC:
+ case GL_RGBA_S3TC:
+ case GL_RGBA4_S3TC:
+ case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
+ case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
+ case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
+ case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
+ case GL_COMPRESSED_RGB_FXT1_3DFX:
+ case GL_COMPRESSED_RGBA_FXT1_3DFX:
+#if FEATURE_EXT_texture_sRGB
+ case GL_SRGB_EXT:
+ case GL_SRGB8_EXT:
+ case GL_SRGB_ALPHA_EXT:
+ case GL_SRGB8_ALPHA8_EXT:
+ case GL_SLUMINANCE_ALPHA_EXT:
+ case GL_SLUMINANCE8_ALPHA8_EXT:
+ case GL_SLUMINANCE_EXT:
+ case GL_SLUMINANCE8_EXT:
+ case GL_COMPRESSED_SRGB_EXT:
+ case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
+ case GL_COMPRESSED_SRGB_ALPHA_EXT:
+ case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:
+ case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:
+ case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:
+ case GL_COMPRESSED_SLUMINANCE_EXT:
+ case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT:
+#endif /* FEATURE_EXT_texture_sRGB */
+ return GL_TRUE;
+ /* signed texture formats */
+ case GL_RGBA_SNORM:
+ case GL_RGBA8_SNORM:
+ return GL_TRUE;
+ case GL_YCBCR_MESA: /* not considered to be RGB */
+ /* fall-through */
+ default:
+ return GL_FALSE;
+ }
+}
+
+
+/**
+ * Test if the given image format is a color index format.
+ */
+GLboolean
+_mesa_is_index_format(GLenum format)
+{
+ switch (format) {
+ case GL_COLOR_INDEX:
+ case GL_COLOR_INDEX1_EXT:
+ case GL_COLOR_INDEX2_EXT:
+ case GL_COLOR_INDEX4_EXT:
+ case GL_COLOR_INDEX8_EXT:
+ case GL_COLOR_INDEX12_EXT:
+ case GL_COLOR_INDEX16_EXT:
+ return GL_TRUE;
+ default:
+ return GL_FALSE;
+ }
+}
+
+
+/**
+ * Test if the given image format is a depth component format.
+ */
+GLboolean
+_mesa_is_depth_format(GLenum format)
+{
+ switch (format) {
+ case GL_DEPTH_COMPONENT:
+ case GL_DEPTH_COMPONENT16:
+ case GL_DEPTH_COMPONENT24:
+ case GL_DEPTH_COMPONENT32:
+ return GL_TRUE;
+ default:
+ return GL_FALSE;
+ }
+}
+
+
+/**
+ * Test if the given image format is a YCbCr format.
+ */
+GLboolean
+_mesa_is_ycbcr_format(GLenum format)
+{
+ switch (format) {
+ case GL_YCBCR_MESA:
+ return GL_TRUE;
+ default:
+ return GL_FALSE;
+ }
+}
+
+
+/**
+ * Test if the given image format is a depth+stencil format.
+ */
+GLboolean
+_mesa_is_depthstencil_format(GLenum format)
+{
+ switch (format) {
+ case GL_DEPTH24_STENCIL8_EXT:
+ case GL_DEPTH_STENCIL_EXT:
+ return GL_TRUE;
+ default:
+ return GL_FALSE;
+ }
+}
+
+/**
+ * Test if the given image format is a dudv format.
+ */
+GLboolean
+_mesa_is_dudv_format(GLenum format)
+{
+ switch (format) {
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ return GL_TRUE;
+ default:
+ return GL_FALSE;
+ }
+}
+
+
+/**
* Return the address of a specific pixel in an image (1D, 2D or 3D).
*
* Pixel unpacking/packing parameters are observed according to \p packing.
@@ -5335,3 +5539,181 @@ _mesa_clip_to_region(GLint xmin, GLint ymin,
return GL_TRUE;
}
+
+
+/**
+ * Clip dst coords against Xmax (or Ymax).
+ */
+static INLINE void
+clip_right_or_top(GLint *srcX0, GLint *srcX1,
+ GLint *dstX0, GLint *dstX1,
+ GLint maxValue)
+{
+ GLfloat t, bias;
+
+ if (*dstX1 > maxValue) {
+ /* X1 outside right edge */
+ ASSERT(*dstX0 < maxValue); /* X0 should be inside right edge */
+ t = (GLfloat) (maxValue - *dstX0) / (GLfloat) (*dstX1 - *dstX0);
+ /* chop off [t, 1] part */
+ ASSERT(t >= 0.0 && t <= 1.0);
+ *dstX1 = maxValue;
+ bias = (*srcX0 < *srcX1) ? 0.5 : -0.5;
+ *srcX1 = *srcX0 + (GLint) (t * (*srcX1 - *srcX0) + bias);
+ }
+ else if (*dstX0 > maxValue) {
+ /* X0 outside right edge */
+ ASSERT(*dstX1 < maxValue); /* X1 should be inside right edge */
+ t = (GLfloat) (maxValue - *dstX1) / (GLfloat) (*dstX0 - *dstX1);
+ /* chop off [t, 1] part */
+ ASSERT(t >= 0.0 && t <= 1.0);
+ *dstX0 = maxValue;
+ bias = (*srcX0 < *srcX1) ? -0.5 : 0.5;
+ *srcX0 = *srcX1 + (GLint) (t * (*srcX0 - *srcX1) + bias);
+ }
+}
+
+
+/**
+ * Clip dst coords against Xmin (or Ymin).
+ */
+static INLINE void
+clip_left_or_bottom(GLint *srcX0, GLint *srcX1,
+ GLint *dstX0, GLint *dstX1,
+ GLint minValue)
+{
+ GLfloat t, bias;
+
+ if (*dstX0 < minValue) {
+ /* X0 outside left edge */
+ ASSERT(*dstX1 > minValue); /* X1 should be inside left edge */
+ t = (GLfloat) (minValue - *dstX0) / (GLfloat) (*dstX1 - *dstX0);
+ /* chop off [0, t] part */
+ ASSERT(t >= 0.0 && t <= 1.0);
+ *dstX0 = minValue;
+ bias = (*srcX0 < *srcX1) ? 0.5 : -0.5; /* flipped??? */
+ *srcX0 = *srcX0 + (GLint) (t * (*srcX1 - *srcX0) + bias);
+ }
+ else if (*dstX1 < minValue) {
+ /* X1 outside left edge */
+ ASSERT(*dstX0 > minValue); /* X0 should be inside left edge */
+ t = (GLfloat) (minValue - *dstX1) / (GLfloat) (*dstX0 - *dstX1);
+ /* chop off [0, t] part */
+ ASSERT(t >= 0.0 && t <= 1.0);
+ *dstX1 = minValue;
+ bias = (*srcX0 < *srcX1) ? 0.5 : -0.5;
+ *srcX1 = *srcX1 + (GLint) (t * (*srcX0 - *srcX1) + bias);
+ }
+}
+
+
+/**
+ * Do clipping of blit src/dest rectangles.
+ * The dest rect is clipped against both the buffer bounds and scissor bounds.
+ * The src rect is just clipped against the buffer bounds.
+ *
+ * When either the src or dest rect is clipped, the other is also clipped
+ * proportionately!
+ *
+ * Note that X0 need not be less than X1 (same for Y) for either the source
+ * and dest rects. That makes the clipping a little trickier.
+ *
+ * \return GL_TRUE if anything is left to draw, GL_FALSE if totally clipped
+ */
+GLboolean
+_mesa_clip_blit(GLcontext *ctx,
+ GLint *srcX0, GLint *srcY0, GLint *srcX1, GLint *srcY1,
+ GLint *dstX0, GLint *dstY0, GLint *dstX1, GLint *dstY1)
+{
+ const GLint srcXmin = 0;
+ const GLint srcXmax = ctx->ReadBuffer->Width;
+ const GLint srcYmin = 0;
+ const GLint srcYmax = ctx->ReadBuffer->Height;
+
+ /* these include scissor bounds */
+ const GLint dstXmin = ctx->DrawBuffer->_Xmin;
+ const GLint dstXmax = ctx->DrawBuffer->_Xmax;
+ const GLint dstYmin = ctx->DrawBuffer->_Ymin;
+ const GLint dstYmax = ctx->DrawBuffer->_Ymax;
+
+ /*
+ printf("PreClipX: src: %d .. %d dst: %d .. %d\n",
+ *srcX0, *srcX1, *dstX0, *dstX1);
+ printf("PreClipY: src: %d .. %d dst: %d .. %d\n",
+ *srcY0, *srcY1, *dstY0, *dstY1);
+ */
+
+ /* trivial rejection tests */
+ if (*dstX0 == *dstX1)
+ return GL_FALSE; /* no width */
+ if (*dstX0 <= dstXmin && *dstX1 <= dstXmin)
+ return GL_FALSE; /* totally out (left) of bounds */
+ if (*dstX0 >= dstXmax && *dstX1 >= dstXmax)
+ return GL_FALSE; /* totally out (right) of bounds */
+
+ if (*dstY0 == *dstY1)
+ return GL_FALSE;
+ if (*dstY0 <= dstYmin && *dstY1 <= dstYmin)
+ return GL_FALSE;
+ if (*dstY0 >= dstYmax && *dstY1 >= dstYmax)
+ return GL_FALSE;
+
+ if (*srcX0 == *srcX1)
+ return GL_FALSE;
+ if (*srcX0 <= srcXmin && *srcX1 <= srcXmin)
+ return GL_FALSE;
+ if (*srcX0 >= srcXmax && *srcX1 >= srcXmax)
+ return GL_FALSE;
+
+ if (*srcY0 == *srcY1)
+ return GL_FALSE;
+ if (*srcY0 <= srcYmin && *srcY1 <= srcYmin)
+ return GL_FALSE;
+ if (*srcY0 >= srcYmax && *srcY1 >= srcYmax)
+ return GL_FALSE;
+
+ /*
+ * dest clip
+ */
+ clip_right_or_top(srcX0, srcX1, dstX0, dstX1, dstXmax);
+ clip_right_or_top(srcY0, srcY1, dstY0, dstY1, dstYmax);
+ clip_left_or_bottom(srcX0, srcX1, dstX0, dstX1, dstXmin);
+ clip_left_or_bottom(srcY0, srcY1, dstY0, dstY1, dstYmin);
+
+ /*
+ * src clip (just swap src/dst values from above)
+ */
+ clip_right_or_top(dstX0, dstX1, srcX0, srcX1, srcXmax);
+ clip_right_or_top(dstY0, dstY1, srcY0, srcY1, srcYmax);
+ clip_left_or_bottom(dstX0, dstX1, srcX0, srcX1, srcXmin);
+ clip_left_or_bottom(dstY0, dstY1, srcY0, srcY1, srcYmin);
+
+ /*
+ printf("PostClipX: src: %d .. %d dst: %d .. %d\n",
+ *srcX0, *srcX1, *dstX0, *dstX1);
+ printf("PostClipY: src: %d .. %d dst: %d .. %d\n",
+ *srcY0, *srcY1, *dstY0, *dstY1);
+ */
+
+ ASSERT(*dstX0 >= dstXmin);
+ ASSERT(*dstX0 <= dstXmax);
+ ASSERT(*dstX1 >= dstXmin);
+ ASSERT(*dstX1 <= dstXmax);
+
+ ASSERT(*dstY0 >= dstYmin);
+ ASSERT(*dstY0 <= dstYmax);
+ ASSERT(*dstY1 >= dstYmin);
+ ASSERT(*dstY1 <= dstYmax);
+
+ ASSERT(*srcX0 >= srcXmin);
+ ASSERT(*srcX0 <= srcXmax);
+ ASSERT(*srcX1 >= srcXmin);
+ ASSERT(*srcX1 <= srcXmax);
+
+ ASSERT(*srcY0 >= srcYmin);
+ ASSERT(*srcY0 <= srcYmax);
+ ASSERT(*srcY1 >= srcYmin);
+ ASSERT(*srcY1 <= srcYmax);
+
+ return GL_TRUE;
+}
diff --git a/src/mesa/main/image.h b/src/mesa/main/image.h
index b26c27e5a8a..20459a5f1e1 100644
--- a/src/mesa/main/image.h
+++ b/src/mesa/main/image.h
@@ -54,6 +54,24 @@ _mesa_bytes_per_pixel( GLenum format, GLenum type );
extern GLboolean
_mesa_is_legal_format_and_type( GLcontext *ctx, GLenum format, GLenum type );
+extern GLboolean
+_mesa_is_color_format(GLenum format);
+
+extern GLboolean
+_mesa_is_index_format(GLenum format);
+
+extern GLboolean
+_mesa_is_depth_format(GLenum format);
+
+extern GLboolean
+_mesa_is_ycbcr_format(GLenum format);
+
+extern GLboolean
+_mesa_is_depthstencil_format(GLenum format);
+
+extern GLboolean
+_mesa_is_dudv_format(GLenum format);
+
extern GLvoid *
_mesa_image_address( GLuint dimensions,
@@ -291,4 +309,10 @@ _mesa_clip_to_region(GLint xmin, GLint ymin,
GLint *x, GLint *y,
GLsizei *width, GLsizei *height );
+extern GLboolean
+_mesa_clip_blit(GLcontext *ctx,
+ GLint *srcX0, GLint *srcY0, GLint *srcX1, GLint *srcY1,
+ GLint *dstX0, GLint *dstY0, GLint *dstX1, GLint *dstY1);
+
+
#endif
diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
index 1722579e82c..6ffaddcde96 100644
--- a/src/mesa/main/imports.c
+++ b/src/mesa/main/imports.c
@@ -911,6 +911,20 @@ _mesa_strtod( const char *s, char **end )
return strtod(s, end);
}
+/** Compute simple checksum/hash for a string */
+unsigned int
+_mesa_str_checksum(const char *str)
+{
+ /* This could probably be much better */
+ unsigned int sum, i;
+ const char *c;
+ sum = i = 1;
+ for (c = str; *c; c++)
+ sum += *c * (i % 100);
+ return sum;
+}
+
+
/*@}*/
@@ -1021,23 +1035,59 @@ output_if_debug(const char *prefixString, const char *outputString,
}
}
-static const char *error_string( GLenum error );
-static void flush_delayed_errors( GLcontext *ctx )
+/**
+ * Return string version of GL error code.
+ */
+static const char *
+error_string( GLenum error )
+{
+ switch (error) {
+ case GL_NO_ERROR:
+ return "GL_NO_ERROR";
+ case GL_INVALID_VALUE:
+ return "GL_INVALID_VALUE";
+ case GL_INVALID_ENUM:
+ return "GL_INVALID_ENUM";
+ case GL_INVALID_OPERATION:
+ return "GL_INVALID_OPERATION";
+ case GL_STACK_OVERFLOW:
+ return "GL_STACK_OVERFLOW";
+ case GL_STACK_UNDERFLOW:
+ return "GL_STACK_UNDERFLOW";
+ case GL_OUT_OF_MEMORY:
+ return "GL_OUT_OF_MEMORY";
+ case GL_TABLE_TOO_LARGE:
+ return "GL_TABLE_TOO_LARGE";
+ case GL_INVALID_FRAMEBUFFER_OPERATION_EXT:
+ return "GL_INVALID_FRAMEBUFFER_OPERATION";
+ default:
+ return "unknown";
+ }
+}
+
+
+/**
+ * When a new type of error is recorded, print a message describing
+ * previous errors which were accumulated.
+ */
+static void
+flush_delayed_errors( GLcontext *ctx )
{
- char s2[MAXSTRING];
+ char s[MAXSTRING];
if (ctx->ErrorDebugCount) {
- _mesa_snprintf(s2, MAXSTRING, "%d similar %s errors",
+ _mesa_snprintf(s, MAXSTRING, "%d similar %s errors",
ctx->ErrorDebugCount,
error_string(ctx->ErrorValue));
- output_if_debug("Mesa: ", s2, GL_TRUE);
+ output_if_debug("Mesa", s, GL_TRUE);
ctx->ErrorDebugCount = 0;
}
}
+
/**
* Report a warning (a recoverable error condition) to stderr if
* either DEBUG is defined or the MESA_DEBUG env var is set.
@@ -1083,31 +1133,6 @@ _mesa_problem( const GLcontext *ctx, const char *fmtString, ... )
fprintf(stderr, "Please report at bugzilla.freedesktop.org\n");
}
-static const char *error_string( GLenum error )
-{
- switch (error) {
- case GL_NO_ERROR:
- return "GL_NO_ERROR";
- case GL_INVALID_VALUE:
- return "GL_INVALID_VALUE";
- case GL_INVALID_ENUM:
- return "GL_INVALID_ENUM";
- case GL_INVALID_OPERATION:
- return "GL_INVALID_OPERATION";
- case GL_STACK_OVERFLOW:
- return "GL_STACK_OVERFLOW";
- case GL_STACK_UNDERFLOW:
- return "GL_STACK_UNDERFLOW";
- case GL_OUT_OF_MEMORY:
- return "GL_OUT_OF_MEMORY";
- case GL_TABLE_TOO_LARGE:
- return "GL_TABLE_TOO_LARGE";
- case GL_INVALID_FRAMEBUFFER_OPERATION_EXT:
- return "GL_INVALID_FRAMEBUFFER_OPERATION";
- default:
- return "unknown";
- }
-}
/**
* Record an OpenGL state error. These usually occur when the user
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
index 7b61e22e932..fb85f0862c6 100644
--- a/src/mesa/main/imports.h
+++ b/src/mesa/main/imports.h
@@ -586,6 +586,9 @@ _mesa_atoi( const char *s );
extern double
_mesa_strtod( const char *s, char **end );
+extern unsigned int
+_mesa_str_checksum(const char *str);
+
extern int
_mesa_sprintf( char *str, const char *fmt, ... );
diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c
index 0f0d831feef..10c89f43688 100644
--- a/src/mesa/main/light.c
+++ b/src/mesa/main/light.c
@@ -528,7 +528,7 @@ _mesa_LightModeliv( GLenum pname, const GLint *params )
break;
default:
/* Error will be caught later in gl_LightModelfv */
- ;
+ ASSIGN_4V(fparam, 0.0F, 0.0F, 0.0F, 0.0F);
}
_mesa_LightModelfv( pname, fparam );
}
@@ -1256,15 +1256,15 @@ _mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
ctx->Driver.LightingSpaceChange( ctx );
}
else {
- GLuint new_state = ctx->NewState;
+ GLuint new_state2 = ctx->NewState;
/* Recalculate that same state only if it has been invalidated
* by other statechanges.
*/
- if (new_state & _NEW_MODELVIEW)
+ if (new_state2 & _NEW_MODELVIEW)
update_modelview_scale(ctx);
- if (new_state & (_NEW_LIGHT|_NEW_MODELVIEW))
+ if (new_state2 & (_NEW_LIGHT|_NEW_MODELVIEW))
compute_light_positions( ctx );
}
}
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index d0309f5e90d..2d497ff2c61 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -83,6 +83,7 @@
/*@{*/
struct _mesa_HashTable;
struct gl_attrib_node;
+struct gl_meta_state;
struct gl_pixelstore_attrib;
struct gl_program_cache;
struct gl_texture_format;
@@ -227,7 +228,9 @@ typedef enum
FRAG_ATTRIB_TEX5 = 9,
FRAG_ATTRIB_TEX6 = 10,
FRAG_ATTRIB_TEX7 = 11,
- FRAG_ATTRIB_VAR0 = 12, /**< shader varying */
+ FRAG_ATTRIB_FACE = 12, /**< front/back face */
+ FRAG_ATTRIB_PNTC = 13, /**< sprite/point coord */
+ FRAG_ATTRIB_VAR0 = 14, /**< shader varying */
FRAG_ATTRIB_MAX = (FRAG_ATTRIB_VAR0 + MAX_VARYING)
} gl_frag_attrib;
@@ -239,6 +242,8 @@ typedef enum
#define FRAG_BIT_COL0 (1 << FRAG_ATTRIB_COL0)
#define FRAG_BIT_COL1 (1 << FRAG_ATTRIB_COL1)
#define FRAG_BIT_FOGC (1 << FRAG_ATTRIB_FOGC)
+#define FRAG_BIT_FACE (1 << FRAG_ATTRIB_FACE)
+#define FRAG_BIT_PNTC (1 << FRAG_ATTRIB_PNTC)
#define FRAG_BIT_TEX0 (1 << FRAG_ATTRIB_TEX0)
#define FRAG_BIT_TEX1 (1 << FRAG_ATTRIB_TEX1)
#define FRAG_BIT_TEX2 (1 << FRAG_ATTRIB_TEX2)
@@ -1440,6 +1445,9 @@ struct gl_texture_attrib
struct gl_texture_object *ProxyTex[NUM_TEXTURE_TARGETS];
+ /** GL_ARB_seamless_cubemap */
+ GLboolean CubeMapSeamless;
+
/** GL_EXT_shared_texture_palette */
GLboolean SharedPalette;
struct gl_color_table Palette;
@@ -1834,9 +1842,6 @@ struct gl_fragment_program
struct gl_program Base; /**< base class */
GLenum FogOption;
GLboolean UsesKill; /**< shader uses KIL instruction */
- GLboolean UsesPointCoord; /**< shader uses gl_PointCoord */
- GLboolean UsesFrontFacing; /**< shader used gl_FrontFacing */
- GLboolean UsesFogFragCoord; /**< shader used gl_FogFragCoord */
};
@@ -2004,6 +2009,7 @@ struct gl_shader
GLboolean Main; /**< shader defines main() */
GLboolean UnresolvedRefs;
const GLchar *Source; /**< Source code string */
+ GLuint SourceChecksum; /**< for debug/logging purposes */
struct gl_program *Program; /**< Post-compile assembly code */
GLchar *InfoLog;
struct gl_sl_pragmas Pragmas;
@@ -2034,6 +2040,7 @@ struct gl_shader_program
struct gl_program_parameter_list *Varying;
GLboolean LinkStatus; /**< GL_LINK_STATUS */
GLboolean Validated;
+ GLboolean _Used; /**< Ever used for drawing? */
GLchar *InfoLog;
};
@@ -2454,6 +2461,7 @@ struct gl_extensions
GLboolean ARB_multitexture;
GLboolean ARB_occlusion_query;
GLboolean ARB_point_sprite;
+ GLboolean ARB_seamless_cube_map;
GLboolean ARB_shader_objects;
GLboolean ARB_shading_language_100;
GLboolean ARB_shading_language_120;
@@ -2981,6 +2989,8 @@ struct __GLcontextRec
struct gl_buffer_object *CopyWriteBuffer; /**< GL_ARB_copy_buffer */
/*@}*/
+ struct gl_meta_state *Meta; /**< for "meta" operations */
+
#if FEATURE_EXT_framebuffer_object
struct gl_renderbuffer *CurrentRenderbuffer;
#endif
diff --git a/src/mesa/main/pixel.c b/src/mesa/main/pixel.c
index d9f3e476e81..25f55a422fa 100644
--- a/src/mesa/main/pixel.c
+++ b/src/mesa/main/pixel.c
@@ -158,7 +158,7 @@ _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values )
FLUSH_VERTICES(ctx, _NEW_PIXEL);
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
/* unpack pixelmap from PBO */
GLubyte *buf;
/* Note, need to use DefaultPacking and Unpack's buffer object */
@@ -188,7 +188,7 @@ _mesa_PixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values )
store_pixelmap(ctx, map, mapsize, values);
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
ctx->Unpack.BufferObj);
}
@@ -217,7 +217,7 @@ _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values )
FLUSH_VERTICES(ctx, _NEW_PIXEL);
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
/* unpack pixelmap from PBO */
GLubyte *buf;
/* Note, need to use DefaultPacking and Unpack's buffer object */
@@ -259,7 +259,7 @@ _mesa_PixelMapuiv(GLenum map, GLsizei mapsize, const GLuint *values )
}
}
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
ctx->Unpack.BufferObj);
}
@@ -290,7 +290,7 @@ _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values )
FLUSH_VERTICES(ctx, _NEW_PIXEL);
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
/* unpack pixelmap from PBO */
GLubyte *buf;
/* Note, need to use DefaultPacking and Unpack's buffer object */
@@ -333,7 +333,7 @@ _mesa_PixelMapusv(GLenum map, GLsizei mapsize, const GLushort *values )
}
}
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
ctx->Unpack.BufferObj);
}
@@ -359,7 +359,7 @@ _mesa_GetPixelMapfv( GLenum map, GLfloat *values )
mapsize = pm->Size;
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* pack pixelmap into PBO */
GLubyte *buf;
/* Note, need to use DefaultPacking and Pack's buffer object */
@@ -397,7 +397,7 @@ _mesa_GetPixelMapfv( GLenum map, GLfloat *values )
MEMCPY(values, pm->Map, mapsize * sizeof(GLfloat));
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
ctx->Pack.BufferObj);
}
@@ -420,7 +420,7 @@ _mesa_GetPixelMapuiv( GLenum map, GLuint *values )
}
mapsize = pm->Size;
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* pack pixelmap into PBO */
GLubyte *buf;
/* Note, need to use DefaultPacking and Pack's buffer object */
@@ -458,7 +458,7 @@ _mesa_GetPixelMapuiv( GLenum map, GLuint *values )
}
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
ctx->Pack.BufferObj);
}
@@ -481,7 +481,7 @@ _mesa_GetPixelMapusv( GLenum map, GLushort *values )
}
mapsize = pm ? pm->Size : 0;
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* pack pixelmap into PBO */
GLubyte *buf;
/* Note, need to use DefaultPacking and Pack's buffer object */
@@ -528,7 +528,7 @@ _mesa_GetPixelMapusv( GLenum map, GLushort *values )
}
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
ctx->Pack.BufferObj);
}
diff --git a/src/mesa/main/polygon.c b/src/mesa/main/polygon.c
index 564250b881c..d11c9424d5e 100644
--- a/src/mesa/main/polygon.c
+++ b/src/mesa/main/polygon.c
@@ -193,7 +193,7 @@ _mesa_PolygonMode( GLenum face, GLenum mode )
void
_mesa_polygon_stipple(GLcontext *ctx, const GLubyte *pattern)
{
- if (ctx->Unpack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Unpack.BufferObj)) {
/* Get/unpack the stipple pattern from a PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(2, &ctx->Unpack, 32, 32, 1,
@@ -258,7 +258,7 @@ _mesa_GetPolygonStipple( GLubyte *dest )
/* XXX someday we may put this code into a separate function and call
* it with ctx->Driver.GetPolygonStipple().
*/
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* Put/pack the stipple pattern into a PBO */
GLubyte *buf;
if (!_mesa_validate_pbo_access(2, &ctx->Pack, 32, 32, 1,
diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c
index 2326776ecbf..feea1d375f6 100644
--- a/src/mesa/main/readpix.c
+++ b/src/mesa/main/readpix.c
@@ -44,6 +44,10 @@ _mesa_error_check_format_type(GLcontext *ctx, GLenum format, GLenum type,
GLboolean drawing)
{
const char *readDraw = drawing ? "Draw" : "Read";
+ const GLboolean reading = !drawing;
+
+ /* state validation should have already been done */
+ ASSERT(ctx->NewState == 0x0);
if (ctx->Extensions.EXT_packed_depth_stencil
&& type == GL_UNSIGNED_INT_24_8_EXT
@@ -73,32 +77,45 @@ _mesa_error_check_format_type(GLcontext *ctx, GLenum format, GLenum type,
case GL_RGBA:
case GL_BGRA:
case GL_ABGR_EXT:
- if (drawing && !ctx->Visual.rgbMode) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
+ if (drawing) {
+ if (!ctx->DrawBuffer->Visual.rgbMode) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
"glDrawPixels(drawing RGB pixels into color index buffer)");
- return GL_TRUE;
+ return GL_TRUE;
+ }
}
- if (!drawing && !_mesa_dest_buffer_exists(ctx, GL_COLOR)) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glReadPixels(no color buffer)");
- return GL_TRUE;
+ else {
+ /* reading */
+ if (!_mesa_source_buffer_exists(ctx, GL_COLOR)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glReadPixels(no color buffer)");
+ return GL_TRUE;
+ }
}
break;
case GL_COLOR_INDEX:
- if (!drawing && ctx->Visual.rgbMode) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glReadPixels(reading color index format from RGB buffer)");
- return GL_TRUE;
+ if (drawing) {
+ if (ctx->DrawBuffer->Visual.rgbMode &&
+ (ctx->PixelMaps.ItoR.Size == 0 ||
+ ctx->PixelMaps.ItoG.Size == 0 ||
+ ctx->PixelMaps.ItoB.Size == 0)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glDrawPixels(drawing color index pixels into RGB buffer)");
+ return GL_TRUE;
+ }
}
- if (!drawing && !_mesa_dest_buffer_exists(ctx, GL_COLOR)) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glReadPixels(no color buffer)");
- return GL_TRUE;
+ else {
+ /* reading */
+ if (!_mesa_source_buffer_exists(ctx, GL_COLOR)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glReadPixels(no color buffer)");
+ return GL_TRUE;
+ }
}
break;
case GL_STENCIL_INDEX:
if ((drawing && !_mesa_dest_buffer_exists(ctx, format)) ||
- (!drawing && !_mesa_source_buffer_exists(ctx, format))) {
+ (reading && !_mesa_source_buffer_exists(ctx, format))) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"gl%sPixels(no stencil buffer)", readDraw);
return GL_TRUE;
@@ -118,7 +135,7 @@ _mesa_error_check_format_type(GLcontext *ctx, GLenum format, GLenum type,
return GL_TRUE;
}
if ((drawing && !_mesa_dest_buffer_exists(ctx, format)) ||
- (!drawing && !_mesa_source_buffer_exists(ctx, format))) {
+ (reading && !_mesa_source_buffer_exists(ctx, format))) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"gl%sPixels(no depth or stencil buffer)", readDraw);
return GL_TRUE;
@@ -173,7 +190,7 @@ _mesa_ReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
if (width == 0 || height == 0)
return; /* nothing to do */
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
if (!_mesa_validate_pbo_access(2, &ctx->Pack, width, height, 1,
format, type, pixels)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
@@ -181,7 +198,7 @@ _mesa_ReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
return;
}
- if (ctx->Pack.BufferObj->Pointer) {
+ if (_mesa_bufferobj_mapped(ctx->Pack.BufferObj)) {
/* buffer is mapped - that's an error */
_mesa_error(ctx, GL_INVALID_OPERATION, "glReadPixels(PBO is mapped)");
return;
diff --git a/src/mesa/main/shared.c b/src/mesa/main/shared.c
index ad6e6ce7cd3..93bbccd3c7f 100644
--- a/src/mesa/main/shared.c
+++ b/src/mesa/main/shared.c
@@ -196,7 +196,7 @@ 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) {
+ if (_mesa_bufferobj_mapped(bufObj)) {
ctx->Driver.UnmapBuffer(ctx, 0, bufObj);
bufObj->Pointer = NULL;
}
diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c
index d8191ab5187..140a998df2e 100644
--- a/src/mesa/main/state.c
+++ b/src/mesa/main/state.c
@@ -547,7 +547,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 |
- _NEW_ARRAY | _NEW_LIGHT | _NEW_POINT | _NEW_RENDERMODE);
+ _NEW_ARRAY | _NEW_LIGHT | _NEW_POINT | _NEW_RENDERMODE |
+ _NEW_PROGRAM);
}
if (ctx->VertexProgram._MaintainTnlProgram) {
prog_flags |= (_NEW_ARRAY | _NEW_TEXTURE | _NEW_TEXTURE_MATRIX |
@@ -712,6 +713,6 @@ _mesa_set_vp_override(GLcontext *ctx, GLboolean flag)
/* Set one of the bits which will trigger fragment program
* regeneration:
*/
- ctx->NewState |= _NEW_ARRAY;
+ ctx->NewState |= _NEW_PROGRAM;
}
}
diff --git a/src/mesa/main/texenv.c b/src/mesa/main/texenv.c
index 4c04a7ed375..6d86a4275cc 100644
--- a/src/mesa/main/texenv.c
+++ b/src/mesa/main/texenv.c
@@ -35,6 +35,7 @@
#include "main/enums.h"
#include "main/macros.h"
#include "main/texenv.h"
+#include "main/texstate.h"
#define TE_ERROR(errCode, msg, value) \
@@ -466,7 +467,7 @@ _mesa_TexEnvfv( GLenum target, GLenum pname, const GLfloat *param )
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
if (target == GL_TEXTURE_ENV) {
switch (pname) {
@@ -793,7 +794,7 @@ _mesa_GetTexEnvfv( GLenum target, GLenum pname, GLfloat *params )
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
if (target == GL_TEXTURE_ENV) {
if (pname == GL_TEXTURE_ENV_COLOR) {
@@ -857,7 +858,7 @@ _mesa_GetTexEnviv( GLenum target, GLenum pname, GLint *params )
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
if (target == GL_TEXTURE_ENV) {
if (pname == GL_TEXTURE_ENV_COLOR) {
@@ -908,12 +909,26 @@ _mesa_GetTexEnviv( GLenum target, GLenum pname, GLint *params )
}
}
-/* why does ATI_envmap_bumpmap require new entrypoints? Should just
- reuse TexEnv ones... */
+
+/**
+ * Why does ATI_envmap_bumpmap require new entrypoints? Should just
+ * reuse TexEnv ones...
+ */
void GLAPIENTRY
_mesa_TexBumpParameterivATI( GLenum pname, const GLint *param )
{
GLfloat p[4];
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+
+ if (!ctx->Extensions.ATI_envmap_bumpmap) {
+ /* This isn't an "official" error case, but let's tell the user
+ * that something's wrong.
+ */
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glTexBumpParameterivATI");
+ return;
+ }
+
if (pname == GL_BUMP_ROT_MATRIX_ATI) {
/* hope that conversion is correct here */
p[0] = INT_TO_FLOAT( param[0] );
@@ -923,11 +938,12 @@ _mesa_TexBumpParameterivATI( GLenum pname, const GLint *param )
}
else {
p[0] = (GLfloat) param[0];
- p[1] = p[2] = p[3] = 0; /* init to zero, just to be safe */
+ p[1] = p[2] = p[3] = 0.0F; /* init to zero, just to be safe */
}
_mesa_TexBumpParameterfvATI( pname, p );
}
+
void GLAPIENTRY
_mesa_TexBumpParameterfvATI( GLenum pname, const GLfloat *param )
{
@@ -935,8 +951,12 @@ _mesa_TexBumpParameterfvATI( GLenum pname, const GLfloat *param )
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
- /* should return error if extension not supported? */
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ if (!ctx->Extensions.ATI_envmap_bumpmap) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glTexBumpParameterfvATI");
+ return;
+ }
+
+ texUnit = _mesa_get_current_tex_unit(ctx);
if (pname == GL_BUMP_ROT_MATRIX_ATI) {
if (TEST_EQ_4V(param, texUnit->RotMatrix))
@@ -955,17 +975,21 @@ _mesa_TexBumpParameterfvATI( GLenum pname, const GLfloat *param )
}
}
+
void GLAPIENTRY
_mesa_GetTexBumpParameterivATI( GLenum pname, GLint *param )
{
const struct gl_texture_unit *texUnit;
GLuint i;
- GLint temp = 0;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
- /* should return error if extension not supported? */
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ if (!ctx->Extensions.ATI_envmap_bumpmap) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexBumpParameterivATI");
+ return;
+ }
+
+ texUnit = _mesa_get_current_tex_unit(ctx);
if (pname == GL_BUMP_ROT_MATRIX_SIZE_ATI) {
/* spec leaves open to support larger matrices.
@@ -982,12 +1006,13 @@ _mesa_GetTexBumpParameterivATI( GLenum pname, GLint *param )
param[3] = FLOAT_TO_INT(texUnit->RotMatrix[3]);
}
else if (pname == GL_BUMP_NUM_TEX_UNITS_ATI) {
+ GLint count = 0;
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) {
if (ctx->Const.SupportedBumpUnits & (1 << i)) {
- temp++;
+ count++;
}
}
- *param = temp;
+ *param = count;
}
else if (pname == GL_BUMP_TEX_UNITS_ATI) {
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) {
@@ -1002,23 +1027,27 @@ _mesa_GetTexBumpParameterivATI( GLenum pname, GLint *param )
}
}
+
void GLAPIENTRY
_mesa_GetTexBumpParameterfvATI( GLenum pname, GLfloat *param )
{
const struct gl_texture_unit *texUnit;
GLuint i;
- GLint temp = 0;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END(ctx);
- /* should return error if extension not supported? */
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ if (!ctx->Extensions.ATI_envmap_bumpmap) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexBumpParameterfvATI");
+ return;
+ }
+
+ texUnit = _mesa_get_current_tex_unit(ctx);
if (pname == GL_BUMP_ROT_MATRIX_SIZE_ATI) {
/* spec leaves open to support larger matrices.
Don't think anyone would ever want to use it
(and apps might not understand it) so hardcode this. */
- *param = (GLfloat) 4;
+ *param = 4.0F;
}
else if (pname == GL_BUMP_ROT_MATRIX_ATI) {
param[0] = texUnit->RotMatrix[0];
@@ -1027,12 +1056,13 @@ _mesa_GetTexBumpParameterfvATI( GLenum pname, GLfloat *param )
param[3] = texUnit->RotMatrix[3];
}
else if (pname == GL_BUMP_NUM_TEX_UNITS_ATI) {
+ GLint count = 0;
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) {
if (ctx->Const.SupportedBumpUnits & (1 << i)) {
- temp++;
+ count++;
}
}
- *param = (GLfloat) temp;
+ *param = (GLfloat) count;
}
else if (pname == GL_BUMP_TEX_UNITS_ATI) {
for (i = 0; i < ctx->Const.MaxTextureImageUnits; i++) {
@@ -1046,4 +1076,3 @@ _mesa_GetTexBumpParameterfvATI( GLenum pname, GLfloat *param )
return;
}
}
-
diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c
index 6b090ff399b..3736138b9ed 100644
--- a/src/mesa/main/texenvprogram.c
+++ b/src/mesa/main/texenvprogram.c
@@ -275,6 +275,7 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx )
{
/* _NEW_PROGRAM */
const GLboolean vertexShader = (ctx->Shader.CurrentProgram &&
+ ctx->Shader.CurrentProgram->LinkStatus &&
ctx->Shader.CurrentProgram->VertexProgram);
const GLboolean vertexProgram = ctx->VertexProgram._Enabled;
GLbitfield fp_inputs = 0x0;
@@ -321,8 +322,10 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx )
/* Then look at what might be varying as a result of enabled
* arrays, etc:
*/
- if (varying_inputs & VERT_BIT_COLOR0) fp_inputs |= FRAG_BIT_COL0;
- if (varying_inputs & VERT_BIT_COLOR1) fp_inputs |= FRAG_BIT_COL1;
+ if (varying_inputs & VERT_BIT_COLOR0)
+ fp_inputs |= FRAG_BIT_COL0;
+ if (varying_inputs & VERT_BIT_COLOR1)
+ fp_inputs |= FRAG_BIT_COL1;
fp_inputs |= (((varying_inputs & VERT_BIT_TEX_ANY) >> VERT_ATTRIB_TEX0)
<< FRAG_ATTRIB_TEX0);
@@ -340,7 +343,7 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx )
if (vertexShader)
vprog = ctx->Shader.CurrentProgram->VertexProgram;
else
- vprog = ctx->VertexProgram._Current;
+ vprog = ctx->VertexProgram.Current;
vp_outputs = vprog->Base.OutputsWritten;
@@ -351,8 +354,10 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx )
if (ctx->Point.PointSprite)
vp_outputs |= FRAG_BITS_TEX_ANY;
- if (vp_outputs & (1 << VERT_RESULT_COL0)) fp_inputs |= FRAG_BIT_COL0;
- if (vp_outputs & (1 << VERT_RESULT_COL1)) fp_inputs |= FRAG_BIT_COL1;
+ if (vp_outputs & (1 << VERT_RESULT_COL0))
+ fp_inputs |= FRAG_BIT_COL0;
+ if (vp_outputs & (1 << VERT_RESULT_COL1))
+ fp_inputs |= FRAG_BIT_COL1;
fp_inputs |= (((vp_outputs & VERT_RESULT_TEX_ANY) >> VERT_RESULT_TEX0)
<< FRAG_ATTRIB_TEX0);
diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c
index 02409d80098..14d6fc76590 100644
--- a/src/mesa/main/texgetimage.c
+++ b/src/mesa/main/texgetimage.c
@@ -30,11 +30,14 @@
#include "glheader.h"
+#include "bufferobj.h"
#include "context.h"
#include "image.h"
#include "texcompress.h"
#include "texformat.h"
#include "texgetimage.h"
+#include "teximage.h"
+#include "texstate.h"
@@ -116,7 +119,7 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level,
{
const GLuint dimensions = (target == GL_TEXTURE_3D) ? 3 : 2;
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* Packing texture image into a PBO.
* Map the (potentially) VRAM-based buffer into our process space so
* we can write into it with the code below.
@@ -296,7 +299,7 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level,
} /* img */
}
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
ctx->Pack.BufferObj);
}
@@ -316,7 +319,7 @@ _mesa_get_compressed_teximage(GLcontext *ctx, GLenum target, GLint level,
{
GLuint size;
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
/* pack texture image into a PBO */
GLubyte *buf;
if ((const GLubyte *) img + texImage->CompressedSize >
@@ -349,8 +352,230 @@ _mesa_get_compressed_teximage(GLcontext *ctx, GLenum target, GLint level,
/* just memcpy, no pixelstore or pixel transfer */
_mesa_memcpy(img, texImage->Data, size);
- if (ctx->Pack.BufferObj->Name) {
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_PACK_BUFFER_EXT,
ctx->Pack.BufferObj);
}
}
+
+
+
+/**
+ * Do error checking for a glGetTexImage() call.
+ * \return GL_TRUE if any error, GL_FALSE if no errors.
+ */
+static GLboolean
+getteximage_error_check(GLcontext *ctx, GLenum target, GLint level,
+ GLenum format, GLenum type, GLvoid *pixels )
+{
+ const struct gl_texture_unit *texUnit;
+ struct gl_texture_object *texObj;
+ struct gl_texture_image *texImage;
+ const GLuint maxLevels = _mesa_max_texture_levels(ctx, target);
+
+ if (maxLevels == 0) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(target=0x%x)", target);
+ return GL_TRUE;
+ }
+
+ if (level < 0 || level >= maxLevels) {
+ _mesa_error( ctx, GL_INVALID_VALUE, "glGetTexImage(level)" );
+ return GL_TRUE;
+ }
+
+ if (_mesa_sizeof_packed_type(type) <= 0) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glGetTexImage(type)" );
+ return GL_TRUE;
+ }
+
+ if (_mesa_components_in_format(format) <= 0 ||
+ format == GL_STENCIL_INDEX) {
+ _mesa_error( ctx, GL_INVALID_ENUM, "glGetTexImage(format)" );
+ return GL_TRUE;
+ }
+
+ if (!ctx->Extensions.EXT_paletted_texture && _mesa_is_index_format(format)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
+ return GL_TRUE;
+ }
+
+ if (!ctx->Extensions.ARB_depth_texture && _mesa_is_depth_format(format)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
+ return GL_TRUE;
+ }
+
+ if (!ctx->Extensions.MESA_ycbcr_texture && _mesa_is_ycbcr_format(format)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
+ return GL_TRUE;
+ }
+
+ if (!ctx->Extensions.EXT_packed_depth_stencil
+ && _mesa_is_depthstencil_format(format)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
+ return GL_TRUE;
+ }
+
+ if (!ctx->Extensions.ATI_envmap_bumpmap
+ && _mesa_is_dudv_format(format)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
+ return GL_TRUE;
+ }
+
+ texUnit = _mesa_get_current_tex_unit(ctx);
+ texObj = _mesa_select_tex_object(ctx, texUnit, target);
+
+ if (!texObj || _mesa_is_proxy_texture(target)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(target)");
+ return GL_TRUE;
+ }
+
+ texImage = _mesa_select_tex_image(ctx, texObj, target, level);
+ if (!texImage) {
+ /* out of memory */
+ return GL_TRUE;
+ }
+
+ /* Make sure the requested image format is compatible with the
+ * texture's format. Note that a color index texture can be converted
+ * to RGBA so that combo is allowed.
+ */
+ if (_mesa_is_color_format(format)
+ && !_mesa_is_color_format(texImage->TexFormat->BaseFormat)
+ && !_mesa_is_index_format(texImage->TexFormat->BaseFormat)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
+ return GL_TRUE;
+ }
+ else if (_mesa_is_index_format(format)
+ && !_mesa_is_index_format(texImage->TexFormat->BaseFormat)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
+ return GL_TRUE;
+ }
+ else if (_mesa_is_depth_format(format)
+ && !_mesa_is_depth_format(texImage->TexFormat->BaseFormat)
+ && !_mesa_is_depthstencil_format(texImage->TexFormat->BaseFormat)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
+ return GL_TRUE;
+ }
+ else if (_mesa_is_ycbcr_format(format)
+ && !_mesa_is_ycbcr_format(texImage->TexFormat->BaseFormat)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
+ return GL_TRUE;
+ }
+ else if (_mesa_is_depthstencil_format(format)
+ && !_mesa_is_depthstencil_format(texImage->TexFormat->BaseFormat)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
+ return GL_TRUE;
+ }
+ else if (_mesa_is_dudv_format(format)
+ && !_mesa_is_dudv_format(texImage->TexFormat->BaseFormat)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
+ return GL_TRUE;
+ }
+
+ if (_mesa_is_bufferobj(ctx->Pack.BufferObj)) {
+ /* packing texture image into a PBO */
+ const GLuint dimensions = (target == GL_TEXTURE_3D) ? 3 : 2;
+ if (!_mesa_validate_pbo_access(dimensions, &ctx->Pack, texImage->Width,
+ texImage->Height, texImage->Depth,
+ format, type, pixels)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glGetTexImage(invalid PBO access)");
+ return GL_TRUE;
+ }
+ }
+
+ return GL_FALSE;
+}
+
+
+
+/**
+ * Get texture image. Called by glGetTexImage.
+ *
+ * \param target texture target.
+ * \param level image level.
+ * \param format pixel data format for returned image.
+ * \param type pixel data type for returned image.
+ * \param pixels returned pixel data.
+ */
+void GLAPIENTRY
+_mesa_GetTexImage( GLenum target, GLint level, GLenum format,
+ GLenum type, GLvoid *pixels )
+{
+ const struct gl_texture_unit *texUnit;
+ struct gl_texture_object *texObj;
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
+
+ if (getteximage_error_check(ctx, target, level, format, type, pixels)) {
+ return;
+ }
+
+ texUnit = _mesa_get_current_tex_unit(ctx);
+ texObj = _mesa_select_tex_object(ctx, texUnit, target);
+
+ _mesa_lock_texture(ctx, texObj);
+ {
+ struct gl_texture_image *texImage =
+ _mesa_select_tex_image(ctx, texObj, target, level);
+
+ /* typically, this will call _mesa_get_teximage() */
+ ctx->Driver.GetTexImage(ctx, target, level, format, type, pixels,
+ texObj, texImage);
+ }
+ _mesa_unlock_texture(ctx, texObj);
+}
+
+
+void GLAPIENTRY
+_mesa_GetCompressedTexImageARB(GLenum target, GLint level, GLvoid *img)
+{
+ const struct gl_texture_unit *texUnit;
+ struct gl_texture_object *texObj;
+ struct gl_texture_image *texImage;
+ GLint maxLevels;
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
+
+ texUnit = _mesa_get_current_tex_unit(ctx);
+ texObj = _mesa_select_tex_object(ctx, texUnit, target);
+ if (!texObj) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetCompressedTexImageARB");
+ return;
+ }
+
+ maxLevels = _mesa_max_texture_levels(ctx, target);
+ ASSERT(maxLevels > 0); /* 0 indicates bad target, caught above */
+
+ if (level < 0 || level >= maxLevels) {
+ _mesa_error(ctx, GL_INVALID_VALUE, "glGetCompressedTexImageARB(level)");
+ return;
+ }
+
+ if (_mesa_is_proxy_texture(target)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glGetCompressedTexImageARB(target)");
+ return;
+ }
+
+ _mesa_lock_texture(ctx, texObj);
+ {
+ texImage = _mesa_select_tex_image(ctx, texObj, target, level);
+ if (texImage) {
+ if (texImage->IsCompressed) {
+ /* this typically calls _mesa_get_compressed_teximage() */
+ ctx->Driver.GetCompressedTexImage(ctx, target, level, img,
+ texObj, texImage);
+ }
+ else {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glGetCompressedTexImageARB");
+ }
+ }
+ else {
+ /* probably invalid mipmap level */
+ _mesa_error(ctx, GL_INVALID_VALUE,
+ "glGetCompressedTexImageARB(level)");
+ }
+ }
+ _mesa_unlock_texture(ctx, texObj);
+}
diff --git a/src/mesa/main/texgetimage.h b/src/mesa/main/texgetimage.h
index 01f486e8f02..088d27c7e17 100644
--- a/src/mesa/main/texgetimage.h
+++ b/src/mesa/main/texgetimage.h
@@ -43,4 +43,13 @@ _mesa_get_compressed_teximage(GLcontext *ctx, GLenum target, GLint level,
+extern void GLAPIENTRY
+_mesa_GetTexImage( GLenum target, GLint level,
+ GLenum format, GLenum type, GLvoid *pixels );
+
+
+extern void GLAPIENTRY
+_mesa_GetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img);
+
+
#endif /* TEXGETIMAGE_H */
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 6e21066537b..82283030409 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -1,6 +1,6 @@
/*
* 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.
@@ -182,6 +182,8 @@ logbase2( int n )
*
* This is the format which is used during texture application (i.e. the
* texture format and env mode determine the arithmetic used.
+ *
+ * XXX this could be static
*/
GLint
_mesa_base_tex_format( GLcontext *ctx, GLint internalFormat )
@@ -415,211 +417,6 @@ _mesa_base_tex_format( GLcontext *ctx, GLint internalFormat )
/**
- * Test if the given image format is a color/RGBA format (i.e., not color
- * index, depth, stencil, etc).
- * \param format the image format value (may by an internal texture format)
- * \return GL_TRUE if its a color/RGBA format, GL_FALSE otherwise.
- * XXX maybe move this func to image.c
- */
-GLboolean
-_mesa_is_color_format(GLenum format)
-{
- switch (format) {
- case GL_RED:
- case GL_GREEN:
- case GL_BLUE:
- case GL_ALPHA:
- case GL_ALPHA4:
- case GL_ALPHA8:
- case GL_ALPHA12:
- case GL_ALPHA16:
- case 1:
- case GL_LUMINANCE:
- case GL_LUMINANCE4:
- case GL_LUMINANCE8:
- case GL_LUMINANCE12:
- case GL_LUMINANCE16:
- case 2:
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE4_ALPHA4:
- case GL_LUMINANCE6_ALPHA2:
- case GL_LUMINANCE8_ALPHA8:
- case GL_LUMINANCE12_ALPHA4:
- case GL_LUMINANCE12_ALPHA12:
- case GL_LUMINANCE16_ALPHA16:
- case GL_INTENSITY:
- case GL_INTENSITY4:
- case GL_INTENSITY8:
- case GL_INTENSITY12:
- case GL_INTENSITY16:
- case 3:
- case GL_RGB:
- case GL_BGR:
- case GL_R3_G3_B2:
- case GL_RGB4:
- case GL_RGB5:
- case GL_RGB8:
- case GL_RGB10:
- case GL_RGB12:
- case GL_RGB16:
- case 4:
- case GL_ABGR_EXT:
- case GL_RGBA:
- case GL_BGRA:
- case GL_RGBA2:
- case GL_RGBA4:
- case GL_RGB5_A1:
- case GL_RGBA8:
- case GL_RGB10_A2:
- case GL_RGBA12:
- case GL_RGBA16:
- /* float texture formats */
- case GL_ALPHA16F_ARB:
- case GL_ALPHA32F_ARB:
- case GL_LUMINANCE16F_ARB:
- case GL_LUMINANCE32F_ARB:
- case GL_LUMINANCE_ALPHA16F_ARB:
- case GL_LUMINANCE_ALPHA32F_ARB:
- case GL_INTENSITY16F_ARB:
- case GL_INTENSITY32F_ARB:
- case GL_RGB16F_ARB:
- case GL_RGB32F_ARB:
- case GL_RGBA16F_ARB:
- case GL_RGBA32F_ARB:
- /* compressed formats */
- case GL_COMPRESSED_ALPHA:
- case GL_COMPRESSED_LUMINANCE:
- case GL_COMPRESSED_LUMINANCE_ALPHA:
- case GL_COMPRESSED_INTENSITY:
- case GL_COMPRESSED_RGB:
- case GL_COMPRESSED_RGBA:
- case GL_RGB_S3TC:
- case GL_RGB4_S3TC:
- case GL_RGBA_S3TC:
- case GL_RGBA4_S3TC:
- case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
- case GL_COMPRESSED_RGBA_S3TC_DXT1_EXT:
- case GL_COMPRESSED_RGBA_S3TC_DXT3_EXT:
- case GL_COMPRESSED_RGBA_S3TC_DXT5_EXT:
- case GL_COMPRESSED_RGB_FXT1_3DFX:
- case GL_COMPRESSED_RGBA_FXT1_3DFX:
-#if FEATURE_EXT_texture_sRGB
- case GL_SRGB_EXT:
- case GL_SRGB8_EXT:
- case GL_SRGB_ALPHA_EXT:
- case GL_SRGB8_ALPHA8_EXT:
- case GL_SLUMINANCE_ALPHA_EXT:
- case GL_SLUMINANCE8_ALPHA8_EXT:
- case GL_SLUMINANCE_EXT:
- case GL_SLUMINANCE8_EXT:
- case GL_COMPRESSED_SRGB_EXT:
- case GL_COMPRESSED_SRGB_S3TC_DXT1_EXT:
- case GL_COMPRESSED_SRGB_ALPHA_EXT:
- case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:
- case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:
- case GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:
- case GL_COMPRESSED_SLUMINANCE_EXT:
- case GL_COMPRESSED_SLUMINANCE_ALPHA_EXT:
-#endif /* FEATURE_EXT_texture_sRGB */
- return GL_TRUE;
- /* signed texture formats */
- case GL_RGBA_SNORM:
- case GL_RGBA8_SNORM:
- return GL_TRUE;
- case GL_YCBCR_MESA: /* not considered to be RGB */
- /* fall-through */
- default:
- return GL_FALSE;
- }
-}
-
-
-/**
- * Test if the given image format is a color index format.
- */
-static GLboolean
-is_index_format(GLenum format)
-{
- switch (format) {
- case GL_COLOR_INDEX:
- case GL_COLOR_INDEX1_EXT:
- case GL_COLOR_INDEX2_EXT:
- case GL_COLOR_INDEX4_EXT:
- case GL_COLOR_INDEX8_EXT:
- case GL_COLOR_INDEX12_EXT:
- case GL_COLOR_INDEX16_EXT:
- return GL_TRUE;
- default:
- return GL_FALSE;
- }
-}
-
-
-/**
- * Test if the given image format is a depth component format.
- */
-static GLboolean
-is_depth_format(GLenum format)
-{
- switch (format) {
- case GL_DEPTH_COMPONENT16:
- case GL_DEPTH_COMPONENT24:
- case GL_DEPTH_COMPONENT32:
- case GL_DEPTH_COMPONENT:
- return GL_TRUE;
- default:
- return GL_FALSE;
- }
-}
-
-
-/**
- * Test if the given image format is a YCbCr format.
- */
-static GLboolean
-is_ycbcr_format(GLenum format)
-{
- switch (format) {
- case GL_YCBCR_MESA:
- return GL_TRUE;
- default:
- return GL_FALSE;
- }
-}
-
-
-/**
- * Test if the given image format is a Depth/Stencil format.
- */
-static GLboolean
-is_depthstencil_format(GLenum format)
-{
- switch (format) {
- case GL_DEPTH24_STENCIL8_EXT:
- case GL_DEPTH_STENCIL_EXT:
- return GL_TRUE;
- default:
- return GL_FALSE;
- }
-}
-
-/**
- * Test if the given image format is a dudv format.
- */
-static GLboolean
-is_dudv_format(GLenum format)
-{
- switch (format) {
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- return GL_TRUE;
- default:
- return GL_FALSE;
- }
-}
-
-
-/**
* Test if it is a supported compressed format.
*
* \param internalFormat the internal format token provided by the user.
@@ -679,37 +476,14 @@ _mesa_set_tex_image(struct gl_texture_object *tObj,
GLenum target, GLint level,
struct gl_texture_image *texImage)
{
+ const GLuint face = _mesa_tex_target_to_face(target);
+
ASSERT(tObj);
ASSERT(texImage);
- /* XXX simplify this with _mesa_tex_target_to_face() */
- switch (target) {
- case GL_TEXTURE_1D:
- case GL_TEXTURE_2D:
- case GL_TEXTURE_3D:
- case GL_TEXTURE_1D_ARRAY_EXT:
- case GL_TEXTURE_2D_ARRAY_EXT:
- tObj->Image[0][level] = texImage;
- break;
- case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
- {
- GLuint face = ((GLuint) target -
- (GLuint) GL_TEXTURE_CUBE_MAP_POSITIVE_X);
- tObj->Image[face][level] = texImage;
- }
- break;
- case GL_TEXTURE_RECTANGLE_NV:
- ASSERT(level == 0);
- tObj->Image[0][level] = texImage;
- break;
- default:
- _mesa_problem(NULL, "bad target in _mesa_set_tex_image()");
- return;
- }
+ ASSERT(target != GL_TEXTURE_RECTANGLE_NV || level == 0);
+
+ tObj->Image[face][level] = texImage;
+
/* Set the 'back' pointer */
texImage->TexObject = tObj;
}
@@ -788,6 +562,9 @@ _mesa_delete_texture_image( GLcontext *ctx, struct gl_texture_image *texImage )
GLboolean
_mesa_is_proxy_texture(GLenum target)
{
+ /* NUM_TEXTURE_TARGETS should match number of terms below */
+ assert(NUM_TEXTURE_TARGETS == 7);
+
return (target == GL_PROXY_TEXTURE_1D ||
target == GL_PROXY_TEXTURE_2D ||
target == GL_PROXY_TEXTURE_3D ||
@@ -864,74 +641,28 @@ _mesa_select_tex_object(GLcontext *ctx, const struct gl_texture_unit *texUnit,
/**
- * Get the texture image struct which corresponds to target and level
- * of the given texture unit.
+ * Get a texture image pointer from a texture object, given a texture
+ * target and mipmap level. The target and level parameters should
+ * have already been error-checked.
*
* \param ctx GL context.
* \param texObj texture unit.
* \param target texture target.
* \param level image level.
*
- * \return pointer to the texture image structure on success, or NULL on failure.
- *
- * \sa gl_texture_unit.
+ * \return pointer to the texture image structure, or NULL on failure.
*/
struct gl_texture_image *
_mesa_select_tex_image(GLcontext *ctx, const struct gl_texture_object *texObj,
GLenum target, GLint level)
{
- ASSERT(texObj);
-
- if (level < 0 || level >= MAX_TEXTURE_LEVELS)
- return NULL;
-
- /* XXX simplify this with _mesa_tex_target_to_face() */
- switch (target) {
- case GL_TEXTURE_1D:
- case GL_PROXY_TEXTURE_1D:
- case GL_TEXTURE_2D:
- case GL_PROXY_TEXTURE_2D:
- case GL_TEXTURE_3D:
- case GL_PROXY_TEXTURE_3D:
- return texObj->Image[0][level];
-
- case GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
- if (ctx->Extensions.ARB_texture_cube_map) {
- GLuint face = ((GLuint) target -
- (GLuint) GL_TEXTURE_CUBE_MAP_POSITIVE_X);
- return texObj->Image[face][level];
- }
- else
- return NULL;
-
- case GL_PROXY_TEXTURE_CUBE_MAP_ARB:
- if (ctx->Extensions.ARB_texture_cube_map)
- return texObj->Image[0][level];
- else
- return NULL;
-
- case GL_TEXTURE_RECTANGLE_NV:
- case GL_PROXY_TEXTURE_RECTANGLE_NV:
- if (ctx->Extensions.NV_texture_rectangle && level == 0)
- return texObj->Image[0][level];
- else
- return NULL;
+ const GLuint face = _mesa_tex_target_to_face(target);
- case GL_TEXTURE_1D_ARRAY_EXT:
- case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
- case GL_TEXTURE_2D_ARRAY_EXT:
- case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
- return (ctx->Extensions.MESA_texture_array)
- ? texObj->Image[0][level] : NULL;
+ ASSERT(texObj);
+ ASSERT(level >= 0);
+ ASSERT(level < MAX_TEXTURE_LEVELS);
- default:
- return NULL;
- }
+ return texObj->Image[face][level];
}
@@ -1053,10 +784,6 @@ _mesa_max_texture_levels(GLcontext *ctx, GLenum target)
case GL_PROXY_TEXTURE_1D:
case GL_TEXTURE_2D:
case GL_PROXY_TEXTURE_2D:
- case GL_TEXTURE_1D_ARRAY_EXT:
- case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
- case GL_TEXTURE_2D_ARRAY_EXT:
- case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
return ctx->Const.MaxTextureLevels;
case GL_TEXTURE_3D:
case GL_PROXY_TEXTURE_3D:
@@ -1069,10 +796,17 @@ _mesa_max_texture_levels(GLcontext *ctx, GLenum target)
case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB:
case GL_TEXTURE_CUBE_MAP_ARB:
case GL_PROXY_TEXTURE_CUBE_MAP_ARB:
- return ctx->Const.MaxCubeTextureLevels;
+ return ctx->Extensions.ARB_texture_cube_map
+ ? ctx->Const.MaxCubeTextureLevels : 0;
case GL_TEXTURE_RECTANGLE_NV:
case GL_PROXY_TEXTURE_RECTANGLE_NV:
- return 1;
+ return ctx->Extensions.NV_texture_rectangle ? 1 : 0;
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+ return ctx->Extensions.MESA_texture_array
+ ? ctx->Const.MaxTextureLevels : 0;
default:
return 0; /* bad target */
}
@@ -1273,6 +1007,23 @@ _mesa_init_teximage_fields(GLcontext *ctx, GLenum target,
/**
+ * Free and clear fields of the gl_texture_image struct.
+ *
+ * \param ctx GL context.
+ * \param texImage texture image structure to be cleared.
+ *
+ * After the call, \p texImage will have no data associated with it. Its
+ * fields are cleared so that its parent object will test incomplete.
+ */
+void
+_mesa_clear_texture_image(GLcontext *ctx, struct gl_texture_image *texImage)
+{
+ ctx->Driver.FreeTexImageData(ctx, texImage);
+ clear_teximage_fields(texImage);
+}
+
+
+/**
* This is the fallback for Driver.TestProxyTexImage(). Test the texture
* level, width, height and depth against the ctx->Const limits for textures.
*
@@ -1586,13 +1337,13 @@ texture_error_check( GLcontext *ctx, GLenum target,
/* make sure internal format and format basically agree */
colorFormat = _mesa_is_color_format(format);
- indexFormat = is_index_format(format);
+ indexFormat = _mesa_is_index_format(format);
if ((_mesa_is_color_format(internalFormat) && !colorFormat && !indexFormat) ||
- (is_index_format(internalFormat) && !indexFormat) ||
- (is_depth_format(internalFormat) != is_depth_format(format)) ||
- (is_ycbcr_format(internalFormat) != is_ycbcr_format(format)) ||
- (is_depthstencil_format(internalFormat) != is_depthstencil_format(format)) ||
- (is_dudv_format(internalFormat) != is_dudv_format(format))) {
+ (_mesa_is_index_format(internalFormat) && !indexFormat) ||
+ (_mesa_is_depth_format(internalFormat) != _mesa_is_depth_format(format)) ||
+ (_mesa_is_ycbcr_format(internalFormat) != _mesa_is_ycbcr_format(format)) ||
+ (_mesa_is_depthstencil_format(internalFormat) != _mesa_is_depthstencil_format(format)) ||
+ (_mesa_is_dudv_format(internalFormat) != _mesa_is_dudv_format(format))) {
if (!isProxy)
_mesa_error(ctx, GL_INVALID_OPERATION,
"glTexImage%dD(incompatible internalFormat 0x%x, format 0x%x)",
@@ -1926,14 +1677,14 @@ copytexture_error_check( GLcontext *ctx, GLuint dimensions,
return GL_TRUE;
}
- /* NOTE: the format and type aren't really significant for
- * TestProxyTexImage(). Only the internalformat really matters.
if (!_mesa_source_buffer_exists(ctx, format)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glCopyTexImage%dD(missing readbuffer)", dimensions);
return GL_TRUE;
}
+ /* NOTE: the format and type aren't really significant for
+ * TestProxyTexImage(). Only the internalformat really matters.
*/
type = GL_FLOAT;
@@ -2027,7 +1778,7 @@ copytexture_error_check( GLcontext *ctx, GLuint dimensions,
return GL_TRUE;
}
}
- else if (is_depth_format(internalFormat)) {
+ else if (_mesa_is_depth_format(internalFormat)) {
/* make sure we have depth/stencil buffers */
if (!ctx->ReadBuffer->_DepthBuffer) {
_mesa_error(ctx, GL_INVALID_OPERATION,
@@ -2035,7 +1786,7 @@ copytexture_error_check( GLcontext *ctx, GLuint dimensions,
return GL_TRUE;
}
}
- else if (is_depthstencil_format(internalFormat)) {
+ else if (_mesa_is_depthstencil_format(internalFormat)) {
/* make sure we have depth/stencil buffers */
if (!ctx->ReadBuffer->_DepthBuffer || !ctx->ReadBuffer->_StencilBuffer) {
_mesa_error(ctx, GL_INVALID_OPERATION,
@@ -2260,147 +2011,6 @@ copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions,
}
-/**
- * Get texture image. Called by glGetTexImage.
- *
- * \param target texture target.
- * \param level image level.
- * \param format pixel data format for returned image.
- * \param type pixel data type for returned image.
- * \param pixels returned pixel data.
- */
-void GLAPIENTRY
-_mesa_GetTexImage( GLenum target, GLint level, GLenum format,
- GLenum type, GLvoid *pixels )
-{
- const struct gl_texture_unit *texUnit;
- struct gl_texture_object *texObj;
- struct gl_texture_image *texImage;
- GLint maxLevels = 0;
- GET_CURRENT_CONTEXT(ctx);
- ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
-
- texUnit = &(ctx->Texture.Unit[ctx->Texture.CurrentUnit]);
- texObj = _mesa_select_tex_object(ctx, texUnit, target);
- if (!texObj || _mesa_is_proxy_texture(target)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(target)");
- return;
- }
-
- maxLevels = _mesa_max_texture_levels(ctx, target);
- ASSERT(maxLevels > 0); /* 0 indicates bad target, caught above */
-
- if (level < 0 || level >= maxLevels) {
- _mesa_error( ctx, GL_INVALID_VALUE, "glGetTexImage(level)" );
- return;
- }
-
- if (_mesa_sizeof_packed_type(type) <= 0) {
- _mesa_error( ctx, GL_INVALID_ENUM, "glGetTexImage(type)" );
- return;
- }
-
- if (_mesa_components_in_format(format) <= 0 ||
- format == GL_STENCIL_INDEX) {
- _mesa_error( ctx, GL_INVALID_ENUM, "glGetTexImage(format)" );
- return;
- }
-
- if (!ctx->Extensions.EXT_paletted_texture && is_index_format(format)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
- return;
- }
-
- if (!ctx->Extensions.ARB_depth_texture && is_depth_format(format)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
- return;
- }
-
- if (!ctx->Extensions.MESA_ycbcr_texture && is_ycbcr_format(format)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
- return;
- }
-
- if (!ctx->Extensions.EXT_packed_depth_stencil
- && is_depthstencil_format(format)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
- return;
- }
-
- if (!ctx->Extensions.ATI_envmap_bumpmap
- && is_dudv_format(format)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexImage(format)");
- return;
- }
-
- _mesa_lock_texture(ctx, texObj);
- {
- texImage = _mesa_select_tex_image(ctx, texObj, target, level);
- if (!texImage) {
- /* invalid mipmap level, not an error */
- goto out;
- }
-
-
- /* Make sure the requested image format is compatible with the
- * texture's format. Note that a color index texture can be converted
- * to RGBA so that combo is allowed.
- */
- if (_mesa_is_color_format(format)
- && !_mesa_is_color_format(texImage->TexFormat->BaseFormat)
- && !is_index_format(texImage->TexFormat->BaseFormat)) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
- goto out;
- }
- else if (is_index_format(format)
- && !is_index_format(texImage->TexFormat->BaseFormat)) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
- goto out;
- }
- else if (is_depth_format(format)
- && !is_depth_format(texImage->TexFormat->BaseFormat)
- && !is_depthstencil_format(texImage->TexFormat->BaseFormat)) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
- goto out;
- }
- else if (is_ycbcr_format(format)
- && !is_ycbcr_format(texImage->TexFormat->BaseFormat)) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
- goto out;
- }
- else if (is_depthstencil_format(format)
- && !is_depthstencil_format(texImage->TexFormat->BaseFormat)) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
- goto out;
- }
- else if (is_dudv_format(format)
- && !is_dudv_format(texImage->TexFormat->BaseFormat)) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glGetTexImage(format mismatch)");
- goto out;
- }
-
- if (ctx->Pack.BufferObj->Name) {
- /* packing texture image into a PBO */
- const GLuint dimensions = (target == GL_TEXTURE_3D) ? 3 : 2;
- if (!_mesa_validate_pbo_access(dimensions, &ctx->Pack, texImage->Width,
- texImage->Height, texImage->Depth,
- format, type, pixels)) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glGetTexImage(invalid PBO access)");
- goto out;
- }
- }
-
- /* typically, this will call _mesa_get_teximage() */
- ctx->Driver.GetTexImage(ctx, target, level, format, type, pixels,
- texObj, texImage);
-
- }
- out:
- _mesa_unlock_texture(ctx, texObj);
-}
-
-
/** Callback info for walking over FBO hash table */
struct cb_info
{
@@ -2544,7 +2154,7 @@ _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat,
if (ctx->NewState & _MESA_NEW_TRANSFER_STATE)
_mesa_update_state(ctx);
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -2652,7 +2262,7 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
if (ctx->NewState & _MESA_NEW_TRANSFER_STATE)
_mesa_update_state(ctx);
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -2755,7 +2365,7 @@ _mesa_TexImage3D( GLenum target, GLint level, GLint internalFormat,
if (ctx->NewState & _MESA_NEW_TRANSFER_STATE)
_mesa_update_state(ctx);
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -2861,7 +2471,7 @@ _mesa_TexSubImage1D( GLenum target, GLint level,
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
assert(texObj);
@@ -2921,7 +2531,7 @@ _mesa_TexSubImage2D( GLenum target, GLint level,
return; /* error was detected */
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -2973,7 +2583,7 @@ _mesa_TexSubImage3D( GLenum target, GLint level,
return; /* error was detected */
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
@@ -3034,7 +2644,7 @@ _mesa_CopyTexImage1D( GLenum target, GLint level,
postConvWidth, 1, border))
return;
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -3100,7 +2710,7 @@ _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat,
postConvWidth, postConvHeight, border))
return;
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
@@ -3160,7 +2770,7 @@ _mesa_CopyTexSubImage1D( GLenum target, GLint level,
if (copytexsubimage_error_check1(ctx, 1, target, level))
return;
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
@@ -3215,7 +2825,7 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level,
if (copytexsubimage_error_check1(ctx, 2, target, level))
return;
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
@@ -3270,7 +2880,7 @@ _mesa_CopyTexSubImage3D( GLenum target, GLint level,
if (copytexsubimage_error_check1(ctx, 3, target, level))
return;
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
@@ -3524,7 +3134,7 @@ _mesa_CompressedTexImage1DARB(GLenum target, GLint level,
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
@@ -3578,7 +3188,7 @@ _mesa_CompressedTexImage1DARB(GLenum target, GLint level,
struct gl_texture_unit *texUnit;
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
@@ -3621,7 +3231,7 @@ _mesa_CompressedTexImage2DARB(GLenum target, GLint level,
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
@@ -3677,7 +3287,7 @@ _mesa_CompressedTexImage2DARB(GLenum target, GLint level,
struct gl_texture_unit *texUnit;
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
@@ -3717,7 +3327,7 @@ _mesa_CompressedTexImage3DARB(GLenum target, GLint level,
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -3771,7 +3381,7 @@ _mesa_CompressedTexImage3DARB(GLenum target, GLint level,
struct gl_texture_unit *texUnit;
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -3810,7 +3420,7 @@ _mesa_CompressedTexSubImage1DARB(GLenum target, GLint level, GLint xoffset,
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -3867,7 +3477,7 @@ _mesa_CompressedTexSubImage2DARB(GLenum target, GLint level, GLint xoffset,
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -3924,7 +3534,7 @@ _mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset,
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
texObj = _mesa_select_tex_object(ctx, texUnit, target);
_mesa_lock_texture(ctx, texObj);
{
@@ -3961,55 +3571,3 @@ _mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset,
}
-void GLAPIENTRY
-_mesa_GetCompressedTexImageARB(GLenum target, GLint level, GLvoid *img)
-{
- const struct gl_texture_unit *texUnit;
- struct gl_texture_object *texObj;
- struct gl_texture_image *texImage;
- GLint maxLevels;
- GET_CURRENT_CONTEXT(ctx);
- ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
-
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
- texObj = _mesa_select_tex_object(ctx, texUnit, target);
- if (!texObj) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetCompressedTexImageARB");
- return;
- }
-
- maxLevels = _mesa_max_texture_levels(ctx, target);
- ASSERT(maxLevels > 0); /* 0 indicates bad target, caught above */
-
- if (level < 0 || level >= maxLevels) {
- _mesa_error(ctx, GL_INVALID_VALUE, "glGetCompressedTexImageARB(level)");
- return;
- }
-
- if (_mesa_is_proxy_texture(target)) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetCompressedTexImageARB(target)");
- return;
- }
-
- _mesa_lock_texture(ctx, texObj);
- {
- texImage = _mesa_select_tex_image(ctx, texObj, target, level);
- if (texImage) {
- if (texImage->IsCompressed) {
- /* this typically calls _mesa_get_compressed_teximage() */
- ctx->Driver.GetCompressedTexImage(ctx, target, level, img,
- texObj, texImage);
- }
- else {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glGetCompressedTexImageARB");
- }
- }
- else {
- /* probably invalid mipmap level */
- _mesa_error(ctx, GL_INVALID_VALUE,
- "glGetCompressedTexImageARB(level)");
- }
- }
- _mesa_unlock_texture(ctx, texObj);
-}
diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h
index eb60a1fa8fa..094177da79d 100644
--- a/src/mesa/main/teximage.h
+++ b/src/mesa/main/teximage.h
@@ -73,6 +73,10 @@ _mesa_init_teximage_fields(GLcontext *ctx, GLenum target,
extern void
+_mesa_clear_texture_image(GLcontext *ctx, struct gl_texture_image *texImage);
+
+
+extern void
_mesa_set_tex_image(struct gl_texture_object *tObj,
GLenum target, GLint level,
struct gl_texture_image *texImage);
@@ -111,10 +115,6 @@ extern GLuint
_mesa_tex_target_to_face(GLenum target);
-extern GLboolean
-_mesa_is_color_format(GLenum format);
-
-
/**
* Lock a texture for updating. See also _mesa_lock_context_textures().
*/
@@ -164,11 +164,6 @@ _mesa_TexImage3DEXT( GLenum target, GLint level, GLenum internalformat,
extern void GLAPIENTRY
-_mesa_GetTexImage( GLenum target, GLint level,
- GLenum format, GLenum type, GLvoid *pixels );
-
-
-extern void GLAPIENTRY
_mesa_TexSubImage1D( GLenum target, GLint level, GLint xoffset,
GLsizei width,
GLenum format, GLenum type,
@@ -260,9 +255,6 @@ _mesa_CompressedTexSubImage3DARB(GLenum target, GLint level, GLint xoffset,
GLsizei height, GLsizei depth, GLenum format,
GLsizei imageSize, const GLvoid *data);
-extern void GLAPIENTRY
-_mesa_GetCompressedTexImageARB(GLenum target, GLint lod, GLvoid *img);
-
/*@}*/
#endif
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 2082f945f18..d09c4392506 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -261,6 +261,32 @@ _mesa_copy_texture_object( struct gl_texture_object *dest,
/**
+ * Clear all texture images of the given texture object.
+ *
+ * \param ctx GL context.
+ * \param t texture object.
+ *
+ * \sa _mesa_clear_texture_image().
+ */
+void
+_mesa_clear_texture_object(GLcontext *ctx, struct gl_texture_object *texObj)
+{
+ GLuint i, j;
+
+ if (texObj->Target == 0)
+ return;
+
+ for (i = 0; i < MAX_FACES; i++) {
+ for (j = 0; j < MAX_TEXTURE_LEVELS; j++) {
+ struct gl_texture_image *texImage = texObj->Image[i][j];
+ if (texImage)
+ _mesa_clear_texture_image(ctx, texImage);
+ }
+ }
+}
+
+
+/**
* Check if the given texture object is valid by examining its Target field.
* For debugging only.
*/
@@ -308,7 +334,7 @@ _mesa_reference_texobj(struct gl_texture_object **ptr,
GLboolean deleteFlag = GL_FALSE;
struct gl_texture_object *oldTex = *ptr;
- assert(valid_texture_object(oldTex));
+ ASSERT(valid_texture_object(oldTex));
_glthread_LOCK_MUTEX(oldTex->Mutex);
ASSERT(oldTex->RefCount > 0);
@@ -331,7 +357,7 @@ _mesa_reference_texobj(struct gl_texture_object **ptr,
if (tex) {
/* reference new texture */
- assert(valid_texture_object(tex));
+ ASSERT(valid_texture_object(tex));
_glthread_LOCK_MUTEX(tex->Mutex);
if (tex->RefCount == 0) {
/* this texture's being deleted (look just above) */
@@ -665,6 +691,24 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
/**
+ * Mark a texture object dirty. It forces the object to be incomplete
+ * and optionally forces the context to re-validate its state.
+ *
+ * \param ctx GL context.
+ * \param texObj texture object.
+ * \param invalidate_state also invalidate context state.
+ */
+void
+_mesa_dirty_texobj(GLcontext *ctx, struct gl_texture_object *texObj,
+ GLboolean invalidate_state)
+{
+ texObj->_Complete = GL_FALSE;
+ if (invalidate_state)
+ ctx->NewState |= _NEW_TEXTURE;
+}
+
+
+/**
* 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
@@ -715,7 +759,6 @@ _mesa_get_fallback_texture(GLcontext *ctx)
}
-
/*@}*/
@@ -1160,10 +1203,9 @@ _mesa_IsTexture( GLuint texture )
/**
- * Simplest implementation of texture locking: Grab the a new mutex in
- * the shared context. Examine the shared context state timestamp and
- * if there has been a change, set the appropriate bits in
- * ctx->NewState.
+ * Simplest implementation of texture locking: grab the shared tex
+ * mutex. Examine the shared context state timestamp and if there has
+ * been a change, set the appropriate bits in ctx->NewState.
*
* This is used to deal with synchronizing things when a texture object
* is used/modified by different contexts (or threads) which are sharing
diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h
index 2599c0816a9..9bfebd45c81 100644
--- a/src/mesa/main/texobj.h
+++ b/src/mesa/main/texobj.h
@@ -58,6 +58,9 @@ _mesa_copy_texture_object( struct gl_texture_object *dest,
const struct gl_texture_object *src );
extern void
+_mesa_clear_texture_object(GLcontext *ctx, struct gl_texture_object *obj);
+
+extern void
_mesa_reference_texobj(struct gl_texture_object **ptr,
struct gl_texture_object *tex);
@@ -65,6 +68,10 @@ extern void
_mesa_test_texobj_completeness( const GLcontext *ctx,
struct gl_texture_object *obj );
+extern void
+_mesa_dirty_texobj(GLcontext *ctx, struct gl_texture_object *texObj,
+ GLboolean invalidate_state);
+
extern struct gl_texture_object *
_mesa_get_fallback_texture(GLcontext *ctx);
@@ -76,7 +83,6 @@ _mesa_lock_context_textures( GLcontext *ctx );
/*@}*/
-
/**
* \name API functions
*/
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index d27c59381c5..05d144270ec 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -38,6 +38,7 @@
#include "main/texcompress.h"
#include "main/texparam.h"
#include "main/teximage.h"
+#include "main/texstate.h"
#include "shader/prog_instruction.h"
@@ -88,7 +89,7 @@ get_texobj(GLcontext *ctx, GLenum target)
return NULL;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
switch (target) {
case GL_TEXTURE_1D:
@@ -716,44 +717,6 @@ _mesa_GetTexLevelParameterfv( GLenum target, GLint level,
}
-static GLuint
-tex_image_dimensions(GLcontext *ctx, GLenum target)
-{
- switch (target) {
- case GL_TEXTURE_1D:
- case GL_PROXY_TEXTURE_1D:
- return 1;
- case GL_TEXTURE_2D:
- case GL_PROXY_TEXTURE_2D:
- return 2;
- case GL_TEXTURE_3D:
- case GL_PROXY_TEXTURE_3D:
- return 3;
- case GL_TEXTURE_CUBE_MAP:
- case GL_PROXY_TEXTURE_CUBE_MAP:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_X:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_X:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Y:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Y:
- case GL_TEXTURE_CUBE_MAP_POSITIVE_Z:
- case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z:
- return ctx->Extensions.ARB_texture_cube_map ? 2 : 0;
- case GL_TEXTURE_RECTANGLE_NV:
- case GL_PROXY_TEXTURE_RECTANGLE_NV:
- return ctx->Extensions.NV_texture_rectangle ? 2 : 0;
- case GL_TEXTURE_1D_ARRAY_EXT:
- case GL_PROXY_TEXTURE_1D_ARRAY_EXT:
- return ctx->Extensions.MESA_texture_array ? 2 : 0;
- case GL_TEXTURE_2D_ARRAY_EXT:
- case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
- return ctx->Extensions.MESA_texture_array ? 3 : 0;
- default:
- _mesa_problem(ctx, "bad target in _mesa_tex_target_dimensions()");
- return 0;
- }
-}
-
-
void GLAPIENTRY
_mesa_GetTexLevelParameteriv( GLenum target, GLint level,
GLenum pname, GLint *params )
@@ -761,7 +724,6 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
const struct gl_texture_unit *texUnit;
struct gl_texture_object *texObj;
const struct gl_texture_image *img = NULL;
- GLuint dimensions;
GLboolean isProxy;
GLint maxLevels;
GET_CURRENT_CONTEXT(ctx);
@@ -773,19 +735,13 @@ _mesa_GetTexLevelParameteriv( GLenum target, GLint level,
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
/* this will catch bad target values */
- dimensions = tex_image_dimensions(ctx, target); /* 1, 2 or 3 */
- if (dimensions == 0) {
- _mesa_error(ctx, GL_INVALID_ENUM, "glGetTexLevelParameter[if]v(target)");
- return;
- }
-
maxLevels = _mesa_max_texture_levels(ctx, target);
if (maxLevels == 0) {
- /* should not happen since <target> was just checked above */
- _mesa_problem(ctx, "maxLevels=0 in _mesa_GetTexLevelParameter");
+ _mesa_error(ctx, GL_INVALID_ENUM,
+ "glGetTexLevelParameter[if]v(target=0x%x)", target);
return;
}
@@ -1002,7 +958,7 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params )
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
obj = _mesa_select_tex_object(ctx, texUnit, target);
if (!obj) {
@@ -1169,7 +1125,7 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params )
return;
}
- texUnit = &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ texUnit = _mesa_get_current_tex_unit(ctx);
obj = _mesa_select_tex_object(ctx, texUnit, target);
if (!obj) {
diff --git a/src/mesa/main/texstate.h b/src/mesa/main/texstate.h
index a7d7088c621..17ac68000c5 100644
--- a/src/mesa/main/texstate.h
+++ b/src/mesa/main/texstate.h
@@ -35,6 +35,18 @@
#include "mtypes.h"
+/**
+ * Return pointer to current texture unit.
+ * This the texture unit set by glActiveTexture(), not glClientActiveTexture().
+ */
+static INLINE struct gl_texture_unit *
+_mesa_get_current_tex_unit(GLcontext *ctx)
+{
+ ASSERT(ctx->Texture.CurrentUnit < Elements(ctx->Texture.Unit));
+ return &(ctx->Texture.Unit[ctx->Texture.CurrentUnit]);
+}
+
+
extern void
_mesa_copy_texture_state( const GLcontext *src, GLcontext *dst );
@@ -48,16 +60,14 @@ _mesa_print_texunit_state( GLcontext *ctx, GLuint unit );
*/
/*@{*/
-
-/*
- * GL_ARB_multitexture
- */
extern void GLAPIENTRY
_mesa_ActiveTextureARB( GLenum target );
extern void GLAPIENTRY
_mesa_ClientActiveTextureARB( GLenum target );
+/*@}*/
+
/**
* \name Initialization, state maintenance
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index bfced1b3f4f..a22db628d3e 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -3138,7 +3138,7 @@ _mesa_validate_pbo_teximage(GLcontext *ctx, GLuint dimensions,
{
GLubyte *buf;
- if (unpack->BufferObj->Name == 0) {
+ if (!_mesa_is_bufferobj(unpack->BufferObj)) {
/* no PBO */
return pixels;
}
@@ -3174,7 +3174,7 @@ _mesa_validate_pbo_compressed_teximage(GLcontext *ctx,
{
GLubyte *buf;
- if (packing->BufferObj->Name == 0) {
+ if (!_mesa_is_bufferobj(packing->BufferObj)) {
/* not using a PBO - return pointer unchanged */
return pixels;
}
@@ -3204,7 +3204,7 @@ void
_mesa_unmap_teximage_pbo(GLcontext *ctx,
const struct gl_pixelstore_attrib *unpack)
{
- if (unpack->BufferObj->Name) {
+ if (_mesa_is_bufferobj(unpack->BufferObj)) {
ctx->Driver.UnmapBuffer(ctx, GL_PIXEL_UNPACK_BUFFER_EXT,
unpack->BufferObj);
}
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index 3d5b8faecff..be1c03cec2a 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -135,7 +135,8 @@ _mesa_VertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
break;
#endif
default:
- _mesa_error( ctx, GL_INVALID_ENUM, "glVertexPointer(type)" );
+ _mesa_error( ctx, GL_INVALID_ENUM, "glVertexPointer(type=%s)",
+ _mesa_lookup_enum_by_nr(type));
return;
}
@@ -186,7 +187,8 @@ _mesa_NormalPointer(GLenum type, GLsizei stride, const GLvoid *ptr )
break;
#endif
default:
- _mesa_error( ctx, GL_INVALID_ENUM, "glNormalPointer(type)" );
+ _mesa_error( ctx, GL_INVALID_ENUM, "glNormalPointer(type=%s)",
+ _mesa_lookup_enum_by_nr(type));
return;
}
@@ -265,7 +267,8 @@ _mesa_ColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *ptr)
break;
#endif
default:
- _mesa_error( ctx, GL_INVALID_ENUM, "glColorPointer(type)" );
+ _mesa_error( ctx, GL_INVALID_ENUM, "glColorPointer(type=%s)",
+ _mesa_lookup_enum_by_nr(type));
return;
}
@@ -415,7 +418,8 @@ _mesa_SecondaryColorPointerEXT(GLint size, GLenum type,
elementSize = size * sizeof(GLdouble);
break;
default:
- _mesa_error( ctx, GL_INVALID_ENUM, "glSecondaryColorPointer(type)" );
+ _mesa_error( ctx, GL_INVALID_ENUM, "glSecondaryColorPointer(type=%s)",
+ _mesa_lookup_enum_by_nr(type));
return;
}
@@ -476,7 +480,8 @@ _mesa_TexCoordPointer(GLint size, GLenum type, GLsizei stride,
break;
#endif
default:
- _mesa_error( ctx, GL_INVALID_ENUM, "glTexCoordPointer(type)" );
+ _mesa_error( ctx, GL_INVALID_ENUM, "glTexCoordPointer(type=%s)",
+ _mesa_lookup_enum_by_nr(type));
return;
}
@@ -610,7 +615,8 @@ _mesa_VertexAttribPointerNV(GLuint index, GLint size, GLenum type,
elementSize = size * sizeof(GLdouble);
break;
default:
- _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttribPointerNV(type)" );
+ _mesa_error( ctx, GL_INVALID_ENUM, "glVertexAttribPointerNV(type=%s)",
+ _mesa_lookup_enum_by_nr(type));
return;
}
@@ -1093,6 +1099,29 @@ _mesa_MultiModeDrawElementsIBM( const GLenum * mode, const GLsizei * count,
/**
+ * Copy one client vertex array to another.
+ */
+void
+_mesa_copy_client_array(GLcontext *ctx,
+ struct gl_client_array *dst,
+ struct gl_client_array *src)
+{
+ dst->Size = src->Size;
+ dst->Type = src->Type;
+ dst->Format = src->Format;
+ dst->Stride = src->Stride;
+ dst->StrideB = src->StrideB;
+ dst->Ptr = src->Ptr;
+ dst->Enabled = src->Enabled;
+ dst->Normalized = src->Normalized;
+ dst->_ElementSize = src->_ElementSize;
+ _mesa_reference_buffer_object(ctx, &dst->BufferObj, src->BufferObj);
+ dst->_MaxElement = src->_MaxElement;
+}
+
+
+
+/**
* Print vertex array's fields.
*/
static void
diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h
index d4d505ae049..becc67c29d3 100644
--- a/src/mesa/main/varray.h
+++ b/src/mesa/main/varray.h
@@ -161,6 +161,12 @@ _mesa_DrawRangeElements(GLenum mode, GLuint start, GLuint end, GLsizei count,
extern void
+_mesa_copy_client_array(GLcontext *ctx,
+ struct gl_client_array *dst,
+ struct gl_client_array *src);
+
+
+extern void
_mesa_print_arrays(GLcontext *ctx);
extern void
diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
index 50e0402d278..309308c983b 100644
--- a/src/mesa/main/viewport.c
+++ b/src/mesa/main/viewport.c
@@ -120,6 +120,10 @@ _mesa_DepthRange(GLclampd nearval, GLclampd farval)
if (MESA_VERBOSE&VERBOSE_API)
_mesa_debug(ctx, "glDepthRange %f %f\n", nearval, farval);
+ if (ctx->Viewport.Near == nearval &&
+ ctx->Viewport.Far == farval)
+ return;
+
ctx->Viewport.Near = (GLfloat) CLAMP(nearval, 0.0, 1.0);
ctx->Viewport.Far = (GLfloat) CLAMP(farval, 0.0, 1.0);
ctx->NewState |= _NEW_VIEWPORT;