summaryrefslogtreecommitdiffstats
path: root/src/mesa/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa/main')
-rw-r--r--src/mesa/main/accum.c2
-rw-r--r--src/mesa/main/accum.h2
-rw-r--r--src/mesa/main/api_arrayelt.c12
-rw-r--r--src/mesa/main/api_arrayelt.h16
-rw-r--r--src/mesa/main/api_exec.c10
-rw-r--r--src/mesa/main/api_noop.c12
-rw-r--r--src/mesa/main/api_validate.c16
-rw-r--r--src/mesa/main/api_validate.h12
-rw-r--r--src/mesa/main/arrayobj.c24
-rw-r--r--src/mesa/main/arrayobj.h10
-rw-r--r--src/mesa/main/atifragshader.c4
-rw-r--r--src/mesa/main/atifragshader.h8
-rw-r--r--src/mesa/main/attrib.c10
-rw-r--r--src/mesa/main/attrib.h4
-rw-r--r--src/mesa/main/blend.c6
-rw-r--r--src/mesa/main/blend.h2
-rw-r--r--src/mesa/main/bufferobj.c70
-rw-r--r--src/mesa/main/bufferobj.h22
-rw-r--r--src/mesa/main/buffers.c6
-rw-r--r--src/mesa/main/buffers.h4
-rw-r--r--src/mesa/main/clear.c66
-rw-r--r--src/mesa/main/clear.h7
-rw-r--r--src/mesa/main/colortab.c3
-rw-r--r--src/mesa/main/condrender.c2
-rw-r--r--src/mesa/main/condrender.h2
-rw-r--r--src/mesa/main/context.c275
-rw-r--r--src/mesa/main/context.h74
-rw-r--r--src/mesa/main/dd.h333
-rw-r--r--src/mesa/main/debug.c4
-rw-r--r--src/mesa/main/debug.h4
-rw-r--r--src/mesa/main/depth.c2
-rw-r--r--src/mesa/main/depth.h2
-rw-r--r--src/mesa/main/depthstencil.c38
-rw-r--r--src/mesa/main/depthstencil.h10
-rw-r--r--src/mesa/main/dlist.c239
-rw-r--r--src/mesa/main/dlist.h20
-rw-r--r--src/mesa/main/drawpix.c70
-rw-r--r--src/mesa/main/drawtex.c2
-rw-r--r--src/mesa/main/enable.c36
-rw-r--r--src/mesa/main/enable.h4
-rw-r--r--src/mesa/main/enums.c7063
-rw-r--r--src/mesa/main/eval.c8
-rw-r--r--src/mesa/main/eval.h6
-rw-r--r--src/mesa/main/extensions.c47
-rw-r--r--src/mesa/main/extensions.h28
-rw-r--r--src/mesa/main/fbobject.c95
-rw-r--r--src/mesa/main/fbobject.h20
-rw-r--r--src/mesa/main/feedback.c22
-rw-r--r--src/mesa/main/feedback.h14
-rw-r--r--src/mesa/main/ffvertex_prog.c6
-rw-r--r--src/mesa/main/ffvertex_prog.h2
-rw-r--r--src/mesa/main/fog.c2
-rw-r--r--src/mesa/main/fog.h2
-rw-r--r--src/mesa/main/formats.c15
-rw-r--r--src/mesa/main/formats.h3
-rw-r--r--src/mesa/main/framebuffer.c59
-rw-r--r--src/mesa/main/framebuffer.h26
-rw-r--r--src/mesa/main/get.c61
-rw-r--r--src/mesa/main/getstring.c4
-rw-r--r--src/mesa/main/glheader.h22
-rw-r--r--src/mesa/main/hash.c4
-rw-r--r--src/mesa/main/hint.c2
-rw-r--r--src/mesa/main/hint.h2
-rw-r--r--src/mesa/main/image.c4421
-rw-r--r--src/mesa/main/image.h170
-rw-r--r--src/mesa/main/imports.c10
-rw-r--r--src/mesa/main/imports.h10
-rw-r--r--src/mesa/main/light.c28
-rw-r--r--src/mesa/main/light.h22
-rw-r--r--src/mesa/main/lines.c6
-rw-r--r--src/mesa/main/lines.h2
-rw-r--r--src/mesa/main/matrix.c40
-rw-r--r--src/mesa/main/matrix.h8
-rw-r--r--src/mesa/main/mfeatures.h1
-rw-r--r--src/mesa/main/mipmap.c4
-rw-r--r--src/mesa/main/mipmap.h2
-rw-r--r--src/mesa/main/mtypes.h224
-rw-r--r--src/mesa/main/multisample.c2
-rw-r--r--src/mesa/main/multisample.h2
-rw-r--r--src/mesa/main/nvprogram.c4
-rw-r--r--src/mesa/main/nvprogram.h4
-rw-r--r--src/mesa/main/pack.c4339
-rw-r--r--src/mesa/main/pack.h140
-rw-r--r--src/mesa/main/pixel.c12
-rw-r--r--src/mesa/main/pixel.h6
-rw-r--r--src/mesa/main/pixelstore.c2
-rw-r--r--src/mesa/main/pixelstore.h2
-rw-r--r--src/mesa/main/pixeltransfer.c566
-rw-r--r--src/mesa/main/pixeltransfer.h90
-rw-r--r--src/mesa/main/points.c6
-rw-r--r--src/mesa/main/points.h2
-rw-r--r--src/mesa/main/polygon.c7
-rw-r--r--src/mesa/main/polygon.h4
-rw-r--r--src/mesa/main/queryobj.c20
-rw-r--r--src/mesa/main/queryobj.h8
-rw-r--r--src/mesa/main/rastpos.c4
-rw-r--r--src/mesa/main/rastpos.h2
-rw-r--r--src/mesa/main/readpix.c27
-rw-r--r--src/mesa/main/readpix.h2
-rw-r--r--src/mesa/main/remap_helper.h3438
-rw-r--r--src/mesa/main/renderbuffer.c132
-rw-r--r--src/mesa/main/renderbuffer.h22
-rw-r--r--src/mesa/main/scissor.c6
-rw-r--r--src/mesa/main/scissor.h4
-rw-r--r--src/mesa/main/shaderapi.c315
-rw-r--r--src/mesa/main/shaderapi.h11
-rw-r--r--src/mesa/main/shaderobj.c36
-rw-r--r--src/mesa/main/shaderobj.h49
-rw-r--r--src/mesa/main/shared.c20
-rw-r--r--src/mesa/main/shared.h4
-rw-r--r--src/mesa/main/state.c48
-rw-r--r--src/mesa/main/state.h8
-rw-r--r--src/mesa/main/stencil.c16
-rw-r--r--src/mesa/main/stencil.h4
-rw-r--r--src/mesa/main/syncobj.c18
-rw-r--r--src/mesa/main/syncobj.h16
-rw-r--r--src/mesa/main/texcompress.c4
-rw-r--r--src/mesa/main/texcompress.h4
-rw-r--r--src/mesa/main/texcompress_s3tc.c2
-rw-r--r--src/mesa/main/texcompress_s3tc.h4
-rw-r--r--src/mesa/main/texenv.c14
-rw-r--r--src/mesa/main/texenvprogram.c23
-rw-r--r--src/mesa/main/texenvprogram.h2
-rw-r--r--src/mesa/main/texformat.c2
-rw-r--r--src/mesa/main/texformat.h2
-rw-r--r--src/mesa/main/texgetimage.c25
-rw-r--r--src/mesa/main/texgetimage.h4
-rw-r--r--src/mesa/main/teximage.c184
-rw-r--r--src/mesa/main/teximage.h32
-rw-r--r--src/mesa/main/texobj.c24
-rw-r--r--src/mesa/main/texobj.h18
-rw-r--r--src/mesa/main/texparam.c10
-rw-r--r--src/mesa/main/texrender.c22
-rw-r--r--src/mesa/main/texrender.h4
-rw-r--r--src/mesa/main/texstate.c55
-rw-r--r--src/mesa/main/texstate.h14
-rw-r--r--src/mesa/main/texstore.c313
-rw-r--r--src/mesa/main/texstore.h34
-rw-r--r--src/mesa/main/transformfeedback.c36
-rw-r--r--src/mesa/main/transformfeedback.h12
-rw-r--r--src/mesa/main/uniforms.c84
-rw-r--r--src/mesa/main/uniforms.h6
-rw-r--r--src/mesa/main/varray.c21
-rw-r--r--src/mesa/main/varray.h8
-rw-r--r--src/mesa/main/version.c8
-rw-r--r--src/mesa/main/version.h2
-rw-r--r--src/mesa/main/viewport.c6
-rw-r--r--src/mesa/main/viewport.h6
-rw-r--r--src/mesa/main/vtxfmt.c78
-rw-r--r--src/mesa/main/vtxfmt.h22
-rw-r--r--src/mesa/main/vtxfmt_tmp.h603
151 files changed, 13068 insertions, 11924 deletions
diff --git a/src/mesa/main/accum.c b/src/mesa/main/accum.c
index 2012d00fd5f..9026110f3ef 100644
--- a/src/mesa/main/accum.c
+++ b/src/mesa/main/accum.c
@@ -115,7 +115,7 @@ _mesa_init_accum_dispatch(struct _glapi_table *disp)
void
-_mesa_init_accum( GLcontext *ctx )
+_mesa_init_accum( struct gl_context *ctx )
{
/* Accumulate buffer group */
ASSIGN_4V( ctx->Accum.ClearColor, 0.0, 0.0, 0.0, 0.0 );
diff --git a/src/mesa/main/accum.h b/src/mesa/main/accum.h
index 4b628bafa02..def692a73a5 100644
--- a/src/mesa/main/accum.h
+++ b/src/mesa/main/accum.h
@@ -67,6 +67,6 @@ _mesa_init_accum_dispatch(struct _glapi_table *disp)
#endif /* FEATURE_accum */
extern void
-_mesa_init_accum( GLcontext *ctx );
+_mesa_init_accum( struct gl_context *ctx );
#endif /* ACCUM_H */
diff --git a/src/mesa/main/api_arrayelt.c b/src/mesa/main/api_arrayelt.c
index ffcd194240f..172c33b47bf 100644
--- a/src/mesa/main/api_arrayelt.c
+++ b/src/mesa/main/api_arrayelt.c
@@ -1031,7 +1031,7 @@ static attrib_func AttribFuncsARB[2][4][8] = {
/**********************************************************************/
-GLboolean _ae_create_context( GLcontext *ctx )
+GLboolean _ae_create_context( struct gl_context *ctx )
{
if (ctx->aelt_context)
return GL_TRUE;
@@ -1064,7 +1064,7 @@ GLboolean _ae_create_context( GLcontext *ctx )
}
-void _ae_destroy_context( GLcontext *ctx )
+void _ae_destroy_context( struct gl_context *ctx )
{
if ( AE_CONTEXT( ctx ) ) {
FREE( ctx->aelt_context );
@@ -1092,7 +1092,7 @@ static void check_vbo( AEcontext *actx,
* etc).
* Note: this may be called during display list construction.
*/
-static void _ae_update_state( GLcontext *ctx )
+static void _ae_update_state( struct gl_context *ctx )
{
AEcontext *actx = AE_CONTEXT(ctx);
AEarray *aa = actx->arrays;
@@ -1211,7 +1211,7 @@ static void _ae_update_state( GLcontext *ctx )
actx->NewState = 0;
}
-void _ae_map_vbos( GLcontext *ctx )
+void _ae_map_vbos( struct gl_context *ctx )
{
AEcontext *actx = AE_CONTEXT(ctx);
GLuint i;
@@ -1232,7 +1232,7 @@ void _ae_map_vbos( GLcontext *ctx )
actx->mapped_vbos = GL_TRUE;
}
-void _ae_unmap_vbos( GLcontext *ctx )
+void _ae_unmap_vbos( struct gl_context *ctx )
{
AEcontext *actx = AE_CONTEXT(ctx);
GLuint i;
@@ -1300,7 +1300,7 @@ void GLAPIENTRY _ae_ArrayElement( GLint elt )
}
-void _ae_invalidate_state( GLcontext *ctx, GLuint new_state )
+void _ae_invalidate_state( struct gl_context *ctx, GLuint new_state )
{
AEcontext *actx = AE_CONTEXT(ctx);
diff --git a/src/mesa/main/api_arrayelt.h b/src/mesa/main/api_arrayelt.h
index d18c0792c35..610e522a943 100644
--- a/src/mesa/main/api_arrayelt.h
+++ b/src/mesa/main/api_arrayelt.h
@@ -37,15 +37,15 @@
(vfmt)->ArrayElement = impl ## ArrayElement; \
} while (0)
-extern GLboolean _ae_create_context( GLcontext *ctx );
-extern void _ae_destroy_context( GLcontext *ctx );
-extern void _ae_invalidate_state( GLcontext *ctx, GLuint new_state );
+extern GLboolean _ae_create_context( struct gl_context *ctx );
+extern void _ae_destroy_context( struct gl_context *ctx );
+extern void _ae_invalidate_state( struct gl_context *ctx, GLuint new_state );
extern void GLAPIENTRY _ae_ArrayElement( GLint elt );
/* May optionally be called before a batch of element calls:
*/
-extern void _ae_map_vbos( GLcontext *ctx );
-extern void _ae_unmap_vbos( GLcontext *ctx );
+extern void _ae_map_vbos( struct gl_context *ctx );
+extern void _ae_unmap_vbos( struct gl_context *ctx );
extern void
_mesa_install_arrayelt_vtxfmt(struct _glapi_table *disp,
@@ -56,18 +56,18 @@ _mesa_install_arrayelt_vtxfmt(struct _glapi_table *disp,
#define _MESA_INIT_ARRAYELT_VTXFMT(vfmt, impl) do { } while (0)
static INLINE GLboolean
-_ae_create_context( GLcontext *ctx )
+_ae_create_context( struct gl_context *ctx )
{
return GL_TRUE;
}
static INLINE void
-_ae_destroy_context( GLcontext *ctx )
+_ae_destroy_context( struct gl_context *ctx )
{
}
static INLINE void
-_ae_invalidate_state( GLcontext *ctx, GLuint new_state )
+_ae_invalidate_state( struct gl_context *ctx, GLuint new_state )
{
}
diff --git a/src/mesa/main/api_exec.c b/src/mesa/main/api_exec.c
index ae653e1914e..cd002f6bc27 100644
--- a/src/mesa/main/api_exec.c
+++ b/src/mesa/main/api_exec.c
@@ -494,6 +494,9 @@ _mesa_create_exec_table(void)
SET_ActiveStencilFaceEXT(exec, _mesa_ActiveStencilFaceEXT);
#endif
+ /* 285. GL_NV_primitive_restart */
+ SET_PrimitiveRestartIndexNV(exec, _mesa_PrimitiveRestartIndex);
+
/* ???. GL_EXT_depth_bounds_test */
SET_DepthBoundsEXT(exec, _mesa_DepthBoundsEXT);
@@ -723,6 +726,13 @@ _mesa_create_exec_table(void)
SET_FramebufferTextureFaceARB(exec, _mesa_FramebufferTextureFaceARB);
#endif
+ /* GL_EXT_texture_integer */
+ SET_ClearColorIiEXT(exec, _mesa_ClearColorIiEXT);
+ SET_ClearColorIuiEXT(exec, _mesa_ClearColorIuiEXT);
+ SET_GetTexParameterIivEXT(exec, _mesa_GetTexParameterIiv);
+ SET_GetTexParameterIuivEXT(exec, _mesa_GetTexParameterIuiv);
+ SET_TexParameterIivEXT(exec, _mesa_TexParameterIiv);
+ SET_TexParameterIuivEXT(exec, _mesa_TexParameterIuiv);
return exec;
}
diff --git a/src/mesa/main/api_noop.c b/src/mesa/main/api_noop.c
index 9a36394d65e..08b4b4a3b67 100644
--- a/src/mesa/main/api_noop.c
+++ b/src/mesa/main/api_noop.c
@@ -679,6 +679,16 @@ static void GLAPIENTRY _mesa_noop_End( void )
}
+/***
+ * PrimitiveRestart called outside glBegin()/End(): raise an error
+ */
+static void GLAPIENTRY _mesa_noop_PrimitiveRestartNV( void )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glPrimitiveRestartNV(no glBegin)");
+}
+
+
/**
* Execute a glRectf() function. This is not suitable for GL_COMPILE
* modes (as the test for outside begin/end is not compiled),
@@ -1007,6 +1017,8 @@ _mesa_noop_vtxfmt_init( GLvertexformat *vfmt )
vfmt->EdgeFlag = _mesa_noop_EdgeFlag;
vfmt->End = _mesa_noop_End;
+ vfmt->PrimitiveRestartNV = _mesa_noop_PrimitiveRestartNV;
+
_MESA_INIT_EVAL_VTXFMT(vfmt, _mesa_noop_);
vfmt->FogCoordfEXT = _mesa_noop_FogCoordfEXT;
diff --git a/src/mesa/main/api_validate.c b/src/mesa/main/api_validate.c
index b3b5c6cc053..4929a9310d4 100644
--- a/src/mesa/main/api_validate.c
+++ b/src/mesa/main/api_validate.c
@@ -54,7 +54,7 @@ index_bytes(GLenum type, GLsizei count)
* Find the max index in the given element/index buffer
*/
GLuint
-_mesa_max_buffer_index(GLcontext *ctx, GLuint count, GLenum type,
+_mesa_max_buffer_index(struct gl_context *ctx, GLuint count, GLenum type,
const void *indices,
struct gl_buffer_object *elementBuf)
{
@@ -99,7 +99,7 @@ _mesa_max_buffer_index(GLcontext *ctx, GLuint count, GLenum type,
* Check if OK to draw arrays/elements.
*/
static GLboolean
-check_valid_to_render(GLcontext *ctx, const char *function)
+check_valid_to_render(struct gl_context *ctx, const char *function)
{
if (!_mesa_valid_to_render(ctx, function)) {
return GL_FALSE;
@@ -140,7 +140,7 @@ check_valid_to_render(GLcontext *ctx, const char *function)
* \return GL_TRUE if OK, GL_FALSE if any indexed vertex goes is out of bounds
*/
static GLboolean
-check_index_bounds(GLcontext *ctx, GLsizei count, GLenum type,
+check_index_bounds(struct gl_context *ctx, GLsizei count, GLenum type,
const GLvoid *indices, GLint basevertex)
{
struct _mesa_prim prim;
@@ -181,7 +181,7 @@ check_index_bounds(GLcontext *ctx, GLsizei count, GLenum type,
* \return GL_TRUE if OK to render, GL_FALSE if error found
*/
GLboolean
-_mesa_validate_DrawElements(GLcontext *ctx,
+_mesa_validate_DrawElements(struct gl_context *ctx,
GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices, GLint basevertex)
{
@@ -237,7 +237,7 @@ _mesa_validate_DrawElements(GLcontext *ctx,
* \return GL_TRUE if OK to render, GL_FALSE if error found
*/
GLboolean
-_mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
+_mesa_validate_DrawRangeElements(struct gl_context *ctx, GLenum mode,
GLuint start, GLuint end,
GLsizei count, GLenum type,
const GLvoid *indices, GLint basevertex)
@@ -298,7 +298,7 @@ _mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
* \return GL_TRUE if OK to render, GL_FALSE if error found
*/
GLboolean
-_mesa_validate_DrawArrays(GLcontext *ctx,
+_mesa_validate_DrawArrays(struct gl_context *ctx,
GLenum mode, GLint start, GLsizei count)
{
ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE);
@@ -327,7 +327,7 @@ _mesa_validate_DrawArrays(GLcontext *ctx,
GLboolean
-_mesa_validate_DrawArraysInstanced(GLcontext *ctx, GLenum mode, GLint first,
+_mesa_validate_DrawArraysInstanced(struct gl_context *ctx, GLenum mode, GLint first,
GLsizei count, GLsizei primcount)
{
ASSERT_OUTSIDE_BEGIN_END_WITH_RETVAL(ctx, GL_FALSE);
@@ -371,7 +371,7 @@ _mesa_validate_DrawArraysInstanced(GLcontext *ctx, GLenum mode, GLint first,
GLboolean
-_mesa_validate_DrawElementsInstanced(GLcontext *ctx,
+_mesa_validate_DrawElementsInstanced(struct gl_context *ctx,
GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices, GLsizei primcount)
{
diff --git a/src/mesa/main/api_validate.h b/src/mesa/main/api_validate.h
index cd27d58aa7d..b232a90843e 100644
--- a/src/mesa/main/api_validate.h
+++ b/src/mesa/main/api_validate.h
@@ -32,32 +32,32 @@
extern GLuint
-_mesa_max_buffer_index(GLcontext *ctx, GLuint count, GLenum type,
+_mesa_max_buffer_index(struct gl_context *ctx, GLuint count, GLenum type,
const void *indices,
struct gl_buffer_object *elementBuf);
extern GLboolean
-_mesa_validate_DrawArrays(GLcontext *ctx,
+_mesa_validate_DrawArrays(struct gl_context *ctx,
GLenum mode, GLint start, GLsizei count);
extern GLboolean
-_mesa_validate_DrawElements(GLcontext *ctx,
+_mesa_validate_DrawElements(struct gl_context *ctx,
GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices, GLint basevertex);
extern GLboolean
-_mesa_validate_DrawRangeElements(GLcontext *ctx, GLenum mode,
+_mesa_validate_DrawRangeElements(struct gl_context *ctx, GLenum mode,
GLuint start, GLuint end,
GLsizei count, GLenum type,
const GLvoid *indices, GLint basevertex);
extern GLboolean
-_mesa_validate_DrawArraysInstanced(GLcontext *ctx, GLenum mode, GLint first,
+_mesa_validate_DrawArraysInstanced(struct gl_context *ctx, GLenum mode, GLint first,
GLsizei count, GLsizei primcount);
extern GLboolean
-_mesa_validate_DrawElementsInstanced(GLcontext *ctx,
+_mesa_validate_DrawElementsInstanced(struct gl_context *ctx,
GLenum mode, GLsizei count, GLenum type,
const GLvoid *indices, GLsizei primcount);
diff --git a/src/mesa/main/arrayobj.c b/src/mesa/main/arrayobj.c
index 0069cd3dcfd..0d64b7de8dd 100644
--- a/src/mesa/main/arrayobj.c
+++ b/src/mesa/main/arrayobj.c
@@ -61,7 +61,7 @@
*/
static INLINE struct gl_array_object *
-lookup_arrayobj(GLcontext *ctx, GLuint id)
+lookup_arrayobj(struct gl_context *ctx, GLuint id)
{
if (id == 0)
return NULL;
@@ -77,7 +77,7 @@ lookup_arrayobj(GLcontext *ctx, GLuint id)
* This is done just prior to array object destruction.
*/
static void
-unbind_array_object_vbos(GLcontext *ctx, struct gl_array_object *obj)
+unbind_array_object_vbos(struct gl_context *ctx, struct gl_array_object *obj)
{
GLuint i;
@@ -109,7 +109,7 @@ unbind_array_object_vbos(GLcontext *ctx, struct gl_array_object *obj)
* \c dd_function_table::NewArrayObject.
*/
struct gl_array_object *
-_mesa_new_array_object( GLcontext *ctx, GLuint name )
+_mesa_new_array_object( struct gl_context *ctx, GLuint name )
{
struct gl_array_object *obj = CALLOC_STRUCT(gl_array_object);
if (obj)
@@ -125,7 +125,7 @@ _mesa_new_array_object( GLcontext *ctx, GLuint name )
* \c dd_function_table::DeleteArrayObject.
*/
void
-_mesa_delete_array_object( GLcontext *ctx, struct gl_array_object *obj )
+_mesa_delete_array_object( struct gl_context *ctx, struct gl_array_object *obj )
{
(void) ctx;
unbind_array_object_vbos(ctx, obj);
@@ -138,7 +138,7 @@ _mesa_delete_array_object( GLcontext *ctx, struct gl_array_object *obj )
* Set ptr to arrayObj w/ reference counting.
*/
void
-_mesa_reference_array_object(GLcontext *ctx,
+_mesa_reference_array_object(struct gl_context *ctx,
struct gl_array_object **ptr,
struct gl_array_object *arrayObj)
{
@@ -193,7 +193,7 @@ _mesa_reference_array_object(GLcontext *ctx,
static void
-init_array(GLcontext *ctx,
+init_array(struct gl_context *ctx,
struct gl_client_array *array, GLint size, GLint type)
{
array->Size = size;
@@ -216,7 +216,7 @@ init_array(GLcontext *ctx,
* Initialize a gl_array_object's arrays.
*/
void
-_mesa_initialize_array_object( GLcontext *ctx,
+_mesa_initialize_array_object( struct gl_context *ctx,
struct gl_array_object *obj,
GLuint name )
{
@@ -253,7 +253,7 @@ _mesa_initialize_array_object( GLcontext *ctx,
* Add the given array object to the array object pool.
*/
static void
-save_array_object( GLcontext *ctx, struct gl_array_object *obj )
+save_array_object( struct gl_context *ctx, struct gl_array_object *obj )
{
if (obj->Name > 0) {
/* insert into hash table */
@@ -267,7 +267,7 @@ save_array_object( GLcontext *ctx, struct gl_array_object *obj )
* Do not deallocate the array object though.
*/
static void
-remove_array_object( GLcontext *ctx, struct gl_array_object *obj )
+remove_array_object( struct gl_context *ctx, struct gl_array_object *obj )
{
if (obj->Name > 0) {
/* remove from hash table */
@@ -327,7 +327,7 @@ update_min(GLuint min, struct gl_client_array *array)
* Examine vertex arrays to update the gl_array_object::_MaxElement field.
*/
void
-_mesa_update_array_object_max_element(GLcontext *ctx,
+_mesa_update_array_object_max_element(struct gl_context *ctx,
struct gl_array_object *arrayObj)
{
GLuint i, min = ~0;
@@ -364,7 +364,7 @@ _mesa_update_array_object_max_element(GLcontext *ctx,
* glGenVertexArrays().
*/
static void
-bind_vertex_array(GLcontext *ctx, GLuint id, GLboolean genRequired)
+bind_vertex_array(struct gl_context *ctx, GLuint id, GLboolean genRequired)
{
struct gl_array_object * const oldObj = ctx->Array.ArrayObj;
struct gl_array_object *newObj = NULL;
@@ -495,7 +495,7 @@ _mesa_DeleteVertexArraysAPPLE(GLsizei n, const GLuint *ids)
* \param vboOnly Will arrays have to reside in VBOs?
*/
static void
-gen_vertex_arrays(GLcontext *ctx, GLsizei n, GLuint *arrays, GLboolean vboOnly)
+gen_vertex_arrays(struct gl_context *ctx, GLsizei n, GLuint *arrays, GLboolean vboOnly)
{
GLuint first;
GLint i;
diff --git a/src/mesa/main/arrayobj.h b/src/mesa/main/arrayobj.h
index fdf7e2bca46..26e3af19c91 100644
--- a/src/mesa/main/arrayobj.h
+++ b/src/mesa/main/arrayobj.h
@@ -43,23 +43,23 @@
*/
extern struct gl_array_object *
-_mesa_new_array_object( GLcontext *ctx, GLuint name );
+_mesa_new_array_object( struct gl_context *ctx, GLuint name );
extern void
-_mesa_delete_array_object( GLcontext *ctx, struct gl_array_object *obj );
+_mesa_delete_array_object( struct gl_context *ctx, struct gl_array_object *obj );
extern void
-_mesa_reference_array_object(GLcontext *ctx,
+_mesa_reference_array_object(struct gl_context *ctx,
struct gl_array_object **ptr,
struct gl_array_object *arrayObj);
extern void
-_mesa_initialize_array_object( GLcontext *ctx,
+_mesa_initialize_array_object( struct gl_context *ctx,
struct gl_array_object *obj, GLuint name );
extern void
-_mesa_update_array_object_max_element(GLcontext *ctx,
+_mesa_update_array_object_max_element(struct gl_context *ctx,
struct gl_array_object *arrayObj);
diff --git a/src/mesa/main/atifragshader.c b/src/mesa/main/atifragshader.c
index 550f50b7a00..ae2feb3229a 100644
--- a/src/mesa/main/atifragshader.c
+++ b/src/mesa/main/atifragshader.c
@@ -62,7 +62,7 @@ _mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp)
* Allocate and initialize a new ATI fragment shader object.
*/
struct ati_fragment_shader *
-_mesa_new_ati_fragment_shader(GLcontext *ctx, GLuint id)
+_mesa_new_ati_fragment_shader(struct gl_context *ctx, GLuint id)
{
struct ati_fragment_shader *s = CALLOC_STRUCT(ati_fragment_shader);
(void) ctx;
@@ -78,7 +78,7 @@ _mesa_new_ati_fragment_shader(GLcontext *ctx, GLuint id)
* Delete the given ati fragment shader
*/
void
-_mesa_delete_ati_fragment_shader(GLcontext *ctx, struct ati_fragment_shader *s)
+_mesa_delete_ati_fragment_shader(struct gl_context *ctx, struct ati_fragment_shader *s)
{
GLuint i;
for (i = 0; i < MAX_NUM_PASSES_ATI; i++) {
diff --git a/src/mesa/main/atifragshader.h b/src/mesa/main/atifragshader.h
index 31c335ec815..6911bba5aee 100644
--- a/src/mesa/main/atifragshader.h
+++ b/src/mesa/main/atifragshader.h
@@ -66,10 +66,10 @@ extern void
_mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp);
extern struct ati_fragment_shader *
-_mesa_new_ati_fragment_shader(GLcontext *ctx, GLuint id);
+_mesa_new_ati_fragment_shader(struct gl_context *ctx, GLuint id);
extern void
-_mesa_delete_ati_fragment_shader(GLcontext *ctx,
+_mesa_delete_ati_fragment_shader(struct gl_context *ctx,
struct ati_fragment_shader *s);
@@ -133,13 +133,13 @@ _mesa_init_ati_fragment_shader_dispatch(struct _glapi_table *disp)
}
static INLINE struct ati_fragment_shader *
-_mesa_new_ati_fragment_shader(GLcontext *ctx, GLuint id)
+_mesa_new_ati_fragment_shader(struct gl_context *ctx, GLuint id)
{
return NULL;
}
static INLINE void
-_mesa_delete_ati_fragment_shader(GLcontext *ctx,
+_mesa_delete_ati_fragment_shader(struct gl_context *ctx,
struct ati_fragment_shader *s)
{
}
diff --git a/src/mesa/main/attrib.c b/src/mesa/main/attrib.c
index 0299525f46b..fb6fbe5b6db 100644
--- a/src/mesa/main/attrib.c
+++ b/src/mesa/main/attrib.c
@@ -473,7 +473,7 @@ end:
static void
-pop_enable_group(GLcontext *ctx, const struct gl_enable_attrib *enable)
+pop_enable_group(struct gl_context *ctx, const struct gl_enable_attrib *enable)
{
const GLuint curTexUnitSave = ctx->Texture.CurrentUnit;
GLuint i;
@@ -669,7 +669,7 @@ pop_enable_group(GLcontext *ctx, const struct gl_enable_attrib *enable)
* Pop/restore texture attribute/group state.
*/
static void
-pop_texture_group(GLcontext *ctx, struct texture_state *texstate)
+pop_texture_group(struct gl_context *ctx, struct texture_state *texstate)
{
GLuint u;
@@ -1323,7 +1323,7 @@ adjust_buffer_object_ref_counts(struct gl_array_object *arrayObj, GLint step)
* object refcounts.
*/
static void
-copy_pixelstore(GLcontext *ctx,
+copy_pixelstore(struct gl_context *ctx,
struct gl_pixelstore_attrib *dst,
const struct gl_pixelstore_attrib *src)
{
@@ -1506,7 +1506,7 @@ _mesa_init_attrib_dispatch(struct _glapi_table *disp)
* Free any attribute state data that might be attached to the context.
*/
void
-_mesa_free_attrib_data(GLcontext *ctx)
+_mesa_free_attrib_data(struct gl_context *ctx)
{
while (ctx->AttribStackDepth > 0) {
struct gl_attrib_node *attr, *next;
@@ -1538,7 +1538,7 @@ _mesa_free_attrib_data(GLcontext *ctx)
}
-void _mesa_init_attrib( GLcontext *ctx )
+void _mesa_init_attrib( struct gl_context *ctx )
{
/* Renderer and client attribute stacks */
ctx->AttribStackDepth = 0;
diff --git a/src/mesa/main/attrib.h b/src/mesa/main/attrib.h
index 83b28a65b77..777781bdf0d 100644
--- a/src/mesa/main/attrib.h
+++ b/src/mesa/main/attrib.h
@@ -70,9 +70,9 @@ _mesa_init_attrib_dispatch(struct _glapi_table *disp)
#endif /* FEATURE_attrib_stack */
extern void
-_mesa_init_attrib( GLcontext *ctx );
+_mesa_init_attrib( struct gl_context *ctx );
extern void
-_mesa_free_attrib_data( GLcontext *ctx );
+_mesa_free_attrib_data( struct gl_context *ctx );
#endif /* ATTRIB_H */
diff --git a/src/mesa/main/blend.c b/src/mesa/main/blend.c
index 736a94c052a..ec778b7244d 100644
--- a/src/mesa/main/blend.c
+++ b/src/mesa/main/blend.c
@@ -207,7 +207,7 @@ _mesa_BlendFuncSeparateEXT( GLenum sfactorRGB, GLenum dfactorRGB,
#if _HAVE_FULL_GL
static GLboolean
-_mesa_validate_blend_equation( GLcontext *ctx,
+_mesa_validate_blend_equation( struct gl_context *ctx,
GLenum mode, GLboolean is_separate )
{
switch (mode) {
@@ -589,9 +589,9 @@ _mesa_ClampColorARB(GLenum target, GLenum clamp)
* \param ctx GL context.
*
* Initializes the related fields in the context color attribute group,
- * __GLcontextRec::Color.
+ * __struct gl_contextRec::Color.
*/
-void _mesa_init_color( GLcontext * ctx )
+void _mesa_init_color( struct gl_context * ctx )
{
/* Color buffer group */
ctx->Color.IndexMask = ~0u;
diff --git a/src/mesa/main/blend.h b/src/mesa/main/blend.h
index b4fd7470ebe..677b01cc9fc 100644
--- a/src/mesa/main/blend.h
+++ b/src/mesa/main/blend.h
@@ -82,6 +82,6 @@ _mesa_ClampColorARB(GLenum target, GLenum clamp);
extern void
-_mesa_init_color( GLcontext * ctx );
+_mesa_init_color( struct gl_context * ctx );
#endif
diff --git a/src/mesa/main/bufferobj.c b/src/mesa/main/bufferobj.c
index 61d46b936b2..0a68008a100 100644
--- a/src/mesa/main/bufferobj.c
+++ b/src/mesa/main/bufferobj.c
@@ -62,7 +62,7 @@
* specified context or \c NULL if \c target is invalid.
*/
static INLINE struct gl_buffer_object **
-get_buffer_target(GLcontext *ctx, GLenum target)
+get_buffer_target(struct gl_context *ctx, GLenum target)
{
switch (target) {
case GL_ARRAY_BUFFER_ARB:
@@ -99,7 +99,7 @@ get_buffer_target(GLcontext *ctx, GLenum target)
* specified context or \c NULL if \c target is invalid.
*/
static INLINE struct gl_buffer_object *
-get_buffer(GLcontext *ctx, GLenum target)
+get_buffer(struct gl_context *ctx, GLenum target)
{
struct gl_buffer_object **bufObj = get_buffer_target(ctx, target);
if (bufObj)
@@ -143,7 +143,7 @@ simplified_access_mode(GLbitfield access)
* \sa glBufferSubDataARB, glGetBufferSubDataARB
*/
static struct gl_buffer_object *
-buffer_object_subdata_range_good( GLcontext * ctx, GLenum target,
+buffer_object_subdata_range_good( struct gl_context * ctx, GLenum target,
GLintptrARB offset, GLsizeiptrARB size,
const char *caller )
{
@@ -189,7 +189,7 @@ buffer_object_subdata_range_good( GLcontext * ctx, GLenum target,
* Default callback for the \c dd_function_table::NewBufferObject() hook.
*/
static struct gl_buffer_object *
-_mesa_new_buffer_object( GLcontext *ctx, GLuint name, GLenum target )
+_mesa_new_buffer_object( struct gl_context *ctx, GLuint name, GLenum target )
{
struct gl_buffer_object *obj;
@@ -207,7 +207,7 @@ _mesa_new_buffer_object( GLcontext *ctx, GLuint name, GLenum target )
* Default callback for the \c dd_function_table::DeleteBuffer() hook.
*/
static void
-_mesa_delete_buffer_object( GLcontext *ctx, struct gl_buffer_object *bufObj )
+_mesa_delete_buffer_object( struct gl_context *ctx, struct gl_buffer_object *bufObj )
{
(void) ctx;
@@ -228,7 +228,7 @@ _mesa_delete_buffer_object( GLcontext *ctx, struct gl_buffer_object *bufObj )
* Set ptr to bufObj w/ reference counting.
*/
void
-_mesa_reference_buffer_object(GLcontext *ctx,
+_mesa_reference_buffer_object(struct gl_context *ctx,
struct gl_buffer_object **ptr,
struct gl_buffer_object *bufObj)
{
@@ -328,7 +328,7 @@ _mesa_initialize_buffer_object( struct gl_buffer_object *obj,
* \sa glBufferDataARB, dd_function_table::BufferData.
*/
static GLboolean
-_mesa_buffer_data( GLcontext *ctx, GLenum target, GLsizeiptrARB size,
+_mesa_buffer_data( struct gl_context *ctx, GLenum target, GLsizeiptrARB size,
const GLvoid * data, GLenum usage,
struct gl_buffer_object * bufObj )
{
@@ -372,7 +372,7 @@ _mesa_buffer_data( GLcontext *ctx, GLenum target, GLsizeiptrARB size,
* \sa glBufferSubDataARB, dd_function_table::BufferSubData.
*/
static void
-_mesa_buffer_subdata( GLcontext *ctx, GLenum target, GLintptrARB offset,
+_mesa_buffer_subdata( struct gl_context *ctx, GLenum target, GLintptrARB offset,
GLsizeiptrARB size, const GLvoid * data,
struct gl_buffer_object * bufObj )
{
@@ -405,7 +405,7 @@ _mesa_buffer_subdata( GLcontext *ctx, GLenum target, GLintptrARB offset,
* \sa glBufferGetSubDataARB, dd_function_table::GetBufferSubData.
*/
static void
-_mesa_buffer_get_subdata( GLcontext *ctx, GLenum target, GLintptrARB offset,
+_mesa_buffer_get_subdata( struct gl_context *ctx, GLenum target, GLintptrARB offset,
GLsizeiptrARB size, GLvoid * data,
struct gl_buffer_object * bufObj )
{
@@ -432,7 +432,7 @@ _mesa_buffer_get_subdata( GLcontext *ctx, GLenum target, GLintptrARB offset,
* \sa glMapBufferARB, dd_function_table::MapBuffer
*/
static void *
-_mesa_buffer_map( GLcontext *ctx, GLenum target, GLenum access,
+_mesa_buffer_map( struct gl_context *ctx, GLenum target, GLenum access,
struct gl_buffer_object *bufObj )
{
(void) ctx;
@@ -455,7 +455,7 @@ _mesa_buffer_map( GLcontext *ctx, GLenum target, GLenum access,
* Called via glMapBufferRange().
*/
static void *
-_mesa_buffer_map_range( GLcontext *ctx, GLenum target, GLintptr offset,
+_mesa_buffer_map_range( struct gl_context *ctx, GLenum target, GLintptr offset,
GLsizeiptr length, GLbitfield access,
struct gl_buffer_object *bufObj )
{
@@ -476,7 +476,7 @@ _mesa_buffer_map_range( GLcontext *ctx, GLenum target, GLintptr offset,
* Called via glFlushMappedBufferRange().
*/
static void
-_mesa_buffer_flush_mapped_range( GLcontext *ctx, GLenum target,
+_mesa_buffer_flush_mapped_range( struct gl_context *ctx, GLenum target,
GLintptr offset, GLsizeiptr length,
struct gl_buffer_object *obj )
{
@@ -497,7 +497,7 @@ _mesa_buffer_flush_mapped_range( GLcontext *ctx, GLenum target,
* \sa glUnmapBufferARB, dd_function_table::UnmapBuffer
*/
static GLboolean
-_mesa_buffer_unmap( GLcontext *ctx, GLenum target,
+_mesa_buffer_unmap( struct gl_context *ctx, GLenum target,
struct gl_buffer_object *bufObj )
{
(void) ctx;
@@ -516,7 +516,7 @@ _mesa_buffer_unmap( GLcontext *ctx, GLenum target,
* Called via glCopyBuffserSubData().
*/
static void
-_mesa_copy_buffer_subdata(GLcontext *ctx,
+_mesa_copy_buffer_subdata(struct gl_context *ctx,
struct gl_buffer_object *src,
struct gl_buffer_object *dst,
GLintptr readOffset, GLintptr writeOffset,
@@ -546,7 +546,7 @@ _mesa_copy_buffer_subdata(GLcontext *ctx,
* Initialize the state associated with buffer objects
*/
void
-_mesa_init_buffer_objects( GLcontext *ctx )
+_mesa_init_buffer_objects( struct gl_context *ctx )
{
_mesa_reference_buffer_object(ctx, &ctx->Array.ArrayBufferObj,
ctx->Shared->NullBufferObj);
@@ -561,7 +561,7 @@ _mesa_init_buffer_objects( GLcontext *ctx )
void
-_mesa_free_buffer_objects( GLcontext *ctx )
+_mesa_free_buffer_objects( struct gl_context *ctx )
{
_mesa_reference_buffer_object(ctx, &ctx->Array.ArrayBufferObj, NULL);
_mesa_reference_buffer_object(ctx, &ctx->Array.ElementArrayBufferObj, NULL);
@@ -576,7 +576,7 @@ _mesa_free_buffer_objects( GLcontext *ctx )
* Called by glBindBuffer() and other functions.
*/
static void
-bind_buffer_object(GLcontext *ctx, GLenum target, GLuint buffer)
+bind_buffer_object(struct gl_context *ctx, GLenum target, GLuint buffer)
{
struct gl_buffer_object *oldBufObj;
struct gl_buffer_object *newBufObj = NULL;
@@ -632,7 +632,7 @@ bind_buffer_object(GLcontext *ctx, GLenum target, GLuint buffer)
* shared state.
*/
void
-_mesa_update_default_objects_buffer_objects(GLcontext *ctx)
+_mesa_update_default_objects_buffer_objects(struct gl_context *ctx)
{
/* Bind the NullBufferObj to remove references to those
* in the shared context hash table.
@@ -716,7 +716,7 @@ _mesa_validate_pbo_access(GLuint dimensions,
* \return NULL if error, else pointer to start of data
*/
const GLvoid *
-_mesa_map_pbo_source(GLcontext *ctx,
+_mesa_map_pbo_source(struct gl_context *ctx,
const struct gl_pixelstore_attrib *unpack,
const GLvoid *src)
{
@@ -750,7 +750,7 @@ _mesa_map_pbo_source(GLcontext *ctx,
* _mesa_unmap_pbo_source().
*/
const GLvoid *
-_mesa_map_validate_pbo_source(GLcontext *ctx,
+_mesa_map_validate_pbo_source(struct gl_context *ctx,
GLuint dimensions,
const struct gl_pixelstore_attrib *unpack,
GLsizei width, GLsizei height, GLsizei depth,
@@ -786,7 +786,7 @@ _mesa_map_validate_pbo_source(GLcontext *ctx,
* Counterpart to _mesa_map_pbo_source()
*/
void
-_mesa_unmap_pbo_source(GLcontext *ctx,
+_mesa_unmap_pbo_source(struct gl_context *ctx,
const struct gl_pixelstore_attrib *unpack)
{
ASSERT(unpack != &ctx->Pack); /* catch pack/unpack mismatch */
@@ -806,7 +806,7 @@ _mesa_unmap_pbo_source(GLcontext *ctx,
* \return NULL if error, else pointer to start of data
*/
void *
-_mesa_map_pbo_dest(GLcontext *ctx,
+_mesa_map_pbo_dest(struct gl_context *ctx,
const struct gl_pixelstore_attrib *pack,
GLvoid *dest)
{
@@ -840,7 +840,7 @@ _mesa_map_pbo_dest(GLcontext *ctx,
* _mesa_unmap_pbo_dest().
*/
GLvoid *
-_mesa_map_validate_pbo_dest(GLcontext *ctx,
+_mesa_map_validate_pbo_dest(struct gl_context *ctx,
GLuint dimensions,
const struct gl_pixelstore_attrib *unpack,
GLsizei width, GLsizei height, GLsizei depth,
@@ -876,7 +876,7 @@ _mesa_map_validate_pbo_dest(GLcontext *ctx,
* Counterpart to _mesa_map_pbo_dest()
*/
void
-_mesa_unmap_pbo_dest(GLcontext *ctx,
+_mesa_unmap_pbo_dest(struct gl_context *ctx,
const struct gl_pixelstore_attrib *pack)
{
ASSERT(pack != &ctx->Unpack); /* catch pack/unpack mismatch */
@@ -892,7 +892,7 @@ _mesa_unmap_pbo_dest(GLcontext *ctx,
* Always return NULL for ID 0.
*/
struct gl_buffer_object *
-_mesa_lookup_bufferobj(GLcontext *ctx, GLuint buffer)
+_mesa_lookup_bufferobj(struct gl_context *ctx, GLuint buffer)
{
if (buffer == 0)
return NULL;
@@ -909,7 +909,7 @@ _mesa_lookup_bufferobj(GLcontext *ctx, GLuint buffer)
* unbound from all arrays in the current context.
*/
static void
-unbind(GLcontext *ctx,
+unbind(struct gl_context *ctx,
struct gl_buffer_object **ptr,
struct gl_buffer_object *obj)
{
@@ -1754,7 +1754,7 @@ _mesa_FlushMappedBufferRange(GLenum target, GLintptr offset, GLsizeiptr length)
#if FEATURE_APPLE_object_purgeable
static GLenum
-_mesa_BufferObjectPurgeable(GLcontext *ctx, GLuint name, GLenum option)
+_mesa_BufferObjectPurgeable(struct gl_context *ctx, GLuint name, GLenum option)
{
struct gl_buffer_object *bufObj;
GLenum retval;
@@ -1787,7 +1787,7 @@ _mesa_BufferObjectPurgeable(GLcontext *ctx, GLuint name, GLenum option)
static GLenum
-_mesa_RenderObjectPurgeable(GLcontext *ctx, GLuint name, GLenum option)
+_mesa_RenderObjectPurgeable(struct gl_context *ctx, GLuint name, GLenum option)
{
struct gl_renderbuffer *bufObj;
GLenum retval;
@@ -1816,7 +1816,7 @@ _mesa_RenderObjectPurgeable(GLcontext *ctx, GLuint name, GLenum option)
static GLenum
-_mesa_TextureObjectPurgeable(GLcontext *ctx, GLuint name, GLenum option)
+_mesa_TextureObjectPurgeable(struct gl_context *ctx, GLuint name, GLenum option)
{
struct gl_texture_object *bufObj;
GLenum retval;
@@ -1897,7 +1897,7 @@ _mesa_ObjectPurgeableAPPLE(GLenum objectType, GLuint name, GLenum option)
static GLenum
-_mesa_BufferObjectUnpurgeable(GLcontext *ctx, GLuint name, GLenum option)
+_mesa_BufferObjectUnpurgeable(struct gl_context *ctx, GLuint name, GLenum option)
{
struct gl_buffer_object *bufObj;
GLenum retval;
@@ -1927,7 +1927,7 @@ _mesa_BufferObjectUnpurgeable(GLcontext *ctx, GLuint name, GLenum option)
static GLenum
-_mesa_RenderObjectUnpurgeable(GLcontext *ctx, GLuint name, GLenum option)
+_mesa_RenderObjectUnpurgeable(struct gl_context *ctx, GLuint name, GLenum option)
{
struct gl_renderbuffer *bufObj;
GLenum retval;
@@ -1957,7 +1957,7 @@ _mesa_RenderObjectUnpurgeable(GLcontext *ctx, GLuint name, GLenum option)
static GLenum
-_mesa_TextureObjectUnpurgeable(GLcontext *ctx, GLuint name, GLenum option)
+_mesa_TextureObjectUnpurgeable(struct gl_context *ctx, GLuint name, GLenum option)
{
struct gl_texture_object *bufObj;
GLenum retval;
@@ -2027,7 +2027,7 @@ _mesa_ObjectUnpurgeableAPPLE(GLenum objectType, GLuint name, GLenum option)
static void
-_mesa_GetBufferObjectParameterivAPPLE(GLcontext *ctx, GLuint name,
+_mesa_GetBufferObjectParameterivAPPLE(struct gl_context *ctx, GLuint name,
GLenum pname, GLint* params)
{
struct gl_buffer_object *bufObj;
@@ -2053,7 +2053,7 @@ _mesa_GetBufferObjectParameterivAPPLE(GLcontext *ctx, GLuint name,
static void
-_mesa_GetRenderObjectParameterivAPPLE(GLcontext *ctx, GLuint name,
+_mesa_GetRenderObjectParameterivAPPLE(struct gl_context *ctx, GLuint name,
GLenum pname, GLint* params)
{
struct gl_renderbuffer *bufObj;
@@ -2079,7 +2079,7 @@ _mesa_GetRenderObjectParameterivAPPLE(GLcontext *ctx, GLuint name,
static void
-_mesa_GetTextureObjectParameterivAPPLE(GLcontext *ctx, GLuint name,
+_mesa_GetTextureObjectParameterivAPPLE(struct gl_context *ctx, GLuint name,
GLenum pname, GLint* params)
{
struct gl_texture_object *bufObj;
diff --git a/src/mesa/main/bufferobj.h b/src/mesa/main/bufferobj.h
index f234d06c6cc..4b97e34767e 100644
--- a/src/mesa/main/bufferobj.h
+++ b/src/mesa/main/bufferobj.h
@@ -57,24 +57,24 @@ _mesa_is_bufferobj(const struct gl_buffer_object *obj)
extern void
-_mesa_init_buffer_objects( GLcontext *ctx );
+_mesa_init_buffer_objects( struct gl_context *ctx );
extern void
-_mesa_free_buffer_objects( GLcontext *ctx );
+_mesa_free_buffer_objects( struct gl_context *ctx );
extern void
-_mesa_update_default_objects_buffer_objects(GLcontext *ctx);
+_mesa_update_default_objects_buffer_objects(struct gl_context *ctx);
extern struct gl_buffer_object *
-_mesa_lookup_bufferobj(GLcontext *ctx, GLuint buffer);
+_mesa_lookup_bufferobj(struct gl_context *ctx, GLuint buffer);
extern void
_mesa_initialize_buffer_object( struct gl_buffer_object *obj,
GLuint name, GLenum target );
extern void
-_mesa_reference_buffer_object(GLcontext *ctx,
+_mesa_reference_buffer_object(struct gl_context *ctx,
struct gl_buffer_object **ptr,
struct gl_buffer_object *bufObj);
@@ -85,12 +85,12 @@ _mesa_validate_pbo_access(GLuint dimensions,
GLenum format, GLenum type, const GLvoid *ptr);
extern const GLvoid *
-_mesa_map_pbo_source(GLcontext *ctx,
+_mesa_map_pbo_source(struct gl_context *ctx,
const struct gl_pixelstore_attrib *unpack,
const GLvoid *src);
extern const GLvoid *
-_mesa_map_validate_pbo_source(GLcontext *ctx,
+_mesa_map_validate_pbo_source(struct gl_context *ctx,
GLuint dimensions,
const struct gl_pixelstore_attrib *unpack,
GLsizei width, GLsizei height, GLsizei depth,
@@ -98,16 +98,16 @@ _mesa_map_validate_pbo_source(GLcontext *ctx,
const char *where);
extern void
-_mesa_unmap_pbo_source(GLcontext *ctx,
+_mesa_unmap_pbo_source(struct gl_context *ctx,
const struct gl_pixelstore_attrib *unpack);
extern void *
-_mesa_map_pbo_dest(GLcontext *ctx,
+_mesa_map_pbo_dest(struct gl_context *ctx,
const struct gl_pixelstore_attrib *pack,
GLvoid *dest);
extern GLvoid *
-_mesa_map_validate_pbo_dest(GLcontext *ctx,
+_mesa_map_validate_pbo_dest(struct gl_context *ctx,
GLuint dimensions,
const struct gl_pixelstore_attrib *unpack,
GLsizei width, GLsizei height, GLsizei depth,
@@ -115,7 +115,7 @@ _mesa_map_validate_pbo_dest(GLcontext *ctx,
const char *where);
extern void
-_mesa_unmap_pbo_dest(GLcontext *ctx,
+_mesa_unmap_pbo_dest(struct gl_context *ctx,
const struct gl_pixelstore_attrib *pack);
diff --git a/src/mesa/main/buffers.c b/src/mesa/main/buffers.c
index fb30b599609..86446311fe3 100644
--- a/src/mesa/main/buffers.c
+++ b/src/mesa/main/buffers.c
@@ -50,7 +50,7 @@
* \return bitmask of BUFFER_BIT_* flags
*/
static GLbitfield
-supported_buffer_bitmask(const GLcontext *ctx, const struct gl_framebuffer *fb)
+supported_buffer_bitmask(const struct gl_context *ctx, const struct gl_framebuffer *fb)
{
GLbitfield mask = 0x0;
@@ -355,7 +355,7 @@ _mesa_DrawBuffersARB(GLsizei n, const GLenum *buffers)
* BUFFER_BIT_FRONT_LEFT | BUFFER_BIT_BACK_LEFT).
*/
void
-_mesa_drawbuffers(GLcontext *ctx, GLuint n, const GLenum *buffers,
+_mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers,
const GLbitfield *destMask)
{
struct gl_framebuffer *fb = ctx->DrawBuffer;
@@ -452,7 +452,7 @@ _mesa_drawbuffers(GLcontext *ctx, GLuint n, const GLenum *buffers,
* \param bufferIndex the numerical index corresponding to 'buffer'
*/
void
-_mesa_readbuffer(GLcontext *ctx, GLenum buffer, GLint bufferIndex)
+_mesa_readbuffer(struct gl_context *ctx, GLenum buffer, GLint bufferIndex)
{
struct gl_framebuffer *fb = ctx->ReadBuffer;
diff --git a/src/mesa/main/buffers.h b/src/mesa/main/buffers.h
index 8a7e7b5c1f0..36d6c8b6608 100644
--- a/src/mesa/main/buffers.h
+++ b/src/mesa/main/buffers.h
@@ -43,11 +43,11 @@ extern void GLAPIENTRY
_mesa_DrawBuffersARB(GLsizei n, const GLenum *buffers);
extern void
-_mesa_drawbuffers(GLcontext *ctx, GLuint n, const GLenum *buffers,
+_mesa_drawbuffers(struct gl_context *ctx, GLuint n, const GLenum *buffers,
const GLbitfield *destMask);
extern void
-_mesa_readbuffer(GLcontext *ctx, GLenum buffer, GLint bufferIndex);
+_mesa_readbuffer(struct gl_context *ctx, GLenum buffer, GLint bufferIndex);
extern void GLAPIENTRY
_mesa_ReadBuffer( GLenum mode );
diff --git a/src/mesa/main/clear.c b/src/mesa/main/clear.c
index 49d86b3b1f1..61bc836a38d 100644
--- a/src/mesa/main/clear.c
+++ b/src/mesa/main/clear.c
@@ -96,11 +96,73 @@ _mesa_ClearColor( GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha )
/**
+ * GL_EXT_texture_integer
+ */
+void GLAPIENTRY
+_mesa_ClearColorIiEXT(GLint r, GLint g, GLint b, GLint a)
+{
+ GLfloat tmp[4];
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+
+ tmp[0] = (GLfloat) r;
+ tmp[1] = (GLfloat) g;
+ tmp[2] = (GLfloat) b;
+ tmp[3] = (GLfloat) a;
+
+ if (TEST_EQ_4V(tmp, ctx->Color.ClearColor))
+ return; /* no change */
+
+ FLUSH_VERTICES(ctx, _NEW_COLOR);
+
+ /* XXX we should eventually have a float/int/uint union for
+ * the ctx->Color.ClearColor state.
+ */
+ COPY_4V(ctx->Color.ClearColor, tmp);
+
+ if (ctx->Driver.ClearColor) {
+ ctx->Driver.ClearColor(ctx, ctx->Color.ClearColor);
+ }
+}
+
+
+/**
+ * GL_EXT_texture_integer
+ */
+void GLAPIENTRY
+_mesa_ClearColorIuiEXT(GLuint r, GLuint g, GLuint b, GLuint a)
+{
+ GLfloat tmp[4];
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+
+ tmp[0] = (GLfloat) r;
+ tmp[1] = (GLfloat) g;
+ tmp[2] = (GLfloat) b;
+ tmp[3] = (GLfloat) a;
+
+ if (TEST_EQ_4V(tmp, ctx->Color.ClearColor))
+ return; /* no change */
+
+ FLUSH_VERTICES(ctx, _NEW_COLOR);
+
+ /* XXX we should eventually have a float/int/uint union for
+ * the ctx->Color.ClearColor state.
+ */
+ COPY_4V(ctx->Color.ClearColor, tmp);
+
+ if (ctx->Driver.ClearColor) {
+ ctx->Driver.ClearColor(ctx, ctx->Color.ClearColor);
+ }
+}
+
+
+/**
* Clear buffers.
*
* \param mask bit-mask indicating the buffers to be cleared.
*
- * Flushes the vertices and verifies the parameter. If __GLcontextRec::NewState
+ * Flushes the vertices and verifies the parameter. If __struct gl_contextRec::NewState
* is set then calls _mesa_update_state() to update gl_frame_buffer::_Xmin,
* etc. If the rasterization mode is set to GL_RENDER then requests the driver
* to clear the buffers, via the dd_function_table::Clear callback.
@@ -191,7 +253,7 @@ _mesa_Clear( GLbitfield mask )
* Return INVALID_MASK if the drawbuffer value is invalid.
*/
static GLbitfield
-make_color_buffer_mask(GLcontext *ctx, GLint drawbuffer)
+make_color_buffer_mask(struct gl_context *ctx, GLint drawbuffer)
{
const struct gl_renderbuffer_attachment *att = ctx->DrawBuffer->Attachment;
GLbitfield mask = 0x0;
diff --git a/src/mesa/main/clear.h b/src/mesa/main/clear.h
index 6657370c4b6..78327192034 100644
--- a/src/mesa/main/clear.h
+++ b/src/mesa/main/clear.h
@@ -38,6 +38,13 @@ _mesa_ClearColor( GLclampf red, GLclampf green,
GLclampf blue, GLclampf alpha );
extern void GLAPIENTRY
+_mesa_ClearColorIiEXT(GLint r, GLint g, GLint b, GLint a);
+
+extern void GLAPIENTRY
+_mesa_ClearColorIuiEXT(GLuint r, GLuint g, GLuint b, GLuint a);
+
+
+extern void GLAPIENTRY
_mesa_Clear( GLbitfield mask );
diff --git a/src/mesa/main/colortab.c b/src/mesa/main/colortab.c
index 5c2697d40af..caa95835bc2 100644
--- a/src/mesa/main/colortab.c
+++ b/src/mesa/main/colortab.c
@@ -29,6 +29,7 @@
#include "context.h"
#include "image.h"
#include "macros.h"
+#include "pack.h"
#include "state.h"
#include "teximage.h"
#include "texstate.h"
@@ -176,7 +177,7 @@ set_component_sizes( struct gl_color_table *table )
* \param [rgba]Bias - RGBA bias factors
*/
static void
-store_colortable_entries(GLcontext *ctx, struct gl_color_table *table,
+store_colortable_entries(struct gl_context *ctx, struct gl_color_table *table,
GLsizei start, GLsizei count,
GLenum format, GLenum type, const GLvoid *data,
GLfloat rScale, GLfloat rBias,
diff --git a/src/mesa/main/condrender.c b/src/mesa/main/condrender.c
index 8d9a91d5478..25b3dd678dc 100644
--- a/src/mesa/main/condrender.c
+++ b/src/mesa/main/condrender.c
@@ -117,7 +117,7 @@ _mesa_EndConditionalRender(void)
* \return GL_TRUE if we should render, GL_FALSE if we should discard
*/
GLboolean
-_mesa_check_conditional_render(GLcontext *ctx)
+_mesa_check_conditional_render(struct gl_context *ctx)
{
struct gl_query_object *q = ctx->Query.CondRenderQuery;
diff --git a/src/mesa/main/condrender.h b/src/mesa/main/condrender.h
index d55e9805fe9..cf6d4ca2893 100644
--- a/src/mesa/main/condrender.h
+++ b/src/mesa/main/condrender.h
@@ -39,7 +39,7 @@ extern void APIENTRY
_mesa_EndConditionalRender(void);
extern GLboolean
-_mesa_check_conditional_render(GLcontext *ctx);
+_mesa_check_conditional_render(struct gl_context *ctx);
#endif /* CONDRENDER_H */
diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index 00132514d77..3ebe54926ff 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -137,7 +137,7 @@
#endif
#include "glsl_parser_extras.h"
-
+#include <stdbool.h>
#ifndef MESA_VERBOSE
@@ -163,7 +163,7 @@ GLfloat _mesa_ubyte_to_float_color_tab[256];
* We have to finish any pending rendering.
*/
void
-_mesa_notifySwapBuffers(__GLcontext *ctx)
+_mesa_notifySwapBuffers(struct gl_context *ctx)
{
if (MESA_VERBOSE & VERBOSE_SWAPBUFFERS)
_mesa_debug(ctx, "SwapBuffers\n");
@@ -180,7 +180,7 @@ _mesa_notifySwapBuffers(__GLcontext *ctx)
/*@{*/
/**
- * Allocates a GLvisual structure and initializes it via
+ * Allocates a struct gl_config structure and initializes it via
* _mesa_initialize_visual().
*
* \param dbFlag double buffering
@@ -198,12 +198,12 @@ _mesa_notifySwapBuffers(__GLcontext *ctx)
* \param alphaBits same as above.
* \param numSamples not really used.
*
- * \return pointer to new GLvisual or NULL if requested parameters can't be
+ * \return pointer to new struct gl_config or NULL if requested parameters can't be
* met.
*
* \note Need to add params for level and numAuxBuffers (at least)
*/
-GLvisual *
+struct gl_config *
_mesa_create_visual( GLboolean dbFlag,
GLboolean stereoFlag,
GLint redBits,
@@ -218,7 +218,7 @@ _mesa_create_visual( GLboolean dbFlag,
GLint accumAlphaBits,
GLint numSamples )
{
- GLvisual *vis = (GLvisual *) calloc(1, sizeof(GLvisual));
+ struct gl_config *vis = (struct gl_config *) calloc(1, sizeof(struct gl_config));
if (vis) {
if (!_mesa_initialize_visual(vis, dbFlag, stereoFlag,
redBits, greenBits, blueBits, alphaBits,
@@ -235,15 +235,15 @@ _mesa_create_visual( GLboolean dbFlag,
/**
* Makes some sanity checks and fills in the fields of the
- * GLvisual object with the given parameters. If the caller needs
- * to set additional fields, he should just probably init the whole GLvisual
+ * struct gl_config object with the given parameters. If the caller needs
+ * to set additional fields, he should just probably init the whole struct gl_config
* object himself.
* \return GL_TRUE on success, or GL_FALSE on failure.
*
* \sa _mesa_create_visual() above for the parameter description.
*/
GLboolean
-_mesa_initialize_visual( GLvisual *vis,
+_mesa_initialize_visual( struct gl_config *vis,
GLboolean dbFlag,
GLboolean stereoFlag,
GLint redBits,
@@ -296,7 +296,6 @@ _mesa_initialize_visual( GLvisual *vis,
vis->numAuxBuffers = 0;
vis->level = 0;
- vis->pixmapMode = 0;
vis->sampleBuffers = numSamples > 0 ? 1 : 0;
vis->samples = numSamples;
@@ -312,7 +311,7 @@ _mesa_initialize_visual( GLvisual *vis,
* Frees the visual structure.
*/
void
-_mesa_destroy_visual( GLvisual *vis )
+_mesa_destroy_visual( struct gl_config *vis )
{
free(vis);
}
@@ -378,7 +377,7 @@ _glthread_DECLARE_STATIC_MUTEX(OneTimeLock);
* \sa _math_init().
*/
static void
-one_time_init( GLcontext *ctx )
+one_time_init( struct gl_context *ctx )
{
static GLboolean alreadyCalled = GL_FALSE;
(void) ctx;
@@ -445,7 +444,7 @@ one_time_init( GLcontext *ctx )
* Initialize fields of gl_current_attrib (aka ctx->Current.*)
*/
static void
-_mesa_init_current(GLcontext *ctx)
+_mesa_init_current(struct gl_context *ctx)
{
GLuint i;
@@ -527,7 +526,7 @@ init_program_limits(GLenum type, struct gl_program_constants *prog)
* some of these values (such as number of texture units).
*/
static void
-_mesa_init_constants(GLcontext *ctx)
+_mesa_init_constants(struct gl_context *ctx)
{
assert(ctx);
@@ -593,11 +592,7 @@ _mesa_init_constants(GLcontext *ctx)
/* Shading language version */
if (ctx->API == API_OPENGL) {
-#if FEATURE_ARB_shading_language_120
ctx->Const.GLSLVersion = 120;
-#else
- ctx->Const.GLSLVersion = 110;
-#endif
}
else if (ctx->API == API_OPENGLES2) {
ctx->Const.GLSLVersion = 100;
@@ -633,7 +628,7 @@ _mesa_init_constants(GLcontext *ctx)
* Only called the first time a context is bound.
*/
static void
-check_context_limits(GLcontext *ctx)
+check_context_limits(struct gl_context *ctx)
{
/* check that we don't exceed the size of various bitfields */
assert(VERT_RESULT_MAX <=
@@ -708,7 +703,7 @@ check_context_limits(GLcontext *ctx)
* functions for the more complex data structures.
*/
static GLboolean
-init_attrib_groups(GLcontext *ctx)
+init_attrib_groups(struct gl_context *ctx)
{
assert(ctx);
@@ -776,7 +771,7 @@ init_attrib_groups(GLcontext *ctx)
* state.
*/
static GLboolean
-update_default_objects(GLcontext *ctx)
+update_default_objects(struct gl_context *ctx)
{
assert(ctx);
@@ -828,7 +823,7 @@ _mesa_alloc_dispatch_table(int size)
/**
- * Initialize a GLcontext struct (rendering context).
+ * Initialize a struct gl_context struct (rendering context).
*
* This includes allocating all the other structs and arrays which hang off of
* the context by pointers.
@@ -855,10 +850,10 @@ _mesa_alloc_dispatch_table(int size)
* \param driverContext pointer to driver-specific context data
*/
GLboolean
-_mesa_initialize_context_for_api(GLcontext *ctx,
+_mesa_initialize_context_for_api(struct gl_context *ctx,
gl_api api,
- const GLvisual *visual,
- GLcontext *share_list,
+ const struct gl_config *visual,
+ struct gl_context *share_list,
const struct dd_function_table *driverFunctions,
void *driverContext)
{
@@ -950,11 +945,6 @@ _mesa_initialize_context_for_api(GLcontext *ctx,
switch (ctx->API) {
case API_OPENGL:
- /* Neutral tnl module stuff */
- _mesa_init_exec_vtxfmt( ctx );
- ctx->TnlModule.Current = NULL;
- ctx->TnlModule.SwapCount = 0;
-
#if FEATURE_dlist
ctx->Save = _mesa_create_save_table();
if (!ctx->Save) {
@@ -994,9 +984,9 @@ _mesa_initialize_context_for_api(GLcontext *ctx,
}
GLboolean
-_mesa_initialize_context(GLcontext *ctx,
- const GLvisual *visual,
- GLcontext *share_list,
+_mesa_initialize_context(struct gl_context *ctx,
+ const struct gl_config *visual,
+ struct gl_context *share_list,
const struct dd_function_table *driverFunctions,
void *driverContext)
{
@@ -1009,33 +999,33 @@ _mesa_initialize_context(GLcontext *ctx,
}
/**
- * Allocate and initialize a GLcontext structure.
+ * Allocate and initialize a struct gl_context structure.
* Note that the driver needs to pass in its dd_function_table here since
* we need to at least call driverFunctions->NewTextureObject to initialize
* the rendering context.
*
* \param api the GL API type to create the context for
- * \param visual a GLvisual pointer (we copy the struct contents)
+ * \param visual a struct gl_config pointer (we copy the struct contents)
* \param share_list another context to share display lists with or NULL
* \param driverFunctions points to the dd_function_table into which the
* driver has plugged in all its special functions.
* \param driverContext points to the device driver's private context state
*
- * \return pointer to a new __GLcontextRec or NULL if error.
+ * \return pointer to a new __struct gl_contextRec or NULL if error.
*/
-GLcontext *
+struct gl_context *
_mesa_create_context_for_api(gl_api api,
- const GLvisual *visual,
- GLcontext *share_list,
+ const struct gl_config *visual,
+ struct gl_context *share_list,
const struct dd_function_table *driverFunctions,
void *driverContext)
{
- GLcontext *ctx;
+ struct gl_context *ctx;
ASSERT(visual);
/*ASSERT(driverContext);*/
- ctx = (GLcontext *) calloc(1, sizeof(GLcontext));
+ ctx = (struct gl_context *) calloc(1, sizeof(struct gl_context));
if (!ctx)
return NULL;
@@ -1049,9 +1039,9 @@ _mesa_create_context_for_api(gl_api api,
}
}
-GLcontext *
-_mesa_create_context(const GLvisual *visual,
- GLcontext *share_list,
+struct gl_context *
+_mesa_create_context(const struct gl_config *visual,
+ struct gl_context *share_list,
const struct dd_function_table *driverFunctions,
void *driverContext)
{
@@ -1064,12 +1054,12 @@ _mesa_create_context(const GLvisual *visual,
/**
* Free the data associated with the given context.
*
- * But doesn't free the GLcontext struct itself.
+ * But doesn't free the struct gl_context struct itself.
*
* \sa _mesa_initialize_context() and init_attrib_groups().
*/
void
-_mesa_free_context_data( GLcontext *ctx )
+_mesa_free_context_data( struct gl_context *ctx )
{
if (!_mesa_get_current_context()){
/* No current context, but we may need one in order to delete
@@ -1143,14 +1133,14 @@ _mesa_free_context_data( GLcontext *ctx )
/**
- * Destroy a GLcontext structure.
+ * Destroy a struct gl_context structure.
*
* \param ctx GL context.
*
- * Calls _mesa_free_context_data() and frees the GLcontext structure itself.
+ * Calls _mesa_free_context_data() and frees the struct gl_context structure itself.
*/
void
-_mesa_destroy_context( GLcontext *ctx )
+_mesa_destroy_context( struct gl_context *ctx )
{
if (ctx) {
_mesa_free_context_data(ctx);
@@ -1173,7 +1163,7 @@ _mesa_destroy_context( GLcontext *ctx )
* structures.
*/
void
-_mesa_copy_context( const GLcontext *src, GLcontext *dst, GLuint mask )
+_mesa_copy_context( const struct gl_context *src, struct gl_context *dst, GLuint mask )
{
if (mask & GL_ACCUM_BUFFER_BIT) {
/* OK to memcpy */
@@ -1292,10 +1282,10 @@ _mesa_copy_context( const GLcontext *src, GLcontext *dst, GLuint mask )
* \return GL_TRUE if compatible, GL_FALSE otherwise.
*/
static GLboolean
-check_compatible(const GLcontext *ctx, const GLframebuffer *buffer)
+check_compatible(const struct gl_context *ctx, const struct gl_framebuffer *buffer)
{
- const GLvisual *ctxvis = &ctx->Visual;
- const GLvisual *bufvis = &buffer->Visual;
+ const struct gl_config *ctxvis = &ctx->Visual;
+ const struct gl_config *bufvis = &buffer->Visual;
if (ctxvis == bufvis)
return GL_TRUE;
@@ -1341,7 +1331,7 @@ check_compatible(const GLcontext *ctx, const GLframebuffer *buffer)
* Really, the device driver should totally take care of this.
*/
static void
-initialize_framebuffer_size(GLcontext *ctx, GLframebuffer *fb)
+initialize_framebuffer_size(struct gl_context *ctx, struct gl_framebuffer *fb)
{
GLuint width, height;
if (ctx->Driver.GetBufferSize) {
@@ -1358,7 +1348,7 @@ initialize_framebuffer_size(GLcontext *ctx, GLframebuffer *fb)
* Initialize the size if the given width and height are non-zero.
*/
void
-_mesa_check_init_viewport(GLcontext *ctx, GLuint width, GLuint height)
+_mesa_check_init_viewport(struct gl_context *ctx, GLuint width, GLuint height)
{
if (!ctx->ViewportInitialized && width > 0 && height > 0) {
/* Note: set flag here, before calling _mesa_set_viewport(), to prevent
@@ -1386,8 +1376,8 @@ _mesa_check_init_viewport(GLcontext *ctx, GLuint width, GLuint height)
* \param readBuffer the reading framebuffer
*/
GLboolean
-_mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
- GLframebuffer *readBuffer )
+_mesa_make_current( struct gl_context *newCtx, struct gl_framebuffer *drawBuffer,
+ struct gl_framebuffer *readBuffer )
{
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(newCtx, "_mesa_make_current()\n");
@@ -1525,7 +1515,7 @@ _mesa_make_current( GLcontext *newCtx, GLframebuffer *drawBuffer,
* be deleted if nobody else is sharing them.
*/
GLboolean
-_mesa_share_state(GLcontext *ctx, GLcontext *ctxToShare)
+_mesa_share_state(struct gl_context *ctx, struct gl_context *ctxToShare)
{
if (ctx && ctxToShare && ctx->Shared && ctxToShare->Shared) {
struct gl_shared_state *oldSharedState = ctx->Shared;
@@ -1556,10 +1546,10 @@ _mesa_share_state(GLcontext *ctx, GLcontext *ctxToShare)
* context. If you need speed, see the #GET_CURRENT_CONTEXT macro in
* context.h.
*/
-GLcontext *
+struct gl_context *
_mesa_get_current_context( void )
{
- return (GLcontext *) _glapi_get_context();
+ return (struct gl_context *) _glapi_get_context();
}
@@ -1573,10 +1563,10 @@ _mesa_get_current_context( void )
*
* \return pointer to dispatch_table.
*
- * Simply returns __GLcontextRec::CurrentDispatch.
+ * Simply returns __struct gl_contextRec::CurrentDispatch.
*/
struct _glapi_table *
-_mesa_get_dispatch(GLcontext *ctx)
+_mesa_get_dispatch(struct gl_context *ctx)
{
return ctx->CurrentDispatch;
}
@@ -1602,7 +1592,7 @@ _mesa_get_dispatch(GLcontext *ctx)
* This is called via _mesa_error().
*/
void
-_mesa_record_error(GLcontext *ctx, GLenum error)
+_mesa_record_error(struct gl_context *ctx, GLenum error)
{
if (!ctx)
return;
@@ -1622,7 +1612,7 @@ _mesa_record_error(GLcontext *ctx, GLenum error)
* Flush commands and wait for completion.
*/
void
-_mesa_finish(GLcontext *ctx)
+_mesa_finish(struct gl_context *ctx)
{
FLUSH_CURRENT( ctx, 0 );
if (ctx->Driver.Finish) {
@@ -1635,7 +1625,7 @@ _mesa_finish(GLcontext *ctx)
* Flush commands.
*/
void
-_mesa_flush(GLcontext *ctx)
+_mesa_flush(struct gl_context *ctx)
{
FLUSH_CURRENT( ctx, 0 );
if (ctx->Driver.Flush) {
@@ -1681,7 +1671,7 @@ _mesa_Flush(void)
* Otherwise we default to MUL/MAD.
*/
void
-_mesa_set_mvp_with_dp4( GLcontext *ctx,
+_mesa_set_mvp_with_dp4( struct gl_context *ctx,
GLboolean flag )
{
ctx->mvp_with_dp4 = flag;
@@ -1697,15 +1687,20 @@ _mesa_set_mvp_with_dp4( GLcontext *ctx,
* \return GL_TRUE if OK to render, GL_FALSE if not
*/
GLboolean
-_mesa_valid_to_render(GLcontext *ctx, const char *where)
+_mesa_valid_to_render(struct gl_context *ctx, const char *where)
{
+ bool vert_from_glsl_shader = false;
+ bool geom_from_glsl_shader = false;
+ bool frag_from_glsl_shader = false;
+
/* This depends on having up to date derived state (shaders) */
if (ctx->NewState)
_mesa_update_state(ctx);
- if (ctx->Shader.CurrentProgram) {
- /* using shaders */
- if (!ctx->Shader.CurrentProgram->LinkStatus) {
+ if (ctx->Shader.CurrentVertexProgram) {
+ vert_from_glsl_shader = true;
+
+ if (!ctx->Shader.CurrentVertexProgram->LinkStatus) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"%s(shader not linked)", where);
return GL_FALSE;
@@ -1713,23 +1708,86 @@ _mesa_valid_to_render(GLcontext *ctx, const char *where)
#if 0 /* not normally enabled */
{
char errMsg[100];
- if (!_mesa_validate_shader_program(ctx, ctx->Shader.CurrentProgram,
+ if (!_mesa_validate_shader_program(ctx,
+ ctx->Shader.CurrentVertexProgram,
errMsg)) {
_mesa_warning(ctx, "Shader program %u is invalid: %s",
- ctx->Shader.CurrentProgram->Name, errMsg);
+ ctx->Shader.CurrentVertexProgram->Name, errMsg);
}
}
#endif
}
- else {
- if (ctx->VertexProgram.Enabled && !ctx->VertexProgram._Enabled) {
+
+ if (ctx->Shader.CurrentGeometryProgram) {
+ geom_from_glsl_shader = true;
+
+ if (!ctx->Shader.CurrentGeometryProgram->LinkStatus) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "%s(shader not linked)", where);
+ return GL_FALSE;
+ }
+#if 0 /* not normally enabled */
+ {
+ char errMsg[100];
+ if (!_mesa_validate_shader_program(ctx,
+ ctx->Shader.CurrentGeometryProgram,
+ errMsg)) {
+ _mesa_warning(ctx, "Shader program %u is invalid: %s",
+ ctx->Shader.CurrentGeometryProgram->Name, errMsg);
+ }
+ }
+#endif
+ }
+
+ if (ctx->Shader.CurrentFragmentProgram) {
+ frag_from_glsl_shader = true;
+
+ if (!ctx->Shader.CurrentFragmentProgram->LinkStatus) {
_mesa_error(ctx, GL_INVALID_OPERATION,
- "%s(vertex program not valid)", where);
+ "%s(shader not linked)", where);
return GL_FALSE;
}
+#if 0 /* not normally enabled */
+ {
+ char errMsg[100];
+ if (!_mesa_validate_shader_program(ctx,
+ ctx->Shader.CurrentFragmentProgram,
+ errMsg)) {
+ _mesa_warning(ctx, "Shader program %u is invalid: %s",
+ ctx->Shader.CurrentFragmentProgram->Name, errMsg);
+ }
+ }
+#endif
+ }
+
+ /* Any shader stages that are not supplied by the GLSL shader and have
+ * assembly shaders enabled must now be validated.
+ */
+ if (!vert_from_glsl_shader
+ && ctx->VertexProgram.Enabled && !ctx->VertexProgram._Enabled) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "%s(vertex program not valid)", where);
+ return GL_FALSE;
+ }
+
+ /* FINISHME: If GL_NV_geometry_program4 is ever supported, the current
+ * FINISHME: geometry program should validated here.
+ */
+ (void) geom_from_glsl_shader;
+
+ if (!frag_from_glsl_shader) {
if (ctx->FragmentProgram.Enabled && !ctx->FragmentProgram._Enabled) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "%s(fragment program not valid)", where);
+ return GL_FALSE;
+ }
+
+ /* If drawing to integer-valued color buffers, there must be an
+ * active fragment shader (GL_EXT_texture_integer).
+ */
+ if (ctx->DrawBuffer && ctx->DrawBuffer->_IntegerColor) {
_mesa_error(ctx, GL_INVALID_OPERATION,
- "%s(fragment program not valid)", where);
+ "%s(integer format but no fragment shader)", where);
return GL_FALSE;
}
}
@@ -1742,26 +1800,51 @@ _mesa_valid_to_render(GLcontext *ctx, const char *where)
#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;
- }
+ struct gl_shader_program *shProg[MESA_SHADER_TYPES];
+ unsigned i;
+
+ shProg[MESA_SHADER_VERTEX] = ctx->Shader.CurrentVertexProgram;
+ shProg[MESA_SHADER_GEOMETRY] = ctx->Shader.CurrentGeometryProgram;
+ shProg[MESA_SHADER_FRAGMENT] = ctx->Shader.CurrentFragmentProgram;
+
+ for (i = 0; i < MESA_SHADER_TYPES; i++) {
+ struct gl_shader *sh;
+
+ if (shProg[i] == NULL || shProg[i]->_Used
+ || shProg[i]->_LinkedShaders[i] == NULL)
+ continue;
+
+ /* This is the first time this shader is being used.
+ * Append shader's constants/uniforms to log file.
+ *
+ * The logic is a little odd here. We only want to log data for each
+ * shader target that will actually be used, and we only want to log
+ * it once. It's possible to have a program bound to the vertex
+ * shader target that also supplied a fragment shader. If that
+ * program isn't also bound to the fragment shader target we don't
+ * want to log its fragment data.
+ */
+ sh = shProg[i]->_LinkedShaders[i];
+ switch (sh->Type) {
+ case GL_VERTEX_SHADER:
+ _mesa_append_uniforms_to_file(sh, &shProg[i]->VertexProgram->Base);
+ break;
+
+ case GL_GEOMETRY_SHADER_ARB:
+ _mesa_append_uniforms_to_file(sh,
+ &shProg[i]->GeometryProgram->Base);
+ break;
+
+ case GL_FRAGMENT_SHADER:
+ _mesa_append_uniforms_to_file(sh,
+ &shProg[i]->FragmentProgram->Base);
+ break;
+ }
+ }
+
+ for (i = 0; i < MESA_SHADER_TYPES; i++) {
+ if (shProg[i] != NULL)
+ shProg[i]->_Used = GL_TRUE;
}
}
#endif
diff --git a/src/mesa/main/context.h b/src/mesa/main/context.h
index c61da62826f..42d98a33a8d 100644
--- a/src/mesa/main/context.h
+++ b/src/mesa/main/context.h
@@ -29,16 +29,16 @@
*
* There are three large Mesa data types/classes which are meant to be
* used by device drivers:
- * - GLcontext: this contains the Mesa rendering state
- * - GLvisual: this describes the color buffer (RGB vs. ci), whether or not
+ * - struct gl_context: this contains the Mesa rendering state
+ * - struct gl_config: this describes the color buffer (RGB vs. ci), whether or not
* there's a depth buffer, stencil buffer, etc.
- * - GLframebuffer: contains pointers to the depth buffer, stencil buffer,
+ * - struct gl_framebuffer: contains pointers to the depth buffer, stencil buffer,
* accum buffer and alpha buffers.
*
* These types should be encapsulated by corresponding device driver
* data types. See xmesa.h and xmesaP.h for an example.
*
- * In OOP terms, GLcontext, GLvisual, and GLframebuffer are base classes
+ * In OOP terms, struct gl_context, struct gl_config, and struct gl_framebuffer are base classes
* which the device driver must derive from.
*
* The following functions create and destroy these data types.
@@ -59,7 +59,7 @@ struct _glapi_table;
/** \name Visual-related functions */
/*@{*/
-extern GLvisual *
+extern struct gl_config *
_mesa_create_visual( GLboolean dbFlag,
GLboolean stereoFlag,
GLint redBits,
@@ -75,7 +75,7 @@ _mesa_create_visual( GLboolean dbFlag,
GLint numSamples );
extern GLboolean
-_mesa_initialize_visual( GLvisual *v,
+_mesa_initialize_visual( struct gl_config *v,
GLboolean dbFlag,
GLboolean stereoFlag,
GLint redBits,
@@ -91,7 +91,7 @@ _mesa_initialize_visual( GLvisual *v,
GLint numSamples );
extern void
-_mesa_destroy_visual( GLvisual *vis );
+_mesa_destroy_visual( struct gl_config *vis );
/*@}*/
@@ -99,78 +99,78 @@ _mesa_destroy_visual( GLvisual *vis );
/** \name Context-related functions */
/*@{*/
-extern GLcontext *
-_mesa_create_context( const GLvisual *visual,
- GLcontext *share_list,
+extern struct gl_context *
+_mesa_create_context( const struct gl_config *visual,
+ struct gl_context *share_list,
const struct dd_function_table *driverFunctions,
void *driverContext );
extern GLboolean
-_mesa_initialize_context( GLcontext *ctx,
- const GLvisual *visual,
- GLcontext *share_list,
+_mesa_initialize_context( struct gl_context *ctx,
+ const struct gl_config *visual,
+ struct gl_context *share_list,
const struct dd_function_table *driverFunctions,
void *driverContext );
-extern GLcontext *
+extern struct gl_context *
_mesa_create_context_for_api(gl_api api,
- const GLvisual *visual,
- GLcontext *share_list,
+ const struct gl_config *visual,
+ struct gl_context *share_list,
const struct dd_function_table *driverFunctions,
void *driverContext);
extern GLboolean
-_mesa_initialize_context_for_api(GLcontext *ctx,
+_mesa_initialize_context_for_api(struct gl_context *ctx,
gl_api api,
- const GLvisual *visual,
- GLcontext *share_list,
+ const struct gl_config *visual,
+ struct gl_context *share_list,
const struct dd_function_table *driverFunctions,
void *driverContext);
extern void
-_mesa_free_context_data( GLcontext *ctx );
+_mesa_free_context_data( struct gl_context *ctx );
extern void
-_mesa_destroy_context( GLcontext *ctx );
+_mesa_destroy_context( struct gl_context *ctx );
extern void
-_mesa_copy_context(const GLcontext *src, GLcontext *dst, GLuint mask);
+_mesa_copy_context(const struct gl_context *src, struct gl_context *dst, GLuint mask);
extern void
-_mesa_check_init_viewport(GLcontext *ctx, GLuint width, GLuint height);
+_mesa_check_init_viewport(struct gl_context *ctx, GLuint width, GLuint height);
extern GLboolean
-_mesa_make_current( GLcontext *ctx, GLframebuffer *drawBuffer,
- GLframebuffer *readBuffer );
+_mesa_make_current( struct gl_context *ctx, struct gl_framebuffer *drawBuffer,
+ struct gl_framebuffer *readBuffer );
extern GLboolean
-_mesa_share_state(GLcontext *ctx, GLcontext *ctxToShare);
+_mesa_share_state(struct gl_context *ctx, struct gl_context *ctxToShare);
-extern GLcontext *
+extern struct gl_context *
_mesa_get_current_context(void);
/*@}*/
extern void
-_mesa_init_get_hash(GLcontext *ctx);
+_mesa_init_get_hash(struct gl_context *ctx);
extern void
-_mesa_notifySwapBuffers(__GLcontext *gc);
+_mesa_notifySwapBuffers(struct gl_context *gc);
extern struct _glapi_table *
-_mesa_get_dispatch(GLcontext *ctx);
+_mesa_get_dispatch(struct gl_context *ctx);
void
-_mesa_set_mvp_with_dp4( GLcontext *ctx,
+_mesa_set_mvp_with_dp4( struct gl_context *ctx,
GLboolean flag );
extern GLboolean
-_mesa_valid_to_render(GLcontext *ctx, const char *where);
+_mesa_valid_to_render(struct gl_context *ctx, const char *where);
@@ -178,14 +178,14 @@ _mesa_valid_to_render(GLcontext *ctx, const char *where);
/*@{*/
extern void
-_mesa_record_error( GLcontext *ctx, GLenum error );
+_mesa_record_error( struct gl_context *ctx, GLenum error );
extern void
-_mesa_finish(GLcontext *ctx);
+_mesa_finish(struct gl_context *ctx);
extern void
-_mesa_flush(GLcontext *ctx);
+_mesa_flush(struct gl_context *ctx);
extern void GLAPIENTRY
@@ -211,7 +211,7 @@ _mesa_Flush( void );
*
* Checks if dd_function_table::NeedFlush is marked to flush stored vertices,
* and calls dd_function_table::FlushVertices if so. Marks
- * __GLcontextRec::NewState with \p newstate.
+ * __struct gl_contextRec::NewState with \p newstate.
*/
#define FLUSH_VERTICES(ctx, newstate) \
do { \
@@ -230,7 +230,7 @@ do { \
*
* Checks if dd_function_table::NeedFlush is marked to flush current state,
* and calls dd_function_table::FlushVertices if so. Marks
- * __GLcontextRec::NewState with \p newstate.
+ * __struct gl_contextRec::NewState with \p newstate.
*/
#define FLUSH_CURRENT(ctx, newstate) \
do { \
diff --git a/src/mesa/main/dd.h b/src/mesa/main/dd.h
index 46d26cf901d..5e006e0ad30 100644
--- a/src/mesa/main/dd.h
+++ b/src/mesa/main/dd.h
@@ -70,7 +70,7 @@ struct dd_function_table {
* Only the GL_RENDERER query must be implemented. Otherwise, NULL can be
* returned.
*/
- const GLubyte * (*GetString)( GLcontext *ctx, GLenum name );
+ const GLubyte * (*GetString)( struct gl_context *ctx, GLenum name );
/**
* Notify the driver after Mesa has made some internal state changes.
@@ -78,7 +78,7 @@ struct dd_function_table {
* This is in addition to any state change callbacks Mesa may already have
* made.
*/
- void (*UpdateState)( GLcontext *ctx, GLbitfield new_state );
+ void (*UpdateState)( struct gl_context *ctx, GLbitfield new_state );
/**
* Get the width and height of the named buffer/window.
@@ -86,49 +86,49 @@ struct dd_function_table {
* Mesa uses this to determine when the driver's window size has changed.
* XXX OBSOLETE: this function will be removed in the future.
*/
- void (*GetBufferSize)( GLframebuffer *buffer,
+ void (*GetBufferSize)( struct gl_framebuffer *buffer,
GLuint *width, GLuint *height );
/**
* Resize the given framebuffer to the given size.
* XXX OBSOLETE: this function will be removed in the future.
*/
- void (*ResizeBuffers)( GLcontext *ctx, GLframebuffer *fb,
+ void (*ResizeBuffers)( struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint width, GLuint height);
/**
* Called whenever an error is generated.
- * __GLcontextRec::ErrorValue contains the error value.
+ * __struct gl_contextRec::ErrorValue contains the error value.
*/
- void (*Error)( GLcontext *ctx );
+ void (*Error)( struct gl_context *ctx );
/**
* This is called whenever glFinish() is called.
*/
- void (*Finish)( GLcontext *ctx );
+ void (*Finish)( struct gl_context *ctx );
/**
* This is called whenever glFlush() is called.
*/
- void (*Flush)( GLcontext *ctx );
+ void (*Flush)( struct gl_context *ctx );
/**
* Clear the color/depth/stencil/accum buffer(s).
* \param buffers a bitmask of BUFFER_BIT_* flags indicating which
* renderbuffers need to be cleared.
*/
- void (*Clear)( GLcontext *ctx, GLbitfield buffers );
+ void (*Clear)( struct gl_context *ctx, GLbitfield buffers );
/**
* Execute glAccum command.
*/
- void (*Accum)( GLcontext *ctx, GLenum op, GLfloat value );
+ void (*Accum)( struct gl_context *ctx, GLenum op, GLfloat value );
/**
* Execute glRasterPos, updating the ctx->Current.Raster fields
*/
- void (*RasterPos)( GLcontext *ctx, const GLfloat v[4] );
+ void (*RasterPos)( struct gl_context *ctx, const GLfloat v[4] );
/**
* \name Image-related functions
@@ -139,7 +139,7 @@ struct dd_function_table {
* Called by glDrawPixels().
* \p unpack describes how to unpack the source image data.
*/
- void (*DrawPixels)( GLcontext *ctx,
+ void (*DrawPixels)( struct gl_context *ctx,
GLint x, GLint y, GLsizei width, GLsizei height,
GLenum format, GLenum type,
const struct gl_pixelstore_attrib *unpack,
@@ -148,7 +148,7 @@ struct dd_function_table {
/**
* Called by glReadPixels().
*/
- void (*ReadPixels)( GLcontext *ctx,
+ void (*ReadPixels)( struct gl_context *ctx,
GLint x, GLint y, GLsizei width, GLsizei height,
GLenum format, GLenum type,
const struct gl_pixelstore_attrib *unpack,
@@ -157,14 +157,14 @@ struct dd_function_table {
/**
* Called by glCopyPixels().
*/
- void (*CopyPixels)( GLcontext *ctx, GLint srcx, GLint srcy,
+ void (*CopyPixels)( struct gl_context *ctx, GLint srcx, GLint srcy,
GLsizei width, GLsizei height,
GLint dstx, GLint dsty, GLenum type );
/**
* Called by glBitmap().
*/
- void (*Bitmap)( GLcontext *ctx,
+ void (*Bitmap)( struct gl_context *ctx,
GLint x, GLint y, GLsizei width, GLsizei height,
const struct gl_pixelstore_attrib *unpack,
const GLubyte *bitmap );
@@ -183,7 +183,7 @@ struct dd_function_table {
* functions. The driver should examine \p internalFormat and return a
* gl_format value.
*/
- GLuint (*ChooseTextureFormat)( GLcontext *ctx, GLint internalFormat,
+ GLuint (*ChooseTextureFormat)( struct gl_context *ctx, GLint internalFormat,
GLenum srcFormat, GLenum srcType );
/**
@@ -203,7 +203,7 @@ struct dd_function_table {
*
* Drivers should call a fallback routine from texstore.c if needed.
*/
- void (*TexImage1D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*TexImage1D)( struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint border,
GLenum format, GLenum type, const GLvoid *pixels,
@@ -216,7 +216,7 @@ struct dd_function_table {
*
* \sa dd_function_table::TexImage1D.
*/
- void (*TexImage2D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*TexImage2D)( struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint border,
GLenum format, GLenum type, const GLvoid *pixels,
@@ -229,7 +229,7 @@ struct dd_function_table {
*
* \sa dd_function_table::TexImage1D.
*/
- void (*TexImage3D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*TexImage3D)( struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint depth, GLint border,
GLenum format, GLenum type, const GLvoid *pixels,
@@ -258,7 +258,7 @@ struct dd_function_table {
*
* The driver should use a fallback routine from texstore.c if needed.
*/
- void (*TexSubImage1D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*TexSubImage1D)( struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLsizei width,
GLenum format, GLenum type,
const GLvoid *pixels,
@@ -271,7 +271,7 @@ struct dd_function_table {
*
* \sa dd_function_table::TexSubImage1D.
*/
- void (*TexSubImage2D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*TexSubImage2D)( struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height,
GLenum format, GLenum type,
@@ -285,7 +285,7 @@ struct dd_function_table {
*
* \sa dd_function_table::TexSubImage1D.
*/
- void (*TexSubImage3D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*TexSubImage3D)( struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLsizei width, GLsizei height, GLint depth,
GLenum format, GLenum type,
@@ -297,7 +297,7 @@ struct dd_function_table {
/**
* Called by glGetTexImage().
*/
- void (*GetTexImage)( GLcontext *ctx, GLenum target, GLint level,
+ void (*GetTexImage)( struct gl_context *ctx, GLenum target, GLint level,
GLenum format, GLenum type, GLvoid *pixels,
struct gl_texture_object *texObj,
struct gl_texture_image *texImage );
@@ -307,7 +307,7 @@ struct dd_function_table {
*
* Drivers should use a fallback routine from texstore.c if needed.
*/
- void (*CopyTexImage1D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*CopyTexImage1D)( struct gl_context *ctx, GLenum target, GLint level,
GLenum internalFormat, GLint x, GLint y,
GLsizei width, GLint border );
@@ -316,7 +316,7 @@ struct dd_function_table {
*
* Drivers should use a fallback routine from texstore.c if needed.
*/
- void (*CopyTexImage2D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*CopyTexImage2D)( struct gl_context *ctx, GLenum target, GLint level,
GLenum internalFormat, GLint x, GLint y,
GLsizei width, GLsizei height, GLint border );
@@ -325,7 +325,7 @@ struct dd_function_table {
*
* Drivers should use a fallback routine from texstore.c if needed.
*/
- void (*CopyTexSubImage1D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*CopyTexSubImage1D)( struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset,
GLint x, GLint y, GLsizei width );
/**
@@ -333,7 +333,7 @@ struct dd_function_table {
*
* Drivers should use a fallback routine from texstore.c if needed.
*/
- void (*CopyTexSubImage2D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*CopyTexSubImage2D)( struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset,
GLint x, GLint y,
GLsizei width, GLsizei height );
@@ -342,7 +342,7 @@ struct dd_function_table {
*
* Drivers should use a fallback routine from texstore.c if needed.
*/
- void (*CopyTexSubImage3D)( GLcontext *ctx, GLenum target, GLint level,
+ void (*CopyTexSubImage3D)( struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLint x, GLint y,
GLsizei width, GLsizei height );
@@ -350,7 +350,7 @@ struct dd_function_table {
/**
* Called by glGenerateMipmap() or when GL_GENERATE_MIPMAP_SGIS is enabled.
*/
- void (*GenerateMipmap)(GLcontext *ctx, GLenum target,
+ void (*GenerateMipmap)(struct gl_context *ctx, GLenum target,
struct gl_texture_object *texObj);
/**
@@ -359,7 +359,7 @@ struct dd_function_table {
*
* \return GL_TRUE if the proxy test passes, or GL_FALSE if the test fails.
*/
- GLboolean (*TestProxyTexImage)(GLcontext *ctx, GLenum target,
+ GLboolean (*TestProxyTexImage)(struct gl_context *ctx, GLenum target,
GLint level, GLint internalFormat,
GLenum format, GLenum type,
GLint width, GLint height,
@@ -387,7 +387,7 @@ struct dd_function_table {
* \a retainInternalCopy is returned by this function and indicates whether
* core Mesa should keep an internal copy of the texture image.
*/
- void (*CompressedTexImage1D)( GLcontext *ctx, GLenum target,
+ void (*CompressedTexImage1D)( struct gl_context *ctx, GLenum target,
GLint level, GLint internalFormat,
GLsizei width, GLint border,
GLsizei imageSize, const GLvoid *data,
@@ -398,7 +398,7 @@ struct dd_function_table {
*
* \sa dd_function_table::CompressedTexImage1D.
*/
- void (*CompressedTexImage2D)( GLcontext *ctx, GLenum target,
+ void (*CompressedTexImage2D)( struct gl_context *ctx, GLenum target,
GLint level, GLint internalFormat,
GLsizei width, GLsizei height, GLint border,
GLsizei imageSize, const GLvoid *data,
@@ -409,7 +409,7 @@ struct dd_function_table {
*
* \sa dd_function_table::CompressedTexImage3D.
*/
- void (*CompressedTexImage3D)( GLcontext *ctx, GLenum target,
+ void (*CompressedTexImage3D)( struct gl_context *ctx, GLenum target,
GLint level, GLint internalFormat,
GLsizei width, GLsizei height, GLsizei depth,
GLint border,
@@ -434,7 +434,7 @@ struct dd_function_table {
* \param texImage is the target texture image. It will have the texture \p
* width, \p height, \p depth, \p border and \p internalFormat information.
*/
- void (*CompressedTexSubImage1D)(GLcontext *ctx, GLenum target, GLint level,
+ void (*CompressedTexSubImage1D)(struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLsizei width,
GLenum format,
GLsizei imageSize, const GLvoid *data,
@@ -445,7 +445,7 @@ struct dd_function_table {
*
* \sa dd_function_table::CompressedTexImage3D.
*/
- void (*CompressedTexSubImage2D)(GLcontext *ctx, GLenum target, GLint level,
+ void (*CompressedTexSubImage2D)(struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset,
GLsizei width, GLint height,
GLenum format,
@@ -457,7 +457,7 @@ struct dd_function_table {
*
* \sa dd_function_table::CompressedTexImage3D.
*/
- void (*CompressedTexSubImage3D)(GLcontext *ctx, GLenum target, GLint level,
+ void (*CompressedTexSubImage3D)(struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLsizei width, GLint height, GLint depth,
GLenum format,
@@ -469,7 +469,7 @@ struct dd_function_table {
/**
* Called by glGetCompressedTexImage.
*/
- void (*GetCompressedTexImage)(GLcontext *ctx, GLenum target, GLint level,
+ void (*GetCompressedTexImage)(struct gl_context *ctx, GLenum target, GLint level,
GLvoid *img,
struct gl_texture_object *texObj,
struct gl_texture_image *texImage);
@@ -484,7 +484,7 @@ struct dd_function_table {
/**
* Called by glBindTexture().
*/
- void (*BindTexture)( GLcontext *ctx, GLenum target,
+ void (*BindTexture)( struct gl_context *ctx, GLenum target,
struct gl_texture_object *tObj );
/**
@@ -492,7 +492,7 @@ struct dd_function_table {
* A new gl_texture_object should be returned. The driver should
* attach to it any device-specific info it needs.
*/
- struct gl_texture_object * (*NewTextureObject)( GLcontext *ctx, GLuint name,
+ struct gl_texture_object * (*NewTextureObject)( struct gl_context *ctx, GLuint name,
GLenum target );
/**
* Called when a texture object is about to be deallocated.
@@ -500,22 +500,22 @@ struct dd_function_table {
* Driver should delete the gl_texture_object object and anything
* hanging off of it.
*/
- void (*DeleteTexture)( GLcontext *ctx, struct gl_texture_object *tObj );
+ void (*DeleteTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
/**
* Called to allocate a new texture image object.
*/
- struct gl_texture_image * (*NewTextureImage)( GLcontext *ctx );
+ struct gl_texture_image * (*NewTextureImage)( struct gl_context *ctx );
/**
* Called to free tImage->Data.
*/
- void (*FreeTexImageData)( GLcontext *ctx, struct gl_texture_image *tImage );
+ void (*FreeTexImageData)( struct gl_context *ctx, struct gl_texture_image *tImage );
/** Map texture image data into user space */
- void (*MapTexture)( GLcontext *ctx, struct gl_texture_object *tObj );
+ void (*MapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
/** Unmap texture images from user space */
- void (*UnmapTexture)( GLcontext *ctx, struct gl_texture_object *tObj );
+ void (*UnmapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj );
/**
* Note: no context argument. This function doesn't initially look
@@ -533,7 +533,7 @@ struct dd_function_table {
/**
* Called by glAreTextureResident().
*/
- GLboolean (*IsTextureResident)( GLcontext *ctx,
+ GLboolean (*IsTextureResident)( struct gl_context *ctx,
struct gl_texture_object *t );
/**
@@ -542,7 +542,7 @@ struct dd_function_table {
* If \p tObj is NULL then the shared texture palette
* gl_texture_object::Palette is to be updated.
*/
- void (*UpdateTexturePalette)( GLcontext *ctx,
+ void (*UpdateTexturePalette)( struct gl_context *ctx,
struct gl_texture_object *tObj );
/*@}*/
@@ -551,11 +551,11 @@ struct dd_function_table {
* \name Imaging functionality
*/
/*@{*/
- void (*CopyColorTable)( GLcontext *ctx,
+ void (*CopyColorTable)( struct gl_context *ctx,
GLenum target, GLenum internalformat,
GLint x, GLint y, GLsizei width );
- void (*CopyColorSubTable)( GLcontext *ctx,
+ void (*CopyColorSubTable)( struct gl_context *ctx,
GLenum target, GLsizei start,
GLint x, GLint y, GLsizei width );
/*@}*/
@@ -566,21 +566,21 @@ struct dd_function_table {
*/
/*@{*/
/** Bind a vertex/fragment program */
- void (*BindProgram)(GLcontext *ctx, GLenum target, struct gl_program *prog);
+ void (*BindProgram)(struct gl_context *ctx, GLenum target, struct gl_program *prog);
/** Allocate a new program */
- struct gl_program * (*NewProgram)(GLcontext *ctx, GLenum target, GLuint id);
+ struct gl_program * (*NewProgram)(struct gl_context *ctx, GLenum target, GLuint id);
/** Delete a program */
- void (*DeleteProgram)(GLcontext *ctx, struct gl_program *prog);
+ void (*DeleteProgram)(struct gl_context *ctx, struct gl_program *prog);
/**
* Notify driver that a program string (and GPU code) has been specified
* or modified. Return GL_TRUE or GL_FALSE to indicate if the program is
* supported by the driver.
*/
- GLboolean (*ProgramStringNotify)(GLcontext *ctx, GLenum target,
+ GLboolean (*ProgramStringNotify)(struct gl_context *ctx, GLenum target,
struct gl_program *prog);
/** Query if program can be loaded onto hardware */
- GLboolean (*IsProgramNative)(GLcontext *ctx, GLenum target,
+ GLboolean (*IsProgramNative)(struct gl_context *ctx, GLenum target,
struct gl_program *prog);
/*@}*/
@@ -597,14 +597,14 @@ struct dd_function_table {
* have CompileShader() called, so if lowering passes are done they
* need to also be performed in LinkShader().
*/
- GLboolean (*CompileShader)(GLcontext *ctx, struct gl_shader *shader);
+ GLboolean (*CompileShader)(struct gl_context *ctx, struct gl_shader *shader);
/**
* Called when a shader program is linked.
*
* This gives drivers an opportunity to clone the IR and make their
* own transformations on it for the purposes of code generation.
*/
- GLboolean (*LinkShader)(GLcontext *ctx, struct gl_shader_program *shader);
+ GLboolean (*LinkShader)(struct gl_context *ctx, struct gl_shader_program *shader);
/*@}*/
/**
@@ -618,102 +618,102 @@ struct dd_function_table {
*/
/*@{*/
/** Specify the alpha test function */
- void (*AlphaFunc)(GLcontext *ctx, GLenum func, GLfloat ref);
+ void (*AlphaFunc)(struct gl_context *ctx, GLenum func, GLfloat ref);
/** Set the blend color */
- void (*BlendColor)(GLcontext *ctx, const GLfloat color[4]);
+ void (*BlendColor)(struct gl_context *ctx, const GLfloat color[4]);
/** Set the blend equation */
- void (*BlendEquationSeparate)(GLcontext *ctx, GLenum modeRGB, GLenum modeA);
+ void (*BlendEquationSeparate)(struct gl_context *ctx, GLenum modeRGB, GLenum modeA);
/** Specify pixel arithmetic */
- void (*BlendFuncSeparate)(GLcontext *ctx,
+ void (*BlendFuncSeparate)(struct gl_context *ctx,
GLenum sfactorRGB, GLenum dfactorRGB,
GLenum sfactorA, GLenum dfactorA);
/** Specify clear values for the color buffers */
- void (*ClearColor)(GLcontext *ctx, const GLfloat color[4]);
+ void (*ClearColor)(struct gl_context *ctx, const GLfloat color[4]);
/** Specify the clear value for the depth buffer */
- void (*ClearDepth)(GLcontext *ctx, GLclampd d);
+ void (*ClearDepth)(struct gl_context *ctx, GLclampd d);
/** Specify the clear value for the stencil buffer */
- void (*ClearStencil)(GLcontext *ctx, GLint s);
+ void (*ClearStencil)(struct gl_context *ctx, GLint s);
/** Specify a plane against which all geometry is clipped */
- void (*ClipPlane)(GLcontext *ctx, GLenum plane, const GLfloat *equation );
+ void (*ClipPlane)(struct gl_context *ctx, GLenum plane, const GLfloat *equation );
/** Enable and disable writing of frame buffer color components */
- void (*ColorMask)(GLcontext *ctx, GLboolean rmask, GLboolean gmask,
+ void (*ColorMask)(struct gl_context *ctx, GLboolean rmask, GLboolean gmask,
GLboolean bmask, GLboolean amask );
- void (*ColorMaskIndexed)(GLcontext *ctx, GLuint buf, GLboolean rmask,
+ void (*ColorMaskIndexed)(struct gl_context *ctx, GLuint buf, GLboolean rmask,
GLboolean gmask, GLboolean bmask, GLboolean amask);
/** Cause a material color to track the current color */
- void (*ColorMaterial)(GLcontext *ctx, GLenum face, GLenum mode);
+ void (*ColorMaterial)(struct gl_context *ctx, GLenum face, GLenum mode);
/** Specify whether front- or back-facing facets can be culled */
- void (*CullFace)(GLcontext *ctx, GLenum mode);
+ void (*CullFace)(struct gl_context *ctx, GLenum mode);
/** Define front- and back-facing polygons */
- void (*FrontFace)(GLcontext *ctx, GLenum mode);
+ void (*FrontFace)(struct gl_context *ctx, GLenum mode);
/** Specify the value used for depth buffer comparisons */
- void (*DepthFunc)(GLcontext *ctx, GLenum func);
+ void (*DepthFunc)(struct gl_context *ctx, GLenum func);
/** Enable or disable writing into the depth buffer */
- void (*DepthMask)(GLcontext *ctx, GLboolean flag);
+ void (*DepthMask)(struct gl_context *ctx, GLboolean flag);
/** Specify mapping of depth values from NDC to window coordinates */
- void (*DepthRange)(GLcontext *ctx, GLclampd nearval, GLclampd farval);
+ void (*DepthRange)(struct gl_context *ctx, GLclampd nearval, GLclampd farval);
/** Specify the current buffer for writing */
- void (*DrawBuffer)( GLcontext *ctx, GLenum buffer );
+ void (*DrawBuffer)( struct gl_context *ctx, GLenum buffer );
/** Specify the buffers for writing for fragment programs*/
- void (*DrawBuffers)( GLcontext *ctx, GLsizei n, const GLenum *buffers );
+ void (*DrawBuffers)( struct gl_context *ctx, GLsizei n, const GLenum *buffers );
/** Enable or disable server-side gl capabilities */
- void (*Enable)(GLcontext *ctx, GLenum cap, GLboolean state);
+ void (*Enable)(struct gl_context *ctx, GLenum cap, GLboolean state);
/** Specify fog parameters */
- void (*Fogfv)(GLcontext *ctx, GLenum pname, const GLfloat *params);
+ void (*Fogfv)(struct gl_context *ctx, GLenum pname, const GLfloat *params);
/** Specify implementation-specific hints */
- void (*Hint)(GLcontext *ctx, GLenum target, GLenum mode);
+ void (*Hint)(struct gl_context *ctx, GLenum target, GLenum mode);
/** Set light source parameters.
* Note: for GL_POSITION and GL_SPOT_DIRECTION, params will have already
* been transformed to eye-space.
*/
- void (*Lightfv)(GLcontext *ctx, GLenum light,
+ void (*Lightfv)(struct gl_context *ctx, GLenum light,
GLenum pname, const GLfloat *params );
/** Set the lighting model parameters */
- void (*LightModelfv)(GLcontext *ctx, GLenum pname, const GLfloat *params);
+ void (*LightModelfv)(struct gl_context *ctx, GLenum pname, const GLfloat *params);
/** Specify the line stipple pattern */
- void (*LineStipple)(GLcontext *ctx, GLint factor, GLushort pattern );
+ void (*LineStipple)(struct gl_context *ctx, GLint factor, GLushort pattern );
/** Specify the width of rasterized lines */
- void (*LineWidth)(GLcontext *ctx, GLfloat width);
+ void (*LineWidth)(struct gl_context *ctx, GLfloat width);
/** Specify a logical pixel operation for color index rendering */
- void (*LogicOpcode)(GLcontext *ctx, GLenum opcode);
- void (*PointParameterfv)(GLcontext *ctx, GLenum pname,
+ void (*LogicOpcode)(struct gl_context *ctx, GLenum opcode);
+ void (*PointParameterfv)(struct gl_context *ctx, GLenum pname,
const GLfloat *params);
/** Specify the diameter of rasterized points */
- void (*PointSize)(GLcontext *ctx, GLfloat size);
+ void (*PointSize)(struct gl_context *ctx, GLfloat size);
/** Select a polygon rasterization mode */
- void (*PolygonMode)(GLcontext *ctx, GLenum face, GLenum mode);
+ void (*PolygonMode)(struct gl_context *ctx, GLenum face, GLenum mode);
/** Set the scale and units used to calculate depth values */
- void (*PolygonOffset)(GLcontext *ctx, GLfloat factor, GLfloat units);
+ void (*PolygonOffset)(struct gl_context *ctx, GLfloat factor, GLfloat units);
/** Set the polygon stippling pattern */
- void (*PolygonStipple)(GLcontext *ctx, const GLubyte *mask );
+ void (*PolygonStipple)(struct gl_context *ctx, const GLubyte *mask );
/* Specifies the current buffer for reading */
- void (*ReadBuffer)( GLcontext *ctx, GLenum buffer );
+ void (*ReadBuffer)( struct gl_context *ctx, GLenum buffer );
/** Set rasterization mode */
- void (*RenderMode)(GLcontext *ctx, GLenum mode );
+ void (*RenderMode)(struct gl_context *ctx, GLenum mode );
/** Define the scissor box */
- void (*Scissor)(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
+ void (*Scissor)(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
/** Select flat or smooth shading */
- void (*ShadeModel)(GLcontext *ctx, GLenum mode);
+ void (*ShadeModel)(struct gl_context *ctx, GLenum mode);
/** OpenGL 2.0 two-sided StencilFunc */
- void (*StencilFuncSeparate)(GLcontext *ctx, GLenum face, GLenum func,
+ void (*StencilFuncSeparate)(struct gl_context *ctx, GLenum face, GLenum func,
GLint ref, GLuint mask);
/** OpenGL 2.0 two-sided StencilMask */
- void (*StencilMaskSeparate)(GLcontext *ctx, GLenum face, GLuint mask);
+ void (*StencilMaskSeparate)(struct gl_context *ctx, GLenum face, GLuint mask);
/** OpenGL 2.0 two-sided StencilOp */
- void (*StencilOpSeparate)(GLcontext *ctx, GLenum face, GLenum fail,
+ void (*StencilOpSeparate)(struct gl_context *ctx, GLenum face, GLenum fail,
GLenum zfail, GLenum zpass);
/** Control the generation of texture coordinates */
- void (*TexGen)(GLcontext *ctx, GLenum coord, GLenum pname,
+ void (*TexGen)(struct gl_context *ctx, GLenum coord, GLenum pname,
const GLfloat *params);
/** Set texture environment parameters */
- void (*TexEnv)(GLcontext *ctx, GLenum target, GLenum pname,
+ void (*TexEnv)(struct gl_context *ctx, GLenum target, GLenum pname,
const GLfloat *param);
/** Set texture parameters */
- void (*TexParameter)(GLcontext *ctx, GLenum target,
+ void (*TexParameter)(struct gl_context *ctx, GLenum target,
struct gl_texture_object *texObj,
GLenum pname, const GLfloat *params);
/** Set the viewport */
- void (*Viewport)(GLcontext *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
+ void (*Viewport)(struct gl_context *ctx, GLint x, GLint y, GLsizei w, GLsizei h);
/*@}*/
@@ -721,30 +721,30 @@ struct dd_function_table {
* \name Vertex/pixel buffer object functions
*/
/*@{*/
- void (*BindBuffer)( GLcontext *ctx, GLenum target,
+ void (*BindBuffer)( struct gl_context *ctx, GLenum target,
struct gl_buffer_object *obj );
- struct gl_buffer_object * (*NewBufferObject)( GLcontext *ctx, GLuint buffer,
+ struct gl_buffer_object * (*NewBufferObject)( struct gl_context *ctx, GLuint buffer,
GLenum target );
- void (*DeleteBuffer)( GLcontext *ctx, struct gl_buffer_object *obj );
+ void (*DeleteBuffer)( struct gl_context *ctx, struct gl_buffer_object *obj );
- GLboolean (*BufferData)( GLcontext *ctx, GLenum target, GLsizeiptrARB size,
+ GLboolean (*BufferData)( struct gl_context *ctx, GLenum target, GLsizeiptrARB size,
const GLvoid *data, GLenum usage,
struct gl_buffer_object *obj );
- void (*BufferSubData)( GLcontext *ctx, GLenum target, GLintptrARB offset,
+ void (*BufferSubData)( struct gl_context *ctx, GLenum target, GLintptrARB offset,
GLsizeiptrARB size, const GLvoid *data,
struct gl_buffer_object *obj );
- void (*GetBufferSubData)( GLcontext *ctx, GLenum target,
+ void (*GetBufferSubData)( struct gl_context *ctx, GLenum target,
GLintptrARB offset, GLsizeiptrARB size,
GLvoid *data, struct gl_buffer_object *obj );
- void * (*MapBuffer)( GLcontext *ctx, GLenum target, GLenum access,
+ void * (*MapBuffer)( struct gl_context *ctx, GLenum target, GLenum access,
struct gl_buffer_object *obj );
- void (*CopyBufferSubData)( GLcontext *ctx,
+ void (*CopyBufferSubData)( struct gl_context *ctx,
struct gl_buffer_object *src,
struct gl_buffer_object *dst,
GLintptr readOffset, GLintptr writeOffset,
@@ -752,15 +752,15 @@ struct dd_function_table {
/* May return NULL if MESA_MAP_NOWAIT_BIT is set in access:
*/
- void * (*MapBufferRange)( GLcontext *ctx, GLenum target, GLintptr offset,
+ void * (*MapBufferRange)( struct gl_context *ctx, GLenum target, GLintptr offset,
GLsizeiptr length, GLbitfield access,
struct gl_buffer_object *obj);
- void (*FlushMappedBufferRange)(GLcontext *ctx, GLenum target,
+ void (*FlushMappedBufferRange)(struct gl_context *ctx, GLenum target,
GLintptr offset, GLsizeiptr length,
struct gl_buffer_object *obj);
- GLboolean (*UnmapBuffer)( GLcontext *ctx, GLenum target,
+ GLboolean (*UnmapBuffer)( struct gl_context *ctx, GLenum target,
struct gl_buffer_object *obj );
/*@}*/
@@ -769,38 +769,38 @@ struct dd_function_table {
*/
/*@{*/
/* variations on ObjectPurgeable */
- GLenum (*BufferObjectPurgeable)( GLcontext *ctx, struct gl_buffer_object *obj, GLenum option );
- GLenum (*RenderObjectPurgeable)( GLcontext *ctx, struct gl_renderbuffer *obj, GLenum option );
- GLenum (*TextureObjectPurgeable)( GLcontext *ctx, struct gl_texture_object *obj, GLenum option );
+ GLenum (*BufferObjectPurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option );
+ GLenum (*RenderObjectPurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option );
+ GLenum (*TextureObjectPurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option );
/* variations on ObjectUnpurgeable */
- GLenum (*BufferObjectUnpurgeable)( GLcontext *ctx, struct gl_buffer_object *obj, GLenum option );
- GLenum (*RenderObjectUnpurgeable)( GLcontext *ctx, struct gl_renderbuffer *obj, GLenum option );
- GLenum (*TextureObjectUnpurgeable)( GLcontext *ctx, struct gl_texture_object *obj, GLenum option );
+ GLenum (*BufferObjectUnpurgeable)( struct gl_context *ctx, struct gl_buffer_object *obj, GLenum option );
+ GLenum (*RenderObjectUnpurgeable)( struct gl_context *ctx, struct gl_renderbuffer *obj, GLenum option );
+ GLenum (*TextureObjectUnpurgeable)( struct gl_context *ctx, struct gl_texture_object *obj, GLenum option );
/*@}*/
/**
* \name Functions for GL_EXT_framebuffer_{object,blit}.
*/
/*@{*/
- struct gl_framebuffer * (*NewFramebuffer)(GLcontext *ctx, GLuint name);
- struct gl_renderbuffer * (*NewRenderbuffer)(GLcontext *ctx, GLuint name);
- void (*BindFramebuffer)(GLcontext *ctx, GLenum target,
+ struct gl_framebuffer * (*NewFramebuffer)(struct gl_context *ctx, GLuint name);
+ struct gl_renderbuffer * (*NewRenderbuffer)(struct gl_context *ctx, GLuint name);
+ void (*BindFramebuffer)(struct gl_context *ctx, GLenum target,
struct gl_framebuffer *drawFb,
struct gl_framebuffer *readFb);
- void (*FramebufferRenderbuffer)(GLcontext *ctx,
+ void (*FramebufferRenderbuffer)(struct gl_context *ctx,
struct gl_framebuffer *fb,
GLenum attachment,
struct gl_renderbuffer *rb);
- void (*RenderTexture)(GLcontext *ctx,
+ void (*RenderTexture)(struct gl_context *ctx,
struct gl_framebuffer *fb,
struct gl_renderbuffer_attachment *att);
- void (*FinishRenderTexture)(GLcontext *ctx,
+ void (*FinishRenderTexture)(struct gl_context *ctx,
struct gl_renderbuffer_attachment *att);
- void (*ValidateFramebuffer)(GLcontext *ctx,
+ void (*ValidateFramebuffer)(struct gl_context *ctx,
struct gl_framebuffer *fb);
/*@}*/
- void (*BlitFramebuffer)(GLcontext *ctx,
+ void (*BlitFramebuffer)(struct gl_context *ctx,
GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1,
GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1,
GLbitfield mask, GLenum filter);
@@ -809,12 +809,12 @@ struct dd_function_table {
* \name Query objects
*/
/*@{*/
- struct gl_query_object * (*NewQueryObject)(GLcontext *ctx, GLuint id);
- void (*DeleteQuery)(GLcontext *ctx, struct gl_query_object *q);
- void (*BeginQuery)(GLcontext *ctx, struct gl_query_object *q);
- void (*EndQuery)(GLcontext *ctx, struct gl_query_object *q);
- void (*CheckQuery)(GLcontext *ctx, struct gl_query_object *q);
- void (*WaitQuery)(GLcontext *ctx, struct gl_query_object *q);
+ struct gl_query_object * (*NewQueryObject)(struct gl_context *ctx, GLuint id);
+ void (*DeleteQuery)(struct gl_context *ctx, struct gl_query_object *q);
+ void (*BeginQuery)(struct gl_context *ctx, struct gl_query_object *q);
+ void (*EndQuery)(struct gl_context *ctx, struct gl_query_object *q);
+ void (*CheckQuery)(struct gl_context *ctx, struct gl_query_object *q);
+ void (*WaitQuery)(struct gl_context *ctx, struct gl_query_object *q);
/*@}*/
@@ -822,21 +822,21 @@ struct dd_function_table {
* \name Vertex Array objects
*/
/*@{*/
- struct gl_array_object * (*NewArrayObject)(GLcontext *ctx, GLuint id);
- void (*DeleteArrayObject)(GLcontext *ctx, struct gl_array_object *obj);
- void (*BindArrayObject)(GLcontext *ctx, struct gl_array_object *obj);
+ struct gl_array_object * (*NewArrayObject)(struct gl_context *ctx, GLuint id);
+ void (*DeleteArrayObject)(struct gl_context *ctx, struct gl_array_object *obj);
+ void (*BindArrayObject)(struct gl_context *ctx, struct gl_array_object *obj);
/*@}*/
/**
* \name GLSL-related functions (ARB extensions and OpenGL 2.x)
*/
/*@{*/
- struct gl_shader *(*NewShader)(GLcontext *ctx, GLuint name, GLenum type);
- void (*DeleteShader)(GLcontext *ctx, struct gl_shader *shader);
- struct gl_shader_program *(*NewShaderProgram)(GLcontext *ctx, GLuint name);
- void (*DeleteShaderProgram)(GLcontext *ctx,
+ struct gl_shader *(*NewShader)(struct gl_context *ctx, GLuint name, GLenum type);
+ void (*DeleteShader)(struct gl_context *ctx, struct gl_shader *shader);
+ struct gl_shader_program *(*NewShaderProgram)(struct gl_context *ctx, GLuint name);
+ void (*DeleteShaderProgram)(struct gl_context *ctx,
struct gl_shader_program *shProg);
- void (*UseProgram)(GLcontext *ctx, struct gl_shader_program *shProg);
+ void (*UseProgram)(struct gl_context *ctx, struct gl_shader_program *shProg);
/*@}*/
@@ -862,7 +862,7 @@ struct dd_function_table {
* This must be non-NULL if a driver installs a custom T&L module and sets
* the dd_function_table::NeedValidate bitmask, but may be NULL otherwise.
*/
- void (*ValidateTnlModule)( GLcontext *ctx, GLuint new_state );
+ void (*ValidateTnlModule)( struct gl_context *ctx, GLuint new_state );
#define PRIM_OUTSIDE_BEGIN_END (GL_POLYGON+1)
@@ -889,7 +889,7 @@ struct dd_function_table {
#define FLUSH_UPDATE_CURRENT 0x2
/**
* Set by the driver-supplied T&L engine whenever vertices are buffered
- * between glBegin()/glEnd() objects or __GLcontextRec::Current is not
+ * between glBegin()/glEnd() objects or __struct gl_contextRec::Current is not
* updated.
*
* The dd_function_table::FlushVertices call below may be used to resolve
@@ -902,32 +902,32 @@ struct dd_function_table {
/* Called prior to any of the GLvertexformat functions being
* called. Paired with Driver.FlushVertices().
*/
- void (*BeginVertices)( GLcontext *ctx );
+ void (*BeginVertices)( struct gl_context *ctx );
/**
* If inside glBegin()/glEnd(), it should ASSERT(0). Otherwise, if
* FLUSH_STORED_VERTICES bit in \p flags is set flushes any buffered
* vertices, if FLUSH_UPDATE_CURRENT bit is set updates
- * __GLcontextRec::Current and gl_light_attrib::Material
+ * __struct gl_contextRec::Current and gl_light_attrib::Material
*
* Note that the default T&L engine never clears the
* FLUSH_UPDATE_CURRENT bit, even after performing the update.
*/
- void (*FlushVertices)( GLcontext *ctx, GLuint flags );
- void (*SaveFlushVertices)( GLcontext *ctx );
+ void (*FlushVertices)( struct gl_context *ctx, GLuint flags );
+ void (*SaveFlushVertices)( struct gl_context *ctx );
/**
* Give the driver the opportunity to hook in its own vtxfmt for
* compiling optimized display lists. This is called on each valid
* glBegin() during list compilation.
*/
- GLboolean (*NotifySaveBegin)( GLcontext *ctx, GLenum mode );
+ GLboolean (*NotifySaveBegin)( struct gl_context *ctx, GLenum mode );
/**
* Notify driver that the special derived value _NeedEyeCoords has
* changed.
*/
- void (*LightingSpaceChange)( GLcontext *ctx );
+ void (*LightingSpaceChange)( struct gl_context *ctx );
/**
* Called by glNewList().
@@ -935,64 +935,64 @@ struct dd_function_table {
* Let the T&L component know what is going on with display lists
* in time to make changes to dispatch tables, etc.
*/
- void (*NewList)( GLcontext *ctx, GLuint list, GLenum mode );
+ void (*NewList)( struct gl_context *ctx, GLuint list, GLenum mode );
/**
* Called by glEndList().
*
* \sa dd_function_table::NewList.
*/
- void (*EndList)( GLcontext *ctx );
+ void (*EndList)( struct gl_context *ctx );
/**
* Called by glCallList(s).
*
* Notify the T&L component before and after calling a display list.
*/
- void (*BeginCallList)( GLcontext *ctx,
+ void (*BeginCallList)( struct gl_context *ctx,
struct gl_display_list *dlist );
/**
* Called by glEndCallList().
*
* \sa dd_function_table::BeginCallList.
*/
- void (*EndCallList)( GLcontext *ctx );
+ void (*EndCallList)( struct gl_context *ctx );
/**
* \name GL_ARB_sync interfaces
*/
/*@{*/
- struct gl_sync_object * (*NewSyncObject)(GLcontext *, GLenum);
- void (*FenceSync)(GLcontext *, struct gl_sync_object *, GLenum, GLbitfield);
- void (*DeleteSyncObject)(GLcontext *, struct gl_sync_object *);
- void (*CheckSync)(GLcontext *, struct gl_sync_object *);
- void (*ClientWaitSync)(GLcontext *, struct gl_sync_object *,
+ struct gl_sync_object * (*NewSyncObject)(struct gl_context *, GLenum);
+ void (*FenceSync)(struct gl_context *, struct gl_sync_object *, GLenum, GLbitfield);
+ void (*DeleteSyncObject)(struct gl_context *, struct gl_sync_object *);
+ void (*CheckSync)(struct gl_context *, struct gl_sync_object *);
+ void (*ClientWaitSync)(struct gl_context *, struct gl_sync_object *,
GLbitfield, GLuint64);
- void (*ServerWaitSync)(GLcontext *, struct gl_sync_object *,
+ void (*ServerWaitSync)(struct gl_context *, struct gl_sync_object *,
GLbitfield, GLuint64);
/*@}*/
/** GL_NV_conditional_render */
- void (*BeginConditionalRender)(GLcontext *ctx, struct gl_query_object *q,
+ void (*BeginConditionalRender)(struct gl_context *ctx, struct gl_query_object *q,
GLenum mode);
- void (*EndConditionalRender)(GLcontext *ctx, struct gl_query_object *q);
+ void (*EndConditionalRender)(struct gl_context *ctx, struct gl_query_object *q);
/**
* \name GL_OES_draw_texture interface
*/
/*@{*/
- void (*DrawTex)(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z,
+ void (*DrawTex)(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
GLfloat width, GLfloat height);
/*@}*/
/**
* \name GL_OES_EGL_image interface
*/
- void (*EGLImageTargetTexture2D)(GLcontext *ctx, GLenum target,
+ void (*EGLImageTargetTexture2D)(struct gl_context *ctx, GLenum target,
struct gl_texture_object *texObj,
struct gl_texture_image *texImage,
GLeglImageOES image_handle);
- void (*EGLImageTargetRenderbufferStorage)(GLcontext *ctx,
+ void (*EGLImageTargetRenderbufferStorage)(struct gl_context *ctx,
struct gl_renderbuffer *rb,
void *image_handle);
@@ -1000,18 +1000,18 @@ struct dd_function_table {
* \name GL_EXT_transform_feedback interface
*/
struct gl_transform_feedback_object *
- (*NewTransformFeedback)(GLcontext *ctx, GLuint name);
- void (*DeleteTransformFeedback)(GLcontext *ctx,
+ (*NewTransformFeedback)(struct gl_context *ctx, GLuint name);
+ void (*DeleteTransformFeedback)(struct gl_context *ctx,
struct gl_transform_feedback_object *obj);
- void (*BeginTransformFeedback)(GLcontext *ctx, GLenum mode,
+ void (*BeginTransformFeedback)(struct gl_context *ctx, GLenum mode,
struct gl_transform_feedback_object *obj);
- void (*EndTransformFeedback)(GLcontext *ctx,
+ void (*EndTransformFeedback)(struct gl_context *ctx,
struct gl_transform_feedback_object *obj);
- void (*PauseTransformFeedback)(GLcontext *ctx,
+ void (*PauseTransformFeedback)(struct gl_context *ctx,
struct gl_transform_feedback_object *obj);
- void (*ResumeTransformFeedback)(GLcontext *ctx,
+ void (*ResumeTransformFeedback)(struct gl_context *ctx,
struct gl_transform_feedback_object *obj);
- void (*DrawTransformFeedback)(GLcontext *ctx, GLenum mode,
+ void (*DrawTransformFeedback)(struct gl_context *ctx, GLenum mode,
struct gl_transform_feedback_object *obj);
};
@@ -1086,6 +1086,7 @@ typedef struct {
void (GLAPIENTRYP CallLists)( GLsizei, GLenum, const GLvoid * );
void (GLAPIENTRYP Begin)( GLenum );
void (GLAPIENTRYP End)( void );
+ void (GLAPIENTRYP PrimitiveRestartNV)( void );
/* GL_NV_vertex_program */
void (GLAPIENTRYP VertexAttrib1fNV)( GLuint index, GLfloat x );
void (GLAPIENTRYP VertexAttrib1fvNV)( GLuint index, const GLfloat *v );
diff --git a/src/mesa/main/debug.c b/src/mesa/main/debug.c
index 4205c7a4b71..a7e65f8d3aa 100644
--- a/src/mesa/main/debug.c
+++ b/src/mesa/main/debug.c
@@ -233,7 +233,7 @@ static void add_debug_flags( const char *debug )
void
-_mesa_init_debug( GLcontext *ctx )
+_mesa_init_debug( struct gl_context *ctx )
{
char *c;
@@ -578,7 +578,7 @@ _mesa_dump_stencil_buffer(const char *filename)
* Quick and dirty function to "print" a texture to stdout.
*/
void
-_mesa_print_texture(GLcontext *ctx, const struct gl_texture_image *img)
+_mesa_print_texture(struct gl_context *ctx, const struct gl_texture_image *img)
{
#if CHAN_TYPE != GL_UNSIGNED_BYTE
_mesa_problem(NULL, "PrintTexture not supported");
diff --git a/src/mesa/main/debug.h b/src/mesa/main/debug.h
index b517cc8259f..e3bb4dfe813 100644
--- a/src/mesa/main/debug.h
+++ b/src/mesa/main/debug.h
@@ -45,7 +45,7 @@ extern void _mesa_print_tri_caps( const char *name, GLuint flags );
extern void _mesa_print_enable_flags( const char *msg, GLuint flags );
extern void _mesa_print_state( const char *msg, GLuint state );
extern void _mesa_print_info( void );
-extern void _mesa_init_debug( GLcontext *ctx );
+extern void _mesa_init_debug( struct gl_context *ctx );
#else
@@ -79,6 +79,6 @@ extern void
_mesa_dump_stencil_buffer(const char *filename);
extern void
-_mesa_print_texture(GLcontext *ctx, const struct gl_texture_image *img);
+_mesa_print_texture(struct gl_context *ctx, const struct gl_texture_image *img);
#endif
diff --git a/src/mesa/main/depth.c b/src/mesa/main/depth.c
index f187205b978..c5a910e144a 100644
--- a/src/mesa/main/depth.c
+++ b/src/mesa/main/depth.c
@@ -153,7 +153,7 @@ _mesa_DepthBoundsEXT( GLclampd zmin, GLclampd zmax )
* Initialize the depth buffer attribute group in the given context.
*/
void
-_mesa_init_depth(GLcontext *ctx)
+_mesa_init_depth(struct gl_context *ctx)
{
ctx->Depth.Test = GL_FALSE;
ctx->Depth.Clear = 1.0;
diff --git a/src/mesa/main/depth.h b/src/mesa/main/depth.h
index dcc0b4637a7..d61d3b121ba 100644
--- a/src/mesa/main/depth.h
+++ b/src/mesa/main/depth.h
@@ -50,7 +50,7 @@ extern void GLAPIENTRY
_mesa_DepthBoundsEXT( GLclampd zmin, GLclampd zmax );
extern void
-_mesa_init_depth( GLcontext * ctx );
+_mesa_init_depth( struct gl_context * ctx );
#else
diff --git a/src/mesa/main/depthstencil.c b/src/mesa/main/depthstencil.c
index dbaa8416457..c5466dc9fcc 100644
--- a/src/mesa/main/depthstencil.c
+++ b/src/mesa/main/depthstencil.c
@@ -46,7 +46,7 @@
static void *
-nop_get_pointer(GLcontext *ctx, struct gl_renderbuffer *rb, GLint x, GLint y)
+nop_get_pointer(struct gl_context *ctx, struct gl_renderbuffer *rb, GLint x, GLint y)
{
(void) ctx;
(void) rb;
@@ -73,7 +73,7 @@ delete_wrapper(struct gl_renderbuffer *rb)
* Realloc storage for wrapper.
*/
static GLboolean
-alloc_wrapper_storage(GLcontext *ctx, struct gl_renderbuffer *rb,
+alloc_wrapper_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLenum internalFormat, GLuint width, GLuint height)
{
/* just pass this on to the wrapped renderbuffer */
@@ -103,7 +103,7 @@ alloc_wrapper_storage(GLcontext *ctx, struct gl_renderbuffer *rb,
*/
static void
-get_row_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
+get_row_z24(struct gl_context *ctx, struct gl_renderbuffer *z24rb, GLuint count,
GLint x, GLint y, void *values)
{
struct gl_renderbuffer *dsrb = z24rb->Wrapped;
@@ -130,7 +130,7 @@ get_row_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
}
static void
-get_values_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
+get_values_z24(struct gl_context *ctx, struct gl_renderbuffer *z24rb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
struct gl_renderbuffer *dsrb = z24rb->Wrapped;
@@ -155,7 +155,7 @@ get_values_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
}
static void
-put_row_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
+put_row_z24(struct gl_context *ctx, struct gl_renderbuffer *z24rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
struct gl_renderbuffer *dsrb = z24rb->Wrapped;
@@ -206,7 +206,7 @@ put_row_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
}
static void
-put_mono_row_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
+put_mono_row_z24(struct gl_context *ctx, struct gl_renderbuffer *z24rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
struct gl_renderbuffer *dsrb = z24rb->Wrapped;
@@ -260,7 +260,7 @@ put_mono_row_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
}
static void
-put_values_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
+put_values_z24(struct gl_context *ctx, struct gl_renderbuffer *z24rb, GLuint count,
const GLint x[], const GLint y[],
const void *values, const GLubyte *mask)
{
@@ -313,7 +313,7 @@ put_values_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb, GLuint count,
}
static void
-put_mono_values_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb,
+put_mono_values_z24(struct gl_context *ctx, struct gl_renderbuffer *z24rb,
GLuint count, const GLint x[], const GLint y[],
const void *value, const GLubyte *mask)
{
@@ -348,7 +348,7 @@ put_mono_values_z24(GLcontext *ctx, struct gl_renderbuffer *z24rb,
* \return new depth renderbuffer
*/
struct gl_renderbuffer *
-_mesa_new_z24_renderbuffer_wrapper(GLcontext *ctx,
+_mesa_new_z24_renderbuffer_wrapper(struct gl_context *ctx,
struct gl_renderbuffer *dsrb)
{
struct gl_renderbuffer *z24rb;
@@ -396,7 +396,7 @@ _mesa_new_z24_renderbuffer_wrapper(GLcontext *ctx,
*/
static void
-get_row_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
+get_row_s8(struct gl_context *ctx, struct gl_renderbuffer *s8rb, GLuint count,
GLint x, GLint y, void *values)
{
struct gl_renderbuffer *dsrb = s8rb->Wrapped;
@@ -423,7 +423,7 @@ get_row_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
}
static void
-get_values_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
+get_values_s8(struct gl_context *ctx, struct gl_renderbuffer *s8rb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
struct gl_renderbuffer *dsrb = s8rb->Wrapped;
@@ -448,7 +448,7 @@ get_values_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
}
static void
-put_row_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
+put_row_s8(struct gl_context *ctx, struct gl_renderbuffer *s8rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
struct gl_renderbuffer *dsrb = s8rb->Wrapped;
@@ -499,7 +499,7 @@ put_row_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
}
static void
-put_mono_row_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
+put_mono_row_s8(struct gl_context *ctx, struct gl_renderbuffer *s8rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
struct gl_renderbuffer *dsrb = s8rb->Wrapped;
@@ -550,7 +550,7 @@ put_mono_row_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
}
static void
-put_values_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
+put_values_s8(struct gl_context *ctx, struct gl_renderbuffer *s8rb, GLuint count,
const GLint x[], const GLint y[],
const void *values, const GLubyte *mask)
{
@@ -603,7 +603,7 @@ put_values_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
}
static void
-put_mono_values_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
+put_mono_values_s8(struct gl_context *ctx, struct gl_renderbuffer *s8rb, GLuint count,
const GLint x[], const GLint y[],
const void *value, const GLubyte *mask)
{
@@ -637,7 +637,7 @@ put_mono_values_s8(GLcontext *ctx, struct gl_renderbuffer *s8rb, GLuint count,
* \return new stencil renderbuffer
*/
struct gl_renderbuffer *
-_mesa_new_s8_renderbuffer_wrapper(GLcontext *ctx, struct gl_renderbuffer *dsrb)
+_mesa_new_s8_renderbuffer_wrapper(struct gl_context *ctx, struct gl_renderbuffer *dsrb)
{
struct gl_renderbuffer *s8rb;
@@ -698,7 +698,7 @@ _mesa_new_s8_renderbuffer_wrapper(GLcontext *ctx, struct gl_renderbuffer *dsrb)
* (either 8-bit or 32-bit)
*/
void
-_mesa_extract_stencil(GLcontext *ctx,
+_mesa_extract_stencil(struct gl_context *ctx,
struct gl_renderbuffer *dsRb,
struct gl_renderbuffer *stencilRb)
{
@@ -747,7 +747,7 @@ _mesa_extract_stencil(GLcontext *ctx,
* \param stencilRb the source stencil buffer (either 8-bit or 32-bit)
*/
void
-_mesa_insert_stencil(GLcontext *ctx,
+_mesa_insert_stencil(struct gl_context *ctx,
struct gl_renderbuffer *dsRb,
struct gl_renderbuffer *stencilRb)
{
@@ -803,7 +803,7 @@ _mesa_insert_stencil(GLcontext *ctx,
* \param stencilRb the stencil renderbuffer to promote
*/
void
-_mesa_promote_stencil(GLcontext *ctx, struct gl_renderbuffer *stencilRb)
+_mesa_promote_stencil(struct gl_context *ctx, struct gl_renderbuffer *stencilRb)
{
const GLsizei width = stencilRb->Width;
const GLsizei height = stencilRb->Height;
diff --git a/src/mesa/main/depthstencil.h b/src/mesa/main/depthstencil.h
index afbac77f0e2..4db5868263a 100644
--- a/src/mesa/main/depthstencil.h
+++ b/src/mesa/main/depthstencil.h
@@ -29,29 +29,29 @@
#include "mtypes.h"
extern struct gl_renderbuffer *
-_mesa_new_z24_renderbuffer_wrapper(GLcontext *ctx,
+_mesa_new_z24_renderbuffer_wrapper(struct gl_context *ctx,
struct gl_renderbuffer *dsrb);
extern struct gl_renderbuffer *
-_mesa_new_s8_renderbuffer_wrapper(GLcontext *ctx,
+_mesa_new_s8_renderbuffer_wrapper(struct gl_context *ctx,
struct gl_renderbuffer *dsrb);
extern void
-_mesa_extract_stencil(GLcontext *ctx,
+_mesa_extract_stencil(struct gl_context *ctx,
struct gl_renderbuffer *dsRb,
struct gl_renderbuffer *stencilRb);
extern void
-_mesa_insert_stencil(GLcontext *ctx,
+_mesa_insert_stencil(struct gl_context *ctx,
struct gl_renderbuffer *dsRb,
struct gl_renderbuffer *stencilRb);
extern void
-_mesa_promote_stencil(GLcontext *ctx, struct gl_renderbuffer *stencilRb);
+_mesa_promote_stencil(struct gl_context *ctx, struct gl_renderbuffer *stencilRb);
#endif /* DEPTHSTENCIL_H */
diff --git a/src/mesa/main/dlist.c b/src/mesa/main/dlist.c
index cccec248539..e824226ca67 100644
--- a/src/mesa/main/dlist.c
+++ b/src/mesa/main/dlist.c
@@ -53,6 +53,7 @@
#include "image.h"
#include "light.h"
#include "macros.h"
+#include "pack.h"
#include "queryobj.h"
#include "teximage.h"
#include "mtypes.h"
@@ -77,9 +78,9 @@
struct gl_list_instruction
{
GLuint Size;
- void (*Execute)( GLcontext *ctx, void *data );
- void (*Destroy)( GLcontext *ctx, void *data );
- void (*Print)( GLcontext *ctx, void *data );
+ void (*Execute)( struct gl_context *ctx, void *data );
+ void (*Destroy)( struct gl_context *ctx, void *data );
+ void (*Print)( struct gl_context *ctx, void *data );
};
@@ -410,6 +411,16 @@ typedef enum
OPCODE_BEGIN_TRANSFORM_FEEDBACK,
OPCODE_END_TRANSFORM_FEEDBACK,
+ /* GL_EXT_texture_integer */
+ OPCODE_CLEARCOLOR_I,
+ OPCODE_CLEARCOLOR_UI,
+ OPCODE_TEXPARAMETER_I,
+ OPCODE_TEXPARAMETER_UI,
+
+ /* GL_EXT_separate_shader_objects */
+ OPCODE_ACTIVE_PROGRAM_EXT,
+ OPCODE_USE_SHADER_PROGRAM_EXT,
+
/* The following three are meta instructions */
OPCODE_ERROR, /* raise compiled-in error */
OPCODE_CONTINUE,
@@ -496,7 +507,7 @@ make_list(GLuint name, GLuint count)
* Lookup function to just encapsulate casting.
*/
static INLINE struct gl_display_list *
-lookup_list(GLcontext *ctx, GLuint list)
+lookup_list(struct gl_context *ctx, GLuint list)
{
return (struct gl_display_list *)
_mesa_HashLookup(ctx->Shared->DisplayList, list);
@@ -513,7 +524,7 @@ is_ext_opcode(OpCode opcode)
/** Destroy an extended opcode instruction */
static GLint
-ext_opcode_destroy(GLcontext *ctx, Node *node)
+ext_opcode_destroy(struct gl_context *ctx, Node *node)
{
const GLint i = node[0].opcode - OPCODE_EXT_0;
GLint step;
@@ -525,7 +536,7 @@ ext_opcode_destroy(GLcontext *ctx, Node *node)
/** Execute an extended opcode instruction */
static GLint
-ext_opcode_execute(GLcontext *ctx, Node *node)
+ext_opcode_execute(struct gl_context *ctx, Node *node)
{
const GLint i = node[0].opcode - OPCODE_EXT_0;
GLint step;
@@ -537,7 +548,7 @@ ext_opcode_execute(GLcontext *ctx, Node *node)
/** Print an extended opcode instruction */
static GLint
-ext_opcode_print(GLcontext *ctx, Node *node)
+ext_opcode_print(struct gl_context *ctx, Node *node)
{
const GLint i = node[0].opcode - OPCODE_EXT_0;
GLint step;
@@ -552,7 +563,7 @@ ext_opcode_print(GLcontext *ctx, Node *node)
* \param dlist - display list pointer
*/
void
-_mesa_delete_list(GLcontext *ctx, struct gl_display_list *dlist)
+_mesa_delete_list(struct gl_context *ctx, struct gl_display_list *dlist)
{
Node *n, *block;
GLboolean done;
@@ -730,7 +741,7 @@ _mesa_delete_list(GLcontext *ctx, struct gl_display_list *dlist)
* \param list - display list number
*/
static void
-destroy_list(GLcontext *ctx, GLuint list)
+destroy_list(struct gl_context *ctx, GLuint list)
{
struct gl_display_list *dlist;
@@ -814,7 +825,7 @@ translate_id(GLsizei n, GLenum type, const GLvoid * list)
* If we run out of memory, GL_OUT_OF_MEMORY will be recorded.
*/
static GLvoid *
-unpack_image(GLcontext *ctx, GLuint dimensions,
+unpack_image(struct gl_context *ctx, GLuint dimensions,
GLsizei width, GLsizei height, GLsizei depth,
GLenum format, GLenum type, const GLvoid * pixels,
const struct gl_pixelstore_attrib *unpack)
@@ -866,7 +877,7 @@ unpack_image(GLcontext *ctx, GLuint dimensions,
* \return pointer to allocated memory (the opcode space)
*/
static Node *
-dlist_alloc(GLcontext *ctx, OpCode opcode, GLuint bytes)
+dlist_alloc(struct gl_context *ctx, OpCode opcode, GLuint bytes)
{
const GLuint numNodes = 1 + (bytes + sizeof(Node) - 1) / sizeof(Node);
Node *n;
@@ -917,7 +928,7 @@ dlist_alloc(GLcontext *ctx, OpCode opcode, GLuint bytes)
* opcode).
*/
void *
-_mesa_dlist_alloc(GLcontext *ctx, GLuint opcode, GLuint bytes)
+_mesa_dlist_alloc(struct gl_context *ctx, GLuint opcode, GLuint bytes)
{
Node *n = dlist_alloc(ctx, (OpCode) opcode, bytes);
if (n)
@@ -938,11 +949,11 @@ _mesa_dlist_alloc(GLcontext *ctx, GLuint opcode, GLuint bytes)
* \return the new opcode number or -1 if error
*/
GLint
-_mesa_dlist_alloc_opcode(GLcontext *ctx,
+_mesa_dlist_alloc_opcode(struct gl_context *ctx,
GLuint size,
- void (*execute) (GLcontext *, void *),
- void (*destroy) (GLcontext *, void *),
- void (*print) (GLcontext *, void *))
+ void (*execute) (struct gl_context *, void *),
+ void (*destroy) (struct gl_context *, void *),
+ void (*print) (struct gl_context *, void *))
{
if (ctx->ListExt->NumOpcodes < MAX_DLIST_EXT_OPCODES) {
const GLuint i = ctx->ListExt->NumOpcodes++;
@@ -967,7 +978,7 @@ _mesa_dlist_alloc_opcode(GLcontext *ctx,
* \return pointer to start of instruction space
*/
static INLINE Node *
-alloc_instruction(GLcontext *ctx, OpCode opcode, GLuint nparams)
+alloc_instruction(struct gl_context *ctx, OpCode opcode, GLuint nparams)
{
return dlist_alloc(ctx, opcode, nparams * sizeof(Node));
}
@@ -1132,7 +1143,7 @@ save_BlendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)
}
}
-static void invalidate_saved_current_state( GLcontext *ctx )
+static void invalidate_saved_current_state( struct gl_context *ctx )
{
GLint i;
@@ -6786,6 +6797,137 @@ save_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose,
}
}
+static void GLAPIENTRY
+save_UseShaderProgramEXT(GLenum type, GLuint program)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_USE_SHADER_PROGRAM_EXT, 2);
+ if (n) {
+ n[1].ui = type;
+ n[2].ui = program;
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_UseShaderProgramEXT(ctx->Exec, (type, program));
+ }
+}
+
+static void GLAPIENTRY
+save_ActiveProgramEXT(GLuint program)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_ACTIVE_PROGRAM_EXT, 1);
+ if (n) {
+ n[1].ui = program;
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_ActiveProgramEXT(ctx->Exec, (program));
+ }
+}
+
+/** GL_EXT_texture_integer */
+static void GLAPIENTRY
+save_ClearColorIi(GLint red, GLint green, GLint blue, GLint alpha)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_CLEARCOLOR_I, 4);
+ if (n) {
+ n[1].i = red;
+ n[2].i = green;
+ n[3].i = blue;
+ n[4].i = alpha;
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_ClearColorIiEXT(ctx->Exec, (red, green, blue, alpha));
+ }
+}
+
+/** GL_EXT_texture_integer */
+static void GLAPIENTRY
+save_ClearColorIui(GLuint red, GLuint green, GLuint blue, GLuint alpha)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_CLEARCOLOR_UI, 4);
+ if (n) {
+ n[1].ui = red;
+ n[2].ui = green;
+ n[3].ui = blue;
+ n[4].ui = alpha;
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_ClearColorIuiEXT(ctx->Exec, (red, green, blue, alpha));
+ }
+}
+
+/** GL_EXT_texture_integer */
+static void GLAPIENTRY
+save_TexParameterIiv(GLenum target, GLenum pname, const GLint *params)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_TEXPARAMETER_I, 6);
+ if (n) {
+ n[1].e = target;
+ n[2].e = pname;
+ n[3].i = params[0];
+ n[4].i = params[1];
+ n[5].i = params[2];
+ n[6].i = params[3];
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_TexParameterIivEXT(ctx->Exec, (target, pname, params));
+ }
+}
+
+/** GL_EXT_texture_integer */
+static void GLAPIENTRY
+save_TexParameterIuiv(GLenum target, GLenum pname, const GLuint *params)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ Node *n;
+ ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx);
+ n = alloc_instruction(ctx, OPCODE_TEXPARAMETER_UI, 6);
+ if (n) {
+ n[1].e = target;
+ n[2].e = pname;
+ n[3].ui = params[0];
+ n[4].ui = params[1];
+ n[5].ui = params[2];
+ n[6].ui = params[3];
+ }
+ if (ctx->ExecuteFlag) {
+ CALL_TexParameterIuivEXT(ctx->Exec, (target, pname, params));
+ }
+}
+
+/** GL_EXT_texture_integer */
+static void GLAPIENTRY
+exec_GetTexParameterIiv(GLenum target, GLenum pname, GLint *params)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ FLUSH_VERTICES(ctx, 0);
+ CALL_GetTexParameterIivEXT(ctx->Exec, (target, pname, params));
+}
+
+/** GL_EXT_texture_integer */
+static void GLAPIENTRY
+exec_GetTexParameterIuiv(GLenum target, GLenum pname, GLuint *params)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ FLUSH_VERTICES(ctx, 0);
+ CALL_GetTexParameterIuivEXT(ctx->Exec, (target, pname, params));
+}
+
+
+
/**
@@ -6795,7 +6937,7 @@ save_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose,
* command that provoked the error. I don't see this as a problem.
*/
static void
-save_error(GLcontext *ctx, GLenum error, const char *s)
+save_error(struct gl_context *ctx, GLenum error, const char *s)
{
Node *n;
n = alloc_instruction(ctx, OPCODE_ERROR, 2);
@@ -6810,7 +6952,7 @@ save_error(GLcontext *ctx, GLenum error, const char *s)
* Compile an error into current display list.
*/
void
-_mesa_compile_error(GLcontext *ctx, GLenum error, const char *s)
+_mesa_compile_error(struct gl_context *ctx, GLenum error, const char *s)
{
if (ctx->CompileFlag)
save_error(ctx, error, s);
@@ -6823,7 +6965,7 @@ _mesa_compile_error(GLcontext *ctx, GLenum error, const char *s)
* Test if ID names a display list.
*/
static GLboolean
-islist(GLcontext *ctx, GLuint list)
+islist(struct gl_context *ctx, GLuint list)
{
if (list > 0 && lookup_list(ctx, list)) {
return GL_TRUE;
@@ -6847,7 +6989,7 @@ islist(GLcontext *ctx, GLuint list)
* \param list - display list number
*/
static void
-execute_list(GLcontext *ctx, GLuint list)
+execute_list(struct gl_context *ctx, GLuint list)
{
struct gl_display_list *dlist;
Node *n;
@@ -7673,6 +7815,12 @@ execute_list(GLcontext *ctx, GLuint list)
case OPCODE_USE_PROGRAM:
CALL_UseProgramObjectARB(ctx->Exec, (n[1].ui));
break;
+ case OPCODE_USE_SHADER_PROGRAM_EXT:
+ CALL_UseShaderProgramEXT(ctx->Exec, (n[1].ui, n[2].ui));
+ break;
+ case OPCODE_ACTIVE_PROGRAM_EXT:
+ CALL_ActiveProgramEXT(ctx->Exec, (n[1].ui));
+ break;
case OPCODE_UNIFORM_1F:
CALL_Uniform1fARB(ctx->Exec, (n[1].i, n[2].f));
break;
@@ -7903,6 +8051,35 @@ execute_list(GLcontext *ctx, GLuint list)
CALL_EvalPoint2(ctx->Exec, (n[1].i, n[2].i));
break;
+ /* GL_EXT_texture_integer */
+ case OPCODE_CLEARCOLOR_I:
+ CALL_ClearColorIiEXT(ctx->Exec, (n[1].i, n[2].i, n[3].i, n[4].i));
+ break;
+ case OPCODE_CLEARCOLOR_UI:
+ CALL_ClearColorIuiEXT(ctx->Exec,
+ (n[1].ui, n[2].ui, n[3].ui, n[4].ui));
+ break;
+ case OPCODE_TEXPARAMETER_I:
+ {
+ GLint params[4];
+ params[0] = n[3].i;
+ params[1] = n[4].i;
+ params[2] = n[5].i;
+ params[3] = n[6].i;
+ CALL_TexParameterIivEXT(ctx->Exec, (n[1].e, n[2].e, params));
+ }
+ break;
+ case OPCODE_TEXPARAMETER_UI:
+ {
+ GLuint params[4];
+ params[0] = n[3].ui;
+ params[1] = n[4].ui;
+ params[2] = n[5].ui;
+ params[3] = n[6].ui;
+ CALL_TexParameterIuivEXT(ctx->Exec, (n[1].e, n[2].e, params));
+ }
+ break;
+
case OPCODE_CONTINUE:
n = (Node *) n[1].next;
break;
@@ -9531,6 +9708,18 @@ _mesa_create_save_table(void)
SET_ObjectUnpurgeableAPPLE(table, _mesa_ObjectUnpurgeableAPPLE);
#endif
+ /* GL_EXT_texture_integer */
+ SET_ClearColorIiEXT(table, save_ClearColorIi);
+ SET_ClearColorIuiEXT(table, save_ClearColorIui);
+ SET_TexParameterIivEXT(table, save_TexParameterIiv);
+ SET_TexParameterIuivEXT(table, save_TexParameterIuiv);
+ SET_GetTexParameterIivEXT(table, exec_GetTexParameterIiv);
+ SET_GetTexParameterIuivEXT(table, exec_GetTexParameterIuiv);
+
+ /* 377. GL_EXT_separate_shader_objects */
+ SET_UseShaderProgramEXT(table, save_UseShaderProgramEXT);
+ SET_ActiveProgramEXT(table, save_ActiveProgramEXT);
+
/* GL 3.0 */
#if 0
SET_ClearBufferiv(table, save_ClearBufferiv);
@@ -9577,7 +9766,7 @@ enum_string(GLenum k)
* TODO: many commands aren't handled yet.
*/
static void GLAPIENTRY
-print_list(GLcontext *ctx, GLuint list)
+print_list(struct gl_context *ctx, GLuint list)
{
struct gl_display_list *dlist;
Node *n;
@@ -9969,7 +10158,7 @@ void _mesa_init_dlist_dispatch(struct _glapi_table *disp)
* Initialize display list state for given context.
*/
void
-_mesa_init_display_list(GLcontext *ctx)
+_mesa_init_display_list(struct gl_context *ctx)
{
static GLboolean tableInitialized = GL_FALSE;
@@ -9999,7 +10188,7 @@ _mesa_init_display_list(GLcontext *ctx)
void
-_mesa_free_display_list_data(GLcontext *ctx)
+_mesa_free_display_list_data(struct gl_context *ctx)
{
free(ctx->ListExt);
ctx->ListExt = NULL;
diff --git a/src/mesa/main/dlist.h b/src/mesa/main/dlist.h
index 86bb132e56e..24241a4bd4f 100644
--- a/src/mesa/main/dlist.h
+++ b/src/mesa/main/dlist.h
@@ -49,16 +49,16 @@ extern void GLAPIENTRY _mesa_CallList( GLuint list );
extern void GLAPIENTRY _mesa_CallLists( GLsizei n, GLenum type, const GLvoid *lists );
-extern void _mesa_compile_error( GLcontext *ctx, GLenum error, const char *s );
+extern void _mesa_compile_error( struct gl_context *ctx, GLenum error, const char *s );
-extern void *_mesa_dlist_alloc(GLcontext *ctx, GLuint opcode, GLuint sz);
+extern void *_mesa_dlist_alloc(struct gl_context *ctx, GLuint opcode, GLuint sz);
-extern GLint _mesa_dlist_alloc_opcode( GLcontext *ctx, GLuint sz,
- void (*execute)( GLcontext *, void * ),
- void (*destroy)( GLcontext *, void * ),
- void (*print)( GLcontext *, void * ) );
+extern GLint _mesa_dlist_alloc_opcode( struct gl_context *ctx, GLuint sz,
+ void (*execute)( struct gl_context *, void * ),
+ void (*destroy)( struct gl_context *, void * ),
+ void (*print)( struct gl_context *, void * ) );
-extern void _mesa_delete_list(GLcontext *ctx, struct gl_display_list *dlist);
+extern void _mesa_delete_list(struct gl_context *ctx, struct gl_display_list *dlist);
extern void _mesa_save_vtxfmt_init( GLvertexformat *vfmt );
@@ -76,7 +76,7 @@ extern void _mesa_init_dlist_dispatch(struct _glapi_table *disp);
#define _MESA_INIT_DLIST_VTXFMT(vfmt, impl) do { } while (0)
static INLINE void
-_mesa_delete_list(GLcontext *ctx, struct gl_display_list *dlist)
+_mesa_delete_list(struct gl_context *ctx, struct gl_display_list *dlist)
{
/* there should be no list to delete */
ASSERT_NO_FEATURE();
@@ -95,9 +95,9 @@ _mesa_init_dlist_dispatch(struct _glapi_table *disp)
#endif /* FEATURE_dlist */
-extern void _mesa_init_display_list( GLcontext * ctx );
+extern void _mesa_init_display_list( struct gl_context * ctx );
-extern void _mesa_free_display_list_data(GLcontext *ctx);
+extern void _mesa_free_display_list_data(struct gl_context *ctx);
#endif /* DLIST_H */
diff --git a/src/mesa/main/drawpix.c b/src/mesa/main/drawpix.c
index bf36a7e7a49..757aae6e703 100644
--- a/src/mesa/main/drawpix.c
+++ b/src/mesa/main/drawpix.c
@@ -32,23 +32,12 @@
#include "framebuffer.h"
#include "readpix.h"
#include "state.h"
-#include "main/dispatch.h"
+#include "dispatch.h"
#if FEATURE_drawpix
-/**
- * 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);
-}
-
-
/*
* Execute glDrawPixels
*/
@@ -65,33 +54,21 @@ _mesa_DrawPixels( GLsizei width, GLsizei height,
}
/* We're not using the current vertex program, and the driver may install
- * it's own.
+ * its own. Note: this may dirty some state.
*/
_mesa_set_vp_override(ctx, GL_TRUE);
- if (ctx->NewState) {
- _mesa_update_state(ctx);
- }
-
- if (!valid_fragment_program(ctx)) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glDrawPixels (invalid fragment program)");
- goto end;
+ /* Note: this call does state validation */
+ if (!_mesa_valid_to_render(ctx, "glDrawPixels")) {
+ goto end; /* the error code was recorded */
}
if (_mesa_error_check_format_type(ctx, format, type, GL_TRUE)) {
- /* 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)" );
- goto end;
+ goto end; /* the error code was recorded */
}
if (!ctx->Current.RasterPosValid) {
- goto end; /* no-op, not an error */
+ goto end; /* no-op, not an error */
}
if (ctx->RenderMode == GL_RENDER) {
@@ -165,22 +142,17 @@ _mesa_CopyPixels( GLint srcx, GLint srcy, GLsizei width, GLsizei height,
}
/* We're not using the current vertex program, and the driver may install
- * it's own.
+ * it's own. Note: this may dirty some state.
*/
_mesa_set_vp_override(ctx, GL_TRUE);
- if (ctx->NewState) {
- _mesa_update_state(ctx);
+ /* Note: this call does state validation */
+ if (!_mesa_valid_to_render(ctx, "glCopyPixels")) {
+ goto end; /* the error code was recorded */
}
- if (!valid_fragment_program(ctx)) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glCopyPixels (invalid fragment program)");
- goto end;
- }
-
- if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT ||
- ctx->ReadBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
+ /* Check read buffer's status (draw buffer was already checked) */
+ if (ctx->ReadBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
_mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
"glCopyPixels(incomplete framebuffer)" );
goto end;
@@ -241,19 +213,9 @@ _mesa_Bitmap( GLsizei width, GLsizei height,
return; /* do nothing */
}
- if (ctx->NewState) {
- _mesa_update_state(ctx);
- }
-
- if (!valid_fragment_program(ctx)) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
- "glBitmap (invalid fragment program)");
- return;
- }
-
- if (ctx->DrawBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
- _mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
- "glBitmap(incomplete framebuffer)");
+ /* Note: this call does state validation */
+ if (!_mesa_valid_to_render(ctx, "glBitmap")) {
+ /* the error code was recorded */
return;
}
diff --git a/src/mesa/main/drawtex.c b/src/mesa/main/drawtex.c
index c2ad5f23862..b9afc9974e0 100644
--- a/src/mesa/main/drawtex.c
+++ b/src/mesa/main/drawtex.c
@@ -30,7 +30,7 @@
static void
-draw_texture(GLcontext *ctx, GLfloat x, GLfloat y, GLfloat z,
+draw_texture(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z,
GLfloat width, GLfloat height)
{
if (!ctx->Extensions.OES_draw_texture) {
diff --git a/src/mesa/main/enable.c b/src/mesa/main/enable.c
index b2be44830a0..a038a95c55a 100644
--- a/src/mesa/main/enable.c
+++ b/src/mesa/main/enable.c
@@ -50,7 +50,7 @@
* Helper to enable/disable client-side state.
*/
static void
-client_state(GLcontext *ctx, GLenum cap, GLboolean state)
+client_state(struct gl_context *ctx, GLenum cap, GLboolean state)
{
struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
GLuint flag;
@@ -124,6 +124,15 @@ client_state(GLcontext *ctx, GLenum cap, GLboolean state)
break;
#endif /* FEATURE_NV_vertex_program */
+ /* GL_NV_primitive_restart */
+ case GL_PRIMITIVE_RESTART_NV:
+ if (!ctx->Extensions.NV_primitive_restart) {
+ goto invalid_enum_error;
+ }
+ var = &ctx->Array.PrimitiveRestart;
+ flag = 0;
+ break;
+
default:
goto invalid_enum_error;
}
@@ -207,7 +216,7 @@ _mesa_DisableClientState( GLenum cap )
* higher than the number of supported coordinate units. And we'll return NULL.
*/
static struct gl_texture_unit *
-get_texcoord_unit(GLcontext *ctx)
+get_texcoord_unit(struct gl_context *ctx)
{
if (ctx->Texture.CurrentUnit >= ctx->Const.MaxTextureCoordUnits) {
_mesa_error(ctx, GL_INVALID_OPERATION, "glEnable/Disable(texcoord unit)");
@@ -225,7 +234,7 @@ get_texcoord_unit(GLcontext *ctx)
* \return GL_TRUE if state is changing or GL_FALSE if no change
*/
static GLboolean
-enable_texture(GLcontext *ctx, GLboolean state, GLbitfield texBit)
+enable_texture(struct gl_context *ctx, GLboolean state, GLbitfield texBit)
{
struct gl_texture_unit *texUnit = _mesa_get_current_tex_unit(ctx);
const GLbitfield newenabled = state
@@ -253,7 +262,7 @@ enable_texture(GLcontext *ctx, GLboolean state, GLbitfield texBit)
* dd_function_table::Enable.
*/
void
-_mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state)
+_mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
{
if (MESA_VERBOSE & VERBOSE_API)
_mesa_debug(ctx, "%s %s (newstate is %x)\n",
@@ -945,9 +954,11 @@ _mesa_set_enable(GLcontext *ctx, GLenum cap, GLboolean state)
break;
#endif
- /* GL 3.1 primitive restart */
+ /* GL 3.1 primitive restart. Note: this enum is different from
+ * GL_PRIMITIVE_RESTART_NV (which is client state).
+ */
case GL_PRIMITIVE_RESTART:
- if (ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
+ if (ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
goto invalid_enum_error;
}
if (ctx->Array.PrimitiveRestart != state) {
@@ -1005,7 +1016,7 @@ _mesa_Disable( GLenum cap )
* Enable/disable an indexed state var.
*/
void
-_mesa_set_enablei(GLcontext *ctx, GLenum cap, GLuint index, GLboolean state)
+_mesa_set_enablei(struct gl_context *ctx, GLenum cap, GLuint index, GLboolean state)
{
ASSERT(state == 0 || state == 1);
switch (cap) {
@@ -1095,7 +1106,7 @@ _mesa_IsEnabledIndexed( GLenum cap, GLuint index )
* Helper function to determine whether a texture target is enabled.
*/
static GLboolean
-is_texture_enabled(GLcontext *ctx, GLbitfield bit)
+is_texture_enabled(struct gl_context *ctx, GLbitfield bit)
{
const struct gl_texture_unit *const texUnit =
&ctx->Texture.Unit[ctx->Texture.CurrentUnit];
@@ -1454,9 +1465,16 @@ _mesa_IsEnabled( GLenum cap )
return ctx->TransformFeedback.RasterDiscard;
#endif
+ /* GL_NV_primitive_restart */
+ case GL_PRIMITIVE_RESTART_NV:
+ if (!ctx->Extensions.NV_primitive_restart) {
+ goto invalid_enum_error;
+ }
+ return ctx->Array.PrimitiveRestart;
+
/* GL 3.1 primitive restart */
case GL_PRIMITIVE_RESTART:
- if (ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
+ if (ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
goto invalid_enum_error;
}
return ctx->Array.PrimitiveRestart;
diff --git a/src/mesa/main/enable.h b/src/mesa/main/enable.h
index 24e3181a8ba..69e52b1cb26 100644
--- a/src/mesa/main/enable.h
+++ b/src/mesa/main/enable.h
@@ -36,7 +36,7 @@
extern void
-_mesa_set_enable( GLcontext* ctx, GLenum cap, GLboolean state );
+_mesa_set_enable( struct gl_context* ctx, GLenum cap, GLboolean state );
extern void GLAPIENTRY
_mesa_Disable( GLenum cap );
@@ -48,7 +48,7 @@ extern GLboolean GLAPIENTRY
_mesa_IsEnabled( GLenum cap );
extern void
-_mesa_set_enablei(GLcontext *ctx, GLenum cap, GLuint index, GLboolean state);
+_mesa_set_enablei(struct gl_context *ctx, GLenum cap, GLuint index, GLboolean state);
extern void GLAPIENTRY
_mesa_DisableIndexed( GLenum cap, GLuint index );
diff --git a/src/mesa/main/enums.c b/src/mesa/main/enums.c
index bc18e1b1131..48291cfa7af 100644
--- a/src/mesa/main/enums.c
+++ b/src/mesa/main/enums.c
@@ -53,6 +53,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_ACCUM_RED_BITS\0"
"GL_ACTIVE_ATTRIBUTES\0"
"GL_ACTIVE_ATTRIBUTE_MAX_LENGTH\0"
+ "GL_ACTIVE_PROGRAM_EXT\0"
"GL_ACTIVE_STENCIL_FACE_EXT\0"
"GL_ACTIVE_TEXTURE\0"
"GL_ACTIVE_TEXTURE_ARB\0"
@@ -71,13 +72,20 @@ LONGSTRING static const char enum_string_table[] =
"GL_ALPHA12\0"
"GL_ALPHA12_EXT\0"
"GL_ALPHA16\0"
+ "GL_ALPHA16I_EXT\0"
+ "GL_ALPHA16UI_EXT\0"
"GL_ALPHA16_EXT\0"
+ "GL_ALPHA32I_EXT\0"
+ "GL_ALPHA32UI_EXT\0"
"GL_ALPHA4\0"
"GL_ALPHA4_EXT\0"
"GL_ALPHA8\0"
+ "GL_ALPHA8I_EXT\0"
+ "GL_ALPHA8UI_EXT\0"
"GL_ALPHA8_EXT\0"
"GL_ALPHA_BIAS\0"
"GL_ALPHA_BITS\0"
+ "GL_ALPHA_INTEGER_EXT\0"
"GL_ALPHA_SCALE\0"
"GL_ALPHA_TEST\0"
"GL_ALPHA_TEST_FUNC\0"
@@ -110,6 +118,8 @@ LONGSTRING static const char enum_string_table[] =
"GL_BGR\0"
"GL_BGRA\0"
"GL_BGRA_EXT\0"
+ "GL_BGRA_INTEGER_EXT\0"
+ "GL_BGR_INTEGER_EXT\0"
"GL_BITMAP\0"
"GL_BITMAP_TOKEN\0"
"GL_BLEND\0"
@@ -137,6 +147,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_BLUE\0"
"GL_BLUE_BIAS\0"
"GL_BLUE_BITS\0"
+ "GL_BLUE_INTEGER_EXT\0"
"GL_BLUE_SCALE\0"
"GL_BOOL\0"
"GL_BOOL_ARB\0"
@@ -689,6 +700,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_GREEN\0"
"GL_GREEN_BIAS\0"
"GL_GREEN_BITS\0"
+ "GL_GREEN_INTEGER_EXT\0"
"GL_GREEN_SCALE\0"
"GL_HALF_FLOAT\0"
"GL_HALF_FLOAT_OES\0"
@@ -742,10 +754,16 @@ LONGSTRING static const char enum_string_table[] =
"GL_INTENSITY12\0"
"GL_INTENSITY12_EXT\0"
"GL_INTENSITY16\0"
+ "GL_INTENSITY16I_EXT\0"
+ "GL_INTENSITY16UI_EXT\0"
"GL_INTENSITY16_EXT\0"
+ "GL_INTENSITY32I_EXT\0"
+ "GL_INTENSITY32UI_EXT\0"
"GL_INTENSITY4\0"
"GL_INTENSITY4_EXT\0"
"GL_INTENSITY8\0"
+ "GL_INTENSITY8I_EXT\0"
+ "GL_INTENSITY8UI_EXT\0"
"GL_INTENSITY8_EXT\0"
"GL_INTENSITY_EXT\0"
"GL_INTERLEAVED_ATTRIBS_EXT\0"
@@ -831,9 +849,13 @@ LONGSTRING static const char enum_string_table[] =
"GL_LUMINANCE12_ALPHA4_EXT\0"
"GL_LUMINANCE12_EXT\0"
"GL_LUMINANCE16\0"
+ "GL_LUMINANCE16I_EXT\0"
+ "GL_LUMINANCE16UI_EXT\0"
"GL_LUMINANCE16_ALPHA16\0"
"GL_LUMINANCE16_ALPHA16_EXT\0"
"GL_LUMINANCE16_EXT\0"
+ "GL_LUMINANCE32I_EXT\0"
+ "GL_LUMINANCE32UI_EXT\0"
"GL_LUMINANCE4\0"
"GL_LUMINANCE4_ALPHA4\0"
"GL_LUMINANCE4_ALPHA4_EXT\0"
@@ -841,10 +863,20 @@ LONGSTRING static const char enum_string_table[] =
"GL_LUMINANCE6_ALPHA2\0"
"GL_LUMINANCE6_ALPHA2_EXT\0"
"GL_LUMINANCE8\0"
+ "GL_LUMINANCE8I_EXT\0"
+ "GL_LUMINANCE8UI_EXT\0"
"GL_LUMINANCE8_ALPHA8\0"
"GL_LUMINANCE8_ALPHA8_EXT\0"
"GL_LUMINANCE8_EXT\0"
"GL_LUMINANCE_ALPHA\0"
+ "GL_LUMINANCE_ALPHA16I_EXT\0"
+ "GL_LUMINANCE_ALPHA16UI_EXT\0"
+ "GL_LUMINANCE_ALPHA32I_EXT\0"
+ "GL_LUMINANCE_ALPHA32UI_EXT\0"
+ "GL_LUMINANCE_ALPHA8I_EXT\0"
+ "GL_LUMINANCE_ALPHA8UI_EXT\0"
+ "GL_LUMINANCE_ALPHA_INTEGER_EXT\0"
+ "GL_LUMINANCE_INTEGER_EXT\0"
"GL_MAP1_COLOR_4\0"
"GL_MAP1_GRID_DOMAIN\0"
"GL_MAP1_GRID_SEGMENTS\0"
@@ -1369,6 +1401,8 @@ LONGSTRING static const char enum_string_table[] =
"GL_PRIMARY_COLOR_ARB\0"
"GL_PRIMARY_COLOR_EXT\0"
"GL_PRIMITIVES_GENERATED_EXT\0"
+ "GL_PRIMITIVE_RESTART_INDEX_NV\0"
+ "GL_PRIMITIVE_RESTART_NV\0"
"GL_PROGRAM_ADDRESS_REGISTERS_ARB\0"
"GL_PROGRAM_ALU_INSTRUCTIONS_ARB\0"
"GL_PROGRAM_ATTRIBS_ARB\0"
@@ -1462,6 +1496,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_REDUCE_EXT\0"
"GL_RED_BIAS\0"
"GL_RED_BITS\0"
+ "GL_RED_INTEGER_EXT\0"
"GL_RED_SCALE\0"
"GL_REFLECTION_MAP\0"
"GL_REFLECTION_MAP_ARB\0"
@@ -1516,8 +1551,12 @@ LONGSTRING static const char enum_string_table[] =
"GL_RGB12\0"
"GL_RGB12_EXT\0"
"GL_RGB16\0"
+ "GL_RGB16I_EXT\0"
+ "GL_RGB16UI_EXT\0"
"GL_RGB16_EXT\0"
"GL_RGB2_EXT\0"
+ "GL_RGB32I_EXT\0"
+ "GL_RGB32UI_EXT\0"
"GL_RGB4\0"
"GL_RGB4_EXT\0"
"GL_RGB4_S3TC\0"
@@ -1529,28 +1568,39 @@ LONGSTRING static const char enum_string_table[] =
"GL_RGB5_A1_OES\0"
"GL_RGB5_EXT\0"
"GL_RGB8\0"
+ "GL_RGB8I_EXT\0"
+ "GL_RGB8UI_EXT\0"
"GL_RGB8_EXT\0"
"GL_RGB8_OES\0"
"GL_RGBA\0"
"GL_RGBA12\0"
"GL_RGBA12_EXT\0"
"GL_RGBA16\0"
+ "GL_RGBA16I_EXT\0"
+ "GL_RGBA16UI_EXT\0"
"GL_RGBA16_EXT\0"
"GL_RGBA2\0"
"GL_RGBA2_EXT\0"
+ "GL_RGBA32I_EXT\0"
+ "GL_RGBA32UI_EXT\0"
"GL_RGBA4\0"
"GL_RGBA4_DXT5_S3TC\0"
"GL_RGBA4_EXT\0"
"GL_RGBA4_OES\0"
"GL_RGBA4_S3TC\0"
"GL_RGBA8\0"
+ "GL_RGBA8I_EXT\0"
+ "GL_RGBA8UI_EXT\0"
"GL_RGBA8_EXT\0"
"GL_RGBA8_OES\0"
"GL_RGBA8_SNORM\0"
"GL_RGBA_DXT5_S3TC\0"
+ "GL_RGBA_INTEGER_EXT\0"
+ "GL_RGBA_INTEGER_MODE_EXT\0"
"GL_RGBA_MODE\0"
"GL_RGBA_S3TC\0"
"GL_RGBA_SNORM\0"
+ "GL_RGB_INTEGER_EXT\0"
"GL_RGB_S3TC\0"
"GL_RGB_SCALE\0"
"GL_RGB_SCALE_ARB\0"
@@ -2103,7 +2153,7 @@ LONGSTRING static const char enum_string_table[] =
"GL_ZOOM_Y\0"
;
-static const enum_elt all_enums[2065] =
+static const enum_elt all_enums[2115] =
{
{ 0, 0x00000600 }, /* GL_2D */
{ 6, 0x00001407 }, /* GL_2_BYTES */
@@ -2122,3481 +2172,3580 @@ static const enum_elt all_enums[2065] =
{ 206, 0x00000D58 }, /* GL_ACCUM_RED_BITS */
{ 224, 0x00008B89 }, /* GL_ACTIVE_ATTRIBUTES */
{ 245, 0x00008B8A }, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */
- { 276, 0x00008911 }, /* GL_ACTIVE_STENCIL_FACE_EXT */
- { 303, 0x000084E0 }, /* GL_ACTIVE_TEXTURE */
- { 321, 0x000084E0 }, /* GL_ACTIVE_TEXTURE_ARB */
- { 343, 0x00008B86 }, /* GL_ACTIVE_UNIFORMS */
- { 362, 0x00008B87 }, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
- { 391, 0x000086A5 }, /* GL_ACTIVE_VERTEX_UNITS_ARB */
- { 418, 0x00000104 }, /* GL_ADD */
- { 425, 0x00008574 }, /* GL_ADD_SIGNED */
- { 439, 0x00008574 }, /* GL_ADD_SIGNED_ARB */
- { 457, 0x00008574 }, /* GL_ADD_SIGNED_EXT */
- { 475, 0x0000846E }, /* GL_ALIASED_LINE_WIDTH_RANGE */
- { 503, 0x0000846D }, /* GL_ALIASED_POINT_SIZE_RANGE */
- { 531, 0x000FFFFF }, /* GL_ALL_ATTRIB_BITS */
- { 550, 0xFFFFFFFF }, /* GL_ALL_CLIENT_ATTRIB_BITS */
- { 576, 0x00001906 }, /* GL_ALPHA */
- { 585, 0x0000803D }, /* GL_ALPHA12 */
- { 596, 0x0000803D }, /* GL_ALPHA12_EXT */
- { 611, 0x0000803E }, /* GL_ALPHA16 */
- { 622, 0x0000803E }, /* GL_ALPHA16_EXT */
- { 637, 0x0000803B }, /* GL_ALPHA4 */
- { 647, 0x0000803B }, /* GL_ALPHA4_EXT */
- { 661, 0x0000803C }, /* GL_ALPHA8 */
- { 671, 0x0000803C }, /* GL_ALPHA8_EXT */
- { 685, 0x00000D1D }, /* GL_ALPHA_BIAS */
- { 699, 0x00000D55 }, /* GL_ALPHA_BITS */
- { 713, 0x00000D1C }, /* GL_ALPHA_SCALE */
- { 728, 0x00000BC0 }, /* GL_ALPHA_TEST */
- { 742, 0x00000BC1 }, /* GL_ALPHA_TEST_FUNC */
- { 761, 0x00000BC2 }, /* GL_ALPHA_TEST_REF */
- { 779, 0x0000911A }, /* GL_ALREADY_SIGNALED */
- { 799, 0x00000207 }, /* GL_ALWAYS */
- { 809, 0x00001200 }, /* GL_AMBIENT */
- { 820, 0x00001602 }, /* GL_AMBIENT_AND_DIFFUSE */
- { 843, 0x00001501 }, /* GL_AND */
- { 850, 0x00001504 }, /* GL_AND_INVERTED */
- { 866, 0x00001502 }, /* GL_AND_REVERSE */
- { 881, 0x00008892 }, /* GL_ARRAY_BUFFER */
- { 897, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */
- { 921, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */
- { 949, 0x00008B85 }, /* GL_ATTACHED_SHADERS */
- { 969, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */
- { 996, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */
- { 1020, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */
- { 1046, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */
- { 1070, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */
- { 1092, 0x00000D80 }, /* GL_AUTO_NORMAL */
- { 1107, 0x00000409 }, /* GL_AUX0 */
- { 1115, 0x0000040A }, /* GL_AUX1 */
- { 1123, 0x0000040B }, /* GL_AUX2 */
- { 1131, 0x0000040C }, /* GL_AUX3 */
- { 1139, 0x00000C00 }, /* GL_AUX_BUFFERS */
- { 1154, 0x00000405 }, /* GL_BACK */
- { 1162, 0x00000402 }, /* GL_BACK_LEFT */
- { 1175, 0x00000403 }, /* GL_BACK_RIGHT */
- { 1189, 0x000080E0 }, /* GL_BGR */
- { 1196, 0x000080E1 }, /* GL_BGRA */
- { 1204, 0x000080E1 }, /* GL_BGRA_EXT */
- { 1216, 0x00001A00 }, /* GL_BITMAP */
- { 1226, 0x00000704 }, /* GL_BITMAP_TOKEN */
- { 1242, 0x00000BE2 }, /* GL_BLEND */
- { 1251, 0x00008005 }, /* GL_BLEND_COLOR */
- { 1266, 0x00008005 }, /* GL_BLEND_COLOR_EXT */
- { 1285, 0x00000BE0 }, /* GL_BLEND_DST */
- { 1298, 0x000080CA }, /* GL_BLEND_DST_ALPHA */
- { 1317, 0x000080CA }, /* GL_BLEND_DST_ALPHA_OES */
- { 1340, 0x000080C8 }, /* GL_BLEND_DST_RGB */
- { 1357, 0x000080C8 }, /* GL_BLEND_DST_RGB_OES */
- { 1378, 0x00008009 }, /* GL_BLEND_EQUATION */
- { 1396, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */
- { 1420, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */
- { 1448, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_OES */
- { 1476, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */
- { 1498, 0x00008009 }, /* GL_BLEND_EQUATION_OES */
- { 1520, 0x00008009 }, /* GL_BLEND_EQUATION_RGB */
- { 1542, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */
- { 1568, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_OES */
- { 1594, 0x00000BE1 }, /* GL_BLEND_SRC */
- { 1607, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */
- { 1626, 0x000080CB }, /* GL_BLEND_SRC_ALPHA_OES */
- { 1649, 0x000080C9 }, /* GL_BLEND_SRC_RGB */
- { 1666, 0x000080C9 }, /* GL_BLEND_SRC_RGB_OES */
- { 1687, 0x00001905 }, /* GL_BLUE */
- { 1695, 0x00000D1B }, /* GL_BLUE_BIAS */
- { 1708, 0x00000D54 }, /* GL_BLUE_BITS */
- { 1721, 0x00000D1A }, /* GL_BLUE_SCALE */
- { 1735, 0x00008B56 }, /* GL_BOOL */
- { 1743, 0x00008B56 }, /* GL_BOOL_ARB */
- { 1755, 0x00008B57 }, /* GL_BOOL_VEC2 */
- { 1768, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */
- { 1785, 0x00008B58 }, /* GL_BOOL_VEC3 */
- { 1798, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */
- { 1815, 0x00008B59 }, /* GL_BOOL_VEC4 */
- { 1828, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */
- { 1845, 0x000088BB }, /* GL_BUFFER_ACCESS */
- { 1862, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */
- { 1883, 0x000088BB }, /* GL_BUFFER_ACCESS_OES */
- { 1904, 0x00008A13 }, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */
- { 1935, 0x000088BC }, /* GL_BUFFER_MAPPED */
- { 1952, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */
- { 1973, 0x000088BC }, /* GL_BUFFER_MAPPED_OES */
- { 1994, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */
- { 2016, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */
- { 2042, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_OES */
- { 2068, 0x000085B3 }, /* GL_BUFFER_OBJECT_APPLE */
- { 2091, 0x00008A12 }, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */
- { 2125, 0x00008764 }, /* GL_BUFFER_SIZE */
- { 2140, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */
- { 2159, 0x00008765 }, /* GL_BUFFER_USAGE */
- { 2175, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */
- { 2195, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */
- { 2214, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */
- { 2240, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */
- { 2263, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
- { 2291, 0x0000877C }, /* GL_BUMP_TARGET_ATI */
- { 2310, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */
- { 2332, 0x00001400 }, /* GL_BYTE */
- { 2340, 0x00002A24 }, /* GL_C3F_V3F */
- { 2351, 0x00002A26 }, /* GL_C4F_N3F_V3F */
- { 2366, 0x00002A22 }, /* GL_C4UB_V2F */
- { 2378, 0x00002A23 }, /* GL_C4UB_V3F */
- { 2390, 0x00000901 }, /* GL_CCW */
- { 2397, 0x00002900 }, /* GL_CLAMP */
- { 2406, 0x0000812D }, /* GL_CLAMP_TO_BORDER */
- { 2425, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */
- { 2448, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */
- { 2472, 0x0000812F }, /* GL_CLAMP_TO_EDGE */
- { 2489, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */
- { 2511, 0x00001500 }, /* GL_CLEAR */
- { 2520, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */
- { 2545, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */
- { 2574, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */
- { 2600, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
- { 2629, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */
- { 2655, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */
- { 2682, 0x00003000 }, /* GL_CLIP_PLANE0 */
- { 2697, 0x00003001 }, /* GL_CLIP_PLANE1 */
- { 2712, 0x00003002 }, /* GL_CLIP_PLANE2 */
- { 2727, 0x00003003 }, /* GL_CLIP_PLANE3 */
- { 2742, 0x00003004 }, /* GL_CLIP_PLANE4 */
- { 2757, 0x00003005 }, /* GL_CLIP_PLANE5 */
- { 2772, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
- { 2805, 0x00000A00 }, /* GL_COEFF */
- { 2814, 0x00001800 }, /* GL_COLOR */
- { 2823, 0x00008076 }, /* GL_COLOR_ARRAY */
- { 2838, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */
- { 2868, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */
- { 2902, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */
- { 2925, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */
- { 2945, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */
- { 2967, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */
- { 2987, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */
- { 3008, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */
- { 3033, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_OES */
- { 3058, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */
- { 3079, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */
- { 3101, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */
- { 3127, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */
- { 3149, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */
- { 3175, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */
- { 3197, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */
- { 3223, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */
- { 3245, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */
- { 3271, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */
- { 3293, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */
- { 3319, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */
- { 3341, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */
- { 3367, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */
- { 3392, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */
- { 3413, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */
- { 3438, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */
- { 3459, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */
- { 3484, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */
- { 3505, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */
- { 3530, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */
- { 3551, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */
- { 3576, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */
- { 3597, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */
- { 3622, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */
- { 3643, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */
- { 3668, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */
- { 3689, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */
- { 3714, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */
- { 3735, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */
- { 3760, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */
- { 3780, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */
- { 3801, 0x00001900 }, /* GL_COLOR_INDEX */
- { 3816, 0x00001603 }, /* GL_COLOR_INDEXES */
- { 3833, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */
- { 3851, 0x00000B57 }, /* GL_COLOR_MATERIAL */
- { 3869, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */
- { 3892, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */
- { 3920, 0x000080B1 }, /* GL_COLOR_MATRIX */
- { 3936, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */
- { 3956, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */
- { 3984, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */
- { 4016, 0x00008458 }, /* GL_COLOR_SUM */
- { 4029, 0x00008458 }, /* GL_COLOR_SUM_ARB */
- { 4046, 0x000080D0 }, /* GL_COLOR_TABLE */
- { 4061, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */
- { 4087, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */
- { 4117, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */
- { 4147, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */
- { 4167, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */
- { 4191, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */
- { 4216, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */
- { 4245, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */
- { 4274, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */
- { 4296, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */
- { 4322, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */
- { 4348, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */
- { 4374, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */
- { 4404, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */
- { 4434, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */
- { 4464, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */
- { 4498, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */
- { 4532, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
- { 4562, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */
- { 4596, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */
- { 4630, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */
- { 4654, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */
- { 4682, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */
- { 4710, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */
- { 4731, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */
- { 4756, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */
- { 4777, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */
- { 4802, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */
- { 4827, 0x00000C23 }, /* GL_COLOR_WRITEMASK */
- { 4846, 0x00008570 }, /* GL_COMBINE */
- { 4857, 0x00008503 }, /* GL_COMBINE4 */
- { 4869, 0x00008572 }, /* GL_COMBINE_ALPHA */
- { 4886, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */
- { 4907, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */
- { 4928, 0x00008570 }, /* GL_COMBINE_ARB */
- { 4943, 0x00008570 }, /* GL_COMBINE_EXT */
- { 4958, 0x00008571 }, /* GL_COMBINE_RGB */
- { 4973, 0x00008571 }, /* GL_COMBINE_RGB_ARB */
- { 4992, 0x00008571 }, /* GL_COMBINE_RGB_EXT */
- { 5011, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */
- { 5047, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */
- { 5071, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */
- { 5099, 0x00001300 }, /* GL_COMPILE */
- { 5110, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */
- { 5133, 0x00008B81 }, /* GL_COMPILE_STATUS */
- { 5151, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */
- { 5171, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */
- { 5195, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */
- { 5219, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */
- { 5247, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */
- { 5271, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */
- { 5301, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */
- { 5335, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */
- { 5363, 0x000084ED }, /* GL_COMPRESSED_RGB */
- { 5381, 0x000084EE }, /* GL_COMPRESSED_RGBA */
- { 5400, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */
- { 5423, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
- { 5452, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
- { 5485, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
- { 5518, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
- { 5551, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */
- { 5573, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */
- { 5601, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
- { 5633, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */
- { 5658, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
- { 5689, 0x00008C48 }, /* GL_COMPRESSED_SRGB */
- { 5708, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */
- { 5733, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */
- { 5763, 0x0000911C }, /* GL_CONDITION_SATISFIED */
- { 5786, 0x00008576 }, /* GL_CONSTANT */
- { 5798, 0x00008003 }, /* GL_CONSTANT_ALPHA */
- { 5816, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */
- { 5838, 0x00008576 }, /* GL_CONSTANT_ARB */
- { 5854, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */
- { 5878, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */
- { 5900, 0x00008001 }, /* GL_CONSTANT_COLOR */
- { 5918, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */
- { 5940, 0x00008576 }, /* GL_CONSTANT_EXT */
- { 5956, 0x00008010 }, /* GL_CONVOLUTION_1D */
- { 5974, 0x00008011 }, /* GL_CONVOLUTION_2D */
- { 5992, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */
- { 6020, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */
- { 6051, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */
- { 6078, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */
- { 6109, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */
- { 6136, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */
- { 6167, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */
- { 6195, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */
- { 6227, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */
- { 6249, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */
- { 6275, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */
- { 6297, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */
- { 6323, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */
- { 6344, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */
- { 6369, 0x00008862 }, /* GL_COORD_REPLACE */
- { 6386, 0x00008862 }, /* GL_COORD_REPLACE_ARB */
- { 6407, 0x00008862 }, /* GL_COORD_REPLACE_NV */
- { 6427, 0x00008862 }, /* GL_COORD_REPLACE_OES */
- { 6448, 0x00001503 }, /* GL_COPY */
- { 6456, 0x0000150C }, /* GL_COPY_INVERTED */
- { 6473, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
- { 6493, 0x00008F36 }, /* GL_COPY_READ_BUFFER */
- { 6513, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */
- { 6534, 0x00000B44 }, /* GL_CULL_FACE */
- { 6547, 0x00000B45 }, /* GL_CULL_FACE_MODE */
- { 6565, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
- { 6584, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
- { 6616, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
- { 6651, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
- { 6672, 0x00000001 }, /* GL_CURRENT_BIT */
- { 6687, 0x00000B00 }, /* GL_CURRENT_COLOR */
- { 6704, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
- { 6725, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
- { 6751, 0x00000B01 }, /* GL_CURRENT_INDEX */
- { 6768, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
- { 6790, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
- { 6818, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
- { 6839, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
- { 6873, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
- { 6906, 0x00000B02 }, /* GL_CURRENT_NORMAL */
- { 6924, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
- { 6954, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_OES */
- { 6984, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
- { 7003, 0x00008865 }, /* GL_CURRENT_QUERY */
- { 7020, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
- { 7041, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
- { 7065, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
- { 7092, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
- { 7116, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
- { 7143, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
- { 7176, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
- { 7210, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
- { 7243, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
- { 7270, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
- { 7296, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
- { 7321, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
- { 7350, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
- { 7372, 0x00000900 }, /* GL_CW */
- { 7378, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
- { 7399, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
- { 7420, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
- { 7440, 0x00002101 }, /* GL_DECAL */
- { 7449, 0x00001E03 }, /* GL_DECR */
- { 7457, 0x00008508 }, /* GL_DECR_WRAP */
- { 7470, 0x00008508 }, /* GL_DECR_WRAP_EXT */
- { 7487, 0x00008B80 }, /* GL_DELETE_STATUS */
- { 7504, 0x00001801 }, /* GL_DEPTH */
- { 7513, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */
- { 7533, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_EXT */
- { 7557, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_OES */
- { 7581, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */
- { 7601, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
- { 7625, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_OES */
- { 7649, 0x00000D1F }, /* GL_DEPTH_BIAS */
- { 7663, 0x00000D56 }, /* GL_DEPTH_BITS */
- { 7677, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
- { 7697, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
- { 7722, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
- { 7742, 0x0000864F }, /* GL_DEPTH_CLAMP */
- { 7757, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
- { 7775, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
- { 7796, 0x00001902 }, /* GL_DEPTH_COMPONENT */
- { 7815, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
- { 7836, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
- { 7861, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_OES */
- { 7886, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
- { 7912, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
- { 7933, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
- { 7958, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_OES */
- { 7983, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
- { 8009, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
- { 8030, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
- { 8055, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_OES */
- { 8080, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
- { 8106, 0x00000B74 }, /* GL_DEPTH_FUNC */
- { 8120, 0x00000B70 }, /* GL_DEPTH_RANGE */
- { 8135, 0x00000D1E }, /* GL_DEPTH_SCALE */
- { 8150, 0x000084F9 }, /* GL_DEPTH_STENCIL */
- { 8167, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */
- { 8195, 0x000084F9 }, /* GL_DEPTH_STENCIL_EXT */
- { 8216, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
- { 8236, 0x000084F9 }, /* GL_DEPTH_STENCIL_OES */
- { 8257, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
- { 8285, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
- { 8313, 0x00000B71 }, /* GL_DEPTH_TEST */
- { 8327, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
- { 8349, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
- { 8375, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
- { 8394, 0x00001201 }, /* GL_DIFFUSE */
- { 8405, 0x00000BD0 }, /* GL_DITHER */
- { 8415, 0x00000A02 }, /* GL_DOMAIN */
- { 8425, 0x00001100 }, /* GL_DONT_CARE */
- { 8438, 0x000086AE }, /* GL_DOT3_RGB */
- { 8450, 0x000086AF }, /* GL_DOT3_RGBA */
- { 8463, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
- { 8480, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
- { 8497, 0x000086AE }, /* GL_DOT3_RGB_ARB */
- { 8513, 0x00008740 }, /* GL_DOT3_RGB_EXT */
- { 8529, 0x0000140A }, /* GL_DOUBLE */
- { 8539, 0x00000C32 }, /* GL_DOUBLEBUFFER */
- { 8555, 0x00000C01 }, /* GL_DRAW_BUFFER */
- { 8570, 0x00008825 }, /* GL_DRAW_BUFFER0 */
- { 8586, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
- { 8606, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
- { 8626, 0x00008826 }, /* GL_DRAW_BUFFER1 */
- { 8642, 0x0000882F }, /* GL_DRAW_BUFFER10 */
- { 8659, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
- { 8680, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
- { 8701, 0x00008830 }, /* GL_DRAW_BUFFER11 */
- { 8718, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
- { 8739, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
- { 8760, 0x00008831 }, /* GL_DRAW_BUFFER12 */
- { 8777, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
- { 8798, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
- { 8819, 0x00008832 }, /* GL_DRAW_BUFFER13 */
- { 8836, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
- { 8857, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
- { 8878, 0x00008833 }, /* GL_DRAW_BUFFER14 */
- { 8895, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
- { 8916, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
- { 8937, 0x00008834 }, /* GL_DRAW_BUFFER15 */
- { 8954, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
- { 8975, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
- { 8996, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
- { 9016, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
- { 9036, 0x00008827 }, /* GL_DRAW_BUFFER2 */
- { 9052, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
- { 9072, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
- { 9092, 0x00008828 }, /* GL_DRAW_BUFFER3 */
- { 9108, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
- { 9128, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
- { 9148, 0x00008829 }, /* GL_DRAW_BUFFER4 */
- { 9164, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
- { 9184, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
- { 9204, 0x0000882A }, /* GL_DRAW_BUFFER5 */
- { 9220, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
- { 9240, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
- { 9260, 0x0000882B }, /* GL_DRAW_BUFFER6 */
- { 9276, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
- { 9296, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
- { 9316, 0x0000882C }, /* GL_DRAW_BUFFER7 */
- { 9332, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
- { 9352, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
- { 9372, 0x0000882D }, /* GL_DRAW_BUFFER8 */
- { 9388, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
- { 9408, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
- { 9428, 0x0000882E }, /* GL_DRAW_BUFFER9 */
- { 9444, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
- { 9464, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
- { 9484, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */
- { 9504, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING */
- { 9532, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
- { 9564, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
- { 9588, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
- { 9608, 0x00000304 }, /* GL_DST_ALPHA */
- { 9621, 0x00000306 }, /* GL_DST_COLOR */
- { 9634, 0x0000877A }, /* GL_DU8DV8_ATI */
- { 9648, 0x00008779 }, /* GL_DUDV_ATI */
- { 9660, 0x000088EA }, /* GL_DYNAMIC_COPY */
- { 9676, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
- { 9696, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
- { 9712, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
- { 9732, 0x000088E9 }, /* GL_DYNAMIC_READ */
- { 9748, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
- { 9768, 0x00000B43 }, /* GL_EDGE_FLAG */
- { 9781, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
- { 9800, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
- { 9834, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
- { 9872, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
- { 9899, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
- { 9925, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
- { 9949, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
- { 9981, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
- { 10017, 0x00001600 }, /* GL_EMISSION */
- { 10029, 0x00002000 }, /* GL_ENABLE_BIT */
- { 10043, 0x00000202 }, /* GL_EQUAL */
- { 10052, 0x00001509 }, /* GL_EQUIV */
- { 10061, 0x00010000 }, /* GL_EVAL_BIT */
- { 10073, 0x00000800 }, /* GL_EXP */
- { 10080, 0x00000801 }, /* GL_EXP2 */
- { 10088, 0x00001F03 }, /* GL_EXTENSIONS */
- { 10102, 0x00002400 }, /* GL_EYE_LINEAR */
- { 10116, 0x00002502 }, /* GL_EYE_PLANE */
- { 10129, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
- { 10154, 0x0000855B }, /* GL_EYE_RADIAL_NV */
- { 10171, 0x00000000 }, /* GL_FALSE */
- { 10180, 0x00001101 }, /* GL_FASTEST */
- { 10191, 0x00001C01 }, /* GL_FEEDBACK */
- { 10203, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
- { 10230, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
- { 10254, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
- { 10278, 0x00001B02 }, /* GL_FILL */
- { 10286, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION */
- { 10313, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */
- { 10344, 0x0000140C }, /* GL_FIXED */
- { 10353, 0x0000140C }, /* GL_FIXED_OES */
- { 10366, 0x00001D00 }, /* GL_FLAT */
- { 10374, 0x00001406 }, /* GL_FLOAT */
- { 10383, 0x00008B5A }, /* GL_FLOAT_MAT2 */
- { 10397, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
- { 10415, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */
- { 10431, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */
- { 10447, 0x00008B5B }, /* GL_FLOAT_MAT3 */
- { 10461, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
- { 10479, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */
- { 10495, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */
- { 10511, 0x00008B5C }, /* GL_FLOAT_MAT4 */
- { 10525, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
- { 10543, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */
- { 10559, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */
- { 10575, 0x00008B50 }, /* GL_FLOAT_VEC2 */
- { 10589, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
- { 10607, 0x00008B51 }, /* GL_FLOAT_VEC3 */
- { 10621, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
- { 10639, 0x00008B52 }, /* GL_FLOAT_VEC4 */
- { 10653, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
- { 10671, 0x00000B60 }, /* GL_FOG */
- { 10678, 0x00000080 }, /* GL_FOG_BIT */
- { 10689, 0x00000B66 }, /* GL_FOG_COLOR */
- { 10702, 0x00008451 }, /* GL_FOG_COORD */
- { 10715, 0x00008451 }, /* GL_FOG_COORDINATE */
- { 10733, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
- { 10757, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- { 10796, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
- { 10839, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- { 10871, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- { 10902, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- { 10931, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
- { 10956, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
- { 10975, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
- { 11009, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
- { 11036, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
- { 11062, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
- { 11086, 0x00008450 }, /* GL_FOG_COORD_SRC */
- { 11103, 0x00000B62 }, /* GL_FOG_DENSITY */
- { 11118, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
- { 11142, 0x00000B64 }, /* GL_FOG_END */
- { 11153, 0x00000C54 }, /* GL_FOG_HINT */
- { 11165, 0x00000B61 }, /* GL_FOG_INDEX */
- { 11178, 0x00000B65 }, /* GL_FOG_MODE */
- { 11190, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
- { 11209, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
- { 11234, 0x00000B63 }, /* GL_FOG_START */
- { 11247, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
- { 11265, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
- { 11289, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
- { 11308, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
- { 11331, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- { 11366, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES */
- { 11405, 0x00008D40 }, /* GL_FRAMEBUFFER */
- { 11420, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
- { 11457, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
- { 11493, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
- { 11534, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
- { 11575, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
- { 11612, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
- { 11649, 0x00008DA7 }, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB */
- { 11687, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
- { 11725, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
- { 11767, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES */
- { 11809, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
- { 11847, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
- { 11889, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES */
- { 11931, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
- { 11966, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
- { 12005, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
- { 12054, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES */
- { 12103, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
- { 12151, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
- { 12203, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES */
- { 12255, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
- { 12295, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
- { 12339, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
- { 12379, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
- { 12423, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES */
- { 12467, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING */
- { 12490, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
- { 12517, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_OES */
- { 12544, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */
- { 12568, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
- { 12596, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_OES */
- { 12624, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */
- { 12647, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
- { 12666, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
- { 12703, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
- { 12744, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES */
- { 12785, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS */
- { 12822, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- { 12863, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES */
- { 12904, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
- { 12942, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
- { 12984, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES */
- { 13026, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- { 13077, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- { 13115, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES */
- { 13153, 0x00008DA9 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */
- { 13195, 0x00008DA8 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB */
- { 13239, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
- { 13284, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
- { 13333, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES */
- { 13382, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
- { 13420, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT */
- { 13462, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
- { 13500, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
- { 13542, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES */
- { 13584, 0x00008D40 }, /* GL_FRAMEBUFFER_OES */
- { 13603, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- { 13635, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */
- { 13660, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */
- { 13687, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
- { 13718, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_OES */
- { 13749, 0x00000404 }, /* GL_FRONT */
- { 13758, 0x00000408 }, /* GL_FRONT_AND_BACK */
- { 13776, 0x00000B46 }, /* GL_FRONT_FACE */
- { 13790, 0x00000400 }, /* GL_FRONT_LEFT */
- { 13804, 0x00000401 }, /* GL_FRONT_RIGHT */
- { 13819, 0x00008006 }, /* GL_FUNC_ADD */
- { 13831, 0x00008006 }, /* GL_FUNC_ADD_EXT */
- { 13847, 0x00008006 }, /* GL_FUNC_ADD_OES */
- { 13863, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
- { 13888, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
- { 13917, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_OES */
- { 13946, 0x0000800A }, /* GL_FUNC_SUBTRACT */
- { 13963, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
- { 13984, 0x0000800A }, /* GL_FUNC_SUBTRACT_OES */
- { 14005, 0x00008191 }, /* GL_GENERATE_MIPMAP */
- { 14024, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
- { 14048, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
- { 14077, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
- { 14101, 0x00008DDB }, /* GL_GEOMETRY_INPUT_TYPE_ARB */
- { 14128, 0x00008DDC }, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */
- { 14156, 0x00008DD9 }, /* GL_GEOMETRY_SHADER_ARB */
- { 14179, 0x00008DDA }, /* GL_GEOMETRY_VERTICES_OUT_ARB */
- { 14208, 0x00000206 }, /* GL_GEQUAL */
- { 14218, 0x00000204 }, /* GL_GREATER */
- { 14229, 0x00001904 }, /* GL_GREEN */
- { 14238, 0x00000D19 }, /* GL_GREEN_BIAS */
- { 14252, 0x00000D53 }, /* GL_GREEN_BITS */
- { 14266, 0x00000D18 }, /* GL_GREEN_SCALE */
- { 14281, 0x0000140B }, /* GL_HALF_FLOAT */
- { 14295, 0x00008D61 }, /* GL_HALF_FLOAT_OES */
- { 14313, 0x00008DF2 }, /* GL_HIGH_FLOAT */
- { 14327, 0x00008DF5 }, /* GL_HIGH_INT */
- { 14339, 0x00008000 }, /* GL_HINT_BIT */
- { 14351, 0x00008024 }, /* GL_HISTOGRAM */
- { 14364, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
- { 14388, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
- { 14416, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
- { 14439, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
- { 14466, 0x00008024 }, /* GL_HISTOGRAM_EXT */
- { 14483, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
- { 14503, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
- { 14527, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
- { 14551, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
- { 14579, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- { 14607, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
- { 14639, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
- { 14661, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
- { 14687, 0x0000802D }, /* GL_HISTOGRAM_SINK */
- { 14705, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
- { 14727, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
- { 14746, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
- { 14769, 0x0000862A }, /* GL_IDENTITY_NV */
- { 14784, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
- { 14804, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */
- { 14840, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
- { 14880, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */
- { 14914, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
- { 14952, 0x00001E02 }, /* GL_INCR */
- { 14960, 0x00008507 }, /* GL_INCR_WRAP */
- { 14973, 0x00008507 }, /* GL_INCR_WRAP_EXT */
- { 14990, 0x00008222 }, /* GL_INDEX */
- { 14999, 0x00008077 }, /* GL_INDEX_ARRAY */
- { 15014, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- { 15044, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
- { 15078, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
- { 15101, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
- { 15123, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
- { 15143, 0x00000D51 }, /* GL_INDEX_BITS */
- { 15157, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
- { 15178, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
- { 15196, 0x00000C30 }, /* GL_INDEX_MODE */
- { 15210, 0x00000D13 }, /* GL_INDEX_OFFSET */
- { 15226, 0x00000D12 }, /* GL_INDEX_SHIFT */
- { 15241, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
- { 15260, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
- { 15279, 0x00001404 }, /* GL_INT */
- { 15286, 0x00008049 }, /* GL_INTENSITY */
- { 15299, 0x0000804C }, /* GL_INTENSITY12 */
- { 15314, 0x0000804C }, /* GL_INTENSITY12_EXT */
- { 15333, 0x0000804D }, /* GL_INTENSITY16 */
- { 15348, 0x0000804D }, /* GL_INTENSITY16_EXT */
- { 15367, 0x0000804A }, /* GL_INTENSITY4 */
- { 15381, 0x0000804A }, /* GL_INTENSITY4_EXT */
- { 15399, 0x0000804B }, /* GL_INTENSITY8 */
- { 15413, 0x0000804B }, /* GL_INTENSITY8_EXT */
- { 15431, 0x00008049 }, /* GL_INTENSITY_EXT */
- { 15448, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */
- { 15475, 0x00008575 }, /* GL_INTERPOLATE */
- { 15490, 0x00008575 }, /* GL_INTERPOLATE_ARB */
- { 15509, 0x00008575 }, /* GL_INTERPOLATE_EXT */
- { 15528, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */
- { 15550, 0x00008B53 }, /* GL_INT_VEC2 */
- { 15562, 0x00008B53 }, /* GL_INT_VEC2_ARB */
- { 15578, 0x00008B54 }, /* GL_INT_VEC3 */
- { 15590, 0x00008B54 }, /* GL_INT_VEC3_ARB */
- { 15606, 0x00008B55 }, /* GL_INT_VEC4 */
- { 15618, 0x00008B55 }, /* GL_INT_VEC4_ARB */
- { 15634, 0x00000500 }, /* GL_INVALID_ENUM */
- { 15650, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */
- { 15683, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
- { 15720, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */
- { 15757, 0x00000502 }, /* GL_INVALID_OPERATION */
- { 15778, 0x00000501 }, /* GL_INVALID_VALUE */
- { 15795, 0x0000862B }, /* GL_INVERSE_NV */
- { 15809, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
- { 15833, 0x0000150A }, /* GL_INVERT */
- { 15843, 0x00001E00 }, /* GL_KEEP */
- { 15851, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */
- { 15877, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */
- { 15907, 0x00000406 }, /* GL_LEFT */
- { 15915, 0x00000203 }, /* GL_LEQUAL */
- { 15925, 0x00000201 }, /* GL_LESS */
- { 15933, 0x00004000 }, /* GL_LIGHT0 */
- { 15943, 0x00004001 }, /* GL_LIGHT1 */
- { 15953, 0x00004002 }, /* GL_LIGHT2 */
- { 15963, 0x00004003 }, /* GL_LIGHT3 */
- { 15973, 0x00004004 }, /* GL_LIGHT4 */
- { 15983, 0x00004005 }, /* GL_LIGHT5 */
- { 15993, 0x00004006 }, /* GL_LIGHT6 */
- { 16003, 0x00004007 }, /* GL_LIGHT7 */
- { 16013, 0x00000B50 }, /* GL_LIGHTING */
- { 16025, 0x00000040 }, /* GL_LIGHTING_BIT */
- { 16041, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
- { 16064, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- { 16093, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
- { 16126, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- { 16154, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
- { 16178, 0x00001B01 }, /* GL_LINE */
- { 16186, 0x00002601 }, /* GL_LINEAR */
- { 16196, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
- { 16218, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- { 16248, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- { 16279, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
- { 16303, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
- { 16328, 0x00000001 }, /* GL_LINES */
- { 16337, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */
- { 16360, 0x00000004 }, /* GL_LINE_BIT */
- { 16372, 0x00000002 }, /* GL_LINE_LOOP */
- { 16385, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
- { 16405, 0x00000B20 }, /* GL_LINE_SMOOTH */
- { 16420, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
- { 16440, 0x00000B24 }, /* GL_LINE_STIPPLE */
- { 16456, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
- { 16480, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
- { 16503, 0x00000003 }, /* GL_LINE_STRIP */
- { 16517, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */
- { 16545, 0x00000702 }, /* GL_LINE_TOKEN */
- { 16559, 0x00000B21 }, /* GL_LINE_WIDTH */
- { 16573, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
- { 16599, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
- { 16619, 0x00008B82 }, /* GL_LINK_STATUS */
- { 16634, 0x00000B32 }, /* GL_LIST_BASE */
- { 16647, 0x00020000 }, /* GL_LIST_BIT */
- { 16659, 0x00000B33 }, /* GL_LIST_INDEX */
- { 16673, 0x00000B30 }, /* GL_LIST_MODE */
- { 16686, 0x00000101 }, /* GL_LOAD */
- { 16694, 0x00000BF1 }, /* GL_LOGIC_OP */
- { 16706, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
- { 16723, 0x00008CA1 }, /* GL_LOWER_LEFT */
- { 16737, 0x00008DF0 }, /* GL_LOW_FLOAT */
- { 16750, 0x00008DF3 }, /* GL_LOW_INT */
- { 16761, 0x00001909 }, /* GL_LUMINANCE */
- { 16774, 0x00008041 }, /* GL_LUMINANCE12 */
- { 16789, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
- { 16812, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
- { 16839, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
- { 16861, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
- { 16887, 0x00008041 }, /* GL_LUMINANCE12_EXT */
- { 16906, 0x00008042 }, /* GL_LUMINANCE16 */
- { 16921, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
- { 16944, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
- { 16971, 0x00008042 }, /* GL_LUMINANCE16_EXT */
- { 16990, 0x0000803F }, /* GL_LUMINANCE4 */
- { 17004, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
- { 17025, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
- { 17050, 0x0000803F }, /* GL_LUMINANCE4_EXT */
- { 17068, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
- { 17089, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
- { 17114, 0x00008040 }, /* GL_LUMINANCE8 */
- { 17128, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
- { 17149, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
- { 17174, 0x00008040 }, /* GL_LUMINANCE8_EXT */
- { 17192, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
- { 17211, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
- { 17227, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
- { 17247, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
- { 17269, 0x00000D91 }, /* GL_MAP1_INDEX */
- { 17283, 0x00000D92 }, /* GL_MAP1_NORMAL */
- { 17298, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
- { 17322, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
- { 17346, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
- { 17370, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
- { 17394, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
- { 17411, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
- { 17428, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- { 17456, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- { 17485, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- { 17514, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- { 17543, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- { 17572, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- { 17601, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- { 17630, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- { 17658, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- { 17686, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- { 17714, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- { 17742, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- { 17770, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- { 17798, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- { 17826, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- { 17854, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- { 17882, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
- { 17898, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
- { 17918, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
- { 17940, 0x00000DB1 }, /* GL_MAP2_INDEX */
- { 17954, 0x00000DB2 }, /* GL_MAP2_NORMAL */
- { 17969, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
- { 17993, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
- { 18017, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
- { 18041, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
- { 18065, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
- { 18082, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
- { 18099, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- { 18127, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- { 18156, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- { 18185, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- { 18214, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- { 18243, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- { 18272, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- { 18301, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- { 18329, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- { 18357, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- { 18385, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- { 18413, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- { 18441, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- { 18469, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
- { 18497, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- { 18525, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- { 18553, 0x00000D10 }, /* GL_MAP_COLOR */
- { 18566, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */
- { 18592, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */
- { 18621, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */
- { 18649, 0x00000001 }, /* GL_MAP_READ_BIT */
- { 18665, 0x00000D11 }, /* GL_MAP_STENCIL */
- { 18680, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */
- { 18706, 0x00000002 }, /* GL_MAP_WRITE_BIT */
- { 18723, 0x000088C0 }, /* GL_MATRIX0_ARB */
- { 18738, 0x00008630 }, /* GL_MATRIX0_NV */
- { 18752, 0x000088CA }, /* GL_MATRIX10_ARB */
- { 18768, 0x000088CB }, /* GL_MATRIX11_ARB */
- { 18784, 0x000088CC }, /* GL_MATRIX12_ARB */
- { 18800, 0x000088CD }, /* GL_MATRIX13_ARB */
- { 18816, 0x000088CE }, /* GL_MATRIX14_ARB */
- { 18832, 0x000088CF }, /* GL_MATRIX15_ARB */
- { 18848, 0x000088D0 }, /* GL_MATRIX16_ARB */
- { 18864, 0x000088D1 }, /* GL_MATRIX17_ARB */
- { 18880, 0x000088D2 }, /* GL_MATRIX18_ARB */
- { 18896, 0x000088D3 }, /* GL_MATRIX19_ARB */
- { 18912, 0x000088C1 }, /* GL_MATRIX1_ARB */
- { 18927, 0x00008631 }, /* GL_MATRIX1_NV */
- { 18941, 0x000088D4 }, /* GL_MATRIX20_ARB */
- { 18957, 0x000088D5 }, /* GL_MATRIX21_ARB */
- { 18973, 0x000088D6 }, /* GL_MATRIX22_ARB */
- { 18989, 0x000088D7 }, /* GL_MATRIX23_ARB */
- { 19005, 0x000088D8 }, /* GL_MATRIX24_ARB */
- { 19021, 0x000088D9 }, /* GL_MATRIX25_ARB */
- { 19037, 0x000088DA }, /* GL_MATRIX26_ARB */
- { 19053, 0x000088DB }, /* GL_MATRIX27_ARB */
- { 19069, 0x000088DC }, /* GL_MATRIX28_ARB */
- { 19085, 0x000088DD }, /* GL_MATRIX29_ARB */
- { 19101, 0x000088C2 }, /* GL_MATRIX2_ARB */
- { 19116, 0x00008632 }, /* GL_MATRIX2_NV */
- { 19130, 0x000088DE }, /* GL_MATRIX30_ARB */
- { 19146, 0x000088DF }, /* GL_MATRIX31_ARB */
- { 19162, 0x000088C3 }, /* GL_MATRIX3_ARB */
- { 19177, 0x00008633 }, /* GL_MATRIX3_NV */
- { 19191, 0x000088C4 }, /* GL_MATRIX4_ARB */
- { 19206, 0x00008634 }, /* GL_MATRIX4_NV */
- { 19220, 0x000088C5 }, /* GL_MATRIX5_ARB */
- { 19235, 0x00008635 }, /* GL_MATRIX5_NV */
- { 19249, 0x000088C6 }, /* GL_MATRIX6_ARB */
- { 19264, 0x00008636 }, /* GL_MATRIX6_NV */
- { 19278, 0x000088C7 }, /* GL_MATRIX7_ARB */
- { 19293, 0x00008637 }, /* GL_MATRIX7_NV */
- { 19307, 0x000088C8 }, /* GL_MATRIX8_ARB */
- { 19322, 0x000088C9 }, /* GL_MATRIX9_ARB */
- { 19337, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
- { 19363, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */
- { 19404, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */
- { 19430, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- { 19464, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */
- { 19498, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- { 19529, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */
- { 19560, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- { 19593, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */
- { 19626, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- { 19657, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */
- { 19688, 0x00000BA0 }, /* GL_MATRIX_MODE */
- { 19703, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
- { 19725, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */
- { 19747, 0x00008008 }, /* GL_MAX */
- { 19754, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
- { 19777, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */
- { 19804, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
- { 19836, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
- { 19862, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- { 19895, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- { 19921, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 19955, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
- { 19974, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */
- { 19999, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
- { 20028, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- { 20060, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
- { 20096, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- { 20132, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
- { 20172, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
- { 20198, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
- { 20228, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
- { 20253, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
- { 20282, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- { 20311, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
- { 20344, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */
- { 20377, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
- { 20397, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
- { 20421, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
- { 20445, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
- { 20469, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
- { 20494, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
- { 20512, 0x00008008 }, /* GL_MAX_EXT */
- { 20523, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- { 20558, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
- { 20597, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */
- { 20629, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */
- { 20665, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */
- { 20705, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */
- { 20749, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */
- { 20788, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */
- { 20827, 0x00000D31 }, /* GL_MAX_LIGHTS */
- { 20841, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
- { 20861, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- { 20899, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- { 20928, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
- { 20952, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
- { 20980, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */
- { 21008, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
- { 21031, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 21068, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 21104, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- { 21131, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- { 21160, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- { 21194, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
- { 21230, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- { 21257, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- { 21289, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- { 21325, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- { 21354, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- { 21383, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
- { 21411, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- { 21449, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 21493, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 21536, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 21570, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 21609, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 21646, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 21684, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 21727, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 21770, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- { 21800, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- { 21831, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 21867, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 21903, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
- { 21933, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
- { 21967, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
- { 22000, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */
- { 22025, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
- { 22054, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */
- { 22083, 0x00008D57 }, /* GL_MAX_SAMPLES */
- { 22098, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */
- { 22117, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */
- { 22144, 0x00008504 }, /* GL_MAX_SHININESS_NV */
- { 22164, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
- { 22188, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
- { 22210, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
- { 22236, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- { 22263, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
- { 22294, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
- { 22318, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */
- { 22346, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- { 22380, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
- { 22400, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
- { 22427, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
- { 22448, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
- { 22473, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
- { 22498, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
- { 22533, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */
- { 22586, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */
- { 22633, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */
- { 22683, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */
- { 22709, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
- { 22731, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
- { 22757, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */
- { 22780, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
- { 22802, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
- { 22828, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- { 22862, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
- { 22900, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- { 22933, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
- { 22970, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */
- { 23000, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
- { 23024, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */
- { 23048, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */
- { 23085, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
- { 23106, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */
- { 23122, 0x00008DF4 }, /* GL_MEDIUM_INT */
- { 23136, 0x00008007 }, /* GL_MIN */
- { 23143, 0x0000802E }, /* GL_MINMAX */
- { 23153, 0x0000802E }, /* GL_MINMAX_EXT */
- { 23167, 0x0000802F }, /* GL_MINMAX_FORMAT */
- { 23184, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
- { 23205, 0x00008030 }, /* GL_MINMAX_SINK */
- { 23220, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
- { 23239, 0x00008007 }, /* GL_MIN_EXT */
- { 23250, 0x00008370 }, /* GL_MIRRORED_REPEAT */
- { 23269, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
- { 23292, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
- { 23315, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
- { 23335, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
- { 23355, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- { 23385, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
- { 23413, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- { 23441, 0x00001700 }, /* GL_MODELVIEW */
- { 23454, 0x00001700 }, /* GL_MODELVIEW0_ARB */
- { 23472, 0x0000872A }, /* GL_MODELVIEW10_ARB */
- { 23491, 0x0000872B }, /* GL_MODELVIEW11_ARB */
- { 23510, 0x0000872C }, /* GL_MODELVIEW12_ARB */
- { 23529, 0x0000872D }, /* GL_MODELVIEW13_ARB */
- { 23548, 0x0000872E }, /* GL_MODELVIEW14_ARB */
- { 23567, 0x0000872F }, /* GL_MODELVIEW15_ARB */
- { 23586, 0x00008730 }, /* GL_MODELVIEW16_ARB */
- { 23605, 0x00008731 }, /* GL_MODELVIEW17_ARB */
- { 23624, 0x00008732 }, /* GL_MODELVIEW18_ARB */
- { 23643, 0x00008733 }, /* GL_MODELVIEW19_ARB */
- { 23662, 0x0000850A }, /* GL_MODELVIEW1_ARB */
- { 23680, 0x00008734 }, /* GL_MODELVIEW20_ARB */
- { 23699, 0x00008735 }, /* GL_MODELVIEW21_ARB */
- { 23718, 0x00008736 }, /* GL_MODELVIEW22_ARB */
- { 23737, 0x00008737 }, /* GL_MODELVIEW23_ARB */
- { 23756, 0x00008738 }, /* GL_MODELVIEW24_ARB */
- { 23775, 0x00008739 }, /* GL_MODELVIEW25_ARB */
- { 23794, 0x0000873A }, /* GL_MODELVIEW26_ARB */
- { 23813, 0x0000873B }, /* GL_MODELVIEW27_ARB */
- { 23832, 0x0000873C }, /* GL_MODELVIEW28_ARB */
- { 23851, 0x0000873D }, /* GL_MODELVIEW29_ARB */
- { 23870, 0x00008722 }, /* GL_MODELVIEW2_ARB */
- { 23888, 0x0000873E }, /* GL_MODELVIEW30_ARB */
- { 23907, 0x0000873F }, /* GL_MODELVIEW31_ARB */
- { 23926, 0x00008723 }, /* GL_MODELVIEW3_ARB */
- { 23944, 0x00008724 }, /* GL_MODELVIEW4_ARB */
- { 23962, 0x00008725 }, /* GL_MODELVIEW5_ARB */
- { 23980, 0x00008726 }, /* GL_MODELVIEW6_ARB */
- { 23998, 0x00008727 }, /* GL_MODELVIEW7_ARB */
- { 24016, 0x00008728 }, /* GL_MODELVIEW8_ARB */
- { 24034, 0x00008729 }, /* GL_MODELVIEW9_ARB */
- { 24052, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
- { 24072, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */
- { 24114, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
- { 24141, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
- { 24166, 0x00002100 }, /* GL_MODULATE */
- { 24178, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
- { 24198, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
- { 24225, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
- { 24250, 0x00000103 }, /* GL_MULT */
- { 24258, 0x0000809D }, /* GL_MULTISAMPLE */
- { 24273, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
- { 24293, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
- { 24312, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
- { 24331, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
- { 24355, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
- { 24378, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- { 24408, 0x00002A25 }, /* GL_N3F_V3F */
- { 24419, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
- { 24439, 0x0000150E }, /* GL_NAND */
- { 24447, 0x00002600 }, /* GL_NEAREST */
- { 24458, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- { 24489, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- { 24521, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
- { 24546, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
- { 24572, 0x00000200 }, /* GL_NEVER */
- { 24581, 0x00001102 }, /* GL_NICEST */
- { 24591, 0x00000000 }, /* GL_NONE */
- { 24599, 0x00000000 }, /* GL_NONE_OES */
- { 24611, 0x00001505 }, /* GL_NOOP */
- { 24619, 0x00001508 }, /* GL_NOR */
- { 24626, 0x00000BA1 }, /* GL_NORMALIZE */
- { 24639, 0x00008075 }, /* GL_NORMAL_ARRAY */
- { 24655, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
- { 24686, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
- { 24721, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
- { 24745, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
- { 24768, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
- { 24789, 0x00008511 }, /* GL_NORMAL_MAP */
- { 24803, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
- { 24821, 0x00008511 }, /* GL_NORMAL_MAP_NV */
- { 24838, 0x00008511 }, /* GL_NORMAL_MAP_OES */
- { 24856, 0x00000205 }, /* GL_NOTEQUAL */
- { 24868, 0x00000000 }, /* GL_NO_ERROR */
- { 24880, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
- { 24914, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
- { 24952, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */
- { 24986, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */
- { 25015, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
- { 25047, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
- { 25089, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
- { 25119, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
- { 25159, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
- { 25190, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
- { 25219, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
- { 25247, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
- { 25277, 0x00002401 }, /* GL_OBJECT_LINEAR */
- { 25294, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
- { 25320, 0x00002501 }, /* GL_OBJECT_PLANE */
- { 25336, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
- { 25371, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
- { 25393, 0x00009112 }, /* GL_OBJECT_TYPE */
- { 25408, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
- { 25427, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
- { 25457, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
- { 25478, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
- { 25506, 0x00000001 }, /* GL_ONE */
- { 25513, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
- { 25541, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
- { 25573, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
- { 25601, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
- { 25633, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
- { 25656, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
- { 25679, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
- { 25702, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
- { 25725, 0x00008598 }, /* GL_OPERAND0_ALPHA */
- { 25743, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
- { 25765, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
- { 25787, 0x00008590 }, /* GL_OPERAND0_RGB */
- { 25803, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
- { 25823, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
- { 25843, 0x00008599 }, /* GL_OPERAND1_ALPHA */
- { 25861, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
- { 25883, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
- { 25905, 0x00008591 }, /* GL_OPERAND1_RGB */
- { 25921, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
- { 25941, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
- { 25961, 0x0000859A }, /* GL_OPERAND2_ALPHA */
- { 25979, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
- { 26001, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
- { 26023, 0x00008592 }, /* GL_OPERAND2_RGB */
- { 26039, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
- { 26059, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
- { 26079, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
- { 26100, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
- { 26119, 0x00001507 }, /* GL_OR */
- { 26125, 0x00000A01 }, /* GL_ORDER */
- { 26134, 0x0000150D }, /* GL_OR_INVERTED */
- { 26149, 0x0000150B }, /* GL_OR_REVERSE */
- { 26163, 0x00000505 }, /* GL_OUT_OF_MEMORY */
- { 26180, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
- { 26198, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
- { 26219, 0x00008758 }, /* GL_PACK_INVERT_MESA */
- { 26239, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
- { 26257, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
- { 26276, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
- { 26296, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
- { 26316, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
- { 26334, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
- { 26353, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
- { 26378, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
- { 26402, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
- { 26423, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
- { 26445, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
- { 26467, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
- { 26492, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
- { 26516, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
- { 26537, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
- { 26559, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
- { 26581, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
- { 26603, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
- { 26634, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
- { 26654, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- { 26679, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
- { 26699, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- { 26724, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
- { 26744, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- { 26769, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
- { 26789, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- { 26814, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
- { 26834, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- { 26859, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
- { 26879, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- { 26904, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
- { 26924, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- { 26949, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
- { 26969, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- { 26994, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
- { 27014, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- { 27039, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
- { 27059, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- { 27084, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
- { 27102, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */
- { 27123, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */
- { 27152, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
- { 27185, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
- { 27210, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */
- { 27233, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
- { 27264, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
- { 27299, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
- { 27326, 0x00001B00 }, /* GL_POINT */
- { 27335, 0x00000000 }, /* GL_POINTS */
- { 27345, 0x00000002 }, /* GL_POINT_BIT */
- { 27358, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
- { 27388, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
- { 27422, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
- { 27456, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
- { 27491, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
- { 27520, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
- { 27553, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
- { 27586, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
- { 27620, 0x00000B11 }, /* GL_POINT_SIZE */
- { 27634, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */
- { 27673, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */
- { 27697, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */
- { 27729, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */
- { 27760, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */
- { 27789, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
- { 27815, 0x00008127 }, /* GL_POINT_SIZE_MAX */
- { 27833, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
- { 27855, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
- { 27877, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
- { 27900, 0x00008126 }, /* GL_POINT_SIZE_MIN */
- { 27918, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
- { 27940, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
- { 27962, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
- { 27985, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
- { 28005, 0x00000B10 }, /* GL_POINT_SMOOTH */
- { 28021, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
- { 28042, 0x00008861 }, /* GL_POINT_SPRITE */
- { 28058, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
- { 28078, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
- { 28107, 0x00008861 }, /* GL_POINT_SPRITE_NV */
- { 28126, 0x00008861 }, /* GL_POINT_SPRITE_OES */
- { 28146, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
- { 28172, 0x00000701 }, /* GL_POINT_TOKEN */
- { 28187, 0x00000009 }, /* GL_POLYGON */
- { 28198, 0x00000008 }, /* GL_POLYGON_BIT */
- { 28213, 0x00000B40 }, /* GL_POLYGON_MODE */
- { 28229, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
- { 28252, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
- { 28277, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
- { 28300, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
- { 28323, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
- { 28347, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
- { 28371, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
- { 28389, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
- { 28412, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
- { 28431, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
- { 28454, 0x00000703 }, /* GL_POLYGON_TOKEN */
- { 28471, 0x00001203 }, /* GL_POSITION */
- { 28483, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- { 28515, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
- { 28551, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- { 28584, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
- { 28621, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- { 28652, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
- { 28687, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- { 28719, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
- { 28755, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- { 28788, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- { 28820, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
- { 28856, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- { 28889, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
- { 28926, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- { 28956, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
- { 28990, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- { 29021, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
- { 29056, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- { 29087, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
- { 29122, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- { 29154, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
- { 29190, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- { 29220, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
- { 29254, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- { 29285, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
- { 29320, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- { 29352, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- { 29383, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
- { 29418, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- { 29450, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
- { 29486, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
- { 29515, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
- { 29548, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
- { 29578, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
- { 29612, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- { 29651, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- { 29684, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- { 29724, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- { 29758, 0x00008578 }, /* GL_PREVIOUS */
- { 29770, 0x00008578 }, /* GL_PREVIOUS_ARB */
- { 29786, 0x00008578 }, /* GL_PREVIOUS_EXT */
- { 29802, 0x00008577 }, /* GL_PRIMARY_COLOR */
- { 29819, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
- { 29840, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
- { 29861, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */
- { 29889, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- { 29922, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- { 29954, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
- { 29977, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */
- { 30007, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */
- { 30036, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
- { 30059, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
- { 30089, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
- { 30118, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
- { 30146, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
- { 30168, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- { 30196, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- { 30224, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
- { 30246, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
- { 30267, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- { 30307, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- { 30346, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- { 30376, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- { 30411, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- { 30444, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- { 30478, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- { 30517, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- { 30556, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
- { 30578, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
- { 30604, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
- { 30628, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */
- { 30654, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
- { 30677, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
- { 30699, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
- { 30720, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
- { 30741, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
- { 30768, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- { 30800, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- { 30832, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- { 30867, 0x00001701 }, /* GL_PROJECTION */
- { 30881, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
- { 30902, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */
- { 30945, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
- { 30971, 0x00008E4F }, /* GL_PROVOKING_VERTEX */
- { 30991, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */
- { 31015, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
- { 31036, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
- { 31055, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
- { 31078, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
- { 31117, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- { 31155, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
- { 31175, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
- { 31205, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
- { 31229, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
- { 31249, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
- { 31279, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
- { 31303, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
- { 31323, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- { 31356, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
- { 31382, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
- { 31412, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
- { 31443, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
- { 31473, 0x00008A1D }, /* GL_PURGEABLE_APPLE */
- { 31492, 0x00002003 }, /* GL_Q */
- { 31497, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
- { 31522, 0x00000007 }, /* GL_QUADS */
- { 31531, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
- { 31575, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */
- { 31623, 0x00008614 }, /* GL_QUAD_MESH_SUN */
- { 31640, 0x00000008 }, /* GL_QUAD_STRIP */
- { 31654, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */
- { 31684, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */
- { 31711, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
- { 31733, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
- { 31759, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */
- { 31779, 0x00008866 }, /* GL_QUERY_RESULT */
- { 31795, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
- { 31815, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
- { 31841, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
- { 31871, 0x00008E13 }, /* GL_QUERY_WAIT_NV */
- { 31888, 0x00002002 }, /* GL_R */
- { 31893, 0x00002A10 }, /* GL_R3_G3_B2 */
- { 31905, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */
- { 31931, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- { 31964, 0x00000C02 }, /* GL_READ_BUFFER */
- { 31979, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */
- { 31999, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */
- { 32027, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
- { 32059, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
- { 32083, 0x000088B8 }, /* GL_READ_ONLY */
- { 32096, 0x000088B8 }, /* GL_READ_ONLY_ARB */
- { 32113, 0x000088BA }, /* GL_READ_WRITE */
- { 32127, 0x000088BA }, /* GL_READ_WRITE_ARB */
- { 32145, 0x00001903 }, /* GL_RED */
- { 32152, 0x00008016 }, /* GL_REDUCE */
- { 32162, 0x00008016 }, /* GL_REDUCE_EXT */
- { 32176, 0x00000D15 }, /* GL_RED_BIAS */
- { 32188, 0x00000D52 }, /* GL_RED_BITS */
- { 32200, 0x00000D14 }, /* GL_RED_SCALE */
- { 32213, 0x00008512 }, /* GL_REFLECTION_MAP */
- { 32231, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
- { 32253, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
- { 32274, 0x00008512 }, /* GL_REFLECTION_MAP_OES */
- { 32296, 0x00008A19 }, /* GL_RELEASED_APPLE */
- { 32314, 0x00001C00 }, /* GL_RENDER */
- { 32324, 0x00008D41 }, /* GL_RENDERBUFFER */
- { 32340, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */
- { 32367, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */
- { 32398, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */
- { 32422, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
- { 32450, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */
- { 32478, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */
- { 32504, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */
- { 32534, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */
- { 32561, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */
- { 32592, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
- { 32612, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */
- { 32639, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */
- { 32670, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */
- { 32693, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
- { 32720, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */
- { 32747, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
- { 32779, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
- { 32815, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */
- { 32851, 0x00008D41 }, /* GL_RENDERBUFFER_OES */
- { 32871, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */
- { 32896, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */
- { 32925, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */
- { 32949, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */
- { 32977, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */
- { 33006, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */
- { 33039, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */
- { 33061, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
- { 33087, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */
- { 33113, 0x00001F01 }, /* GL_RENDERER */
- { 33125, 0x00000C40 }, /* GL_RENDER_MODE */
- { 33140, 0x00002901 }, /* GL_REPEAT */
- { 33150, 0x00001E01 }, /* GL_REPLACE */
- { 33161, 0x00008062 }, /* GL_REPLACE_EXT */
- { 33176, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
- { 33199, 0x0000803A }, /* GL_RESCALE_NORMAL */
- { 33217, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
- { 33239, 0x00008A1B }, /* GL_RETAINED_APPLE */
- { 33257, 0x00000102 }, /* GL_RETURN */
- { 33267, 0x00001907 }, /* GL_RGB */
- { 33274, 0x00008052 }, /* GL_RGB10 */
- { 33283, 0x00008059 }, /* GL_RGB10_A2 */
- { 33295, 0x00008059 }, /* GL_RGB10_A2_EXT */
- { 33311, 0x00008052 }, /* GL_RGB10_EXT */
- { 33324, 0x00008053 }, /* GL_RGB12 */
- { 33333, 0x00008053 }, /* GL_RGB12_EXT */
- { 33346, 0x00008054 }, /* GL_RGB16 */
- { 33355, 0x00008054 }, /* GL_RGB16_EXT */
- { 33368, 0x0000804E }, /* GL_RGB2_EXT */
- { 33380, 0x0000804F }, /* GL_RGB4 */
- { 33388, 0x0000804F }, /* GL_RGB4_EXT */
- { 33400, 0x000083A1 }, /* GL_RGB4_S3TC */
- { 33413, 0x00008050 }, /* GL_RGB5 */
- { 33421, 0x00008D62 }, /* GL_RGB565 */
- { 33431, 0x00008D62 }, /* GL_RGB565_OES */
- { 33445, 0x00008057 }, /* GL_RGB5_A1 */
- { 33456, 0x00008057 }, /* GL_RGB5_A1_EXT */
- { 33471, 0x00008057 }, /* GL_RGB5_A1_OES */
- { 33486, 0x00008050 }, /* GL_RGB5_EXT */
- { 33498, 0x00008051 }, /* GL_RGB8 */
- { 33506, 0x00008051 }, /* GL_RGB8_EXT */
- { 33518, 0x00008051 }, /* GL_RGB8_OES */
- { 33530, 0x00001908 }, /* GL_RGBA */
- { 33538, 0x0000805A }, /* GL_RGBA12 */
- { 33548, 0x0000805A }, /* GL_RGBA12_EXT */
- { 33562, 0x0000805B }, /* GL_RGBA16 */
- { 33572, 0x0000805B }, /* GL_RGBA16_EXT */
- { 33586, 0x00008055 }, /* GL_RGBA2 */
- { 33595, 0x00008055 }, /* GL_RGBA2_EXT */
- { 33608, 0x00008056 }, /* GL_RGBA4 */
- { 33617, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
- { 33636, 0x00008056 }, /* GL_RGBA4_EXT */
- { 33649, 0x00008056 }, /* GL_RGBA4_OES */
- { 33662, 0x000083A3 }, /* GL_RGBA4_S3TC */
- { 33676, 0x00008058 }, /* GL_RGBA8 */
- { 33685, 0x00008058 }, /* GL_RGBA8_EXT */
- { 33698, 0x00008058 }, /* GL_RGBA8_OES */
- { 33711, 0x00008F97 }, /* GL_RGBA8_SNORM */
- { 33726, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
- { 33744, 0x00000C31 }, /* GL_RGBA_MODE */
- { 33757, 0x000083A2 }, /* GL_RGBA_S3TC */
- { 33770, 0x00008F93 }, /* GL_RGBA_SNORM */
- { 33784, 0x000083A0 }, /* GL_RGB_S3TC */
- { 33796, 0x00008573 }, /* GL_RGB_SCALE */
- { 33809, 0x00008573 }, /* GL_RGB_SCALE_ARB */
- { 33826, 0x00008573 }, /* GL_RGB_SCALE_EXT */
- { 33843, 0x00000407 }, /* GL_RIGHT */
- { 33852, 0x00002000 }, /* GL_S */
- { 33857, 0x00008B5D }, /* GL_SAMPLER_1D */
- { 33871, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
- { 33892, 0x00008B5E }, /* GL_SAMPLER_2D */
- { 33906, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
- { 33927, 0x00008B5F }, /* GL_SAMPLER_3D */
- { 33941, 0x00008B5F }, /* GL_SAMPLER_3D_OES */
- { 33959, 0x00008B60 }, /* GL_SAMPLER_CUBE */
- { 33975, 0x000080A9 }, /* GL_SAMPLES */
- { 33986, 0x000086B4 }, /* GL_SAMPLES_3DFX */
- { 34002, 0x000080A9 }, /* GL_SAMPLES_ARB */
- { 34017, 0x00008914 }, /* GL_SAMPLES_PASSED */
- { 34035, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
- { 34057, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- { 34085, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
- { 34117, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
- { 34140, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
- { 34167, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
- { 34185, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
- { 34208, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
- { 34230, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
- { 34249, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
- { 34272, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
- { 34298, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
- { 34328, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
- { 34353, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
- { 34382, 0x00080000 }, /* GL_SCISSOR_BIT */
- { 34397, 0x00000C10 }, /* GL_SCISSOR_BOX */
- { 34412, 0x00000C11 }, /* GL_SCISSOR_TEST */
- { 34428, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
- { 34453, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- { 34493, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
- { 34537, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- { 34570, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- { 34600, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- { 34632, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- { 34662, 0x00001C02 }, /* GL_SELECT */
- { 34672, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
- { 34700, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
- { 34725, 0x00008012 }, /* GL_SEPARABLE_2D */
- { 34741, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */
- { 34765, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
- { 34792, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
- { 34823, 0x0000150F }, /* GL_SET */
- { 34830, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */
- { 34855, 0x00008DFA }, /* GL_SHADER_COMPILER */
- { 34874, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
- { 34895, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
- { 34919, 0x00008B4F }, /* GL_SHADER_TYPE */
- { 34934, 0x00000B54 }, /* GL_SHADE_MODEL */
- { 34949, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
- { 34977, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
- { 35000, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- { 35030, 0x00001601 }, /* GL_SHININESS */
- { 35043, 0x00001402 }, /* GL_SHORT */
- { 35052, 0x00009119 }, /* GL_SIGNALED */
- { 35064, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */
- { 35085, 0x000081F9 }, /* GL_SINGLE_COLOR */
- { 35101, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
- { 35121, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
- { 35140, 0x00008C46 }, /* GL_SLUMINANCE */
- { 35154, 0x00008C47 }, /* GL_SLUMINANCE8 */
- { 35169, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */
- { 35191, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */
- { 35211, 0x00001D01 }, /* GL_SMOOTH */
- { 35221, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
- { 35254, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
- { 35281, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
- { 35314, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
- { 35341, 0x00008588 }, /* GL_SOURCE0_ALPHA */
- { 35358, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
- { 35379, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
- { 35400, 0x00008580 }, /* GL_SOURCE0_RGB */
- { 35415, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
- { 35434, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
- { 35453, 0x00008589 }, /* GL_SOURCE1_ALPHA */
- { 35470, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
- { 35491, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
- { 35512, 0x00008581 }, /* GL_SOURCE1_RGB */
- { 35527, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
- { 35546, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
- { 35565, 0x0000858A }, /* GL_SOURCE2_ALPHA */
- { 35582, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
- { 35603, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
- { 35624, 0x00008582 }, /* GL_SOURCE2_RGB */
- { 35639, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
- { 35658, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
- { 35677, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
- { 35697, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
- { 35715, 0x00001202 }, /* GL_SPECULAR */
- { 35727, 0x00002402 }, /* GL_SPHERE_MAP */
- { 35741, 0x00001206 }, /* GL_SPOT_CUTOFF */
- { 35756, 0x00001204 }, /* GL_SPOT_DIRECTION */
- { 35774, 0x00001205 }, /* GL_SPOT_EXPONENT */
- { 35791, 0x00008588 }, /* GL_SRC0_ALPHA */
- { 35805, 0x00008580 }, /* GL_SRC0_RGB */
- { 35817, 0x00008589 }, /* GL_SRC1_ALPHA */
- { 35831, 0x00008581 }, /* GL_SRC1_RGB */
- { 35843, 0x0000858A }, /* GL_SRC2_ALPHA */
- { 35857, 0x00008582 }, /* GL_SRC2_RGB */
- { 35869, 0x00000302 }, /* GL_SRC_ALPHA */
- { 35882, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
- { 35904, 0x00000300 }, /* GL_SRC_COLOR */
- { 35917, 0x00008C40 }, /* GL_SRGB */
- { 35925, 0x00008C41 }, /* GL_SRGB8 */
- { 35934, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */
- { 35950, 0x00008C42 }, /* GL_SRGB_ALPHA */
- { 35964, 0x00000503 }, /* GL_STACK_OVERFLOW */
- { 35982, 0x00000504 }, /* GL_STACK_UNDERFLOW */
- { 36001, 0x000088E6 }, /* GL_STATIC_COPY */
- { 36016, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
- { 36035, 0x000088E4 }, /* GL_STATIC_DRAW */
- { 36050, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
- { 36069, 0x000088E5 }, /* GL_STATIC_READ */
- { 36084, 0x000088E5 }, /* GL_STATIC_READ_ARB */
- { 36103, 0x00001802 }, /* GL_STENCIL */
- { 36114, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */
- { 36136, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
- { 36162, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */
- { 36188, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
- { 36209, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */
- { 36234, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
- { 36255, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */
- { 36280, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- { 36312, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */
- { 36348, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- { 36380, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */
- { 36416, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
- { 36436, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
- { 36463, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
- { 36489, 0x00000D57 }, /* GL_STENCIL_BITS */
- { 36505, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
- { 36527, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
- { 36550, 0x00000B94 }, /* GL_STENCIL_FAIL */
- { 36566, 0x00000B92 }, /* GL_STENCIL_FUNC */
- { 36582, 0x00001901 }, /* GL_STENCIL_INDEX */
- { 36599, 0x00008D46 }, /* GL_STENCIL_INDEX1 */
- { 36617, 0x00008D49 }, /* GL_STENCIL_INDEX16 */
- { 36636, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
- { 36659, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
- { 36681, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */
- { 36703, 0x00008D47 }, /* GL_STENCIL_INDEX4 */
- { 36721, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
- { 36743, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */
- { 36765, 0x00008D48 }, /* GL_STENCIL_INDEX8 */
- { 36783, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
- { 36805, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */
- { 36827, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
- { 36848, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
- { 36875, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
- { 36902, 0x00000B97 }, /* GL_STENCIL_REF */
- { 36917, 0x00000B90 }, /* GL_STENCIL_TEST */
- { 36933, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
- { 36962, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
- { 36984, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
- { 37005, 0x00000C33 }, /* GL_STEREO */
- { 37015, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */
- { 37039, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */
- { 37064, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */
- { 37088, 0x000088E2 }, /* GL_STREAM_COPY */
- { 37103, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
- { 37122, 0x000088E0 }, /* GL_STREAM_DRAW */
- { 37137, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
- { 37156, 0x000088E1 }, /* GL_STREAM_READ */
- { 37171, 0x000088E1 }, /* GL_STREAM_READ_ARB */
- { 37190, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
- { 37207, 0x000084E7 }, /* GL_SUBTRACT */
- { 37219, 0x000084E7 }, /* GL_SUBTRACT_ARB */
- { 37235, 0x00009113 }, /* GL_SYNC_CONDITION */
- { 37253, 0x00009116 }, /* GL_SYNC_FENCE */
- { 37267, 0x00009115 }, /* GL_SYNC_FLAGS */
- { 37281, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */
- { 37308, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */
- { 37338, 0x00009114 }, /* GL_SYNC_STATUS */
- { 37353, 0x00002001 }, /* GL_T */
- { 37358, 0x00002A2A }, /* GL_T2F_C3F_V3F */
- { 37373, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
- { 37392, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
- { 37408, 0x00002A2B }, /* GL_T2F_N3F_V3F */
- { 37423, 0x00002A27 }, /* GL_T2F_V3F */
- { 37434, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
- { 37453, 0x00002A28 }, /* GL_T4F_V4F */
- { 37464, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
- { 37487, 0x00001702 }, /* GL_TEXTURE */
- { 37498, 0x000084C0 }, /* GL_TEXTURE0 */
- { 37510, 0x000084C0 }, /* GL_TEXTURE0_ARB */
- { 37526, 0x000084C1 }, /* GL_TEXTURE1 */
- { 37538, 0x000084CA }, /* GL_TEXTURE10 */
- { 37551, 0x000084CA }, /* GL_TEXTURE10_ARB */
- { 37568, 0x000084CB }, /* GL_TEXTURE11 */
- { 37581, 0x000084CB }, /* GL_TEXTURE11_ARB */
- { 37598, 0x000084CC }, /* GL_TEXTURE12 */
- { 37611, 0x000084CC }, /* GL_TEXTURE12_ARB */
- { 37628, 0x000084CD }, /* GL_TEXTURE13 */
- { 37641, 0x000084CD }, /* GL_TEXTURE13_ARB */
- { 37658, 0x000084CE }, /* GL_TEXTURE14 */
- { 37671, 0x000084CE }, /* GL_TEXTURE14_ARB */
- { 37688, 0x000084CF }, /* GL_TEXTURE15 */
- { 37701, 0x000084CF }, /* GL_TEXTURE15_ARB */
- { 37718, 0x000084D0 }, /* GL_TEXTURE16 */
- { 37731, 0x000084D0 }, /* GL_TEXTURE16_ARB */
- { 37748, 0x000084D1 }, /* GL_TEXTURE17 */
- { 37761, 0x000084D1 }, /* GL_TEXTURE17_ARB */
- { 37778, 0x000084D2 }, /* GL_TEXTURE18 */
- { 37791, 0x000084D2 }, /* GL_TEXTURE18_ARB */
- { 37808, 0x000084D3 }, /* GL_TEXTURE19 */
- { 37821, 0x000084D3 }, /* GL_TEXTURE19_ARB */
- { 37838, 0x000084C1 }, /* GL_TEXTURE1_ARB */
- { 37854, 0x000084C2 }, /* GL_TEXTURE2 */
- { 37866, 0x000084D4 }, /* GL_TEXTURE20 */
- { 37879, 0x000084D4 }, /* GL_TEXTURE20_ARB */
- { 37896, 0x000084D5 }, /* GL_TEXTURE21 */
- { 37909, 0x000084D5 }, /* GL_TEXTURE21_ARB */
- { 37926, 0x000084D6 }, /* GL_TEXTURE22 */
- { 37939, 0x000084D6 }, /* GL_TEXTURE22_ARB */
- { 37956, 0x000084D7 }, /* GL_TEXTURE23 */
- { 37969, 0x000084D7 }, /* GL_TEXTURE23_ARB */
- { 37986, 0x000084D8 }, /* GL_TEXTURE24 */
- { 37999, 0x000084D8 }, /* GL_TEXTURE24_ARB */
- { 38016, 0x000084D9 }, /* GL_TEXTURE25 */
- { 38029, 0x000084D9 }, /* GL_TEXTURE25_ARB */
- { 38046, 0x000084DA }, /* GL_TEXTURE26 */
- { 38059, 0x000084DA }, /* GL_TEXTURE26_ARB */
- { 38076, 0x000084DB }, /* GL_TEXTURE27 */
- { 38089, 0x000084DB }, /* GL_TEXTURE27_ARB */
- { 38106, 0x000084DC }, /* GL_TEXTURE28 */
- { 38119, 0x000084DC }, /* GL_TEXTURE28_ARB */
- { 38136, 0x000084DD }, /* GL_TEXTURE29 */
- { 38149, 0x000084DD }, /* GL_TEXTURE29_ARB */
- { 38166, 0x000084C2 }, /* GL_TEXTURE2_ARB */
- { 38182, 0x000084C3 }, /* GL_TEXTURE3 */
- { 38194, 0x000084DE }, /* GL_TEXTURE30 */
- { 38207, 0x000084DE }, /* GL_TEXTURE30_ARB */
- { 38224, 0x000084DF }, /* GL_TEXTURE31 */
- { 38237, 0x000084DF }, /* GL_TEXTURE31_ARB */
- { 38254, 0x000084C3 }, /* GL_TEXTURE3_ARB */
- { 38270, 0x000084C4 }, /* GL_TEXTURE4 */
- { 38282, 0x000084C4 }, /* GL_TEXTURE4_ARB */
- { 38298, 0x000084C5 }, /* GL_TEXTURE5 */
- { 38310, 0x000084C5 }, /* GL_TEXTURE5_ARB */
- { 38326, 0x000084C6 }, /* GL_TEXTURE6 */
- { 38338, 0x000084C6 }, /* GL_TEXTURE6_ARB */
- { 38354, 0x000084C7 }, /* GL_TEXTURE7 */
- { 38366, 0x000084C7 }, /* GL_TEXTURE7_ARB */
- { 38382, 0x000084C8 }, /* GL_TEXTURE8 */
- { 38394, 0x000084C8 }, /* GL_TEXTURE8_ARB */
- { 38410, 0x000084C9 }, /* GL_TEXTURE9 */
- { 38422, 0x000084C9 }, /* GL_TEXTURE9_ARB */
- { 38438, 0x00000DE0 }, /* GL_TEXTURE_1D */
- { 38452, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */
- { 38476, 0x00000DE1 }, /* GL_TEXTURE_2D */
- { 38490, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */
- { 38514, 0x0000806F }, /* GL_TEXTURE_3D */
- { 38528, 0x0000806F }, /* GL_TEXTURE_3D_OES */
- { 38546, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
- { 38568, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
- { 38594, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
- { 38616, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
- { 38638, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
- { 38670, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
- { 38692, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
- { 38724, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
- { 38746, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */
- { 38772, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
- { 38800, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
- { 38832, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */
- { 38864, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
- { 38897, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
- { 38929, 0x00040000 }, /* GL_TEXTURE_BIT */
- { 38944, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
- { 38965, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
- { 38990, 0x00001005 }, /* GL_TEXTURE_BORDER */
- { 39008, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
- { 39032, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- { 39063, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- { 39093, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- { 39123, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- { 39158, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- { 39189, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- { 39227, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
- { 39254, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- { 39286, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
- { 39320, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
- { 39344, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
- { 39372, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
- { 39396, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
- { 39424, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- { 39457, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
- { 39481, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
- { 39503, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
- { 39525, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
- { 39551, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
- { 39585, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- { 39618, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
- { 39655, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
- { 39683, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
- { 39715, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
- { 39738, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- { 39776, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
- { 39818, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- { 39849, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- { 39877, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- { 39907, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- { 39935, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */
- { 39960, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
- { 39980, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
- { 40004, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- { 40035, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
- { 40070, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */
- { 40105, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- { 40136, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
- { 40171, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */
- { 40206, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- { 40237, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
- { 40272, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */
- { 40307, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */
- { 40331, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- { 40362, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
- { 40397, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */
- { 40432, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- { 40463, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
- { 40498, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */
- { 40533, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- { 40564, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
- { 40599, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */
- { 40634, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */
- { 40663, 0x00008071 }, /* GL_TEXTURE_DEPTH */
- { 40680, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
- { 40702, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
- { 40728, 0x00002300 }, /* GL_TEXTURE_ENV */
- { 40743, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
- { 40764, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
- { 40784, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
- { 40810, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */
- { 40840, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
- { 40860, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */
- { 40884, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
- { 40901, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
- { 40918, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
- { 40935, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */
- { 40958, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
- { 40975, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
- { 41000, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
- { 41022, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
- { 41048, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
- { 41066, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
- { 41092, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
- { 41118, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
- { 41148, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
- { 41175, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
- { 41200, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
- { 41220, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
- { 41244, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- { 41271, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- { 41298, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- { 41325, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
- { 41351, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
- { 41381, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
- { 41403, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
- { 41421, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */
- { 41461, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- { 41491, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- { 41519, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- { 41547, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- { 41575, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
- { 41596, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
- { 41615, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
- { 41637, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
- { 41656, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
- { 41676, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */
- { 41706, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */
- { 41737, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
- { 41762, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
- { 41786, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
- { 41806, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
- { 41830, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
- { 41850, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
- { 41873, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */
- { 41897, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */
- { 41925, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */
- { 41955, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
- { 41980, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- { 42014, 0x00001000 }, /* GL_TEXTURE_WIDTH */
- { 42031, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
- { 42049, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */
- { 42071, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
- { 42089, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
- { 42107, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */
- { 42126, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
- { 42146, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
- { 42165, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- { 42194, 0x00001000 }, /* GL_TRANSFORM_BIT */
- { 42211, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */
- { 42233, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */
- { 42263, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
- { 42299, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */
- { 42340, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */
- { 42373, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */
- { 42411, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
- { 42447, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */
- { 42485, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */
- { 42524, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */
- { 42569, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */
- { 42604, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */
- { 42649, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
- { 42675, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
- { 42705, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- { 42737, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- { 42767, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
- { 42801, 0x0000862C }, /* GL_TRANSPOSE_NV */
- { 42817, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- { 42848, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
- { 42883, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- { 42911, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
- { 42943, 0x00000004 }, /* GL_TRIANGLES */
- { 42956, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */
- { 42983, 0x00000006 }, /* GL_TRIANGLE_FAN */
- { 42999, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
- { 43020, 0x00000005 }, /* GL_TRIANGLE_STRIP */
- { 43038, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */
- { 43070, 0x00000001 }, /* GL_TRUE */
- { 43078, 0x00008A1C }, /* GL_UNDEFINED_APPLE */
- { 43097, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
- { 43117, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
- { 43140, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
- { 43160, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
- { 43181, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
- { 43203, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
- { 43225, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
- { 43245, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
- { 43266, 0x00009118 }, /* GL_UNSIGNALED */
- { 43280, 0x00001401 }, /* GL_UNSIGNED_BYTE */
- { 43297, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- { 43324, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
- { 43347, 0x00001405 }, /* GL_UNSIGNED_INT */
- { 43363, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
- { 43390, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */
- { 43421, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */
- { 43442, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */
- { 43467, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
- { 43491, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */
- { 43516, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- { 43547, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */
- { 43582, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
- { 43606, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- { 43634, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */
- { 43657, 0x00001403 }, /* GL_UNSIGNED_SHORT */
- { 43675, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- { 43705, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */
- { 43739, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- { 43765, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- { 43795, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */
- { 43829, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- { 43855, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
- { 43879, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- { 43907, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- { 43935, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
- { 43962, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- { 43994, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
- { 44025, 0x00008CA2 }, /* GL_UPPER_LEFT */
- { 44039, 0x00002A20 }, /* GL_V2F */
- { 44046, 0x00002A21 }, /* GL_V3F */
- { 44053, 0x00008B83 }, /* GL_VALIDATE_STATUS */
- { 44072, 0x00001F00 }, /* GL_VENDOR */
- { 44082, 0x00001F02 }, /* GL_VERSION */
- { 44093, 0x00008074 }, /* GL_VERTEX_ARRAY */
- { 44109, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */
- { 44133, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
- { 44163, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- { 44194, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
- { 44229, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
- { 44253, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
- { 44274, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
- { 44297, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
- { 44318, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- { 44345, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- { 44373, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- { 44401, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- { 44429, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- { 44457, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- { 44485, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- { 44513, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- { 44540, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- { 44567, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- { 44594, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- { 44621, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- { 44648, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- { 44675, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- { 44702, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- { 44729, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- { 44756, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- { 44794, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
- { 44836, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- { 44867, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
- { 44902, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- { 44936, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
- { 44974, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- { 45005, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
- { 45040, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- { 45068, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
- { 45100, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- { 45130, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
- { 45164, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- { 45192, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
- { 45224, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
- { 45244, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
- { 45266, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
- { 45295, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
- { 45316, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
- { 45345, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
- { 45378, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
- { 45410, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- { 45437, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
- { 45468, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
- { 45498, 0x00008B31 }, /* GL_VERTEX_SHADER */
- { 45515, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
- { 45536, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
- { 45563, 0x00000BA2 }, /* GL_VIEWPORT */
- { 45575, 0x00000800 }, /* GL_VIEWPORT_BIT */
- { 45591, 0x00008A1A }, /* GL_VOLATILE_APPLE */
- { 45609, 0x0000911D }, /* GL_WAIT_FAILED */
- { 45624, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
- { 45644, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- { 45675, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
- { 45710, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */
- { 45745, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */
- { 45765, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- { 45793, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */
- { 45821, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- { 45846, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */
- { 45871, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- { 45898, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */
- { 45925, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- { 45950, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */
- { 45975, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
- { 45999, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
- { 46018, 0x000088B9 }, /* GL_WRITE_ONLY */
- { 46032, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
- { 46050, 0x000088B9 }, /* GL_WRITE_ONLY_OES */
- { 46068, 0x00001506 }, /* GL_XOR */
- { 46075, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
- { 46094, 0x00008757 }, /* GL_YCBCR_MESA */
- { 46108, 0x00000000 }, /* GL_ZERO */
- { 46116, 0x00000D16 }, /* GL_ZOOM_X */
- { 46126, 0x00000D17 }, /* GL_ZOOM_Y */
+ { 276, 0x00008B8D }, /* GL_ACTIVE_PROGRAM_EXT */
+ { 298, 0x00008911 }, /* GL_ACTIVE_STENCIL_FACE_EXT */
+ { 325, 0x000084E0 }, /* GL_ACTIVE_TEXTURE */
+ { 343, 0x000084E0 }, /* GL_ACTIVE_TEXTURE_ARB */
+ { 365, 0x00008B86 }, /* GL_ACTIVE_UNIFORMS */
+ { 384, 0x00008B87 }, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
+ { 413, 0x000086A5 }, /* GL_ACTIVE_VERTEX_UNITS_ARB */
+ { 440, 0x00000104 }, /* GL_ADD */
+ { 447, 0x00008574 }, /* GL_ADD_SIGNED */
+ { 461, 0x00008574 }, /* GL_ADD_SIGNED_ARB */
+ { 479, 0x00008574 }, /* GL_ADD_SIGNED_EXT */
+ { 497, 0x0000846E }, /* GL_ALIASED_LINE_WIDTH_RANGE */
+ { 525, 0x0000846D }, /* GL_ALIASED_POINT_SIZE_RANGE */
+ { 553, 0x000FFFFF }, /* GL_ALL_ATTRIB_BITS */
+ { 572, 0xFFFFFFFF }, /* GL_ALL_CLIENT_ATTRIB_BITS */
+ { 598, 0x00001906 }, /* GL_ALPHA */
+ { 607, 0x0000803D }, /* GL_ALPHA12 */
+ { 618, 0x0000803D }, /* GL_ALPHA12_EXT */
+ { 633, 0x0000803E }, /* GL_ALPHA16 */
+ { 644, 0x00008D8A }, /* GL_ALPHA16I_EXT */
+ { 660, 0x00008D78 }, /* GL_ALPHA16UI_EXT */
+ { 677, 0x0000803E }, /* GL_ALPHA16_EXT */
+ { 692, 0x00008D84 }, /* GL_ALPHA32I_EXT */
+ { 708, 0x00008D72 }, /* GL_ALPHA32UI_EXT */
+ { 725, 0x0000803B }, /* GL_ALPHA4 */
+ { 735, 0x0000803B }, /* GL_ALPHA4_EXT */
+ { 749, 0x0000803C }, /* GL_ALPHA8 */
+ { 759, 0x00008D90 }, /* GL_ALPHA8I_EXT */
+ { 774, 0x00008D7E }, /* GL_ALPHA8UI_EXT */
+ { 790, 0x0000803C }, /* GL_ALPHA8_EXT */
+ { 804, 0x00000D1D }, /* GL_ALPHA_BIAS */
+ { 818, 0x00000D55 }, /* GL_ALPHA_BITS */
+ { 832, 0x00008D97 }, /* GL_ALPHA_INTEGER_EXT */
+ { 853, 0x00000D1C }, /* GL_ALPHA_SCALE */
+ { 868, 0x00000BC0 }, /* GL_ALPHA_TEST */
+ { 882, 0x00000BC1 }, /* GL_ALPHA_TEST_FUNC */
+ { 901, 0x00000BC2 }, /* GL_ALPHA_TEST_REF */
+ { 919, 0x0000911A }, /* GL_ALREADY_SIGNALED */
+ { 939, 0x00000207 }, /* GL_ALWAYS */
+ { 949, 0x00001200 }, /* GL_AMBIENT */
+ { 960, 0x00001602 }, /* GL_AMBIENT_AND_DIFFUSE */
+ { 983, 0x00001501 }, /* GL_AND */
+ { 990, 0x00001504 }, /* GL_AND_INVERTED */
+ { 1006, 0x00001502 }, /* GL_AND_REVERSE */
+ { 1021, 0x00008892 }, /* GL_ARRAY_BUFFER */
+ { 1037, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING */
+ { 1061, 0x00008894 }, /* GL_ARRAY_BUFFER_BINDING_ARB */
+ { 1089, 0x00008B85 }, /* GL_ATTACHED_SHADERS */
+ { 1109, 0x00008645 }, /* GL_ATTRIB_ARRAY_POINTER_NV */
+ { 1136, 0x00008623 }, /* GL_ATTRIB_ARRAY_SIZE_NV */
+ { 1160, 0x00008624 }, /* GL_ATTRIB_ARRAY_STRIDE_NV */
+ { 1186, 0x00008625 }, /* GL_ATTRIB_ARRAY_TYPE_NV */
+ { 1210, 0x00000BB0 }, /* GL_ATTRIB_STACK_DEPTH */
+ { 1232, 0x00000D80 }, /* GL_AUTO_NORMAL */
+ { 1247, 0x00000409 }, /* GL_AUX0 */
+ { 1255, 0x0000040A }, /* GL_AUX1 */
+ { 1263, 0x0000040B }, /* GL_AUX2 */
+ { 1271, 0x0000040C }, /* GL_AUX3 */
+ { 1279, 0x00000C00 }, /* GL_AUX_BUFFERS */
+ { 1294, 0x00000405 }, /* GL_BACK */
+ { 1302, 0x00000402 }, /* GL_BACK_LEFT */
+ { 1315, 0x00000403 }, /* GL_BACK_RIGHT */
+ { 1329, 0x000080E0 }, /* GL_BGR */
+ { 1336, 0x000080E1 }, /* GL_BGRA */
+ { 1344, 0x000080E1 }, /* GL_BGRA_EXT */
+ { 1356, 0x00008D9B }, /* GL_BGRA_INTEGER_EXT */
+ { 1376, 0x00008D9A }, /* GL_BGR_INTEGER_EXT */
+ { 1395, 0x00001A00 }, /* GL_BITMAP */
+ { 1405, 0x00000704 }, /* GL_BITMAP_TOKEN */
+ { 1421, 0x00000BE2 }, /* GL_BLEND */
+ { 1430, 0x00008005 }, /* GL_BLEND_COLOR */
+ { 1445, 0x00008005 }, /* GL_BLEND_COLOR_EXT */
+ { 1464, 0x00000BE0 }, /* GL_BLEND_DST */
+ { 1477, 0x000080CA }, /* GL_BLEND_DST_ALPHA */
+ { 1496, 0x000080CA }, /* GL_BLEND_DST_ALPHA_OES */
+ { 1519, 0x000080C8 }, /* GL_BLEND_DST_RGB */
+ { 1536, 0x000080C8 }, /* GL_BLEND_DST_RGB_OES */
+ { 1557, 0x00008009 }, /* GL_BLEND_EQUATION */
+ { 1575, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA */
+ { 1599, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_EXT */
+ { 1627, 0x0000883D }, /* GL_BLEND_EQUATION_ALPHA_OES */
+ { 1655, 0x00008009 }, /* GL_BLEND_EQUATION_EXT */
+ { 1677, 0x00008009 }, /* GL_BLEND_EQUATION_OES */
+ { 1699, 0x00008009 }, /* GL_BLEND_EQUATION_RGB */
+ { 1721, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_EXT */
+ { 1747, 0x00008009 }, /* GL_BLEND_EQUATION_RGB_OES */
+ { 1773, 0x00000BE1 }, /* GL_BLEND_SRC */
+ { 1786, 0x000080CB }, /* GL_BLEND_SRC_ALPHA */
+ { 1805, 0x000080CB }, /* GL_BLEND_SRC_ALPHA_OES */
+ { 1828, 0x000080C9 }, /* GL_BLEND_SRC_RGB */
+ { 1845, 0x000080C9 }, /* GL_BLEND_SRC_RGB_OES */
+ { 1866, 0x00001905 }, /* GL_BLUE */
+ { 1874, 0x00000D1B }, /* GL_BLUE_BIAS */
+ { 1887, 0x00000D54 }, /* GL_BLUE_BITS */
+ { 1900, 0x00008D96 }, /* GL_BLUE_INTEGER_EXT */
+ { 1920, 0x00000D1A }, /* GL_BLUE_SCALE */
+ { 1934, 0x00008B56 }, /* GL_BOOL */
+ { 1942, 0x00008B56 }, /* GL_BOOL_ARB */
+ { 1954, 0x00008B57 }, /* GL_BOOL_VEC2 */
+ { 1967, 0x00008B57 }, /* GL_BOOL_VEC2_ARB */
+ { 1984, 0x00008B58 }, /* GL_BOOL_VEC3 */
+ { 1997, 0x00008B58 }, /* GL_BOOL_VEC3_ARB */
+ { 2014, 0x00008B59 }, /* GL_BOOL_VEC4 */
+ { 2027, 0x00008B59 }, /* GL_BOOL_VEC4_ARB */
+ { 2044, 0x000088BB }, /* GL_BUFFER_ACCESS */
+ { 2061, 0x000088BB }, /* GL_BUFFER_ACCESS_ARB */
+ { 2082, 0x000088BB }, /* GL_BUFFER_ACCESS_OES */
+ { 2103, 0x00008A13 }, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */
+ { 2134, 0x000088BC }, /* GL_BUFFER_MAPPED */
+ { 2151, 0x000088BC }, /* GL_BUFFER_MAPPED_ARB */
+ { 2172, 0x000088BC }, /* GL_BUFFER_MAPPED_OES */
+ { 2193, 0x000088BD }, /* GL_BUFFER_MAP_POINTER */
+ { 2215, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_ARB */
+ { 2241, 0x000088BD }, /* GL_BUFFER_MAP_POINTER_OES */
+ { 2267, 0x000085B3 }, /* GL_BUFFER_OBJECT_APPLE */
+ { 2290, 0x00008A12 }, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */
+ { 2324, 0x00008764 }, /* GL_BUFFER_SIZE */
+ { 2339, 0x00008764 }, /* GL_BUFFER_SIZE_ARB */
+ { 2358, 0x00008765 }, /* GL_BUFFER_USAGE */
+ { 2374, 0x00008765 }, /* GL_BUFFER_USAGE_ARB */
+ { 2394, 0x0000877B }, /* GL_BUMP_ENVMAP_ATI */
+ { 2413, 0x00008777 }, /* GL_BUMP_NUM_TEX_UNITS_ATI */
+ { 2439, 0x00008775 }, /* GL_BUMP_ROT_MATRIX_ATI */
+ { 2462, 0x00008776 }, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
+ { 2490, 0x0000877C }, /* GL_BUMP_TARGET_ATI */
+ { 2509, 0x00008778 }, /* GL_BUMP_TEX_UNITS_ATI */
+ { 2531, 0x00001400 }, /* GL_BYTE */
+ { 2539, 0x00002A24 }, /* GL_C3F_V3F */
+ { 2550, 0x00002A26 }, /* GL_C4F_N3F_V3F */
+ { 2565, 0x00002A22 }, /* GL_C4UB_V2F */
+ { 2577, 0x00002A23 }, /* GL_C4UB_V3F */
+ { 2589, 0x00000901 }, /* GL_CCW */
+ { 2596, 0x00002900 }, /* GL_CLAMP */
+ { 2605, 0x0000812D }, /* GL_CLAMP_TO_BORDER */
+ { 2624, 0x0000812D }, /* GL_CLAMP_TO_BORDER_ARB */
+ { 2647, 0x0000812D }, /* GL_CLAMP_TO_BORDER_SGIS */
+ { 2671, 0x0000812F }, /* GL_CLAMP_TO_EDGE */
+ { 2688, 0x0000812F }, /* GL_CLAMP_TO_EDGE_SGIS */
+ { 2710, 0x00001500 }, /* GL_CLEAR */
+ { 2719, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE */
+ { 2744, 0x000084E1 }, /* GL_CLIENT_ACTIVE_TEXTURE_ARB */
+ { 2773, 0xFFFFFFFF }, /* GL_CLIENT_ALL_ATTRIB_BITS */
+ { 2799, 0x00000BB1 }, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
+ { 2828, 0x00000001 }, /* GL_CLIENT_PIXEL_STORE_BIT */
+ { 2854, 0x00000002 }, /* GL_CLIENT_VERTEX_ARRAY_BIT */
+ { 2881, 0x00003000 }, /* GL_CLIP_PLANE0 */
+ { 2896, 0x00003001 }, /* GL_CLIP_PLANE1 */
+ { 2911, 0x00003002 }, /* GL_CLIP_PLANE2 */
+ { 2926, 0x00003003 }, /* GL_CLIP_PLANE3 */
+ { 2941, 0x00003004 }, /* GL_CLIP_PLANE4 */
+ { 2956, 0x00003005 }, /* GL_CLIP_PLANE5 */
+ { 2971, 0x000080F0 }, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
+ { 3004, 0x00000A00 }, /* GL_COEFF */
+ { 3013, 0x00001800 }, /* GL_COLOR */
+ { 3022, 0x00008076 }, /* GL_COLOR_ARRAY */
+ { 3037, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING */
+ { 3067, 0x00008898 }, /* GL_COLOR_ARRAY_BUFFER_BINDING_ARB */
+ { 3101, 0x00008090 }, /* GL_COLOR_ARRAY_POINTER */
+ { 3124, 0x00008081 }, /* GL_COLOR_ARRAY_SIZE */
+ { 3144, 0x00008083 }, /* GL_COLOR_ARRAY_STRIDE */
+ { 3166, 0x00008082 }, /* GL_COLOR_ARRAY_TYPE */
+ { 3186, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0 */
+ { 3207, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_EXT */
+ { 3232, 0x00008CE0 }, /* GL_COLOR_ATTACHMENT0_OES */
+ { 3257, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1 */
+ { 3278, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10 */
+ { 3300, 0x00008CEA }, /* GL_COLOR_ATTACHMENT10_EXT */
+ { 3326, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11 */
+ { 3348, 0x00008CEB }, /* GL_COLOR_ATTACHMENT11_EXT */
+ { 3374, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12 */
+ { 3396, 0x00008CEC }, /* GL_COLOR_ATTACHMENT12_EXT */
+ { 3422, 0x00008CED }, /* GL_COLOR_ATTACHMENT13 */
+ { 3444, 0x00008CED }, /* GL_COLOR_ATTACHMENT13_EXT */
+ { 3470, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14 */
+ { 3492, 0x00008CEE }, /* GL_COLOR_ATTACHMENT14_EXT */
+ { 3518, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15 */
+ { 3540, 0x00008CEF }, /* GL_COLOR_ATTACHMENT15_EXT */
+ { 3566, 0x00008CE1 }, /* GL_COLOR_ATTACHMENT1_EXT */
+ { 3591, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2 */
+ { 3612, 0x00008CE2 }, /* GL_COLOR_ATTACHMENT2_EXT */
+ { 3637, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3 */
+ { 3658, 0x00008CE3 }, /* GL_COLOR_ATTACHMENT3_EXT */
+ { 3683, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4 */
+ { 3704, 0x00008CE4 }, /* GL_COLOR_ATTACHMENT4_EXT */
+ { 3729, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5 */
+ { 3750, 0x00008CE5 }, /* GL_COLOR_ATTACHMENT5_EXT */
+ { 3775, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6 */
+ { 3796, 0x00008CE6 }, /* GL_COLOR_ATTACHMENT6_EXT */
+ { 3821, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7 */
+ { 3842, 0x00008CE7 }, /* GL_COLOR_ATTACHMENT7_EXT */
+ { 3867, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8 */
+ { 3888, 0x00008CE8 }, /* GL_COLOR_ATTACHMENT8_EXT */
+ { 3913, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9 */
+ { 3934, 0x00008CE9 }, /* GL_COLOR_ATTACHMENT9_EXT */
+ { 3959, 0x00004000 }, /* GL_COLOR_BUFFER_BIT */
+ { 3979, 0x00000C22 }, /* GL_COLOR_CLEAR_VALUE */
+ { 4000, 0x00001900 }, /* GL_COLOR_INDEX */
+ { 4015, 0x00001603 }, /* GL_COLOR_INDEXES */
+ { 4032, 0x00000BF2 }, /* GL_COLOR_LOGIC_OP */
+ { 4050, 0x00000B57 }, /* GL_COLOR_MATERIAL */
+ { 4068, 0x00000B55 }, /* GL_COLOR_MATERIAL_FACE */
+ { 4091, 0x00000B56 }, /* GL_COLOR_MATERIAL_PARAMETER */
+ { 4119, 0x000080B1 }, /* GL_COLOR_MATRIX */
+ { 4135, 0x000080B1 }, /* GL_COLOR_MATRIX_SGI */
+ { 4155, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH */
+ { 4183, 0x000080B2 }, /* GL_COLOR_MATRIX_STACK_DEPTH_SGI */
+ { 4215, 0x00008458 }, /* GL_COLOR_SUM */
+ { 4228, 0x00008458 }, /* GL_COLOR_SUM_ARB */
+ { 4245, 0x000080D0 }, /* GL_COLOR_TABLE */
+ { 4260, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE */
+ { 4286, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_EXT */
+ { 4316, 0x000080DD }, /* GL_COLOR_TABLE_ALPHA_SIZE_SGI */
+ { 4346, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS */
+ { 4366, 0x000080D7 }, /* GL_COLOR_TABLE_BIAS_SGI */
+ { 4390, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE */
+ { 4415, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_EXT */
+ { 4444, 0x000080DC }, /* GL_COLOR_TABLE_BLUE_SIZE_SGI */
+ { 4473, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT */
+ { 4495, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_EXT */
+ { 4521, 0x000080D8 }, /* GL_COLOR_TABLE_FORMAT_SGI */
+ { 4547, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE */
+ { 4573, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_EXT */
+ { 4603, 0x000080DB }, /* GL_COLOR_TABLE_GREEN_SIZE_SGI */
+ { 4633, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE */
+ { 4663, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_EXT */
+ { 4697, 0x000080DF }, /* GL_COLOR_TABLE_INTENSITY_SIZE_SGI */
+ { 4731, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
+ { 4761, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_EXT */
+ { 4795, 0x000080DE }, /* GL_COLOR_TABLE_LUMINANCE_SIZE_SGI */
+ { 4829, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE */
+ { 4853, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_EXT */
+ { 4881, 0x000080DA }, /* GL_COLOR_TABLE_RED_SIZE_SGI */
+ { 4909, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE */
+ { 4930, 0x000080D6 }, /* GL_COLOR_TABLE_SCALE_SGI */
+ { 4955, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH */
+ { 4976, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_EXT */
+ { 5001, 0x000080D9 }, /* GL_COLOR_TABLE_WIDTH_SGI */
+ { 5026, 0x00000C23 }, /* GL_COLOR_WRITEMASK */
+ { 5045, 0x00008570 }, /* GL_COMBINE */
+ { 5056, 0x00008503 }, /* GL_COMBINE4 */
+ { 5068, 0x00008572 }, /* GL_COMBINE_ALPHA */
+ { 5085, 0x00008572 }, /* GL_COMBINE_ALPHA_ARB */
+ { 5106, 0x00008572 }, /* GL_COMBINE_ALPHA_EXT */
+ { 5127, 0x00008570 }, /* GL_COMBINE_ARB */
+ { 5142, 0x00008570 }, /* GL_COMBINE_EXT */
+ { 5157, 0x00008571 }, /* GL_COMBINE_RGB */
+ { 5172, 0x00008571 }, /* GL_COMBINE_RGB_ARB */
+ { 5191, 0x00008571 }, /* GL_COMBINE_RGB_EXT */
+ { 5210, 0x0000884E }, /* GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT */
+ { 5246, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE */
+ { 5270, 0x0000884E }, /* GL_COMPARE_R_TO_TEXTURE_ARB */
+ { 5298, 0x00001300 }, /* GL_COMPILE */
+ { 5309, 0x00001301 }, /* GL_COMPILE_AND_EXECUTE */
+ { 5332, 0x00008B81 }, /* GL_COMPILE_STATUS */
+ { 5350, 0x000084E9 }, /* GL_COMPRESSED_ALPHA */
+ { 5370, 0x000084E9 }, /* GL_COMPRESSED_ALPHA_ARB */
+ { 5394, 0x000084EC }, /* GL_COMPRESSED_INTENSITY */
+ { 5418, 0x000084EC }, /* GL_COMPRESSED_INTENSITY_ARB */
+ { 5446, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE */
+ { 5470, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA */
+ { 5500, 0x000084EB }, /* GL_COMPRESSED_LUMINANCE_ALPHA_ARB */
+ { 5534, 0x000084EA }, /* GL_COMPRESSED_LUMINANCE_ARB */
+ { 5562, 0x000084ED }, /* GL_COMPRESSED_RGB */
+ { 5580, 0x000084EE }, /* GL_COMPRESSED_RGBA */
+ { 5599, 0x000084EE }, /* GL_COMPRESSED_RGBA_ARB */
+ { 5622, 0x000086B1 }, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
+ { 5651, 0x000083F1 }, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
+ { 5684, 0x000083F2 }, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
+ { 5717, 0x000083F3 }, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
+ { 5750, 0x000084ED }, /* GL_COMPRESSED_RGB_ARB */
+ { 5772, 0x000086B0 }, /* GL_COMPRESSED_RGB_FXT1_3DFX */
+ { 5800, 0x000083F0 }, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
+ { 5832, 0x00008C4A }, /* GL_COMPRESSED_SLUMINANCE */
+ { 5857, 0x00008C4B }, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
+ { 5888, 0x00008C48 }, /* GL_COMPRESSED_SRGB */
+ { 5907, 0x00008C49 }, /* GL_COMPRESSED_SRGB_ALPHA */
+ { 5932, 0x000086A3 }, /* GL_COMPRESSED_TEXTURE_FORMATS */
+ { 5962, 0x0000911C }, /* GL_CONDITION_SATISFIED */
+ { 5985, 0x00008576 }, /* GL_CONSTANT */
+ { 5997, 0x00008003 }, /* GL_CONSTANT_ALPHA */
+ { 6015, 0x00008003 }, /* GL_CONSTANT_ALPHA_EXT */
+ { 6037, 0x00008576 }, /* GL_CONSTANT_ARB */
+ { 6053, 0x00001207 }, /* GL_CONSTANT_ATTENUATION */
+ { 6077, 0x00008151 }, /* GL_CONSTANT_BORDER_HP */
+ { 6099, 0x00008001 }, /* GL_CONSTANT_COLOR */
+ { 6117, 0x00008001 }, /* GL_CONSTANT_COLOR_EXT */
+ { 6139, 0x00008576 }, /* GL_CONSTANT_EXT */
+ { 6155, 0x00008010 }, /* GL_CONVOLUTION_1D */
+ { 6173, 0x00008011 }, /* GL_CONVOLUTION_2D */
+ { 6191, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR */
+ { 6219, 0x00008154 }, /* GL_CONVOLUTION_BORDER_COLOR_HP */
+ { 6250, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE */
+ { 6277, 0x00008013 }, /* GL_CONVOLUTION_BORDER_MODE_EXT */
+ { 6308, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS */
+ { 6335, 0x00008015 }, /* GL_CONVOLUTION_FILTER_BIAS_EXT */
+ { 6366, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE */
+ { 6394, 0x00008014 }, /* GL_CONVOLUTION_FILTER_SCALE_EXT */
+ { 6426, 0x00008017 }, /* GL_CONVOLUTION_FORMAT */
+ { 6448, 0x00008017 }, /* GL_CONVOLUTION_FORMAT_EXT */
+ { 6474, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT */
+ { 6496, 0x00008019 }, /* GL_CONVOLUTION_HEIGHT_EXT */
+ { 6522, 0x00008018 }, /* GL_CONVOLUTION_WIDTH */
+ { 6543, 0x00008018 }, /* GL_CONVOLUTION_WIDTH_EXT */
+ { 6568, 0x00008862 }, /* GL_COORD_REPLACE */
+ { 6585, 0x00008862 }, /* GL_COORD_REPLACE_ARB */
+ { 6606, 0x00008862 }, /* GL_COORD_REPLACE_NV */
+ { 6626, 0x00008862 }, /* GL_COORD_REPLACE_OES */
+ { 6647, 0x00001503 }, /* GL_COPY */
+ { 6655, 0x0000150C }, /* GL_COPY_INVERTED */
+ { 6672, 0x00000706 }, /* GL_COPY_PIXEL_TOKEN */
+ { 6692, 0x00008F36 }, /* GL_COPY_READ_BUFFER */
+ { 6712, 0x00008F37 }, /* GL_COPY_WRITE_BUFFER */
+ { 6733, 0x00000B44 }, /* GL_CULL_FACE */
+ { 6746, 0x00000B45 }, /* GL_CULL_FACE_MODE */
+ { 6764, 0x000081AA }, /* GL_CULL_VERTEX_EXT */
+ { 6783, 0x000081AC }, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+ { 6815, 0x000081AB }, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+ { 6850, 0x00008626 }, /* GL_CURRENT_ATTRIB_NV */
+ { 6871, 0x00000001 }, /* GL_CURRENT_BIT */
+ { 6886, 0x00000B00 }, /* GL_CURRENT_COLOR */
+ { 6903, 0x00008453 }, /* GL_CURRENT_FOG_COORD */
+ { 6924, 0x00008453 }, /* GL_CURRENT_FOG_COORDINATE */
+ { 6950, 0x00000B01 }, /* GL_CURRENT_INDEX */
+ { 6967, 0x00008641 }, /* GL_CURRENT_MATRIX_ARB */
+ { 6989, 0x00008845 }, /* GL_CURRENT_MATRIX_INDEX_ARB */
+ { 7017, 0x00008641 }, /* GL_CURRENT_MATRIX_NV */
+ { 7038, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+ { 7072, 0x00008640 }, /* GL_CURRENT_MATRIX_STACK_DEPTH_NV */
+ { 7105, 0x00000B02 }, /* GL_CURRENT_NORMAL */
+ { 7123, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+ { 7153, 0x00008843 }, /* GL_CURRENT_PALETTE_MATRIX_OES */
+ { 7183, 0x00008B8D }, /* GL_CURRENT_PROGRAM */
+ { 7202, 0x00008865 }, /* GL_CURRENT_QUERY */
+ { 7219, 0x00008865 }, /* GL_CURRENT_QUERY_ARB */
+ { 7240, 0x00000B04 }, /* GL_CURRENT_RASTER_COLOR */
+ { 7264, 0x00000B09 }, /* GL_CURRENT_RASTER_DISTANCE */
+ { 7291, 0x00000B05 }, /* GL_CURRENT_RASTER_INDEX */
+ { 7315, 0x00000B07 }, /* GL_CURRENT_RASTER_POSITION */
+ { 7342, 0x00000B08 }, /* GL_CURRENT_RASTER_POSITION_VALID */
+ { 7375, 0x0000845F }, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
+ { 7409, 0x00000B06 }, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+ { 7442, 0x00008459 }, /* GL_CURRENT_SECONDARY_COLOR */
+ { 7469, 0x00000B03 }, /* GL_CURRENT_TEXTURE_COORDS */
+ { 7495, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB */
+ { 7520, 0x00008626 }, /* GL_CURRENT_VERTEX_ATTRIB_ARB */
+ { 7549, 0x000086A8 }, /* GL_CURRENT_WEIGHT_ARB */
+ { 7571, 0x00000900 }, /* GL_CW */
+ { 7577, 0x0000875B }, /* GL_DEBUG_ASSERT_MESA */
+ { 7598, 0x00008759 }, /* GL_DEBUG_OBJECT_MESA */
+ { 7619, 0x0000875A }, /* GL_DEBUG_PRINT_MESA */
+ { 7639, 0x00002101 }, /* GL_DECAL */
+ { 7648, 0x00001E03 }, /* GL_DECR */
+ { 7656, 0x00008508 }, /* GL_DECR_WRAP */
+ { 7669, 0x00008508 }, /* GL_DECR_WRAP_EXT */
+ { 7686, 0x00008B80 }, /* GL_DELETE_STATUS */
+ { 7703, 0x00001801 }, /* GL_DEPTH */
+ { 7712, 0x000088F0 }, /* GL_DEPTH24_STENCIL8 */
+ { 7732, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_EXT */
+ { 7756, 0x000088F0 }, /* GL_DEPTH24_STENCIL8_OES */
+ { 7780, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT */
+ { 7800, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_EXT */
+ { 7824, 0x00008D00 }, /* GL_DEPTH_ATTACHMENT_OES */
+ { 7848, 0x00000D1F }, /* GL_DEPTH_BIAS */
+ { 7862, 0x00000D56 }, /* GL_DEPTH_BITS */
+ { 7876, 0x00008891 }, /* GL_DEPTH_BOUNDS_EXT */
+ { 7896, 0x00008890 }, /* GL_DEPTH_BOUNDS_TEST_EXT */
+ { 7921, 0x00000100 }, /* GL_DEPTH_BUFFER_BIT */
+ { 7941, 0x0000864F }, /* GL_DEPTH_CLAMP */
+ { 7956, 0x0000864F }, /* GL_DEPTH_CLAMP_NV */
+ { 7974, 0x00000B73 }, /* GL_DEPTH_CLEAR_VALUE */
+ { 7995, 0x00001902 }, /* GL_DEPTH_COMPONENT */
+ { 8014, 0x000081A5 }, /* GL_DEPTH_COMPONENT16 */
+ { 8035, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_ARB */
+ { 8060, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_OES */
+ { 8085, 0x000081A5 }, /* GL_DEPTH_COMPONENT16_SGIX */
+ { 8111, 0x000081A6 }, /* GL_DEPTH_COMPONENT24 */
+ { 8132, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_ARB */
+ { 8157, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_OES */
+ { 8182, 0x000081A6 }, /* GL_DEPTH_COMPONENT24_SGIX */
+ { 8208, 0x000081A7 }, /* GL_DEPTH_COMPONENT32 */
+ { 8229, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_ARB */
+ { 8254, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_OES */
+ { 8279, 0x000081A7 }, /* GL_DEPTH_COMPONENT32_SGIX */
+ { 8305, 0x00000B74 }, /* GL_DEPTH_FUNC */
+ { 8319, 0x00000B70 }, /* GL_DEPTH_RANGE */
+ { 8334, 0x00000D1E }, /* GL_DEPTH_SCALE */
+ { 8349, 0x000084F9 }, /* GL_DEPTH_STENCIL */
+ { 8366, 0x0000821A }, /* GL_DEPTH_STENCIL_ATTACHMENT */
+ { 8394, 0x000084F9 }, /* GL_DEPTH_STENCIL_EXT */
+ { 8415, 0x000084F9 }, /* GL_DEPTH_STENCIL_NV */
+ { 8435, 0x000084F9 }, /* GL_DEPTH_STENCIL_OES */
+ { 8456, 0x0000886F }, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+ { 8484, 0x0000886E }, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+ { 8512, 0x00000B71 }, /* GL_DEPTH_TEST */
+ { 8526, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE */
+ { 8548, 0x0000884B }, /* GL_DEPTH_TEXTURE_MODE_ARB */
+ { 8574, 0x00000B72 }, /* GL_DEPTH_WRITEMASK */
+ { 8593, 0x00001201 }, /* GL_DIFFUSE */
+ { 8604, 0x00000BD0 }, /* GL_DITHER */
+ { 8614, 0x00000A02 }, /* GL_DOMAIN */
+ { 8624, 0x00001100 }, /* GL_DONT_CARE */
+ { 8637, 0x000086AE }, /* GL_DOT3_RGB */
+ { 8649, 0x000086AF }, /* GL_DOT3_RGBA */
+ { 8662, 0x000086AF }, /* GL_DOT3_RGBA_ARB */
+ { 8679, 0x00008741 }, /* GL_DOT3_RGBA_EXT */
+ { 8696, 0x000086AE }, /* GL_DOT3_RGB_ARB */
+ { 8712, 0x00008740 }, /* GL_DOT3_RGB_EXT */
+ { 8728, 0x0000140A }, /* GL_DOUBLE */
+ { 8738, 0x00000C32 }, /* GL_DOUBLEBUFFER */
+ { 8754, 0x00000C01 }, /* GL_DRAW_BUFFER */
+ { 8769, 0x00008825 }, /* GL_DRAW_BUFFER0 */
+ { 8785, 0x00008825 }, /* GL_DRAW_BUFFER0_ARB */
+ { 8805, 0x00008825 }, /* GL_DRAW_BUFFER0_ATI */
+ { 8825, 0x00008826 }, /* GL_DRAW_BUFFER1 */
+ { 8841, 0x0000882F }, /* GL_DRAW_BUFFER10 */
+ { 8858, 0x0000882F }, /* GL_DRAW_BUFFER10_ARB */
+ { 8879, 0x0000882F }, /* GL_DRAW_BUFFER10_ATI */
+ { 8900, 0x00008830 }, /* GL_DRAW_BUFFER11 */
+ { 8917, 0x00008830 }, /* GL_DRAW_BUFFER11_ARB */
+ { 8938, 0x00008830 }, /* GL_DRAW_BUFFER11_ATI */
+ { 8959, 0x00008831 }, /* GL_DRAW_BUFFER12 */
+ { 8976, 0x00008831 }, /* GL_DRAW_BUFFER12_ARB */
+ { 8997, 0x00008831 }, /* GL_DRAW_BUFFER12_ATI */
+ { 9018, 0x00008832 }, /* GL_DRAW_BUFFER13 */
+ { 9035, 0x00008832 }, /* GL_DRAW_BUFFER13_ARB */
+ { 9056, 0x00008832 }, /* GL_DRAW_BUFFER13_ATI */
+ { 9077, 0x00008833 }, /* GL_DRAW_BUFFER14 */
+ { 9094, 0x00008833 }, /* GL_DRAW_BUFFER14_ARB */
+ { 9115, 0x00008833 }, /* GL_DRAW_BUFFER14_ATI */
+ { 9136, 0x00008834 }, /* GL_DRAW_BUFFER15 */
+ { 9153, 0x00008834 }, /* GL_DRAW_BUFFER15_ARB */
+ { 9174, 0x00008834 }, /* GL_DRAW_BUFFER15_ATI */
+ { 9195, 0x00008826 }, /* GL_DRAW_BUFFER1_ARB */
+ { 9215, 0x00008826 }, /* GL_DRAW_BUFFER1_ATI */
+ { 9235, 0x00008827 }, /* GL_DRAW_BUFFER2 */
+ { 9251, 0x00008827 }, /* GL_DRAW_BUFFER2_ARB */
+ { 9271, 0x00008827 }, /* GL_DRAW_BUFFER2_ATI */
+ { 9291, 0x00008828 }, /* GL_DRAW_BUFFER3 */
+ { 9307, 0x00008828 }, /* GL_DRAW_BUFFER3_ARB */
+ { 9327, 0x00008828 }, /* GL_DRAW_BUFFER3_ATI */
+ { 9347, 0x00008829 }, /* GL_DRAW_BUFFER4 */
+ { 9363, 0x00008829 }, /* GL_DRAW_BUFFER4_ARB */
+ { 9383, 0x00008829 }, /* GL_DRAW_BUFFER4_ATI */
+ { 9403, 0x0000882A }, /* GL_DRAW_BUFFER5 */
+ { 9419, 0x0000882A }, /* GL_DRAW_BUFFER5_ARB */
+ { 9439, 0x0000882A }, /* GL_DRAW_BUFFER5_ATI */
+ { 9459, 0x0000882B }, /* GL_DRAW_BUFFER6 */
+ { 9475, 0x0000882B }, /* GL_DRAW_BUFFER6_ARB */
+ { 9495, 0x0000882B }, /* GL_DRAW_BUFFER6_ATI */
+ { 9515, 0x0000882C }, /* GL_DRAW_BUFFER7 */
+ { 9531, 0x0000882C }, /* GL_DRAW_BUFFER7_ARB */
+ { 9551, 0x0000882C }, /* GL_DRAW_BUFFER7_ATI */
+ { 9571, 0x0000882D }, /* GL_DRAW_BUFFER8 */
+ { 9587, 0x0000882D }, /* GL_DRAW_BUFFER8_ARB */
+ { 9607, 0x0000882D }, /* GL_DRAW_BUFFER8_ATI */
+ { 9627, 0x0000882E }, /* GL_DRAW_BUFFER9 */
+ { 9643, 0x0000882E }, /* GL_DRAW_BUFFER9_ARB */
+ { 9663, 0x0000882E }, /* GL_DRAW_BUFFER9_ATI */
+ { 9683, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER */
+ { 9703, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING */
+ { 9731, 0x00008CA6 }, /* GL_DRAW_FRAMEBUFFER_BINDING_EXT */
+ { 9763, 0x00008CA9 }, /* GL_DRAW_FRAMEBUFFER_EXT */
+ { 9787, 0x00000705 }, /* GL_DRAW_PIXEL_TOKEN */
+ { 9807, 0x00000304 }, /* GL_DST_ALPHA */
+ { 9820, 0x00000306 }, /* GL_DST_COLOR */
+ { 9833, 0x0000877A }, /* GL_DU8DV8_ATI */
+ { 9847, 0x00008779 }, /* GL_DUDV_ATI */
+ { 9859, 0x000088EA }, /* GL_DYNAMIC_COPY */
+ { 9875, 0x000088EA }, /* GL_DYNAMIC_COPY_ARB */
+ { 9895, 0x000088E8 }, /* GL_DYNAMIC_DRAW */
+ { 9911, 0x000088E8 }, /* GL_DYNAMIC_DRAW_ARB */
+ { 9931, 0x000088E9 }, /* GL_DYNAMIC_READ */
+ { 9947, 0x000088E9 }, /* GL_DYNAMIC_READ_ARB */
+ { 9967, 0x00000B43 }, /* GL_EDGE_FLAG */
+ { 9980, 0x00008079 }, /* GL_EDGE_FLAG_ARRAY */
+ { 9999, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+ { 10033, 0x0000889B }, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING_ARB */
+ { 10071, 0x00008093 }, /* GL_EDGE_FLAG_ARRAY_POINTER */
+ { 10098, 0x0000808C }, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+ { 10124, 0x00008893 }, /* GL_ELEMENT_ARRAY_BUFFER */
+ { 10148, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+ { 10180, 0x00008895 }, /* GL_ELEMENT_ARRAY_BUFFER_BINDING_ARB */
+ { 10216, 0x00001600 }, /* GL_EMISSION */
+ { 10228, 0x00002000 }, /* GL_ENABLE_BIT */
+ { 10242, 0x00000202 }, /* GL_EQUAL */
+ { 10251, 0x00001509 }, /* GL_EQUIV */
+ { 10260, 0x00010000 }, /* GL_EVAL_BIT */
+ { 10272, 0x00000800 }, /* GL_EXP */
+ { 10279, 0x00000801 }, /* GL_EXP2 */
+ { 10287, 0x00001F03 }, /* GL_EXTENSIONS */
+ { 10301, 0x00002400 }, /* GL_EYE_LINEAR */
+ { 10315, 0x00002502 }, /* GL_EYE_PLANE */
+ { 10328, 0x0000855C }, /* GL_EYE_PLANE_ABSOLUTE_NV */
+ { 10353, 0x0000855B }, /* GL_EYE_RADIAL_NV */
+ { 10370, 0x00000000 }, /* GL_FALSE */
+ { 10379, 0x00001101 }, /* GL_FASTEST */
+ { 10390, 0x00001C01 }, /* GL_FEEDBACK */
+ { 10402, 0x00000DF0 }, /* GL_FEEDBACK_BUFFER_POINTER */
+ { 10429, 0x00000DF1 }, /* GL_FEEDBACK_BUFFER_SIZE */
+ { 10453, 0x00000DF2 }, /* GL_FEEDBACK_BUFFER_TYPE */
+ { 10477, 0x00001B02 }, /* GL_FILL */
+ { 10485, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION */
+ { 10512, 0x00008E4D }, /* GL_FIRST_VERTEX_CONVENTION_EXT */
+ { 10543, 0x0000140C }, /* GL_FIXED */
+ { 10552, 0x0000140C }, /* GL_FIXED_OES */
+ { 10565, 0x00001D00 }, /* GL_FLAT */
+ { 10573, 0x00001406 }, /* GL_FLOAT */
+ { 10582, 0x00008B5A }, /* GL_FLOAT_MAT2 */
+ { 10596, 0x00008B5A }, /* GL_FLOAT_MAT2_ARB */
+ { 10614, 0x00008B65 }, /* GL_FLOAT_MAT2x3 */
+ { 10630, 0x00008B66 }, /* GL_FLOAT_MAT2x4 */
+ { 10646, 0x00008B5B }, /* GL_FLOAT_MAT3 */
+ { 10660, 0x00008B5B }, /* GL_FLOAT_MAT3_ARB */
+ { 10678, 0x00008B67 }, /* GL_FLOAT_MAT3x2 */
+ { 10694, 0x00008B68 }, /* GL_FLOAT_MAT3x4 */
+ { 10710, 0x00008B5C }, /* GL_FLOAT_MAT4 */
+ { 10724, 0x00008B5C }, /* GL_FLOAT_MAT4_ARB */
+ { 10742, 0x00008B69 }, /* GL_FLOAT_MAT4x2 */
+ { 10758, 0x00008B6A }, /* GL_FLOAT_MAT4x3 */
+ { 10774, 0x00008B50 }, /* GL_FLOAT_VEC2 */
+ { 10788, 0x00008B50 }, /* GL_FLOAT_VEC2_ARB */
+ { 10806, 0x00008B51 }, /* GL_FLOAT_VEC3 */
+ { 10820, 0x00008B51 }, /* GL_FLOAT_VEC3_ARB */
+ { 10838, 0x00008B52 }, /* GL_FLOAT_VEC4 */
+ { 10852, 0x00008B52 }, /* GL_FLOAT_VEC4_ARB */
+ { 10870, 0x00000B60 }, /* GL_FOG */
+ { 10877, 0x00000080 }, /* GL_FOG_BIT */
+ { 10888, 0x00000B66 }, /* GL_FOG_COLOR */
+ { 10901, 0x00008451 }, /* GL_FOG_COORD */
+ { 10914, 0x00008451 }, /* GL_FOG_COORDINATE */
+ { 10932, 0x00008457 }, /* GL_FOG_COORDINATE_ARRAY */
+ { 10956, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+ { 10995, 0x0000889D }, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING_ARB */
+ { 11038, 0x00008456 }, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+ { 11070, 0x00008455 }, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+ { 11101, 0x00008454 }, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+ { 11130, 0x00008450 }, /* GL_FOG_COORDINATE_SOURCE */
+ { 11155, 0x00008457 }, /* GL_FOG_COORD_ARRAY */
+ { 11174, 0x0000889D }, /* GL_FOG_COORD_ARRAY_BUFFER_BINDING */
+ { 11208, 0x00008456 }, /* GL_FOG_COORD_ARRAY_POINTER */
+ { 11235, 0x00008455 }, /* GL_FOG_COORD_ARRAY_STRIDE */
+ { 11261, 0x00008454 }, /* GL_FOG_COORD_ARRAY_TYPE */
+ { 11285, 0x00008450 }, /* GL_FOG_COORD_SRC */
+ { 11302, 0x00000B62 }, /* GL_FOG_DENSITY */
+ { 11317, 0x0000855A }, /* GL_FOG_DISTANCE_MODE_NV */
+ { 11341, 0x00000B64 }, /* GL_FOG_END */
+ { 11352, 0x00000C54 }, /* GL_FOG_HINT */
+ { 11364, 0x00000B61 }, /* GL_FOG_INDEX */
+ { 11377, 0x00000B65 }, /* GL_FOG_MODE */
+ { 11389, 0x00008198 }, /* GL_FOG_OFFSET_SGIX */
+ { 11408, 0x00008199 }, /* GL_FOG_OFFSET_VALUE_SGIX */
+ { 11433, 0x00000B63 }, /* GL_FOG_START */
+ { 11446, 0x00008452 }, /* GL_FRAGMENT_DEPTH */
+ { 11464, 0x00008804 }, /* GL_FRAGMENT_PROGRAM_ARB */
+ { 11488, 0x00008B30 }, /* GL_FRAGMENT_SHADER */
+ { 11507, 0x00008B30 }, /* GL_FRAGMENT_SHADER_ARB */
+ { 11530, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+ { 11565, 0x00008B8B }, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES */
+ { 11604, 0x00008D40 }, /* GL_FRAMEBUFFER */
+ { 11619, 0x00008215 }, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
+ { 11656, 0x00008214 }, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
+ { 11692, 0x00008210 }, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
+ { 11733, 0x00008211 }, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
+ { 11774, 0x00008216 }, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
+ { 11811, 0x00008213 }, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
+ { 11848, 0x00008DA7 }, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB */
+ { 11886, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
+ { 11924, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_EXT */
+ { 11966, 0x00008CD1 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME_OES */
+ { 12008, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
+ { 12046, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_EXT */
+ { 12088, 0x00008CD0 }, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE_OES */
+ { 12130, 0x00008212 }, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
+ { 12165, 0x00008217 }, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
+ { 12204, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_EXT */
+ { 12253, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES */
+ { 12302, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
+ { 12350, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_EXT */
+ { 12402, 0x00008CD3 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE_OES */
+ { 12454, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+ { 12494, 0x00008CD4 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER_EXT */
+ { 12538, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
+ { 12578, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_EXT */
+ { 12622, 0x00008CD2 }, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL_OES */
+ { 12666, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING */
+ { 12689, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_EXT */
+ { 12716, 0x00008CA6 }, /* GL_FRAMEBUFFER_BINDING_OES */
+ { 12743, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE */
+ { 12767, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_EXT */
+ { 12795, 0x00008CD5 }, /* GL_FRAMEBUFFER_COMPLETE_OES */
+ { 12823, 0x00008218 }, /* GL_FRAMEBUFFER_DEFAULT */
+ { 12846, 0x00008D40 }, /* GL_FRAMEBUFFER_EXT */
+ { 12865, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
+ { 12902, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_EXT */
+ { 12943, 0x00008CD6 }, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT_OES */
+ { 12984, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS */
+ { 13021, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+ { 13062, 0x00008CD9 }, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_OES */
+ { 13103, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
+ { 13141, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT */
+ { 13183, 0x00008CDB }, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_OES */
+ { 13225, 0x00008CD8 }, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+ { 13276, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+ { 13314, 0x00008CDA }, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_OES */
+ { 13352, 0x00008DA9 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */
+ { 13394, 0x00008DA8 }, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB */
+ { 13438, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
+ { 13483, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_EXT */
+ { 13532, 0x00008CD7 }, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT_OES */
+ { 13581, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
+ { 13619, 0x00008D56 }, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT */
+ { 13661, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
+ { 13699, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT */
+ { 13741, 0x00008CDC }, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER_OES */
+ { 13783, 0x00008D40 }, /* GL_FRAMEBUFFER_OES */
+ { 13802, 0x00008CDE }, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+ { 13834, 0x00008219 }, /* GL_FRAMEBUFFER_UNDEFINED */
+ { 13859, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED */
+ { 13886, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_EXT */
+ { 13917, 0x00008CDD }, /* GL_FRAMEBUFFER_UNSUPPORTED_OES */
+ { 13948, 0x00000404 }, /* GL_FRONT */
+ { 13957, 0x00000408 }, /* GL_FRONT_AND_BACK */
+ { 13975, 0x00000B46 }, /* GL_FRONT_FACE */
+ { 13989, 0x00000400 }, /* GL_FRONT_LEFT */
+ { 14003, 0x00000401 }, /* GL_FRONT_RIGHT */
+ { 14018, 0x00008006 }, /* GL_FUNC_ADD */
+ { 14030, 0x00008006 }, /* GL_FUNC_ADD_EXT */
+ { 14046, 0x00008006 }, /* GL_FUNC_ADD_OES */
+ { 14062, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT */
+ { 14087, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_EXT */
+ { 14116, 0x0000800B }, /* GL_FUNC_REVERSE_SUBTRACT_OES */
+ { 14145, 0x0000800A }, /* GL_FUNC_SUBTRACT */
+ { 14162, 0x0000800A }, /* GL_FUNC_SUBTRACT_EXT */
+ { 14183, 0x0000800A }, /* GL_FUNC_SUBTRACT_OES */
+ { 14204, 0x00008191 }, /* GL_GENERATE_MIPMAP */
+ { 14223, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT */
+ { 14247, 0x00008192 }, /* GL_GENERATE_MIPMAP_HINT_SGIS */
+ { 14276, 0x00008191 }, /* GL_GENERATE_MIPMAP_SGIS */
+ { 14300, 0x00008DDB }, /* GL_GEOMETRY_INPUT_TYPE_ARB */
+ { 14327, 0x00008DDC }, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */
+ { 14355, 0x00008DD9 }, /* GL_GEOMETRY_SHADER_ARB */
+ { 14378, 0x00008DDA }, /* GL_GEOMETRY_VERTICES_OUT_ARB */
+ { 14407, 0x00000206 }, /* GL_GEQUAL */
+ { 14417, 0x00000204 }, /* GL_GREATER */
+ { 14428, 0x00001904 }, /* GL_GREEN */
+ { 14437, 0x00000D19 }, /* GL_GREEN_BIAS */
+ { 14451, 0x00000D53 }, /* GL_GREEN_BITS */
+ { 14465, 0x00008D95 }, /* GL_GREEN_INTEGER_EXT */
+ { 14486, 0x00000D18 }, /* GL_GREEN_SCALE */
+ { 14501, 0x0000140B }, /* GL_HALF_FLOAT */
+ { 14515, 0x00008D61 }, /* GL_HALF_FLOAT_OES */
+ { 14533, 0x00008DF2 }, /* GL_HIGH_FLOAT */
+ { 14547, 0x00008DF5 }, /* GL_HIGH_INT */
+ { 14559, 0x00008000 }, /* GL_HINT_BIT */
+ { 14571, 0x00008024 }, /* GL_HISTOGRAM */
+ { 14584, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */
+ { 14608, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */
+ { 14636, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */
+ { 14659, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */
+ { 14686, 0x00008024 }, /* GL_HISTOGRAM_EXT */
+ { 14703, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */
+ { 14723, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */
+ { 14747, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */
+ { 14771, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */
+ { 14799, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+ { 14827, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */
+ { 14859, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */
+ { 14881, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */
+ { 14907, 0x0000802D }, /* GL_HISTOGRAM_SINK */
+ { 14925, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */
+ { 14947, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */
+ { 14966, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */
+ { 14989, 0x0000862A }, /* GL_IDENTITY_NV */
+ { 15004, 0x00008150 }, /* GL_IGNORE_BORDER_HP */
+ { 15024, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */
+ { 15060, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+ { 15100, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */
+ { 15134, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+ { 15172, 0x00001E02 }, /* GL_INCR */
+ { 15180, 0x00008507 }, /* GL_INCR_WRAP */
+ { 15193, 0x00008507 }, /* GL_INCR_WRAP_EXT */
+ { 15210, 0x00008222 }, /* GL_INDEX */
+ { 15219, 0x00008077 }, /* GL_INDEX_ARRAY */
+ { 15234, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+ { 15264, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */
+ { 15298, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */
+ { 15321, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */
+ { 15343, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */
+ { 15363, 0x00000D51 }, /* GL_INDEX_BITS */
+ { 15377, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */
+ { 15398, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */
+ { 15416, 0x00000C30 }, /* GL_INDEX_MODE */
+ { 15430, 0x00000D13 }, /* GL_INDEX_OFFSET */
+ { 15446, 0x00000D12 }, /* GL_INDEX_SHIFT */
+ { 15461, 0x00000C21 }, /* GL_INDEX_WRITEMASK */
+ { 15480, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */
+ { 15499, 0x00001404 }, /* GL_INT */
+ { 15506, 0x00008049 }, /* GL_INTENSITY */
+ { 15519, 0x0000804C }, /* GL_INTENSITY12 */
+ { 15534, 0x0000804C }, /* GL_INTENSITY12_EXT */
+ { 15553, 0x0000804D }, /* GL_INTENSITY16 */
+ { 15568, 0x00008D8B }, /* GL_INTENSITY16I_EXT */
+ { 15588, 0x00008D79 }, /* GL_INTENSITY16UI_EXT */
+ { 15609, 0x0000804D }, /* GL_INTENSITY16_EXT */
+ { 15628, 0x00008D85 }, /* GL_INTENSITY32I_EXT */
+ { 15648, 0x00008D73 }, /* GL_INTENSITY32UI_EXT */
+ { 15669, 0x0000804A }, /* GL_INTENSITY4 */
+ { 15683, 0x0000804A }, /* GL_INTENSITY4_EXT */
+ { 15701, 0x0000804B }, /* GL_INTENSITY8 */
+ { 15715, 0x00008D91 }, /* GL_INTENSITY8I_EXT */
+ { 15734, 0x00008D7F }, /* GL_INTENSITY8UI_EXT */
+ { 15754, 0x0000804B }, /* GL_INTENSITY8_EXT */
+ { 15772, 0x00008049 }, /* GL_INTENSITY_EXT */
+ { 15789, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */
+ { 15816, 0x00008575 }, /* GL_INTERPOLATE */
+ { 15831, 0x00008575 }, /* GL_INTERPOLATE_ARB */
+ { 15850, 0x00008575 }, /* GL_INTERPOLATE_EXT */
+ { 15869, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */
+ { 15891, 0x00008B53 }, /* GL_INT_VEC2 */
+ { 15903, 0x00008B53 }, /* GL_INT_VEC2_ARB */
+ { 15919, 0x00008B54 }, /* GL_INT_VEC3 */
+ { 15931, 0x00008B54 }, /* GL_INT_VEC3_ARB */
+ { 15947, 0x00008B55 }, /* GL_INT_VEC4 */
+ { 15959, 0x00008B55 }, /* GL_INT_VEC4_ARB */
+ { 15975, 0x00000500 }, /* GL_INVALID_ENUM */
+ { 15991, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */
+ { 16024, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */
+ { 16061, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */
+ { 16098, 0x00000502 }, /* GL_INVALID_OPERATION */
+ { 16119, 0x00000501 }, /* GL_INVALID_VALUE */
+ { 16136, 0x0000862B }, /* GL_INVERSE_NV */
+ { 16150, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */
+ { 16174, 0x0000150A }, /* GL_INVERT */
+ { 16184, 0x00001E00 }, /* GL_KEEP */
+ { 16192, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */
+ { 16218, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */
+ { 16248, 0x00000406 }, /* GL_LEFT */
+ { 16256, 0x00000203 }, /* GL_LEQUAL */
+ { 16266, 0x00000201 }, /* GL_LESS */
+ { 16274, 0x00004000 }, /* GL_LIGHT0 */
+ { 16284, 0x00004001 }, /* GL_LIGHT1 */
+ { 16294, 0x00004002 }, /* GL_LIGHT2 */
+ { 16304, 0x00004003 }, /* GL_LIGHT3 */
+ { 16314, 0x00004004 }, /* GL_LIGHT4 */
+ { 16324, 0x00004005 }, /* GL_LIGHT5 */
+ { 16334, 0x00004006 }, /* GL_LIGHT6 */
+ { 16344, 0x00004007 }, /* GL_LIGHT7 */
+ { 16354, 0x00000B50 }, /* GL_LIGHTING */
+ { 16366, 0x00000040 }, /* GL_LIGHTING_BIT */
+ { 16382, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */
+ { 16405, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+ { 16434, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */
+ { 16467, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+ { 16495, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */
+ { 16519, 0x00001B01 }, /* GL_LINE */
+ { 16527, 0x00002601 }, /* GL_LINEAR */
+ { 16537, 0x00001208 }, /* GL_LINEAR_ATTENUATION */
+ { 16559, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+ { 16589, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+ { 16620, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */
+ { 16644, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */
+ { 16669, 0x00000001 }, /* GL_LINES */
+ { 16678, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */
+ { 16701, 0x00000004 }, /* GL_LINE_BIT */
+ { 16713, 0x00000002 }, /* GL_LINE_LOOP */
+ { 16726, 0x00000707 }, /* GL_LINE_RESET_TOKEN */
+ { 16746, 0x00000B20 }, /* GL_LINE_SMOOTH */
+ { 16761, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */
+ { 16781, 0x00000B24 }, /* GL_LINE_STIPPLE */
+ { 16797, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */
+ { 16821, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */
+ { 16844, 0x00000003 }, /* GL_LINE_STRIP */
+ { 16858, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */
+ { 16886, 0x00000702 }, /* GL_LINE_TOKEN */
+ { 16900, 0x00000B21 }, /* GL_LINE_WIDTH */
+ { 16914, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */
+ { 16940, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */
+ { 16960, 0x00008B82 }, /* GL_LINK_STATUS */
+ { 16975, 0x00000B32 }, /* GL_LIST_BASE */
+ { 16988, 0x00020000 }, /* GL_LIST_BIT */
+ { 17000, 0x00000B33 }, /* GL_LIST_INDEX */
+ { 17014, 0x00000B30 }, /* GL_LIST_MODE */
+ { 17027, 0x00000101 }, /* GL_LOAD */
+ { 17035, 0x00000BF1 }, /* GL_LOGIC_OP */
+ { 17047, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */
+ { 17064, 0x00008CA1 }, /* GL_LOWER_LEFT */
+ { 17078, 0x00008DF0 }, /* GL_LOW_FLOAT */
+ { 17091, 0x00008DF3 }, /* GL_LOW_INT */
+ { 17102, 0x00001909 }, /* GL_LUMINANCE */
+ { 17115, 0x00008041 }, /* GL_LUMINANCE12 */
+ { 17130, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */
+ { 17153, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */
+ { 17180, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */
+ { 17202, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */
+ { 17228, 0x00008041 }, /* GL_LUMINANCE12_EXT */
+ { 17247, 0x00008042 }, /* GL_LUMINANCE16 */
+ { 17262, 0x00008D8C }, /* GL_LUMINANCE16I_EXT */
+ { 17282, 0x00008D7A }, /* GL_LUMINANCE16UI_EXT */
+ { 17303, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */
+ { 17326, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */
+ { 17353, 0x00008042 }, /* GL_LUMINANCE16_EXT */
+ { 17372, 0x00008D86 }, /* GL_LUMINANCE32I_EXT */
+ { 17392, 0x00008D74 }, /* GL_LUMINANCE32UI_EXT */
+ { 17413, 0x0000803F }, /* GL_LUMINANCE4 */
+ { 17427, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */
+ { 17448, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */
+ { 17473, 0x0000803F }, /* GL_LUMINANCE4_EXT */
+ { 17491, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */
+ { 17512, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */
+ { 17537, 0x00008040 }, /* GL_LUMINANCE8 */
+ { 17551, 0x00008D92 }, /* GL_LUMINANCE8I_EXT */
+ { 17570, 0x00008D80 }, /* GL_LUMINANCE8UI_EXT */
+ { 17590, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */
+ { 17611, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */
+ { 17636, 0x00008040 }, /* GL_LUMINANCE8_EXT */
+ { 17654, 0x0000190A }, /* GL_LUMINANCE_ALPHA */
+ { 17673, 0x00008D8D }, /* GL_LUMINANCE_ALPHA16I_EXT */
+ { 17699, 0x00008D7B }, /* GL_LUMINANCE_ALPHA16UI_EXT */
+ { 17726, 0x00008D87 }, /* GL_LUMINANCE_ALPHA32I_EXT */
+ { 17752, 0x00008D75 }, /* GL_LUMINANCE_ALPHA32UI_EXT */
+ { 17779, 0x00008D93 }, /* GL_LUMINANCE_ALPHA8I_EXT */
+ { 17804, 0x00008D81 }, /* GL_LUMINANCE_ALPHA8UI_EXT */
+ { 17830, 0x00008D9D }, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */
+ { 17861, 0x00008D9C }, /* GL_LUMINANCE_INTEGER_EXT */
+ { 17886, 0x00000D90 }, /* GL_MAP1_COLOR_4 */
+ { 17902, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */
+ { 17922, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */
+ { 17944, 0x00000D91 }, /* GL_MAP1_INDEX */
+ { 17958, 0x00000D92 }, /* GL_MAP1_NORMAL */
+ { 17973, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */
+ { 17997, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */
+ { 18021, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */
+ { 18045, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */
+ { 18069, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */
+ { 18086, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */
+ { 18103, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+ { 18131, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+ { 18160, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+ { 18189, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+ { 18218, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+ { 18247, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+ { 18276, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+ { 18305, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+ { 18333, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+ { 18361, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+ { 18389, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+ { 18417, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+ { 18445, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+ { 18473, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+ { 18501, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+ { 18529, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+ { 18557, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */
+ { 18573, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */
+ { 18593, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */
+ { 18615, 0x00000DB1 }, /* GL_MAP2_INDEX */
+ { 18629, 0x00000DB2 }, /* GL_MAP2_NORMAL */
+ { 18644, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */
+ { 18668, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */
+ { 18692, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */
+ { 18716, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */
+ { 18740, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */
+ { 18757, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */
+ { 18774, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+ { 18802, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+ { 18831, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+ { 18860, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+ { 18889, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+ { 18918, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+ { 18947, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+ { 18976, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+ { 19004, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+ { 19032, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+ { 19060, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+ { 19088, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+ { 19116, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+ { 19144, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */
+ { 19172, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+ { 19200, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+ { 19228, 0x00000D10 }, /* GL_MAP_COLOR */
+ { 19241, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */
+ { 19267, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */
+ { 19296, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */
+ { 19324, 0x00000001 }, /* GL_MAP_READ_BIT */
+ { 19340, 0x00000D11 }, /* GL_MAP_STENCIL */
+ { 19355, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */
+ { 19381, 0x00000002 }, /* GL_MAP_WRITE_BIT */
+ { 19398, 0x000088C0 }, /* GL_MATRIX0_ARB */
+ { 19413, 0x00008630 }, /* GL_MATRIX0_NV */
+ { 19427, 0x000088CA }, /* GL_MATRIX10_ARB */
+ { 19443, 0x000088CB }, /* GL_MATRIX11_ARB */
+ { 19459, 0x000088CC }, /* GL_MATRIX12_ARB */
+ { 19475, 0x000088CD }, /* GL_MATRIX13_ARB */
+ { 19491, 0x000088CE }, /* GL_MATRIX14_ARB */
+ { 19507, 0x000088CF }, /* GL_MATRIX15_ARB */
+ { 19523, 0x000088D0 }, /* GL_MATRIX16_ARB */
+ { 19539, 0x000088D1 }, /* GL_MATRIX17_ARB */
+ { 19555, 0x000088D2 }, /* GL_MATRIX18_ARB */
+ { 19571, 0x000088D3 }, /* GL_MATRIX19_ARB */
+ { 19587, 0x000088C1 }, /* GL_MATRIX1_ARB */
+ { 19602, 0x00008631 }, /* GL_MATRIX1_NV */
+ { 19616, 0x000088D4 }, /* GL_MATRIX20_ARB */
+ { 19632, 0x000088D5 }, /* GL_MATRIX21_ARB */
+ { 19648, 0x000088D6 }, /* GL_MATRIX22_ARB */
+ { 19664, 0x000088D7 }, /* GL_MATRIX23_ARB */
+ { 19680, 0x000088D8 }, /* GL_MATRIX24_ARB */
+ { 19696, 0x000088D9 }, /* GL_MATRIX25_ARB */
+ { 19712, 0x000088DA }, /* GL_MATRIX26_ARB */
+ { 19728, 0x000088DB }, /* GL_MATRIX27_ARB */
+ { 19744, 0x000088DC }, /* GL_MATRIX28_ARB */
+ { 19760, 0x000088DD }, /* GL_MATRIX29_ARB */
+ { 19776, 0x000088C2 }, /* GL_MATRIX2_ARB */
+ { 19791, 0x00008632 }, /* GL_MATRIX2_NV */
+ { 19805, 0x000088DE }, /* GL_MATRIX30_ARB */
+ { 19821, 0x000088DF }, /* GL_MATRIX31_ARB */
+ { 19837, 0x000088C3 }, /* GL_MATRIX3_ARB */
+ { 19852, 0x00008633 }, /* GL_MATRIX3_NV */
+ { 19866, 0x000088C4 }, /* GL_MATRIX4_ARB */
+ { 19881, 0x00008634 }, /* GL_MATRIX4_NV */
+ { 19895, 0x000088C5 }, /* GL_MATRIX5_ARB */
+ { 19910, 0x00008635 }, /* GL_MATRIX5_NV */
+ { 19924, 0x000088C6 }, /* GL_MATRIX6_ARB */
+ { 19939, 0x00008636 }, /* GL_MATRIX6_NV */
+ { 19953, 0x000088C7 }, /* GL_MATRIX7_ARB */
+ { 19968, 0x00008637 }, /* GL_MATRIX7_NV */
+ { 19982, 0x000088C8 }, /* GL_MATRIX8_ARB */
+ { 19997, 0x000088C9 }, /* GL_MATRIX9_ARB */
+ { 20012, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */
+ { 20038, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */
+ { 20079, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */
+ { 20105, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+ { 20139, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */
+ { 20173, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+ { 20204, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */
+ { 20235, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+ { 20268, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */
+ { 20301, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+ { 20332, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */
+ { 20363, 0x00000BA0 }, /* GL_MATRIX_MODE */
+ { 20378, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */
+ { 20400, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */
+ { 20422, 0x00008008 }, /* GL_MAX */
+ { 20429, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */
+ { 20452, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */
+ { 20479, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+ { 20511, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */
+ { 20537, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+ { 20570, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+ { 20596, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ { 20630, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */
+ { 20649, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */
+ { 20674, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */
+ { 20703, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+ { 20735, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */
+ { 20771, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+ { 20807, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */
+ { 20847, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */
+ { 20873, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */
+ { 20903, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */
+ { 20928, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */
+ { 20957, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+ { 20986, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */
+ { 21019, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */
+ { 21052, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */
+ { 21072, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */
+ { 21096, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */
+ { 21120, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */
+ { 21144, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */
+ { 21169, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */
+ { 21187, 0x00008008 }, /* GL_MAX_EXT */
+ { 21198, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+ { 21233, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */
+ { 21272, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */
+ { 21304, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */
+ { 21340, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */
+ { 21380, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */
+ { 21424, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */
+ { 21463, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */
+ { 21502, 0x00000D31 }, /* GL_MAX_LIGHTS */
+ { 21516, 0x00000B31 }, /* GL_MAX_LIST_NESTING */
+ { 21536, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+ { 21574, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+ { 21603, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */
+ { 21627, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */
+ { 21655, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */
+ { 21683, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */
+ { 21706, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+ { 21743, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ { 21779, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+ { 21806, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+ { 21835, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+ { 21869, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */
+ { 21905, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+ { 21932, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+ { 21964, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+ { 22000, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+ { 22029, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+ { 22058, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */
+ { 22086, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+ { 22124, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ { 22168, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ { 22211, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+ { 22245, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ { 22284, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+ { 22321, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ { 22359, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ { 22402, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ { 22445, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+ { 22475, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+ { 22506, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+ { 22542, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ { 22578, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */
+ { 22608, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+ { 22642, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */
+ { 22675, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */
+ { 22700, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */
+ { 22729, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */
+ { 22758, 0x00008D57 }, /* GL_MAX_SAMPLES */
+ { 22773, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */
+ { 22792, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */
+ { 22819, 0x00008504 }, /* GL_MAX_SHININESS_NV */
+ { 22839, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */
+ { 22863, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */
+ { 22885, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */
+ { 22911, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+ { 22938, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */
+ { 22969, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */
+ { 22993, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */
+ { 23021, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+ { 23055, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */
+ { 23075, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */
+ { 23102, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */
+ { 23123, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */
+ { 23148, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */
+ { 23173, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */
+ { 23208, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */
+ { 23261, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */
+ { 23308, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */
+ { 23358, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */
+ { 23384, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */
+ { 23406, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */
+ { 23432, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */
+ { 23455, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */
+ { 23477, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */
+ { 23503, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+ { 23537, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */
+ { 23575, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+ { 23608, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */
+ { 23645, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */
+ { 23675, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */
+ { 23699, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */
+ { 23723, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */
+ { 23760, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */
+ { 23781, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */
+ { 23797, 0x00008DF4 }, /* GL_MEDIUM_INT */
+ { 23811, 0x00008007 }, /* GL_MIN */
+ { 23818, 0x0000802E }, /* GL_MINMAX */
+ { 23828, 0x0000802E }, /* GL_MINMAX_EXT */
+ { 23842, 0x0000802F }, /* GL_MINMAX_FORMAT */
+ { 23859, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */
+ { 23880, 0x00008030 }, /* GL_MINMAX_SINK */
+ { 23895, 0x00008030 }, /* GL_MINMAX_SINK_EXT */
+ { 23914, 0x00008007 }, /* GL_MIN_EXT */
+ { 23925, 0x00008370 }, /* GL_MIRRORED_REPEAT */
+ { 23944, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */
+ { 23967, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */
+ { 23990, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */
+ { 24010, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */
+ { 24030, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+ { 24060, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */
+ { 24088, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+ { 24116, 0x00001700 }, /* GL_MODELVIEW */
+ { 24129, 0x00001700 }, /* GL_MODELVIEW0_ARB */
+ { 24147, 0x0000872A }, /* GL_MODELVIEW10_ARB */
+ { 24166, 0x0000872B }, /* GL_MODELVIEW11_ARB */
+ { 24185, 0x0000872C }, /* GL_MODELVIEW12_ARB */
+ { 24204, 0x0000872D }, /* GL_MODELVIEW13_ARB */
+ { 24223, 0x0000872E }, /* GL_MODELVIEW14_ARB */
+ { 24242, 0x0000872F }, /* GL_MODELVIEW15_ARB */
+ { 24261, 0x00008730 }, /* GL_MODELVIEW16_ARB */
+ { 24280, 0x00008731 }, /* GL_MODELVIEW17_ARB */
+ { 24299, 0x00008732 }, /* GL_MODELVIEW18_ARB */
+ { 24318, 0x00008733 }, /* GL_MODELVIEW19_ARB */
+ { 24337, 0x0000850A }, /* GL_MODELVIEW1_ARB */
+ { 24355, 0x00008734 }, /* GL_MODELVIEW20_ARB */
+ { 24374, 0x00008735 }, /* GL_MODELVIEW21_ARB */
+ { 24393, 0x00008736 }, /* GL_MODELVIEW22_ARB */
+ { 24412, 0x00008737 }, /* GL_MODELVIEW23_ARB */
+ { 24431, 0x00008738 }, /* GL_MODELVIEW24_ARB */
+ { 24450, 0x00008739 }, /* GL_MODELVIEW25_ARB */
+ { 24469, 0x0000873A }, /* GL_MODELVIEW26_ARB */
+ { 24488, 0x0000873B }, /* GL_MODELVIEW27_ARB */
+ { 24507, 0x0000873C }, /* GL_MODELVIEW28_ARB */
+ { 24526, 0x0000873D }, /* GL_MODELVIEW29_ARB */
+ { 24545, 0x00008722 }, /* GL_MODELVIEW2_ARB */
+ { 24563, 0x0000873E }, /* GL_MODELVIEW30_ARB */
+ { 24582, 0x0000873F }, /* GL_MODELVIEW31_ARB */
+ { 24601, 0x00008723 }, /* GL_MODELVIEW3_ARB */
+ { 24619, 0x00008724 }, /* GL_MODELVIEW4_ARB */
+ { 24637, 0x00008725 }, /* GL_MODELVIEW5_ARB */
+ { 24655, 0x00008726 }, /* GL_MODELVIEW6_ARB */
+ { 24673, 0x00008727 }, /* GL_MODELVIEW7_ARB */
+ { 24691, 0x00008728 }, /* GL_MODELVIEW8_ARB */
+ { 24709, 0x00008729 }, /* GL_MODELVIEW9_ARB */
+ { 24727, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */
+ { 24747, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */
+ { 24789, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */
+ { 24816, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */
+ { 24841, 0x00002100 }, /* GL_MODULATE */
+ { 24853, 0x00008744 }, /* GL_MODULATE_ADD_ATI */
+ { 24873, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */
+ { 24900, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */
+ { 24925, 0x00000103 }, /* GL_MULT */
+ { 24933, 0x0000809D }, /* GL_MULTISAMPLE */
+ { 24948, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */
+ { 24968, 0x0000809D }, /* GL_MULTISAMPLE_ARB */
+ { 24987, 0x20000000 }, /* GL_MULTISAMPLE_BIT */
+ { 25006, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */
+ { 25030, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */
+ { 25053, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+ { 25083, 0x00002A25 }, /* GL_N3F_V3F */
+ { 25094, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */
+ { 25114, 0x0000150E }, /* GL_NAND */
+ { 25122, 0x00002600 }, /* GL_NEAREST */
+ { 25133, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+ { 25164, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+ { 25196, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */
+ { 25221, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */
+ { 25247, 0x00000200 }, /* GL_NEVER */
+ { 25256, 0x00001102 }, /* GL_NICEST */
+ { 25266, 0x00000000 }, /* GL_NONE */
+ { 25274, 0x00000000 }, /* GL_NONE_OES */
+ { 25286, 0x00001505 }, /* GL_NOOP */
+ { 25294, 0x00001508 }, /* GL_NOR */
+ { 25301, 0x00000BA1 }, /* GL_NORMALIZE */
+ { 25314, 0x00008075 }, /* GL_NORMAL_ARRAY */
+ { 25330, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+ { 25361, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */
+ { 25396, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */
+ { 25420, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */
+ { 25443, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */
+ { 25464, 0x00008511 }, /* GL_NORMAL_MAP */
+ { 25478, 0x00008511 }, /* GL_NORMAL_MAP_ARB */
+ { 25496, 0x00008511 }, /* GL_NORMAL_MAP_NV */
+ { 25513, 0x00008511 }, /* GL_NORMAL_MAP_OES */
+ { 25531, 0x00000205 }, /* GL_NOTEQUAL */
+ { 25543, 0x00000000 }, /* GL_NO_ERROR */
+ { 25555, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+ { 25589, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */
+ { 25627, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */
+ { 25661, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */
+ { 25690, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */
+ { 25722, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */
+ { 25764, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */
+ { 25794, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */
+ { 25834, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */
+ { 25865, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */
+ { 25894, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */
+ { 25922, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */
+ { 25952, 0x00002401 }, /* GL_OBJECT_LINEAR */
+ { 25969, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */
+ { 25995, 0x00002501 }, /* GL_OBJECT_PLANE */
+ { 26011, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */
+ { 26046, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */
+ { 26068, 0x00009112 }, /* GL_OBJECT_TYPE */
+ { 26083, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */
+ { 26102, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */
+ { 26132, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */
+ { 26153, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */
+ { 26181, 0x00000001 }, /* GL_ONE */
+ { 26188, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+ { 26216, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */
+ { 26248, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */
+ { 26276, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */
+ { 26308, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */
+ { 26331, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */
+ { 26354, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */
+ { 26377, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */
+ { 26400, 0x00008598 }, /* GL_OPERAND0_ALPHA */
+ { 26418, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */
+ { 26440, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */
+ { 26462, 0x00008590 }, /* GL_OPERAND0_RGB */
+ { 26478, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */
+ { 26498, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */
+ { 26518, 0x00008599 }, /* GL_OPERAND1_ALPHA */
+ { 26536, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */
+ { 26558, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */
+ { 26580, 0x00008591 }, /* GL_OPERAND1_RGB */
+ { 26596, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */
+ { 26616, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */
+ { 26636, 0x0000859A }, /* GL_OPERAND2_ALPHA */
+ { 26654, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */
+ { 26676, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */
+ { 26698, 0x00008592 }, /* GL_OPERAND2_RGB */
+ { 26714, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */
+ { 26734, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */
+ { 26754, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */
+ { 26775, 0x00008593 }, /* GL_OPERAND3_RGB_NV */
+ { 26794, 0x00001507 }, /* GL_OR */
+ { 26800, 0x00000A01 }, /* GL_ORDER */
+ { 26809, 0x0000150D }, /* GL_OR_INVERTED */
+ { 26824, 0x0000150B }, /* GL_OR_REVERSE */
+ { 26838, 0x00000505 }, /* GL_OUT_OF_MEMORY */
+ { 26855, 0x00000D05 }, /* GL_PACK_ALIGNMENT */
+ { 26873, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */
+ { 26894, 0x00008758 }, /* GL_PACK_INVERT_MESA */
+ { 26914, 0x00000D01 }, /* GL_PACK_LSB_FIRST */
+ { 26932, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */
+ { 26951, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */
+ { 26971, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */
+ { 26991, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */
+ { 27009, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */
+ { 27028, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */
+ { 27053, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */
+ { 27077, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */
+ { 27098, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */
+ { 27120, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */
+ { 27142, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */
+ { 27167, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */
+ { 27191, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */
+ { 27212, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */
+ { 27234, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */
+ { 27256, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */
+ { 27278, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */
+ { 27309, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */
+ { 27329, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+ { 27354, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */
+ { 27374, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+ { 27399, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */
+ { 27419, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+ { 27444, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */
+ { 27464, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+ { 27489, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */
+ { 27509, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+ { 27534, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */
+ { 27554, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+ { 27579, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */
+ { 27599, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+ { 27624, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */
+ { 27644, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+ { 27669, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */
+ { 27689, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+ { 27714, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */
+ { 27734, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+ { 27759, 0x00000020 }, /* GL_PIXEL_MODE_BIT */
+ { 27777, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */
+ { 27798, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */
+ { 27827, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */
+ { 27860, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */
+ { 27885, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */
+ { 27908, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
+ { 27939, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */
+ { 27974, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */
+ { 28001, 0x00001B00 }, /* GL_POINT */
+ { 28010, 0x00000000 }, /* GL_POINTS */
+ { 28020, 0x00000002 }, /* GL_POINT_BIT */
+ { 28033, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */
+ { 28063, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */
+ { 28097, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */
+ { 28131, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */
+ { 28166, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */
+ { 28195, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */
+ { 28228, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */
+ { 28261, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */
+ { 28295, 0x00000B11 }, /* GL_POINT_SIZE */
+ { 28309, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */
+ { 28348, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */
+ { 28372, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */
+ { 28404, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */
+ { 28435, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */
+ { 28464, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */
+ { 28490, 0x00008127 }, /* GL_POINT_SIZE_MAX */
+ { 28508, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */
+ { 28530, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */
+ { 28552, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */
+ { 28575, 0x00008126 }, /* GL_POINT_SIZE_MIN */
+ { 28593, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */
+ { 28615, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */
+ { 28637, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */
+ { 28660, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */
+ { 28680, 0x00000B10 }, /* GL_POINT_SMOOTH */
+ { 28696, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */
+ { 28717, 0x00008861 }, /* GL_POINT_SPRITE */
+ { 28733, 0x00008861 }, /* GL_POINT_SPRITE_ARB */
+ { 28753, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */
+ { 28782, 0x00008861 }, /* GL_POINT_SPRITE_NV */
+ { 28801, 0x00008861 }, /* GL_POINT_SPRITE_OES */
+ { 28821, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */
+ { 28847, 0x00000701 }, /* GL_POINT_TOKEN */
+ { 28862, 0x00000009 }, /* GL_POLYGON */
+ { 28873, 0x00000008 }, /* GL_POLYGON_BIT */
+ { 28888, 0x00000B40 }, /* GL_POLYGON_MODE */
+ { 28904, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */
+ { 28927, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */
+ { 28952, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */
+ { 28975, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */
+ { 28998, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */
+ { 29022, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */
+ { 29046, 0x00000B41 }, /* GL_POLYGON_SMOOTH */
+ { 29064, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */
+ { 29087, 0x00000B42 }, /* GL_POLYGON_STIPPLE */
+ { 29106, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */
+ { 29129, 0x00000703 }, /* GL_POLYGON_TOKEN */
+ { 29146, 0x00001203 }, /* GL_POSITION */
+ { 29158, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+ { 29190, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */
+ { 29226, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+ { 29259, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */
+ { 29296, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+ { 29327, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */
+ { 29362, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+ { 29394, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */
+ { 29430, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+ { 29463, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+ { 29495, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */
+ { 29531, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+ { 29564, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */
+ { 29601, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+ { 29631, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */
+ { 29665, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+ { 29696, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */
+ { 29731, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+ { 29762, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */
+ { 29797, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+ { 29829, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */
+ { 29865, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+ { 29895, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */
+ { 29929, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+ { 29960, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */
+ { 29995, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+ { 30027, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+ { 30058, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */
+ { 30093, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+ { 30125, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */
+ { 30161, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */
+ { 30190, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */
+ { 30223, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */
+ { 30253, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */
+ { 30287, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+ { 30326, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+ { 30359, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+ { 30399, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+ { 30433, 0x00008578 }, /* GL_PREVIOUS */
+ { 30445, 0x00008578 }, /* GL_PREVIOUS_ARB */
+ { 30461, 0x00008578 }, /* GL_PREVIOUS_EXT */
+ { 30477, 0x00008577 }, /* GL_PRIMARY_COLOR */
+ { 30494, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */
+ { 30515, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */
+ { 30536, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */
+ { 30564, 0x00008559 }, /* GL_PRIMITIVE_RESTART_INDEX_NV */
+ { 30594, 0x00008558 }, /* GL_PRIMITIVE_RESTART_NV */
+ { 30618, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+ { 30651, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ { 30683, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */
+ { 30706, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */
+ { 30736, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */
+ { 30765, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */
+ { 30788, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */
+ { 30818, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */
+ { 30847, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */
+ { 30875, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */
+ { 30897, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+ { 30925, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+ { 30953, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */
+ { 30975, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */
+ { 30996, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ { 31036, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ { 31075, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+ { 31105, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ { 31140, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+ { 31173, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ { 31207, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ { 31246, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ { 31285, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */
+ { 31307, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */
+ { 31333, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */
+ { 31357, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */
+ { 31383, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */
+ { 31406, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */
+ { 31428, 0x00008628 }, /* GL_PROGRAM_STRING_NV */
+ { 31449, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */
+ { 31470, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */
+ { 31497, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+ { 31529, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ { 31561, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+ { 31596, 0x00001701 }, /* GL_PROJECTION */
+ { 31610, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */
+ { 31631, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */
+ { 31674, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */
+ { 31700, 0x00008E4F }, /* GL_PROVOKING_VERTEX */
+ { 31720, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */
+ { 31744, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */
+ { 31765, 0x00008025 }, /* GL_PROXY_HISTOGRAM */
+ { 31784, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */
+ { 31807, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+ { 31846, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+ { 31884, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */
+ { 31904, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+ { 31934, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */
+ { 31958, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */
+ { 31978, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+ { 32008, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */
+ { 32032, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */
+ { 32052, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+ { 32085, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */
+ { 32111, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */
+ { 32141, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+ { 32172, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */
+ { 32202, 0x00008A1D }, /* GL_PURGEABLE_APPLE */
+ { 32221, 0x00002003 }, /* GL_Q */
+ { 32226, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */
+ { 32251, 0x00000007 }, /* GL_QUADS */
+ { 32260, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
+ { 32304, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */
+ { 32352, 0x00008614 }, /* GL_QUAD_MESH_SUN */
+ { 32369, 0x00000008 }, /* GL_QUAD_STRIP */
+ { 32383, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */
+ { 32413, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */
+ { 32440, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */
+ { 32462, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */
+ { 32488, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */
+ { 32508, 0x00008866 }, /* GL_QUERY_RESULT */
+ { 32524, 0x00008866 }, /* GL_QUERY_RESULT_ARB */
+ { 32544, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */
+ { 32570, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */
+ { 32600, 0x00008E13 }, /* GL_QUERY_WAIT_NV */
+ { 32617, 0x00002002 }, /* GL_R */
+ { 32622, 0x00002A10 }, /* GL_R3_G3_B2 */
+ { 32634, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */
+ { 32660, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+ { 32693, 0x00000C02 }, /* GL_READ_BUFFER */
+ { 32708, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */
+ { 32728, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */
+ { 32756, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */
+ { 32788, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */
+ { 32812, 0x000088B8 }, /* GL_READ_ONLY */
+ { 32825, 0x000088B8 }, /* GL_READ_ONLY_ARB */
+ { 32842, 0x000088BA }, /* GL_READ_WRITE */
+ { 32856, 0x000088BA }, /* GL_READ_WRITE_ARB */
+ { 32874, 0x00001903 }, /* GL_RED */
+ { 32881, 0x00008016 }, /* GL_REDUCE */
+ { 32891, 0x00008016 }, /* GL_REDUCE_EXT */
+ { 32905, 0x00000D15 }, /* GL_RED_BIAS */
+ { 32917, 0x00000D52 }, /* GL_RED_BITS */
+ { 32929, 0x00008D94 }, /* GL_RED_INTEGER_EXT */
+ { 32948, 0x00000D14 }, /* GL_RED_SCALE */
+ { 32961, 0x00008512 }, /* GL_REFLECTION_MAP */
+ { 32979, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */
+ { 33001, 0x00008512 }, /* GL_REFLECTION_MAP_NV */
+ { 33022, 0x00008512 }, /* GL_REFLECTION_MAP_OES */
+ { 33044, 0x00008A19 }, /* GL_RELEASED_APPLE */
+ { 33062, 0x00001C00 }, /* GL_RENDER */
+ { 33072, 0x00008D41 }, /* GL_RENDERBUFFER */
+ { 33088, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */
+ { 33115, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */
+ { 33146, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */
+ { 33170, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */
+ { 33198, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */
+ { 33226, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */
+ { 33252, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */
+ { 33282, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */
+ { 33309, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */
+ { 33340, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */
+ { 33360, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */
+ { 33387, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */
+ { 33418, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */
+ { 33441, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */
+ { 33468, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */
+ { 33495, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
+ { 33527, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */
+ { 33563, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */
+ { 33599, 0x00008D41 }, /* GL_RENDERBUFFER_OES */
+ { 33619, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */
+ { 33644, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */
+ { 33673, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */
+ { 33697, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */
+ { 33725, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */
+ { 33754, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */
+ { 33787, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */
+ { 33809, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */
+ { 33835, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */
+ { 33861, 0x00001F01 }, /* GL_RENDERER */
+ { 33873, 0x00000C40 }, /* GL_RENDER_MODE */
+ { 33888, 0x00002901 }, /* GL_REPEAT */
+ { 33898, 0x00001E01 }, /* GL_REPLACE */
+ { 33909, 0x00008062 }, /* GL_REPLACE_EXT */
+ { 33924, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */
+ { 33947, 0x0000803A }, /* GL_RESCALE_NORMAL */
+ { 33965, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */
+ { 33987, 0x00008A1B }, /* GL_RETAINED_APPLE */
+ { 34005, 0x00000102 }, /* GL_RETURN */
+ { 34015, 0x00001907 }, /* GL_RGB */
+ { 34022, 0x00008052 }, /* GL_RGB10 */
+ { 34031, 0x00008059 }, /* GL_RGB10_A2 */
+ { 34043, 0x00008059 }, /* GL_RGB10_A2_EXT */
+ { 34059, 0x00008052 }, /* GL_RGB10_EXT */
+ { 34072, 0x00008053 }, /* GL_RGB12 */
+ { 34081, 0x00008053 }, /* GL_RGB12_EXT */
+ { 34094, 0x00008054 }, /* GL_RGB16 */
+ { 34103, 0x00008D89 }, /* GL_RGB16I_EXT */
+ { 34117, 0x00008D77 }, /* GL_RGB16UI_EXT */
+ { 34132, 0x00008054 }, /* GL_RGB16_EXT */
+ { 34145, 0x0000804E }, /* GL_RGB2_EXT */
+ { 34157, 0x00008D83 }, /* GL_RGB32I_EXT */
+ { 34171, 0x00008D71 }, /* GL_RGB32UI_EXT */
+ { 34186, 0x0000804F }, /* GL_RGB4 */
+ { 34194, 0x0000804F }, /* GL_RGB4_EXT */
+ { 34206, 0x000083A1 }, /* GL_RGB4_S3TC */
+ { 34219, 0x00008050 }, /* GL_RGB5 */
+ { 34227, 0x00008D62 }, /* GL_RGB565 */
+ { 34237, 0x00008D62 }, /* GL_RGB565_OES */
+ { 34251, 0x00008057 }, /* GL_RGB5_A1 */
+ { 34262, 0x00008057 }, /* GL_RGB5_A1_EXT */
+ { 34277, 0x00008057 }, /* GL_RGB5_A1_OES */
+ { 34292, 0x00008050 }, /* GL_RGB5_EXT */
+ { 34304, 0x00008051 }, /* GL_RGB8 */
+ { 34312, 0x00008D8F }, /* GL_RGB8I_EXT */
+ { 34325, 0x00008D7D }, /* GL_RGB8UI_EXT */
+ { 34339, 0x00008051 }, /* GL_RGB8_EXT */
+ { 34351, 0x00008051 }, /* GL_RGB8_OES */
+ { 34363, 0x00001908 }, /* GL_RGBA */
+ { 34371, 0x0000805A }, /* GL_RGBA12 */
+ { 34381, 0x0000805A }, /* GL_RGBA12_EXT */
+ { 34395, 0x0000805B }, /* GL_RGBA16 */
+ { 34405, 0x00008D88 }, /* GL_RGBA16I_EXT */
+ { 34420, 0x00008D76 }, /* GL_RGBA16UI_EXT */
+ { 34436, 0x0000805B }, /* GL_RGBA16_EXT */
+ { 34450, 0x00008055 }, /* GL_RGBA2 */
+ { 34459, 0x00008055 }, /* GL_RGBA2_EXT */
+ { 34472, 0x00008D82 }, /* GL_RGBA32I_EXT */
+ { 34487, 0x00008D70 }, /* GL_RGBA32UI_EXT */
+ { 34503, 0x00008056 }, /* GL_RGBA4 */
+ { 34512, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */
+ { 34531, 0x00008056 }, /* GL_RGBA4_EXT */
+ { 34544, 0x00008056 }, /* GL_RGBA4_OES */
+ { 34557, 0x000083A3 }, /* GL_RGBA4_S3TC */
+ { 34571, 0x00008058 }, /* GL_RGBA8 */
+ { 34580, 0x00008D8E }, /* GL_RGBA8I_EXT */
+ { 34594, 0x00008D7C }, /* GL_RGBA8UI_EXT */
+ { 34609, 0x00008058 }, /* GL_RGBA8_EXT */
+ { 34622, 0x00008058 }, /* GL_RGBA8_OES */
+ { 34635, 0x00008F97 }, /* GL_RGBA8_SNORM */
+ { 34650, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */
+ { 34668, 0x00008D99 }, /* GL_RGBA_INTEGER_EXT */
+ { 34688, 0x00008D9E }, /* GL_RGBA_INTEGER_MODE_EXT */
+ { 34713, 0x00000C31 }, /* GL_RGBA_MODE */
+ { 34726, 0x000083A2 }, /* GL_RGBA_S3TC */
+ { 34739, 0x00008F93 }, /* GL_RGBA_SNORM */
+ { 34753, 0x00008D98 }, /* GL_RGB_INTEGER_EXT */
+ { 34772, 0x000083A0 }, /* GL_RGB_S3TC */
+ { 34784, 0x00008573 }, /* GL_RGB_SCALE */
+ { 34797, 0x00008573 }, /* GL_RGB_SCALE_ARB */
+ { 34814, 0x00008573 }, /* GL_RGB_SCALE_EXT */
+ { 34831, 0x00000407 }, /* GL_RIGHT */
+ { 34840, 0x00002000 }, /* GL_S */
+ { 34845, 0x00008B5D }, /* GL_SAMPLER_1D */
+ { 34859, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */
+ { 34880, 0x00008B5E }, /* GL_SAMPLER_2D */
+ { 34894, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */
+ { 34915, 0x00008B5F }, /* GL_SAMPLER_3D */
+ { 34929, 0x00008B5F }, /* GL_SAMPLER_3D_OES */
+ { 34947, 0x00008B60 }, /* GL_SAMPLER_CUBE */
+ { 34963, 0x000080A9 }, /* GL_SAMPLES */
+ { 34974, 0x000086B4 }, /* GL_SAMPLES_3DFX */
+ { 34990, 0x000080A9 }, /* GL_SAMPLES_ARB */
+ { 35005, 0x00008914 }, /* GL_SAMPLES_PASSED */
+ { 35023, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */
+ { 35045, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+ { 35073, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */
+ { 35105, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */
+ { 35128, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */
+ { 35155, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */
+ { 35173, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */
+ { 35196, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */
+ { 35218, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */
+ { 35237, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */
+ { 35260, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */
+ { 35286, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */
+ { 35316, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */
+ { 35341, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */
+ { 35370, 0x00080000 }, /* GL_SCISSOR_BIT */
+ { 35385, 0x00000C10 }, /* GL_SCISSOR_BOX */
+ { 35400, 0x00000C11 }, /* GL_SCISSOR_TEST */
+ { 35416, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */
+ { 35441, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+ { 35481, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */
+ { 35525, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+ { 35558, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+ { 35588, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+ { 35620, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+ { 35650, 0x00001C02 }, /* GL_SELECT */
+ { 35660, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */
+ { 35688, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */
+ { 35713, 0x00008012 }, /* GL_SEPARABLE_2D */
+ { 35729, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */
+ { 35753, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */
+ { 35780, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */
+ { 35811, 0x0000150F }, /* GL_SET */
+ { 35818, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */
+ { 35843, 0x00008DFA }, /* GL_SHADER_COMPILER */
+ { 35862, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */
+ { 35883, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */
+ { 35907, 0x00008B4F }, /* GL_SHADER_TYPE */
+ { 35922, 0x00000B54 }, /* GL_SHADE_MODEL */
+ { 35937, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */
+ { 35965, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */
+ { 35988, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+ { 36018, 0x00001601 }, /* GL_SHININESS */
+ { 36031, 0x00001402 }, /* GL_SHORT */
+ { 36040, 0x00009119 }, /* GL_SIGNALED */
+ { 36052, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */
+ { 36073, 0x000081F9 }, /* GL_SINGLE_COLOR */
+ { 36089, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */
+ { 36109, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */
+ { 36128, 0x00008C46 }, /* GL_SLUMINANCE */
+ { 36142, 0x00008C47 }, /* GL_SLUMINANCE8 */
+ { 36157, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */
+ { 36179, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */
+ { 36199, 0x00001D01 }, /* GL_SMOOTH */
+ { 36209, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */
+ { 36242, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */
+ { 36269, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */
+ { 36302, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */
+ { 36329, 0x00008588 }, /* GL_SOURCE0_ALPHA */
+ { 36346, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */
+ { 36367, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */
+ { 36388, 0x00008580 }, /* GL_SOURCE0_RGB */
+ { 36403, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */
+ { 36422, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */
+ { 36441, 0x00008589 }, /* GL_SOURCE1_ALPHA */
+ { 36458, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */
+ { 36479, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */
+ { 36500, 0x00008581 }, /* GL_SOURCE1_RGB */
+ { 36515, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */
+ { 36534, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */
+ { 36553, 0x0000858A }, /* GL_SOURCE2_ALPHA */
+ { 36570, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */
+ { 36591, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */
+ { 36612, 0x00008582 }, /* GL_SOURCE2_RGB */
+ { 36627, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */
+ { 36646, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */
+ { 36665, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */
+ { 36685, 0x00008583 }, /* GL_SOURCE3_RGB_NV */
+ { 36703, 0x00001202 }, /* GL_SPECULAR */
+ { 36715, 0x00002402 }, /* GL_SPHERE_MAP */
+ { 36729, 0x00001206 }, /* GL_SPOT_CUTOFF */
+ { 36744, 0x00001204 }, /* GL_SPOT_DIRECTION */
+ { 36762, 0x00001205 }, /* GL_SPOT_EXPONENT */
+ { 36779, 0x00008588 }, /* GL_SRC0_ALPHA */
+ { 36793, 0x00008580 }, /* GL_SRC0_RGB */
+ { 36805, 0x00008589 }, /* GL_SRC1_ALPHA */
+ { 36819, 0x00008581 }, /* GL_SRC1_RGB */
+ { 36831, 0x0000858A }, /* GL_SRC2_ALPHA */
+ { 36845, 0x00008582 }, /* GL_SRC2_RGB */
+ { 36857, 0x00000302 }, /* GL_SRC_ALPHA */
+ { 36870, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */
+ { 36892, 0x00000300 }, /* GL_SRC_COLOR */
+ { 36905, 0x00008C40 }, /* GL_SRGB */
+ { 36913, 0x00008C41 }, /* GL_SRGB8 */
+ { 36922, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */
+ { 36938, 0x00008C42 }, /* GL_SRGB_ALPHA */
+ { 36952, 0x00000503 }, /* GL_STACK_OVERFLOW */
+ { 36970, 0x00000504 }, /* GL_STACK_UNDERFLOW */
+ { 36989, 0x000088E6 }, /* GL_STATIC_COPY */
+ { 37004, 0x000088E6 }, /* GL_STATIC_COPY_ARB */
+ { 37023, 0x000088E4 }, /* GL_STATIC_DRAW */
+ { 37038, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */
+ { 37057, 0x000088E5 }, /* GL_STATIC_READ */
+ { 37072, 0x000088E5 }, /* GL_STATIC_READ_ARB */
+ { 37091, 0x00001802 }, /* GL_STENCIL */
+ { 37102, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */
+ { 37124, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */
+ { 37150, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */
+ { 37176, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */
+ { 37197, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */
+ { 37222, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */
+ { 37243, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */
+ { 37268, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+ { 37300, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */
+ { 37336, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+ { 37368, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */
+ { 37404, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */
+ { 37424, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */
+ { 37451, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */
+ { 37477, 0x00000D57 }, /* GL_STENCIL_BITS */
+ { 37493, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */
+ { 37515, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */
+ { 37538, 0x00000B94 }, /* GL_STENCIL_FAIL */
+ { 37554, 0x00000B92 }, /* GL_STENCIL_FUNC */
+ { 37570, 0x00001901 }, /* GL_STENCIL_INDEX */
+ { 37587, 0x00008D46 }, /* GL_STENCIL_INDEX1 */
+ { 37605, 0x00008D49 }, /* GL_STENCIL_INDEX16 */
+ { 37624, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */
+ { 37647, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */
+ { 37669, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */
+ { 37691, 0x00008D47 }, /* GL_STENCIL_INDEX4 */
+ { 37709, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */
+ { 37731, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */
+ { 37753, 0x00008D48 }, /* GL_STENCIL_INDEX8 */
+ { 37771, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */
+ { 37793, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */
+ { 37815, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */
+ { 37836, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */
+ { 37863, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */
+ { 37890, 0x00000B97 }, /* GL_STENCIL_REF */
+ { 37905, 0x00000B90 }, /* GL_STENCIL_TEST */
+ { 37921, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+ { 37950, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */
+ { 37972, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */
+ { 37993, 0x00000C33 }, /* GL_STEREO */
+ { 38003, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */
+ { 38027, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */
+ { 38052, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */
+ { 38076, 0x000088E2 }, /* GL_STREAM_COPY */
+ { 38091, 0x000088E2 }, /* GL_STREAM_COPY_ARB */
+ { 38110, 0x000088E0 }, /* GL_STREAM_DRAW */
+ { 38125, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */
+ { 38144, 0x000088E1 }, /* GL_STREAM_READ */
+ { 38159, 0x000088E1 }, /* GL_STREAM_READ_ARB */
+ { 38178, 0x00000D50 }, /* GL_SUBPIXEL_BITS */
+ { 38195, 0x000084E7 }, /* GL_SUBTRACT */
+ { 38207, 0x000084E7 }, /* GL_SUBTRACT_ARB */
+ { 38223, 0x00009113 }, /* GL_SYNC_CONDITION */
+ { 38241, 0x00009116 }, /* GL_SYNC_FENCE */
+ { 38255, 0x00009115 }, /* GL_SYNC_FLAGS */
+ { 38269, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */
+ { 38296, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */
+ { 38326, 0x00009114 }, /* GL_SYNC_STATUS */
+ { 38341, 0x00002001 }, /* GL_T */
+ { 38346, 0x00002A2A }, /* GL_T2F_C3F_V3F */
+ { 38361, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */
+ { 38380, 0x00002A29 }, /* GL_T2F_C4UB_V3F */
+ { 38396, 0x00002A2B }, /* GL_T2F_N3F_V3F */
+ { 38411, 0x00002A27 }, /* GL_T2F_V3F */
+ { 38422, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */
+ { 38441, 0x00002A28 }, /* GL_T4F_V4F */
+ { 38452, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */
+ { 38475, 0x00001702 }, /* GL_TEXTURE */
+ { 38486, 0x000084C0 }, /* GL_TEXTURE0 */
+ { 38498, 0x000084C0 }, /* GL_TEXTURE0_ARB */
+ { 38514, 0x000084C1 }, /* GL_TEXTURE1 */
+ { 38526, 0x000084CA }, /* GL_TEXTURE10 */
+ { 38539, 0x000084CA }, /* GL_TEXTURE10_ARB */
+ { 38556, 0x000084CB }, /* GL_TEXTURE11 */
+ { 38569, 0x000084CB }, /* GL_TEXTURE11_ARB */
+ { 38586, 0x000084CC }, /* GL_TEXTURE12 */
+ { 38599, 0x000084CC }, /* GL_TEXTURE12_ARB */
+ { 38616, 0x000084CD }, /* GL_TEXTURE13 */
+ { 38629, 0x000084CD }, /* GL_TEXTURE13_ARB */
+ { 38646, 0x000084CE }, /* GL_TEXTURE14 */
+ { 38659, 0x000084CE }, /* GL_TEXTURE14_ARB */
+ { 38676, 0x000084CF }, /* GL_TEXTURE15 */
+ { 38689, 0x000084CF }, /* GL_TEXTURE15_ARB */
+ { 38706, 0x000084D0 }, /* GL_TEXTURE16 */
+ { 38719, 0x000084D0 }, /* GL_TEXTURE16_ARB */
+ { 38736, 0x000084D1 }, /* GL_TEXTURE17 */
+ { 38749, 0x000084D1 }, /* GL_TEXTURE17_ARB */
+ { 38766, 0x000084D2 }, /* GL_TEXTURE18 */
+ { 38779, 0x000084D2 }, /* GL_TEXTURE18_ARB */
+ { 38796, 0x000084D3 }, /* GL_TEXTURE19 */
+ { 38809, 0x000084D3 }, /* GL_TEXTURE19_ARB */
+ { 38826, 0x000084C1 }, /* GL_TEXTURE1_ARB */
+ { 38842, 0x000084C2 }, /* GL_TEXTURE2 */
+ { 38854, 0x000084D4 }, /* GL_TEXTURE20 */
+ { 38867, 0x000084D4 }, /* GL_TEXTURE20_ARB */
+ { 38884, 0x000084D5 }, /* GL_TEXTURE21 */
+ { 38897, 0x000084D5 }, /* GL_TEXTURE21_ARB */
+ { 38914, 0x000084D6 }, /* GL_TEXTURE22 */
+ { 38927, 0x000084D6 }, /* GL_TEXTURE22_ARB */
+ { 38944, 0x000084D7 }, /* GL_TEXTURE23 */
+ { 38957, 0x000084D7 }, /* GL_TEXTURE23_ARB */
+ { 38974, 0x000084D8 }, /* GL_TEXTURE24 */
+ { 38987, 0x000084D8 }, /* GL_TEXTURE24_ARB */
+ { 39004, 0x000084D9 }, /* GL_TEXTURE25 */
+ { 39017, 0x000084D9 }, /* GL_TEXTURE25_ARB */
+ { 39034, 0x000084DA }, /* GL_TEXTURE26 */
+ { 39047, 0x000084DA }, /* GL_TEXTURE26_ARB */
+ { 39064, 0x000084DB }, /* GL_TEXTURE27 */
+ { 39077, 0x000084DB }, /* GL_TEXTURE27_ARB */
+ { 39094, 0x000084DC }, /* GL_TEXTURE28 */
+ { 39107, 0x000084DC }, /* GL_TEXTURE28_ARB */
+ { 39124, 0x000084DD }, /* GL_TEXTURE29 */
+ { 39137, 0x000084DD }, /* GL_TEXTURE29_ARB */
+ { 39154, 0x000084C2 }, /* GL_TEXTURE2_ARB */
+ { 39170, 0x000084C3 }, /* GL_TEXTURE3 */
+ { 39182, 0x000084DE }, /* GL_TEXTURE30 */
+ { 39195, 0x000084DE }, /* GL_TEXTURE30_ARB */
+ { 39212, 0x000084DF }, /* GL_TEXTURE31 */
+ { 39225, 0x000084DF }, /* GL_TEXTURE31_ARB */
+ { 39242, 0x000084C3 }, /* GL_TEXTURE3_ARB */
+ { 39258, 0x000084C4 }, /* GL_TEXTURE4 */
+ { 39270, 0x000084C4 }, /* GL_TEXTURE4_ARB */
+ { 39286, 0x000084C5 }, /* GL_TEXTURE5 */
+ { 39298, 0x000084C5 }, /* GL_TEXTURE5_ARB */
+ { 39314, 0x000084C6 }, /* GL_TEXTURE6 */
+ { 39326, 0x000084C6 }, /* GL_TEXTURE6_ARB */
+ { 39342, 0x000084C7 }, /* GL_TEXTURE7 */
+ { 39354, 0x000084C7 }, /* GL_TEXTURE7_ARB */
+ { 39370, 0x000084C8 }, /* GL_TEXTURE8 */
+ { 39382, 0x000084C8 }, /* GL_TEXTURE8_ARB */
+ { 39398, 0x000084C9 }, /* GL_TEXTURE9 */
+ { 39410, 0x000084C9 }, /* GL_TEXTURE9_ARB */
+ { 39426, 0x00000DE0 }, /* GL_TEXTURE_1D */
+ { 39440, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */
+ { 39464, 0x00000DE1 }, /* GL_TEXTURE_2D */
+ { 39478, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */
+ { 39502, 0x0000806F }, /* GL_TEXTURE_3D */
+ { 39516, 0x0000806F }, /* GL_TEXTURE_3D_OES */
+ { 39534, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */
+ { 39556, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */
+ { 39582, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */
+ { 39604, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */
+ { 39626, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+ { 39658, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */
+ { 39680, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+ { 39712, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */
+ { 39734, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */
+ { 39760, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */
+ { 39788, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */
+ { 39820, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */
+ { 39852, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+ { 39885, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */
+ { 39917, 0x00040000 }, /* GL_TEXTURE_BIT */
+ { 39932, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */
+ { 39953, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */
+ { 39978, 0x00001005 }, /* GL_TEXTURE_BORDER */
+ { 39996, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */
+ { 40020, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+ { 40051, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+ { 40081, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+ { 40111, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+ { 40146, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+ { 40177, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ { 40215, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */
+ { 40242, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+ { 40274, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+ { 40308, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */
+ { 40332, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */
+ { 40360, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */
+ { 40384, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */
+ { 40412, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+ { 40445, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */
+ { 40469, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */
+ { 40491, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */
+ { 40513, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */
+ { 40539, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */
+ { 40573, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+ { 40606, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */
+ { 40643, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */
+ { 40671, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */
+ { 40703, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */
+ { 40726, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+ { 40764, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */
+ { 40806, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+ { 40837, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+ { 40865, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+ { 40895, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+ { 40923, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */
+ { 40948, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */
+ { 40968, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */
+ { 40992, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+ { 41023, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */
+ { 41058, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */
+ { 41093, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+ { 41124, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */
+ { 41159, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */
+ { 41194, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+ { 41225, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */
+ { 41260, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */
+ { 41295, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */
+ { 41319, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+ { 41350, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */
+ { 41385, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */
+ { 41420, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+ { 41451, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */
+ { 41486, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */
+ { 41521, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+ { 41552, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */
+ { 41587, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */
+ { 41622, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */
+ { 41651, 0x00008071 }, /* GL_TEXTURE_DEPTH */
+ { 41668, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */
+ { 41690, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */
+ { 41716, 0x00002300 }, /* GL_TEXTURE_ENV */
+ { 41731, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */
+ { 41752, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */
+ { 41772, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */
+ { 41798, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */
+ { 41828, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */
+ { 41848, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */
+ { 41872, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */
+ { 41889, 0x00000C62 }, /* GL_TEXTURE_GEN_R */
+ { 41906, 0x00000C60 }, /* GL_TEXTURE_GEN_S */
+ { 41923, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */
+ { 41946, 0x00000C61 }, /* GL_TEXTURE_GEN_T */
+ { 41963, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */
+ { 41988, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */
+ { 42010, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */
+ { 42036, 0x00001001 }, /* GL_TEXTURE_HEIGHT */
+ { 42054, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */
+ { 42080, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */
+ { 42106, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */
+ { 42136, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */
+ { 42163, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */
+ { 42188, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */
+ { 42208, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */
+ { 42232, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+ { 42259, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+ { 42286, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+ { 42313, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */
+ { 42339, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */
+ { 42369, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */
+ { 42391, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */
+ { 42409, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */
+ { 42449, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+ { 42479, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+ { 42507, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+ { 42535, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+ { 42563, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */
+ { 42584, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */
+ { 42603, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */
+ { 42625, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */
+ { 42644, 0x00008066 }, /* GL_TEXTURE_PRIORITY */
+ { 42664, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */
+ { 42694, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */
+ { 42725, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */
+ { 42750, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */
+ { 42774, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */
+ { 42794, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */
+ { 42818, 0x00008067 }, /* GL_TEXTURE_RESIDENT */
+ { 42838, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */
+ { 42861, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */
+ { 42885, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */
+ { 42913, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */
+ { 42943, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */
+ { 42968, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+ { 43002, 0x00001000 }, /* GL_TEXTURE_WIDTH */
+ { 43019, 0x00008072 }, /* GL_TEXTURE_WRAP_R */
+ { 43037, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */
+ { 43059, 0x00002802 }, /* GL_TEXTURE_WRAP_S */
+ { 43077, 0x00002803 }, /* GL_TEXTURE_WRAP_T */
+ { 43095, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */
+ { 43114, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */
+ { 43134, 0x00008648 }, /* GL_TRACK_MATRIX_NV */
+ { 43153, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+ { 43182, 0x00001000 }, /* GL_TRANSFORM_BIT */
+ { 43199, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */
+ { 43221, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */
+ { 43251, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
+ { 43287, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */
+ { 43328, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */
+ { 43361, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */
+ { 43399, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
+ { 43435, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */
+ { 43473, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */
+ { 43512, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */
+ { 43557, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */
+ { 43592, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */
+ { 43637, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */
+ { 43663, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */
+ { 43693, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+ { 43725, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+ { 43755, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */
+ { 43789, 0x0000862C }, /* GL_TRANSPOSE_NV */
+ { 43805, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+ { 43836, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */
+ { 43871, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+ { 43899, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */
+ { 43931, 0x00000004 }, /* GL_TRIANGLES */
+ { 43944, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */
+ { 43971, 0x00000006 }, /* GL_TRIANGLE_FAN */
+ { 43987, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */
+ { 44008, 0x00000005 }, /* GL_TRIANGLE_STRIP */
+ { 44026, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */
+ { 44058, 0x00000001 }, /* GL_TRUE */
+ { 44066, 0x00008A1C }, /* GL_UNDEFINED_APPLE */
+ { 44085, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */
+ { 44105, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */
+ { 44128, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */
+ { 44148, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */
+ { 44169, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */
+ { 44191, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */
+ { 44213, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */
+ { 44233, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */
+ { 44254, 0x00009118 }, /* GL_UNSIGNALED */
+ { 44268, 0x00001401 }, /* GL_UNSIGNED_BYTE */
+ { 44285, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+ { 44312, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */
+ { 44335, 0x00001405 }, /* GL_UNSIGNED_INT */
+ { 44351, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */
+ { 44378, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */
+ { 44409, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */
+ { 44430, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */
+ { 44455, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */
+ { 44479, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */
+ { 44504, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+ { 44535, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */
+ { 44570, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */
+ { 44594, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+ { 44622, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */
+ { 44645, 0x00001403 }, /* GL_UNSIGNED_SHORT */
+ { 44663, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+ { 44693, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */
+ { 44727, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+ { 44753, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+ { 44783, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */
+ { 44817, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+ { 44843, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */
+ { 44867, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+ { 44895, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+ { 44923, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */
+ { 44950, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+ { 44982, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */
+ { 45013, 0x00008CA2 }, /* GL_UPPER_LEFT */
+ { 45027, 0x00002A20 }, /* GL_V2F */
+ { 45034, 0x00002A21 }, /* GL_V3F */
+ { 45041, 0x00008B83 }, /* GL_VALIDATE_STATUS */
+ { 45060, 0x00001F00 }, /* GL_VENDOR */
+ { 45070, 0x00001F02 }, /* GL_VERSION */
+ { 45081, 0x00008074 }, /* GL_VERTEX_ARRAY */
+ { 45097, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */
+ { 45121, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */
+ { 45151, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+ { 45182, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */
+ { 45217, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */
+ { 45241, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */
+ { 45262, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */
+ { 45285, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */
+ { 45306, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+ { 45333, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+ { 45361, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+ { 45389, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+ { 45417, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+ { 45445, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+ { 45473, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+ { 45501, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+ { 45528, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+ { 45555, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+ { 45582, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+ { 45609, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+ { 45636, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+ { 45663, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+ { 45690, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+ { 45717, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+ { 45744, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+ { 45782, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */
+ { 45824, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+ { 45855, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */
+ { 45890, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+ { 45924, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */
+ { 45962, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+ { 45993, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */
+ { 46028, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+ { 46056, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */
+ { 46088, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+ { 46118, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */
+ { 46152, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+ { 46180, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */
+ { 46212, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */
+ { 46232, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */
+ { 46254, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */
+ { 46283, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */
+ { 46304, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+ { 46333, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */
+ { 46366, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */
+ { 46398, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+ { 46425, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */
+ { 46456, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */
+ { 46486, 0x00008B31 }, /* GL_VERTEX_SHADER */
+ { 46503, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */
+ { 46524, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */
+ { 46551, 0x00000BA2 }, /* GL_VIEWPORT */
+ { 46563, 0x00000800 }, /* GL_VIEWPORT_BIT */
+ { 46579, 0x00008A1A }, /* GL_VOLATILE_APPLE */
+ { 46597, 0x0000911D }, /* GL_WAIT_FAILED */
+ { 46612, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */
+ { 46632, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+ { 46663, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */
+ { 46698, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */
+ { 46733, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */
+ { 46753, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+ { 46781, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */
+ { 46809, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+ { 46834, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */
+ { 46859, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+ { 46886, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */
+ { 46913, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+ { 46938, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */
+ { 46963, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */
+ { 46987, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */
+ { 47006, 0x000088B9 }, /* GL_WRITE_ONLY */
+ { 47020, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */
+ { 47038, 0x000088B9 }, /* GL_WRITE_ONLY_OES */
+ { 47056, 0x00001506 }, /* GL_XOR */
+ { 47063, 0x000085B9 }, /* GL_YCBCR_422_APPLE */
+ { 47082, 0x00008757 }, /* GL_YCBCR_MESA */
+ { 47096, 0x00000000 }, /* GL_ZERO */
+ { 47104, 0x00000D16 }, /* GL_ZOOM_X */
+ { 47114, 0x00000D17 }, /* GL_ZOOM_Y */
};
-static const unsigned reduced_enums[1423] =
+static const unsigned reduced_enums[1472] =
{
- 500, /* GL_FALSE */
- 760, /* GL_LINES */
- 763, /* GL_LINE_LOOP */
- 770, /* GL_LINE_STRIP */
- 1934, /* GL_TRIANGLES */
- 1938, /* GL_TRIANGLE_STRIP */
- 1936, /* GL_TRIANGLE_FAN */
- 1393, /* GL_QUADS */
- 1397, /* GL_QUAD_STRIP */
- 1273, /* GL_POLYGON */
- 761, /* GL_LINES_ADJACENCY_ARB */
- 771, /* GL_LINE_STRIP_ADJACENCY_ARB */
- 1935, /* GL_TRIANGLES_ADJACENCY_ARB */
- 1939, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */
- 1285, /* GL_POLYGON_STIPPLE_BIT */
- 1228, /* GL_PIXEL_MODE_BIT */
- 747, /* GL_LIGHTING_BIT */
- 532, /* GL_FOG_BIT */
+ 511, /* GL_FALSE */
+ 778, /* GL_LINES */
+ 781, /* GL_LINE_LOOP */
+ 788, /* GL_LINE_STRIP */
+ 1984, /* GL_TRIANGLES */
+ 1988, /* GL_TRIANGLE_STRIP */
+ 1986, /* GL_TRIANGLE_FAN */
+ 1427, /* GL_QUADS */
+ 1431, /* GL_QUAD_STRIP */
+ 1305, /* GL_POLYGON */
+ 779, /* GL_LINES_ADJACENCY_ARB */
+ 789, /* GL_LINE_STRIP_ADJACENCY_ARB */
+ 1985, /* GL_TRIANGLES_ADJACENCY_ARB */
+ 1989, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */
+ 1317, /* GL_POLYGON_STIPPLE_BIT */
+ 1260, /* GL_PIXEL_MODE_BIT */
+ 765, /* GL_LIGHTING_BIT */
+ 543, /* GL_FOG_BIT */
8, /* GL_ACCUM */
- 781, /* GL_LOAD */
- 1471, /* GL_RETURN */
- 1096, /* GL_MULT */
- 23, /* GL_ADD */
- 1112, /* GL_NEVER */
- 737, /* GL_LESS */
- 490, /* GL_EQUAL */
- 736, /* GL_LEQUAL */
- 649, /* GL_GREATER */
- 1129, /* GL_NOTEQUAL */
- 648, /* GL_GEQUAL */
- 47, /* GL_ALWAYS */
- 1622, /* GL_SRC_COLOR */
- 1161, /* GL_ONE_MINUS_SRC_COLOR */
- 1620, /* GL_SRC_ALPHA */
- 1160, /* GL_ONE_MINUS_SRC_ALPHA */
- 469, /* GL_DST_ALPHA */
- 1158, /* GL_ONE_MINUS_DST_ALPHA */
- 470, /* GL_DST_COLOR */
- 1159, /* GL_ONE_MINUS_DST_COLOR */
- 1621, /* GL_SRC_ALPHA_SATURATE */
- 629, /* GL_FRONT_LEFT */
- 630, /* GL_FRONT_RIGHT */
- 69, /* GL_BACK_LEFT */
- 70, /* GL_BACK_RIGHT */
- 626, /* GL_FRONT */
- 68, /* GL_BACK */
- 735, /* GL_LEFT */
- 1519, /* GL_RIGHT */
- 627, /* GL_FRONT_AND_BACK */
- 63, /* GL_AUX0 */
- 64, /* GL_AUX1 */
- 65, /* GL_AUX2 */
- 66, /* GL_AUX3 */
- 723, /* GL_INVALID_ENUM */
- 728, /* GL_INVALID_VALUE */
- 727, /* GL_INVALID_OPERATION */
- 1627, /* GL_STACK_OVERFLOW */
- 1628, /* GL_STACK_UNDERFLOW */
- 1186, /* GL_OUT_OF_MEMORY */
- 724, /* GL_INVALID_FRAMEBUFFER_OPERATION */
+ 799, /* GL_LOAD */
+ 1506, /* GL_RETURN */
+ 1128, /* GL_MULT */
+ 24, /* GL_ADD */
+ 1144, /* GL_NEVER */
+ 755, /* GL_LESS */
+ 501, /* GL_EQUAL */
+ 754, /* GL_LEQUAL */
+ 660, /* GL_GREATER */
+ 1161, /* GL_NOTEQUAL */
+ 659, /* GL_GEQUAL */
+ 55, /* GL_ALWAYS */
+ 1672, /* GL_SRC_COLOR */
+ 1193, /* GL_ONE_MINUS_SRC_COLOR */
+ 1670, /* GL_SRC_ALPHA */
+ 1192, /* GL_ONE_MINUS_SRC_ALPHA */
+ 480, /* GL_DST_ALPHA */
+ 1190, /* GL_ONE_MINUS_DST_ALPHA */
+ 481, /* GL_DST_COLOR */
+ 1191, /* GL_ONE_MINUS_DST_COLOR */
+ 1671, /* GL_SRC_ALPHA_SATURATE */
+ 640, /* GL_FRONT_LEFT */
+ 641, /* GL_FRONT_RIGHT */
+ 77, /* GL_BACK_LEFT */
+ 78, /* GL_BACK_RIGHT */
+ 637, /* GL_FRONT */
+ 76, /* GL_BACK */
+ 753, /* GL_LEFT */
+ 1569, /* GL_RIGHT */
+ 638, /* GL_FRONT_AND_BACK */
+ 71, /* GL_AUX0 */
+ 72, /* GL_AUX1 */
+ 73, /* GL_AUX2 */
+ 74, /* GL_AUX3 */
+ 741, /* GL_INVALID_ENUM */
+ 746, /* GL_INVALID_VALUE */
+ 745, /* GL_INVALID_OPERATION */
+ 1677, /* GL_STACK_OVERFLOW */
+ 1678, /* GL_STACK_UNDERFLOW */
+ 1218, /* GL_OUT_OF_MEMORY */
+ 742, /* GL_INVALID_FRAMEBUFFER_OPERATION */
0, /* GL_2D */
2, /* GL_3D */
3, /* GL_3D_COLOR */
4, /* GL_3D_COLOR_TEXTURE */
6, /* GL_4D_COLOR_TEXTURE */
- 1206, /* GL_PASS_THROUGH_TOKEN */
- 1272, /* GL_POINT_TOKEN */
- 772, /* GL_LINE_TOKEN */
- 1286, /* GL_POLYGON_TOKEN */
- 75, /* GL_BITMAP_TOKEN */
- 468, /* GL_DRAW_PIXEL_TOKEN */
- 315, /* GL_COPY_PIXEL_TOKEN */
- 764, /* GL_LINE_RESET_TOKEN */
- 493, /* GL_EXP */
- 494, /* GL_EXP2 */
- 352, /* GL_CW */
- 137, /* GL_CCW */
- 158, /* GL_COEFF */
- 1183, /* GL_ORDER */
- 405, /* GL_DOMAIN */
- 325, /* GL_CURRENT_COLOR */
- 328, /* GL_CURRENT_INDEX */
- 334, /* GL_CURRENT_NORMAL */
- 348, /* GL_CURRENT_TEXTURE_COORDS */
- 340, /* GL_CURRENT_RASTER_COLOR */
- 342, /* GL_CURRENT_RASTER_INDEX */
- 346, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
- 343, /* GL_CURRENT_RASTER_POSITION */
- 344, /* GL_CURRENT_RASTER_POSITION_VALID */
- 341, /* GL_CURRENT_RASTER_DISTANCE */
- 1264, /* GL_POINT_SMOOTH */
- 1248, /* GL_POINT_SIZE */
- 1263, /* GL_POINT_SIZE_RANGE */
- 1254, /* GL_POINT_SIZE_GRANULARITY */
- 765, /* GL_LINE_SMOOTH */
- 773, /* GL_LINE_WIDTH */
- 775, /* GL_LINE_WIDTH_RANGE */
- 774, /* GL_LINE_WIDTH_GRANULARITY */
- 767, /* GL_LINE_STIPPLE */
- 768, /* GL_LINE_STIPPLE_PATTERN */
- 769, /* GL_LINE_STIPPLE_REPEAT */
- 780, /* GL_LIST_MODE */
- 963, /* GL_MAX_LIST_NESTING */
- 777, /* GL_LIST_BASE */
- 779, /* GL_LIST_INDEX */
- 1275, /* GL_POLYGON_MODE */
- 1282, /* GL_POLYGON_SMOOTH */
- 1284, /* GL_POLYGON_STIPPLE */
- 479, /* GL_EDGE_FLAG */
- 318, /* GL_CULL_FACE */
- 319, /* GL_CULL_FACE_MODE */
- 628, /* GL_FRONT_FACE */
- 746, /* GL_LIGHTING */
- 751, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
- 752, /* GL_LIGHT_MODEL_TWO_SIDE */
- 748, /* GL_LIGHT_MODEL_AMBIENT */
- 1569, /* GL_SHADE_MODEL */
- 206, /* GL_COLOR_MATERIAL_FACE */
- 207, /* GL_COLOR_MATERIAL_PARAMETER */
- 205, /* GL_COLOR_MATERIAL */
- 531, /* GL_FOG */
- 553, /* GL_FOG_INDEX */
- 549, /* GL_FOG_DENSITY */
- 557, /* GL_FOG_START */
- 551, /* GL_FOG_END */
- 554, /* GL_FOG_MODE */
- 533, /* GL_FOG_COLOR */
- 390, /* GL_DEPTH_RANGE */
- 399, /* GL_DEPTH_TEST */
- 402, /* GL_DEPTH_WRITEMASK */
- 375, /* GL_DEPTH_CLEAR_VALUE */
- 389, /* GL_DEPTH_FUNC */
+ 1238, /* GL_PASS_THROUGH_TOKEN */
+ 1304, /* GL_POINT_TOKEN */
+ 790, /* GL_LINE_TOKEN */
+ 1318, /* GL_POLYGON_TOKEN */
+ 85, /* GL_BITMAP_TOKEN */
+ 479, /* GL_DRAW_PIXEL_TOKEN */
+ 326, /* GL_COPY_PIXEL_TOKEN */
+ 782, /* GL_LINE_RESET_TOKEN */
+ 504, /* GL_EXP */
+ 505, /* GL_EXP2 */
+ 363, /* GL_CW */
+ 148, /* GL_CCW */
+ 169, /* GL_COEFF */
+ 1215, /* GL_ORDER */
+ 416, /* GL_DOMAIN */
+ 336, /* GL_CURRENT_COLOR */
+ 339, /* GL_CURRENT_INDEX */
+ 345, /* GL_CURRENT_NORMAL */
+ 359, /* GL_CURRENT_TEXTURE_COORDS */
+ 351, /* GL_CURRENT_RASTER_COLOR */
+ 353, /* GL_CURRENT_RASTER_INDEX */
+ 357, /* GL_CURRENT_RASTER_TEXTURE_COORDS */
+ 354, /* GL_CURRENT_RASTER_POSITION */
+ 355, /* GL_CURRENT_RASTER_POSITION_VALID */
+ 352, /* GL_CURRENT_RASTER_DISTANCE */
+ 1296, /* GL_POINT_SMOOTH */
+ 1280, /* GL_POINT_SIZE */
+ 1295, /* GL_POINT_SIZE_RANGE */
+ 1286, /* GL_POINT_SIZE_GRANULARITY */
+ 783, /* GL_LINE_SMOOTH */
+ 791, /* GL_LINE_WIDTH */
+ 793, /* GL_LINE_WIDTH_RANGE */
+ 792, /* GL_LINE_WIDTH_GRANULARITY */
+ 785, /* GL_LINE_STIPPLE */
+ 786, /* GL_LINE_STIPPLE_PATTERN */
+ 787, /* GL_LINE_STIPPLE_REPEAT */
+ 798, /* GL_LIST_MODE */
+ 995, /* GL_MAX_LIST_NESTING */
+ 795, /* GL_LIST_BASE */
+ 797, /* GL_LIST_INDEX */
+ 1307, /* GL_POLYGON_MODE */
+ 1314, /* GL_POLYGON_SMOOTH */
+ 1316, /* GL_POLYGON_STIPPLE */
+ 490, /* GL_EDGE_FLAG */
+ 329, /* GL_CULL_FACE */
+ 330, /* GL_CULL_FACE_MODE */
+ 639, /* GL_FRONT_FACE */
+ 764, /* GL_LIGHTING */
+ 769, /* GL_LIGHT_MODEL_LOCAL_VIEWER */
+ 770, /* GL_LIGHT_MODEL_TWO_SIDE */
+ 766, /* GL_LIGHT_MODEL_AMBIENT */
+ 1619, /* GL_SHADE_MODEL */
+ 217, /* GL_COLOR_MATERIAL_FACE */
+ 218, /* GL_COLOR_MATERIAL_PARAMETER */
+ 216, /* GL_COLOR_MATERIAL */
+ 542, /* GL_FOG */
+ 564, /* GL_FOG_INDEX */
+ 560, /* GL_FOG_DENSITY */
+ 568, /* GL_FOG_START */
+ 562, /* GL_FOG_END */
+ 565, /* GL_FOG_MODE */
+ 544, /* GL_FOG_COLOR */
+ 401, /* GL_DEPTH_RANGE */
+ 410, /* GL_DEPTH_TEST */
+ 413, /* GL_DEPTH_WRITEMASK */
+ 386, /* GL_DEPTH_CLEAR_VALUE */
+ 400, /* GL_DEPTH_FUNC */
12, /* GL_ACCUM_CLEAR_VALUE */
- 1671, /* GL_STENCIL_TEST */
- 1652, /* GL_STENCIL_CLEAR_VALUE */
- 1654, /* GL_STENCIL_FUNC */
- 1673, /* GL_STENCIL_VALUE_MASK */
- 1653, /* GL_STENCIL_FAIL */
- 1668, /* GL_STENCIL_PASS_DEPTH_FAIL */
- 1669, /* GL_STENCIL_PASS_DEPTH_PASS */
- 1670, /* GL_STENCIL_REF */
- 1674, /* GL_STENCIL_WRITEMASK */
- 922, /* GL_MATRIX_MODE */
- 1118, /* GL_NORMALIZE */
- 2037, /* GL_VIEWPORT */
- 1091, /* GL_MODELVIEW_STACK_DEPTH */
- 1370, /* GL_PROJECTION_STACK_DEPTH */
- 1896, /* GL_TEXTURE_STACK_DEPTH */
- 1088, /* GL_MODELVIEW_MATRIX */
- 1368, /* GL_PROJECTION_MATRIX */
- 1878, /* GL_TEXTURE_MATRIX */
- 61, /* GL_ATTRIB_STACK_DEPTH */
- 148, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
- 43, /* GL_ALPHA_TEST */
- 44, /* GL_ALPHA_TEST_FUNC */
- 45, /* GL_ALPHA_TEST_REF */
- 404, /* GL_DITHER */
- 79, /* GL_BLEND_DST */
- 93, /* GL_BLEND_SRC */
- 76, /* GL_BLEND */
- 783, /* GL_LOGIC_OP_MODE */
- 695, /* GL_INDEX_LOGIC_OP */
- 204, /* GL_COLOR_LOGIC_OP */
- 67, /* GL_AUX_BUFFERS */
- 415, /* GL_DRAW_BUFFER */
- 1412, /* GL_READ_BUFFER */
- 1547, /* GL_SCISSOR_BOX */
- 1548, /* GL_SCISSOR_TEST */
- 694, /* GL_INDEX_CLEAR_VALUE */
- 699, /* GL_INDEX_WRITEMASK */
- 201, /* GL_COLOR_CLEAR_VALUE */
- 243, /* GL_COLOR_WRITEMASK */
- 696, /* GL_INDEX_MODE */
- 1512, /* GL_RGBA_MODE */
- 414, /* GL_DOUBLEBUFFER */
- 1675, /* GL_STEREO */
- 1463, /* GL_RENDER_MODE */
- 1207, /* GL_PERSPECTIVE_CORRECTION_HINT */
- 1265, /* GL_POINT_SMOOTH_HINT */
- 766, /* GL_LINE_SMOOTH_HINT */
- 1283, /* GL_POLYGON_SMOOTH_HINT */
- 552, /* GL_FOG_HINT */
- 1858, /* GL_TEXTURE_GEN_S */
- 1860, /* GL_TEXTURE_GEN_T */
- 1857, /* GL_TEXTURE_GEN_R */
- 1856, /* GL_TEXTURE_GEN_Q */
- 1220, /* GL_PIXEL_MAP_I_TO_I */
- 1226, /* GL_PIXEL_MAP_S_TO_S */
- 1222, /* GL_PIXEL_MAP_I_TO_R */
- 1218, /* GL_PIXEL_MAP_I_TO_G */
- 1216, /* GL_PIXEL_MAP_I_TO_B */
- 1214, /* GL_PIXEL_MAP_I_TO_A */
- 1224, /* GL_PIXEL_MAP_R_TO_R */
- 1212, /* GL_PIXEL_MAP_G_TO_G */
- 1210, /* GL_PIXEL_MAP_B_TO_B */
- 1208, /* GL_PIXEL_MAP_A_TO_A */
- 1221, /* GL_PIXEL_MAP_I_TO_I_SIZE */
- 1227, /* GL_PIXEL_MAP_S_TO_S_SIZE */
- 1223, /* GL_PIXEL_MAP_I_TO_R_SIZE */
- 1219, /* GL_PIXEL_MAP_I_TO_G_SIZE */
- 1217, /* GL_PIXEL_MAP_I_TO_B_SIZE */
- 1215, /* GL_PIXEL_MAP_I_TO_A_SIZE */
- 1225, /* GL_PIXEL_MAP_R_TO_R_SIZE */
- 1213, /* GL_PIXEL_MAP_G_TO_G_SIZE */
- 1211, /* GL_PIXEL_MAP_B_TO_B_SIZE */
- 1209, /* GL_PIXEL_MAP_A_TO_A_SIZE */
- 1949, /* GL_UNPACK_SWAP_BYTES */
- 1944, /* GL_UNPACK_LSB_FIRST */
- 1945, /* GL_UNPACK_ROW_LENGTH */
- 1948, /* GL_UNPACK_SKIP_ROWS */
- 1947, /* GL_UNPACK_SKIP_PIXELS */
- 1942, /* GL_UNPACK_ALIGNMENT */
- 1195, /* GL_PACK_SWAP_BYTES */
- 1190, /* GL_PACK_LSB_FIRST */
- 1191, /* GL_PACK_ROW_LENGTH */
- 1194, /* GL_PACK_SKIP_ROWS */
- 1193, /* GL_PACK_SKIP_PIXELS */
- 1187, /* GL_PACK_ALIGNMENT */
- 863, /* GL_MAP_COLOR */
- 868, /* GL_MAP_STENCIL */
- 698, /* GL_INDEX_SHIFT */
- 697, /* GL_INDEX_OFFSET */
- 1426, /* GL_RED_SCALE */
- 1424, /* GL_RED_BIAS */
- 2063, /* GL_ZOOM_X */
- 2064, /* GL_ZOOM_Y */
- 653, /* GL_GREEN_SCALE */
- 651, /* GL_GREEN_BIAS */
- 101, /* GL_BLUE_SCALE */
- 99, /* GL_BLUE_BIAS */
- 42, /* GL_ALPHA_SCALE */
- 40, /* GL_ALPHA_BIAS */
- 391, /* GL_DEPTH_SCALE */
- 368, /* GL_DEPTH_BIAS */
- 952, /* GL_MAX_EVAL_ORDER */
- 962, /* GL_MAX_LIGHTS */
- 933, /* GL_MAX_CLIP_PLANES */
- 1013, /* GL_MAX_TEXTURE_SIZE */
- 969, /* GL_MAX_PIXEL_MAP_TABLE */
- 929, /* GL_MAX_ATTRIB_STACK_DEPTH */
- 965, /* GL_MAX_MODELVIEW_STACK_DEPTH */
- 966, /* GL_MAX_NAME_STACK_DEPTH */
- 995, /* GL_MAX_PROJECTION_STACK_DEPTH */
- 1014, /* GL_MAX_TEXTURE_STACK_DEPTH */
- 1036, /* GL_MAX_VIEWPORT_DIMS */
- 930, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
- 1685, /* GL_SUBPIXEL_BITS */
- 693, /* GL_INDEX_BITS */
- 1425, /* GL_RED_BITS */
- 652, /* GL_GREEN_BITS */
- 100, /* GL_BLUE_BITS */
- 41, /* GL_ALPHA_BITS */
- 369, /* GL_DEPTH_BITS */
- 1650, /* GL_STENCIL_BITS */
+ 1721, /* GL_STENCIL_TEST */
+ 1702, /* GL_STENCIL_CLEAR_VALUE */
+ 1704, /* GL_STENCIL_FUNC */
+ 1723, /* GL_STENCIL_VALUE_MASK */
+ 1703, /* GL_STENCIL_FAIL */
+ 1718, /* GL_STENCIL_PASS_DEPTH_FAIL */
+ 1719, /* GL_STENCIL_PASS_DEPTH_PASS */
+ 1720, /* GL_STENCIL_REF */
+ 1724, /* GL_STENCIL_WRITEMASK */
+ 954, /* GL_MATRIX_MODE */
+ 1150, /* GL_NORMALIZE */
+ 2087, /* GL_VIEWPORT */
+ 1123, /* GL_MODELVIEW_STACK_DEPTH */
+ 1404, /* GL_PROJECTION_STACK_DEPTH */
+ 1946, /* GL_TEXTURE_STACK_DEPTH */
+ 1120, /* GL_MODELVIEW_MATRIX */
+ 1402, /* GL_PROJECTION_MATRIX */
+ 1928, /* GL_TEXTURE_MATRIX */
+ 69, /* GL_ATTRIB_STACK_DEPTH */
+ 159, /* GL_CLIENT_ATTRIB_STACK_DEPTH */
+ 51, /* GL_ALPHA_TEST */
+ 52, /* GL_ALPHA_TEST_FUNC */
+ 53, /* GL_ALPHA_TEST_REF */
+ 415, /* GL_DITHER */
+ 89, /* GL_BLEND_DST */
+ 103, /* GL_BLEND_SRC */
+ 86, /* GL_BLEND */
+ 801, /* GL_LOGIC_OP_MODE */
+ 707, /* GL_INDEX_LOGIC_OP */
+ 215, /* GL_COLOR_LOGIC_OP */
+ 75, /* GL_AUX_BUFFERS */
+ 426, /* GL_DRAW_BUFFER */
+ 1446, /* GL_READ_BUFFER */
+ 1597, /* GL_SCISSOR_BOX */
+ 1598, /* GL_SCISSOR_TEST */
+ 706, /* GL_INDEX_CLEAR_VALUE */
+ 711, /* GL_INDEX_WRITEMASK */
+ 212, /* GL_COLOR_CLEAR_VALUE */
+ 254, /* GL_COLOR_WRITEMASK */
+ 708, /* GL_INDEX_MODE */
+ 1561, /* GL_RGBA_MODE */
+ 425, /* GL_DOUBLEBUFFER */
+ 1725, /* GL_STEREO */
+ 1498, /* GL_RENDER_MODE */
+ 1239, /* GL_PERSPECTIVE_CORRECTION_HINT */
+ 1297, /* GL_POINT_SMOOTH_HINT */
+ 784, /* GL_LINE_SMOOTH_HINT */
+ 1315, /* GL_POLYGON_SMOOTH_HINT */
+ 563, /* GL_FOG_HINT */
+ 1908, /* GL_TEXTURE_GEN_S */
+ 1910, /* GL_TEXTURE_GEN_T */
+ 1907, /* GL_TEXTURE_GEN_R */
+ 1906, /* GL_TEXTURE_GEN_Q */
+ 1252, /* GL_PIXEL_MAP_I_TO_I */
+ 1258, /* GL_PIXEL_MAP_S_TO_S */
+ 1254, /* GL_PIXEL_MAP_I_TO_R */
+ 1250, /* GL_PIXEL_MAP_I_TO_G */
+ 1248, /* GL_PIXEL_MAP_I_TO_B */
+ 1246, /* GL_PIXEL_MAP_I_TO_A */
+ 1256, /* GL_PIXEL_MAP_R_TO_R */
+ 1244, /* GL_PIXEL_MAP_G_TO_G */
+ 1242, /* GL_PIXEL_MAP_B_TO_B */
+ 1240, /* GL_PIXEL_MAP_A_TO_A */
+ 1253, /* GL_PIXEL_MAP_I_TO_I_SIZE */
+ 1259, /* GL_PIXEL_MAP_S_TO_S_SIZE */
+ 1255, /* GL_PIXEL_MAP_I_TO_R_SIZE */
+ 1251, /* GL_PIXEL_MAP_I_TO_G_SIZE */
+ 1249, /* GL_PIXEL_MAP_I_TO_B_SIZE */
+ 1247, /* GL_PIXEL_MAP_I_TO_A_SIZE */
+ 1257, /* GL_PIXEL_MAP_R_TO_R_SIZE */
+ 1245, /* GL_PIXEL_MAP_G_TO_G_SIZE */
+ 1243, /* GL_PIXEL_MAP_B_TO_B_SIZE */
+ 1241, /* GL_PIXEL_MAP_A_TO_A_SIZE */
+ 1999, /* GL_UNPACK_SWAP_BYTES */
+ 1994, /* GL_UNPACK_LSB_FIRST */
+ 1995, /* GL_UNPACK_ROW_LENGTH */
+ 1998, /* GL_UNPACK_SKIP_ROWS */
+ 1997, /* GL_UNPACK_SKIP_PIXELS */
+ 1992, /* GL_UNPACK_ALIGNMENT */
+ 1227, /* GL_PACK_SWAP_BYTES */
+ 1222, /* GL_PACK_LSB_FIRST */
+ 1223, /* GL_PACK_ROW_LENGTH */
+ 1226, /* GL_PACK_SKIP_ROWS */
+ 1225, /* GL_PACK_SKIP_PIXELS */
+ 1219, /* GL_PACK_ALIGNMENT */
+ 895, /* GL_MAP_COLOR */
+ 900, /* GL_MAP_STENCIL */
+ 710, /* GL_INDEX_SHIFT */
+ 709, /* GL_INDEX_OFFSET */
+ 1461, /* GL_RED_SCALE */
+ 1458, /* GL_RED_BIAS */
+ 2113, /* GL_ZOOM_X */
+ 2114, /* GL_ZOOM_Y */
+ 665, /* GL_GREEN_SCALE */
+ 662, /* GL_GREEN_BIAS */
+ 112, /* GL_BLUE_SCALE */
+ 109, /* GL_BLUE_BIAS */
+ 50, /* GL_ALPHA_SCALE */
+ 47, /* GL_ALPHA_BIAS */
+ 402, /* GL_DEPTH_SCALE */
+ 379, /* GL_DEPTH_BIAS */
+ 984, /* GL_MAX_EVAL_ORDER */
+ 994, /* GL_MAX_LIGHTS */
+ 965, /* GL_MAX_CLIP_PLANES */
+ 1045, /* GL_MAX_TEXTURE_SIZE */
+ 1001, /* GL_MAX_PIXEL_MAP_TABLE */
+ 961, /* GL_MAX_ATTRIB_STACK_DEPTH */
+ 997, /* GL_MAX_MODELVIEW_STACK_DEPTH */
+ 998, /* GL_MAX_NAME_STACK_DEPTH */
+ 1027, /* GL_MAX_PROJECTION_STACK_DEPTH */
+ 1046, /* GL_MAX_TEXTURE_STACK_DEPTH */
+ 1068, /* GL_MAX_VIEWPORT_DIMS */
+ 962, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */
+ 1735, /* GL_SUBPIXEL_BITS */
+ 705, /* GL_INDEX_BITS */
+ 1459, /* GL_RED_BITS */
+ 663, /* GL_GREEN_BITS */
+ 110, /* GL_BLUE_BITS */
+ 48, /* GL_ALPHA_BITS */
+ 380, /* GL_DEPTH_BITS */
+ 1700, /* GL_STENCIL_BITS */
14, /* GL_ACCUM_RED_BITS */
13, /* GL_ACCUM_GREEN_BITS */
10, /* GL_ACCUM_BLUE_BITS */
9, /* GL_ACCUM_ALPHA_BITS */
- 1105, /* GL_NAME_STACK_DEPTH */
- 62, /* GL_AUTO_NORMAL */
- 809, /* GL_MAP1_COLOR_4 */
- 812, /* GL_MAP1_INDEX */
- 813, /* GL_MAP1_NORMAL */
- 814, /* GL_MAP1_TEXTURE_COORD_1 */
- 815, /* GL_MAP1_TEXTURE_COORD_2 */
- 816, /* GL_MAP1_TEXTURE_COORD_3 */
- 817, /* GL_MAP1_TEXTURE_COORD_4 */
- 818, /* GL_MAP1_VERTEX_3 */
- 819, /* GL_MAP1_VERTEX_4 */
- 836, /* GL_MAP2_COLOR_4 */
- 839, /* GL_MAP2_INDEX */
- 840, /* GL_MAP2_NORMAL */
- 841, /* GL_MAP2_TEXTURE_COORD_1 */
- 842, /* GL_MAP2_TEXTURE_COORD_2 */
- 843, /* GL_MAP2_TEXTURE_COORD_3 */
- 844, /* GL_MAP2_TEXTURE_COORD_4 */
- 845, /* GL_MAP2_VERTEX_3 */
- 846, /* GL_MAP2_VERTEX_4 */
- 810, /* GL_MAP1_GRID_DOMAIN */
- 811, /* GL_MAP1_GRID_SEGMENTS */
- 837, /* GL_MAP2_GRID_DOMAIN */
- 838, /* GL_MAP2_GRID_SEGMENTS */
- 1768, /* GL_TEXTURE_1D */
- 1770, /* GL_TEXTURE_2D */
- 503, /* GL_FEEDBACK_BUFFER_POINTER */
- 504, /* GL_FEEDBACK_BUFFER_SIZE */
- 505, /* GL_FEEDBACK_BUFFER_TYPE */
- 1557, /* GL_SELECTION_BUFFER_POINTER */
- 1558, /* GL_SELECTION_BUFFER_SIZE */
- 1902, /* GL_TEXTURE_WIDTH */
- 1864, /* GL_TEXTURE_HEIGHT */
- 1808, /* GL_TEXTURE_COMPONENTS */
- 1792, /* GL_TEXTURE_BORDER_COLOR */
- 1791, /* GL_TEXTURE_BORDER */
- 406, /* GL_DONT_CARE */
- 501, /* GL_FASTEST */
- 1113, /* GL_NICEST */
- 48, /* GL_AMBIENT */
- 403, /* GL_DIFFUSE */
- 1609, /* GL_SPECULAR */
- 1287, /* GL_POSITION */
- 1612, /* GL_SPOT_DIRECTION */
- 1613, /* GL_SPOT_EXPONENT */
- 1611, /* GL_SPOT_CUTOFF */
- 288, /* GL_CONSTANT_ATTENUATION */
- 755, /* GL_LINEAR_ATTENUATION */
- 1392, /* GL_QUADRATIC_ATTENUATION */
- 257, /* GL_COMPILE */
- 258, /* GL_COMPILE_AND_EXECUTE */
- 132, /* GL_BYTE */
- 1951, /* GL_UNSIGNED_BYTE */
- 1574, /* GL_SHORT */
- 1966, /* GL_UNSIGNED_SHORT */
- 701, /* GL_INT */
- 1954, /* GL_UNSIGNED_INT */
- 512, /* GL_FLOAT */
+ 1137, /* GL_NAME_STACK_DEPTH */
+ 70, /* GL_AUTO_NORMAL */
+ 841, /* GL_MAP1_COLOR_4 */
+ 844, /* GL_MAP1_INDEX */
+ 845, /* GL_MAP1_NORMAL */
+ 846, /* GL_MAP1_TEXTURE_COORD_1 */
+ 847, /* GL_MAP1_TEXTURE_COORD_2 */
+ 848, /* GL_MAP1_TEXTURE_COORD_3 */
+ 849, /* GL_MAP1_TEXTURE_COORD_4 */
+ 850, /* GL_MAP1_VERTEX_3 */
+ 851, /* GL_MAP1_VERTEX_4 */
+ 868, /* GL_MAP2_COLOR_4 */
+ 871, /* GL_MAP2_INDEX */
+ 872, /* GL_MAP2_NORMAL */
+ 873, /* GL_MAP2_TEXTURE_COORD_1 */
+ 874, /* GL_MAP2_TEXTURE_COORD_2 */
+ 875, /* GL_MAP2_TEXTURE_COORD_3 */
+ 876, /* GL_MAP2_TEXTURE_COORD_4 */
+ 877, /* GL_MAP2_VERTEX_3 */
+ 878, /* GL_MAP2_VERTEX_4 */
+ 842, /* GL_MAP1_GRID_DOMAIN */
+ 843, /* GL_MAP1_GRID_SEGMENTS */
+ 869, /* GL_MAP2_GRID_DOMAIN */
+ 870, /* GL_MAP2_GRID_SEGMENTS */
+ 1818, /* GL_TEXTURE_1D */
+ 1820, /* GL_TEXTURE_2D */
+ 514, /* GL_FEEDBACK_BUFFER_POINTER */
+ 515, /* GL_FEEDBACK_BUFFER_SIZE */
+ 516, /* GL_FEEDBACK_BUFFER_TYPE */
+ 1607, /* GL_SELECTION_BUFFER_POINTER */
+ 1608, /* GL_SELECTION_BUFFER_SIZE */
+ 1952, /* GL_TEXTURE_WIDTH */
+ 1914, /* GL_TEXTURE_HEIGHT */
+ 1858, /* GL_TEXTURE_COMPONENTS */
+ 1842, /* GL_TEXTURE_BORDER_COLOR */
+ 1841, /* GL_TEXTURE_BORDER */
+ 417, /* GL_DONT_CARE */
+ 512, /* GL_FASTEST */
+ 1145, /* GL_NICEST */
+ 56, /* GL_AMBIENT */
+ 414, /* GL_DIFFUSE */
+ 1659, /* GL_SPECULAR */
+ 1319, /* GL_POSITION */
+ 1662, /* GL_SPOT_DIRECTION */
+ 1663, /* GL_SPOT_EXPONENT */
+ 1661, /* GL_SPOT_CUTOFF */
+ 299, /* GL_CONSTANT_ATTENUATION */
+ 773, /* GL_LINEAR_ATTENUATION */
+ 1426, /* GL_QUADRATIC_ATTENUATION */
+ 268, /* GL_COMPILE */
+ 269, /* GL_COMPILE_AND_EXECUTE */
+ 143, /* GL_BYTE */
+ 2001, /* GL_UNSIGNED_BYTE */
+ 1624, /* GL_SHORT */
+ 2016, /* GL_UNSIGNED_SHORT */
+ 713, /* GL_INT */
+ 2004, /* GL_UNSIGNED_INT */
+ 523, /* GL_FLOAT */
1, /* GL_2_BYTES */
5, /* GL_3_BYTES */
7, /* GL_4_BYTES */
- 413, /* GL_DOUBLE */
- 654, /* GL_HALF_FLOAT */
- 509, /* GL_FIXED */
- 144, /* GL_CLEAR */
- 50, /* GL_AND */
- 52, /* GL_AND_REVERSE */
- 313, /* GL_COPY */
- 51, /* GL_AND_INVERTED */
- 1116, /* GL_NOOP */
- 2059, /* GL_XOR */
- 1182, /* GL_OR */
- 1117, /* GL_NOR */
- 491, /* GL_EQUIV */
- 731, /* GL_INVERT */
- 1185, /* GL_OR_REVERSE */
- 314, /* GL_COPY_INVERTED */
- 1184, /* GL_OR_INVERTED */
- 1106, /* GL_NAND */
- 1563, /* GL_SET */
- 488, /* GL_EMISSION */
- 1573, /* GL_SHININESS */
- 49, /* GL_AMBIENT_AND_DIFFUSE */
- 203, /* GL_COLOR_INDEXES */
- 1055, /* GL_MODELVIEW */
- 1367, /* GL_PROJECTION */
- 1703, /* GL_TEXTURE */
- 159, /* GL_COLOR */
- 361, /* GL_DEPTH */
- 1635, /* GL_STENCIL */
- 202, /* GL_COLOR_INDEX */
- 1655, /* GL_STENCIL_INDEX */
- 376, /* GL_DEPTH_COMPONENT */
- 1421, /* GL_RED */
- 650, /* GL_GREEN */
- 98, /* GL_BLUE */
- 31, /* GL_ALPHA */
- 1472, /* GL_RGB */
- 1495, /* GL_RGBA */
- 787, /* GL_LUMINANCE */
- 808, /* GL_LUMINANCE_ALPHA */
- 74, /* GL_BITMAP */
- 1237, /* GL_POINT */
- 753, /* GL_LINE */
- 506, /* GL_FILL */
- 1432, /* GL_RENDER */
- 502, /* GL_FEEDBACK */
- 1556, /* GL_SELECT */
- 511, /* GL_FLAT */
- 1584, /* GL_SMOOTH */
- 732, /* GL_KEEP */
- 1465, /* GL_REPLACE */
- 683, /* GL_INCR */
- 357, /* GL_DECR */
- 1983, /* GL_VENDOR */
- 1462, /* GL_RENDERER */
- 1984, /* GL_VERSION */
- 495, /* GL_EXTENSIONS */
- 1520, /* GL_S */
- 1694, /* GL_T */
- 1408, /* GL_R */
- 1391, /* GL_Q */
- 1092, /* GL_MODULATE */
- 356, /* GL_DECAL */
- 1851, /* GL_TEXTURE_ENV_MODE */
- 1850, /* GL_TEXTURE_ENV_COLOR */
- 1849, /* GL_TEXTURE_ENV */
- 496, /* GL_EYE_LINEAR */
- 1143, /* GL_OBJECT_LINEAR */
- 1610, /* GL_SPHERE_MAP */
- 1854, /* GL_TEXTURE_GEN_MODE */
- 1145, /* GL_OBJECT_PLANE */
- 497, /* GL_EYE_PLANE */
- 1107, /* GL_NEAREST */
- 754, /* GL_LINEAR */
- 1111, /* GL_NEAREST_MIPMAP_NEAREST */
- 759, /* GL_LINEAR_MIPMAP_NEAREST */
- 1110, /* GL_NEAREST_MIPMAP_LINEAR */
- 758, /* GL_LINEAR_MIPMAP_LINEAR */
- 1877, /* GL_TEXTURE_MAG_FILTER */
- 1886, /* GL_TEXTURE_MIN_FILTER */
- 1905, /* GL_TEXTURE_WRAP_S */
- 1906, /* GL_TEXTURE_WRAP_T */
- 138, /* GL_CLAMP */
- 1464, /* GL_REPEAT */
- 1281, /* GL_POLYGON_OFFSET_UNITS */
- 1280, /* GL_POLYGON_OFFSET_POINT */
- 1279, /* GL_POLYGON_OFFSET_LINE */
- 1409, /* GL_R3_G3_B2 */
- 1980, /* GL_V2F */
- 1981, /* GL_V3F */
- 135, /* GL_C4UB_V2F */
- 136, /* GL_C4UB_V3F */
- 133, /* GL_C3F_V3F */
- 1104, /* GL_N3F_V3F */
- 134, /* GL_C4F_N3F_V3F */
- 1699, /* GL_T2F_V3F */
- 1701, /* GL_T4F_V4F */
- 1697, /* GL_T2F_C4UB_V3F */
- 1695, /* GL_T2F_C3F_V3F */
- 1698, /* GL_T2F_N3F_V3F */
- 1696, /* GL_T2F_C4F_N3F_V3F */
- 1700, /* GL_T4F_C4F_N3F_V4F */
- 151, /* GL_CLIP_PLANE0 */
- 152, /* GL_CLIP_PLANE1 */
- 153, /* GL_CLIP_PLANE2 */
- 154, /* GL_CLIP_PLANE3 */
- 155, /* GL_CLIP_PLANE4 */
- 156, /* GL_CLIP_PLANE5 */
- 738, /* GL_LIGHT0 */
- 739, /* GL_LIGHT1 */
- 740, /* GL_LIGHT2 */
- 741, /* GL_LIGHT3 */
- 742, /* GL_LIGHT4 */
- 743, /* GL_LIGHT5 */
- 744, /* GL_LIGHT6 */
- 745, /* GL_LIGHT7 */
- 658, /* GL_HINT_BIT */
- 290, /* GL_CONSTANT_COLOR */
- 1156, /* GL_ONE_MINUS_CONSTANT_COLOR */
- 285, /* GL_CONSTANT_ALPHA */
- 1154, /* GL_ONE_MINUS_CONSTANT_ALPHA */
- 77, /* GL_BLEND_COLOR */
- 631, /* GL_FUNC_ADD */
- 1039, /* GL_MIN */
- 925, /* GL_MAX */
- 84, /* GL_BLEND_EQUATION */
- 637, /* GL_FUNC_SUBTRACT */
- 634, /* GL_FUNC_REVERSE_SUBTRACT */
- 293, /* GL_CONVOLUTION_1D */
- 294, /* GL_CONVOLUTION_2D */
- 1559, /* GL_SEPARABLE_2D */
- 297, /* GL_CONVOLUTION_BORDER_MODE */
- 301, /* GL_CONVOLUTION_FILTER_SCALE */
- 299, /* GL_CONVOLUTION_FILTER_BIAS */
- 1422, /* GL_REDUCE */
- 303, /* GL_CONVOLUTION_FORMAT */
- 307, /* GL_CONVOLUTION_WIDTH */
- 305, /* GL_CONVOLUTION_HEIGHT */
- 942, /* GL_MAX_CONVOLUTION_WIDTH */
- 940, /* GL_MAX_CONVOLUTION_HEIGHT */
- 1320, /* GL_POST_CONVOLUTION_RED_SCALE */
- 1316, /* GL_POST_CONVOLUTION_GREEN_SCALE */
- 1311, /* GL_POST_CONVOLUTION_BLUE_SCALE */
- 1307, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
- 1318, /* GL_POST_CONVOLUTION_RED_BIAS */
- 1314, /* GL_POST_CONVOLUTION_GREEN_BIAS */
- 1309, /* GL_POST_CONVOLUTION_BLUE_BIAS */
- 1305, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
- 659, /* GL_HISTOGRAM */
- 1374, /* GL_PROXY_HISTOGRAM */
- 675, /* GL_HISTOGRAM_WIDTH */
- 665, /* GL_HISTOGRAM_FORMAT */
- 671, /* GL_HISTOGRAM_RED_SIZE */
- 667, /* GL_HISTOGRAM_GREEN_SIZE */
- 662, /* GL_HISTOGRAM_BLUE_SIZE */
- 660, /* GL_HISTOGRAM_ALPHA_SIZE */
- 669, /* GL_HISTOGRAM_LUMINANCE_SIZE */
- 673, /* GL_HISTOGRAM_SINK */
- 1040, /* GL_MINMAX */
- 1042, /* GL_MINMAX_FORMAT */
- 1044, /* GL_MINMAX_SINK */
- 1702, /* GL_TABLE_TOO_LARGE_EXT */
- 1953, /* GL_UNSIGNED_BYTE_3_3_2 */
- 1969, /* GL_UNSIGNED_SHORT_4_4_4_4 */
- 1972, /* GL_UNSIGNED_SHORT_5_5_5_1 */
- 1963, /* GL_UNSIGNED_INT_8_8_8_8 */
- 1955, /* GL_UNSIGNED_INT_10_10_10_2 */
- 1278, /* GL_POLYGON_OFFSET_FILL */
- 1277, /* GL_POLYGON_OFFSET_FACTOR */
- 1276, /* GL_POLYGON_OFFSET_BIAS */
- 1468, /* GL_RESCALE_NORMAL */
- 36, /* GL_ALPHA4 */
- 38, /* GL_ALPHA8 */
- 32, /* GL_ALPHA12 */
- 34, /* GL_ALPHA16 */
- 798, /* GL_LUMINANCE4 */
- 804, /* GL_LUMINANCE8 */
- 788, /* GL_LUMINANCE12 */
- 794, /* GL_LUMINANCE16 */
- 799, /* GL_LUMINANCE4_ALPHA4 */
- 802, /* GL_LUMINANCE6_ALPHA2 */
- 805, /* GL_LUMINANCE8_ALPHA8 */
- 791, /* GL_LUMINANCE12_ALPHA4 */
- 789, /* GL_LUMINANCE12_ALPHA12 */
- 795, /* GL_LUMINANCE16_ALPHA16 */
- 702, /* GL_INTENSITY */
- 707, /* GL_INTENSITY4 */
- 709, /* GL_INTENSITY8 */
- 703, /* GL_INTENSITY12 */
- 705, /* GL_INTENSITY16 */
- 1481, /* GL_RGB2_EXT */
- 1482, /* GL_RGB4 */
- 1485, /* GL_RGB5 */
- 1492, /* GL_RGB8 */
- 1473, /* GL_RGB10 */
- 1477, /* GL_RGB12 */
- 1479, /* GL_RGB16 */
- 1500, /* GL_RGBA2 */
- 1502, /* GL_RGBA4 */
- 1488, /* GL_RGB5_A1 */
- 1507, /* GL_RGBA8 */
- 1474, /* GL_RGB10_A2 */
- 1496, /* GL_RGBA12 */
- 1498, /* GL_RGBA16 */
- 1893, /* GL_TEXTURE_RED_SIZE */
- 1862, /* GL_TEXTURE_GREEN_SIZE */
- 1789, /* GL_TEXTURE_BLUE_SIZE */
- 1774, /* GL_TEXTURE_ALPHA_SIZE */
- 1875, /* GL_TEXTURE_LUMINANCE_SIZE */
- 1866, /* GL_TEXTURE_INTENSITY_SIZE */
- 1466, /* GL_REPLACE_EXT */
- 1378, /* GL_PROXY_TEXTURE_1D */
- 1381, /* GL_PROXY_TEXTURE_2D */
- 1900, /* GL_TEXTURE_TOO_LARGE_EXT */
- 1888, /* GL_TEXTURE_PRIORITY */
- 1895, /* GL_TEXTURE_RESIDENT */
- 1777, /* GL_TEXTURE_BINDING_1D */
- 1779, /* GL_TEXTURE_BINDING_2D */
- 1781, /* GL_TEXTURE_BINDING_3D */
- 1192, /* GL_PACK_SKIP_IMAGES */
- 1188, /* GL_PACK_IMAGE_HEIGHT */
- 1946, /* GL_UNPACK_SKIP_IMAGES */
- 1943, /* GL_UNPACK_IMAGE_HEIGHT */
- 1772, /* GL_TEXTURE_3D */
- 1384, /* GL_PROXY_TEXTURE_3D */
- 1846, /* GL_TEXTURE_DEPTH */
- 1903, /* GL_TEXTURE_WRAP_R */
- 926, /* GL_MAX_3D_TEXTURE_SIZE */
- 1985, /* GL_VERTEX_ARRAY */
- 1119, /* GL_NORMAL_ARRAY */
- 160, /* GL_COLOR_ARRAY */
- 687, /* GL_INDEX_ARRAY */
- 1816, /* GL_TEXTURE_COORD_ARRAY */
- 480, /* GL_EDGE_FLAG_ARRAY */
- 1991, /* GL_VERTEX_ARRAY_SIZE */
- 1993, /* GL_VERTEX_ARRAY_TYPE */
- 1992, /* GL_VERTEX_ARRAY_STRIDE */
- 1124, /* GL_NORMAL_ARRAY_TYPE */
- 1123, /* GL_NORMAL_ARRAY_STRIDE */
- 164, /* GL_COLOR_ARRAY_SIZE */
- 166, /* GL_COLOR_ARRAY_TYPE */
- 165, /* GL_COLOR_ARRAY_STRIDE */
- 692, /* GL_INDEX_ARRAY_TYPE */
- 691, /* GL_INDEX_ARRAY_STRIDE */
- 1820, /* GL_TEXTURE_COORD_ARRAY_SIZE */
- 1822, /* GL_TEXTURE_COORD_ARRAY_TYPE */
- 1821, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
- 484, /* GL_EDGE_FLAG_ARRAY_STRIDE */
- 1990, /* GL_VERTEX_ARRAY_POINTER */
- 1122, /* GL_NORMAL_ARRAY_POINTER */
- 163, /* GL_COLOR_ARRAY_POINTER */
- 690, /* GL_INDEX_ARRAY_POINTER */
- 1819, /* GL_TEXTURE_COORD_ARRAY_POINTER */
- 483, /* GL_EDGE_FLAG_ARRAY_POINTER */
- 1097, /* GL_MULTISAMPLE */
- 1533, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
- 1535, /* GL_SAMPLE_ALPHA_TO_ONE */
- 1540, /* GL_SAMPLE_COVERAGE */
- 1537, /* GL_SAMPLE_BUFFERS */
- 1528, /* GL_SAMPLES */
- 1544, /* GL_SAMPLE_COVERAGE_VALUE */
- 1542, /* GL_SAMPLE_COVERAGE_INVERT */
- 208, /* GL_COLOR_MATRIX */
- 210, /* GL_COLOR_MATRIX_STACK_DEPTH */
- 936, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
- 1303, /* GL_POST_COLOR_MATRIX_RED_SCALE */
- 1299, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
- 1294, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
- 1290, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
- 1301, /* GL_POST_COLOR_MATRIX_RED_BIAS */
- 1297, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
- 1292, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
- 1288, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
- 1799, /* GL_TEXTURE_COLOR_TABLE_SGI */
- 1385, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
- 1801, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
- 82, /* GL_BLEND_DST_RGB */
- 96, /* GL_BLEND_SRC_RGB */
- 80, /* GL_BLEND_DST_ALPHA */
- 94, /* GL_BLEND_SRC_ALPHA */
- 214, /* GL_COLOR_TABLE */
- 1313, /* GL_POST_CONVOLUTION_COLOR_TABLE */
- 1296, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
- 1373, /* GL_PROXY_COLOR_TABLE */
- 1377, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
- 1376, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
- 238, /* GL_COLOR_TABLE_SCALE */
- 218, /* GL_COLOR_TABLE_BIAS */
- 223, /* GL_COLOR_TABLE_FORMAT */
- 240, /* GL_COLOR_TABLE_WIDTH */
- 235, /* GL_COLOR_TABLE_RED_SIZE */
- 226, /* GL_COLOR_TABLE_GREEN_SIZE */
- 220, /* GL_COLOR_TABLE_BLUE_SIZE */
- 215, /* GL_COLOR_TABLE_ALPHA_SIZE */
- 232, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
- 229, /* GL_COLOR_TABLE_INTENSITY_SIZE */
- 71, /* GL_BGR */
- 72, /* GL_BGRA */
- 951, /* GL_MAX_ELEMENTS_VERTICES */
- 950, /* GL_MAX_ELEMENTS_INDICES */
- 1865, /* GL_TEXTURE_INDEX_SIZE_EXT */
- 157, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
- 1259, /* GL_POINT_SIZE_MIN */
- 1255, /* GL_POINT_SIZE_MAX */
- 1244, /* GL_POINT_FADE_THRESHOLD_SIZE */
- 1240, /* GL_POINT_DISTANCE_ATTENUATION */
- 139, /* GL_CLAMP_TO_BORDER */
- 142, /* GL_CLAMP_TO_EDGE */
- 1887, /* GL_TEXTURE_MIN_LOD */
- 1885, /* GL_TEXTURE_MAX_LOD */
- 1776, /* GL_TEXTURE_BASE_LEVEL */
- 1884, /* GL_TEXTURE_MAX_LEVEL */
- 678, /* GL_IGNORE_BORDER_HP */
- 289, /* GL_CONSTANT_BORDER_HP */
- 1467, /* GL_REPLICATE_BORDER_HP */
- 295, /* GL_CONVOLUTION_BORDER_COLOR */
- 1151, /* GL_OCCLUSION_TEST_HP */
- 1152, /* GL_OCCLUSION_TEST_RESULT_HP */
- 756, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
- 1793, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
- 1795, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
- 1797, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
- 1798, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1796, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
- 1794, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
- 931, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
- 932, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
- 1323, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
- 1325, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
- 1322, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
- 1324, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
- 1873, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
- 1874, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
- 1872, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
- 640, /* GL_GENERATE_MIPMAP */
- 641, /* GL_GENERATE_MIPMAP_HINT */
- 555, /* GL_FOG_OFFSET_SGIX */
- 556, /* GL_FOG_OFFSET_VALUE_SGIX */
- 1807, /* GL_TEXTURE_COMPARE_SGIX */
- 1806, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
- 1869, /* GL_TEXTURE_LEQUAL_R_SGIX */
- 1861, /* GL_TEXTURE_GEQUAL_R_SGIX */
- 377, /* GL_DEPTH_COMPONENT16 */
- 381, /* GL_DEPTH_COMPONENT24 */
- 385, /* GL_DEPTH_COMPONENT32 */
- 320, /* GL_CULL_VERTEX_EXT */
- 322, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
- 321, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
- 2055, /* GL_WRAP_BORDER_SUN */
- 1800, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
- 749, /* GL_LIGHT_MODEL_COLOR_CONTROL */
- 1577, /* GL_SINGLE_COLOR */
- 1561, /* GL_SEPARATE_SPECULAR_COLOR */
- 1572, /* GL_SHARED_TEXTURE_PALETTE_EXT */
- 567, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
- 568, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
- 578, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
- 570, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
- 566, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
- 565, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
- 569, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
- 579, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
- 596, /* GL_FRAMEBUFFER_DEFAULT */
- 622, /* GL_FRAMEBUFFER_UNDEFINED */
- 393, /* GL_DEPTH_STENCIL_ATTACHMENT */
- 686, /* GL_INDEX */
- 1952, /* GL_UNSIGNED_BYTE_2_3_3_REV */
- 1973, /* GL_UNSIGNED_SHORT_5_6_5 */
- 1974, /* GL_UNSIGNED_SHORT_5_6_5_REV */
- 1970, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
- 1967, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
- 1964, /* GL_UNSIGNED_INT_8_8_8_8_REV */
- 1961, /* GL_UNSIGNED_INT_2_10_10_10_REV */
- 1882, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
- 1883, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
- 1881, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
- 1047, /* GL_MIRRORED_REPEAT */
- 1515, /* GL_RGB_S3TC */
- 1484, /* GL_RGB4_S3TC */
- 1513, /* GL_RGBA_S3TC */
- 1506, /* GL_RGBA4_S3TC */
- 1511, /* GL_RGBA_DXT5_S3TC */
- 1503, /* GL_RGBA4_DXT5_S3TC */
- 277, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
- 272, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
- 273, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
- 274, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
- 1109, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
- 1108, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
- 757, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
- 542, /* GL_FOG_COORDINATE_SOURCE */
- 534, /* GL_FOG_COORD */
- 558, /* GL_FRAGMENT_DEPTH */
- 326, /* GL_CURRENT_FOG_COORD */
- 541, /* GL_FOG_COORDINATE_ARRAY_TYPE */
- 540, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
- 539, /* GL_FOG_COORDINATE_ARRAY_POINTER */
- 536, /* GL_FOG_COORDINATE_ARRAY */
- 212, /* GL_COLOR_SUM */
- 347, /* GL_CURRENT_SECONDARY_COLOR */
- 1553, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
- 1555, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
- 1554, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
- 1552, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
- 1549, /* GL_SECONDARY_COLOR_ARRAY */
- 345, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
- 28, /* GL_ALIASED_POINT_SIZE_RANGE */
- 27, /* GL_ALIASED_LINE_WIDTH_RANGE */
- 1704, /* GL_TEXTURE0 */
- 1706, /* GL_TEXTURE1 */
- 1728, /* GL_TEXTURE2 */
- 1750, /* GL_TEXTURE3 */
- 1756, /* GL_TEXTURE4 */
- 1758, /* GL_TEXTURE5 */
- 1760, /* GL_TEXTURE6 */
- 1762, /* GL_TEXTURE7 */
- 1764, /* GL_TEXTURE8 */
- 1766, /* GL_TEXTURE9 */
- 1707, /* GL_TEXTURE10 */
- 1709, /* GL_TEXTURE11 */
- 1711, /* GL_TEXTURE12 */
- 1713, /* GL_TEXTURE13 */
- 1715, /* GL_TEXTURE14 */
- 1717, /* GL_TEXTURE15 */
- 1719, /* GL_TEXTURE16 */
- 1721, /* GL_TEXTURE17 */
- 1723, /* GL_TEXTURE18 */
- 1725, /* GL_TEXTURE19 */
- 1729, /* GL_TEXTURE20 */
- 1731, /* GL_TEXTURE21 */
- 1733, /* GL_TEXTURE22 */
- 1735, /* GL_TEXTURE23 */
- 1737, /* GL_TEXTURE24 */
- 1739, /* GL_TEXTURE25 */
- 1741, /* GL_TEXTURE26 */
- 1743, /* GL_TEXTURE27 */
- 1745, /* GL_TEXTURE28 */
- 1747, /* GL_TEXTURE29 */
- 1751, /* GL_TEXTURE30 */
- 1753, /* GL_TEXTURE31 */
- 18, /* GL_ACTIVE_TEXTURE */
- 145, /* GL_CLIENT_ACTIVE_TEXTURE */
- 1015, /* GL_MAX_TEXTURE_UNITS */
- 1927, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
- 1930, /* GL_TRANSPOSE_PROJECTION_MATRIX */
- 1932, /* GL_TRANSPOSE_TEXTURE_MATRIX */
- 1924, /* GL_TRANSPOSE_COLOR_MATRIX */
- 1686, /* GL_SUBTRACT */
- 998, /* GL_MAX_RENDERBUFFER_SIZE */
- 260, /* GL_COMPRESSED_ALPHA */
- 264, /* GL_COMPRESSED_LUMINANCE */
- 265, /* GL_COMPRESSED_LUMINANCE_ALPHA */
- 262, /* GL_COMPRESSED_INTENSITY */
- 268, /* GL_COMPRESSED_RGB */
- 269, /* GL_COMPRESSED_RGBA */
- 1814, /* GL_TEXTURE_COMPRESSION_HINT */
- 1891, /* GL_TEXTURE_RECTANGLE_ARB */
- 1786, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
- 1388, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
- 996, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
- 392, /* GL_DEPTH_STENCIL */
- 1957, /* GL_UNSIGNED_INT_24_8 */
- 1010, /* GL_MAX_TEXTURE_LOD_BIAS */
- 1880, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
- 1012, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
- 1852, /* GL_TEXTURE_FILTER_CONTROL */
- 1870, /* GL_TEXTURE_LOD_BIAS */
- 245, /* GL_COMBINE4 */
- 1004, /* GL_MAX_SHININESS_NV */
- 1005, /* GL_MAX_SPOT_EXPONENT_NV */
- 684, /* GL_INCR_WRAP */
- 358, /* GL_DECR_WRAP */
- 1067, /* GL_MODELVIEW1_ARB */
- 1125, /* GL_NORMAL_MAP */
- 1427, /* GL_REFLECTION_MAP */
- 1824, /* GL_TEXTURE_CUBE_MAP */
- 1783, /* GL_TEXTURE_BINDING_CUBE_MAP */
- 1836, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
- 1826, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
- 1839, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
- 1829, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
- 1842, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
- 1832, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
- 1386, /* GL_PROXY_TEXTURE_CUBE_MAP */
- 944, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
- 1103, /* GL_MULTISAMPLE_FILTER_HINT_NV */
- 550, /* GL_FOG_DISTANCE_MODE_NV */
- 499, /* GL_EYE_RADIAL_NV */
- 498, /* GL_EYE_PLANE_ABSOLUTE_NV */
- 244, /* GL_COMBINE */
- 251, /* GL_COMBINE_RGB */
- 246, /* GL_COMBINE_ALPHA */
- 1516, /* GL_RGB_SCALE */
- 24, /* GL_ADD_SIGNED */
- 713, /* GL_INTERPOLATE */
- 284, /* GL_CONSTANT */
- 1329, /* GL_PRIMARY_COLOR */
- 1326, /* GL_PREVIOUS */
- 1592, /* GL_SOURCE0_RGB */
- 1598, /* GL_SOURCE1_RGB */
- 1604, /* GL_SOURCE2_RGB */
- 1608, /* GL_SOURCE3_RGB_NV */
- 1589, /* GL_SOURCE0_ALPHA */
- 1595, /* GL_SOURCE1_ALPHA */
- 1601, /* GL_SOURCE2_ALPHA */
- 1607, /* GL_SOURCE3_ALPHA_NV */
- 1165, /* GL_OPERAND0_RGB */
- 1171, /* GL_OPERAND1_RGB */
- 1177, /* GL_OPERAND2_RGB */
- 1181, /* GL_OPERAND3_RGB_NV */
- 1162, /* GL_OPERAND0_ALPHA */
- 1168, /* GL_OPERAND1_ALPHA */
- 1174, /* GL_OPERAND2_ALPHA */
- 1180, /* GL_OPERAND3_ALPHA_NV */
- 120, /* GL_BUFFER_OBJECT_APPLE */
- 1986, /* GL_VERTEX_ARRAY_BINDING */
- 1889, /* GL_TEXTURE_RANGE_LENGTH_APPLE */
- 1890, /* GL_TEXTURE_RANGE_POINTER_APPLE */
- 2060, /* GL_YCBCR_422_APPLE */
- 1975, /* GL_UNSIGNED_SHORT_8_8_APPLE */
- 1977, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
- 1899, /* GL_TEXTURE_STORAGE_HINT_APPLE */
- 1677, /* GL_STORAGE_PRIVATE_APPLE */
- 1676, /* GL_STORAGE_CACHED_APPLE */
- 1678, /* GL_STORAGE_SHARED_APPLE */
- 1579, /* GL_SLICE_ACCUM_SUN */
- 1396, /* GL_QUAD_MESH_SUN */
- 1937, /* GL_TRIANGLE_MESH_SUN */
- 2025, /* GL_VERTEX_PROGRAM_ARB */
- 2036, /* GL_VERTEX_STATE_PROGRAM_NV */
- 2012, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
- 2018, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
- 2020, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
- 2022, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
- 349, /* GL_CURRENT_VERTEX_ATTRIB */
- 1345, /* GL_PROGRAM_LENGTH_ARB */
- 1360, /* GL_PROGRAM_STRING_ARB */
- 1090, /* GL_MODELVIEW_PROJECTION_NV */
- 677, /* GL_IDENTITY_NV */
- 729, /* GL_INVERSE_NV */
- 1929, /* GL_TRANSPOSE_NV */
- 730, /* GL_INVERSE_TRANSPOSE_NV */
- 982, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
- 981, /* GL_MAX_PROGRAM_MATRICES_ARB */
- 872, /* GL_MATRIX0_NV */
- 884, /* GL_MATRIX1_NV */
- 896, /* GL_MATRIX2_NV */
- 900, /* GL_MATRIX3_NV */
- 902, /* GL_MATRIX4_NV */
- 904, /* GL_MATRIX5_NV */
- 906, /* GL_MATRIX6_NV */
- 908, /* GL_MATRIX7_NV */
- 332, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
- 329, /* GL_CURRENT_MATRIX_ARB */
- 2028, /* GL_VERTEX_PROGRAM_POINT_SIZE */
- 2031, /* GL_VERTEX_PROGRAM_TWO_SIDE */
- 1357, /* GL_PROGRAM_PARAMETER_NV */
- 2016, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
- 1362, /* GL_PROGRAM_TARGET_NV */
- 1359, /* GL_PROGRAM_RESIDENT_NV */
- 1909, /* GL_TRACK_MATRIX_NV */
- 1910, /* GL_TRACK_MATRIX_TRANSFORM_NV */
- 2026, /* GL_VERTEX_PROGRAM_BINDING_NV */
- 1339, /* GL_PROGRAM_ERROR_POSITION_ARB */
- 373, /* GL_DEPTH_CLAMP */
- 1994, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
- 2001, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
- 2002, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
- 2003, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
- 2004, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
- 2005, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
- 2006, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
- 2007, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
- 2008, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
- 2009, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
- 1995, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
- 1996, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
- 1997, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
- 1998, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
- 1999, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
- 2000, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
- 820, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
- 827, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
- 828, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
- 829, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
- 830, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
- 831, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
- 832, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
- 833, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
- 834, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
- 835, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
- 821, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
- 822, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
- 823, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
- 824, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
- 825, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
- 826, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
- 847, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
- 854, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
- 855, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
- 856, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
- 857, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
- 858, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
- 859, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
- 1338, /* GL_PROGRAM_BINDING_ARB */
- 861, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
- 862, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
- 848, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
- 849, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
- 850, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
- 851, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
- 852, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
- 853, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
- 1812, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
- 1809, /* GL_TEXTURE_COMPRESSED */
- 1131, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
- 282, /* GL_COMPRESSED_TEXTURE_FORMATS */
- 1033, /* GL_MAX_VERTEX_UNITS_ARB */
- 22, /* GL_ACTIVE_VERTEX_UNITS_ARB */
- 2054, /* GL_WEIGHT_SUM_UNITY_ARB */
- 2024, /* GL_VERTEX_BLEND_ARB */
- 351, /* GL_CURRENT_WEIGHT_ARB */
- 2052, /* GL_WEIGHT_ARRAY_TYPE_ARB */
- 2050, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
- 2048, /* GL_WEIGHT_ARRAY_SIZE_ARB */
- 2046, /* GL_WEIGHT_ARRAY_POINTER_ARB */
- 2041, /* GL_WEIGHT_ARRAY_ARB */
- 407, /* GL_DOT3_RGB */
- 408, /* GL_DOT3_RGBA */
- 276, /* GL_COMPRESSED_RGB_FXT1_3DFX */
- 271, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
- 1098, /* GL_MULTISAMPLE_3DFX */
- 1538, /* GL_SAMPLE_BUFFERS_3DFX */
- 1529, /* GL_SAMPLES_3DFX */
- 1078, /* GL_MODELVIEW2_ARB */
- 1081, /* GL_MODELVIEW3_ARB */
- 1082, /* GL_MODELVIEW4_ARB */
- 1083, /* GL_MODELVIEW5_ARB */
- 1084, /* GL_MODELVIEW6_ARB */
- 1085, /* GL_MODELVIEW7_ARB */
- 1086, /* GL_MODELVIEW8_ARB */
- 1087, /* GL_MODELVIEW9_ARB */
- 1057, /* GL_MODELVIEW10_ARB */
- 1058, /* GL_MODELVIEW11_ARB */
- 1059, /* GL_MODELVIEW12_ARB */
- 1060, /* GL_MODELVIEW13_ARB */
- 1061, /* GL_MODELVIEW14_ARB */
- 1062, /* GL_MODELVIEW15_ARB */
- 1063, /* GL_MODELVIEW16_ARB */
- 1064, /* GL_MODELVIEW17_ARB */
- 1065, /* GL_MODELVIEW18_ARB */
- 1066, /* GL_MODELVIEW19_ARB */
- 1068, /* GL_MODELVIEW20_ARB */
- 1069, /* GL_MODELVIEW21_ARB */
- 1070, /* GL_MODELVIEW22_ARB */
- 1071, /* GL_MODELVIEW23_ARB */
- 1072, /* GL_MODELVIEW24_ARB */
- 1073, /* GL_MODELVIEW25_ARB */
- 1074, /* GL_MODELVIEW26_ARB */
- 1075, /* GL_MODELVIEW27_ARB */
- 1076, /* GL_MODELVIEW28_ARB */
- 1077, /* GL_MODELVIEW29_ARB */
- 1079, /* GL_MODELVIEW30_ARB */
- 1080, /* GL_MODELVIEW31_ARB */
- 412, /* GL_DOT3_RGB_EXT */
- 410, /* GL_DOT3_RGBA_EXT */
- 1051, /* GL_MIRROR_CLAMP_EXT */
- 1054, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
- 1093, /* GL_MODULATE_ADD_ATI */
- 1094, /* GL_MODULATE_SIGNED_ADD_ATI */
- 1095, /* GL_MODULATE_SUBTRACT_ATI */
- 2061, /* GL_YCBCR_MESA */
- 1189, /* GL_PACK_INVERT_MESA */
- 354, /* GL_DEBUG_OBJECT_MESA */
- 355, /* GL_DEBUG_PRINT_MESA */
- 353, /* GL_DEBUG_ASSERT_MESA */
- 122, /* GL_BUFFER_SIZE */
- 124, /* GL_BUFFER_USAGE */
- 128, /* GL_BUMP_ROT_MATRIX_ATI */
- 129, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
- 127, /* GL_BUMP_NUM_TEX_UNITS_ATI */
- 131, /* GL_BUMP_TEX_UNITS_ATI */
- 472, /* GL_DUDV_ATI */
- 471, /* GL_DU8DV8_ATI */
- 126, /* GL_BUMP_ENVMAP_ATI */
- 130, /* GL_BUMP_TARGET_ATI */
- 1133, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */
- 1336, /* GL_PROGRAM_BINARY_FORMATS_OES */
- 1641, /* GL_STENCIL_BACK_FUNC */
- 1639, /* GL_STENCIL_BACK_FAIL */
- 1643, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
- 1645, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
- 559, /* GL_FRAGMENT_PROGRAM_ARB */
- 1334, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 1365, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 1364, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
- 1348, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 1354, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 1353, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 971, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
- 994, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
- 993, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
- 984, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
- 990, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
- 989, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
- 947, /* GL_MAX_DRAW_BUFFERS */
- 416, /* GL_DRAW_BUFFER0 */
- 419, /* GL_DRAW_BUFFER1 */
- 440, /* GL_DRAW_BUFFER2 */
- 443, /* GL_DRAW_BUFFER3 */
- 446, /* GL_DRAW_BUFFER4 */
- 449, /* GL_DRAW_BUFFER5 */
- 452, /* GL_DRAW_BUFFER6 */
- 455, /* GL_DRAW_BUFFER7 */
- 458, /* GL_DRAW_BUFFER8 */
- 461, /* GL_DRAW_BUFFER9 */
- 420, /* GL_DRAW_BUFFER10 */
- 423, /* GL_DRAW_BUFFER11 */
- 426, /* GL_DRAW_BUFFER12 */
- 429, /* GL_DRAW_BUFFER13 */
- 432, /* GL_DRAW_BUFFER14 */
- 435, /* GL_DRAW_BUFFER15 */
- 85, /* GL_BLEND_EQUATION_ALPHA */
- 923, /* GL_MATRIX_PALETTE_ARB */
- 964, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
- 967, /* GL_MAX_PALETTE_MATRICES_ARB */
- 335, /* GL_CURRENT_PALETTE_MATRIX_ARB */
- 911, /* GL_MATRIX_INDEX_ARRAY_ARB */
- 330, /* GL_CURRENT_MATRIX_INDEX_ARB */
- 916, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
- 920, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
- 918, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
- 914, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
- 1847, /* GL_TEXTURE_DEPTH_SIZE */
- 400, /* GL_DEPTH_TEXTURE_MODE */
- 1804, /* GL_TEXTURE_COMPARE_MODE */
- 1802, /* GL_TEXTURE_COMPARE_FUNC */
- 255, /* GL_COMPARE_R_TO_TEXTURE */
- 1266, /* GL_POINT_SPRITE */
- 309, /* GL_COORD_REPLACE */
- 1271, /* GL_POINT_SPRITE_R_MODE_NV */
- 1400, /* GL_QUERY_COUNTER_BITS */
- 338, /* GL_CURRENT_QUERY */
- 1403, /* GL_QUERY_RESULT */
- 1405, /* GL_QUERY_RESULT_AVAILABLE */
- 1026, /* GL_MAX_VERTEX_ATTRIBS */
- 2014, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
- 398, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
- 397, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
- 1006, /* GL_MAX_TEXTURE_COORDS */
- 1008, /* GL_MAX_TEXTURE_IMAGE_UNITS */
- 1341, /* GL_PROGRAM_ERROR_STRING_ARB */
- 1343, /* GL_PROGRAM_FORMAT_ASCII_ARB */
- 1342, /* GL_PROGRAM_FORMAT_ARB */
- 1901, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
- 371, /* GL_DEPTH_BOUNDS_TEST_EXT */
- 370, /* GL_DEPTH_BOUNDS_EXT */
- 53, /* GL_ARRAY_BUFFER */
- 485, /* GL_ELEMENT_ARRAY_BUFFER */
- 54, /* GL_ARRAY_BUFFER_BINDING */
- 486, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
- 1988, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
- 1120, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
- 161, /* GL_COLOR_ARRAY_BUFFER_BINDING */
- 688, /* GL_INDEX_ARRAY_BUFFER_BINDING */
- 1817, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
- 481, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
- 1550, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
- 537, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
- 2042, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
- 2010, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
- 1344, /* GL_PROGRAM_INSTRUCTIONS_ARB */
- 977, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
- 1350, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 986, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
- 1363, /* GL_PROGRAM_TEMPORARIES_ARB */
- 992, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
- 1352, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 988, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
- 1356, /* GL_PROGRAM_PARAMETERS_ARB */
- 991, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
- 1351, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
- 987, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
- 1335, /* GL_PROGRAM_ATTRIBS_ARB */
- 972, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
- 1349, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
- 985, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
- 1333, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
- 970, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
- 1347, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 983, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
- 978, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
- 974, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
- 1366, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
- 1926, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
- 1417, /* GL_READ_ONLY */
- 2056, /* GL_WRITE_ONLY */
- 1419, /* GL_READ_WRITE */
- 110, /* GL_BUFFER_ACCESS */
- 114, /* GL_BUFFER_MAPPED */
- 117, /* GL_BUFFER_MAP_POINTER */
- 1908, /* GL_TIME_ELAPSED_EXT */
- 871, /* GL_MATRIX0_ARB */
- 883, /* GL_MATRIX1_ARB */
- 895, /* GL_MATRIX2_ARB */
- 899, /* GL_MATRIX3_ARB */
- 901, /* GL_MATRIX4_ARB */
- 903, /* GL_MATRIX5_ARB */
- 905, /* GL_MATRIX6_ARB */
- 907, /* GL_MATRIX7_ARB */
- 909, /* GL_MATRIX8_ARB */
- 910, /* GL_MATRIX9_ARB */
- 873, /* GL_MATRIX10_ARB */
- 874, /* GL_MATRIX11_ARB */
- 875, /* GL_MATRIX12_ARB */
- 876, /* GL_MATRIX13_ARB */
- 877, /* GL_MATRIX14_ARB */
- 878, /* GL_MATRIX15_ARB */
- 879, /* GL_MATRIX16_ARB */
- 880, /* GL_MATRIX17_ARB */
- 881, /* GL_MATRIX18_ARB */
- 882, /* GL_MATRIX19_ARB */
- 885, /* GL_MATRIX20_ARB */
- 886, /* GL_MATRIX21_ARB */
- 887, /* GL_MATRIX22_ARB */
- 888, /* GL_MATRIX23_ARB */
- 889, /* GL_MATRIX24_ARB */
- 890, /* GL_MATRIX25_ARB */
- 891, /* GL_MATRIX26_ARB */
- 892, /* GL_MATRIX27_ARB */
- 893, /* GL_MATRIX28_ARB */
- 894, /* GL_MATRIX29_ARB */
- 897, /* GL_MATRIX30_ARB */
- 898, /* GL_MATRIX31_ARB */
- 1681, /* GL_STREAM_DRAW */
- 1683, /* GL_STREAM_READ */
- 1679, /* GL_STREAM_COPY */
- 1631, /* GL_STATIC_DRAW */
- 1633, /* GL_STATIC_READ */
- 1629, /* GL_STATIC_COPY */
- 475, /* GL_DYNAMIC_DRAW */
- 477, /* GL_DYNAMIC_READ */
- 473, /* GL_DYNAMIC_COPY */
- 1229, /* GL_PIXEL_PACK_BUFFER */
- 1233, /* GL_PIXEL_UNPACK_BUFFER */
- 1230, /* GL_PIXEL_PACK_BUFFER_BINDING */
- 1234, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
- 362, /* GL_DEPTH24_STENCIL8 */
- 1897, /* GL_TEXTURE_STENCIL_SIZE */
- 1845, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */
- 973, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
- 976, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
- 980, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
- 979, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
- 928, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
- 1672, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
- 17, /* GL_ACTIVE_STENCIL_FACE_EXT */
- 1052, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
- 1531, /* GL_SAMPLES_PASSED */
- 1253, /* GL_POINT_SIZE_ARRAY_TYPE_OES */
- 1252, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */
- 1251, /* GL_POINT_SIZE_ARRAY_POINTER_OES */
- 1089, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */
- 1369, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */
- 1879, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */
- 121, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */
- 113, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */
- 1431, /* GL_RELEASED_APPLE */
- 2039, /* GL_VOLATILE_APPLE */
- 1470, /* GL_RETAINED_APPLE */
- 1941, /* GL_UNDEFINED_APPLE */
- 1390, /* GL_PURGEABLE_APPLE */
- 560, /* GL_FRAGMENT_SHADER */
- 2034, /* GL_VERTEX_SHADER */
- 1355, /* GL_PROGRAM_OBJECT_ARB */
- 1566, /* GL_SHADER_OBJECT_ARB */
- 954, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
- 1030, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
- 1023, /* GL_MAX_VARYING_FLOATS */
- 1028, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
- 938, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
- 1149, /* GL_OBJECT_TYPE_ARB */
- 1568, /* GL_SHADER_TYPE */
- 525, /* GL_FLOAT_VEC2 */
- 527, /* GL_FLOAT_VEC3 */
- 529, /* GL_FLOAT_VEC4 */
- 717, /* GL_INT_VEC2 */
- 719, /* GL_INT_VEC3 */
- 721, /* GL_INT_VEC4 */
- 102, /* GL_BOOL */
- 104, /* GL_BOOL_VEC2 */
- 106, /* GL_BOOL_VEC3 */
- 108, /* GL_BOOL_VEC4 */
- 513, /* GL_FLOAT_MAT2 */
- 517, /* GL_FLOAT_MAT3 */
- 521, /* GL_FLOAT_MAT4 */
- 1521, /* GL_SAMPLER_1D */
- 1523, /* GL_SAMPLER_2D */
- 1525, /* GL_SAMPLER_3D */
- 1527, /* GL_SAMPLER_CUBE */
- 1522, /* GL_SAMPLER_1D_SHADOW */
- 1524, /* GL_SAMPLER_2D_SHADOW */
- 515, /* GL_FLOAT_MAT2x3 */
- 516, /* GL_FLOAT_MAT2x4 */
- 519, /* GL_FLOAT_MAT3x2 */
- 520, /* GL_FLOAT_MAT3x4 */
- 523, /* GL_FLOAT_MAT4x2 */
- 524, /* GL_FLOAT_MAT4x3 */
- 360, /* GL_DELETE_STATUS */
- 259, /* GL_COMPILE_STATUS */
- 776, /* GL_LINK_STATUS */
- 1982, /* GL_VALIDATE_STATUS */
- 700, /* GL_INFO_LOG_LENGTH */
- 56, /* GL_ATTACHED_SHADERS */
- 20, /* GL_ACTIVE_UNIFORMS */
- 21, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
- 1567, /* GL_SHADER_SOURCE_LENGTH */
+ 424, /* GL_DOUBLE */
+ 666, /* GL_HALF_FLOAT */
+ 520, /* GL_FIXED */
+ 155, /* GL_CLEAR */
+ 58, /* GL_AND */
+ 60, /* GL_AND_REVERSE */
+ 324, /* GL_COPY */
+ 59, /* GL_AND_INVERTED */
+ 1148, /* GL_NOOP */
+ 2109, /* GL_XOR */
+ 1214, /* GL_OR */
+ 1149, /* GL_NOR */
+ 502, /* GL_EQUIV */
+ 749, /* GL_INVERT */
+ 1217, /* GL_OR_REVERSE */
+ 325, /* GL_COPY_INVERTED */
+ 1216, /* GL_OR_INVERTED */
+ 1138, /* GL_NAND */
+ 1613, /* GL_SET */
+ 499, /* GL_EMISSION */
+ 1623, /* GL_SHININESS */
+ 57, /* GL_AMBIENT_AND_DIFFUSE */
+ 214, /* GL_COLOR_INDEXES */
+ 1087, /* GL_MODELVIEW */
+ 1401, /* GL_PROJECTION */
+ 1753, /* GL_TEXTURE */
+ 170, /* GL_COLOR */
+ 372, /* GL_DEPTH */
+ 1685, /* GL_STENCIL */
+ 213, /* GL_COLOR_INDEX */
+ 1705, /* GL_STENCIL_INDEX */
+ 387, /* GL_DEPTH_COMPONENT */
+ 1455, /* GL_RED */
+ 661, /* GL_GREEN */
+ 108, /* GL_BLUE */
+ 32, /* GL_ALPHA */
+ 1507, /* GL_RGB */
+ 1536, /* GL_RGBA */
+ 805, /* GL_LUMINANCE */
+ 832, /* GL_LUMINANCE_ALPHA */
+ 84, /* GL_BITMAP */
+ 1269, /* GL_POINT */
+ 771, /* GL_LINE */
+ 517, /* GL_FILL */
+ 1467, /* GL_RENDER */
+ 513, /* GL_FEEDBACK */
+ 1606, /* GL_SELECT */
+ 522, /* GL_FLAT */
+ 1634, /* GL_SMOOTH */
+ 750, /* GL_KEEP */
+ 1500, /* GL_REPLACE */
+ 695, /* GL_INCR */
+ 368, /* GL_DECR */
+ 2033, /* GL_VENDOR */
+ 1497, /* GL_RENDERER */
+ 2034, /* GL_VERSION */
+ 506, /* GL_EXTENSIONS */
+ 1570, /* GL_S */
+ 1744, /* GL_T */
+ 1442, /* GL_R */
+ 1425, /* GL_Q */
+ 1124, /* GL_MODULATE */
+ 367, /* GL_DECAL */
+ 1901, /* GL_TEXTURE_ENV_MODE */
+ 1900, /* GL_TEXTURE_ENV_COLOR */
+ 1899, /* GL_TEXTURE_ENV */
+ 507, /* GL_EYE_LINEAR */
+ 1175, /* GL_OBJECT_LINEAR */
+ 1660, /* GL_SPHERE_MAP */
+ 1904, /* GL_TEXTURE_GEN_MODE */
+ 1177, /* GL_OBJECT_PLANE */
+ 508, /* GL_EYE_PLANE */
+ 1139, /* GL_NEAREST */
+ 772, /* GL_LINEAR */
+ 1143, /* GL_NEAREST_MIPMAP_NEAREST */
+ 777, /* GL_LINEAR_MIPMAP_NEAREST */
+ 1142, /* GL_NEAREST_MIPMAP_LINEAR */
+ 776, /* GL_LINEAR_MIPMAP_LINEAR */
+ 1927, /* GL_TEXTURE_MAG_FILTER */
+ 1936, /* GL_TEXTURE_MIN_FILTER */
+ 1955, /* GL_TEXTURE_WRAP_S */
+ 1956, /* GL_TEXTURE_WRAP_T */
+ 149, /* GL_CLAMP */
+ 1499, /* GL_REPEAT */
+ 1313, /* GL_POLYGON_OFFSET_UNITS */
+ 1312, /* GL_POLYGON_OFFSET_POINT */
+ 1311, /* GL_POLYGON_OFFSET_LINE */
+ 1443, /* GL_R3_G3_B2 */
+ 2030, /* GL_V2F */
+ 2031, /* GL_V3F */
+ 146, /* GL_C4UB_V2F */
+ 147, /* GL_C4UB_V3F */
+ 144, /* GL_C3F_V3F */
+ 1136, /* GL_N3F_V3F */
+ 145, /* GL_C4F_N3F_V3F */
+ 1749, /* GL_T2F_V3F */
+ 1751, /* GL_T4F_V4F */
+ 1747, /* GL_T2F_C4UB_V3F */
+ 1745, /* GL_T2F_C3F_V3F */
+ 1748, /* GL_T2F_N3F_V3F */
+ 1746, /* GL_T2F_C4F_N3F_V3F */
+ 1750, /* GL_T4F_C4F_N3F_V4F */
+ 162, /* GL_CLIP_PLANE0 */
+ 163, /* GL_CLIP_PLANE1 */
+ 164, /* GL_CLIP_PLANE2 */
+ 165, /* GL_CLIP_PLANE3 */
+ 166, /* GL_CLIP_PLANE4 */
+ 167, /* GL_CLIP_PLANE5 */
+ 756, /* GL_LIGHT0 */
+ 757, /* GL_LIGHT1 */
+ 758, /* GL_LIGHT2 */
+ 759, /* GL_LIGHT3 */
+ 760, /* GL_LIGHT4 */
+ 761, /* GL_LIGHT5 */
+ 762, /* GL_LIGHT6 */
+ 763, /* GL_LIGHT7 */
+ 670, /* GL_HINT_BIT */
+ 301, /* GL_CONSTANT_COLOR */
+ 1188, /* GL_ONE_MINUS_CONSTANT_COLOR */
+ 296, /* GL_CONSTANT_ALPHA */
+ 1186, /* GL_ONE_MINUS_CONSTANT_ALPHA */
+ 87, /* GL_BLEND_COLOR */
+ 642, /* GL_FUNC_ADD */
+ 1071, /* GL_MIN */
+ 957, /* GL_MAX */
+ 94, /* GL_BLEND_EQUATION */
+ 648, /* GL_FUNC_SUBTRACT */
+ 645, /* GL_FUNC_REVERSE_SUBTRACT */
+ 304, /* GL_CONVOLUTION_1D */
+ 305, /* GL_CONVOLUTION_2D */
+ 1609, /* GL_SEPARABLE_2D */
+ 308, /* GL_CONVOLUTION_BORDER_MODE */
+ 312, /* GL_CONVOLUTION_FILTER_SCALE */
+ 310, /* GL_CONVOLUTION_FILTER_BIAS */
+ 1456, /* GL_REDUCE */
+ 314, /* GL_CONVOLUTION_FORMAT */
+ 318, /* GL_CONVOLUTION_WIDTH */
+ 316, /* GL_CONVOLUTION_HEIGHT */
+ 974, /* GL_MAX_CONVOLUTION_WIDTH */
+ 972, /* GL_MAX_CONVOLUTION_HEIGHT */
+ 1352, /* GL_POST_CONVOLUTION_RED_SCALE */
+ 1348, /* GL_POST_CONVOLUTION_GREEN_SCALE */
+ 1343, /* GL_POST_CONVOLUTION_BLUE_SCALE */
+ 1339, /* GL_POST_CONVOLUTION_ALPHA_SCALE */
+ 1350, /* GL_POST_CONVOLUTION_RED_BIAS */
+ 1346, /* GL_POST_CONVOLUTION_GREEN_BIAS */
+ 1341, /* GL_POST_CONVOLUTION_BLUE_BIAS */
+ 1337, /* GL_POST_CONVOLUTION_ALPHA_BIAS */
+ 671, /* GL_HISTOGRAM */
+ 1408, /* GL_PROXY_HISTOGRAM */
+ 687, /* GL_HISTOGRAM_WIDTH */
+ 677, /* GL_HISTOGRAM_FORMAT */
+ 683, /* GL_HISTOGRAM_RED_SIZE */
+ 679, /* GL_HISTOGRAM_GREEN_SIZE */
+ 674, /* GL_HISTOGRAM_BLUE_SIZE */
+ 672, /* GL_HISTOGRAM_ALPHA_SIZE */
+ 681, /* GL_HISTOGRAM_LUMINANCE_SIZE */
+ 685, /* GL_HISTOGRAM_SINK */
+ 1072, /* GL_MINMAX */
+ 1074, /* GL_MINMAX_FORMAT */
+ 1076, /* GL_MINMAX_SINK */
+ 1752, /* GL_TABLE_TOO_LARGE_EXT */
+ 2003, /* GL_UNSIGNED_BYTE_3_3_2 */
+ 2019, /* GL_UNSIGNED_SHORT_4_4_4_4 */
+ 2022, /* GL_UNSIGNED_SHORT_5_5_5_1 */
+ 2013, /* GL_UNSIGNED_INT_8_8_8_8 */
+ 2005, /* GL_UNSIGNED_INT_10_10_10_2 */
+ 1310, /* GL_POLYGON_OFFSET_FILL */
+ 1309, /* GL_POLYGON_OFFSET_FACTOR */
+ 1308, /* GL_POLYGON_OFFSET_BIAS */
+ 1503, /* GL_RESCALE_NORMAL */
+ 41, /* GL_ALPHA4 */
+ 43, /* GL_ALPHA8 */
+ 33, /* GL_ALPHA12 */
+ 35, /* GL_ALPHA16 */
+ 820, /* GL_LUMINANCE4 */
+ 826, /* GL_LUMINANCE8 */
+ 806, /* GL_LUMINANCE12 */
+ 812, /* GL_LUMINANCE16 */
+ 821, /* GL_LUMINANCE4_ALPHA4 */
+ 824, /* GL_LUMINANCE6_ALPHA2 */
+ 829, /* GL_LUMINANCE8_ALPHA8 */
+ 809, /* GL_LUMINANCE12_ALPHA4 */
+ 807, /* GL_LUMINANCE12_ALPHA12 */
+ 815, /* GL_LUMINANCE16_ALPHA16 */
+ 714, /* GL_INTENSITY */
+ 723, /* GL_INTENSITY4 */
+ 725, /* GL_INTENSITY8 */
+ 715, /* GL_INTENSITY12 */
+ 717, /* GL_INTENSITY16 */
+ 1518, /* GL_RGB2_EXT */
+ 1521, /* GL_RGB4 */
+ 1524, /* GL_RGB5 */
+ 1531, /* GL_RGB8 */
+ 1508, /* GL_RGB10 */
+ 1512, /* GL_RGB12 */
+ 1514, /* GL_RGB16 */
+ 1543, /* GL_RGBA2 */
+ 1547, /* GL_RGBA4 */
+ 1527, /* GL_RGB5_A1 */
+ 1552, /* GL_RGBA8 */
+ 1509, /* GL_RGB10_A2 */
+ 1537, /* GL_RGBA12 */
+ 1539, /* GL_RGBA16 */
+ 1943, /* GL_TEXTURE_RED_SIZE */
+ 1912, /* GL_TEXTURE_GREEN_SIZE */
+ 1839, /* GL_TEXTURE_BLUE_SIZE */
+ 1824, /* GL_TEXTURE_ALPHA_SIZE */
+ 1925, /* GL_TEXTURE_LUMINANCE_SIZE */
+ 1916, /* GL_TEXTURE_INTENSITY_SIZE */
+ 1501, /* GL_REPLACE_EXT */
+ 1412, /* GL_PROXY_TEXTURE_1D */
+ 1415, /* GL_PROXY_TEXTURE_2D */
+ 1950, /* GL_TEXTURE_TOO_LARGE_EXT */
+ 1938, /* GL_TEXTURE_PRIORITY */
+ 1945, /* GL_TEXTURE_RESIDENT */
+ 1827, /* GL_TEXTURE_BINDING_1D */
+ 1829, /* GL_TEXTURE_BINDING_2D */
+ 1831, /* GL_TEXTURE_BINDING_3D */
+ 1224, /* GL_PACK_SKIP_IMAGES */
+ 1220, /* GL_PACK_IMAGE_HEIGHT */
+ 1996, /* GL_UNPACK_SKIP_IMAGES */
+ 1993, /* GL_UNPACK_IMAGE_HEIGHT */
+ 1822, /* GL_TEXTURE_3D */
+ 1418, /* GL_PROXY_TEXTURE_3D */
+ 1896, /* GL_TEXTURE_DEPTH */
+ 1953, /* GL_TEXTURE_WRAP_R */
+ 958, /* GL_MAX_3D_TEXTURE_SIZE */
+ 2035, /* GL_VERTEX_ARRAY */
+ 1151, /* GL_NORMAL_ARRAY */
+ 171, /* GL_COLOR_ARRAY */
+ 699, /* GL_INDEX_ARRAY */
+ 1866, /* GL_TEXTURE_COORD_ARRAY */
+ 491, /* GL_EDGE_FLAG_ARRAY */
+ 2041, /* GL_VERTEX_ARRAY_SIZE */
+ 2043, /* GL_VERTEX_ARRAY_TYPE */
+ 2042, /* GL_VERTEX_ARRAY_STRIDE */
+ 1156, /* GL_NORMAL_ARRAY_TYPE */
+ 1155, /* GL_NORMAL_ARRAY_STRIDE */
+ 175, /* GL_COLOR_ARRAY_SIZE */
+ 177, /* GL_COLOR_ARRAY_TYPE */
+ 176, /* GL_COLOR_ARRAY_STRIDE */
+ 704, /* GL_INDEX_ARRAY_TYPE */
+ 703, /* GL_INDEX_ARRAY_STRIDE */
+ 1870, /* GL_TEXTURE_COORD_ARRAY_SIZE */
+ 1872, /* GL_TEXTURE_COORD_ARRAY_TYPE */
+ 1871, /* GL_TEXTURE_COORD_ARRAY_STRIDE */
+ 495, /* GL_EDGE_FLAG_ARRAY_STRIDE */
+ 2040, /* GL_VERTEX_ARRAY_POINTER */
+ 1154, /* GL_NORMAL_ARRAY_POINTER */
+ 174, /* GL_COLOR_ARRAY_POINTER */
+ 702, /* GL_INDEX_ARRAY_POINTER */
+ 1869, /* GL_TEXTURE_COORD_ARRAY_POINTER */
+ 494, /* GL_EDGE_FLAG_ARRAY_POINTER */
+ 1129, /* GL_MULTISAMPLE */
+ 1583, /* GL_SAMPLE_ALPHA_TO_COVERAGE */
+ 1585, /* GL_SAMPLE_ALPHA_TO_ONE */
+ 1590, /* GL_SAMPLE_COVERAGE */
+ 1587, /* GL_SAMPLE_BUFFERS */
+ 1578, /* GL_SAMPLES */
+ 1594, /* GL_SAMPLE_COVERAGE_VALUE */
+ 1592, /* GL_SAMPLE_COVERAGE_INVERT */
+ 219, /* GL_COLOR_MATRIX */
+ 221, /* GL_COLOR_MATRIX_STACK_DEPTH */
+ 968, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */
+ 1335, /* GL_POST_COLOR_MATRIX_RED_SCALE */
+ 1331, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */
+ 1326, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */
+ 1322, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */
+ 1333, /* GL_POST_COLOR_MATRIX_RED_BIAS */
+ 1329, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */
+ 1324, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */
+ 1320, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */
+ 1849, /* GL_TEXTURE_COLOR_TABLE_SGI */
+ 1419, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */
+ 1851, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */
+ 92, /* GL_BLEND_DST_RGB */
+ 106, /* GL_BLEND_SRC_RGB */
+ 90, /* GL_BLEND_DST_ALPHA */
+ 104, /* GL_BLEND_SRC_ALPHA */
+ 225, /* GL_COLOR_TABLE */
+ 1345, /* GL_POST_CONVOLUTION_COLOR_TABLE */
+ 1328, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */
+ 1407, /* GL_PROXY_COLOR_TABLE */
+ 1411, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */
+ 1410, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */
+ 249, /* GL_COLOR_TABLE_SCALE */
+ 229, /* GL_COLOR_TABLE_BIAS */
+ 234, /* GL_COLOR_TABLE_FORMAT */
+ 251, /* GL_COLOR_TABLE_WIDTH */
+ 246, /* GL_COLOR_TABLE_RED_SIZE */
+ 237, /* GL_COLOR_TABLE_GREEN_SIZE */
+ 231, /* GL_COLOR_TABLE_BLUE_SIZE */
+ 226, /* GL_COLOR_TABLE_ALPHA_SIZE */
+ 243, /* GL_COLOR_TABLE_LUMINANCE_SIZE */
+ 240, /* GL_COLOR_TABLE_INTENSITY_SIZE */
+ 79, /* GL_BGR */
+ 80, /* GL_BGRA */
+ 983, /* GL_MAX_ELEMENTS_VERTICES */
+ 982, /* GL_MAX_ELEMENTS_INDICES */
+ 1915, /* GL_TEXTURE_INDEX_SIZE_EXT */
+ 168, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */
+ 1291, /* GL_POINT_SIZE_MIN */
+ 1287, /* GL_POINT_SIZE_MAX */
+ 1276, /* GL_POINT_FADE_THRESHOLD_SIZE */
+ 1272, /* GL_POINT_DISTANCE_ATTENUATION */
+ 150, /* GL_CLAMP_TO_BORDER */
+ 153, /* GL_CLAMP_TO_EDGE */
+ 1937, /* GL_TEXTURE_MIN_LOD */
+ 1935, /* GL_TEXTURE_MAX_LOD */
+ 1826, /* GL_TEXTURE_BASE_LEVEL */
+ 1934, /* GL_TEXTURE_MAX_LEVEL */
+ 690, /* GL_IGNORE_BORDER_HP */
+ 300, /* GL_CONSTANT_BORDER_HP */
+ 1502, /* GL_REPLICATE_BORDER_HP */
+ 306, /* GL_CONVOLUTION_BORDER_COLOR */
+ 1183, /* GL_OCCLUSION_TEST_HP */
+ 1184, /* GL_OCCLUSION_TEST_RESULT_HP */
+ 774, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */
+ 1843, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */
+ 1845, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */
+ 1847, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */
+ 1848, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ 1846, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */
+ 1844, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */
+ 963, /* GL_MAX_CLIPMAP_DEPTH_SGIX */
+ 964, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */
+ 1355, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */
+ 1357, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */
+ 1354, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */
+ 1356, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */
+ 1923, /* GL_TEXTURE_LOD_BIAS_S_SGIX */
+ 1924, /* GL_TEXTURE_LOD_BIAS_T_SGIX */
+ 1922, /* GL_TEXTURE_LOD_BIAS_R_SGIX */
+ 651, /* GL_GENERATE_MIPMAP */
+ 652, /* GL_GENERATE_MIPMAP_HINT */
+ 566, /* GL_FOG_OFFSET_SGIX */
+ 567, /* GL_FOG_OFFSET_VALUE_SGIX */
+ 1857, /* GL_TEXTURE_COMPARE_SGIX */
+ 1856, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */
+ 1919, /* GL_TEXTURE_LEQUAL_R_SGIX */
+ 1911, /* GL_TEXTURE_GEQUAL_R_SGIX */
+ 388, /* GL_DEPTH_COMPONENT16 */
+ 392, /* GL_DEPTH_COMPONENT24 */
+ 396, /* GL_DEPTH_COMPONENT32 */
+ 331, /* GL_CULL_VERTEX_EXT */
+ 333, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */
+ 332, /* GL_CULL_VERTEX_EYE_POSITION_EXT */
+ 2105, /* GL_WRAP_BORDER_SUN */
+ 1850, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */
+ 767, /* GL_LIGHT_MODEL_COLOR_CONTROL */
+ 1627, /* GL_SINGLE_COLOR */
+ 1611, /* GL_SEPARATE_SPECULAR_COLOR */
+ 1622, /* GL_SHARED_TEXTURE_PALETTE_EXT */
+ 578, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */
+ 579, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */
+ 589, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */
+ 581, /* GL_FRAMEBUFFER_ATTACHMENT_GREEN_SIZE */
+ 577, /* GL_FRAMEBUFFER_ATTACHMENT_BLUE_SIZE */
+ 576, /* GL_FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE */
+ 580, /* GL_FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE */
+ 590, /* GL_FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE */
+ 607, /* GL_FRAMEBUFFER_DEFAULT */
+ 633, /* GL_FRAMEBUFFER_UNDEFINED */
+ 404, /* GL_DEPTH_STENCIL_ATTACHMENT */
+ 698, /* GL_INDEX */
+ 2002, /* GL_UNSIGNED_BYTE_2_3_3_REV */
+ 2023, /* GL_UNSIGNED_SHORT_5_6_5 */
+ 2024, /* GL_UNSIGNED_SHORT_5_6_5_REV */
+ 2020, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */
+ 2017, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */
+ 2014, /* GL_UNSIGNED_INT_8_8_8_8_REV */
+ 2011, /* GL_UNSIGNED_INT_2_10_10_10_REV */
+ 1932, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */
+ 1933, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */
+ 1931, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */
+ 1079, /* GL_MIRRORED_REPEAT */
+ 1565, /* GL_RGB_S3TC */
+ 1523, /* GL_RGB4_S3TC */
+ 1562, /* GL_RGBA_S3TC */
+ 1551, /* GL_RGBA4_S3TC */
+ 1558, /* GL_RGBA_DXT5_S3TC */
+ 1548, /* GL_RGBA4_DXT5_S3TC */
+ 288, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */
+ 283, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */
+ 284, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */
+ 285, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */
+ 1141, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */
+ 1140, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */
+ 775, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */
+ 553, /* GL_FOG_COORDINATE_SOURCE */
+ 545, /* GL_FOG_COORD */
+ 569, /* GL_FRAGMENT_DEPTH */
+ 337, /* GL_CURRENT_FOG_COORD */
+ 552, /* GL_FOG_COORDINATE_ARRAY_TYPE */
+ 551, /* GL_FOG_COORDINATE_ARRAY_STRIDE */
+ 550, /* GL_FOG_COORDINATE_ARRAY_POINTER */
+ 547, /* GL_FOG_COORDINATE_ARRAY */
+ 223, /* GL_COLOR_SUM */
+ 358, /* GL_CURRENT_SECONDARY_COLOR */
+ 1603, /* GL_SECONDARY_COLOR_ARRAY_SIZE */
+ 1605, /* GL_SECONDARY_COLOR_ARRAY_TYPE */
+ 1604, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */
+ 1602, /* GL_SECONDARY_COLOR_ARRAY_POINTER */
+ 1599, /* GL_SECONDARY_COLOR_ARRAY */
+ 356, /* GL_CURRENT_RASTER_SECONDARY_COLOR */
+ 29, /* GL_ALIASED_POINT_SIZE_RANGE */
+ 28, /* GL_ALIASED_LINE_WIDTH_RANGE */
+ 1754, /* GL_TEXTURE0 */
+ 1756, /* GL_TEXTURE1 */
+ 1778, /* GL_TEXTURE2 */
+ 1800, /* GL_TEXTURE3 */
+ 1806, /* GL_TEXTURE4 */
+ 1808, /* GL_TEXTURE5 */
+ 1810, /* GL_TEXTURE6 */
+ 1812, /* GL_TEXTURE7 */
+ 1814, /* GL_TEXTURE8 */
+ 1816, /* GL_TEXTURE9 */
+ 1757, /* GL_TEXTURE10 */
+ 1759, /* GL_TEXTURE11 */
+ 1761, /* GL_TEXTURE12 */
+ 1763, /* GL_TEXTURE13 */
+ 1765, /* GL_TEXTURE14 */
+ 1767, /* GL_TEXTURE15 */
+ 1769, /* GL_TEXTURE16 */
+ 1771, /* GL_TEXTURE17 */
+ 1773, /* GL_TEXTURE18 */
+ 1775, /* GL_TEXTURE19 */
+ 1779, /* GL_TEXTURE20 */
+ 1781, /* GL_TEXTURE21 */
+ 1783, /* GL_TEXTURE22 */
+ 1785, /* GL_TEXTURE23 */
+ 1787, /* GL_TEXTURE24 */
+ 1789, /* GL_TEXTURE25 */
+ 1791, /* GL_TEXTURE26 */
+ 1793, /* GL_TEXTURE27 */
+ 1795, /* GL_TEXTURE28 */
+ 1797, /* GL_TEXTURE29 */
+ 1801, /* GL_TEXTURE30 */
+ 1803, /* GL_TEXTURE31 */
+ 19, /* GL_ACTIVE_TEXTURE */
+ 156, /* GL_CLIENT_ACTIVE_TEXTURE */
+ 1047, /* GL_MAX_TEXTURE_UNITS */
+ 1977, /* GL_TRANSPOSE_MODELVIEW_MATRIX */
+ 1980, /* GL_TRANSPOSE_PROJECTION_MATRIX */
+ 1982, /* GL_TRANSPOSE_TEXTURE_MATRIX */
+ 1974, /* GL_TRANSPOSE_COLOR_MATRIX */
+ 1736, /* GL_SUBTRACT */
+ 1030, /* GL_MAX_RENDERBUFFER_SIZE */
+ 271, /* GL_COMPRESSED_ALPHA */
+ 275, /* GL_COMPRESSED_LUMINANCE */
+ 276, /* GL_COMPRESSED_LUMINANCE_ALPHA */
+ 273, /* GL_COMPRESSED_INTENSITY */
+ 279, /* GL_COMPRESSED_RGB */
+ 280, /* GL_COMPRESSED_RGBA */
+ 1864, /* GL_TEXTURE_COMPRESSION_HINT */
+ 1941, /* GL_TEXTURE_RECTANGLE_ARB */
+ 1836, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */
+ 1422, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */
+ 1028, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */
+ 403, /* GL_DEPTH_STENCIL */
+ 2007, /* GL_UNSIGNED_INT_24_8 */
+ 1042, /* GL_MAX_TEXTURE_LOD_BIAS */
+ 1930, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */
+ 1044, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */
+ 1902, /* GL_TEXTURE_FILTER_CONTROL */
+ 1920, /* GL_TEXTURE_LOD_BIAS */
+ 256, /* GL_COMBINE4 */
+ 1036, /* GL_MAX_SHININESS_NV */
+ 1037, /* GL_MAX_SPOT_EXPONENT_NV */
+ 696, /* GL_INCR_WRAP */
+ 369, /* GL_DECR_WRAP */
+ 1099, /* GL_MODELVIEW1_ARB */
+ 1157, /* GL_NORMAL_MAP */
+ 1462, /* GL_REFLECTION_MAP */
+ 1874, /* GL_TEXTURE_CUBE_MAP */
+ 1833, /* GL_TEXTURE_BINDING_CUBE_MAP */
+ 1886, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */
+ 1876, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */
+ 1889, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */
+ 1879, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */
+ 1892, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */
+ 1882, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */
+ 1420, /* GL_PROXY_TEXTURE_CUBE_MAP */
+ 976, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */
+ 1135, /* GL_MULTISAMPLE_FILTER_HINT_NV */
+ 1366, /* GL_PRIMITIVE_RESTART_NV */
+ 1365, /* GL_PRIMITIVE_RESTART_INDEX_NV */
+ 561, /* GL_FOG_DISTANCE_MODE_NV */
+ 510, /* GL_EYE_RADIAL_NV */
+ 509, /* GL_EYE_PLANE_ABSOLUTE_NV */
+ 255, /* GL_COMBINE */
+ 262, /* GL_COMBINE_RGB */
+ 257, /* GL_COMBINE_ALPHA */
+ 1566, /* GL_RGB_SCALE */
+ 25, /* GL_ADD_SIGNED */
+ 731, /* GL_INTERPOLATE */
+ 295, /* GL_CONSTANT */
+ 1361, /* GL_PRIMARY_COLOR */
+ 1358, /* GL_PREVIOUS */
+ 1642, /* GL_SOURCE0_RGB */
+ 1648, /* GL_SOURCE1_RGB */
+ 1654, /* GL_SOURCE2_RGB */
+ 1658, /* GL_SOURCE3_RGB_NV */
+ 1639, /* GL_SOURCE0_ALPHA */
+ 1645, /* GL_SOURCE1_ALPHA */
+ 1651, /* GL_SOURCE2_ALPHA */
+ 1657, /* GL_SOURCE3_ALPHA_NV */
+ 1197, /* GL_OPERAND0_RGB */
+ 1203, /* GL_OPERAND1_RGB */
+ 1209, /* GL_OPERAND2_RGB */
+ 1213, /* GL_OPERAND3_RGB_NV */
+ 1194, /* GL_OPERAND0_ALPHA */
+ 1200, /* GL_OPERAND1_ALPHA */
+ 1206, /* GL_OPERAND2_ALPHA */
+ 1212, /* GL_OPERAND3_ALPHA_NV */
+ 131, /* GL_BUFFER_OBJECT_APPLE */
+ 2036, /* GL_VERTEX_ARRAY_BINDING */
+ 1939, /* GL_TEXTURE_RANGE_LENGTH_APPLE */
+ 1940, /* GL_TEXTURE_RANGE_POINTER_APPLE */
+ 2110, /* GL_YCBCR_422_APPLE */
+ 2025, /* GL_UNSIGNED_SHORT_8_8_APPLE */
+ 2027, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */
+ 1949, /* GL_TEXTURE_STORAGE_HINT_APPLE */
+ 1727, /* GL_STORAGE_PRIVATE_APPLE */
+ 1726, /* GL_STORAGE_CACHED_APPLE */
+ 1728, /* GL_STORAGE_SHARED_APPLE */
+ 1629, /* GL_SLICE_ACCUM_SUN */
+ 1430, /* GL_QUAD_MESH_SUN */
+ 1987, /* GL_TRIANGLE_MESH_SUN */
+ 2075, /* GL_VERTEX_PROGRAM_ARB */
+ 2086, /* GL_VERTEX_STATE_PROGRAM_NV */
+ 2062, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */
+ 2068, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */
+ 2070, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */
+ 2072, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */
+ 360, /* GL_CURRENT_VERTEX_ATTRIB */
+ 1379, /* GL_PROGRAM_LENGTH_ARB */
+ 1394, /* GL_PROGRAM_STRING_ARB */
+ 1122, /* GL_MODELVIEW_PROJECTION_NV */
+ 689, /* GL_IDENTITY_NV */
+ 747, /* GL_INVERSE_NV */
+ 1979, /* GL_TRANSPOSE_NV */
+ 748, /* GL_INVERSE_TRANSPOSE_NV */
+ 1014, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */
+ 1013, /* GL_MAX_PROGRAM_MATRICES_ARB */
+ 904, /* GL_MATRIX0_NV */
+ 916, /* GL_MATRIX1_NV */
+ 928, /* GL_MATRIX2_NV */
+ 932, /* GL_MATRIX3_NV */
+ 934, /* GL_MATRIX4_NV */
+ 936, /* GL_MATRIX5_NV */
+ 938, /* GL_MATRIX6_NV */
+ 940, /* GL_MATRIX7_NV */
+ 343, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */
+ 340, /* GL_CURRENT_MATRIX_ARB */
+ 2078, /* GL_VERTEX_PROGRAM_POINT_SIZE */
+ 2081, /* GL_VERTEX_PROGRAM_TWO_SIDE */
+ 1391, /* GL_PROGRAM_PARAMETER_NV */
+ 2066, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */
+ 1396, /* GL_PROGRAM_TARGET_NV */
+ 1393, /* GL_PROGRAM_RESIDENT_NV */
+ 1959, /* GL_TRACK_MATRIX_NV */
+ 1960, /* GL_TRACK_MATRIX_TRANSFORM_NV */
+ 2076, /* GL_VERTEX_PROGRAM_BINDING_NV */
+ 1373, /* GL_PROGRAM_ERROR_POSITION_ARB */
+ 384, /* GL_DEPTH_CLAMP */
+ 2044, /* GL_VERTEX_ATTRIB_ARRAY0_NV */
+ 2051, /* GL_VERTEX_ATTRIB_ARRAY1_NV */
+ 2052, /* GL_VERTEX_ATTRIB_ARRAY2_NV */
+ 2053, /* GL_VERTEX_ATTRIB_ARRAY3_NV */
+ 2054, /* GL_VERTEX_ATTRIB_ARRAY4_NV */
+ 2055, /* GL_VERTEX_ATTRIB_ARRAY5_NV */
+ 2056, /* GL_VERTEX_ATTRIB_ARRAY6_NV */
+ 2057, /* GL_VERTEX_ATTRIB_ARRAY7_NV */
+ 2058, /* GL_VERTEX_ATTRIB_ARRAY8_NV */
+ 2059, /* GL_VERTEX_ATTRIB_ARRAY9_NV */
+ 2045, /* GL_VERTEX_ATTRIB_ARRAY10_NV */
+ 2046, /* GL_VERTEX_ATTRIB_ARRAY11_NV */
+ 2047, /* GL_VERTEX_ATTRIB_ARRAY12_NV */
+ 2048, /* GL_VERTEX_ATTRIB_ARRAY13_NV */
+ 2049, /* GL_VERTEX_ATTRIB_ARRAY14_NV */
+ 2050, /* GL_VERTEX_ATTRIB_ARRAY15_NV */
+ 852, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */
+ 859, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */
+ 860, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */
+ 861, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */
+ 862, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */
+ 863, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */
+ 864, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */
+ 865, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */
+ 866, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */
+ 867, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */
+ 853, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */
+ 854, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */
+ 855, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */
+ 856, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */
+ 857, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */
+ 858, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */
+ 879, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */
+ 886, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */
+ 887, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */
+ 888, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */
+ 889, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */
+ 890, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */
+ 891, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */
+ 1372, /* GL_PROGRAM_BINDING_ARB */
+ 893, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */
+ 894, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */
+ 880, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */
+ 881, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */
+ 882, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */
+ 883, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */
+ 884, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */
+ 885, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */
+ 1862, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */
+ 1859, /* GL_TEXTURE_COMPRESSED */
+ 1163, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */
+ 293, /* GL_COMPRESSED_TEXTURE_FORMATS */
+ 1065, /* GL_MAX_VERTEX_UNITS_ARB */
+ 23, /* GL_ACTIVE_VERTEX_UNITS_ARB */
+ 2104, /* GL_WEIGHT_SUM_UNITY_ARB */
+ 2074, /* GL_VERTEX_BLEND_ARB */
+ 362, /* GL_CURRENT_WEIGHT_ARB */
+ 2102, /* GL_WEIGHT_ARRAY_TYPE_ARB */
+ 2100, /* GL_WEIGHT_ARRAY_STRIDE_ARB */
+ 2098, /* GL_WEIGHT_ARRAY_SIZE_ARB */
+ 2096, /* GL_WEIGHT_ARRAY_POINTER_ARB */
+ 2091, /* GL_WEIGHT_ARRAY_ARB */
+ 418, /* GL_DOT3_RGB */
+ 419, /* GL_DOT3_RGBA */
+ 287, /* GL_COMPRESSED_RGB_FXT1_3DFX */
+ 282, /* GL_COMPRESSED_RGBA_FXT1_3DFX */
+ 1130, /* GL_MULTISAMPLE_3DFX */
+ 1588, /* GL_SAMPLE_BUFFERS_3DFX */
+ 1579, /* GL_SAMPLES_3DFX */
+ 1110, /* GL_MODELVIEW2_ARB */
+ 1113, /* GL_MODELVIEW3_ARB */
+ 1114, /* GL_MODELVIEW4_ARB */
+ 1115, /* GL_MODELVIEW5_ARB */
+ 1116, /* GL_MODELVIEW6_ARB */
+ 1117, /* GL_MODELVIEW7_ARB */
+ 1118, /* GL_MODELVIEW8_ARB */
+ 1119, /* GL_MODELVIEW9_ARB */
+ 1089, /* GL_MODELVIEW10_ARB */
+ 1090, /* GL_MODELVIEW11_ARB */
+ 1091, /* GL_MODELVIEW12_ARB */
+ 1092, /* GL_MODELVIEW13_ARB */
+ 1093, /* GL_MODELVIEW14_ARB */
+ 1094, /* GL_MODELVIEW15_ARB */
+ 1095, /* GL_MODELVIEW16_ARB */
+ 1096, /* GL_MODELVIEW17_ARB */
+ 1097, /* GL_MODELVIEW18_ARB */
+ 1098, /* GL_MODELVIEW19_ARB */
+ 1100, /* GL_MODELVIEW20_ARB */
+ 1101, /* GL_MODELVIEW21_ARB */
+ 1102, /* GL_MODELVIEW22_ARB */
+ 1103, /* GL_MODELVIEW23_ARB */
+ 1104, /* GL_MODELVIEW24_ARB */
+ 1105, /* GL_MODELVIEW25_ARB */
+ 1106, /* GL_MODELVIEW26_ARB */
+ 1107, /* GL_MODELVIEW27_ARB */
+ 1108, /* GL_MODELVIEW28_ARB */
+ 1109, /* GL_MODELVIEW29_ARB */
+ 1111, /* GL_MODELVIEW30_ARB */
+ 1112, /* GL_MODELVIEW31_ARB */
+ 423, /* GL_DOT3_RGB_EXT */
+ 421, /* GL_DOT3_RGBA_EXT */
+ 1083, /* GL_MIRROR_CLAMP_EXT */
+ 1086, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */
+ 1125, /* GL_MODULATE_ADD_ATI */
+ 1126, /* GL_MODULATE_SIGNED_ADD_ATI */
+ 1127, /* GL_MODULATE_SUBTRACT_ATI */
+ 2111, /* GL_YCBCR_MESA */
+ 1221, /* GL_PACK_INVERT_MESA */
+ 365, /* GL_DEBUG_OBJECT_MESA */
+ 366, /* GL_DEBUG_PRINT_MESA */
+ 364, /* GL_DEBUG_ASSERT_MESA */
+ 133, /* GL_BUFFER_SIZE */
+ 135, /* GL_BUFFER_USAGE */
+ 139, /* GL_BUMP_ROT_MATRIX_ATI */
+ 140, /* GL_BUMP_ROT_MATRIX_SIZE_ATI */
+ 138, /* GL_BUMP_NUM_TEX_UNITS_ATI */
+ 142, /* GL_BUMP_TEX_UNITS_ATI */
+ 483, /* GL_DUDV_ATI */
+ 482, /* GL_DU8DV8_ATI */
+ 137, /* GL_BUMP_ENVMAP_ATI */
+ 141, /* GL_BUMP_TARGET_ATI */
+ 1165, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */
+ 1370, /* GL_PROGRAM_BINARY_FORMATS_OES */
+ 1691, /* GL_STENCIL_BACK_FUNC */
+ 1689, /* GL_STENCIL_BACK_FAIL */
+ 1693, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */
+ 1695, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */
+ 570, /* GL_FRAGMENT_PROGRAM_ARB */
+ 1368, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ 1399, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ 1398, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */
+ 1382, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ 1388, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ 1387, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ 1003, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */
+ 1026, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */
+ 1025, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */
+ 1016, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */
+ 1022, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */
+ 1021, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */
+ 979, /* GL_MAX_DRAW_BUFFERS */
+ 427, /* GL_DRAW_BUFFER0 */
+ 430, /* GL_DRAW_BUFFER1 */
+ 451, /* GL_DRAW_BUFFER2 */
+ 454, /* GL_DRAW_BUFFER3 */
+ 457, /* GL_DRAW_BUFFER4 */
+ 460, /* GL_DRAW_BUFFER5 */
+ 463, /* GL_DRAW_BUFFER6 */
+ 466, /* GL_DRAW_BUFFER7 */
+ 469, /* GL_DRAW_BUFFER8 */
+ 472, /* GL_DRAW_BUFFER9 */
+ 431, /* GL_DRAW_BUFFER10 */
+ 434, /* GL_DRAW_BUFFER11 */
+ 437, /* GL_DRAW_BUFFER12 */
+ 440, /* GL_DRAW_BUFFER13 */
+ 443, /* GL_DRAW_BUFFER14 */
+ 446, /* GL_DRAW_BUFFER15 */
+ 95, /* GL_BLEND_EQUATION_ALPHA */
+ 955, /* GL_MATRIX_PALETTE_ARB */
+ 996, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */
+ 999, /* GL_MAX_PALETTE_MATRICES_ARB */
+ 346, /* GL_CURRENT_PALETTE_MATRIX_ARB */
+ 943, /* GL_MATRIX_INDEX_ARRAY_ARB */
+ 341, /* GL_CURRENT_MATRIX_INDEX_ARB */
+ 948, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */
+ 952, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */
+ 950, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */
+ 946, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */
+ 1897, /* GL_TEXTURE_DEPTH_SIZE */
+ 411, /* GL_DEPTH_TEXTURE_MODE */
+ 1854, /* GL_TEXTURE_COMPARE_MODE */
+ 1852, /* GL_TEXTURE_COMPARE_FUNC */
+ 266, /* GL_COMPARE_R_TO_TEXTURE */
+ 1298, /* GL_POINT_SPRITE */
+ 320, /* GL_COORD_REPLACE */
+ 1303, /* GL_POINT_SPRITE_R_MODE_NV */
+ 1434, /* GL_QUERY_COUNTER_BITS */
+ 349, /* GL_CURRENT_QUERY */
+ 1437, /* GL_QUERY_RESULT */
+ 1439, /* GL_QUERY_RESULT_AVAILABLE */
+ 1058, /* GL_MAX_VERTEX_ATTRIBS */
+ 2064, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */
+ 409, /* GL_DEPTH_STENCIL_TO_RGBA_NV */
+ 408, /* GL_DEPTH_STENCIL_TO_BGRA_NV */
+ 1038, /* GL_MAX_TEXTURE_COORDS */
+ 1040, /* GL_MAX_TEXTURE_IMAGE_UNITS */
+ 1375, /* GL_PROGRAM_ERROR_STRING_ARB */
+ 1377, /* GL_PROGRAM_FORMAT_ASCII_ARB */
+ 1376, /* GL_PROGRAM_FORMAT_ARB */
+ 1951, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */
+ 382, /* GL_DEPTH_BOUNDS_TEST_EXT */
+ 381, /* GL_DEPTH_BOUNDS_EXT */
+ 61, /* GL_ARRAY_BUFFER */
+ 496, /* GL_ELEMENT_ARRAY_BUFFER */
+ 62, /* GL_ARRAY_BUFFER_BINDING */
+ 497, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */
+ 2038, /* GL_VERTEX_ARRAY_BUFFER_BINDING */
+ 1152, /* GL_NORMAL_ARRAY_BUFFER_BINDING */
+ 172, /* GL_COLOR_ARRAY_BUFFER_BINDING */
+ 700, /* GL_INDEX_ARRAY_BUFFER_BINDING */
+ 1867, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */
+ 492, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */
+ 1600, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */
+ 548, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */
+ 2092, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */
+ 2060, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */
+ 1378, /* GL_PROGRAM_INSTRUCTIONS_ARB */
+ 1009, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */
+ 1384, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ 1018, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */
+ 1397, /* GL_PROGRAM_TEMPORARIES_ARB */
+ 1024, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */
+ 1386, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ 1020, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */
+ 1390, /* GL_PROGRAM_PARAMETERS_ARB */
+ 1023, /* GL_MAX_PROGRAM_PARAMETERS_ARB */
+ 1385, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */
+ 1019, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */
+ 1369, /* GL_PROGRAM_ATTRIBS_ARB */
+ 1004, /* GL_MAX_PROGRAM_ATTRIBS_ARB */
+ 1383, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */
+ 1017, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */
+ 1367, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */
+ 1002, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */
+ 1381, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ 1015, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */
+ 1010, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */
+ 1006, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */
+ 1400, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */
+ 1976, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */
+ 1451, /* GL_READ_ONLY */
+ 2106, /* GL_WRITE_ONLY */
+ 1453, /* GL_READ_WRITE */
+ 121, /* GL_BUFFER_ACCESS */
+ 125, /* GL_BUFFER_MAPPED */
+ 128, /* GL_BUFFER_MAP_POINTER */
+ 1958, /* GL_TIME_ELAPSED_EXT */
+ 903, /* GL_MATRIX0_ARB */
+ 915, /* GL_MATRIX1_ARB */
+ 927, /* GL_MATRIX2_ARB */
+ 931, /* GL_MATRIX3_ARB */
+ 933, /* GL_MATRIX4_ARB */
+ 935, /* GL_MATRIX5_ARB */
+ 937, /* GL_MATRIX6_ARB */
+ 939, /* GL_MATRIX7_ARB */
+ 941, /* GL_MATRIX8_ARB */
+ 942, /* GL_MATRIX9_ARB */
+ 905, /* GL_MATRIX10_ARB */
+ 906, /* GL_MATRIX11_ARB */
+ 907, /* GL_MATRIX12_ARB */
+ 908, /* GL_MATRIX13_ARB */
+ 909, /* GL_MATRIX14_ARB */
+ 910, /* GL_MATRIX15_ARB */
+ 911, /* GL_MATRIX16_ARB */
+ 912, /* GL_MATRIX17_ARB */
+ 913, /* GL_MATRIX18_ARB */
+ 914, /* GL_MATRIX19_ARB */
+ 917, /* GL_MATRIX20_ARB */
+ 918, /* GL_MATRIX21_ARB */
+ 919, /* GL_MATRIX22_ARB */
+ 920, /* GL_MATRIX23_ARB */
+ 921, /* GL_MATRIX24_ARB */
+ 922, /* GL_MATRIX25_ARB */
+ 923, /* GL_MATRIX26_ARB */
+ 924, /* GL_MATRIX27_ARB */
+ 925, /* GL_MATRIX28_ARB */
+ 926, /* GL_MATRIX29_ARB */
+ 929, /* GL_MATRIX30_ARB */
+ 930, /* GL_MATRIX31_ARB */
+ 1731, /* GL_STREAM_DRAW */
+ 1733, /* GL_STREAM_READ */
+ 1729, /* GL_STREAM_COPY */
+ 1681, /* GL_STATIC_DRAW */
+ 1683, /* GL_STATIC_READ */
+ 1679, /* GL_STATIC_COPY */
+ 486, /* GL_DYNAMIC_DRAW */
+ 488, /* GL_DYNAMIC_READ */
+ 484, /* GL_DYNAMIC_COPY */
+ 1261, /* GL_PIXEL_PACK_BUFFER */
+ 1265, /* GL_PIXEL_UNPACK_BUFFER */
+ 1262, /* GL_PIXEL_PACK_BUFFER_BINDING */
+ 1266, /* GL_PIXEL_UNPACK_BUFFER_BINDING */
+ 373, /* GL_DEPTH24_STENCIL8 */
+ 1947, /* GL_TEXTURE_STENCIL_SIZE */
+ 1895, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */
+ 1005, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */
+ 1008, /* GL_MAX_PROGRAM_IF_DEPTH_NV */
+ 1012, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */
+ 1011, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */
+ 960, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */
+ 1722, /* GL_STENCIL_TEST_TWO_SIDE_EXT */
+ 18, /* GL_ACTIVE_STENCIL_FACE_EXT */
+ 1084, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */
+ 1581, /* GL_SAMPLES_PASSED */
+ 1285, /* GL_POINT_SIZE_ARRAY_TYPE_OES */
+ 1284, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */
+ 1283, /* GL_POINT_SIZE_ARRAY_POINTER_OES */
+ 1121, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */
+ 1403, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */
+ 1929, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */
+ 132, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */
+ 124, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */
+ 1466, /* GL_RELEASED_APPLE */
+ 2089, /* GL_VOLATILE_APPLE */
+ 1505, /* GL_RETAINED_APPLE */
+ 1991, /* GL_UNDEFINED_APPLE */
+ 1424, /* GL_PURGEABLE_APPLE */
+ 571, /* GL_FRAGMENT_SHADER */
+ 2084, /* GL_VERTEX_SHADER */
+ 1389, /* GL_PROGRAM_OBJECT_ARB */
+ 1616, /* GL_SHADER_OBJECT_ARB */
+ 986, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */
+ 1062, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */
+ 1055, /* GL_MAX_VARYING_FLOATS */
+ 1060, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */
+ 970, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */
+ 1181, /* GL_OBJECT_TYPE_ARB */
+ 1618, /* GL_SHADER_TYPE */
+ 536, /* GL_FLOAT_VEC2 */
+ 538, /* GL_FLOAT_VEC3 */
+ 540, /* GL_FLOAT_VEC4 */
+ 735, /* GL_INT_VEC2 */
+ 737, /* GL_INT_VEC3 */
+ 739, /* GL_INT_VEC4 */
+ 113, /* GL_BOOL */
+ 115, /* GL_BOOL_VEC2 */
+ 117, /* GL_BOOL_VEC3 */
+ 119, /* GL_BOOL_VEC4 */
+ 524, /* GL_FLOAT_MAT2 */
+ 528, /* GL_FLOAT_MAT3 */
+ 532, /* GL_FLOAT_MAT4 */
+ 1571, /* GL_SAMPLER_1D */
+ 1573, /* GL_SAMPLER_2D */
+ 1575, /* GL_SAMPLER_3D */
+ 1577, /* GL_SAMPLER_CUBE */
+ 1572, /* GL_SAMPLER_1D_SHADOW */
+ 1574, /* GL_SAMPLER_2D_SHADOW */
+ 526, /* GL_FLOAT_MAT2x3 */
+ 527, /* GL_FLOAT_MAT2x4 */
+ 530, /* GL_FLOAT_MAT3x2 */
+ 531, /* GL_FLOAT_MAT3x4 */
+ 534, /* GL_FLOAT_MAT4x2 */
+ 535, /* GL_FLOAT_MAT4x3 */
+ 371, /* GL_DELETE_STATUS */
+ 270, /* GL_COMPILE_STATUS */
+ 794, /* GL_LINK_STATUS */
+ 2032, /* GL_VALIDATE_STATUS */
+ 712, /* GL_INFO_LOG_LENGTH */
+ 64, /* GL_ATTACHED_SHADERS */
+ 21, /* GL_ACTIVE_UNIFORMS */
+ 22, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */
+ 1617, /* GL_SHADER_SOURCE_LENGTH */
15, /* GL_ACTIVE_ATTRIBUTES */
16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */
- 562, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
- 1570, /* GL_SHADING_LANGUAGE_VERSION */
- 337, /* GL_CURRENT_PROGRAM */
- 1198, /* GL_PALETTE4_RGB8_OES */
- 1200, /* GL_PALETTE4_RGBA8_OES */
- 1196, /* GL_PALETTE4_R5_G6_B5_OES */
- 1199, /* GL_PALETTE4_RGBA4_OES */
- 1197, /* GL_PALETTE4_RGB5_A1_OES */
- 1203, /* GL_PALETTE8_RGB8_OES */
- 1205, /* GL_PALETTE8_RGBA8_OES */
- 1201, /* GL_PALETTE8_R5_G6_B5_OES */
- 1204, /* GL_PALETTE8_RGBA4_OES */
- 1202, /* GL_PALETTE8_RGB5_A1_OES */
- 682, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
- 680, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
- 1250, /* GL_POINT_SIZE_ARRAY_OES */
- 1823, /* GL_TEXTURE_CROP_RECT_OES */
- 912, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */
- 1249, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */
- 1965, /* GL_UNSIGNED_NORMALIZED */
- 1769, /* GL_TEXTURE_1D_ARRAY_EXT */
- 1379, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
- 1771, /* GL_TEXTURE_2D_ARRAY_EXT */
- 1382, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
- 1778, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
- 1780, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
- 958, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */
- 1623, /* GL_SRGB */
- 1624, /* GL_SRGB8 */
- 1626, /* GL_SRGB_ALPHA */
- 1625, /* GL_SRGB8_ALPHA8 */
- 1583, /* GL_SLUMINANCE_ALPHA */
- 1582, /* GL_SLUMINANCE8_ALPHA8 */
- 1580, /* GL_SLUMINANCE */
- 1581, /* GL_SLUMINANCE8 */
- 280, /* GL_COMPRESSED_SRGB */
- 281, /* GL_COMPRESSED_SRGB_ALPHA */
- 278, /* GL_COMPRESSED_SLUMINANCE */
- 279, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
- 1923, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */
- 1917, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */
- 1021, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */
- 1922, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */
- 1920, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */
- 1919, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */
- 1332, /* GL_PRIMITIVES_GENERATED_EXT */
- 1921, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */
- 1410, /* GL_RASTERIZER_DISCARD_EXT */
- 1019, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */
- 1020, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */
- 712, /* GL_INTERLEAVED_ATTRIBS_EXT */
- 1560, /* GL_SEPARATE_ATTRIBS_EXT */
- 1916, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */
- 1915, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */
- 1268, /* GL_POINT_SPRITE_COORD_ORIGIN */
- 784, /* GL_LOWER_LEFT */
- 1979, /* GL_UPPER_LEFT */
- 1647, /* GL_STENCIL_BACK_REF */
- 1648, /* GL_STENCIL_BACK_VALUE_MASK */
- 1649, /* GL_STENCIL_BACK_WRITEMASK */
- 465, /* GL_DRAW_FRAMEBUFFER_BINDING */
- 1436, /* GL_RENDERBUFFER_BINDING */
- 1413, /* GL_READ_FRAMEBUFFER */
- 464, /* GL_DRAW_FRAMEBUFFER */
- 1414, /* GL_READ_FRAMEBUFFER_BINDING */
- 1455, /* GL_RENDERBUFFER_SAMPLES */
- 575, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
- 572, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
- 587, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
- 582, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
- 585, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
- 593, /* GL_FRAMEBUFFER_COMPLETE */
- 598, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
- 612, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
- 607, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
- 602, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
- 608, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
- 604, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
- 617, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
- 623, /* GL_FRAMEBUFFER_UNSUPPORTED */
- 621, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
- 934, /* GL_MAX_COLOR_ATTACHMENTS */
- 167, /* GL_COLOR_ATTACHMENT0 */
- 170, /* GL_COLOR_ATTACHMENT1 */
- 184, /* GL_COLOR_ATTACHMENT2 */
- 186, /* GL_COLOR_ATTACHMENT3 */
- 188, /* GL_COLOR_ATTACHMENT4 */
- 190, /* GL_COLOR_ATTACHMENT5 */
- 192, /* GL_COLOR_ATTACHMENT6 */
- 194, /* GL_COLOR_ATTACHMENT7 */
- 196, /* GL_COLOR_ATTACHMENT8 */
- 198, /* GL_COLOR_ATTACHMENT9 */
- 171, /* GL_COLOR_ATTACHMENT10 */
- 173, /* GL_COLOR_ATTACHMENT11 */
- 175, /* GL_COLOR_ATTACHMENT12 */
- 177, /* GL_COLOR_ATTACHMENT13 */
- 179, /* GL_COLOR_ATTACHMENT14 */
- 181, /* GL_COLOR_ATTACHMENT15 */
- 365, /* GL_DEPTH_ATTACHMENT */
- 1636, /* GL_STENCIL_ATTACHMENT */
- 564, /* GL_FRAMEBUFFER */
- 1433, /* GL_RENDERBUFFER */
- 1459, /* GL_RENDERBUFFER_WIDTH */
- 1446, /* GL_RENDERBUFFER_HEIGHT */
- 1449, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
- 1667, /* GL_STENCIL_INDEX_EXT */
- 1656, /* GL_STENCIL_INDEX1 */
- 1661, /* GL_STENCIL_INDEX4 */
- 1664, /* GL_STENCIL_INDEX8 */
- 1657, /* GL_STENCIL_INDEX16 */
- 1453, /* GL_RENDERBUFFER_RED_SIZE */
- 1444, /* GL_RENDERBUFFER_GREEN_SIZE */
- 1439, /* GL_RENDERBUFFER_BLUE_SIZE */
- 1434, /* GL_RENDERBUFFER_ALPHA_SIZE */
- 1441, /* GL_RENDERBUFFER_DEPTH_SIZE */
- 1457, /* GL_RENDERBUFFER_STENCIL_SIZE */
- 615, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
- 1001, /* GL_MAX_SAMPLES */
- 1859, /* GL_TEXTURE_GEN_STR_OES */
- 655, /* GL_HALF_FLOAT_OES */
- 1487, /* GL_RGB565_OES */
- 571, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB */
- 611, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB */
- 610, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */
- 646, /* GL_GEOMETRY_SHADER_ARB */
- 647, /* GL_GEOMETRY_VERTICES_OUT_ARB */
- 644, /* GL_GEOMETRY_INPUT_TYPE_ARB */
- 645, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */
- 961, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */
- 1035, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */
- 960, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */
- 957, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */
- 959, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */
- 785, /* GL_LOW_FLOAT */
- 1037, /* GL_MEDIUM_FLOAT */
- 656, /* GL_HIGH_FLOAT */
- 786, /* GL_LOW_INT */
- 1038, /* GL_MEDIUM_INT */
- 657, /* GL_HIGH_INT */
- 1956, /* GL_UNSIGNED_INT_10_10_10_2_OES */
- 716, /* GL_INT_10_10_10_2_OES */
- 1564, /* GL_SHADER_BINARY_FORMATS */
- 1134, /* GL_NUM_SHADER_BINARY_FORMATS */
- 1565, /* GL_SHADER_COMPILER */
- 1032, /* GL_MAX_VERTEX_UNIFORM_VECTORS */
- 1025, /* GL_MAX_VARYING_VECTORS */
- 956, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */
- 1407, /* GL_QUERY_WAIT_NV */
- 1402, /* GL_QUERY_NO_WAIT_NV */
- 1399, /* GL_QUERY_BY_REGION_WAIT_NV */
- 1398, /* GL_QUERY_BY_REGION_NO_WAIT_NV */
- 1912, /* GL_TRANSFORM_FEEDBACK */
- 1918, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
- 1914, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
- 1913, /* GL_TRANSFORM_FEEDBACK_BINDING */
- 1394, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
- 507, /* GL_FIRST_VERTEX_CONVENTION */
- 733, /* GL_LAST_VERTEX_CONVENTION */
- 1371, /* GL_PROVOKING_VERTEX */
- 316, /* GL_COPY_READ_BUFFER */
- 317, /* GL_COPY_WRITE_BUFFER */
- 1514, /* GL_RGBA_SNORM */
- 1510, /* GL_RGBA8_SNORM */
- 1576, /* GL_SIGNED_NORMALIZED */
- 1003, /* GL_MAX_SERVER_WAIT_TIMEOUT */
- 1148, /* GL_OBJECT_TYPE */
- 1688, /* GL_SYNC_CONDITION */
- 1693, /* GL_SYNC_STATUS */
- 1690, /* GL_SYNC_FLAGS */
- 1689, /* GL_SYNC_FENCE */
- 1692, /* GL_SYNC_GPU_COMMANDS_COMPLETE */
- 1950, /* GL_UNSIGNALED */
- 1575, /* GL_SIGNALED */
- 46, /* GL_ALREADY_SIGNALED */
- 1907, /* GL_TIMEOUT_EXPIRED */
- 283, /* GL_CONDITION_SATISFIED */
- 2040, /* GL_WAIT_FAILED */
- 492, /* GL_EVAL_BIT */
- 1411, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
- 778, /* GL_LIST_BIT */
- 1788, /* GL_TEXTURE_BIT */
- 1546, /* GL_SCISSOR_BIT */
- 29, /* GL_ALL_ATTRIB_BITS */
- 1100, /* GL_MULTISAMPLE_BIT */
- 30, /* GL_ALL_CLIENT_ATTRIB_BITS */
+ 573, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */
+ 1620, /* GL_SHADING_LANGUAGE_VERSION */
+ 348, /* GL_CURRENT_PROGRAM */
+ 1230, /* GL_PALETTE4_RGB8_OES */
+ 1232, /* GL_PALETTE4_RGBA8_OES */
+ 1228, /* GL_PALETTE4_R5_G6_B5_OES */
+ 1231, /* GL_PALETTE4_RGBA4_OES */
+ 1229, /* GL_PALETTE4_RGB5_A1_OES */
+ 1235, /* GL_PALETTE8_RGB8_OES */
+ 1237, /* GL_PALETTE8_RGBA8_OES */
+ 1233, /* GL_PALETTE8_R5_G6_B5_OES */
+ 1236, /* GL_PALETTE8_RGBA4_OES */
+ 1234, /* GL_PALETTE8_RGB5_A1_OES */
+ 694, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */
+ 692, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */
+ 1282, /* GL_POINT_SIZE_ARRAY_OES */
+ 1873, /* GL_TEXTURE_CROP_RECT_OES */
+ 944, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */
+ 1281, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */
+ 2015, /* GL_UNSIGNED_NORMALIZED */
+ 1819, /* GL_TEXTURE_1D_ARRAY_EXT */
+ 1413, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */
+ 1821, /* GL_TEXTURE_2D_ARRAY_EXT */
+ 1416, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */
+ 1828, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */
+ 1830, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */
+ 990, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */
+ 1673, /* GL_SRGB */
+ 1674, /* GL_SRGB8 */
+ 1676, /* GL_SRGB_ALPHA */
+ 1675, /* GL_SRGB8_ALPHA8 */
+ 1633, /* GL_SLUMINANCE_ALPHA */
+ 1632, /* GL_SLUMINANCE8_ALPHA8 */
+ 1630, /* GL_SLUMINANCE */
+ 1631, /* GL_SLUMINANCE8 */
+ 291, /* GL_COMPRESSED_SRGB */
+ 292, /* GL_COMPRESSED_SRGB_ALPHA */
+ 289, /* GL_COMPRESSED_SLUMINANCE */
+ 290, /* GL_COMPRESSED_SLUMINANCE_ALPHA */
+ 1973, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */
+ 1967, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */
+ 1053, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */
+ 1972, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */
+ 1970, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */
+ 1969, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */
+ 1364, /* GL_PRIMITIVES_GENERATED_EXT */
+ 1971, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */
+ 1444, /* GL_RASTERIZER_DISCARD_EXT */
+ 1051, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */
+ 1052, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */
+ 730, /* GL_INTERLEAVED_ATTRIBS_EXT */
+ 1610, /* GL_SEPARATE_ATTRIBS_EXT */
+ 1966, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */
+ 1965, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */
+ 1300, /* GL_POINT_SPRITE_COORD_ORIGIN */
+ 802, /* GL_LOWER_LEFT */
+ 2029, /* GL_UPPER_LEFT */
+ 1697, /* GL_STENCIL_BACK_REF */
+ 1698, /* GL_STENCIL_BACK_VALUE_MASK */
+ 1699, /* GL_STENCIL_BACK_WRITEMASK */
+ 476, /* GL_DRAW_FRAMEBUFFER_BINDING */
+ 1471, /* GL_RENDERBUFFER_BINDING */
+ 1447, /* GL_READ_FRAMEBUFFER */
+ 475, /* GL_DRAW_FRAMEBUFFER */
+ 1448, /* GL_READ_FRAMEBUFFER_BINDING */
+ 1490, /* GL_RENDERBUFFER_SAMPLES */
+ 586, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */
+ 583, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */
+ 598, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */
+ 593, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE */
+ 596, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER */
+ 604, /* GL_FRAMEBUFFER_COMPLETE */
+ 609, /* GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT */
+ 623, /* GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT */
+ 618, /* GL_FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT_EXT */
+ 613, /* GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT */
+ 619, /* GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT */
+ 615, /* GL_FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER */
+ 628, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */
+ 634, /* GL_FRAMEBUFFER_UNSUPPORTED */
+ 632, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */
+ 966, /* GL_MAX_COLOR_ATTACHMENTS */
+ 178, /* GL_COLOR_ATTACHMENT0 */
+ 181, /* GL_COLOR_ATTACHMENT1 */
+ 195, /* GL_COLOR_ATTACHMENT2 */
+ 197, /* GL_COLOR_ATTACHMENT3 */
+ 199, /* GL_COLOR_ATTACHMENT4 */
+ 201, /* GL_COLOR_ATTACHMENT5 */
+ 203, /* GL_COLOR_ATTACHMENT6 */
+ 205, /* GL_COLOR_ATTACHMENT7 */
+ 207, /* GL_COLOR_ATTACHMENT8 */
+ 209, /* GL_COLOR_ATTACHMENT9 */
+ 182, /* GL_COLOR_ATTACHMENT10 */
+ 184, /* GL_COLOR_ATTACHMENT11 */
+ 186, /* GL_COLOR_ATTACHMENT12 */
+ 188, /* GL_COLOR_ATTACHMENT13 */
+ 190, /* GL_COLOR_ATTACHMENT14 */
+ 192, /* GL_COLOR_ATTACHMENT15 */
+ 376, /* GL_DEPTH_ATTACHMENT */
+ 1686, /* GL_STENCIL_ATTACHMENT */
+ 575, /* GL_FRAMEBUFFER */
+ 1468, /* GL_RENDERBUFFER */
+ 1494, /* GL_RENDERBUFFER_WIDTH */
+ 1481, /* GL_RENDERBUFFER_HEIGHT */
+ 1484, /* GL_RENDERBUFFER_INTERNAL_FORMAT */
+ 1717, /* GL_STENCIL_INDEX_EXT */
+ 1706, /* GL_STENCIL_INDEX1 */
+ 1711, /* GL_STENCIL_INDEX4 */
+ 1714, /* GL_STENCIL_INDEX8 */
+ 1707, /* GL_STENCIL_INDEX16 */
+ 1488, /* GL_RENDERBUFFER_RED_SIZE */
+ 1479, /* GL_RENDERBUFFER_GREEN_SIZE */
+ 1474, /* GL_RENDERBUFFER_BLUE_SIZE */
+ 1469, /* GL_RENDERBUFFER_ALPHA_SIZE */
+ 1476, /* GL_RENDERBUFFER_DEPTH_SIZE */
+ 1492, /* GL_RENDERBUFFER_STENCIL_SIZE */
+ 626, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */
+ 1033, /* GL_MAX_SAMPLES */
+ 1909, /* GL_TEXTURE_GEN_STR_OES */
+ 667, /* GL_HALF_FLOAT_OES */
+ 1526, /* GL_RGB565_OES */
+ 1546, /* GL_RGBA32UI_EXT */
+ 1520, /* GL_RGB32UI_EXT */
+ 40, /* GL_ALPHA32UI_EXT */
+ 722, /* GL_INTENSITY32UI_EXT */
+ 819, /* GL_LUMINANCE32UI_EXT */
+ 836, /* GL_LUMINANCE_ALPHA32UI_EXT */
+ 1541, /* GL_RGBA16UI_EXT */
+ 1516, /* GL_RGB16UI_EXT */
+ 37, /* GL_ALPHA16UI_EXT */
+ 719, /* GL_INTENSITY16UI_EXT */
+ 814, /* GL_LUMINANCE16UI_EXT */
+ 834, /* GL_LUMINANCE_ALPHA16UI_EXT */
+ 1554, /* GL_RGBA8UI_EXT */
+ 1533, /* GL_RGB8UI_EXT */
+ 45, /* GL_ALPHA8UI_EXT */
+ 727, /* GL_INTENSITY8UI_EXT */
+ 828, /* GL_LUMINANCE8UI_EXT */
+ 838, /* GL_LUMINANCE_ALPHA8UI_EXT */
+ 1545, /* GL_RGBA32I_EXT */
+ 1519, /* GL_RGB32I_EXT */
+ 39, /* GL_ALPHA32I_EXT */
+ 721, /* GL_INTENSITY32I_EXT */
+ 818, /* GL_LUMINANCE32I_EXT */
+ 835, /* GL_LUMINANCE_ALPHA32I_EXT */
+ 1540, /* GL_RGBA16I_EXT */
+ 1515, /* GL_RGB16I_EXT */
+ 36, /* GL_ALPHA16I_EXT */
+ 718, /* GL_INTENSITY16I_EXT */
+ 813, /* GL_LUMINANCE16I_EXT */
+ 833, /* GL_LUMINANCE_ALPHA16I_EXT */
+ 1553, /* GL_RGBA8I_EXT */
+ 1532, /* GL_RGB8I_EXT */
+ 44, /* GL_ALPHA8I_EXT */
+ 726, /* GL_INTENSITY8I_EXT */
+ 827, /* GL_LUMINANCE8I_EXT */
+ 837, /* GL_LUMINANCE_ALPHA8I_EXT */
+ 1460, /* GL_RED_INTEGER_EXT */
+ 664, /* GL_GREEN_INTEGER_EXT */
+ 111, /* GL_BLUE_INTEGER_EXT */
+ 49, /* GL_ALPHA_INTEGER_EXT */
+ 1564, /* GL_RGB_INTEGER_EXT */
+ 1559, /* GL_RGBA_INTEGER_EXT */
+ 83, /* GL_BGR_INTEGER_EXT */
+ 82, /* GL_BGRA_INTEGER_EXT */
+ 840, /* GL_LUMINANCE_INTEGER_EXT */
+ 839, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */
+ 1560, /* GL_RGBA_INTEGER_MODE_EXT */
+ 582, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED_ARB */
+ 622, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_ARB */
+ 621, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */
+ 657, /* GL_GEOMETRY_SHADER_ARB */
+ 658, /* GL_GEOMETRY_VERTICES_OUT_ARB */
+ 655, /* GL_GEOMETRY_INPUT_TYPE_ARB */
+ 656, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */
+ 993, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */
+ 1067, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */
+ 992, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */
+ 989, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */
+ 991, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */
+ 803, /* GL_LOW_FLOAT */
+ 1069, /* GL_MEDIUM_FLOAT */
+ 668, /* GL_HIGH_FLOAT */
+ 804, /* GL_LOW_INT */
+ 1070, /* GL_MEDIUM_INT */
+ 669, /* GL_HIGH_INT */
+ 2006, /* GL_UNSIGNED_INT_10_10_10_2_OES */
+ 734, /* GL_INT_10_10_10_2_OES */
+ 1614, /* GL_SHADER_BINARY_FORMATS */
+ 1166, /* GL_NUM_SHADER_BINARY_FORMATS */
+ 1615, /* GL_SHADER_COMPILER */
+ 1064, /* GL_MAX_VERTEX_UNIFORM_VECTORS */
+ 1057, /* GL_MAX_VARYING_VECTORS */
+ 988, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */
+ 1441, /* GL_QUERY_WAIT_NV */
+ 1436, /* GL_QUERY_NO_WAIT_NV */
+ 1433, /* GL_QUERY_BY_REGION_WAIT_NV */
+ 1432, /* GL_QUERY_BY_REGION_NO_WAIT_NV */
+ 1962, /* GL_TRANSFORM_FEEDBACK */
+ 1968, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */
+ 1964, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */
+ 1963, /* GL_TRANSFORM_FEEDBACK_BINDING */
+ 1428, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */
+ 518, /* GL_FIRST_VERTEX_CONVENTION */
+ 751, /* GL_LAST_VERTEX_CONVENTION */
+ 1405, /* GL_PROVOKING_VERTEX */
+ 327, /* GL_COPY_READ_BUFFER */
+ 328, /* GL_COPY_WRITE_BUFFER */
+ 1563, /* GL_RGBA_SNORM */
+ 1557, /* GL_RGBA8_SNORM */
+ 1626, /* GL_SIGNED_NORMALIZED */
+ 1035, /* GL_MAX_SERVER_WAIT_TIMEOUT */
+ 1180, /* GL_OBJECT_TYPE */
+ 1738, /* GL_SYNC_CONDITION */
+ 1743, /* GL_SYNC_STATUS */
+ 1740, /* GL_SYNC_FLAGS */
+ 1739, /* GL_SYNC_FENCE */
+ 1742, /* GL_SYNC_GPU_COMMANDS_COMPLETE */
+ 2000, /* GL_UNSIGNALED */
+ 1625, /* GL_SIGNALED */
+ 54, /* GL_ALREADY_SIGNALED */
+ 1957, /* GL_TIMEOUT_EXPIRED */
+ 294, /* GL_CONDITION_SATISFIED */
+ 2090, /* GL_WAIT_FAILED */
+ 503, /* GL_EVAL_BIT */
+ 1445, /* GL_RASTER_POSITION_UNCLIPPED_IBM */
+ 796, /* GL_LIST_BIT */
+ 1838, /* GL_TEXTURE_BIT */
+ 1596, /* GL_SCISSOR_BIT */
+ 30, /* GL_ALL_ATTRIB_BITS */
+ 1132, /* GL_MULTISAMPLE_BIT */
+ 31, /* GL_ALL_CLIENT_ATTRIB_BITS */
};
typedef int (*cfunc)(const void *, const void *);
diff --git a/src/mesa/main/eval.c b/src/mesa/main/eval.c
index bd2e1177fd2..c607e6a26af 100644
--- a/src/mesa/main/eval.c
+++ b/src/mesa/main/eval.c
@@ -100,7 +100,7 @@ GLuint _mesa_evaluator_components( GLenum target )
* Return pointer to the gl_1d_map struct for the named target.
*/
static struct gl_1d_map *
-get_1d_map( GLcontext *ctx, GLenum target )
+get_1d_map( struct gl_context *ctx, GLenum target )
{
switch (target) {
case GL_MAP1_VERTEX_3:
@@ -150,7 +150,7 @@ get_1d_map( GLcontext *ctx, GLenum target )
* Return pointer to the gl_2d_map struct for the named target.
*/
static struct gl_2d_map *
-get_2d_map( GLcontext *ctx, GLenum target )
+get_2d_map( struct gl_context *ctx, GLenum target )
{
switch (target) {
case GL_MAP2_VERTEX_3:
@@ -880,7 +880,7 @@ init_2d_map( struct gl_2d_map *map, int n, const float *initial )
}
-void _mesa_init_eval( GLcontext *ctx )
+void _mesa_init_eval( struct gl_context *ctx )
{
int i;
@@ -952,7 +952,7 @@ void _mesa_init_eval( GLcontext *ctx )
}
-void _mesa_free_eval_data( GLcontext *ctx )
+void _mesa_free_eval_data( struct gl_context *ctx )
{
int i;
diff --git a/src/mesa/main/eval.h b/src/mesa/main/eval.h
index ffd1bab76da..bd908f00cdd 100644
--- a/src/mesa/main/eval.h
+++ b/src/mesa/main/eval.h
@@ -57,7 +57,7 @@
extern GLuint _mesa_evaluator_components( GLenum target );
-extern void gl_free_control_points( GLcontext *ctx,
+extern void gl_free_control_points( struct gl_context *ctx,
GLenum target, GLfloat *data );
@@ -103,8 +103,8 @@ _mesa_init_eval_dispatch(struct _glapi_table *disp)
#endif /* FEATURE_evaluators */
-extern void _mesa_init_eval( GLcontext *ctx );
-extern void _mesa_free_eval_data( GLcontext *ctx );
+extern void _mesa_init_eval( struct gl_context *ctx );
+extern void _mesa_free_eval_data( struct gl_context *ctx );
#endif /* EVAL_H */
diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c
index 9df0ae4598a..caa5dad950a 100644
--- a/src/mesa/main/extensions.c
+++ b/src/mesa/main/extensions.c
@@ -75,6 +75,7 @@ static const struct {
{ OFF, "GL_ARB_sampler_objects", F(ARB_sampler_objects) },
{ OFF, "GL_ARB_seamless_cube_map", F(ARB_seamless_cube_map) },
{ OFF, "GL_ARB_shader_objects", F(ARB_shader_objects) },
+ { OFF, "GL_ARB_shader_stencil_export", F(ARB_shader_stencil_export) },
{ OFF, "GL_ARB_shading_language_100", F(ARB_shading_language_100) },
{ OFF, "GL_ARB_shadow", F(ARB_shadow) },
{ OFF, "GL_ARB_shadow_ambient", F(ARB_shadow_ambient) },
@@ -138,6 +139,7 @@ static const struct {
{ OFF, "GL_EXT_provoking_vertex", F(EXT_provoking_vertex) },
{ ON, "GL_EXT_rescale_normal", F(EXT_rescale_normal) },
{ OFF, "GL_EXT_secondary_color", F(EXT_secondary_color) },
+ { OFF, "GL_EXT_separate_shader_objects", F(EXT_separate_shader_objects) },
{ ON, "GL_EXT_separate_specular_color", F(EXT_separate_specular_color) },
{ OFF, "GL_EXT_shadow_funcs", F(EXT_shadow_funcs) },
{ OFF, "GL_EXT_shared_texture_palette", F(EXT_shared_texture_palette) },
@@ -227,7 +229,7 @@ static const struct {
* This is a convenience function used by the XMesa, OSMesa, GGI drivers, etc.
*/
void
-_mesa_enable_sw_extensions(GLcontext *ctx)
+_mesa_enable_sw_extensions(struct gl_context *ctx)
{
/*ctx->Extensions.ARB_copy_buffer = GL_TRUE;*/
ctx->Extensions.ARB_depth_clamp = GL_TRUE;
@@ -259,6 +261,7 @@ _mesa_enable_sw_extensions(GLcontext *ctx)
ctx->Extensions.ARB_point_sprite = GL_TRUE;
#if FEATURE_ARB_shader_objects
ctx->Extensions.ARB_shader_objects = GL_TRUE;
+ ctx->Extensions.EXT_separate_shader_objects = GL_TRUE;
#endif
#if FEATURE_ARB_shading_language_100
ctx->Extensions.ARB_shading_language_100 = GL_TRUE;
@@ -387,7 +390,7 @@ _mesa_enable_sw_extensions(GLcontext *ctx)
* Enable common EXT extensions in the ARB_imaging subset.
*/
void
-_mesa_enable_imaging_extensions(GLcontext *ctx)
+_mesa_enable_imaging_extensions(struct gl_context *ctx)
{
ctx->Extensions.EXT_blend_color = GL_TRUE;
ctx->Extensions.EXT_blend_logic_op = GL_TRUE;
@@ -402,7 +405,7 @@ _mesa_enable_imaging_extensions(GLcontext *ctx)
* A convenience function to be called by drivers.
*/
void
-_mesa_enable_1_3_extensions(GLcontext *ctx)
+_mesa_enable_1_3_extensions(struct gl_context *ctx)
{
/*ctx->Extensions.ARB_multisample = GL_TRUE;*/
ctx->Extensions.ARB_multitexture = GL_TRUE;
@@ -422,7 +425,7 @@ _mesa_enable_1_3_extensions(GLcontext *ctx)
* A convenience function to be called by drivers.
*/
void
-_mesa_enable_1_4_extensions(GLcontext *ctx)
+_mesa_enable_1_4_extensions(struct gl_context *ctx)
{
ctx->Extensions.ARB_depth_texture = GL_TRUE;
ctx->Extensions.ARB_shadow = GL_TRUE;
@@ -448,7 +451,7 @@ _mesa_enable_1_4_extensions(GLcontext *ctx)
* A convenience function to be called by drivers.
*/
void
-_mesa_enable_1_5_extensions(GLcontext *ctx)
+_mesa_enable_1_5_extensions(struct gl_context *ctx)
{
ctx->Extensions.ARB_occlusion_query = GL_TRUE;
/*ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;*/
@@ -461,7 +464,7 @@ _mesa_enable_1_5_extensions(GLcontext *ctx)
* A convenience function to be called by drivers.
*/
void
-_mesa_enable_2_0_extensions(GLcontext *ctx)
+_mesa_enable_2_0_extensions(struct gl_context *ctx)
{
/*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
#if FEATURE_ARB_fragment_shader
@@ -488,7 +491,7 @@ _mesa_enable_2_0_extensions(GLcontext *ctx)
* A convenience function to be called by drivers.
*/
void
-_mesa_enable_2_1_extensions(GLcontext *ctx)
+_mesa_enable_2_1_extensions(struct gl_context *ctx)
{
#if FEATURE_EXT_pixel_buffer_object
ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
@@ -504,7 +507,7 @@ _mesa_enable_2_1_extensions(GLcontext *ctx)
* \return GL_TRUE for success, GL_FALSE if invalid extension name
*/
static GLboolean
-set_extension( GLcontext *ctx, const char *name, GLboolean state )
+set_extension( struct gl_context *ctx, const char *name, GLboolean state )
{
GLboolean *base = (GLboolean *) &ctx->Extensions;
GLuint i;
@@ -533,7 +536,7 @@ set_extension( GLcontext *ctx, const char *name, GLboolean state )
* Typically called by drivers.
*/
void
-_mesa_enable_extension( GLcontext *ctx, const char *name )
+_mesa_enable_extension( struct gl_context *ctx, const char *name )
{
if (!set_extension(ctx, name, GL_TRUE))
_mesa_problem(ctx, "Trying to enable unknown extension: %s", name);
@@ -545,7 +548,7 @@ _mesa_enable_extension( GLcontext *ctx, const char *name )
* XXX is this really needed???
*/
void
-_mesa_disable_extension( GLcontext *ctx, const char *name )
+_mesa_disable_extension( struct gl_context *ctx, const char *name )
{
if (!set_extension(ctx, name, GL_FALSE))
_mesa_problem(ctx, "Trying to disable unknown extension: %s", name);
@@ -556,7 +559,7 @@ _mesa_disable_extension( GLcontext *ctx, const char *name )
* Check if the i-th extension is enabled.
*/
static GLboolean
-extension_enabled(GLcontext *ctx, GLuint index)
+extension_enabled(struct gl_context *ctx, GLuint index)
{
const GLboolean *base = (const GLboolean *) &ctx->Extensions;
if (!default_extensions[index].flag_offset ||
@@ -573,7 +576,7 @@ extension_enabled(GLcontext *ctx, GLuint index)
* Test if the named extension is enabled in this context.
*/
GLboolean
-_mesa_extension_is_enabled( GLcontext *ctx, const char *name )
+_mesa_extension_is_enabled( struct gl_context *ctx, const char *name )
{
GLuint i;
@@ -615,7 +618,7 @@ append(const char *a, const char *b)
* Return a string of the unknown/leftover names.
*/
static const char *
-get_extension_override( GLcontext *ctx )
+get_extension_override( struct gl_context *ctx )
{
const char *envExt = _mesa_getenv("MESA_EXTENSION_OVERRIDE");
char *extraExt = NULL;
@@ -666,7 +669,7 @@ get_extension_override( GLcontext *ctx )
* To be called during context initialization.
*/
void
-_mesa_init_extensions( GLcontext *ctx )
+_mesa_init_extensions( struct gl_context *ctx )
{
GLboolean *base = (GLboolean *) &ctx->Extensions;
GLuint i;
@@ -685,7 +688,7 @@ _mesa_init_extensions( GLcontext *ctx )
* glGetString(GL_EXTENSIONS) is called.
*/
static GLubyte *
-compute_extensions( GLcontext *ctx )
+compute_extensions( struct gl_context *ctx )
{
const char *extraExt = get_extension_override(ctx);
GLuint extStrLen = 0;
@@ -752,7 +755,7 @@ append_extension(GLubyte **str, const char *ext)
static size_t
-make_extension_string_es1(const GLcontext *ctx, GLubyte *str)
+make_extension_string_es1(const struct gl_context *ctx, GLubyte *str)
{
size_t len = 0;
@@ -834,7 +837,7 @@ make_extension_string_es1(const GLcontext *ctx, GLubyte *str)
static GLubyte *
-compute_extensions_es1(const GLcontext *ctx)
+compute_extensions_es1(const struct gl_context *ctx)
{
GLubyte *s;
unsigned int len;
@@ -849,7 +852,7 @@ compute_extensions_es1(const GLcontext *ctx)
}
static size_t
-make_extension_string_es2(const GLcontext *ctx, GLubyte *str)
+make_extension_string_es2(const struct gl_context *ctx, GLubyte *str)
{
size_t len = 0;
@@ -903,7 +906,7 @@ make_extension_string_es2(const GLcontext *ctx, GLubyte *str)
}
static GLubyte *
-compute_extensions_es2(GLcontext *ctx)
+compute_extensions_es2(struct gl_context *ctx)
{
GLubyte *s;
unsigned int len;
@@ -919,7 +922,7 @@ compute_extensions_es2(GLcontext *ctx)
GLubyte *
-_mesa_make_extension_string(GLcontext *ctx)
+_mesa_make_extension_string(struct gl_context *ctx)
{
switch (ctx->API) {
case API_OPENGL:
@@ -938,7 +941,7 @@ _mesa_make_extension_string(GLcontext *ctx)
* Return number of enabled extensions.
*/
GLuint
-_mesa_get_extension_count(GLcontext *ctx)
+_mesa_get_extension_count(struct gl_context *ctx)
{
GLuint i;
@@ -963,7 +966,7 @@ _mesa_get_extension_count(GLcontext *ctx)
* Return name of i-th enabled extension
*/
const GLubyte *
-_mesa_get_enabled_extension(GLcontext *ctx, GLuint index)
+_mesa_get_enabled_extension(struct gl_context *ctx, GLuint index)
{
GLuint i;
diff --git a/src/mesa/main/extensions.h b/src/mesa/main/extensions.h
index a25472440d6..6eb85393965 100644
--- a/src/mesa/main/extensions.h
+++ b/src/mesa/main/extensions.h
@@ -40,35 +40,35 @@
#if _HAVE_FULL_GL
-extern void _mesa_enable_sw_extensions(GLcontext *ctx);
+extern void _mesa_enable_sw_extensions(struct gl_context *ctx);
-extern void _mesa_enable_imaging_extensions(GLcontext *ctx);
+extern void _mesa_enable_imaging_extensions(struct gl_context *ctx);
-extern void _mesa_enable_1_3_extensions(GLcontext *ctx);
+extern void _mesa_enable_1_3_extensions(struct gl_context *ctx);
-extern void _mesa_enable_1_4_extensions(GLcontext *ctx);
+extern void _mesa_enable_1_4_extensions(struct gl_context *ctx);
-extern void _mesa_enable_1_5_extensions(GLcontext *ctx);
+extern void _mesa_enable_1_5_extensions(struct gl_context *ctx);
-extern void _mesa_enable_2_0_extensions(GLcontext *ctx);
+extern void _mesa_enable_2_0_extensions(struct gl_context *ctx);
-extern void _mesa_enable_2_1_extensions(GLcontext *ctx);
+extern void _mesa_enable_2_1_extensions(struct gl_context *ctx);
-extern void _mesa_enable_extension(GLcontext *ctx, const char *name);
+extern void _mesa_enable_extension(struct gl_context *ctx, const char *name);
-extern void _mesa_disable_extension(GLcontext *ctx, const char *name);
+extern void _mesa_disable_extension(struct gl_context *ctx, const char *name);
-extern GLboolean _mesa_extension_is_enabled(GLcontext *ctx, const char *name);
+extern GLboolean _mesa_extension_is_enabled(struct gl_context *ctx, const char *name);
-extern void _mesa_init_extensions(GLcontext *ctx);
+extern void _mesa_init_extensions(struct gl_context *ctx);
-extern GLubyte *_mesa_make_extension_string(GLcontext *ctx);
+extern GLubyte *_mesa_make_extension_string(struct gl_context *ctx);
extern GLuint
-_mesa_get_extension_count(GLcontext *ctx);
+_mesa_get_extension_count(struct gl_context *ctx);
extern const GLubyte *
-_mesa_get_enabled_extension(GLcontext *ctx, GLuint index);
+_mesa_get_enabled_extension(struct gl_context *ctx, GLuint index);
#else
diff --git a/src/mesa/main/fbobject.c b/src/mesa/main/fbobject.c
index f28846c4c99..7c3357043fa 100644
--- a/src/mesa/main/fbobject.c
+++ b/src/mesa/main/fbobject.c
@@ -95,7 +95,7 @@ delete_dummy_framebuffer(struct gl_framebuffer *fb)
void
-_mesa_init_fbobjects(GLcontext *ctx)
+_mesa_init_fbobjects(struct gl_context *ctx)
{
_glthread_INIT_MUTEX(DummyFramebuffer.Mutex);
_glthread_INIT_MUTEX(DummyRenderbuffer.Mutex);
@@ -115,7 +115,7 @@ _mesa_get_incomplete_framebuffer(void)
* Helper routine for getting a gl_renderbuffer.
*/
struct gl_renderbuffer *
-_mesa_lookup_renderbuffer(GLcontext *ctx, GLuint id)
+_mesa_lookup_renderbuffer(struct gl_context *ctx, GLuint id)
{
struct gl_renderbuffer *rb;
@@ -132,7 +132,7 @@ _mesa_lookup_renderbuffer(GLcontext *ctx, GLuint id)
* Helper routine for getting a gl_framebuffer.
*/
struct gl_framebuffer *
-_mesa_lookup_framebuffer(GLcontext *ctx, GLuint id)
+_mesa_lookup_framebuffer(struct gl_context *ctx, GLuint id)
{
struct gl_framebuffer *fb;
@@ -166,7 +166,7 @@ invalidate_framebuffer(struct gl_framebuffer *fb)
* the depth buffer attachment point.
*/
struct gl_renderbuffer_attachment *
-_mesa_get_attachment(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_get_attachment(struct gl_context *ctx, struct gl_framebuffer *fb,
GLenum attachment)
{
GLuint i;
@@ -216,7 +216,7 @@ _mesa_get_attachment(GLcontext *ctx, struct gl_framebuffer *fb,
* window-system framebuffer (not user-created framebuffer objects).
*/
static struct gl_renderbuffer_attachment *
-_mesa_get_fb0_attachment(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_get_fb0_attachment(struct gl_context *ctx, struct gl_framebuffer *fb,
GLenum attachment)
{
assert(fb->Name == 0);
@@ -255,7 +255,8 @@ _mesa_get_fb0_attachment(GLcontext *ctx, struct gl_framebuffer *fb,
* point. Update reference counts, etc.
*/
void
-_mesa_remove_attachment(GLcontext *ctx, struct gl_renderbuffer_attachment *att)
+_mesa_remove_attachment(struct gl_context *ctx,
+ struct gl_renderbuffer_attachment *att)
{
if (att->Type == GL_TEXTURE) {
ASSERT(att->Texture);
@@ -281,7 +282,7 @@ _mesa_remove_attachment(GLcontext *ctx, struct gl_renderbuffer_attachment *att)
* The previous binding, if any, will be removed first.
*/
void
-_mesa_set_texture_attachment(GLcontext *ctx,
+_mesa_set_texture_attachment(struct gl_context *ctx,
struct gl_framebuffer *fb,
struct gl_renderbuffer_attachment *att,
struct gl_texture_object *texObj,
@@ -322,7 +323,7 @@ _mesa_set_texture_attachment(GLcontext *ctx,
* The previous binding, if any, will be removed first.
*/
void
-_mesa_set_renderbuffer_attachment(GLcontext *ctx,
+_mesa_set_renderbuffer_attachment(struct gl_context *ctx,
struct gl_renderbuffer_attachment *att,
struct gl_renderbuffer *rb)
{
@@ -340,7 +341,8 @@ _mesa_set_renderbuffer_attachment(GLcontext *ctx,
* Attach a renderbuffer object to a framebuffer object.
*/
void
-_mesa_framebuffer_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_framebuffer_renderbuffer(struct gl_context *ctx,
+ struct gl_framebuffer *fb,
GLenum attachment, struct gl_renderbuffer *rb)
{
struct gl_renderbuffer_attachment *att;
@@ -397,6 +399,44 @@ fbo_incomplete(const char *msg, int index)
}
+/**
+ * Is the given base format a legal format for a color renderbuffer?
+ */
+static GLboolean
+is_legal_color_format(const struct gl_context *ctx, GLenum baseFormat)
+{
+ switch (baseFormat) {
+ case GL_RGB:
+ case GL_RGBA:
+ return GL_TRUE;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_ALPHA:
+ case GL_INTENSITY:
+ case GL_ALPHA:
+ return ctx->Extensions.ARB_framebuffer_object;
+ case GL_RED:
+ case GL_RG:
+ return ctx->Extensions.ARB_texture_rg;
+ default:
+ return GL_FALSE;
+ }
+}
+
+
+/**
+ * Is the given base format a legal format for a depth/stencil renderbuffer?
+ */
+static GLboolean
+is_legal_depth_format(const struct gl_context *ctx, GLenum baseFormat)
+{
+ switch (baseFormat) {
+ case GL_DEPTH_COMPONENT:
+ case GL_DEPTH_STENCIL_EXT:
+ return GL_TRUE;
+ default:
+ return GL_FALSE;
+ }
+}
/**
@@ -406,7 +446,7 @@ fbo_incomplete(const char *msg, int index)
* if GL_STENCIL, this is a stencil component attachment point.
*/
static void
-test_attachment_completeness(const GLcontext *ctx, GLenum format,
+test_attachment_completeness(const struct gl_context *ctx, GLenum format,
struct gl_renderbuffer_attachment *att)
{
assert(format == GL_COLOR || format == GL_DEPTH || format == GL_STENCIL);
@@ -448,14 +488,7 @@ test_attachment_completeness(const GLcontext *ctx, GLenum format,
baseFormat = _mesa_get_format_base_format(texImage->TexFormat);
if (format == GL_COLOR) {
- if (baseFormat != GL_RGB &&
- baseFormat != GL_RGBA &&
- (!ctx->Extensions.ARB_framebuffer_object ||
- baseFormat != GL_ALPHA) &&
- (!ctx->Extensions.ARB_texture_rg ||
- baseFormat != GL_RED) &&
- (!ctx->Extensions.ARB_texture_rg ||
- baseFormat != GL_RG)) {
+ if (!is_legal_color_format(ctx, baseFormat)) {
att_incomplete("bad format");
att->Complete = GL_FALSE;
return;
@@ -563,7 +596,8 @@ test_attachment_completeness(const GLcontext *ctx, GLenum format,
* framebuffer is complete.
*/
void
-_mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb)
+_mesa_test_framebuffer_completeness(struct gl_context *ctx,
+ struct gl_framebuffer *fb)
{
GLuint numImages;
GLenum intFormat = GL_NONE; /* color buffers' internal format */
@@ -586,6 +620,7 @@ _mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb)
for (i = -2; i < (GLint) ctx->Const.MaxColorAttachments; i++) {
struct gl_renderbuffer_attachment *att;
GLenum f;
+ gl_format mesaFormat;
/*
* XXX for ARB_fbo, only check color buffers that are named by
@@ -632,12 +667,10 @@ _mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb)
minHeight = MIN2(minHeight, texImg->Height);
maxHeight = MAX2(maxHeight, texImg->Height);
f = texImg->_BaseFormat;
+ mesaFormat = texImg->TexFormat;
numImages++;
- if (f != GL_RGB && f != GL_RGBA && f != GL_DEPTH_COMPONENT
- && f != GL_DEPTH_STENCIL_EXT
- && (!ctx->Extensions.ARB_framebuffer_object || f != GL_ALPHA)
- && (!ctx->Extensions.ARB_texture_rg || f != GL_RED)
- && (!ctx->Extensions.ARB_texture_rg || f != GL_RG)) {
+ if (!is_legal_color_format(ctx, f) &&
+ !is_legal_depth_format(ctx, f)) {
fb->_Status = GL_FRAMEBUFFER_INCOMPLETE_FORMATS_EXT;
fbo_incomplete("texture attachment incomplete", -1);
return;
@@ -649,6 +682,7 @@ _mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb)
minHeight = MIN2(minHeight, att->Renderbuffer->Height);
maxHeight = MAX2(minHeight, att->Renderbuffer->Height);
f = att->Renderbuffer->InternalFormat;
+ mesaFormat = att->Renderbuffer->Format;
numImages++;
}
else {
@@ -661,6 +695,9 @@ _mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb)
numSamples = att->Renderbuffer->NumSamples;
}
+ /* check if integer color */
+ fb->_IntegerColor = _mesa_is_format_integer_color(mesaFormat);
+
/* Error-check width, height, format, samples
*/
if (numImages == 1) {
@@ -833,7 +870,7 @@ _mesa_BindRenderbufferEXT(GLenum target, GLuint renderbuffer)
* The spec calls for unbinding.
*/
static void
-detach_renderbuffer(GLcontext *ctx,
+detach_renderbuffer(struct gl_context *ctx,
struct gl_framebuffer *fb,
struct gl_renderbuffer *rb)
{
@@ -934,7 +971,7 @@ _mesa_GenRenderbuffersEXT(GLsizei n, GLuint *renderbuffers)
* we'll also return GL_RED and GL_RG.
*/
GLenum
-_mesa_base_fbo_format(GLcontext *ctx, GLenum internalFormat)
+_mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat)
{
switch (internalFormat) {
case GL_ALPHA:
@@ -1287,7 +1324,7 @@ _mesa_IsFramebufferEXT(GLuint framebuffer)
* attachments.
*/
static void
-check_begin_texture_render(GLcontext *ctx, struct gl_framebuffer *fb)
+check_begin_texture_render(struct gl_context *ctx, struct gl_framebuffer *fb)
{
GLuint i;
ASSERT(ctx->Driver.RenderTexture);
@@ -1312,7 +1349,7 @@ check_begin_texture_render(GLcontext *ctx, struct gl_framebuffer *fb)
* notify the device driver that the texture image may have changed.
*/
static void
-check_end_texture_render(GLcontext *ctx, struct gl_framebuffer *fb)
+check_end_texture_render(struct gl_context *ctx, struct gl_framebuffer *fb)
{
if (fb->Name == 0)
return; /* can't render to texture with winsys framebuffers */
@@ -1606,7 +1643,7 @@ _mesa_CheckFramebufferStatusEXT(GLenum target)
* Common code called by glFramebufferTexture1D/2D/3DEXT().
*/
static void
-framebuffer_texture(GLcontext *ctx, const char *caller, GLenum target,
+framebuffer_texture(struct gl_context *ctx, const char *caller, GLenum target,
GLenum attachment, GLenum textarget, GLuint texture,
GLint level, GLint zoffset)
{
diff --git a/src/mesa/main/fbobject.h b/src/mesa/main/fbobject.h
index 9850ee9aa23..9e18e538a6f 100644
--- a/src/mesa/main/fbobject.h
+++ b/src/mesa/main/fbobject.h
@@ -29,47 +29,47 @@
#include "mtypes.h"
extern void
-_mesa_init_fbobjects(GLcontext *ctx);
+_mesa_init_fbobjects(struct gl_context *ctx);
extern struct gl_framebuffer *
_mesa_get_incomplete_framebuffer(void);
extern struct gl_renderbuffer *
-_mesa_lookup_renderbuffer(GLcontext *ctx, GLuint id);
+_mesa_lookup_renderbuffer(struct gl_context *ctx, GLuint id);
extern struct gl_framebuffer *
-_mesa_lookup_framebuffer(GLcontext *ctx, GLuint id);
+_mesa_lookup_framebuffer(struct gl_context *ctx, GLuint id);
extern struct gl_renderbuffer_attachment *
-_mesa_get_attachment(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_get_attachment(struct gl_context *ctx, struct gl_framebuffer *fb,
GLenum attachment);
extern void
-_mesa_remove_attachment(GLcontext *ctx,
+_mesa_remove_attachment(struct gl_context *ctx,
struct gl_renderbuffer_attachment *att);
extern void
-_mesa_set_texture_attachment(GLcontext *ctx,
+_mesa_set_texture_attachment(struct gl_context *ctx,
struct gl_framebuffer *fb,
struct gl_renderbuffer_attachment *att,
struct gl_texture_object *texObj,
GLenum texTarget, GLuint level, GLuint zoffset);
extern void
-_mesa_set_renderbuffer_attachment(GLcontext *ctx,
+_mesa_set_renderbuffer_attachment(struct gl_context *ctx,
struct gl_renderbuffer_attachment *att,
struct gl_renderbuffer *rb);
extern void
-_mesa_framebuffer_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_framebuffer_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLenum attachment, struct gl_renderbuffer *rb);
extern void
-_mesa_test_framebuffer_completeness(GLcontext *ctx, struct gl_framebuffer *fb);
+_mesa_test_framebuffer_completeness(struct gl_context *ctx, struct gl_framebuffer *fb);
extern GLenum
-_mesa_base_fbo_format(GLcontext *ctx, GLenum internalFormat);
+_mesa_base_fbo_format(struct gl_context *ctx, GLenum internalFormat);
extern GLboolean GLAPIENTRY
_mesa_IsRenderbufferEXT(GLuint renderbuffer);
diff --git a/src/mesa/main/feedback.c b/src/mesa/main/feedback.c
index c72b91280ed..ffdecaecc29 100644
--- a/src/mesa/main/feedback.c
+++ b/src/mesa/main/feedback.c
@@ -116,7 +116,7 @@ _mesa_PassThrough( GLfloat token )
* Put a vertex into the feedback buffer.
*/
void
-_mesa_feedback_vertex(GLcontext *ctx,
+_mesa_feedback_vertex(struct gl_context *ctx,
const GLfloat win[4],
const GLfloat color[4],
const GLfloat texcoord[4])
@@ -159,7 +159,7 @@ _mesa_feedback_vertex(GLcontext *ctx,
* \note this function can't be put in a display list.
*
* Verifies we're not in selection mode, flushes the vertices and initialize
- * the fields in __GLcontextRec::Select with the given buffer.
+ * the fields in __struct gl_contextRec::Select with the given buffer.
*/
static void GLAPIENTRY
_mesa_SelectBuffer( GLsizei size, GLuint *buffer )
@@ -192,7 +192,7 @@ _mesa_SelectBuffer( GLsizei size, GLuint *buffer )
* increments the pointer.
*/
static INLINE void
-write_record(GLcontext *ctx, GLuint value)
+write_record(struct gl_context *ctx, GLuint value)
{
if (ctx->Select.BufferCount < ctx->Select.BufferSize) {
ctx->Select.Buffer[ctx->Select.BufferCount] = value;
@@ -211,7 +211,7 @@ write_record(GLcontext *ctx, GLuint value)
* gl_selection::HitMaxZ.
*/
void
-_mesa_update_hitflag(GLcontext *ctx, GLfloat z)
+_mesa_update_hitflag(struct gl_context *ctx, GLfloat z)
{
ctx->Select.HitFlag = GL_TRUE;
if (z < ctx->Select.HitMinZ) {
@@ -235,7 +235,7 @@ _mesa_update_hitflag(GLcontext *ctx, GLfloat z)
* \sa gl_selection.
*/
static void
-write_hit_record(GLcontext *ctx)
+write_hit_record(struct gl_context *ctx)
{
GLuint i;
GLuint zmin, zmax, zscale = (~0u);
@@ -266,7 +266,7 @@ write_hit_record(GLcontext *ctx)
*
* Verifies we are in select mode and resets the name stack depth and resets
* the hit record data in gl_selection. Marks new render mode in
- * __GLcontextRec::NewState.
+ * __struct gl_contextRec::NewState.
*/
static void GLAPIENTRY
_mesa_InitNames( void )
@@ -297,7 +297,7 @@ _mesa_InitNames( void )
* Flushes vertices. If there is a hit flag writes it (via write_hit_record()),
* and replace the top-most name in the stack.
*
- * sa __GLcontextRec::Select.
+ * sa __struct gl_contextRec::Select.
*/
static void GLAPIENTRY
_mesa_LoadName( GLuint name )
@@ -336,7 +336,7 @@ _mesa_LoadName( GLuint name )
* Flushes vertices. If there is a hit flag writes it (via write_hit_record()),
* and adds the name to the top of the name stack.
*
- * sa __GLcontextRec::Select.
+ * sa __struct gl_contextRec::Select.
*/
static void GLAPIENTRY
_mesa_PushName( GLuint name )
@@ -367,7 +367,7 @@ _mesa_PushName( GLuint name )
* Flushes vertices. If there is a hit flag writes it (via write_hit_record()),
* and removes top-most name in the name stack.
*
- * sa __GLcontextRec::Select.
+ * sa __struct gl_contextRec::Select.
*/
static void GLAPIENTRY
_mesa_PopName( void )
@@ -409,7 +409,7 @@ _mesa_PopName( void )
* Flushes the vertices and do the necessary cleanup according to the previous
* rasterization mode, such as writing the hit record or resent the select
* buffer index when exiting the select mode. Updates
- * __GLcontextRec::RenderMode and notifies the driver via the
+ * __struct gl_contextRec::RenderMode and notifies the driver via the
* dd_function_table::RenderMode callback.
*/
static GLint GLAPIENTRY
@@ -519,7 +519,7 @@ _mesa_init_feedback_dispatch(struct _glapi_table *disp)
/**
* Initialize context feedback data.
*/
-void _mesa_init_feedback( GLcontext * ctx )
+void _mesa_init_feedback( struct gl_context * ctx )
{
/* Feedback */
ctx->Feedback.Type = GL_2D; /* TODO: verify */
diff --git a/src/mesa/main/feedback.h b/src/mesa/main/feedback.h
index c6354b97bcd..f9fbbce70b9 100644
--- a/src/mesa/main/feedback.h
+++ b/src/mesa/main/feedback.h
@@ -33,14 +33,14 @@
#if FEATURE_feedback
extern void
-_mesa_feedback_vertex( GLcontext *ctx,
+_mesa_feedback_vertex( struct gl_context *ctx,
const GLfloat win[4],
const GLfloat color[4],
const GLfloat texcoord[4] );
static INLINE void
-_mesa_feedback_token( GLcontext *ctx, GLfloat token )
+_mesa_feedback_token( struct gl_context *ctx, GLfloat token )
{
if (ctx->Feedback.Count < ctx->Feedback.BufferSize) {
ctx->Feedback.Buffer[ctx->Feedback.Count] = token;
@@ -50,7 +50,7 @@ _mesa_feedback_token( GLcontext *ctx, GLfloat token )
extern void
-_mesa_update_hitflag( GLcontext *ctx, GLfloat z );
+_mesa_update_hitflag( struct gl_context *ctx, GLfloat z );
extern void
@@ -61,7 +61,7 @@ _mesa_init_feedback_dispatch(struct _glapi_table *disp);
#include "main/compiler.h"
static INLINE void
-_mesa_feedback_vertex( GLcontext *ctx,
+_mesa_feedback_vertex( struct gl_context *ctx,
const GLfloat win[4],
const GLfloat color[4],
const GLfloat texcoord[4] )
@@ -72,14 +72,14 @@ _mesa_feedback_vertex( GLcontext *ctx,
static INLINE void
-_mesa_feedback_token( GLcontext *ctx, GLfloat token )
+_mesa_feedback_token( struct gl_context *ctx, GLfloat token )
{
/* render mode is always GL_RENDER */
ASSERT_NO_FEATURE();
}
static INLINE void
-_mesa_update_hitflag( GLcontext *ctx, GLfloat z )
+_mesa_update_hitflag( struct gl_context *ctx, GLfloat z )
{
/* render mode is always GL_RENDER */
ASSERT_NO_FEATURE();
@@ -93,6 +93,6 @@ _mesa_init_feedback_dispatch(struct _glapi_table *disp)
#endif /* FEATURE_feedback */
extern void
-_mesa_init_feedback( GLcontext *ctx );
+_mesa_init_feedback( struct gl_context *ctx );
#endif /* FEEDBACK_H */
diff --git a/src/mesa/main/ffvertex_prog.c b/src/mesa/main/ffvertex_prog.c
index 92fec09bad0..0f2c313c819 100644
--- a/src/mesa/main/ffvertex_prog.c
+++ b/src/mesa/main/ffvertex_prog.c
@@ -109,7 +109,7 @@ static GLuint translate_texgen( GLboolean enabled, GLenum mode )
-static GLboolean check_active_shininess( GLcontext *ctx,
+static GLboolean check_active_shininess( struct gl_context *ctx,
const struct state_key *key,
GLuint side )
{
@@ -129,7 +129,7 @@ static GLboolean check_active_shininess( GLcontext *ctx,
}
-static void make_state_key( GLcontext *ctx, struct state_key *key )
+static void make_state_key( struct gl_context *ctx, struct state_key *key )
{
const struct gl_fragment_program *fp;
GLuint i;
@@ -1638,7 +1638,7 @@ create_new_program( const struct state_key *key,
* XXX move this into core mesa (main/)
*/
struct gl_vertex_program *
-_mesa_get_fixed_func_vertex_program(GLcontext *ctx)
+_mesa_get_fixed_func_vertex_program(struct gl_context *ctx)
{
struct gl_vertex_program *prog;
struct state_key key;
diff --git a/src/mesa/main/ffvertex_prog.h b/src/mesa/main/ffvertex_prog.h
index 38dc5fbb8d3..72cd6ea115d 100644
--- a/src/mesa/main/ffvertex_prog.h
+++ b/src/mesa/main/ffvertex_prog.h
@@ -33,7 +33,7 @@
#include "main/mtypes.h"
struct gl_vertex_program *
-_mesa_get_fixed_func_vertex_program(GLcontext *ctx);
+_mesa_get_fixed_func_vertex_program(struct gl_context *ctx);
diff --git a/src/mesa/main/fog.c b/src/mesa/main/fog.c
index 9f26c012d66..fd64bd1fd89 100644
--- a/src/mesa/main/fog.c
+++ b/src/mesa/main/fog.c
@@ -178,7 +178,7 @@ _mesa_Fogfv( GLenum pname, const GLfloat *params )
/***** Initialization *****/
/**********************************************************************/
-void _mesa_init_fog( GLcontext * ctx )
+void _mesa_init_fog( struct gl_context * ctx )
{
/* Fog group */
ctx->Fog.Enabled = GL_FALSE;
diff --git a/src/mesa/main/fog.h b/src/mesa/main/fog.h
index a14d19cdb39..7df4f0b6735 100644
--- a/src/mesa/main/fog.h
+++ b/src/mesa/main/fog.h
@@ -54,7 +54,7 @@ _mesa_Fogfv(GLenum pname, const GLfloat *params );
extern void GLAPIENTRY
_mesa_Fogiv(GLenum pname, const GLint *params );
-extern void _mesa_init_fog( GLcontext * ctx );
+extern void _mesa_init_fog( struct gl_context * ctx );
#else
diff --git a/src/mesa/main/formats.c b/src/mesa/main/formats.c
index 654ea038a55..e18a9fc9977 100644
--- a/src/mesa/main/formats.c
+++ b/src/mesa/main/formats.c
@@ -945,6 +945,7 @@ _mesa_get_format_bits(gl_format format, GLenum pname)
* GL_UNSIGNED_NORMALIZED = unsigned int representing [0,1]
* GL_SIGNED_NORMALIZED = signed int representing [-1, 1]
* GL_UNSIGNED_INT = an ordinary unsigned integer
+ * GL_INT = an ordinary signed integer
* GL_FLOAT = an ordinary float
*/
GLenum
@@ -1007,6 +1008,20 @@ _mesa_is_format_packed_depth_stencil(gl_format format)
/**
+ * Is the given format a signed/unsigned integer color format?
+ */
+GLboolean
+_mesa_is_format_integer_color(gl_format format)
+{
+ const struct gl_format_info *info = _mesa_get_format_info(format);
+ return (info->DataType == GL_INT || info->DataType == GL_UNSIGNED_INT) &&
+ info->BaseFormat != GL_DEPTH_COMPONENT &&
+ info->BaseFormat != GL_DEPTH_STENCIL &&
+ info->BaseFormat != GL_STENCIL_INDEX;
+}
+
+
+/**
* Return color encoding for given format.
* \return GL_LINEAR or GL_SRGB
*/
diff --git a/src/mesa/main/formats.h b/src/mesa/main/formats.h
index 7674d8eaa4e..eeb460dabe7 100644
--- a/src/mesa/main/formats.h
+++ b/src/mesa/main/formats.h
@@ -199,6 +199,9 @@ _mesa_is_format_compressed(gl_format format);
extern GLboolean
_mesa_is_format_packed_depth_stencil(gl_format format);
+extern GLboolean
+_mesa_is_format_integer_color(gl_format format);
+
extern GLenum
_mesa_get_format_color_encoding(gl_format format);
diff --git a/src/mesa/main/framebuffer.c b/src/mesa/main/framebuffer.c
index a98c09cfbf3..5530c51c892 100644
--- a/src/mesa/main/framebuffer.c
+++ b/src/mesa/main/framebuffer.c
@@ -83,7 +83,7 @@ compute_depth_max(struct gl_framebuffer *fb)
* \sa _mesa_new_framebuffer
*/
struct gl_framebuffer *
-_mesa_create_framebuffer(const GLvisual *visual)
+_mesa_create_framebuffer(const struct gl_config *visual)
{
struct gl_framebuffer *fb = CALLOC_STRUCT(gl_framebuffer);
assert(visual);
@@ -102,7 +102,7 @@ _mesa_create_framebuffer(const GLvisual *visual)
* \sa _mesa_create_framebuffer
*/
struct gl_framebuffer *
-_mesa_new_framebuffer(GLcontext *ctx, GLuint name)
+_mesa_new_framebuffer(struct gl_context *ctx, GLuint name)
{
struct gl_framebuffer *fb;
(void) ctx;
@@ -122,7 +122,7 @@ _mesa_new_framebuffer(GLcontext *ctx, GLuint name)
*/
void
_mesa_initialize_window_framebuffer(struct gl_framebuffer *fb,
- const GLvisual *visual)
+ const struct gl_config *visual)
{
assert(fb);
assert(visual);
@@ -281,7 +281,7 @@ _mesa_reference_framebuffer(struct gl_framebuffer **ptr,
* without a currently bound rendering context.
*/
void
-_mesa_resize_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_resize_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint width, GLuint height)
{
GLuint i;
@@ -359,7 +359,7 @@ _mesa_resize_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb,
* from device drivers (as was done in the past).
*/
void
-_mesa_resizebuffers( GLcontext *ctx )
+_mesa_resizebuffers( struct gl_context *ctx )
{
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH( ctx );
@@ -372,7 +372,7 @@ _mesa_resizebuffers( GLcontext *ctx )
if (ctx->WinSysDrawBuffer) {
GLuint newWidth, newHeight;
- GLframebuffer *buffer = ctx->WinSysDrawBuffer;
+ struct gl_framebuffer *buffer = ctx->WinSysDrawBuffer;
assert(buffer->Name == 0);
@@ -389,7 +389,7 @@ _mesa_resizebuffers( GLcontext *ctx )
if (ctx->WinSysReadBuffer
&& ctx->WinSysReadBuffer != ctx->WinSysDrawBuffer) {
GLuint newWidth, newHeight;
- GLframebuffer *buffer = ctx->WinSysReadBuffer;
+ struct gl_framebuffer *buffer = ctx->WinSysReadBuffer;
assert(buffer->Name == 0);
@@ -429,7 +429,7 @@ _mesa_ResizeBuffersMESA( void )
* window-system framebuffes.
*/
static void
-update_framebuffer_size(GLcontext *ctx, struct gl_framebuffer *fb)
+update_framebuffer_size(struct gl_context *ctx, struct gl_framebuffer *fb)
{
GLuint minWidth = ~0, minHeight = ~0;
GLuint i;
@@ -464,7 +464,7 @@ update_framebuffer_size(GLcontext *ctx, struct gl_framebuffer *fb)
* \param ctx the GL context.
*/
void
-_mesa_update_draw_buffer_bounds(GLcontext *ctx)
+_mesa_update_draw_buffer_bounds(struct gl_context *ctx)
{
struct gl_framebuffer *buffer = ctx->DrawBuffer;
@@ -600,7 +600,7 @@ _mesa_update_framebuffer_visual(struct gl_framebuffer *fb)
* \param attIndex indicates the renderbuffer to possibly wrap
*/
void
-_mesa_update_depth_buffer(GLcontext *ctx,
+_mesa_update_depth_buffer(struct gl_context *ctx,
struct gl_framebuffer *fb,
GLuint attIndex)
{
@@ -641,7 +641,7 @@ _mesa_update_depth_buffer(GLcontext *ctx,
* \param attIndex indicates the renderbuffer to possibly wrap
*/
void
-_mesa_update_stencil_buffer(GLcontext *ctx,
+_mesa_update_stencil_buffer(struct gl_context *ctx,
struct gl_framebuffer *fb,
GLuint attIndex)
{
@@ -722,7 +722,7 @@ _mesa_update_stencil_buffer(GLcontext *ctx,
* writing colors.
*/
static void
-update_color_draw_buffers(GLcontext *ctx, struct gl_framebuffer *fb)
+update_color_draw_buffers(struct gl_context *ctx, struct gl_framebuffer *fb)
{
GLuint output;
@@ -746,7 +746,7 @@ update_color_draw_buffers(GLcontext *ctx, struct gl_framebuffer *fb)
* Unlike the DrawBuffer, we can only read from one (or zero) color buffers.
*/
static void
-update_color_read_buffer(GLcontext *ctx, struct gl_framebuffer *fb)
+update_color_read_buffer(struct gl_context *ctx, struct gl_framebuffer *fb)
{
(void) ctx;
if (fb->_ColorReadBufferIndex == -1 ||
@@ -781,7 +781,7 @@ update_color_read_buffer(GLcontext *ctx, struct gl_framebuffer *fb)
* glRenderbufferStorageEXT.
*/
static void
-update_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb)
+update_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb)
{
if (fb->Name == 0) {
/* This is a window-system framebuffer */
@@ -823,7 +823,7 @@ update_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb)
* Update state related to the current draw/read framebuffers.
*/
void
-_mesa_update_framebuffer(GLcontext *ctx)
+_mesa_update_framebuffer(struct gl_context *ctx)
{
struct gl_framebuffer *drawFb;
struct gl_framebuffer *readFb;
@@ -846,7 +846,7 @@ _mesa_update_framebuffer(GLcontext *ctx)
* \return GL_TRUE if buffer exists, GL_FALSE otherwise
*/
GLboolean
-_mesa_source_buffer_exists(GLcontext *ctx, GLenum format)
+_mesa_source_buffer_exists(struct gl_context *ctx, GLenum format)
{
const struct gl_renderbuffer_attachment *att = ctx->ReadBuffer->Attachment;
@@ -868,12 +868,23 @@ _mesa_source_buffer_exists(GLcontext *ctx, GLenum format)
case GL_LUMINANCE:
case GL_LUMINANCE_ALPHA:
case GL_INTENSITY:
+ case GL_RG:
case GL_RGB:
case GL_BGR:
case GL_RGBA:
case GL_BGRA:
case GL_ABGR_EXT:
case GL_COLOR_INDEX:
+ case GL_RED_INTEGER_EXT:
+ case GL_GREEN_INTEGER_EXT:
+ case GL_BLUE_INTEGER_EXT:
+ case GL_ALPHA_INTEGER_EXT:
+ case GL_RGB_INTEGER_EXT:
+ case GL_RGBA_INTEGER_EXT:
+ case GL_BGR_INTEGER_EXT:
+ case GL_BGRA_INTEGER_EXT:
+ case GL_LUMINANCE_INTEGER_EXT:
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
if (ctx->ReadBuffer->_ColorReadBuffer == NULL) {
return GL_FALSE;
}
@@ -922,7 +933,7 @@ _mesa_source_buffer_exists(GLcontext *ctx, GLenum format)
* XXX could do some code merging w/ above function.
*/
GLboolean
-_mesa_dest_buffer_exists(GLcontext *ctx, GLenum format)
+_mesa_dest_buffer_exists(struct gl_context *ctx, GLenum format)
{
const struct gl_renderbuffer_attachment *att = ctx->DrawBuffer->Attachment;
@@ -950,6 +961,16 @@ _mesa_dest_buffer_exists(GLcontext *ctx, GLenum format)
case GL_BGRA:
case GL_ABGR_EXT:
case GL_COLOR_INDEX:
+ case GL_RED_INTEGER_EXT:
+ case GL_GREEN_INTEGER_EXT:
+ case GL_BLUE_INTEGER_EXT:
+ case GL_ALPHA_INTEGER_EXT:
+ case GL_RGB_INTEGER_EXT:
+ case GL_RGBA_INTEGER_EXT:
+ case GL_BGR_INTEGER_EXT:
+ case GL_BGRA_INTEGER_EXT:
+ case GL_LUMINANCE_INTEGER_EXT:
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
/* Nothing special since GL_DRAW_BUFFER could be GL_NONE. */
/* Could assert that colorbuffer has RedBits > 0 */
break;
@@ -993,7 +1014,7 @@ _mesa_dest_buffer_exists(GLcontext *ctx, GLenum format)
* Used to answer the GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES query.
*/
GLenum
-_mesa_get_color_read_format(GLcontext *ctx)
+_mesa_get_color_read_format(struct gl_context *ctx)
{
switch (ctx->ReadBuffer->_ColorReadBuffer->Format) {
case MESA_FORMAT_ARGB8888:
@@ -1010,7 +1031,7 @@ _mesa_get_color_read_format(GLcontext *ctx)
* Used to answer the GL_IMPLEMENTATION_COLOR_READ_TYPE_OES query.
*/
GLenum
-_mesa_get_color_read_type(GLcontext *ctx)
+_mesa_get_color_read_type(struct gl_context *ctx)
{
switch (ctx->ReadBuffer->_ColorReadBuffer->Format) {
case MESA_FORMAT_ARGB8888:
diff --git a/src/mesa/main/framebuffer.h b/src/mesa/main/framebuffer.h
index 2e9844282f8..13722ea457a 100644
--- a/src/mesa/main/framebuffer.h
+++ b/src/mesa/main/framebuffer.h
@@ -29,14 +29,14 @@
#include "mtypes.h"
extern struct gl_framebuffer *
-_mesa_create_framebuffer(const GLvisual *visual);
+_mesa_create_framebuffer(const struct gl_config *visual);
extern struct gl_framebuffer *
-_mesa_new_framebuffer(GLcontext *ctx, GLuint name);
+_mesa_new_framebuffer(struct gl_context *ctx, GLuint name);
extern void
_mesa_initialize_window_framebuffer(struct gl_framebuffer *fb,
- const GLvisual *visual);
+ const struct gl_config *visual);
extern void
_mesa_initialize_user_framebuffer(struct gl_framebuffer *fb, GLuint name);
@@ -52,45 +52,45 @@ _mesa_reference_framebuffer(struct gl_framebuffer **ptr,
struct gl_framebuffer *fb);
extern void
-_mesa_resize_framebuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_resize_framebuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint width, GLuint height);
extern void
-_mesa_resizebuffers( GLcontext *ctx );
+_mesa_resizebuffers( struct gl_context *ctx );
extern void GLAPIENTRY
_mesa_ResizeBuffersMESA( void );
extern void
-_mesa_update_draw_buffer_bounds(GLcontext *ctx);
+_mesa_update_draw_buffer_bounds(struct gl_context *ctx);
extern void
_mesa_update_framebuffer_visual(struct gl_framebuffer *fb);
extern void
-_mesa_update_depth_buffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_update_depth_buffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint attIndex);
extern void
-_mesa_update_stencil_buffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_update_stencil_buffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint attIndex);
extern void
-_mesa_update_framebuffer(GLcontext *ctx);
+_mesa_update_framebuffer(struct gl_context *ctx);
extern GLboolean
-_mesa_source_buffer_exists(GLcontext *ctx, GLenum format);
+_mesa_source_buffer_exists(struct gl_context *ctx, GLenum format);
extern GLboolean
-_mesa_dest_buffer_exists(GLcontext *ctx, GLenum format);
+_mesa_dest_buffer_exists(struct gl_context *ctx, GLenum format);
extern GLenum
-_mesa_get_color_read_type(GLcontext *ctx);
+_mesa_get_color_read_type(struct gl_context *ctx);
extern GLenum
-_mesa_get_color_read_format(GLcontext *ctx);
+_mesa_get_color_read_format(struct gl_context *ctx);
extern void
_mesa_print_framebuffer(const struct gl_framebuffer *fb);
diff --git a/src/mesa/main/get.c b/src/mesa/main/get.c
index cb456fb64d8..da9df27bdb6 100644
--- a/src/mesa/main/get.c
+++ b/src/mesa/main/get.c
@@ -36,17 +36,17 @@
/* This is a table driven implemetation of the glGet*v() functions.
* The basic idea is that most getters just look up an int somewhere
- * in GLcontext and then convert it to a bool or float according to
+ * in struct gl_context and then convert it to a bool or float according to
* which of glGetIntegerv() glGetBooleanv() etc is being called.
* Instead of generating code to do this, we can just record the enum
- * value and the offset into GLcontext in an array of structs. Then
+ * value and the offset into struct gl_context in an array of structs. Then
* in glGet*(), we lookup the struct for the enum in question, and use
* the offset to get the int we need.
*
* Sometimes we need to look up a float, a boolean, a bit in a
* bitfield, a matrix or other types instead, so we need to track the
- * type of the value in GLcontext. And sometimes the value isn't in
- * GLcontext but in the drawbuffer, the array object, current texture
+ * type of the value in struct gl_context. And sometimes the value isn't in
+ * struct gl_context but in the drawbuffer, the array object, current texture
* unit, or maybe it's a computed value. So we need to also track
* where or how to find the value. Finally, we sometimes need to
* check that one of a number of extensions are enabled, the GL
@@ -165,7 +165,7 @@ union value {
#define BUFFER_FIELD(field, type) \
LOC_BUFFER, type, offsetof(struct gl_framebuffer, field)
#define CONTEXT_FIELD(field, type) \
- LOC_CONTEXT, type, offsetof(GLcontext, field)
+ LOC_CONTEXT, type, offsetof(struct gl_context, field)
#define ARRAY_FIELD(field, type) \
LOC_ARRAY, type, offsetof(struct gl_array_object, field)
#define CONST(value) \
@@ -173,6 +173,7 @@ union value {
#define BUFFER_INT(field) BUFFER_FIELD(field, TYPE_INT)
#define BUFFER_ENUM(field) BUFFER_FIELD(field, TYPE_ENUM)
+#define BUFFER_BOOL(field) BUFFER_FIELD(field, TYPE_BOOLEAN)
#define CONTEXT_INT(field) CONTEXT_FIELD(field, TYPE_INT)
#define CONTEXT_INT2(field) CONTEXT_FIELD(field, TYPE_INT_2)
@@ -260,6 +261,12 @@ static const int extra_EXT_fog_coord_flush_current[] = {
EXTRA_END
};
+static const int extra_EXT_texture_integer[] = {
+ EXT(EXT_texture_integer),
+ EXTRA_END
+};
+
+
EXTRA_EXT(ARB_multitexture);
EXTRA_EXT(ARB_texture_cube_map);
EXTRA_EXT(MESA_texture_array);
@@ -320,6 +327,12 @@ extra_NV_vertex_program_ARB_vertex_program_ARB_fragment_program_NV_vertex_progra
EXTRA_END
};
+static const int
+extra_NV_primitive_restart[] = {
+ EXT(NV_primitive_restart),
+ EXTRA_END
+};
+
static const int extra_version_30[] = { EXTRA_VERSION_30, EXTRA_END };
static const int extra_version_31[] = { EXTRA_VERSION_31, EXTRA_END };
static const int extra_version_32[] = { EXTRA_VERSION_32, EXTRA_END };
@@ -371,7 +384,7 @@ static const struct value_desc values[] = {
{ GL_MAX_ELEMENTS_VERTICES, CONTEXT_INT(Const.MaxArrayLockSize), NO_EXTRA },
{ GL_MAX_ELEMENTS_INDICES, CONTEXT_INT(Const.MaxArrayLockSize), NO_EXTRA },
{ GL_MAX_TEXTURE_SIZE, LOC_CUSTOM, TYPE_INT,
- offsetof(GLcontext, Const.MaxTextureLevels), NO_EXTRA },
+ offsetof(struct gl_context, Const.MaxTextureLevels), NO_EXTRA },
{ GL_MAX_VIEWPORT_DIMS, CONTEXT_INT2(Const.MaxViewportWidth), NO_EXTRA },
{ GL_PACK_ALIGNMENT, CONTEXT_INT(Pack.Alignment), NO_EXTRA },
{ GL_ALIASED_POINT_SIZE_RANGE, CONTEXT_FLOAT2(Const.MinPointSize), NO_EXTRA },
@@ -410,7 +423,7 @@ static const struct value_desc values[] = {
{ GL_TEXTURE_BINDING_CUBE_MAP_ARB, LOC_CUSTOM, TYPE_INT,
TEXTURE_CUBE_INDEX, extra_ARB_texture_cube_map },
{ GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB, LOC_CUSTOM, TYPE_INT,
- offsetof(GLcontext, Const.MaxCubeTextureLevels),
+ offsetof(struct gl_context, Const.MaxCubeTextureLevels),
extra_ARB_texture_cube_map }, /* XXX: OES_texture_cube_map */
/* XXX: OES_blend_subtract */
@@ -522,7 +535,7 @@ static const struct value_desc values[] = {
{ GL_MAX_TEXTURE_STACK_DEPTH, CONST(MAX_TEXTURE_STACK_DEPTH), NO_EXTRA },
{ GL_MODELVIEW_MATRIX, CONTEXT_MATRIX(ModelviewMatrixStack.Top), NO_EXTRA },
{ GL_MODELVIEW_STACK_DEPTH, LOC_CUSTOM, TYPE_INT,
- offsetof(GLcontext, ModelviewMatrixStack.Depth), NO_EXTRA },
+ offsetof(struct gl_context, ModelviewMatrixStack.Depth), NO_EXTRA },
{ GL_NORMALIZE, CONTEXT_BOOL(Transform.Normalize), NO_EXTRA },
{ GL_PACK_SKIP_IMAGES_EXT, CONTEXT_INT(Pack.SkipImages), NO_EXTRA },
{ GL_PERSPECTIVE_CORRECTION_HINT, CONTEXT_ENUM(Hint.PerspectiveCorrection), NO_EXTRA },
@@ -535,7 +548,7 @@ static const struct value_desc values[] = {
{ GL_POINT_FADE_THRESHOLD_SIZE_EXT, CONTEXT_FLOAT(Point.Threshold), NO_EXTRA },
{ GL_PROJECTION_MATRIX, CONTEXT_MATRIX(ProjectionMatrixStack.Top), NO_EXTRA },
{ GL_PROJECTION_STACK_DEPTH, LOC_CUSTOM, TYPE_INT,
- offsetof(GLcontext, ProjectionMatrixStack.Depth), NO_EXTRA },
+ offsetof(struct gl_context, ProjectionMatrixStack.Depth), NO_EXTRA },
{ GL_RESCALE_NORMAL, CONTEXT_BOOL(Transform.RescaleNormals), NO_EXTRA },
{ GL_SHADE_MODEL, CONTEXT_ENUM(Light.ShadeModel), NO_EXTRA },
{ GL_TEXTURE_2D, LOC_CUSTOM, TYPE_BOOLEAN, 0, NO_EXTRA },
@@ -672,7 +685,7 @@ static const struct value_desc values[] = {
/* OES_texture_3D */
{ GL_TEXTURE_BINDING_3D, LOC_CUSTOM, TYPE_INT, TEXTURE_3D_INDEX, NO_EXTRA },
{ GL_MAX_3D_TEXTURE_SIZE, LOC_CUSTOM, TYPE_INT,
- offsetof(GLcontext, Const.Max3DTextureLevels), NO_EXTRA },
+ offsetof(struct gl_context, Const.Max3DTextureLevels), NO_EXTRA },
/* GL_ARB_fragment_program/OES_standard_derivatives */
{ GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB,
@@ -683,11 +696,11 @@ static const struct value_desc values[] = {
/* Enums unique to OpenGL ES 2.0 */
{ 0, 0, TYPE_API_MASK, API_OPENGLES2_BIT, NO_EXTRA },
{ GL_MAX_FRAGMENT_UNIFORM_VECTORS, LOC_CUSTOM, TYPE_INT,
- offsetof(GLcontext, Const.FragmentProgram.MaxUniformComponents), NO_EXTRA },
+ offsetof(struct gl_context, Const.FragmentProgram.MaxUniformComponents), NO_EXTRA },
{ GL_MAX_VARYING_VECTORS, LOC_CUSTOM, TYPE_INT,
- offsetof(GLcontext, Const.MaxVarying), NO_EXTRA },
+ offsetof(struct gl_context, Const.MaxVarying), NO_EXTRA },
{ GL_MAX_VERTEX_UNIFORM_VECTORS, LOC_CUSTOM, TYPE_INT,
- offsetof(GLcontext, Const.VertexProgram.MaxUniformComponents), NO_EXTRA },
+ offsetof(struct gl_context, Const.VertexProgram.MaxUniformComponents), NO_EXTRA },
{ GL_SHADER_COMPILER, CONST(1), NO_EXTRA },
/* OES_get_program_binary */
{ GL_NUM_SHADER_BINARY_FORMATS, CONST(0), NO_EXTRA },
@@ -1019,6 +1032,12 @@ static const struct value_desc values[] = {
{ GL_MAX_SPOT_EXPONENT_NV, CONTEXT_FLOAT(Const.MaxSpotExponent),
extra_NV_light_max_exponent },
+ /* GL_NV_primitive_restart */
+ { GL_PRIMITIVE_RESTART_NV, CONTEXT_BOOL(Array.PrimitiveRestart),
+ extra_NV_primitive_restart },
+ { GL_PRIMITIVE_RESTART_INDEX_NV, CONTEXT_INT(Array.RestartIndex),
+ extra_NV_primitive_restart },
+
/* GL_ARB_vertex_buffer_object */
{ GL_INDEX_ARRAY_BUFFER_BINDING_ARB, LOC_CUSTOM, TYPE_INT,
offsetof(struct gl_array_object, Index.BufferObj), NO_EXTRA },
@@ -1132,6 +1151,10 @@ static const struct value_desc values[] = {
{ GL_MAX_SERVER_WAIT_TIMEOUT,
CONTEXT_INT64(Const.MaxServerWaitTimeout), extra_ARB_sync },
+ /* GL_EXT_texture_integer */
+ { GL_RGBA_INTEGER_MODE_EXT, BUFFER_BOOL(_IntegerColor),
+ extra_EXT_texture_integer },
+
/* GL_EXT_transform_feedback */
{ GL_TRANSFORM_FEEDBACK_BUFFER_BINDING, LOC_CUSTOM, TYPE_INT, 0,
extra_EXT_transform_feedback },
@@ -1182,11 +1205,15 @@ static const struct value_desc values[] = {
{ GL_CONTEXT_FLAGS, CONTEXT_INT(Const.ContextFlags), extra_version_30 },
/* GL 3.1 */
+ /* NOTE: different enum values for GL_PRIMITIVE_RESTART_NV
+ * vs. GL_PRIMITIVE_RESTART!
+ */
{ GL_PRIMITIVE_RESTART, CONTEXT_BOOL(Array.PrimitiveRestart),
extra_version_31 },
{ GL_PRIMITIVE_RESTART_INDEX, CONTEXT_INT(Array.RestartIndex),
extra_version_31 },
+
/* GL 3.2 */
{ GL_CONTEXT_PROFILE_MASK, CONTEXT_INT(Const.ProfileMask),
extra_version_32 },
@@ -1256,7 +1283,7 @@ print_table_stats(void)
*
* \param the current context, for determining the API in question
*/
-void _mesa_init_get_hash(GLcontext *ctx)
+void _mesa_init_get_hash(struct gl_context *ctx)
{
int i, hash, index, mask;
int api_mask = 0, api_bit;
@@ -1305,7 +1332,7 @@ void _mesa_init_get_hash(GLcontext *ctx)
* \param v pointer to the tmp declared in the calling glGet*v() function
*/
static void
-find_custom_value(GLcontext *ctx, const struct value_desc *d, union value *v)
+find_custom_value(struct gl_context *ctx, const struct value_desc *d, union value *v)
{
struct gl_buffer_object *buffer_obj;
struct gl_client_array *array;
@@ -1552,7 +1579,7 @@ find_custom_value(GLcontext *ctx, const struct value_desc *d, union value *v)
break;
case GL_CURRENT_PROGRAM:
v->value_int =
- ctx->Shader.CurrentProgram ? ctx->Shader.CurrentProgram->Name : 0;
+ ctx->Shader.ActiveProgram ? ctx->Shader.ActiveProgram->Name : 0;
break;
case GL_READ_FRAMEBUFFER_BINDING_EXT:
v->value_int = ctx->ReadBuffer->Name;
@@ -1583,7 +1610,7 @@ find_custom_value(GLcontext *ctx, const struct value_desc *d, union value *v)
* otherwise GL_TRUE.
*/
static GLboolean
-check_extra(GLcontext *ctx, const char *func, const struct value_desc *d)
+check_extra(struct gl_context *ctx, const char *func, const struct value_desc *d)
{
const GLuint version = ctx->VersionMajor * 10 + ctx->VersionMinor;
int total, enabled;
diff --git a/src/mesa/main/getstring.c b/src/mesa/main/getstring.c
index 3910047fb5d..bfa283f6a30 100644
--- a/src/mesa/main/getstring.c
+++ b/src/mesa/main/getstring.c
@@ -35,7 +35,7 @@
* Return the string for a glGetString(GL_SHADING_LANGUAGE_VERSION) query.
*/
static const GLubyte *
-shading_language_version(GLcontext *ctx)
+shading_language_version(struct gl_context *ctx)
{
switch (ctx->API) {
case API_OPENGL:
@@ -233,7 +233,7 @@ _mesa_GetPointerv( GLenum pname, GLvoid **params )
* Returns the current GL error code, or GL_NO_ERROR.
* \return current error code
*
- * Returns __GLcontextRec::ErrorValue.
+ * Returns __struct gl_contextRec::ErrorValue.
*/
GLenum GLAPIENTRY
_mesa_GetError( void )
diff --git a/src/mesa/main/glheader.h b/src/mesa/main/glheader.h
index 45f7b55ad2a..08ad5f32018 100644
--- a/src/mesa/main/glheader.h
+++ b/src/mesa/main/glheader.h
@@ -52,7 +52,6 @@
#define GL_GLEXT_PROTOTYPES
#include "GL/gl.h"
#include "GL/glext.h"
-#include "GL/internal/glcore.h"
/**
@@ -140,6 +139,25 @@ typedef void *GLeglImageOES;
*/
#define MESA_GEOMETRY_PROGRAM 0x8c26
-
+/* Several fields of struct gl_config can take these as values. Since
+ * GLX header files may not be available everywhere they need to be used,
+ * redefine them here.
+ */
+#define GLX_NONE 0x8000
+#define GLX_SLOW_CONFIG 0x8001
+#define GLX_TRUE_COLOR 0x8002
+#define GLX_DIRECT_COLOR 0x8003
+#define GLX_PSEUDO_COLOR 0x8004
+#define GLX_STATIC_COLOR 0x8005
+#define GLX_GRAY_SCALE 0x8006
+#define GLX_STATIC_GRAY 0x8007
+#define GLX_TRANSPARENT_RGB 0x8008
+#define GLX_TRANSPARENT_INDEX 0x8009
+#define GLX_NON_CONFORMANT_CONFIG 0x800D
+#define GLX_SWAP_EXCHANGE_OML 0x8061
+#define GLX_SWAP_COPY_OML 0x8062
+#define GLX_SWAP_UNDEFINED_OML 0x8063
+
+#define GLX_DONT_CARE 0xFFFFFFFF
#endif /* GLHEADER_H */
diff --git a/src/mesa/main/hash.c b/src/mesa/main/hash.c
index b624e6ecac1..72d924dcc38 100644
--- a/src/mesa/main/hash.c
+++ b/src/mesa/main/hash.c
@@ -277,7 +277,7 @@ _mesa_HashRemove(struct _mesa_HashTable *table, GLuint key)
* \param table the hash table to delete
* \param callback the callback function
* \param userData arbitrary pointer to pass along to the callback
- * (this is typically a GLcontext pointer)
+ * (this is typically a struct gl_context pointer)
*/
void
_mesa_HashDeleteAll(struct _mesa_HashTable *table,
@@ -313,7 +313,7 @@ _mesa_HashDeleteAll(struct _mesa_HashTable *table,
* \param table the hash table to walk
* \param callback the callback function
* \param userData arbitrary pointer to pass along to the callback
- * (this is typically a GLcontext pointer)
+ * (this is typically a struct gl_context pointer)
*/
void
_mesa_HashWalk(const struct _mesa_HashTable *table,
diff --git a/src/mesa/main/hint.c b/src/mesa/main/hint.c
index 8902ae37763..878f10d4a43 100644
--- a/src/mesa/main/hint.c
+++ b/src/mesa/main/hint.c
@@ -130,7 +130,7 @@ _mesa_Hint( GLenum target, GLenum mode )
/***** Initialization *****/
/**********************************************************************/
-void _mesa_init_hint( GLcontext * ctx )
+void _mesa_init_hint( struct gl_context * ctx )
{
/* Hint group */
ctx->Hint.PerspectiveCorrection = GL_DONT_CARE;
diff --git a/src/mesa/main/hint.h b/src/mesa/main/hint.h
index bfc3887107d..66e78ad6557 100644
--- a/src/mesa/main/hint.h
+++ b/src/mesa/main/hint.h
@@ -45,7 +45,7 @@ extern void GLAPIENTRY
_mesa_Hint( GLenum target, GLenum mode );
extern void
-_mesa_init_hint( GLcontext * ctx );
+_mesa_init_hint( struct gl_context * ctx );
#else
diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c
index ce10b3b1f85..43cc06d7196 100644
--- a/src/mesa/main/image.c
+++ b/src/mesa/main/image.c
@@ -32,7 +32,6 @@
#include "glheader.h"
#include "colormac.h"
-#include "enums.h"
#include "image.h"
#include "imports.h"
#include "macros.h"
@@ -86,36 +85,6 @@ _mesa_type_is_packed(GLenum type)
return GL_FALSE;
}
-/**
- * Flip the 8 bits in each byte of the given array.
- *
- * \param p array.
- * \param n number of bytes.
- *
- * \todo try this trick to flip bytes someday:
- * \code
- * v = ((v & 0x55555555) << 1) | ((v >> 1) & 0x55555555);
- * v = ((v & 0x33333333) << 2) | ((v >> 2) & 0x33333333);
- * v = ((v & 0x0f0f0f0f) << 4) | ((v >> 4) & 0x0f0f0f0f);
- * \endcode
- */
-static void
-flip_bytes( GLubyte *p, GLuint n )
-{
- GLuint i, a, b;
- for (i = 0; i < n; i++) {
- b = (GLuint) p[i]; /* words are often faster than bytes */
- a = ((b & 0x01) << 7) |
- ((b & 0x02) << 5) |
- ((b & 0x04) << 3) |
- ((b & 0x08) << 1) |
- ((b & 0x10) >> 1) |
- ((b & 0x20) >> 3) |
- ((b & 0x40) >> 5) |
- ((b & 0x80) >> 7);
- p[i] = (GLubyte) a;
- }
-}
/**
@@ -399,7 +368,7 @@ _mesa_bytes_per_pixel( GLenum format, GLenum type )
* otherwise.
*/
GLboolean
-_mesa_is_legal_format_and_type( GLcontext *ctx, GLenum format, GLenum type )
+_mesa_is_legal_format_and_type( struct gl_context *ctx, GLenum format, GLenum type )
{
switch (format) {
case GL_COLOR_INDEX:
@@ -699,10 +668,57 @@ _mesa_is_color_format(GLenum format)
case GL_COMPRESSED_SIGNED_RED_RGTC1:
case GL_COMPRESSED_RG_RGTC2:
case GL_COMPRESSED_SIGNED_RG_RGTC2:
- return GL_TRUE;
- /* signed texture formats */
+ /* signed, normalized texture formats */
case GL_RGBA_SNORM:
case GL_RGBA8_SNORM:
+ /* generic integer formats */
+ case GL_RED_INTEGER_EXT:
+ case GL_GREEN_INTEGER_EXT:
+ case GL_BLUE_INTEGER_EXT:
+ case GL_ALPHA_INTEGER_EXT:
+ case GL_RGB_INTEGER_EXT:
+ case GL_RGBA_INTEGER_EXT:
+ case GL_BGR_INTEGER_EXT:
+ case GL_BGRA_INTEGER_EXT:
+ case GL_LUMINANCE_INTEGER_EXT:
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
+ /* sized integer formats */
+ case GL_RGBA32UI_EXT:
+ case GL_RGB32UI_EXT:
+ case GL_ALPHA32UI_EXT:
+ case GL_INTENSITY32UI_EXT:
+ case GL_LUMINANCE32UI_EXT:
+ case GL_LUMINANCE_ALPHA32UI_EXT:
+ case GL_RGBA16UI_EXT:
+ case GL_RGB16UI_EXT:
+ case GL_ALPHA16UI_EXT:
+ case GL_INTENSITY16UI_EXT:
+ case GL_LUMINANCE16UI_EXT:
+ case GL_LUMINANCE_ALPHA16UI_EXT:
+ case GL_RGBA8UI_EXT:
+ case GL_RGB8UI_EXT:
+ case GL_ALPHA8UI_EXT:
+ case GL_INTENSITY8UI_EXT:
+ case GL_LUMINANCE8UI_EXT:
+ case GL_LUMINANCE_ALPHA8UI_EXT:
+ case GL_RGBA32I_EXT:
+ case GL_RGB32I_EXT:
+ case GL_ALPHA32I_EXT:
+ case GL_INTENSITY32I_EXT:
+ case GL_LUMINANCE32I_EXT:
+ case GL_LUMINANCE_ALPHA32I_EXT:
+ case GL_RGBA16I_EXT:
+ case GL_RGB16I_EXT:
+ case GL_ALPHA16I_EXT:
+ case GL_INTENSITY16I_EXT:
+ case GL_LUMINANCE16I_EXT:
+ case GL_LUMINANCE_ALPHA16I_EXT:
+ case GL_RGBA8I_EXT:
+ case GL_RGB8I_EXT:
+ case GL_ALPHA8I_EXT:
+ case GL_INTENSITY8I_EXT:
+ case GL_LUMINANCE8I_EXT:
+ case GL_LUMINANCE_ALPHA8I_EXT:
return GL_TRUE;
case GL_YCBCR_MESA: /* not considered to be RGB */
/* fall-through */
@@ -846,6 +862,7 @@ GLboolean
_mesa_is_integer_format(GLenum format)
{
switch (format) {
+ /* generic integer formats */
case GL_RED_INTEGER_EXT:
case GL_GREEN_INTEGER_EXT:
case GL_BLUE_INTEGER_EXT:
@@ -856,6 +873,43 @@ _mesa_is_integer_format(GLenum format)
case GL_BGRA_INTEGER_EXT:
case GL_LUMINANCE_INTEGER_EXT:
case GL_LUMINANCE_ALPHA_INTEGER_EXT:
+ /* specific integer formats */
+ case GL_RGBA32UI_EXT:
+ case GL_RGB32UI_EXT:
+ case GL_ALPHA32UI_EXT:
+ case GL_INTENSITY32UI_EXT:
+ case GL_LUMINANCE32UI_EXT:
+ case GL_LUMINANCE_ALPHA32UI_EXT:
+ case GL_RGBA16UI_EXT:
+ case GL_RGB16UI_EXT:
+ case GL_ALPHA16UI_EXT:
+ case GL_INTENSITY16UI_EXT:
+ case GL_LUMINANCE16UI_EXT:
+ case GL_LUMINANCE_ALPHA16UI_EXT:
+ case GL_RGBA8UI_EXT:
+ case GL_RGB8UI_EXT:
+ case GL_ALPHA8UI_EXT:
+ case GL_INTENSITY8UI_EXT:
+ case GL_LUMINANCE8UI_EXT:
+ case GL_LUMINANCE_ALPHA8UI_EXT:
+ case GL_RGBA32I_EXT:
+ case GL_RGB32I_EXT:
+ case GL_ALPHA32I_EXT:
+ case GL_INTENSITY32I_EXT:
+ case GL_LUMINANCE32I_EXT:
+ case GL_LUMINANCE_ALPHA32I_EXT:
+ case GL_RGBA16I_EXT:
+ case GL_RGB16I_EXT:
+ case GL_ALPHA16I_EXT:
+ case GL_INTENSITY16I_EXT:
+ case GL_LUMINANCE16I_EXT:
+ case GL_LUMINANCE_ALPHA16I_EXT:
+ case GL_RGBA8I_EXT:
+ case GL_RGB8I_EXT:
+ case GL_ALPHA8I_EXT:
+ case GL_INTENSITY8I_EXT:
+ case GL_LUMINANCE8I_EXT:
+ case GL_LUMINANCE_ALPHA8I_EXT:
return GL_TRUE;
default:
return GL_FALSE;
@@ -869,7 +923,7 @@ _mesa_is_integer_format(GLenum format)
* \return GL_TRUE if compressed, GL_FALSE if uncompressed
*/
GLboolean
-_mesa_is_compressed_format(GLcontext *ctx, GLenum format)
+_mesa_is_compressed_format(struct gl_context *ctx, GLenum format)
{
switch (format) {
case GL_COMPRESSED_RGB_S3TC_DXT1_EXT:
@@ -1119,8 +1173,6 @@ _mesa_image_row_stride( const struct gl_pixelstore_attrib *packing,
}
-#if _HAVE_FULL_GL
-
/*
* Compute the stride between images in a 3D texture (in bytes) for the given
* pixel packing parameters and image width, format and type.
@@ -1168,248 +1220,6 @@ _mesa_image_image_stride( const struct gl_pixelstore_attrib *packing,
}
-/*
- * Unpack a 32x32 pixel polygon stipple from user memory using the
- * current pixel unpack settings.
- */
-void
-_mesa_unpack_polygon_stipple( const GLubyte *pattern, GLuint dest[32],
- const struct gl_pixelstore_attrib *unpacking )
-{
- GLubyte *ptrn = (GLubyte *) _mesa_unpack_bitmap(32, 32, pattern, unpacking);
- if (ptrn) {
- /* Convert pattern from GLubytes to GLuints and handle big/little
- * endian differences
- */
- GLubyte *p = ptrn;
- GLint i;
- for (i = 0; i < 32; i++) {
- dest[i] = (p[0] << 24)
- | (p[1] << 16)
- | (p[2] << 8)
- | (p[3] );
- p += 4;
- }
- free(ptrn);
- }
-}
-
-
-/*
- * Pack polygon stipple into user memory given current pixel packing
- * settings.
- */
-void
-_mesa_pack_polygon_stipple( const GLuint pattern[32], GLubyte *dest,
- const struct gl_pixelstore_attrib *packing )
-{
- /* Convert pattern from GLuints to GLubytes to handle big/little
- * endian differences.
- */
- GLubyte ptrn[32*4];
- GLint i;
- for (i = 0; i < 32; i++) {
- ptrn[i * 4 + 0] = (GLubyte) ((pattern[i] >> 24) & 0xff);
- ptrn[i * 4 + 1] = (GLubyte) ((pattern[i] >> 16) & 0xff);
- ptrn[i * 4 + 2] = (GLubyte) ((pattern[i] >> 8 ) & 0xff);
- ptrn[i * 4 + 3] = (GLubyte) ((pattern[i] ) & 0xff);
- }
-
- _mesa_pack_bitmap(32, 32, ptrn, dest, packing);
-}
-
-
-/*
- * Unpack bitmap data. Resulting data will be in most-significant-bit-first
- * order with row alignment = 1 byte.
- */
-GLvoid *
-_mesa_unpack_bitmap( GLint width, GLint height, const GLubyte *pixels,
- const struct gl_pixelstore_attrib *packing )
-{
- GLint bytes, row, width_in_bytes;
- GLubyte *buffer, *dst;
-
- if (!pixels)
- return NULL;
-
- /* Alloc dest storage */
- bytes = ((width + 7) / 8 * height);
- buffer = (GLubyte *) malloc( bytes );
- if (!buffer)
- return NULL;
-
- width_in_bytes = CEILING( width, 8 );
- dst = buffer;
- for (row = 0; row < height; row++) {
- const GLubyte *src = (const GLubyte *)
- _mesa_image_address2d(packing, pixels, width, height,
- GL_COLOR_INDEX, GL_BITMAP, row, 0);
- if (!src) {
- free(buffer);
- return NULL;
- }
-
- if ((packing->SkipPixels & 7) == 0) {
- memcpy( dst, src, width_in_bytes );
- if (packing->LsbFirst) {
- flip_bytes( dst, width_in_bytes );
- }
- }
- else {
- /* handling SkipPixels is a bit tricky (no pun intended!) */
- GLint i;
- if (packing->LsbFirst) {
- GLubyte srcMask = 1 << (packing->SkipPixels & 0x7);
- GLubyte dstMask = 128;
- const GLubyte *s = src;
- GLubyte *d = dst;
- *d = 0;
- for (i = 0; i < width; i++) {
- if (*s & srcMask) {
- *d |= dstMask;
- }
- if (srcMask == 128) {
- srcMask = 1;
- s++;
- }
- else {
- srcMask = srcMask << 1;
- }
- if (dstMask == 1) {
- dstMask = 128;
- d++;
- *d = 0;
- }
- else {
- dstMask = dstMask >> 1;
- }
- }
- }
- else {
- GLubyte srcMask = 128 >> (packing->SkipPixels & 0x7);
- GLubyte dstMask = 128;
- const GLubyte *s = src;
- GLubyte *d = dst;
- *d = 0;
- for (i = 0; i < width; i++) {
- if (*s & srcMask) {
- *d |= dstMask;
- }
- if (srcMask == 1) {
- srcMask = 128;
- s++;
- }
- else {
- srcMask = srcMask >> 1;
- }
- if (dstMask == 1) {
- dstMask = 128;
- d++;
- *d = 0;
- }
- else {
- dstMask = dstMask >> 1;
- }
- }
- }
- }
- dst += width_in_bytes;
- }
-
- return buffer;
-}
-
-
-/*
- * Pack bitmap data.
- */
-void
-_mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source,
- GLubyte *dest, const struct gl_pixelstore_attrib *packing )
-{
- GLint row, width_in_bytes;
- const GLubyte *src;
-
- if (!source)
- return;
-
- width_in_bytes = CEILING( width, 8 );
- src = source;
- for (row = 0; row < height; row++) {
- GLubyte *dst = (GLubyte *) _mesa_image_address2d(packing, dest,
- width, height, GL_COLOR_INDEX, GL_BITMAP, row, 0);
- if (!dst)
- return;
-
- if ((packing->SkipPixels & 7) == 0) {
- memcpy( dst, src, width_in_bytes );
- if (packing->LsbFirst) {
- flip_bytes( dst, width_in_bytes );
- }
- }
- else {
- /* handling SkipPixels is a bit tricky (no pun intended!) */
- GLint i;
- if (packing->LsbFirst) {
- GLubyte srcMask = 128;
- GLubyte dstMask = 1 << (packing->SkipPixels & 0x7);
- const GLubyte *s = src;
- GLubyte *d = dst;
- *d = 0;
- for (i = 0; i < width; i++) {
- if (*s & srcMask) {
- *d |= dstMask;
- }
- if (srcMask == 1) {
- srcMask = 128;
- s++;
- }
- else {
- srcMask = srcMask >> 1;
- }
- if (dstMask == 128) {
- dstMask = 1;
- d++;
- *d = 0;
- }
- else {
- dstMask = dstMask << 1;
- }
- }
- }
- else {
- GLubyte srcMask = 128;
- GLubyte dstMask = 128 >> (packing->SkipPixels & 0x7);
- const GLubyte *s = src;
- GLubyte *d = dst;
- *d = 0;
- for (i = 0; i < width; i++) {
- if (*s & srcMask) {
- *d |= dstMask;
- }
- if (srcMask == 1) {
- srcMask = 128;
- s++;
- }
- else {
- srcMask = srcMask >> 1;
- }
- if (dstMask == 1) {
- dstMask = 128;
- d++;
- *d = 0;
- }
- else {
- dstMask = dstMask >> 1;
- }
- }
- }
- }
- src += width_in_bytes;
- }
-}
-
/**
* "Expand" a bitmap from 1-bit per pixel to 8-bits per pixel.
@@ -1496,4047 +1306,6 @@ _mesa_expand_bitmap(GLsizei width, GLsizei height,
}
-/**********************************************************************/
-/***** Pixel processing functions ******/
-/**********************************************************************/
-
-/*
- * Apply scale and bias factors to an array of RGBA pixels.
- */
-void
-_mesa_scale_and_bias_rgba(GLuint n, GLfloat rgba[][4],
- GLfloat rScale, GLfloat gScale,
- GLfloat bScale, GLfloat aScale,
- GLfloat rBias, GLfloat gBias,
- GLfloat bBias, GLfloat aBias)
-{
- if (rScale != 1.0 || rBias != 0.0) {
- GLuint i;
- for (i = 0; i < n; i++) {
- rgba[i][RCOMP] = rgba[i][RCOMP] * rScale + rBias;
- }
- }
- if (gScale != 1.0 || gBias != 0.0) {
- GLuint i;
- for (i = 0; i < n; i++) {
- rgba[i][GCOMP] = rgba[i][GCOMP] * gScale + gBias;
- }
- }
- if (bScale != 1.0 || bBias != 0.0) {
- GLuint i;
- for (i = 0; i < n; i++) {
- rgba[i][BCOMP] = rgba[i][BCOMP] * bScale + bBias;
- }
- }
- if (aScale != 1.0 || aBias != 0.0) {
- GLuint i;
- for (i = 0; i < n; i++) {
- rgba[i][ACOMP] = rgba[i][ACOMP] * aScale + aBias;
- }
- }
-}
-
-
-/*
- * Apply pixel mapping to an array of floating point RGBA pixels.
- */
-void
-_mesa_map_rgba( const GLcontext *ctx, GLuint n, GLfloat rgba[][4] )
-{
- const GLfloat rscale = (GLfloat) (ctx->PixelMaps.RtoR.Size - 1);
- const GLfloat gscale = (GLfloat) (ctx->PixelMaps.GtoG.Size - 1);
- const GLfloat bscale = (GLfloat) (ctx->PixelMaps.BtoB.Size - 1);
- const GLfloat ascale = (GLfloat) (ctx->PixelMaps.AtoA.Size - 1);
- const GLfloat *rMap = ctx->PixelMaps.RtoR.Map;
- const GLfloat *gMap = ctx->PixelMaps.GtoG.Map;
- const GLfloat *bMap = ctx->PixelMaps.BtoB.Map;
- const GLfloat *aMap = ctx->PixelMaps.AtoA.Map;
- GLuint i;
- for (i=0;i<n;i++) {
- GLfloat r = CLAMP(rgba[i][RCOMP], 0.0F, 1.0F);
- GLfloat g = CLAMP(rgba[i][GCOMP], 0.0F, 1.0F);
- GLfloat b = CLAMP(rgba[i][BCOMP], 0.0F, 1.0F);
- GLfloat a = CLAMP(rgba[i][ACOMP], 0.0F, 1.0F);
- rgba[i][RCOMP] = rMap[IROUND(r * rscale)];
- rgba[i][GCOMP] = gMap[IROUND(g * gscale)];
- rgba[i][BCOMP] = bMap[IROUND(b * bscale)];
- rgba[i][ACOMP] = aMap[IROUND(a * ascale)];
- }
-}
-
-/**
- * Apply a color table lookup to an array of floating point RGBA colors.
- */
-void
-_mesa_lookup_rgba_float(const struct gl_color_table *table,
- GLuint n, GLfloat rgba[][4])
-{
- const GLint max = table->Size - 1;
- const GLfloat scale = (GLfloat) max;
- const GLfloat *lut = table->TableF;
- GLuint i;
-
- if (!table->TableF || table->Size == 0)
- return;
-
- switch (table->_BaseFormat) {
- case GL_INTENSITY:
- /* replace RGBA with I */
- for (i = 0; i < n; i++) {
- GLint j = IROUND(rgba[i][RCOMP] * scale);
- GLfloat c = lut[CLAMP(j, 0, max)];
- rgba[i][RCOMP] =
- rgba[i][GCOMP] =
- rgba[i][BCOMP] =
- rgba[i][ACOMP] = c;
- }
- break;
- case GL_LUMINANCE:
- /* replace RGB with L */
- for (i = 0; i < n; i++) {
- GLint j = IROUND(rgba[i][RCOMP] * scale);
- GLfloat c = lut[CLAMP(j, 0, max)];
- rgba[i][RCOMP] =
- rgba[i][GCOMP] =
- rgba[i][BCOMP] = c;
- }
- break;
- case GL_ALPHA:
- /* replace A with A */
- for (i = 0; i < n; i++) {
- GLint j = IROUND(rgba[i][ACOMP] * scale);
- rgba[i][ACOMP] = lut[CLAMP(j, 0, max)];
- }
- break;
- case GL_LUMINANCE_ALPHA:
- /* replace RGBA with LLLA */
- for (i = 0; i < n; i++) {
- GLint jL = IROUND(rgba[i][RCOMP] * scale);
- GLint jA = IROUND(rgba[i][ACOMP] * scale);
- GLfloat luminance, alpha;
- jL = CLAMP(jL, 0, max);
- jA = CLAMP(jA, 0, max);
- luminance = lut[jL * 2 + 0];
- alpha = lut[jA * 2 + 1];
- rgba[i][RCOMP] =
- rgba[i][GCOMP] =
- rgba[i][BCOMP] = luminance;
- rgba[i][ACOMP] = alpha;;
- }
- break;
- case GL_RED:
- /* replace RGB with RGB */
- for (i = 0; i < n; i++) {
- GLint jR = IROUND(rgba[i][RCOMP] * scale);
- jR = CLAMP(jR, 0, max);
- rgba[i][RCOMP] = lut[jR * 3 + 0];
- }
- break;
- case GL_RG:
- /* replace RG with RG */
- for (i = 0; i < n; i++) {
- GLint jR = IROUND(rgba[i][RCOMP] * scale);
- GLint jG = IROUND(rgba[i][GCOMP] * scale);
- jR = CLAMP(jR, 0, max);
- jG = CLAMP(jG, 0, max);
- rgba[i][RCOMP] = lut[jR * 3 + 0];
- rgba[i][GCOMP] = lut[jG * 3 + 1];
- }
- break;
- case GL_RGB:
- /* replace RGB with RGB */
- for (i = 0; i < n; i++) {
- GLint jR = IROUND(rgba[i][RCOMP] * scale);
- GLint jG = IROUND(rgba[i][GCOMP] * scale);
- GLint jB = IROUND(rgba[i][BCOMP] * scale);
- jR = CLAMP(jR, 0, max);
- jG = CLAMP(jG, 0, max);
- jB = CLAMP(jB, 0, max);
- rgba[i][RCOMP] = lut[jR * 3 + 0];
- rgba[i][GCOMP] = lut[jG * 3 + 1];
- rgba[i][BCOMP] = lut[jB * 3 + 2];
- }
- break;
- case GL_RGBA:
- /* replace RGBA with RGBA */
- for (i = 0; i < n; i++) {
- GLint jR = IROUND(rgba[i][RCOMP] * scale);
- GLint jG = IROUND(rgba[i][GCOMP] * scale);
- GLint jB = IROUND(rgba[i][BCOMP] * scale);
- GLint jA = IROUND(rgba[i][ACOMP] * scale);
- jR = CLAMP(jR, 0, max);
- jG = CLAMP(jG, 0, max);
- jB = CLAMP(jB, 0, max);
- jA = CLAMP(jA, 0, max);
- rgba[i][RCOMP] = lut[jR * 4 + 0];
- rgba[i][GCOMP] = lut[jG * 4 + 1];
- rgba[i][BCOMP] = lut[jB * 4 + 2];
- rgba[i][ACOMP] = lut[jA * 4 + 3];
- }
- break;
- default:
- _mesa_problem(NULL, "Bad format in _mesa_lookup_rgba_float");
- return;
- }
-}
-
-
-
-/**
- * Apply a color table lookup to an array of ubyte/RGBA colors.
- */
-void
-_mesa_lookup_rgba_ubyte(const struct gl_color_table *table,
- GLuint n, GLubyte rgba[][4])
-{
- const GLubyte *lut = table->TableUB;
- const GLfloat scale = (GLfloat) (table->Size - 1) / (GLfloat)255.0;
- GLuint i;
-
- if (!table->TableUB || table->Size == 0)
- return;
-
- switch (table->_BaseFormat) {
- case GL_INTENSITY:
- /* replace RGBA with I */
- if (table->Size == 256) {
- for (i = 0; i < n; i++) {
- const GLubyte c = lut[rgba[i][RCOMP]];
- rgba[i][RCOMP] =
- rgba[i][GCOMP] =
- rgba[i][BCOMP] =
- rgba[i][ACOMP] = c;
- }
- }
- else {
- for (i = 0; i < n; i++) {
- GLint j = IROUND((GLfloat) rgba[i][RCOMP] * scale);
- rgba[i][RCOMP] =
- rgba[i][GCOMP] =
- rgba[i][BCOMP] =
- rgba[i][ACOMP] = lut[j];
- }
- }
- break;
- case GL_LUMINANCE:
- /* replace RGB with L */
- if (table->Size == 256) {
- for (i = 0; i < n; i++) {
- const GLubyte c = lut[rgba[i][RCOMP]];
- rgba[i][RCOMP] =
- rgba[i][GCOMP] =
- rgba[i][BCOMP] = c;
- }
- }
- else {
- for (i = 0; i < n; i++) {
- GLint j = IROUND((GLfloat) rgba[i][RCOMP] * scale);
- rgba[i][RCOMP] =
- rgba[i][GCOMP] =
- rgba[i][BCOMP] = lut[j];
- }
- }
- break;
- case GL_ALPHA:
- /* replace A with A */
- if (table->Size == 256) {
- for (i = 0; i < n; i++) {
- rgba[i][ACOMP] = lut[rgba[i][ACOMP]];
- }
- }
- else {
- for (i = 0; i < n; i++) {
- GLint j = IROUND((GLfloat) rgba[i][ACOMP] * scale);
- rgba[i][ACOMP] = lut[j];
- }
- }
- break;
- case GL_LUMINANCE_ALPHA:
- /* replace RGBA with LLLA */
- if (table->Size == 256) {
- for (i = 0; i < n; i++) {
- GLubyte l = lut[rgba[i][RCOMP] * 2 + 0];
- GLubyte a = lut[rgba[i][ACOMP] * 2 + 1];;
- rgba[i][RCOMP] =
- rgba[i][GCOMP] =
- rgba[i][BCOMP] = l;
- rgba[i][ACOMP] = a;
- }
- }
- else {
- for (i = 0; i < n; i++) {
- GLint jL = IROUND((GLfloat) rgba[i][RCOMP] * scale);
- GLint jA = IROUND((GLfloat) rgba[i][ACOMP] * scale);
- GLubyte luminance = lut[jL * 2 + 0];
- GLubyte alpha = lut[jA * 2 + 1];
- rgba[i][RCOMP] =
- rgba[i][GCOMP] =
- rgba[i][BCOMP] = luminance;
- rgba[i][ACOMP] = alpha;
- }
- }
- break;
- case GL_RGB:
- if (table->Size == 256) {
- for (i = 0; i < n; i++) {
- rgba[i][RCOMP] = lut[rgba[i][RCOMP] * 3 + 0];
- rgba[i][GCOMP] = lut[rgba[i][GCOMP] * 3 + 1];
- rgba[i][BCOMP] = lut[rgba[i][BCOMP] * 3 + 2];
- }
- }
- else {
- for (i = 0; i < n; i++) {
- GLint jR = IROUND((GLfloat) rgba[i][RCOMP] * scale);
- GLint jG = IROUND((GLfloat) rgba[i][GCOMP] * scale);
- GLint jB = IROUND((GLfloat) rgba[i][BCOMP] * scale);
- rgba[i][RCOMP] = lut[jR * 3 + 0];
- rgba[i][GCOMP] = lut[jG * 3 + 1];
- rgba[i][BCOMP] = lut[jB * 3 + 2];
- }
- }
- break;
- case GL_RGBA:
- if (table->Size == 256) {
- for (i = 0; i < n; i++) {
- rgba[i][RCOMP] = lut[rgba[i][RCOMP] * 4 + 0];
- rgba[i][GCOMP] = lut[rgba[i][GCOMP] * 4 + 1];
- rgba[i][BCOMP] = lut[rgba[i][BCOMP] * 4 + 2];
- rgba[i][ACOMP] = lut[rgba[i][ACOMP] * 4 + 3];
- }
- }
- else {
- for (i = 0; i < n; i++) {
- GLint jR = IROUND((GLfloat) rgba[i][RCOMP] * scale);
- GLint jG = IROUND((GLfloat) rgba[i][GCOMP] * scale);
- GLint jB = IROUND((GLfloat) rgba[i][BCOMP] * scale);
- GLint jA = IROUND((GLfloat) rgba[i][ACOMP] * scale);
- CLAMPED_FLOAT_TO_CHAN(rgba[i][RCOMP], lut[jR * 4 + 0]);
- CLAMPED_FLOAT_TO_CHAN(rgba[i][GCOMP], lut[jG * 4 + 1]);
- CLAMPED_FLOAT_TO_CHAN(rgba[i][BCOMP], lut[jB * 4 + 2]);
- CLAMPED_FLOAT_TO_CHAN(rgba[i][ACOMP], lut[jA * 4 + 3]);
- }
- }
- break;
- default:
- _mesa_problem(NULL, "Bad format in _mesa_lookup_rgba_chan");
- return;
- }
-}
-
-
-
-/*
- * Map color indexes to float rgba values.
- */
-void
-_mesa_map_ci_to_rgba( const GLcontext *ctx, GLuint n,
- const GLuint index[], GLfloat rgba[][4] )
-{
- GLuint rmask = ctx->PixelMaps.ItoR.Size - 1;
- GLuint gmask = ctx->PixelMaps.ItoG.Size - 1;
- GLuint bmask = ctx->PixelMaps.ItoB.Size - 1;
- GLuint amask = ctx->PixelMaps.ItoA.Size - 1;
- const GLfloat *rMap = ctx->PixelMaps.ItoR.Map;
- const GLfloat *gMap = ctx->PixelMaps.ItoG.Map;
- const GLfloat *bMap = ctx->PixelMaps.ItoB.Map;
- const GLfloat *aMap = ctx->PixelMaps.ItoA.Map;
- GLuint i;
- for (i=0;i<n;i++) {
- rgba[i][RCOMP] = rMap[index[i] & rmask];
- rgba[i][GCOMP] = gMap[index[i] & gmask];
- rgba[i][BCOMP] = bMap[index[i] & bmask];
- rgba[i][ACOMP] = aMap[index[i] & amask];
- }
-}
-
-
-/**
- * Map ubyte color indexes to ubyte/RGBA values.
- */
-void
-_mesa_map_ci8_to_rgba8(const GLcontext *ctx, GLuint n, const GLubyte index[],
- GLubyte rgba[][4])
-{
- GLuint rmask = ctx->PixelMaps.ItoR.Size - 1;
- GLuint gmask = ctx->PixelMaps.ItoG.Size - 1;
- GLuint bmask = ctx->PixelMaps.ItoB.Size - 1;
- GLuint amask = ctx->PixelMaps.ItoA.Size - 1;
- const GLubyte *rMap = ctx->PixelMaps.ItoR.Map8;
- const GLubyte *gMap = ctx->PixelMaps.ItoG.Map8;
- const GLubyte *bMap = ctx->PixelMaps.ItoB.Map8;
- const GLubyte *aMap = ctx->PixelMaps.ItoA.Map8;
- GLuint i;
- for (i=0;i<n;i++) {
- rgba[i][RCOMP] = rMap[index[i] & rmask];
- rgba[i][GCOMP] = gMap[index[i] & gmask];
- rgba[i][BCOMP] = bMap[index[i] & bmask];
- rgba[i][ACOMP] = aMap[index[i] & amask];
- }
-}
-
-
-void
-_mesa_scale_and_bias_depth(const GLcontext *ctx, GLuint n,
- GLfloat depthValues[])
-{
- const GLfloat scale = ctx->Pixel.DepthScale;
- const GLfloat bias = ctx->Pixel.DepthBias;
- GLuint i;
- for (i = 0; i < n; i++) {
- GLfloat d = depthValues[i] * scale + bias;
- depthValues[i] = CLAMP(d, 0.0F, 1.0F);
- }
-}
-
-
-void
-_mesa_scale_and_bias_depth_uint(const GLcontext *ctx, GLuint n,
- GLuint depthValues[])
-{
- const GLdouble max = (double) 0xffffffff;
- const GLdouble scale = ctx->Pixel.DepthScale;
- const GLdouble bias = ctx->Pixel.DepthBias * max;
- GLuint i;
- for (i = 0; i < n; i++) {
- GLdouble d = (GLdouble) depthValues[i] * scale + bias;
- d = CLAMP(d, 0.0, max);
- depthValues[i] = (GLuint) d;
- }
-}
-
-/**
- * Apply various pixel transfer operations to an array of RGBA pixels
- * as indicated by the transferOps bitmask
- */
-void
-_mesa_apply_rgba_transfer_ops(GLcontext *ctx, GLbitfield transferOps,
- GLuint n, GLfloat rgba[][4])
-{
- /* scale & bias */
- if (transferOps & IMAGE_SCALE_BIAS_BIT) {
- _mesa_scale_and_bias_rgba(n, rgba,
- ctx->Pixel.RedScale, ctx->Pixel.GreenScale,
- ctx->Pixel.BlueScale, ctx->Pixel.AlphaScale,
- ctx->Pixel.RedBias, ctx->Pixel.GreenBias,
- ctx->Pixel.BlueBias, ctx->Pixel.AlphaBias);
- }
- /* color map lookup */
- if (transferOps & IMAGE_MAP_COLOR_BIT) {
- _mesa_map_rgba( ctx, n, rgba );
- }
-
- /* clamping to [0,1] */
- if (transferOps & IMAGE_CLAMP_BIT) {
- GLuint i;
- for (i = 0; i < n; i++) {
- rgba[i][RCOMP] = CLAMP(rgba[i][RCOMP], 0.0F, 1.0F);
- rgba[i][GCOMP] = CLAMP(rgba[i][GCOMP], 0.0F, 1.0F);
- rgba[i][BCOMP] = CLAMP(rgba[i][BCOMP], 0.0F, 1.0F);
- rgba[i][ACOMP] = CLAMP(rgba[i][ACOMP], 0.0F, 1.0F);
- }
- }
-}
-
-
-/*
- * Apply color index shift and offset to an array of pixels.
- */
-static void
-shift_and_offset_ci( const GLcontext *ctx, GLuint n, GLuint indexes[] )
-{
- GLint shift = ctx->Pixel.IndexShift;
- GLint offset = ctx->Pixel.IndexOffset;
- GLuint i;
- if (shift > 0) {
- for (i=0;i<n;i++) {
- indexes[i] = (indexes[i] << shift) + offset;
- }
- }
- else if (shift < 0) {
- shift = -shift;
- for (i=0;i<n;i++) {
- indexes[i] = (indexes[i] >> shift) + offset;
- }
- }
- else {
- for (i=0;i<n;i++) {
- indexes[i] = indexes[i] + offset;
- }
- }
-}
-
-
-
-/**
- * Apply color index shift, offset and table lookup to an array
- * of color indexes;
- */
-void
-_mesa_apply_ci_transfer_ops(const GLcontext *ctx, GLbitfield transferOps,
- GLuint n, GLuint indexes[])
-{
- if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
- shift_and_offset_ci(ctx, n, indexes);
- }
- if (transferOps & IMAGE_MAP_COLOR_BIT) {
- const GLuint mask = ctx->PixelMaps.ItoI.Size - 1;
- GLuint i;
- for (i = 0; i < n; i++) {
- const GLuint j = indexes[i] & mask;
- indexes[i] = IROUND(ctx->PixelMaps.ItoI.Map[j]);
- }
- }
-}
-
-
-/**
- * Apply stencil index shift, offset and table lookup to an array
- * of stencil values.
- */
-void
-_mesa_apply_stencil_transfer_ops(const GLcontext *ctx, GLuint n,
- GLstencil stencil[])
-{
- if (ctx->Pixel.IndexShift != 0 || ctx->Pixel.IndexOffset != 0) {
- const GLint offset = ctx->Pixel.IndexOffset;
- GLint shift = ctx->Pixel.IndexShift;
- GLuint i;
- if (shift > 0) {
- for (i = 0; i < n; i++) {
- stencil[i] = (stencil[i] << shift) + offset;
- }
- }
- else if (shift < 0) {
- shift = -shift;
- for (i = 0; i < n; i++) {
- stencil[i] = (stencil[i] >> shift) + offset;
- }
- }
- else {
- for (i = 0; i < n; i++) {
- stencil[i] = stencil[i] + offset;
- }
- }
- }
- if (ctx->Pixel.MapStencilFlag) {
- GLuint mask = ctx->PixelMaps.StoS.Size - 1;
- GLuint i;
- for (i = 0; i < n; i++) {
- stencil[i] = (GLstencil)ctx->PixelMaps.StoS.Map[ stencil[i] & mask ];
- }
- }
-}
-
-
-/**
- * Used to pack an array [][4] of RGBA float colors as specified
- * by the dstFormat, dstType and dstPacking. Used by glReadPixels.
- * Note: the rgba values will be modified by this function when any pixel
- * transfer ops are enabled.
- */
-void
-_mesa_pack_rgba_span_float(GLcontext *ctx, GLuint n, GLfloat rgba[][4],
- GLenum dstFormat, GLenum dstType,
- GLvoid *dstAddr,
- const struct gl_pixelstore_attrib *dstPacking,
- GLbitfield transferOps)
-{
- GLfloat luminance[MAX_WIDTH];
- const GLint comps = _mesa_components_in_format(dstFormat);
- GLuint i;
-
- /* XXX
- * This test should probably go away. Have the caller set/clear the
- * IMAGE_CLAMP_BIT as needed.
- */
- if (dstType != GL_FLOAT || ctx->Color.ClampReadColor == GL_TRUE) {
- /* need to clamp to [0, 1] */
- transferOps |= IMAGE_CLAMP_BIT;
- }
-
- if (transferOps) {
- _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgba);
- }
-
- if (dstFormat == GL_LUMINANCE || dstFormat == GL_LUMINANCE_ALPHA) {
- /* compute luminance values */
- if (transferOps & IMAGE_CLAMP_BIT) {
- for (i = 0; i < n; i++) {
- GLfloat sum = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP];
- luminance[i] = CLAMP(sum, 0.0F, 1.0F);
- }
- }
- else {
- for (i = 0; i < n; i++) {
- luminance[i] = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP];
- }
- }
- }
-
- /*
- * Pack/store the pixels. Ugh! Lots of cases!!!
- */
- switch (dstType) {
- case GL_UNSIGNED_BYTE:
- {
- GLubyte *dst = (GLubyte *) dstAddr;
- switch (dstFormat) {
- case GL_RED:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
- break;
- case GL_GREEN:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
- break;
- case GL_BLUE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
- break;
- case GL_ALPHA:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
- break;
- case GL_LUMINANCE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UBYTE(luminance[i]);
- break;
- case GL_LUMINANCE_ALPHA:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_UBYTE(luminance[i]);
- dst[i*2+1] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
- }
- break;
- case GL_RGB:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
- dst[i*3+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
- }
- break;
- case GL_RGBA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
- dst[i*4+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
- dst[i*4+3] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
- }
- break;
- case GL_BGR:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
- dst[i*3+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
- }
- break;
- case GL_BGRA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
- dst[i*4+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
- dst[i*4+3] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
- }
- break;
- case GL_ABGR_EXT:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
- dst[i*4+1] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
- dst[i*4+2] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
- dst[i*4+3] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
- }
- break;
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
- dst[i*2+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
- }
- break;
- default:
- _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
- }
- }
- break;
- case GL_BYTE:
- {
- GLbyte *dst = (GLbyte *) dstAddr;
- switch (dstFormat) {
- case GL_RED:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
- break;
- case GL_GREEN:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
- break;
- case GL_BLUE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
- break;
- case GL_ALPHA:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
- break;
- case GL_LUMINANCE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_BYTE(luminance[i]);
- break;
- case GL_LUMINANCE_ALPHA:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_BYTE(luminance[i]);
- dst[i*2+1] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
- }
- break;
- case GL_RGB:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
- dst[i*3+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
- }
- break;
- case GL_RGBA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
- dst[i*4+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
- dst[i*4+3] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
- }
- break;
- case GL_BGR:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
- dst[i*3+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
- }
- break;
- case GL_BGRA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
- dst[i*4+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
- dst[i*4+3] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
- }
- break;
- case GL_ABGR_EXT:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
- dst[i*4+1] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
- dst[i*4+2] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
- dst[i*4+3] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
- }
- break;
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
- dst[i*2+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
- }
- break;
- default:
- _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- {
- GLushort *dst = (GLushort *) dstAddr;
- switch (dstFormat) {
- case GL_RED:
- for (i=0;i<n;i++)
- CLAMPED_FLOAT_TO_USHORT(dst[i], rgba[i][RCOMP]);
- break;
- case GL_GREEN:
- for (i=0;i<n;i++)
- CLAMPED_FLOAT_TO_USHORT(dst[i], rgba[i][GCOMP]);
- break;
- case GL_BLUE:
- for (i=0;i<n;i++)
- CLAMPED_FLOAT_TO_USHORT(dst[i], rgba[i][BCOMP]);
- break;
- case GL_ALPHA:
- for (i=0;i<n;i++)
- CLAMPED_FLOAT_TO_USHORT(dst[i], rgba[i][ACOMP]);
- break;
- case GL_LUMINANCE:
- for (i=0;i<n;i++)
- UNCLAMPED_FLOAT_TO_USHORT(dst[i], luminance[i]);
- break;
- case GL_LUMINANCE_ALPHA:
- for (i=0;i<n;i++) {
- UNCLAMPED_FLOAT_TO_USHORT(dst[i*2+0], luminance[i]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*2+1], rgba[i][ACOMP]);
- }
- break;
- case GL_RGB:
- for (i=0;i<n;i++) {
- CLAMPED_FLOAT_TO_USHORT(dst[i*3+0], rgba[i][RCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*3+1], rgba[i][GCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*3+2], rgba[i][BCOMP]);
- }
- break;
- case GL_RGBA:
- for (i=0;i<n;i++) {
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+0], rgba[i][RCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+1], rgba[i][GCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+2], rgba[i][BCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+3], rgba[i][ACOMP]);
- }
- break;
- case GL_BGR:
- for (i=0;i<n;i++) {
- CLAMPED_FLOAT_TO_USHORT(dst[i*3+0], rgba[i][BCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*3+1], rgba[i][GCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*3+2], rgba[i][RCOMP]);
- }
- break;
- case GL_BGRA:
- for (i=0;i<n;i++) {
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+0], rgba[i][BCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+1], rgba[i][GCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+2], rgba[i][RCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+3], rgba[i][ACOMP]);
- }
- break;
- case GL_ABGR_EXT:
- for (i=0;i<n;i++) {
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+0], rgba[i][ACOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+1], rgba[i][BCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+2], rgba[i][GCOMP]);
- CLAMPED_FLOAT_TO_USHORT(dst[i*4+3], rgba[i][RCOMP]);
- }
- break;
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_USHORT(rgba[i][RCOMP]);
- dst[i*2+1] = FLOAT_TO_USHORT(rgba[i][GCOMP]);
- }
- break;
- default:
- _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
- }
- }
- break;
- case GL_SHORT:
- {
- GLshort *dst = (GLshort *) dstAddr;
- switch (dstFormat) {
- case GL_RED:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
- break;
- case GL_GREEN:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
- break;
- case GL_BLUE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
- break;
- case GL_ALPHA:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
- break;
- case GL_LUMINANCE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_SHORT(luminance[i]);
- break;
- case GL_LUMINANCE_ALPHA:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_SHORT(luminance[i]);
- dst[i*2+1] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
- }
- break;
- case GL_RGB:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
- dst[i*3+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
- }
- break;
- case GL_RGBA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
- dst[i*4+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
- dst[i*4+3] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
- }
- break;
- case GL_BGR:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
- dst[i*3+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
- }
- break;
- case GL_BGRA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
- dst[i*4+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
- dst[i*4+3] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
- }
- break;
- case GL_ABGR_EXT:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
- dst[i*4+1] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
- dst[i*4+2] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
- dst[i*4+3] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
- }
- break;
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
- dst[i*2+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
- }
- break;
- default:
- _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
- }
- }
- break;
- case GL_UNSIGNED_INT:
- {
- GLuint *dst = (GLuint *) dstAddr;
- switch (dstFormat) {
- case GL_RED:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UINT(rgba[i][RCOMP]);
- break;
- case GL_GREEN:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UINT(rgba[i][GCOMP]);
- break;
- case GL_BLUE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UINT(rgba[i][BCOMP]);
- break;
- case GL_ALPHA:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UINT(rgba[i][ACOMP]);
- break;
- case GL_LUMINANCE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_UINT(luminance[i]);
- break;
- case GL_LUMINANCE_ALPHA:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_UINT(luminance[i]);
- dst[i*2+1] = FLOAT_TO_UINT(rgba[i][ACOMP]);
- }
- break;
- case GL_RGB:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_UINT(rgba[i][RCOMP]);
- dst[i*3+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_UINT(rgba[i][BCOMP]);
- }
- break;
- case GL_RGBA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_UINT(rgba[i][RCOMP]);
- dst[i*4+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_UINT(rgba[i][BCOMP]);
- dst[i*4+3] = FLOAT_TO_UINT(rgba[i][ACOMP]);
- }
- break;
- case GL_BGR:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_UINT(rgba[i][BCOMP]);
- dst[i*3+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_UINT(rgba[i][RCOMP]);
- }
- break;
- case GL_BGRA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_UINT(rgba[i][BCOMP]);
- dst[i*4+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_UINT(rgba[i][RCOMP]);
- dst[i*4+3] = FLOAT_TO_UINT(rgba[i][ACOMP]);
- }
- break;
- case GL_ABGR_EXT:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_UINT(rgba[i][ACOMP]);
- dst[i*4+1] = FLOAT_TO_UINT(rgba[i][BCOMP]);
- dst[i*4+2] = FLOAT_TO_UINT(rgba[i][GCOMP]);
- dst[i*4+3] = FLOAT_TO_UINT(rgba[i][RCOMP]);
- }
- break;
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_UINT(rgba[i][RCOMP]);
- dst[i*2+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
- }
- break;
- default:
- _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
- }
- }
- break;
- case GL_INT:
- {
- GLint *dst = (GLint *) dstAddr;
- switch (dstFormat) {
- case GL_RED:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_INT(rgba[i][RCOMP]);
- break;
- case GL_GREEN:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_INT(rgba[i][GCOMP]);
- break;
- case GL_BLUE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_INT(rgba[i][BCOMP]);
- break;
- case GL_ALPHA:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_INT(rgba[i][ACOMP]);
- break;
- case GL_LUMINANCE:
- for (i=0;i<n;i++)
- dst[i] = FLOAT_TO_INT(luminance[i]);
- break;
- case GL_LUMINANCE_ALPHA:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_INT(luminance[i]);
- dst[i*2+1] = FLOAT_TO_INT(rgba[i][ACOMP]);
- }
- break;
- case GL_RGB:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_INT(rgba[i][RCOMP]);
- dst[i*3+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_INT(rgba[i][BCOMP]);
- }
- break;
- case GL_RGBA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_INT(rgba[i][RCOMP]);
- dst[i*4+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_INT(rgba[i][BCOMP]);
- dst[i*4+3] = FLOAT_TO_INT(rgba[i][ACOMP]);
- }
- break;
- case GL_BGR:
- for (i=0;i<n;i++) {
- dst[i*3+0] = FLOAT_TO_INT(rgba[i][BCOMP]);
- dst[i*3+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
- dst[i*3+2] = FLOAT_TO_INT(rgba[i][RCOMP]);
- }
- break;
- case GL_BGRA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_INT(rgba[i][BCOMP]);
- dst[i*4+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
- dst[i*4+2] = FLOAT_TO_INT(rgba[i][RCOMP]);
- dst[i*4+3] = FLOAT_TO_INT(rgba[i][ACOMP]);
- }
- break;
- case GL_ABGR_EXT:
- for (i=0;i<n;i++) {
- dst[i*4+0] = FLOAT_TO_INT(rgba[i][ACOMP]);
- dst[i*4+1] = FLOAT_TO_INT(rgba[i][BCOMP]);
- dst[i*4+2] = FLOAT_TO_INT(rgba[i][GCOMP]);
- dst[i*4+3] = FLOAT_TO_INT(rgba[i][RCOMP]);
- }
- break;
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- for (i=0;i<n;i++) {
- dst[i*2+0] = FLOAT_TO_INT(rgba[i][RCOMP]);
- dst[i*2+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
- }
- break;
- default:
- _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
- }
- }
- break;
- case GL_FLOAT:
- {
- GLfloat *dst = (GLfloat *) dstAddr;
- switch (dstFormat) {
- case GL_RED:
- for (i=0;i<n;i++)
- dst[i] = rgba[i][RCOMP];
- break;
- case GL_GREEN:
- for (i=0;i<n;i++)
- dst[i] = rgba[i][GCOMP];
- break;
- case GL_BLUE:
- for (i=0;i<n;i++)
- dst[i] = rgba[i][BCOMP];
- break;
- case GL_ALPHA:
- for (i=0;i<n;i++)
- dst[i] = rgba[i][ACOMP];
- break;
- case GL_LUMINANCE:
- for (i=0;i<n;i++)
- dst[i] = luminance[i];
- break;
- case GL_LUMINANCE_ALPHA:
- for (i=0;i<n;i++) {
- dst[i*2+0] = luminance[i];
- dst[i*2+1] = rgba[i][ACOMP];
- }
- break;
- case GL_RGB:
- for (i=0;i<n;i++) {
- dst[i*3+0] = rgba[i][RCOMP];
- dst[i*3+1] = rgba[i][GCOMP];
- dst[i*3+2] = rgba[i][BCOMP];
- }
- break;
- case GL_RGBA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = rgba[i][RCOMP];
- dst[i*4+1] = rgba[i][GCOMP];
- dst[i*4+2] = rgba[i][BCOMP];
- dst[i*4+3] = rgba[i][ACOMP];
- }
- break;
- case GL_BGR:
- for (i=0;i<n;i++) {
- dst[i*3+0] = rgba[i][BCOMP];
- dst[i*3+1] = rgba[i][GCOMP];
- dst[i*3+2] = rgba[i][RCOMP];
- }
- break;
- case GL_BGRA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = rgba[i][BCOMP];
- dst[i*4+1] = rgba[i][GCOMP];
- dst[i*4+2] = rgba[i][RCOMP];
- dst[i*4+3] = rgba[i][ACOMP];
- }
- break;
- case GL_ABGR_EXT:
- for (i=0;i<n;i++) {
- dst[i*4+0] = rgba[i][ACOMP];
- dst[i*4+1] = rgba[i][BCOMP];
- dst[i*4+2] = rgba[i][GCOMP];
- dst[i*4+3] = rgba[i][RCOMP];
- }
- break;
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- for (i=0;i<n;i++) {
- dst[i*2+0] = rgba[i][RCOMP];
- dst[i*2+1] = rgba[i][GCOMP];
- }
- break;
- default:
- _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
- }
- }
- break;
- case GL_HALF_FLOAT_ARB:
- {
- GLhalfARB *dst = (GLhalfARB *) dstAddr;
- switch (dstFormat) {
- case GL_RED:
- for (i=0;i<n;i++)
- dst[i] = _mesa_float_to_half(rgba[i][RCOMP]);
- break;
- case GL_GREEN:
- for (i=0;i<n;i++)
- dst[i] = _mesa_float_to_half(rgba[i][GCOMP]);
- break;
- case GL_BLUE:
- for (i=0;i<n;i++)
- dst[i] = _mesa_float_to_half(rgba[i][BCOMP]);
- break;
- case GL_ALPHA:
- for (i=0;i<n;i++)
- dst[i] = _mesa_float_to_half(rgba[i][ACOMP]);
- break;
- case GL_LUMINANCE:
- for (i=0;i<n;i++)
- dst[i] = _mesa_float_to_half(luminance[i]);
- break;
- case GL_LUMINANCE_ALPHA:
- for (i=0;i<n;i++) {
- dst[i*2+0] = _mesa_float_to_half(luminance[i]);
- dst[i*2+1] = _mesa_float_to_half(rgba[i][ACOMP]);
- }
- break;
- case GL_RGB:
- for (i=0;i<n;i++) {
- dst[i*3+0] = _mesa_float_to_half(rgba[i][RCOMP]);
- dst[i*3+1] = _mesa_float_to_half(rgba[i][GCOMP]);
- dst[i*3+2] = _mesa_float_to_half(rgba[i][BCOMP]);
- }
- break;
- case GL_RGBA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = _mesa_float_to_half(rgba[i][RCOMP]);
- dst[i*4+1] = _mesa_float_to_half(rgba[i][GCOMP]);
- dst[i*4+2] = _mesa_float_to_half(rgba[i][BCOMP]);
- dst[i*4+3] = _mesa_float_to_half(rgba[i][ACOMP]);
- }
- break;
- case GL_BGR:
- for (i=0;i<n;i++) {
- dst[i*3+0] = _mesa_float_to_half(rgba[i][BCOMP]);
- dst[i*3+1] = _mesa_float_to_half(rgba[i][GCOMP]);
- dst[i*3+2] = _mesa_float_to_half(rgba[i][RCOMP]);
- }
- break;
- case GL_BGRA:
- for (i=0;i<n;i++) {
- dst[i*4+0] = _mesa_float_to_half(rgba[i][BCOMP]);
- dst[i*4+1] = _mesa_float_to_half(rgba[i][GCOMP]);
- dst[i*4+2] = _mesa_float_to_half(rgba[i][RCOMP]);
- dst[i*4+3] = _mesa_float_to_half(rgba[i][ACOMP]);
- }
- break;
- case GL_ABGR_EXT:
- for (i=0;i<n;i++) {
- dst[i*4+0] = _mesa_float_to_half(rgba[i][ACOMP]);
- dst[i*4+1] = _mesa_float_to_half(rgba[i][BCOMP]);
- dst[i*4+2] = _mesa_float_to_half(rgba[i][GCOMP]);
- dst[i*4+3] = _mesa_float_to_half(rgba[i][RCOMP]);
- }
- break;
- case GL_DUDV_ATI:
- case GL_DU8DV8_ATI:
- for (i=0;i<n;i++) {
- dst[i*2+0] = _mesa_float_to_half(rgba[i][RCOMP]);
- dst[i*2+1] = _mesa_float_to_half(rgba[i][GCOMP]);
- }
- break;
- default:
- _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
- }
- }
- break;
- case GL_UNSIGNED_BYTE_3_3_2:
- if (dstFormat == GL_RGB) {
- GLubyte *dst = (GLubyte *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 7.0F) << 5)
- | (IROUND(rgba[i][GCOMP] * 7.0F) << 2)
- | (IROUND(rgba[i][BCOMP] * 3.0F) );
- }
- }
- break;
- case GL_UNSIGNED_BYTE_2_3_3_REV:
- if (dstFormat == GL_RGB) {
- GLubyte *dst = (GLubyte *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 7.0F) )
- | (IROUND(rgba[i][GCOMP] * 7.0F) << 3)
- | (IROUND(rgba[i][BCOMP] * 3.0F) << 6);
- }
- }
- break;
- case GL_UNSIGNED_SHORT_5_6_5:
- if (dstFormat == GL_RGB) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 31.0F) << 11)
- | (IROUND(rgba[i][GCOMP] * 63.0F) << 5)
- | (IROUND(rgba[i][BCOMP] * 31.0F) );
- }
- }
- break;
- case GL_UNSIGNED_SHORT_5_6_5_REV:
- if (dstFormat == GL_RGB) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 31.0F) )
- | (IROUND(rgba[i][GCOMP] * 63.0F) << 5)
- | (IROUND(rgba[i][BCOMP] * 31.0F) << 11);
- }
- }
- break;
- case GL_UNSIGNED_SHORT_4_4_4_4:
- if (dstFormat == GL_RGBA) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 15.0F) << 12)
- | (IROUND(rgba[i][GCOMP] * 15.0F) << 8)
- | (IROUND(rgba[i][BCOMP] * 15.0F) << 4)
- | (IROUND(rgba[i][ACOMP] * 15.0F) );
- }
- }
- else if (dstFormat == GL_BGRA) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][BCOMP] * 15.0F) << 12)
- | (IROUND(rgba[i][GCOMP] * 15.0F) << 8)
- | (IROUND(rgba[i][RCOMP] * 15.0F) << 4)
- | (IROUND(rgba[i][ACOMP] * 15.0F) );
- }
- }
- else if (dstFormat == GL_ABGR_EXT) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][ACOMP] * 15.0F) << 12)
- | (IROUND(rgba[i][BCOMP] * 15.0F) << 8)
- | (IROUND(rgba[i][GCOMP] * 15.0F) << 4)
- | (IROUND(rgba[i][RCOMP] * 15.0F) );
- }
- }
- break;
- case GL_UNSIGNED_SHORT_4_4_4_4_REV:
- if (dstFormat == GL_RGBA) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 15.0F) )
- | (IROUND(rgba[i][GCOMP] * 15.0F) << 4)
- | (IROUND(rgba[i][BCOMP] * 15.0F) << 8)
- | (IROUND(rgba[i][ACOMP] * 15.0F) << 12);
- }
- }
- else if (dstFormat == GL_BGRA) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][BCOMP] * 15.0F) )
- | (IROUND(rgba[i][GCOMP] * 15.0F) << 4)
- | (IROUND(rgba[i][RCOMP] * 15.0F) << 8)
- | (IROUND(rgba[i][ACOMP] * 15.0F) << 12);
- }
- }
- else if (dstFormat == GL_ABGR_EXT) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][ACOMP] * 15.0F) )
- | (IROUND(rgba[i][BCOMP] * 15.0F) << 4)
- | (IROUND(rgba[i][GCOMP] * 15.0F) << 8)
- | (IROUND(rgba[i][RCOMP] * 15.0F) << 12);
- }
- }
- break;
- case GL_UNSIGNED_SHORT_5_5_5_1:
- if (dstFormat == GL_RGBA) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 31.0F) << 11)
- | (IROUND(rgba[i][GCOMP] * 31.0F) << 6)
- | (IROUND(rgba[i][BCOMP] * 31.0F) << 1)
- | (IROUND(rgba[i][ACOMP] * 1.0F) );
- }
- }
- else if (dstFormat == GL_BGRA) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][BCOMP] * 31.0F) << 11)
- | (IROUND(rgba[i][GCOMP] * 31.0F) << 6)
- | (IROUND(rgba[i][RCOMP] * 31.0F) << 1)
- | (IROUND(rgba[i][ACOMP] * 1.0F) );
- }
- }
- else if (dstFormat == GL_ABGR_EXT) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][ACOMP] * 31.0F) << 11)
- | (IROUND(rgba[i][BCOMP] * 31.0F) << 6)
- | (IROUND(rgba[i][GCOMP] * 31.0F) << 1)
- | (IROUND(rgba[i][RCOMP] * 1.0F) );
- }
- }
- break;
- case GL_UNSIGNED_SHORT_1_5_5_5_REV:
- if (dstFormat == GL_RGBA) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 31.0F) )
- | (IROUND(rgba[i][GCOMP] * 31.0F) << 5)
- | (IROUND(rgba[i][BCOMP] * 31.0F) << 10)
- | (IROUND(rgba[i][ACOMP] * 1.0F) << 15);
- }
- }
- else if (dstFormat == GL_BGRA) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][BCOMP] * 31.0F) )
- | (IROUND(rgba[i][GCOMP] * 31.0F) << 5)
- | (IROUND(rgba[i][RCOMP] * 31.0F) << 10)
- | (IROUND(rgba[i][ACOMP] * 1.0F) << 15);
- }
- }
- else if (dstFormat == GL_ABGR_EXT) {
- GLushort *dst = (GLushort *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][ACOMP] * 31.0F) )
- | (IROUND(rgba[i][BCOMP] * 31.0F) << 5)
- | (IROUND(rgba[i][GCOMP] * 31.0F) << 10)
- | (IROUND(rgba[i][RCOMP] * 1.0F) << 15);
- }
- }
- break;
- case GL_UNSIGNED_INT_8_8_8_8:
- if (dstFormat == GL_RGBA) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 255.F) << 24)
- | (IROUND(rgba[i][GCOMP] * 255.F) << 16)
- | (IROUND(rgba[i][BCOMP] * 255.F) << 8)
- | (IROUND(rgba[i][ACOMP] * 255.F) );
- }
- }
- else if (dstFormat == GL_BGRA) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][BCOMP] * 255.F) << 24)
- | (IROUND(rgba[i][GCOMP] * 255.F) << 16)
- | (IROUND(rgba[i][RCOMP] * 255.F) << 8)
- | (IROUND(rgba[i][ACOMP] * 255.F) );
- }
- }
- else if (dstFormat == GL_ABGR_EXT) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][ACOMP] * 255.F) << 24)
- | (IROUND(rgba[i][BCOMP] * 255.F) << 16)
- | (IROUND(rgba[i][GCOMP] * 255.F) << 8)
- | (IROUND(rgba[i][RCOMP] * 255.F) );
- }
- }
- break;
- case GL_UNSIGNED_INT_8_8_8_8_REV:
- if (dstFormat == GL_RGBA) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 255.0F) )
- | (IROUND(rgba[i][GCOMP] * 255.0F) << 8)
- | (IROUND(rgba[i][BCOMP] * 255.0F) << 16)
- | (IROUND(rgba[i][ACOMP] * 255.0F) << 24);
- }
- }
- else if (dstFormat == GL_BGRA) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][BCOMP] * 255.0F) )
- | (IROUND(rgba[i][GCOMP] * 255.0F) << 8)
- | (IROUND(rgba[i][RCOMP] * 255.0F) << 16)
- | (IROUND(rgba[i][ACOMP] * 255.0F) << 24);
- }
- }
- else if (dstFormat == GL_ABGR_EXT) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][ACOMP] * 255.0F) )
- | (IROUND(rgba[i][BCOMP] * 255.0F) << 8)
- | (IROUND(rgba[i][GCOMP] * 255.0F) << 16)
- | (IROUND(rgba[i][RCOMP] * 255.0F) << 24);
- }
- }
- break;
- case GL_UNSIGNED_INT_10_10_10_2:
- if (dstFormat == GL_RGBA) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 1023.0F) << 22)
- | (IROUND(rgba[i][GCOMP] * 1023.0F) << 12)
- | (IROUND(rgba[i][BCOMP] * 1023.0F) << 2)
- | (IROUND(rgba[i][ACOMP] * 3.0F) );
- }
- }
- else if (dstFormat == GL_BGRA) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][BCOMP] * 1023.0F) << 22)
- | (IROUND(rgba[i][GCOMP] * 1023.0F) << 12)
- | (IROUND(rgba[i][RCOMP] * 1023.0F) << 2)
- | (IROUND(rgba[i][ACOMP] * 3.0F) );
- }
- }
- else if (dstFormat == GL_ABGR_EXT) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][ACOMP] * 1023.0F) << 22)
- | (IROUND(rgba[i][BCOMP] * 1023.0F) << 12)
- | (IROUND(rgba[i][GCOMP] * 1023.0F) << 2)
- | (IROUND(rgba[i][RCOMP] * 3.0F) );
- }
- }
- break;
- case GL_UNSIGNED_INT_2_10_10_10_REV:
- if (dstFormat == GL_RGBA) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][RCOMP] * 1023.0F) )
- | (IROUND(rgba[i][GCOMP] * 1023.0F) << 10)
- | (IROUND(rgba[i][BCOMP] * 1023.0F) << 20)
- | (IROUND(rgba[i][ACOMP] * 3.0F) << 30);
- }
- }
- else if (dstFormat == GL_BGRA) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][BCOMP] * 1023.0F) )
- | (IROUND(rgba[i][GCOMP] * 1023.0F) << 10)
- | (IROUND(rgba[i][RCOMP] * 1023.0F) << 20)
- | (IROUND(rgba[i][ACOMP] * 3.0F) << 30);
- }
- }
- else if (dstFormat == GL_ABGR_EXT) {
- GLuint *dst = (GLuint *) dstAddr;
- for (i=0;i<n;i++) {
- dst[i] = (IROUND(rgba[i][ACOMP] * 1023.0F) )
- | (IROUND(rgba[i][BCOMP] * 1023.0F) << 10)
- | (IROUND(rgba[i][GCOMP] * 1023.0F) << 20)
- | (IROUND(rgba[i][RCOMP] * 3.0F) << 30);
- }
- }
- break;
- default:
- _mesa_problem(ctx, "bad type in _mesa_pack_rgba_span_float");
- return;
- }
-
- if (dstPacking->SwapBytes) {
- GLint swapSize = _mesa_sizeof_packed_type(dstType);
- if (swapSize == 2) {
- if (dstPacking->SwapBytes) {
- _mesa_swap2((GLushort *) dstAddr, n * comps);
- }
- }
- else if (swapSize == 4) {
- if (dstPacking->SwapBytes) {
- _mesa_swap4((GLuint *) dstAddr, n * comps);
- }
- }
- }
-}
-
-
-#define SWAP2BYTE(VALUE) \
- { \
- GLubyte *bytes = (GLubyte *) &(VALUE); \
- GLubyte tmp = bytes[0]; \
- bytes[0] = bytes[1]; \
- bytes[1] = tmp; \
- }
-
-#define SWAP4BYTE(VALUE) \
- { \
- GLubyte *bytes = (GLubyte *) &(VALUE); \
- GLubyte tmp = bytes[0]; \
- bytes[0] = bytes[3]; \
- bytes[3] = tmp; \
- tmp = bytes[1]; \
- bytes[1] = bytes[2]; \
- bytes[2] = tmp; \
- }
-
-
-static void
-extract_uint_indexes(GLuint n, GLuint indexes[],
- GLenum srcFormat, GLenum srcType, const GLvoid *src,
- const struct gl_pixelstore_attrib *unpack )
-{
- ASSERT(srcFormat == GL_COLOR_INDEX || srcFormat == GL_STENCIL_INDEX);
-
- ASSERT(srcType == GL_BITMAP ||
- srcType == GL_UNSIGNED_BYTE ||
- srcType == GL_BYTE ||
- srcType == GL_UNSIGNED_SHORT ||
- srcType == GL_SHORT ||
- srcType == GL_UNSIGNED_INT ||
- srcType == GL_INT ||
- srcType == GL_UNSIGNED_INT_24_8_EXT ||
- srcType == GL_HALF_FLOAT_ARB ||
- srcType == GL_FLOAT);
-
- switch (srcType) {
- case GL_BITMAP:
- {
- GLubyte *ubsrc = (GLubyte *) src;
- if (unpack->LsbFirst) {
- GLubyte mask = 1 << (unpack->SkipPixels & 0x7);
- GLuint i;
- for (i = 0; i < n; i++) {
- indexes[i] = (*ubsrc & mask) ? 1 : 0;
- if (mask == 128) {
- mask = 1;
- ubsrc++;
- }
- else {
- mask = mask << 1;
- }
- }
- }
- else {
- GLubyte mask = 128 >> (unpack->SkipPixels & 0x7);
- GLuint i;
- for (i = 0; i < n; i++) {
- indexes[i] = (*ubsrc & mask) ? 1 : 0;
- if (mask == 1) {
- mask = 128;
- ubsrc++;
- }
- else {
- mask = mask >> 1;
- }
- }
- }
- }
- break;
- case GL_UNSIGNED_BYTE:
- {
- GLuint i;
- const GLubyte *s = (const GLubyte *) src;
- for (i = 0; i < n; i++)
- indexes[i] = s[i];
- }
- break;
- case GL_BYTE:
- {
- GLuint i;
- const GLbyte *s = (const GLbyte *) src;
- for (i = 0; i < n; i++)
- indexes[i] = s[i];
- }
- break;
- case GL_UNSIGNED_SHORT:
- {
- GLuint i;
- const GLushort *s = (const GLushort *) src;
- if (unpack->SwapBytes) {
- for (i = 0; i < n; i++) {
- GLushort value = s[i];
- SWAP2BYTE(value);
- indexes[i] = value;
- }
- }
- else {
- for (i = 0; i < n; i++)
- indexes[i] = s[i];
- }
- }
- break;
- case GL_SHORT:
- {
- GLuint i;
- const GLshort *s = (const GLshort *) src;
- if (unpack->SwapBytes) {
- for (i = 0; i < n; i++) {
- GLshort value = s[i];
- SWAP2BYTE(value);
- indexes[i] = value;
- }
- }
- else {
- for (i = 0; i < n; i++)
- indexes[i] = s[i];
- }
- }
- break;
- case GL_UNSIGNED_INT:
- {
- GLuint i;
- const GLuint *s = (const GLuint *) src;
- if (unpack->SwapBytes) {
- for (i = 0; i < n; i++) {
- GLuint value = s[i];
- SWAP4BYTE(value);
- indexes[i] = value;
- }
- }
- else {
- for (i = 0; i < n; i++)
- indexes[i] = s[i];
- }
- }
- break;
- case GL_INT:
- {
- GLuint i;
- const GLint *s = (const GLint *) src;
- if (unpack->SwapBytes) {
- for (i = 0; i < n; i++) {
- GLint value = s[i];
- SWAP4BYTE(value);
- indexes[i] = value;
- }
- }
- else {
- for (i = 0; i < n; i++)
- indexes[i] = s[i];
- }
- }
- break;
- case GL_FLOAT:
- {
- GLuint i;
- const GLfloat *s = (const GLfloat *) src;
- if (unpack->SwapBytes) {
- for (i = 0; i < n; i++) {
- GLfloat value = s[i];
- SWAP4BYTE(value);
- indexes[i] = (GLuint) value;
- }
- }
- else {
- for (i = 0; i < n; i++)
- indexes[i] = (GLuint) s[i];
- }
- }
- break;
- case GL_HALF_FLOAT_ARB:
- {
- GLuint i;
- const GLhalfARB *s = (const GLhalfARB *) src;
- if (unpack->SwapBytes) {
- for (i = 0; i < n; i++) {
- GLhalfARB value = s[i];
- SWAP2BYTE(value);
- indexes[i] = (GLuint) _mesa_half_to_float(value);
- }
- }
- else {
- for (i = 0; i < n; i++)
- indexes[i] = (GLuint) _mesa_half_to_float(s[i]);
- }
- }
- break;
- case GL_UNSIGNED_INT_24_8_EXT:
- {
- GLuint i;
- const GLuint *s = (const GLuint *) src;
- if (unpack->SwapBytes) {
- for (i = 0; i < n; i++) {
- GLuint value = s[i];
- SWAP4BYTE(value);
- indexes[i] = value & 0xff; /* lower 8 bits */
- }
- }
- else {
- for (i = 0; i < n; i++)
- indexes[i] = s[i] & 0xff; /* lower 8 bits */
- }
- }
- break;
-
- default:
- _mesa_problem(NULL, "bad srcType in extract_uint_indexes");
- return;
- }
-}
-
-
-/*
- * This function extracts floating point RGBA values from arbitrary
- * image data. srcFormat and srcType are the format and type parameters
- * passed to glDrawPixels, glTexImage[123]D, glTexSubImage[123]D, etc.
- *
- * Refering to section 3.6.4 of the OpenGL 1.2 spec, this function
- * implements the "Conversion to floating point", "Conversion to RGB",
- * and "Final Expansion to RGBA" operations.
- *
- * Args: n - number of pixels
- * rgba - output colors
- * srcFormat - format of incoming data
- * srcType - data type of incoming data
- * src - source data pointer
- * swapBytes - perform byteswapping of incoming data?
- */
-static void
-extract_float_rgba(GLuint n, GLfloat rgba[][4],
- GLenum srcFormat, GLenum srcType, const GLvoid *src,
- GLboolean swapBytes)
-{
- GLint redIndex, greenIndex, blueIndex, alphaIndex;
- GLint stride;
- GLint rComp, bComp, gComp, aComp;
- GLboolean intFormat;
- GLfloat rs = 1.0f, gs = 1.0f, bs = 1.0f, as = 1.0f; /* scale factors */
-
- ASSERT(srcFormat == GL_RED ||
- srcFormat == GL_GREEN ||
- srcFormat == GL_BLUE ||
- srcFormat == GL_ALPHA ||
- srcFormat == GL_LUMINANCE ||
- srcFormat == GL_LUMINANCE_ALPHA ||
- srcFormat == GL_INTENSITY ||
- srcFormat == GL_RG ||
- srcFormat == GL_RGB ||
- srcFormat == GL_BGR ||
- srcFormat == GL_RGBA ||
- srcFormat == GL_BGRA ||
- srcFormat == GL_ABGR_EXT ||
- srcFormat == GL_DU8DV8_ATI ||
- srcFormat == GL_DUDV_ATI ||
- srcFormat == GL_RED_INTEGER_EXT ||
- srcFormat == GL_GREEN_INTEGER_EXT ||
- srcFormat == GL_BLUE_INTEGER_EXT ||
- srcFormat == GL_ALPHA_INTEGER_EXT ||
- srcFormat == GL_RGB_INTEGER_EXT ||
- srcFormat == GL_RGBA_INTEGER_EXT ||
- srcFormat == GL_BGR_INTEGER_EXT ||
- srcFormat == GL_BGRA_INTEGER_EXT ||
- srcFormat == GL_LUMINANCE_INTEGER_EXT ||
- srcFormat == GL_LUMINANCE_ALPHA_INTEGER_EXT);
-
- ASSERT(srcType == GL_UNSIGNED_BYTE ||
- srcType == GL_BYTE ||
- srcType == GL_UNSIGNED_SHORT ||
- srcType == GL_SHORT ||
- srcType == GL_UNSIGNED_INT ||
- srcType == GL_INT ||
- srcType == GL_HALF_FLOAT_ARB ||
- srcType == GL_FLOAT ||
- srcType == GL_UNSIGNED_BYTE_3_3_2 ||
- srcType == GL_UNSIGNED_BYTE_2_3_3_REV ||
- srcType == GL_UNSIGNED_SHORT_5_6_5 ||
- srcType == GL_UNSIGNED_SHORT_5_6_5_REV ||
- srcType == GL_UNSIGNED_SHORT_4_4_4_4 ||
- srcType == GL_UNSIGNED_SHORT_4_4_4_4_REV ||
- srcType == GL_UNSIGNED_SHORT_5_5_5_1 ||
- srcType == GL_UNSIGNED_SHORT_1_5_5_5_REV ||
- srcType == GL_UNSIGNED_INT_8_8_8_8 ||
- srcType == GL_UNSIGNED_INT_8_8_8_8_REV ||
- srcType == GL_UNSIGNED_INT_10_10_10_2 ||
- srcType == GL_UNSIGNED_INT_2_10_10_10_REV);
-
- rComp = gComp = bComp = aComp = -1;
-
- switch (srcFormat) {
- case GL_RED:
- case GL_RED_INTEGER_EXT:
- redIndex = 0;
- greenIndex = blueIndex = alphaIndex = -1;
- stride = 1;
- break;
- case GL_GREEN:
- case GL_GREEN_INTEGER_EXT:
- greenIndex = 0;
- redIndex = blueIndex = alphaIndex = -1;
- stride = 1;
- break;
- case GL_BLUE:
- case GL_BLUE_INTEGER_EXT:
- blueIndex = 0;
- redIndex = greenIndex = alphaIndex = -1;
- stride = 1;
- break;
- case GL_ALPHA:
- case GL_ALPHA_INTEGER_EXT:
- redIndex = greenIndex = blueIndex = -1;
- alphaIndex = 0;
- stride = 1;
- break;
- case GL_LUMINANCE:
- case GL_LUMINANCE_INTEGER_EXT:
- redIndex = greenIndex = blueIndex = 0;
- alphaIndex = -1;
- stride = 1;
- break;
- case GL_LUMINANCE_ALPHA:
- case GL_LUMINANCE_ALPHA_INTEGER_EXT:
- redIndex = greenIndex = blueIndex = 0;
- alphaIndex = 1;
- stride = 2;
- break;
- case GL_INTENSITY:
- redIndex = greenIndex = blueIndex = alphaIndex = 0;
- stride = 1;
- break;
- case GL_RG:
- case GL_RG_INTEGER:
- redIndex = 0;
- greenIndex = 1;
- blueIndex = -1;
- alphaIndex = -1;
- rComp = 0;
- gComp = 1;
- bComp = 2;
- aComp = 3;
- stride = 2;
- break;
- case GL_RGB:
- case GL_RGB_INTEGER:
- redIndex = 0;
- greenIndex = 1;
- blueIndex = 2;
- alphaIndex = -1;
- rComp = 0;
- gComp = 1;
- bComp = 2;
- aComp = 3;
- stride = 3;
- break;
- case GL_BGR:
- redIndex = 2;
- greenIndex = 1;
- blueIndex = 0;
- alphaIndex = -1;
- rComp = 2;
- gComp = 1;
- bComp = 0;
- aComp = 3;
- stride = 3;
- break;
- case GL_RGBA:
- case GL_RGBA_INTEGER:
- redIndex = 0;
- greenIndex = 1;
- blueIndex = 2;
- alphaIndex = 3;
- rComp = 0;
- gComp = 1;
- bComp = 2;
- aComp = 3;
- stride = 4;
- break;
- case GL_BGRA:
- redIndex = 2;
- greenIndex = 1;
- blueIndex = 0;
- alphaIndex = 3;
- rComp = 2;
- gComp = 1;
- bComp = 0;
- aComp = 3;
- stride = 4;
- break;
- case GL_ABGR_EXT:
- redIndex = 3;
- greenIndex = 2;
- blueIndex = 1;
- alphaIndex = 0;
- rComp = 3;
- gComp = 2;
- bComp = 1;
- aComp = 0;
- stride = 4;
- break;
- case GL_DU8DV8_ATI:
- case GL_DUDV_ATI:
- redIndex = 0;
- greenIndex = 1;
- blueIndex = -1;
- alphaIndex = -1;
- stride = 2;
- break;
- default:
- _mesa_problem(NULL, "bad srcFormat %s in extract float data",
- _mesa_lookup_enum_by_nr(srcFormat));
- return;
- }
-
- intFormat = _mesa_is_integer_format(srcFormat);
-
-#define PROCESS(INDEX, CHANNEL, DEFAULT, DEFAULT_INT, TYPE, CONVERSION) \
- if ((INDEX) < 0) { \
- GLuint i; \
- if (intFormat) { \
- for (i = 0; i < n; i++) { \
- rgba[i][CHANNEL] = DEFAULT_INT; \
- } \
- } \
- else { \
- for (i = 0; i < n; i++) { \
- rgba[i][CHANNEL] = DEFAULT; \
- } \
- } \
- } \
- else if (swapBytes) { \
- const TYPE *s = (const TYPE *) src; \
- GLuint i; \
- for (i = 0; i < n; i++) { \
- TYPE value = s[INDEX]; \
- if (sizeof(TYPE) == 2) { \
- SWAP2BYTE(value); \
- } \
- else if (sizeof(TYPE) == 4) { \
- SWAP4BYTE(value); \
- } \
- if (intFormat) \
- rgba[i][CHANNEL] = (GLfloat) value; \
- else \
- rgba[i][CHANNEL] = (GLfloat) CONVERSION(value); \
- s += stride; \
- } \
- } \
- else { \
- const TYPE *s = (const TYPE *) src; \
- GLuint i; \
- if (intFormat) { \
- for (i = 0; i < n; i++) { \
- rgba[i][CHANNEL] = (GLfloat) s[INDEX]; \
- s += stride; \
- } \
- } \
- else { \
- for (i = 0; i < n; i++) { \
- rgba[i][CHANNEL] = (GLfloat) CONVERSION(s[INDEX]); \
- s += stride; \
- } \
- } \
- }
-
- switch (srcType) {
- case GL_UNSIGNED_BYTE:
- PROCESS(redIndex, RCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT);
- PROCESS(greenIndex, GCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT);
- PROCESS(blueIndex, BCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT);
- PROCESS(alphaIndex, ACOMP, 1.0F, 255, GLubyte, UBYTE_TO_FLOAT);
- break;
- case GL_BYTE:
- PROCESS(redIndex, RCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT);
- PROCESS(greenIndex, GCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT);
- PROCESS(blueIndex, BCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT);
- PROCESS(alphaIndex, ACOMP, 1.0F, 127, GLbyte, BYTE_TO_FLOAT);
- break;
- case GL_UNSIGNED_SHORT:
- PROCESS(redIndex, RCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT);
- PROCESS(greenIndex, GCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT);
- PROCESS(blueIndex, BCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT);
- PROCESS(alphaIndex, ACOMP, 1.0F, 0xffff, GLushort, USHORT_TO_FLOAT);
- break;
- case GL_SHORT:
- PROCESS(redIndex, RCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT);
- PROCESS(greenIndex, GCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT);
- PROCESS(blueIndex, BCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT);
- PROCESS(alphaIndex, ACOMP, 1.0F, 32767, GLshort, SHORT_TO_FLOAT);
- break;
- case GL_UNSIGNED_INT:
- PROCESS(redIndex, RCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT);
- PROCESS(greenIndex, GCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT);
- PROCESS(blueIndex, BCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT);
- PROCESS(alphaIndex, ACOMP, 1.0F, 0xffffffff, GLuint, UINT_TO_FLOAT);
- break;
- case GL_INT:
- PROCESS(redIndex, RCOMP, 0.0F, 0, GLint, INT_TO_FLOAT);
- PROCESS(greenIndex, GCOMP, 0.0F, 0, GLint, INT_TO_FLOAT);
- PROCESS(blueIndex, BCOMP, 0.0F, 0, GLint, INT_TO_FLOAT);
- PROCESS(alphaIndex, ACOMP, 1.0F, 2147483647, GLint, INT_TO_FLOAT);
- break;
- case GL_FLOAT:
- PROCESS(redIndex, RCOMP, 0.0F, 0.0F, GLfloat, (GLfloat));
- PROCESS(greenIndex, GCOMP, 0.0F, 0.0F, GLfloat, (GLfloat));
- PROCESS(blueIndex, BCOMP, 0.0F, 0.0F, GLfloat, (GLfloat));
- PROCESS(alphaIndex, ACOMP, 1.0F, 1.0F, GLfloat, (GLfloat));
- break;
- case GL_HALF_FLOAT_ARB:
- PROCESS(redIndex, RCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float);
- PROCESS(greenIndex, GCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float);
- PROCESS(blueIndex, BCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float);
- PROCESS(alphaIndex, ACOMP, 1.0F, 1.0F, GLhalfARB, _mesa_half_to_float);
- break;
- case GL_UNSIGNED_BYTE_3_3_2:
- {
- const GLubyte *ubsrc = (const GLubyte *) src;
- GLuint i;
- if (!intFormat) {
- rs = 1.0F / 7.0F;
- gs = 1.0F / 7.0F;
- bs = 1.0F / 3.0F;
- }
- for (i = 0; i < n; i ++) {
- GLubyte p = ubsrc[i];
- rgba[i][rComp] = ((p >> 5) ) * rs;
- rgba[i][gComp] = ((p >> 2) & 0x7) * gs;
- rgba[i][bComp] = ((p ) & 0x3) * bs;
- rgba[i][aComp] = 1.0F;
- }
- }
- break;
- case GL_UNSIGNED_BYTE_2_3_3_REV:
- {
- const GLubyte *ubsrc = (const GLubyte *) src;
- GLuint i;
- if (!intFormat) {
- rs = 1.0F / 7.0F;
- gs = 1.0F / 7.0F;
- bs = 1.0F / 3.0F;
- }
- for (i = 0; i < n; i ++) {
- GLubyte p = ubsrc[i];
- rgba[i][rComp] = ((p ) & 0x7) * rs;
- rgba[i][gComp] = ((p >> 3) & 0x7) * gs;
- rgba[i][bComp] = ((p >> 6) ) * bs;
- rgba[i][aComp] = 1.0F;
- }
- }
- break;
- case GL_UNSIGNED_SHORT_5_6_5:
- if (!intFormat) {
- rs = 1.0F / 31.0F;
- gs = 1.0F / 63.0F;
- bs = 1.0F / 31.0F;
- }
- if (swapBytes) {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- SWAP2BYTE(p);
- rgba[i][rComp] = ((p >> 11) ) * rs;
- rgba[i][gComp] = ((p >> 5) & 0x3f) * gs;
- rgba[i][bComp] = ((p ) & 0x1f) * bs;
- rgba[i][aComp] = 1.0F;
- }
- }
- else {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- rgba[i][rComp] = ((p >> 11) ) * rs;
- rgba[i][gComp] = ((p >> 5) & 0x3f) * gs;
- rgba[i][bComp] = ((p ) & 0x1f) * bs;
- rgba[i][aComp] = 1.0F;
- }
- }
- break;
- case GL_UNSIGNED_SHORT_5_6_5_REV:
- if (!intFormat) {
- rs = 1.0F / 31.0F;
- gs = 1.0F / 63.0F;
- bs = 1.0F / 31.0F;
- }
- if (swapBytes) {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- SWAP2BYTE(p);
- rgba[i][rComp] = ((p ) & 0x1f) * rs;
- rgba[i][gComp] = ((p >> 5) & 0x3f) * gs;
- rgba[i][bComp] = ((p >> 11) ) * bs;
- rgba[i][aComp] = 1.0F;
- }
- }
- else {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- rgba[i][rComp] = ((p ) & 0x1f) * rs;
- rgba[i][gComp] = ((p >> 5) & 0x3f) * gs;
- rgba[i][bComp] = ((p >> 11) ) * bs;
- rgba[i][aComp] = 1.0F;
- }
- }
- break;
- case GL_UNSIGNED_SHORT_4_4_4_4:
- if (!intFormat) {
- rs = gs = bs = as = 1.0F / 15.0F;
- }
- if (swapBytes) {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- SWAP2BYTE(p);
- rgba[i][rComp] = ((p >> 12) ) * rs;
- rgba[i][gComp] = ((p >> 8) & 0xf) * gs;
- rgba[i][bComp] = ((p >> 4) & 0xf) * bs;
- rgba[i][aComp] = ((p ) & 0xf) * as;
- }
- }
- else {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- rgba[i][rComp] = ((p >> 12) ) * rs;
- rgba[i][gComp] = ((p >> 8) & 0xf) * gs;
- rgba[i][bComp] = ((p >> 4) & 0xf) * bs;
- rgba[i][aComp] = ((p ) & 0xf) * as;
- }
- }
- break;
- case GL_UNSIGNED_SHORT_4_4_4_4_REV:
- if (!intFormat) {
- rs = gs = bs = as = 1.0F / 15.0F;
- }
- if (swapBytes) {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- SWAP2BYTE(p);
- rgba[i][rComp] = ((p ) & 0xf) * rs;
- rgba[i][gComp] = ((p >> 4) & 0xf) * gs;
- rgba[i][bComp] = ((p >> 8) & 0xf) * bs;
- rgba[i][aComp] = ((p >> 12) ) * as;
- }
- }
- else {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- rgba[i][rComp] = ((p ) & 0xf) * rs;
- rgba[i][gComp] = ((p >> 4) & 0xf) * gs;
- rgba[i][bComp] = ((p >> 8) & 0xf) * bs;
- rgba[i][aComp] = ((p >> 12) ) * as;
- }
- }
- break;
- case GL_UNSIGNED_SHORT_5_5_5_1:
- if (!intFormat) {
- rs = gs = bs = 1.0F / 31.0F;
- }
- if (swapBytes) {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- SWAP2BYTE(p);
- rgba[i][rComp] = ((p >> 11) ) * rs;
- rgba[i][gComp] = ((p >> 6) & 0x1f) * gs;
- rgba[i][bComp] = ((p >> 1) & 0x1f) * bs;
- rgba[i][aComp] = ((p ) & 0x1) * as;
- }
- }
- else {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- rgba[i][rComp] = ((p >> 11) ) * rs;
- rgba[i][gComp] = ((p >> 6) & 0x1f) * gs;
- rgba[i][bComp] = ((p >> 1) & 0x1f) * bs;
- rgba[i][aComp] = ((p ) & 0x1) * as;
- }
- }
- break;
- case GL_UNSIGNED_SHORT_1_5_5_5_REV:
- if (!intFormat) {
- rs = gs = bs = 1.0F / 31.0F;
- }
- if (swapBytes) {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- SWAP2BYTE(p);
- rgba[i][rComp] = ((p ) & 0x1f) * rs;
- rgba[i][gComp] = ((p >> 5) & 0x1f) * gs;
- rgba[i][bComp] = ((p >> 10) & 0x1f) * bs;
- rgba[i][aComp] = ((p >> 15) ) * as;
- }
- }
- else {
- const GLushort *ussrc = (const GLushort *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLushort p = ussrc[i];
- rgba[i][rComp] = ((p ) & 0x1f) * rs;
- rgba[i][gComp] = ((p >> 5) & 0x1f) * gs;
- rgba[i][bComp] = ((p >> 10) & 0x1f) * bs;
- rgba[i][aComp] = ((p >> 15) ) * as;
- }
- }
- break;
- case GL_UNSIGNED_INT_8_8_8_8:
- if (swapBytes) {
- const GLuint *uisrc = (const GLuint *) src;
- GLuint i;
- if (intFormat) {
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = (GLfloat) ((p ) & 0xff);
- rgba[i][gComp] = (GLfloat) ((p >> 8) & 0xff);
- rgba[i][bComp] = (GLfloat) ((p >> 16) & 0xff);
- rgba[i][aComp] = (GLfloat) ((p >> 24) );
- }
- }
- else {
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = UBYTE_TO_FLOAT((p ) & 0xff);
- rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff);
- rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff);
- rgba[i][aComp] = UBYTE_TO_FLOAT((p >> 24) );
- }
- }
- }
- else {
- const GLuint *uisrc = (const GLuint *) src;
- GLuint i;
- if (intFormat) {
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = (GLfloat) ((p >> 24) );
- rgba[i][gComp] = (GLfloat) ((p >> 16) & 0xff);
- rgba[i][bComp] = (GLfloat) ((p >> 8) & 0xff);
- rgba[i][aComp] = (GLfloat) ((p ) & 0xff);
- }
- }
- else {
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = UBYTE_TO_FLOAT((p >> 24) );
- rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff);
- rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff);
- rgba[i][aComp] = UBYTE_TO_FLOAT((p ) & 0xff);
- }
- }
- }
- break;
- case GL_UNSIGNED_INT_8_8_8_8_REV:
- if (swapBytes) {
- const GLuint *uisrc = (const GLuint *) src;
- GLuint i;
- if (intFormat) {
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = (GLfloat) ((p >> 24) );
- rgba[i][gComp] = (GLfloat) ((p >> 16) & 0xff);
- rgba[i][bComp] = (GLfloat) ((p >> 8) & 0xff);
- rgba[i][aComp] = (GLfloat) ((p ) & 0xff);
- }
- }
- else {
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = UBYTE_TO_FLOAT((p >> 24) );
- rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff);
- rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff);
- rgba[i][aComp] = UBYTE_TO_FLOAT((p ) & 0xff);
- }
- }
- }
- else {
- const GLuint *uisrc = (const GLuint *) src;
- GLuint i;
- if (intFormat) {
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = (GLfloat) ((p ) & 0xff);
- rgba[i][gComp] = (GLfloat) ((p >> 8) & 0xff);
- rgba[i][bComp] = (GLfloat) ((p >> 16) & 0xff);
- rgba[i][aComp] = (GLfloat) ((p >> 24) );
- }
- }
- else {
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = UBYTE_TO_FLOAT((p ) & 0xff);
- rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff);
- rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff);
- rgba[i][aComp] = UBYTE_TO_FLOAT((p >> 24) );
- }
- }
- }
- break;
- case GL_UNSIGNED_INT_10_10_10_2:
- if (!intFormat) {
- rs = 1.0F / 1023.0F;
- gs = 1.0F / 1023.0F;
- bs = 1.0F / 1023.0F;
- as = 1.0F / 3.0F;
- }
- if (swapBytes) {
- const GLuint *uisrc = (const GLuint *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- SWAP4BYTE(p);
- rgba[i][rComp] = ((p >> 22) ) * rs;
- rgba[i][gComp] = ((p >> 12) & 0x3ff) * gs;
- rgba[i][bComp] = ((p >> 2) & 0x3ff) * bs;
- rgba[i][aComp] = ((p ) & 0x3 ) * as;
- }
- }
- else {
- const GLuint *uisrc = (const GLuint *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = ((p >> 22) ) * rs;
- rgba[i][gComp] = ((p >> 12) & 0x3ff) * gs;
- rgba[i][bComp] = ((p >> 2) & 0x3ff) * bs;
- rgba[i][aComp] = ((p ) & 0x3 ) * as;
- }
- }
- break;
- case GL_UNSIGNED_INT_2_10_10_10_REV:
- if (!intFormat) {
- rs = 1.0F / 1023.0F;
- gs = 1.0F / 1023.0F;
- bs = 1.0F / 1023.0F;
- as = 1.0F / 3.0F;
- }
- if (swapBytes) {
- const GLuint *uisrc = (const GLuint *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- SWAP4BYTE(p);
- rgba[i][rComp] = ((p ) & 0x3ff) * rs;
- rgba[i][gComp] = ((p >> 10) & 0x3ff) * gs;
- rgba[i][bComp] = ((p >> 20) & 0x3ff) * bs;
- rgba[i][aComp] = ((p >> 30) ) * as;
- }
- }
- else {
- const GLuint *uisrc = (const GLuint *) src;
- GLuint i;
- for (i = 0; i < n; i ++) {
- GLuint p = uisrc[i];
- rgba[i][rComp] = ((p ) & 0x3ff) * rs;
- rgba[i][gComp] = ((p >> 10) & 0x3ff) * gs;
- rgba[i][bComp] = ((p >> 20) & 0x3ff) * bs;
- rgba[i][aComp] = ((p >> 30) ) * as;
- }
- }
- break;
- default:
- _mesa_problem(NULL, "bad srcType in extract float data");
- break;
- }
-}
-
-
-/*
- * Unpack a row of color image data from a client buffer according to
- * the pixel unpacking parameters.
- * Return GLchan values in the specified dest image format.
- * This is used by glDrawPixels and glTexImage?D().
- * \param ctx - the context
- * n - number of pixels in the span
- * dstFormat - format of destination color array
- * dest - the destination color array
- * srcFormat - source image format
- * srcType - source image data type
- * source - source image pointer
- * srcPacking - pixel unpacking parameters
- * transferOps - bitmask of IMAGE_*_BIT values of operations to apply
- *
- * XXX perhaps expand this to process whole images someday.
- */
-void
-_mesa_unpack_color_span_chan( GLcontext *ctx,
- GLuint n, GLenum dstFormat, GLchan dest[],
- GLenum srcFormat, GLenum srcType,
- const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps )
-{
- ASSERT(dstFormat == GL_ALPHA ||
- dstFormat == GL_LUMINANCE ||
- dstFormat == GL_LUMINANCE_ALPHA ||
- dstFormat == GL_INTENSITY ||
- dstFormat == GL_RED ||
- dstFormat == GL_RG ||
- dstFormat == GL_RGB ||
- dstFormat == GL_RGBA ||
- dstFormat == GL_COLOR_INDEX);
-
- ASSERT(srcFormat == GL_RED ||
- srcFormat == GL_GREEN ||
- srcFormat == GL_BLUE ||
- srcFormat == GL_ALPHA ||
- srcFormat == GL_LUMINANCE ||
- srcFormat == GL_LUMINANCE_ALPHA ||
- srcFormat == GL_INTENSITY ||
- srcFormat == GL_RG ||
- srcFormat == GL_RGB ||
- srcFormat == GL_BGR ||
- srcFormat == GL_RGBA ||
- srcFormat == GL_BGRA ||
- srcFormat == GL_ABGR_EXT ||
- srcFormat == GL_COLOR_INDEX);
-
- ASSERT(srcType == GL_BITMAP ||
- srcType == GL_UNSIGNED_BYTE ||
- srcType == GL_BYTE ||
- srcType == GL_UNSIGNED_SHORT ||
- srcType == GL_SHORT ||
- srcType == GL_UNSIGNED_INT ||
- srcType == GL_INT ||
- srcType == GL_HALF_FLOAT_ARB ||
- srcType == GL_FLOAT ||
- srcType == GL_UNSIGNED_BYTE_3_3_2 ||
- srcType == GL_UNSIGNED_BYTE_2_3_3_REV ||
- srcType == GL_UNSIGNED_SHORT_5_6_5 ||
- srcType == GL_UNSIGNED_SHORT_5_6_5_REV ||
- srcType == GL_UNSIGNED_SHORT_4_4_4_4 ||
- srcType == GL_UNSIGNED_SHORT_4_4_4_4_REV ||
- srcType == GL_UNSIGNED_SHORT_5_5_5_1 ||
- srcType == GL_UNSIGNED_SHORT_1_5_5_5_REV ||
- srcType == GL_UNSIGNED_INT_8_8_8_8 ||
- srcType == GL_UNSIGNED_INT_8_8_8_8_REV ||
- srcType == GL_UNSIGNED_INT_10_10_10_2 ||
- srcType == GL_UNSIGNED_INT_2_10_10_10_REV);
-
- /* Try simple cases first */
- if (transferOps == 0) {
- if (srcType == CHAN_TYPE) {
- if (dstFormat == GL_RGBA) {
- if (srcFormat == GL_RGBA) {
- memcpy( dest, source, n * 4 * sizeof(GLchan) );
- return;
- }
- else if (srcFormat == GL_RGB) {
- GLuint i;
- const GLchan *src = (const GLchan *) source;
- GLchan *dst = dest;
- for (i = 0; i < n; i++) {
- dst[0] = src[0];
- dst[1] = src[1];
- dst[2] = src[2];
- dst[3] = CHAN_MAX;
- src += 3;
- dst += 4;
- }
- return;
- }
- }
- else if (dstFormat == GL_RGB) {
- if (srcFormat == GL_RGB) {
- memcpy( dest, source, n * 3 * sizeof(GLchan) );
- return;
- }
- else if (srcFormat == GL_RGBA) {
- GLuint i;
- const GLchan *src = (const GLchan *) source;
- GLchan *dst = dest;
- for (i = 0; i < n; i++) {
- dst[0] = src[0];
- dst[1] = src[1];
- dst[2] = src[2];
- src += 4;
- dst += 3;
- }
- return;
- }
- }
- else if (dstFormat == srcFormat) {
- GLint comps = _mesa_components_in_format(srcFormat);
- assert(comps > 0);
- memcpy( dest, source, n * comps * sizeof(GLchan) );
- return;
- }
- }
- /*
- * Common situation, loading 8bit RGBA/RGB source images
- * into 16/32 bit destination. (OSMesa16/32)
- */
- else if (srcType == GL_UNSIGNED_BYTE) {
- if (dstFormat == GL_RGBA) {
- if (srcFormat == GL_RGB) {
- GLuint i;
- const GLubyte *src = (const GLubyte *) source;
- GLchan *dst = dest;
- for (i = 0; i < n; i++) {
- dst[0] = UBYTE_TO_CHAN(src[0]);
- dst[1] = UBYTE_TO_CHAN(src[1]);
- dst[2] = UBYTE_TO_CHAN(src[2]);
- dst[3] = CHAN_MAX;
- src += 3;
- dst += 4;
- }
- return;
- }
- else if (srcFormat == GL_RGBA) {
- GLuint i;
- const GLubyte *src = (const GLubyte *) source;
- GLchan *dst = dest;
- for (i = 0; i < n; i++) {
- dst[0] = UBYTE_TO_CHAN(src[0]);
- dst[1] = UBYTE_TO_CHAN(src[1]);
- dst[2] = UBYTE_TO_CHAN(src[2]);
- dst[3] = UBYTE_TO_CHAN(src[3]);
- src += 4;
- dst += 4;
- }
- return;
- }
- }
- else if (dstFormat == GL_RGB) {
- if (srcFormat == GL_RGB) {
- GLuint i;
- const GLubyte *src = (const GLubyte *) source;
- GLchan *dst = dest;
- for (i = 0; i < n; i++) {
- dst[0] = UBYTE_TO_CHAN(src[0]);
- dst[1] = UBYTE_TO_CHAN(src[1]);
- dst[2] = UBYTE_TO_CHAN(src[2]);
- src += 3;
- dst += 3;
- }
- return;
- }
- else if (srcFormat == GL_RGBA) {
- GLuint i;
- const GLubyte *src = (const GLubyte *) source;
- GLchan *dst = dest;
- for (i = 0; i < n; i++) {
- dst[0] = UBYTE_TO_CHAN(src[0]);
- dst[1] = UBYTE_TO_CHAN(src[1]);
- dst[2] = UBYTE_TO_CHAN(src[2]);
- src += 4;
- dst += 3;
- }
- return;
- }
- }
- }
- }
-
-
- /* general solution begins here */
- {
- GLint dstComponents;
- GLint dstRedIndex, dstGreenIndex, dstBlueIndex, dstAlphaIndex;
- GLint dstLuminanceIndex, dstIntensityIndex;
- GLfloat rgba[MAX_WIDTH][4];
-
- dstComponents = _mesa_components_in_format( dstFormat );
- /* source & dest image formats should have been error checked by now */
- assert(dstComponents > 0);
-
- /*
- * Extract image data and convert to RGBA floats
- */
- assert(n <= MAX_WIDTH);
- if (srcFormat == GL_COLOR_INDEX) {
- GLuint indexes[MAX_WIDTH];
- extract_uint_indexes(n, indexes, srcFormat, srcType, source,
- srcPacking);
-
- if (dstFormat == GL_COLOR_INDEX) {
- GLuint i;
- _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes);
- /* convert to GLchan and return */
- for (i = 0; i < n; i++) {
- dest[i] = (GLchan) (indexes[i] & 0xff);
- }
- return;
- }
- else {
- /* Convert indexes to RGBA */
- if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
- shift_and_offset_ci(ctx, n, indexes);
- }
- _mesa_map_ci_to_rgba(ctx, n, indexes, rgba);
- }
-
- /* Don't do RGBA scale/bias or RGBA->RGBA mapping if starting
- * with color indexes.
- */
- transferOps &= ~(IMAGE_SCALE_BIAS_BIT | IMAGE_MAP_COLOR_BIT);
- }
- else {
- /* non-color index data */
- extract_float_rgba(n, rgba, srcFormat, srcType, source,
- srcPacking->SwapBytes);
- }
-
- /* Need to clamp if returning GLubytes or GLushorts */
-#if CHAN_TYPE != GL_FLOAT
- transferOps |= IMAGE_CLAMP_BIT;
-#endif
-
- if (transferOps) {
- _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgba);
- }
-
- /* Now determine which color channels we need to produce.
- * And determine the dest index (offset) within each color tuple.
- */
- switch (dstFormat) {
- case GL_ALPHA:
- dstAlphaIndex = 0;
- dstRedIndex = dstGreenIndex = dstBlueIndex = -1;
- dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- case GL_LUMINANCE:
- dstLuminanceIndex = 0;
- dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1;
- dstIntensityIndex = -1;
- break;
- case GL_LUMINANCE_ALPHA:
- dstLuminanceIndex = 0;
- dstAlphaIndex = 1;
- dstRedIndex = dstGreenIndex = dstBlueIndex = -1;
- dstIntensityIndex = -1;
- break;
- case GL_INTENSITY:
- dstIntensityIndex = 0;
- dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1;
- dstLuminanceIndex = -1;
- break;
- case GL_RED:
- dstRedIndex = 0;
- dstGreenIndex = dstBlueIndex = -1;
- dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- case GL_RG:
- dstRedIndex = 0;
- dstGreenIndex = 1;
- dstBlueIndex = -1;
- dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- case GL_RGB:
- dstRedIndex = 0;
- dstGreenIndex = 1;
- dstBlueIndex = 2;
- dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- case GL_RGBA:
- dstRedIndex = 0;
- dstGreenIndex = 1;
- dstBlueIndex = 2;
- dstAlphaIndex = 3;
- dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- default:
- _mesa_problem(ctx, "bad dstFormat in _mesa_unpack_chan_span()");
- return;
- }
-
-
- /* Now return the GLchan data in the requested dstFormat */
-
- if (dstRedIndex >= 0) {
- GLchan *dst = dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- CLAMPED_FLOAT_TO_CHAN(dst[dstRedIndex], rgba[i][RCOMP]);
- dst += dstComponents;
- }
- }
-
- if (dstGreenIndex >= 0) {
- GLchan *dst = dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- CLAMPED_FLOAT_TO_CHAN(dst[dstGreenIndex], rgba[i][GCOMP]);
- dst += dstComponents;
- }
- }
-
- if (dstBlueIndex >= 0) {
- GLchan *dst = dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- CLAMPED_FLOAT_TO_CHAN(dst[dstBlueIndex], rgba[i][BCOMP]);
- dst += dstComponents;
- }
- }
-
- if (dstAlphaIndex >= 0) {
- GLchan *dst = dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- CLAMPED_FLOAT_TO_CHAN(dst[dstAlphaIndex], rgba[i][ACOMP]);
- dst += dstComponents;
- }
- }
-
- if (dstIntensityIndex >= 0) {
- GLchan *dst = dest;
- GLuint i;
- assert(dstIntensityIndex == 0);
- assert(dstComponents == 1);
- for (i = 0; i < n; i++) {
- /* Intensity comes from red channel */
- CLAMPED_FLOAT_TO_CHAN(dst[i], rgba[i][RCOMP]);
- }
- }
-
- if (dstLuminanceIndex >= 0) {
- GLchan *dst = dest;
- GLuint i;
- assert(dstLuminanceIndex == 0);
- for (i = 0; i < n; i++) {
- /* Luminance comes from red channel */
- CLAMPED_FLOAT_TO_CHAN(dst[0], rgba[i][RCOMP]);
- dst += dstComponents;
- }
- }
- }
-}
-
-
-/**
- * Same as _mesa_unpack_color_span_chan(), but return GLfloat data
- * instead of GLchan.
- */
-void
-_mesa_unpack_color_span_float( GLcontext *ctx,
- GLuint n, GLenum dstFormat, GLfloat dest[],
- GLenum srcFormat, GLenum srcType,
- const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps )
-{
- ASSERT(dstFormat == GL_ALPHA ||
- dstFormat == GL_LUMINANCE ||
- dstFormat == GL_LUMINANCE_ALPHA ||
- dstFormat == GL_INTENSITY ||
- dstFormat == GL_RED ||
- dstFormat == GL_RG ||
- dstFormat == GL_RGB ||
- dstFormat == GL_RGBA ||
- dstFormat == GL_COLOR_INDEX);
-
- ASSERT(srcFormat == GL_RED ||
- srcFormat == GL_GREEN ||
- srcFormat == GL_BLUE ||
- srcFormat == GL_ALPHA ||
- srcFormat == GL_LUMINANCE ||
- srcFormat == GL_LUMINANCE_ALPHA ||
- srcFormat == GL_INTENSITY ||
- srcFormat == GL_RG ||
- srcFormat == GL_RGB ||
- srcFormat == GL_BGR ||
- srcFormat == GL_RGBA ||
- srcFormat == GL_BGRA ||
- srcFormat == GL_ABGR_EXT ||
- srcFormat == GL_RED_INTEGER_EXT ||
- srcFormat == GL_GREEN_INTEGER_EXT ||
- srcFormat == GL_BLUE_INTEGER_EXT ||
- srcFormat == GL_ALPHA_INTEGER_EXT ||
- srcFormat == GL_RGB_INTEGER_EXT ||
- srcFormat == GL_RGBA_INTEGER_EXT ||
- srcFormat == GL_BGR_INTEGER_EXT ||
- srcFormat == GL_BGRA_INTEGER_EXT ||
- srcFormat == GL_LUMINANCE_INTEGER_EXT ||
- srcFormat == GL_LUMINANCE_ALPHA_INTEGER_EXT ||
- srcFormat == GL_COLOR_INDEX);
-
- ASSERT(srcType == GL_BITMAP ||
- srcType == GL_UNSIGNED_BYTE ||
- srcType == GL_BYTE ||
- srcType == GL_UNSIGNED_SHORT ||
- srcType == GL_SHORT ||
- srcType == GL_UNSIGNED_INT ||
- srcType == GL_INT ||
- srcType == GL_HALF_FLOAT_ARB ||
- srcType == GL_FLOAT ||
- srcType == GL_UNSIGNED_BYTE_3_3_2 ||
- srcType == GL_UNSIGNED_BYTE_2_3_3_REV ||
- srcType == GL_UNSIGNED_SHORT_5_6_5 ||
- srcType == GL_UNSIGNED_SHORT_5_6_5_REV ||
- srcType == GL_UNSIGNED_SHORT_4_4_4_4 ||
- srcType == GL_UNSIGNED_SHORT_4_4_4_4_REV ||
- srcType == GL_UNSIGNED_SHORT_5_5_5_1 ||
- srcType == GL_UNSIGNED_SHORT_1_5_5_5_REV ||
- srcType == GL_UNSIGNED_INT_8_8_8_8 ||
- srcType == GL_UNSIGNED_INT_8_8_8_8_REV ||
- srcType == GL_UNSIGNED_INT_10_10_10_2 ||
- srcType == GL_UNSIGNED_INT_2_10_10_10_REV);
-
- /* general solution, no special cases, yet */
- {
- GLint dstComponents;
- GLint dstRedIndex, dstGreenIndex, dstBlueIndex, dstAlphaIndex;
- GLint dstLuminanceIndex, dstIntensityIndex;
- GLfloat rgba[MAX_WIDTH][4];
-
- dstComponents = _mesa_components_in_format( dstFormat );
- /* source & dest image formats should have been error checked by now */
- assert(dstComponents > 0);
-
- /*
- * Extract image data and convert to RGBA floats
- */
- assert(n <= MAX_WIDTH);
- if (srcFormat == GL_COLOR_INDEX) {
- GLuint indexes[MAX_WIDTH];
- extract_uint_indexes(n, indexes, srcFormat, srcType, source,
- srcPacking);
-
- if (dstFormat == GL_COLOR_INDEX) {
- GLuint i;
- _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes);
- /* convert to GLchan and return */
- for (i = 0; i < n; i++) {
- dest[i] = (GLchan) (indexes[i] & 0xff);
- }
- return;
- }
- else {
- /* Convert indexes to RGBA */
- if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
- shift_and_offset_ci(ctx, n, indexes);
- }
- _mesa_map_ci_to_rgba(ctx, n, indexes, rgba);
- }
-
- /* Don't do RGBA scale/bias or RGBA->RGBA mapping if starting
- * with color indexes.
- */
- transferOps &= ~(IMAGE_SCALE_BIAS_BIT | IMAGE_MAP_COLOR_BIT);
- }
- else {
- /* non-color index data */
- extract_float_rgba(n, rgba, srcFormat, srcType, source,
- srcPacking->SwapBytes);
- }
-
- if (transferOps) {
- _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgba);
- }
-
- /* Now determine which color channels we need to produce.
- * And determine the dest index (offset) within each color tuple.
- */
- switch (dstFormat) {
- case GL_ALPHA:
- dstAlphaIndex = 0;
- dstRedIndex = dstGreenIndex = dstBlueIndex = -1;
- dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- case GL_LUMINANCE:
- dstLuminanceIndex = 0;
- dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1;
- dstIntensityIndex = -1;
- break;
- case GL_LUMINANCE_ALPHA:
- dstLuminanceIndex = 0;
- dstAlphaIndex = 1;
- dstRedIndex = dstGreenIndex = dstBlueIndex = -1;
- dstIntensityIndex = -1;
- break;
- case GL_INTENSITY:
- dstIntensityIndex = 0;
- dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1;
- dstLuminanceIndex = -1;
- break;
- case GL_RED:
- dstRedIndex = 0;
- dstGreenIndex = dstBlueIndex = -1;
- dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- case GL_RG:
- dstRedIndex = 0;
- dstGreenIndex = 1;
- dstBlueIndex = -1;
- dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- case GL_RGB:
- dstRedIndex = 0;
- dstGreenIndex = 1;
- dstBlueIndex = 2;
- dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- case GL_RGBA:
- dstRedIndex = 0;
- dstGreenIndex = 1;
- dstBlueIndex = 2;
- dstAlphaIndex = 3;
- dstLuminanceIndex = dstIntensityIndex = -1;
- break;
- default:
- _mesa_problem(ctx, "bad dstFormat in _mesa_unpack_color_span_float()");
- return;
- }
-
- /* Now pack results in the requested dstFormat */
- if (dstRedIndex >= 0) {
- GLfloat *dst = dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[dstRedIndex] = rgba[i][RCOMP];
- dst += dstComponents;
- }
- }
-
- if (dstGreenIndex >= 0) {
- GLfloat *dst = dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[dstGreenIndex] = rgba[i][GCOMP];
- dst += dstComponents;
- }
- }
-
- if (dstBlueIndex >= 0) {
- GLfloat *dst = dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[dstBlueIndex] = rgba[i][BCOMP];
- dst += dstComponents;
- }
- }
-
- if (dstAlphaIndex >= 0) {
- GLfloat *dst = dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[dstAlphaIndex] = rgba[i][ACOMP];
- dst += dstComponents;
- }
- }
-
- if (dstIntensityIndex >= 0) {
- GLfloat *dst = dest;
- GLuint i;
- assert(dstIntensityIndex == 0);
- assert(dstComponents == 1);
- for (i = 0; i < n; i++) {
- /* Intensity comes from red channel */
- dst[i] = rgba[i][RCOMP];
- }
- }
-
- if (dstLuminanceIndex >= 0) {
- GLfloat *dst = dest;
- GLuint i;
- assert(dstLuminanceIndex == 0);
- for (i = 0; i < n; i++) {
- /* Luminance comes from red channel */
- dst[0] = rgba[i][RCOMP];
- dst += dstComponents;
- }
- }
- }
-}
-
-/**
- * Similar to _mesa_unpack_color_span_float(), but for dudv data instead of rgba,
- * directly return GLbyte data, no transfer ops apply.
- */
-void
-_mesa_unpack_dudv_span_byte( GLcontext *ctx,
- GLuint n, GLenum dstFormat, GLbyte dest[],
- GLenum srcFormat, GLenum srcType,
- const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps )
-{
- ASSERT(dstFormat == GL_DUDV_ATI);
- ASSERT(srcFormat == GL_DUDV_ATI);
-
- ASSERT(srcType == GL_UNSIGNED_BYTE ||
- srcType == GL_BYTE ||
- srcType == GL_UNSIGNED_SHORT ||
- srcType == GL_SHORT ||
- srcType == GL_UNSIGNED_INT ||
- srcType == GL_INT ||
- srcType == GL_HALF_FLOAT_ARB ||
- srcType == GL_FLOAT);
-
- /* general solution */
- {
- GLint dstComponents;
- GLfloat rgba[MAX_WIDTH][4];
- GLbyte *dst = dest;
- GLuint i;
-
- dstComponents = _mesa_components_in_format( dstFormat );
- /* source & dest image formats should have been error checked by now */
- assert(dstComponents > 0);
-
- /*
- * Extract image data and convert to RGBA floats
- */
- assert(n <= MAX_WIDTH);
- extract_float_rgba(n, rgba, srcFormat, srcType, source,
- srcPacking->SwapBytes);
-
-
- /* Now determine which color channels we need to produce.
- * And determine the dest index (offset) within each color tuple.
- */
-
- /* Now pack results in the requested dstFormat */
- for (i = 0; i < n; i++) {
- /* not sure - need clamp[-1,1] here? */
- dst[0] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
- dst[1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
- dst += dstComponents;
- }
- }
-}
-
-/*
- * Unpack a row of color index data from a client buffer according to
- * the pixel unpacking parameters.
- * This is (or will be) used by glDrawPixels, glTexImage[123]D, etc.
- *
- * Args: ctx - the context
- * n - number of pixels
- * dstType - destination data type
- * dest - destination array
- * srcType - source pixel type
- * source - source data pointer
- * srcPacking - pixel unpacking parameters
- * transferOps - the pixel transfer operations to apply
- */
-void
-_mesa_unpack_index_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest,
- GLenum srcType, const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps )
-{
- ASSERT(srcType == GL_BITMAP ||
- srcType == GL_UNSIGNED_BYTE ||
- srcType == GL_BYTE ||
- srcType == GL_UNSIGNED_SHORT ||
- srcType == GL_SHORT ||
- srcType == GL_UNSIGNED_INT ||
- srcType == GL_INT ||
- srcType == GL_HALF_FLOAT_ARB ||
- srcType == GL_FLOAT);
-
- ASSERT(dstType == GL_UNSIGNED_BYTE ||
- dstType == GL_UNSIGNED_SHORT ||
- dstType == GL_UNSIGNED_INT);
-
-
- transferOps &= (IMAGE_MAP_COLOR_BIT | IMAGE_SHIFT_OFFSET_BIT);
-
- /*
- * Try simple cases first
- */
- if (transferOps == 0 && srcType == GL_UNSIGNED_BYTE
- && dstType == GL_UNSIGNED_BYTE) {
- memcpy(dest, source, n * sizeof(GLubyte));
- }
- else if (transferOps == 0 && srcType == GL_UNSIGNED_INT
- && dstType == GL_UNSIGNED_INT && !srcPacking->SwapBytes) {
- memcpy(dest, source, n * sizeof(GLuint));
- }
- else {
- /*
- * general solution
- */
- GLuint indexes[MAX_WIDTH];
- assert(n <= MAX_WIDTH);
-
- extract_uint_indexes(n, indexes, GL_COLOR_INDEX, srcType, source,
- srcPacking);
-
- if (transferOps)
- _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes);
-
- /* convert to dest type */
- switch (dstType) {
- case GL_UNSIGNED_BYTE:
- {
- GLubyte *dst = (GLubyte *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLubyte) (indexes[i] & 0xff);
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- {
- GLuint *dst = (GLuint *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLushort) (indexes[i] & 0xffff);
- }
- }
- break;
- case GL_UNSIGNED_INT:
- memcpy(dest, indexes, n * sizeof(GLuint));
- break;
- default:
- _mesa_problem(ctx, "bad dstType in _mesa_unpack_index_span");
- }
- }
-}
-
-
-void
-_mesa_pack_index_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest, const GLuint *source,
- const struct gl_pixelstore_attrib *dstPacking,
- GLbitfield transferOps )
-{
- GLuint indexes[MAX_WIDTH];
-
- ASSERT(n <= MAX_WIDTH);
-
- transferOps &= (IMAGE_MAP_COLOR_BIT | IMAGE_SHIFT_OFFSET_BIT);
-
- if (transferOps & (IMAGE_MAP_COLOR_BIT | IMAGE_SHIFT_OFFSET_BIT)) {
- /* make a copy of input */
- memcpy(indexes, source, n * sizeof(GLuint));
- _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes);
- source = indexes;
- }
-
- switch (dstType) {
- case GL_UNSIGNED_BYTE:
- {
- GLubyte *dst = (GLubyte *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- *dst++ = (GLubyte) source[i];
- }
- }
- break;
- case GL_BYTE:
- {
- GLbyte *dst = (GLbyte *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLbyte) source[i];
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- {
- GLushort *dst = (GLushort *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLushort) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap2( (GLushort *) dst, n );
- }
- }
- break;
- case GL_SHORT:
- {
- GLshort *dst = (GLshort *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLshort) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap2( (GLushort *) dst, n );
- }
- }
- break;
- case GL_UNSIGNED_INT:
- {
- GLuint *dst = (GLuint *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLuint) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap4( (GLuint *) dst, n );
- }
- }
- break;
- case GL_INT:
- {
- GLint *dst = (GLint *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLint) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap4( (GLuint *) dst, n );
- }
- }
- break;
- case GL_FLOAT:
- {
- GLfloat *dst = (GLfloat *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLfloat) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap4( (GLuint *) dst, n );
- }
- }
- break;
- case GL_HALF_FLOAT_ARB:
- {
- GLhalfARB *dst = (GLhalfARB *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = _mesa_float_to_half((GLfloat) source[i]);
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap2( (GLushort *) dst, n );
- }
- }
- break;
- default:
- _mesa_problem(ctx, "bad type in _mesa_pack_index_span");
- }
-}
-
-
-/*
- * Unpack a row of stencil data from a client buffer according to
- * the pixel unpacking parameters.
- * This is (or will be) used by glDrawPixels
- *
- * Args: ctx - the context
- * n - number of pixels
- * dstType - destination data type
- * dest - destination array
- * srcType - source pixel type
- * source - source data pointer
- * srcPacking - pixel unpacking parameters
- * transferOps - apply offset/bias/lookup ops?
- */
-void
-_mesa_unpack_stencil_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest,
- GLenum srcType, const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps )
-{
- ASSERT(srcType == GL_BITMAP ||
- srcType == GL_UNSIGNED_BYTE ||
- srcType == GL_BYTE ||
- srcType == GL_UNSIGNED_SHORT ||
- srcType == GL_SHORT ||
- srcType == GL_UNSIGNED_INT ||
- srcType == GL_INT ||
- srcType == GL_UNSIGNED_INT_24_8_EXT ||
- srcType == GL_HALF_FLOAT_ARB ||
- srcType == GL_FLOAT);
-
- ASSERT(dstType == GL_UNSIGNED_BYTE ||
- dstType == GL_UNSIGNED_SHORT ||
- dstType == GL_UNSIGNED_INT);
-
- /* only shift and offset apply to stencil */
- transferOps &= IMAGE_SHIFT_OFFSET_BIT;
-
- /*
- * Try simple cases first
- */
- if (transferOps == 0 &&
- !ctx->Pixel.MapStencilFlag &&
- srcType == GL_UNSIGNED_BYTE &&
- dstType == GL_UNSIGNED_BYTE) {
- memcpy(dest, source, n * sizeof(GLubyte));
- }
- else if (transferOps == 0 &&
- !ctx->Pixel.MapStencilFlag &&
- srcType == GL_UNSIGNED_INT &&
- dstType == GL_UNSIGNED_INT &&
- !srcPacking->SwapBytes) {
- memcpy(dest, source, n * sizeof(GLuint));
- }
- else {
- /*
- * general solution
- */
- GLuint indexes[MAX_WIDTH];
- assert(n <= MAX_WIDTH);
-
- extract_uint_indexes(n, indexes, GL_STENCIL_INDEX, srcType, source,
- srcPacking);
-
- if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
- /* shift and offset indexes */
- shift_and_offset_ci(ctx, n, indexes);
- }
-
- if (ctx->Pixel.MapStencilFlag) {
- /* Apply stencil lookup table */
- const GLuint mask = ctx->PixelMaps.StoS.Size - 1;
- GLuint i;
- for (i = 0; i < n; i++) {
- indexes[i] = (GLuint)ctx->PixelMaps.StoS.Map[ indexes[i] & mask ];
- }
- }
-
- /* convert to dest type */
- switch (dstType) {
- case GL_UNSIGNED_BYTE:
- {
- GLubyte *dst = (GLubyte *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLubyte) (indexes[i] & 0xff);
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- {
- GLuint *dst = (GLuint *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = (GLushort) (indexes[i] & 0xffff);
- }
- }
- break;
- case GL_UNSIGNED_INT:
- memcpy(dest, indexes, n * sizeof(GLuint));
- break;
- default:
- _mesa_problem(ctx, "bad dstType in _mesa_unpack_stencil_span");
- }
- }
-}
-
-
-void
-_mesa_pack_stencil_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest, const GLstencil *source,
- const struct gl_pixelstore_attrib *dstPacking )
-{
- GLstencil stencil[MAX_WIDTH];
-
- ASSERT(n <= MAX_WIDTH);
-
- if (ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset ||
- ctx->Pixel.MapStencilFlag) {
- /* make a copy of input */
- memcpy(stencil, source, n * sizeof(GLstencil));
- _mesa_apply_stencil_transfer_ops(ctx, n, stencil);
- source = stencil;
- }
-
- switch (dstType) {
- case GL_UNSIGNED_BYTE:
- if (sizeof(GLstencil) == 1) {
- memcpy( dest, source, n );
- }
- else {
- GLubyte *dst = (GLubyte *) dest;
- GLuint i;
- for (i=0;i<n;i++) {
- dst[i] = (GLubyte) source[i];
- }
- }
- break;
- case GL_BYTE:
- {
- GLbyte *dst = (GLbyte *) dest;
- GLuint i;
- for (i=0;i<n;i++) {
- dst[i] = (GLbyte) (source[i] & 0x7f);
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- {
- GLushort *dst = (GLushort *) dest;
- GLuint i;
- for (i=0;i<n;i++) {
- dst[i] = (GLushort) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap2( (GLushort *) dst, n );
- }
- }
- break;
- case GL_SHORT:
- {
- GLshort *dst = (GLshort *) dest;
- GLuint i;
- for (i=0;i<n;i++) {
- dst[i] = (GLshort) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap2( (GLushort *) dst, n );
- }
- }
- break;
- case GL_UNSIGNED_INT:
- {
- GLuint *dst = (GLuint *) dest;
- GLuint i;
- for (i=0;i<n;i++) {
- dst[i] = (GLuint) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap4( (GLuint *) dst, n );
- }
- }
- break;
- case GL_INT:
- {
- GLint *dst = (GLint *) dest;
- GLuint i;
- for (i=0;i<n;i++) {
- dst[i] = (GLint) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap4( (GLuint *) dst, n );
- }
- }
- break;
- case GL_FLOAT:
- {
- GLfloat *dst = (GLfloat *) dest;
- GLuint i;
- for (i=0;i<n;i++) {
- dst[i] = (GLfloat) source[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap4( (GLuint *) dst, n );
- }
- }
- break;
- case GL_HALF_FLOAT_ARB:
- {
- GLhalfARB *dst = (GLhalfARB *) dest;
- GLuint i;
- for (i=0;i<n;i++) {
- dst[i] = _mesa_float_to_half( (float) source[i] );
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap2( (GLushort *) dst, n );
- }
- }
- break;
- case GL_BITMAP:
- if (dstPacking->LsbFirst) {
- GLubyte *dst = (GLubyte *) dest;
- GLint shift = 0;
- GLuint i;
- for (i = 0; i < n; i++) {
- if (shift == 0)
- *dst = 0;
- *dst |= ((source[i] != 0) << shift);
- shift++;
- if (shift == 8) {
- shift = 0;
- dst++;
- }
- }
- }
- else {
- GLubyte *dst = (GLubyte *) dest;
- GLint shift = 7;
- GLuint i;
- for (i = 0; i < n; i++) {
- if (shift == 7)
- *dst = 0;
- *dst |= ((source[i] != 0) << shift);
- shift--;
- if (shift < 0) {
- shift = 7;
- dst++;
- }
- }
- }
- break;
- default:
- _mesa_problem(ctx, "bad type in _mesa_pack_index_span");
- }
-}
-
-#define DEPTH_VALUES(GLTYPE, GLTYPE2FLOAT) \
- do { \
- GLuint i; \
- const GLTYPE *src = (const GLTYPE *)source; \
- for (i = 0; i < n; i++) { \
- GLTYPE value = src[i]; \
- if (srcPacking->SwapBytes) { \
- if (sizeof(GLTYPE) == 2) { \
- SWAP2BYTE(value); \
- } else if (sizeof(GLTYPE) == 4) { \
- SWAP4BYTE(value); \
- } \
- } \
- depthValues[i] = GLTYPE2FLOAT(value); \
- } \
- } while (0)
-
-
-/**
- * Unpack a row of depth/z values from memory, returning GLushort, GLuint
- * or GLfloat values.
- * The glPixelTransfer (scale/bias) params will be applied.
- *
- * \param dstType one of GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, GL_FLOAT
- * \param depthMax max value for returned GLushort or GLuint values
- * (ignored for GLfloat).
- */
-void
-_mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest, GLuint depthMax,
- GLenum srcType, const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking )
-{
- GLfloat depthTemp[MAX_WIDTH], *depthValues;
- GLboolean needClamp = GL_FALSE;
-
- /* Look for special cases first.
- * Not only are these faster, they're less prone to numeric conversion
- * problems. Otherwise, converting from an int type to a float then
- * back to an int type can introduce errors that will show up as
- * artifacts in things like depth peeling which uses glCopyTexImage.
- */
- if (ctx->Pixel.DepthScale == 1.0 && ctx->Pixel.DepthBias == 0.0) {
- if (srcType == GL_UNSIGNED_INT && dstType == GL_UNSIGNED_SHORT) {
- const GLuint *src = (const GLuint *) source;
- GLushort *dst = (GLushort *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = src[i] >> 16;
- }
- return;
- }
- if (srcType == GL_UNSIGNED_SHORT
- && dstType == GL_UNSIGNED_INT
- && depthMax == 0xffffffff) {
- const GLushort *src = (const GLushort *) source;
- GLuint *dst = (GLuint *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = src[i] | (src[i] << 16);
- }
- return;
- }
- if (srcType == GL_UNSIGNED_INT_24_8
- && dstType == GL_UNSIGNED_INT
- && depthMax == 0xffffff) {
- const GLuint *src = (const GLuint *) source;
- GLuint *dst = (GLuint *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = src[i] >> 8;
- }
- return;
- }
- /* XXX may want to add additional cases here someday */
- }
-
- /* general case path follows */
-
- if (dstType == GL_FLOAT) {
- depthValues = (GLfloat *) dest;
- }
- else {
- depthValues = depthTemp;
- }
-
- /* Convert incoming values to GLfloat. Some conversions will require
- * clamping, below.
- */
- switch (srcType) {
- case GL_BYTE:
- DEPTH_VALUES(GLbyte, BYTE_TO_FLOAT);
- needClamp = GL_TRUE;
- break;
- case GL_UNSIGNED_BYTE:
- DEPTH_VALUES(GLubyte, UBYTE_TO_FLOAT);
- break;
- case GL_SHORT:
- DEPTH_VALUES(GLshort, SHORT_TO_FLOAT);
- needClamp = GL_TRUE;
- break;
- case GL_UNSIGNED_SHORT:
- DEPTH_VALUES(GLushort, USHORT_TO_FLOAT);
- break;
- case GL_INT:
- DEPTH_VALUES(GLint, INT_TO_FLOAT);
- needClamp = GL_TRUE;
- break;
- case GL_UNSIGNED_INT:
- DEPTH_VALUES(GLuint, UINT_TO_FLOAT);
- break;
- case GL_UNSIGNED_INT_24_8_EXT: /* GL_EXT_packed_depth_stencil */
- if (dstType == GL_UNSIGNED_INT_24_8_EXT &&
- depthMax == 0xffffff &&
- ctx->Pixel.DepthScale == 1.0 &&
- ctx->Pixel.DepthBias == 0.0) {
- const GLuint *src = (const GLuint *) source;
- GLuint *zValues = (GLuint *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- GLuint value = src[i];
- if (srcPacking->SwapBytes) {
- SWAP4BYTE(value);
- }
- zValues[i] = value & 0xffffff00;
- }
- return;
- }
- else {
- const GLuint *src = (const GLuint *) source;
- const GLfloat scale = 1.0f / 0xffffff;
- GLuint i;
- for (i = 0; i < n; i++) {
- GLuint value = src[i];
- if (srcPacking->SwapBytes) {
- SWAP4BYTE(value);
- }
- depthValues[i] = (value >> 8) * scale;
- }
- }
- break;
- case GL_FLOAT:
- DEPTH_VALUES(GLfloat, 1*);
- needClamp = GL_TRUE;
- break;
- case GL_HALF_FLOAT_ARB:
- {
- GLuint i;
- const GLhalfARB *src = (const GLhalfARB *) source;
- for (i = 0; i < n; i++) {
- GLhalfARB value = src[i];
- if (srcPacking->SwapBytes) {
- SWAP2BYTE(value);
- }
- depthValues[i] = _mesa_half_to_float(value);
- }
- needClamp = GL_TRUE;
- }
- break;
- default:
- _mesa_problem(NULL, "bad type in _mesa_unpack_depth_span()");
- return;
- }
-
- /* apply depth scale and bias */
- {
- const GLfloat scale = ctx->Pixel.DepthScale;
- const GLfloat bias = ctx->Pixel.DepthBias;
- if (scale != 1.0 || bias != 0.0) {
- GLuint i;
- for (i = 0; i < n; i++) {
- depthValues[i] = depthValues[i] * scale + bias;
- }
- needClamp = GL_TRUE;
- }
- }
-
- /* clamp to [0, 1] */
- if (needClamp) {
- GLuint i;
- for (i = 0; i < n; i++) {
- depthValues[i] = (GLfloat)CLAMP(depthValues[i], 0.0, 1.0);
- }
- }
-
- /*
- * Convert values to dstType
- */
- if (dstType == GL_UNSIGNED_INT) {
- GLuint *zValues = (GLuint *) dest;
- GLuint i;
- if (depthMax <= 0xffffff) {
- /* no overflow worries */
- for (i = 0; i < n; i++) {
- zValues[i] = (GLuint) (depthValues[i] * (GLfloat) depthMax);
- }
- }
- else {
- /* need to use double precision to prevent overflow problems */
- for (i = 0; i < n; i++) {
- GLdouble z = depthValues[i] * (GLfloat) depthMax;
- if (z >= (GLdouble) 0xffffffff)
- zValues[i] = 0xffffffff;
- else
- zValues[i] = (GLuint) z;
- }
- }
- }
- else if (dstType == GL_UNSIGNED_SHORT) {
- GLushort *zValues = (GLushort *) dest;
- GLuint i;
- ASSERT(depthMax <= 0xffff);
- for (i = 0; i < n; i++) {
- zValues[i] = (GLushort) (depthValues[i] * (GLfloat) depthMax);
- }
- }
- else {
- ASSERT(dstType == GL_FLOAT);
- /*ASSERT(depthMax == 1.0F);*/
- }
-}
-
-
-/*
- * Pack an array of depth values. The values are floats in [0,1].
- */
-void
-_mesa_pack_depth_span( const GLcontext *ctx, GLuint n, GLvoid *dest,
- GLenum dstType, const GLfloat *depthSpan,
- const struct gl_pixelstore_attrib *dstPacking )
-{
- GLfloat depthCopy[MAX_WIDTH];
-
- ASSERT(n <= MAX_WIDTH);
-
- if (ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0) {
- memcpy(depthCopy, depthSpan, n * sizeof(GLfloat));
- _mesa_scale_and_bias_depth(ctx, n, depthCopy);
- depthSpan = depthCopy;
- }
-
- switch (dstType) {
- case GL_UNSIGNED_BYTE:
- {
- GLubyte *dst = (GLubyte *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = FLOAT_TO_UBYTE( depthSpan[i] );
- }
- }
- break;
- case GL_BYTE:
- {
- GLbyte *dst = (GLbyte *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = FLOAT_TO_BYTE( depthSpan[i] );
- }
- }
- break;
- case GL_UNSIGNED_SHORT:
- {
- GLushort *dst = (GLushort *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- CLAMPED_FLOAT_TO_USHORT(dst[i], depthSpan[i]);
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap2( (GLushort *) dst, n );
- }
- }
- break;
- case GL_SHORT:
- {
- GLshort *dst = (GLshort *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = FLOAT_TO_SHORT( depthSpan[i] );
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap2( (GLushort *) dst, n );
- }
- }
- break;
- case GL_UNSIGNED_INT:
- {
- GLuint *dst = (GLuint *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = FLOAT_TO_UINT( depthSpan[i] );
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap4( (GLuint *) dst, n );
- }
- }
- break;
- case GL_INT:
- {
- GLint *dst = (GLint *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = FLOAT_TO_INT( depthSpan[i] );
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap4( (GLuint *) dst, n );
- }
- }
- break;
- case GL_FLOAT:
- {
- GLfloat *dst = (GLfloat *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = depthSpan[i];
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap4( (GLuint *) dst, n );
- }
- }
- break;
- case GL_HALF_FLOAT_ARB:
- {
- GLhalfARB *dst = (GLhalfARB *) dest;
- GLuint i;
- for (i = 0; i < n; i++) {
- dst[i] = _mesa_float_to_half(depthSpan[i]);
- }
- if (dstPacking->SwapBytes) {
- _mesa_swap2( (GLushort *) dst, n );
- }
- }
- break;
- default:
- _mesa_problem(ctx, "bad type in _mesa_pack_depth_span");
- }
-}
-
-
-
-/**
- * Pack depth and stencil values as GL_DEPTH_STENCIL/GL_UNSIGNED_INT_24_8.
- */
-void
-_mesa_pack_depth_stencil_span(const GLcontext *ctx, GLuint n, GLuint *dest,
- const GLfloat *depthVals,
- const GLstencil *stencilVals,
- const struct gl_pixelstore_attrib *dstPacking)
-{
- GLfloat depthCopy[MAX_WIDTH];
- GLstencil stencilCopy[MAX_WIDTH];
- GLuint i;
-
- ASSERT(n <= MAX_WIDTH);
-
- if (ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0) {
- memcpy(depthCopy, depthVals, n * sizeof(GLfloat));
- _mesa_scale_and_bias_depth(ctx, n, depthCopy);
- depthVals = depthCopy;
- }
-
- if (ctx->Pixel.IndexShift ||
- ctx->Pixel.IndexOffset ||
- ctx->Pixel.MapStencilFlag) {
- memcpy(stencilCopy, stencilVals, n * sizeof(GLstencil));
- _mesa_apply_stencil_transfer_ops(ctx, n, stencilCopy);
- stencilVals = stencilCopy;
- }
-
- for (i = 0; i < n; i++) {
- GLuint z = (GLuint) (depthVals[i] * 0xffffff);
- dest[i] = (z << 8) | (stencilVals[i] & 0xff);
- }
-
- if (dstPacking->SwapBytes) {
- _mesa_swap4(dest, n);
- }
-}
-
-
-
-
-/**
- * Unpack image data. Apply byte swapping, byte flipping (bitmap).
- * Return all image data in a contiguous block. This is used when we
- * compile glDrawPixels, glTexImage, etc into a display list. We
- * need a copy of the data in a standard format.
- */
-void *
-_mesa_unpack_image( GLuint dimensions,
- GLsizei width, GLsizei height, GLsizei depth,
- GLenum format, GLenum type, const GLvoid *pixels,
- const struct gl_pixelstore_attrib *unpack )
-{
- GLint bytesPerRow, compsPerRow;
- GLboolean flipBytes, swap2, swap4;
-
- if (!pixels)
- return NULL; /* not necessarily an error */
-
- if (width <= 0 || height <= 0 || depth <= 0)
- return NULL; /* generate error later */
-
- if (type == GL_BITMAP) {
- bytesPerRow = (width + 7) >> 3;
- flipBytes = unpack->LsbFirst;
- swap2 = swap4 = GL_FALSE;
- compsPerRow = 0;
- }
- else {
- const GLint bytesPerPixel = _mesa_bytes_per_pixel(format, type);
- GLint components = _mesa_components_in_format(format);
- GLint bytesPerComp;
-
- if (_mesa_type_is_packed(type))
- components = 1;
-
- if (bytesPerPixel <= 0 || components <= 0)
- return NULL; /* bad format or type. generate error later */
- bytesPerRow = bytesPerPixel * width;
- bytesPerComp = bytesPerPixel / components;
- flipBytes = GL_FALSE;
- swap2 = (bytesPerComp == 2) && unpack->SwapBytes;
- swap4 = (bytesPerComp == 4) && unpack->SwapBytes;
- compsPerRow = components * width;
- assert(compsPerRow >= width);
- }
-
- {
- GLubyte *destBuffer
- = (GLubyte *) malloc(bytesPerRow * height * depth);
- GLubyte *dst;
- GLint img, row;
- if (!destBuffer)
- return NULL; /* generate GL_OUT_OF_MEMORY later */
-
- dst = destBuffer;
- for (img = 0; img < depth; img++) {
- for (row = 0; row < height; row++) {
- const GLvoid *src = _mesa_image_address(dimensions, unpack, pixels,
- width, height, format, type, img, row, 0);
-
- if ((type == GL_BITMAP) && (unpack->SkipPixels & 0x7)) {
- GLint i;
- flipBytes = GL_FALSE;
- if (unpack->LsbFirst) {
- GLubyte srcMask = 1 << (unpack->SkipPixels & 0x7);
- GLubyte dstMask = 128;
- const GLubyte *s = src;
- GLubyte *d = dst;
- *d = 0;
- for (i = 0; i < width; i++) {
- if (*s & srcMask) {
- *d |= dstMask;
- }
- if (srcMask == 128) {
- srcMask = 1;
- s++;
- }
- else {
- srcMask = srcMask << 1;
- }
- if (dstMask == 1) {
- dstMask = 128;
- d++;
- *d = 0;
- }
- else {
- dstMask = dstMask >> 1;
- }
- }
- }
- else {
- GLubyte srcMask = 128 >> (unpack->SkipPixels & 0x7);
- GLubyte dstMask = 128;
- const GLubyte *s = src;
- GLubyte *d = dst;
- *d = 0;
- for (i = 0; i < width; i++) {
- if (*s & srcMask) {
- *d |= dstMask;
- }
- if (srcMask == 1) {
- srcMask = 128;
- s++;
- }
- else {
- srcMask = srcMask >> 1;
- }
- if (dstMask == 1) {
- dstMask = 128;
- d++;
- *d = 0;
- }
- else {
- dstMask = dstMask >> 1;
- }
- }
- }
- }
- else {
- memcpy(dst, src, bytesPerRow);
- }
-
- /* byte flipping/swapping */
- if (flipBytes) {
- flip_bytes((GLubyte *) dst, bytesPerRow);
- }
- else if (swap2) {
- _mesa_swap2((GLushort*) dst, compsPerRow);
- }
- else if (swap4) {
- _mesa_swap4((GLuint*) dst, compsPerRow);
- }
- dst += bytesPerRow;
- }
- }
- return destBuffer;
- }
-}
-
-#endif /* _HAVE_FULL_GL */
-
/**
@@ -5673,12 +1442,12 @@ _mesa_convert_colors(GLenum srcType, const GLvoid *src,
* GL_FALSE if image was completely clipped away (draw nothing)
*/
GLboolean
-_mesa_clip_drawpixels(const GLcontext *ctx,
+_mesa_clip_drawpixels(const struct gl_context *ctx,
GLint *destX, GLint *destY,
GLsizei *width, GLsizei *height,
struct gl_pixelstore_attrib *unpack)
{
- const GLframebuffer *buffer = ctx->DrawBuffer;
+ const struct gl_framebuffer *buffer = ctx->DrawBuffer;
if (unpack->RowLength == 0) {
unpack->RowLength = *width;
@@ -5744,12 +1513,12 @@ _mesa_clip_drawpixels(const GLcontext *ctx,
* GL_FALSE if image was completely clipped away (draw nothing)
*/
GLboolean
-_mesa_clip_readpixels(const GLcontext *ctx,
+_mesa_clip_readpixels(const struct gl_context *ctx,
GLint *srcX, GLint *srcY,
GLsizei *width, GLsizei *height,
struct gl_pixelstore_attrib *pack)
{
- const GLframebuffer *buffer = ctx->ReadBuffer;
+ const struct gl_framebuffer *buffer = ctx->ReadBuffer;
if (pack->RowLength == 0) {
pack->RowLength = *width;
@@ -5794,7 +1563,7 @@ _mesa_clip_readpixels(const GLcontext *ctx,
* \return GL_FALSE if region is totally clipped, GL_TRUE otherwise.
*/
GLboolean
-_mesa_clip_copytexsubimage(const GLcontext *ctx,
+_mesa_clip_copytexsubimage(const struct gl_context *ctx,
GLint *destX, GLint *destY,
GLint *srcX, GLint *srcY,
GLsizei *width, GLsizei *height)
@@ -5937,7 +1706,7 @@ clip_left_or_bottom(GLint *srcX0, GLint *srcX1,
* \return GL_TRUE if anything is left to draw, GL_FALSE if totally clipped
*/
GLboolean
-_mesa_clip_blit(GLcontext *ctx,
+_mesa_clip_blit(struct gl_context *ctx,
GLint *srcX0, GLint *srcY0, GLint *srcX1, GLint *srcY1,
GLint *dstX0, GLint *dstY0, GLint *dstX1, GLint *dstY1)
{
diff --git a/src/mesa/main/image.h b/src/mesa/main/image.h
index 672dbf2823e..b40717223e1 100644
--- a/src/mesa/main/image.h
+++ b/src/mesa/main/image.h
@@ -52,7 +52,7 @@ extern GLint
_mesa_bytes_per_pixel( GLenum format, GLenum type );
extern GLboolean
-_mesa_is_legal_format_and_type( GLcontext *ctx, GLenum format, GLenum type );
+_mesa_is_legal_format_and_type( struct gl_context *ctx, GLenum format, GLenum type );
extern GLboolean
_mesa_is_color_format(GLenum format);
@@ -82,7 +82,7 @@ extern GLboolean
_mesa_is_integer_format(GLenum format);
extern GLboolean
-_mesa_is_compressed_format(GLcontext *ctx, GLenum format);
+_mesa_is_compressed_format(struct gl_context *ctx, GLenum format);
extern GLvoid *
_mesa_image_address( GLuint dimensions,
@@ -124,23 +124,6 @@ _mesa_image_image_stride( const struct gl_pixelstore_attrib *packing,
GLint width, GLint height,
GLenum format, GLenum type );
-extern void
-_mesa_unpack_polygon_stipple( const GLubyte *pattern, GLuint dest[32],
- const struct gl_pixelstore_attrib *unpacking );
-
-
-extern void
-_mesa_pack_polygon_stipple( const GLuint pattern[32], GLubyte *dest,
- const struct gl_pixelstore_attrib *packing );
-
-
-extern GLvoid *
-_mesa_unpack_bitmap( GLint width, GLint height, const GLubyte *pixels,
- const struct gl_pixelstore_attrib *packing );
-
-extern void
-_mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source,
- GLubyte *dest, const struct gl_pixelstore_attrib *packing );
extern void
_mesa_expand_bitmap(GLsizei width, GLsizei height,
@@ -150,147 +133,6 @@ _mesa_expand_bitmap(GLsizei width, GLsizei height,
GLubyte onValue);
-/** \name Pixel processing functions */
-/*@{*/
-
-extern void
-_mesa_scale_and_bias_rgba(GLuint n, GLfloat rgba[][4],
- GLfloat rScale, GLfloat gScale,
- GLfloat bScale, GLfloat aScale,
- GLfloat rBias, GLfloat gBias,
- GLfloat bBias, GLfloat aBias);
-
-extern void
-_mesa_map_rgba(const GLcontext *ctx, GLuint n, GLfloat rgba[][4]);
-
-extern void
-_mesa_lookup_rgba_float(const struct gl_color_table *table,
- GLuint n, GLfloat rgba[][4]);
-
-extern void
-_mesa_lookup_rgba_ubyte(const struct gl_color_table *table,
- GLuint n, GLubyte rgba[][4]);
-
-
-extern void
-_mesa_map_ci_to_rgba(const GLcontext *ctx,
- GLuint n, const GLuint index[], GLfloat rgba[][4]);
-
-
-extern void
-_mesa_map_ci8_to_rgba8(const GLcontext *ctx, GLuint n, const GLubyte index[],
- GLubyte rgba[][4]);
-
-
-extern void
-_mesa_scale_and_bias_depth(const GLcontext *ctx, GLuint n,
- GLfloat depthValues[]);
-
-extern void
-_mesa_scale_and_bias_depth_uint(const GLcontext *ctx, GLuint n,
- GLuint depthValues[]);
-
-extern void
-_mesa_apply_rgba_transfer_ops(GLcontext *ctx, GLbitfield transferOps,
- GLuint n, GLfloat rgba[][4]);
-
-
-extern void
-_mesa_apply_ci_transfer_ops(const GLcontext *ctx, GLbitfield transferOps,
- GLuint n, GLuint indexes[]);
-
-
-extern void
-_mesa_apply_stencil_transfer_ops(const GLcontext *ctx, GLuint n,
- GLstencil stencil[]);
-
-
-extern void
-_mesa_pack_rgba_span_float( GLcontext *ctx, GLuint n, GLfloat rgba[][4],
- GLenum dstFormat, GLenum dstType, GLvoid *dstAddr,
- const struct gl_pixelstore_attrib *dstPacking,
- GLbitfield transferOps );
-
-
-extern void
-_mesa_unpack_color_span_chan( GLcontext *ctx,
- GLuint n, GLenum dstFormat, GLchan dest[],
- GLenum srcFormat, GLenum srcType,
- const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps );
-
-
-extern void
-_mesa_unpack_color_span_float( GLcontext *ctx,
- GLuint n, GLenum dstFormat, GLfloat dest[],
- GLenum srcFormat, GLenum srcType,
- const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps );
-
-extern void
-_mesa_unpack_dudv_span_byte( GLcontext *ctx,
- GLuint n, GLenum dstFormat, GLbyte dest[],
- GLenum srcFormat, GLenum srcType,
- const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps );
-
-extern void
-_mesa_unpack_index_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest,
- GLenum srcType, const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps );
-
-
-extern void
-_mesa_pack_index_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest, const GLuint *source,
- const struct gl_pixelstore_attrib *dstPacking,
- GLbitfield transferOps );
-
-
-extern void
-_mesa_unpack_stencil_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest,
- GLenum srcType, const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking,
- GLbitfield transferOps );
-
-extern void
-_mesa_pack_stencil_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest, const GLstencil *source,
- const struct gl_pixelstore_attrib *dstPacking );
-
-
-extern void
-_mesa_unpack_depth_span( const GLcontext *ctx, GLuint n,
- GLenum dstType, GLvoid *dest, GLuint depthMax,
- GLenum srcType, const GLvoid *source,
- const struct gl_pixelstore_attrib *srcPacking );
-
-extern void
-_mesa_pack_depth_span( const GLcontext *ctx, GLuint n, GLvoid *dest,
- GLenum dstType, const GLfloat *depthSpan,
- const struct gl_pixelstore_attrib *dstPacking );
-
-
-extern void
-_mesa_pack_depth_stencil_span(const GLcontext *ctx, GLuint n, GLuint *dest,
- const GLfloat *depthVals,
- const GLstencil *stencilVals,
- const struct gl_pixelstore_attrib *dstPacking);
-
-
-extern void *
-_mesa_unpack_image( GLuint dimensions,
- GLsizei width, GLsizei height, GLsizei depth,
- GLenum format, GLenum type, const GLvoid *pixels,
- const struct gl_pixelstore_attrib *unpack );
-
-
extern void
_mesa_convert_colors(GLenum srcType, const GLvoid *src,
GLenum dstType, GLvoid *dst,
@@ -298,20 +140,20 @@ _mesa_convert_colors(GLenum srcType, const GLvoid *src,
extern GLboolean
-_mesa_clip_drawpixels(const GLcontext *ctx,
+_mesa_clip_drawpixels(const struct gl_context *ctx,
GLint *destX, GLint *destY,
GLsizei *width, GLsizei *height,
struct gl_pixelstore_attrib *unpack);
extern GLboolean
-_mesa_clip_readpixels(const GLcontext *ctx,
+_mesa_clip_readpixels(const struct gl_context *ctx,
GLint *srcX, GLint *srcY,
GLsizei *width, GLsizei *height,
struct gl_pixelstore_attrib *pack);
extern GLboolean
-_mesa_clip_copytexsubimage(const GLcontext *ctx,
+_mesa_clip_copytexsubimage(const struct gl_context *ctx,
GLint *destX, GLint *destY,
GLint *srcX, GLint *srcY,
GLsizei *width, GLsizei *height);
@@ -323,7 +165,7 @@ _mesa_clip_to_region(GLint xmin, GLint ymin,
GLsizei *width, GLsizei *height );
extern GLboolean
-_mesa_clip_blit(GLcontext *ctx,
+_mesa_clip_blit(struct gl_context *ctx,
GLint *srcX0, GLint *srcY0, GLint *srcX1, GLint *srcY1,
GLint *dstX0, GLint *dstY0, GLint *dstX1, GLint *dstY1);
diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
index 46e5c932d0f..bcca4edc1aa 100644
--- a/src/mesa/main/imports.c
+++ b/src/mesa/main/imports.c
@@ -882,7 +882,7 @@ error_string( GLenum error )
* previous errors which were accumulated.
*/
static void
-flush_delayed_errors( GLcontext *ctx )
+flush_delayed_errors( struct gl_context *ctx )
{
char s[MAXSTRING];
@@ -906,7 +906,7 @@ flush_delayed_errors( GLcontext *ctx )
* \param fmtString printf()-like format string.
*/
void
-_mesa_warning( GLcontext *ctx, const char *fmtString, ... )
+_mesa_warning( struct gl_context *ctx, const char *fmtString, ... )
{
char str[MAXSTRING];
va_list args;
@@ -929,7 +929,7 @@ _mesa_warning( GLcontext *ctx, const char *fmtString, ... )
* \param fmtString problem description string.
*/
void
-_mesa_problem( const GLcontext *ctx, const char *fmtString, ... )
+_mesa_problem( const struct gl_context *ctx, const char *fmtString, ... )
{
va_list args;
char str[MAXSTRING];
@@ -957,7 +957,7 @@ _mesa_problem( const GLcontext *ctx, const char *fmtString, ... )
* \param fmtString printf() style format string, followed by optional args
*/
void
-_mesa_error( GLcontext *ctx, GLenum error, const char *fmtString, ... )
+_mesa_error( struct gl_context *ctx, GLenum error, const char *fmtString, ... )
{
static GLint debug = -1;
@@ -1014,7 +1014,7 @@ _mesa_error( GLcontext *ctx, GLenum error, const char *fmtString, ... )
* \param fmtString printf()-style format string, followed by optional args.
*/
void
-_mesa_debug( const GLcontext *ctx, const char *fmtString, ... )
+_mesa_debug( const struct gl_context *ctx, const char *fmtString, ... )
{
#ifdef DEBUG
char s[MAXSTRING];
diff --git a/src/mesa/main/imports.h b/src/mesa/main/imports.h
index 751f2065011..30fc152389d 100644
--- a/src/mesa/main/imports.h
+++ b/src/mesa/main/imports.h
@@ -568,17 +568,19 @@ _mesa_str_checksum(const char *str);
extern int
_mesa_snprintf( char *str, size_t size, const char *fmt, ... ) PRINTFLIKE(3, 4);
+struct gl_context;
+
extern void
-_mesa_warning( __GLcontext *gc, const char *fmtString, ... ) PRINTFLIKE(2, 3);
+_mesa_warning( struct gl_context *gc, const char *fmtString, ... ) PRINTFLIKE(2, 3);
extern void
-_mesa_problem( const __GLcontext *ctx, const char *fmtString, ... ) PRINTFLIKE(2, 3);
+_mesa_problem( const struct gl_context *ctx, const char *fmtString, ... ) PRINTFLIKE(2, 3);
extern void
-_mesa_error( __GLcontext *ctx, GLenum error, const char *fmtString, ... ) PRINTFLIKE(3, 4);
+_mesa_error( struct gl_context *ctx, GLenum error, const char *fmtString, ... ) PRINTFLIKE(3, 4);
extern void
-_mesa_debug( const __GLcontext *ctx, const char *fmtString, ... ) PRINTFLIKE(2, 3);
+_mesa_debug( const struct gl_context *ctx, const char *fmtString, ... ) PRINTFLIKE(2, 3);
#if defined(_MSC_VER) && !defined(snprintf)
diff --git a/src/mesa/main/light.c b/src/mesa/main/light.c
index 43ae28c25ab..c27cf1dd38b 100644
--- a/src/mesa/main/light.c
+++ b/src/mesa/main/light.c
@@ -103,7 +103,7 @@ _mesa_ProvokingVertexEXT(GLenum mode)
* Also, all error checking should have already been done.
*/
void
-_mesa_light(GLcontext *ctx, GLuint lnum, GLenum pname, const GLfloat *params)
+_mesa_light(struct gl_context *ctx, GLuint lnum, GLenum pname, const GLfloat *params)
{
struct gl_light *light;
@@ -569,7 +569,7 @@ _mesa_LightModelf( GLenum pname, GLfloat param )
* of the targeted material values.
*/
GLuint
-_mesa_material_bitmask( GLcontext *ctx, GLenum face, GLenum pname,
+_mesa_material_bitmask( struct gl_context *ctx, GLenum face, GLenum pname,
GLuint legal, const char *where )
{
GLuint bitmask = 0;
@@ -643,7 +643,7 @@ _mesa_copy_materials( struct gl_material *dst,
/* Update derived values following a change in ctx->Light.Material
*/
void
-_mesa_update_material( GLcontext *ctx, GLuint bitmask )
+_mesa_update_material( struct gl_context *ctx, GLuint bitmask )
{
struct gl_light *light, *list = &ctx->Light.EnabledList;
GLfloat (*mat)[4] = ctx->Light.Material.Attrib;
@@ -728,7 +728,7 @@ _mesa_update_material( GLcontext *ctx, GLuint bitmask )
* set by glColorMaterial().
*/
void
-_mesa_update_color_material( GLcontext *ctx, const GLfloat color[4] )
+_mesa_update_color_material( struct gl_context *ctx, const GLfloat color[4] )
{
GLuint bitmask = ctx->Light.ColorMaterialBitmask;
struct gl_material *mat = &ctx->Light.Material;
@@ -972,7 +972,7 @@ validate_spot_exp_table( struct gl_light *l )
* by keeping a MRU cache of shine tables for various shine values.
*/
void
-_mesa_invalidate_shine_table( GLcontext *ctx, GLuint side )
+_mesa_invalidate_shine_table( struct gl_context *ctx, GLuint side )
{
ASSERT(side < 2);
if (ctx->_ShineTable[side])
@@ -982,7 +982,7 @@ _mesa_invalidate_shine_table( GLcontext *ctx, GLuint side )
static void
-validate_shine_table( GLcontext *ctx, GLuint side, GLfloat shininess )
+validate_shine_table( struct gl_context *ctx, GLuint side, GLfloat shininess )
{
struct gl_shine_tab *list = ctx->_ShineTabList;
struct gl_shine_tab *s;
@@ -1034,7 +1034,7 @@ validate_shine_table( GLcontext *ctx, GLuint side, GLfloat shininess )
void
-_mesa_validate_all_lighting_tables( GLcontext *ctx )
+_mesa_validate_all_lighting_tables( struct gl_context *ctx )
{
GLuint i;
GLfloat shininess;
@@ -1060,7 +1060,7 @@ _mesa_validate_all_lighting_tables( GLcontext *ctx )
* source and material ambient, diffuse and specular coefficients.
*/
void
-_mesa_update_lighting( GLcontext *ctx )
+_mesa_update_lighting( struct gl_context *ctx )
{
struct gl_light *light;
ctx->Light._NeedEyeCoords = GL_FALSE;
@@ -1123,7 +1123,7 @@ _mesa_update_lighting( GLcontext *ctx )
* Also update on lighting space changes.
*/
static void
-compute_light_positions( GLcontext *ctx )
+compute_light_positions( struct gl_context *ctx )
{
struct gl_light *light;
static const GLfloat eye_z[3] = { 0, 0, 1 };
@@ -1210,7 +1210,7 @@ compute_light_positions( GLcontext *ctx )
static void
-update_modelview_scale( GLcontext *ctx )
+update_modelview_scale( struct gl_context *ctx )
{
ctx->_ModelViewInvScale = 1.0F;
if (!_math_matrix_is_length_preserving(ctx->ModelviewMatrixStack.Top)) {
@@ -1229,7 +1229,7 @@ update_modelview_scale( GLcontext *ctx )
* Bring up to date any state that relies on _NeedEyeCoords.
*/
void
-_mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
+_mesa_update_tnl_spaces( struct gl_context *ctx, GLuint new_state )
{
const GLuint oldneedeyecoords = ctx->_NeedEyeCoords;
@@ -1278,7 +1278,7 @@ _mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state )
* light-in-modelspace optimization. It's also useful for debugging.
*/
void
-_mesa_allow_light_in_model( GLcontext *ctx, GLboolean flag )
+_mesa_allow_light_in_model( struct gl_context *ctx, GLboolean flag )
{
ctx->_ForceEyeCoords = !flag;
ctx->NewState |= _NEW_POINT; /* one of the bits from
@@ -1370,7 +1370,7 @@ init_material( struct gl_material *m )
* Initialize all lighting state for the given context.
*/
void
-_mesa_init_lighting( GLcontext *ctx )
+_mesa_init_lighting( struct gl_context *ctx )
{
GLuint i;
@@ -1418,7 +1418,7 @@ _mesa_init_lighting( GLcontext *ctx )
* Deallocate malloc'd lighting state attached to given context.
*/
void
-_mesa_free_lighting_data( GLcontext *ctx )
+_mesa_free_lighting_data( struct gl_context *ctx )
{
struct gl_shine_tab *s, *tmps;
diff --git a/src/mesa/main/light.h b/src/mesa/main/light.h
index b3436114d40..021f5ea1939 100644
--- a/src/mesa/main/light.h
+++ b/src/mesa/main/light.h
@@ -79,7 +79,7 @@ _mesa_GetMaterialiv( GLenum face, GLenum pname, GLint *params );
extern void
-_mesa_light(GLcontext *ctx, GLuint lnum, GLenum pname, const GLfloat *params);
+_mesa_light(struct gl_context *ctx, GLuint lnum, GLenum pname, const GLfloat *params);
/* Lerp between adjacent values in the f(x) lookup table, giving a
@@ -100,36 +100,36 @@ do { \
} while (0)
-extern GLuint _mesa_material_bitmask( GLcontext *ctx,
+extern GLuint _mesa_material_bitmask( struct gl_context *ctx,
GLenum face, GLenum pname,
GLuint legal,
const char * );
extern void _mesa_invalidate_spot_exp_table( struct gl_light *l );
-extern void _mesa_invalidate_shine_table( GLcontext *ctx, GLuint i );
+extern void _mesa_invalidate_shine_table( struct gl_context *ctx, GLuint i );
-extern void _mesa_validate_all_lighting_tables( GLcontext *ctx );
+extern void _mesa_validate_all_lighting_tables( struct gl_context *ctx );
-extern void _mesa_update_lighting( GLcontext *ctx );
+extern void _mesa_update_lighting( struct gl_context *ctx );
-extern void _mesa_update_tnl_spaces( GLcontext *ctx, GLuint new_state );
+extern void _mesa_update_tnl_spaces( struct gl_context *ctx, GLuint new_state );
-extern void _mesa_update_material( GLcontext *ctx,
+extern void _mesa_update_material( struct gl_context *ctx,
GLuint bitmask );
extern void _mesa_copy_materials( struct gl_material *dst,
const struct gl_material *src,
GLuint bitmask );
-extern void _mesa_update_color_material( GLcontext *ctx,
+extern void _mesa_update_color_material( struct gl_context *ctx,
const GLfloat rgba[4] );
-extern void _mesa_init_lighting( GLcontext *ctx );
+extern void _mesa_init_lighting( struct gl_context *ctx );
-extern void _mesa_free_lighting_data( GLcontext *ctx );
+extern void _mesa_free_lighting_data( struct gl_context *ctx );
-extern void _mesa_allow_light_in_model( GLcontext *ctx, GLboolean flag );
+extern void _mesa_allow_light_in_model( struct gl_context *ctx, GLboolean flag );
#else
#define _mesa_update_color_material( c, r ) ((void)0)
diff --git a/src/mesa/main/lines.c b/src/mesa/main/lines.c
index cc63a759ec0..505f840ba5a 100644
--- a/src/mesa/main/lines.c
+++ b/src/mesa/main/lines.c
@@ -102,11 +102,11 @@ _mesa_LineStipple( GLint factor, GLushort pattern )
*
* \param ctx GL context.
*
- * Initializes __GLcontextRec::Line and line related constants in
- * __GLcontextRec::Const.
+ * Initializes __struct gl_contextRec::Line and line related constants in
+ * __struct gl_contextRec::Const.
*/
void GLAPIENTRY
-_mesa_init_line( GLcontext * ctx )
+_mesa_init_line( struct gl_context * ctx )
{
ctx->Line.SmoothFlag = GL_FALSE;
ctx->Line.StippleFlag = GL_FALSE;
diff --git a/src/mesa/main/lines.h b/src/mesa/main/lines.h
index 5a47e9858d5..3accdd78004 100644
--- a/src/mesa/main/lines.h
+++ b/src/mesa/main/lines.h
@@ -43,6 +43,6 @@ extern void GLAPIENTRY
_mesa_LineStipple( GLint factor, GLushort pattern );
extern void GLAPIENTRY
-_mesa_init_line( GLcontext * ctx );
+_mesa_init_line( struct gl_context * ctx );
#endif
diff --git a/src/mesa/main/matrix.c b/src/mesa/main/matrix.c
index 8ed718cd38e..105d4a327fb 100644
--- a/src/mesa/main/matrix.c
+++ b/src/mesa/main/matrix.c
@@ -59,7 +59,7 @@
*
* Flushes vertices and validates parameters. Calls _math_matrix_frustum() with
* the top matrix of the current matrix stack and sets
- * __GLcontextRec::NewState.
+ * __struct gl_contextRec::NewState.
*/
void GLAPIENTRY
_mesa_Frustum( GLdouble left, GLdouble right,
@@ -101,7 +101,7 @@ _mesa_Frustum( GLdouble left, GLdouble right,
*
* Flushes vertices and validates parameters. Calls _math_matrix_ortho() with
* the top matrix of the current matrix stack and sets
- * __GLcontextRec::NewState.
+ * __struct gl_contextRec::NewState.
*/
void GLAPIENTRY
_mesa_Ortho( GLdouble left, GLdouble right,
@@ -139,7 +139,7 @@ _mesa_Ortho( GLdouble left, GLdouble right,
* \sa glMatrixMode().
*
* Flushes the vertices, validates the parameter and updates
- * __GLcontextRec::CurrentStack and gl_transform_attrib::MatrixMode with the
+ * __struct gl_contextRec::CurrentStack and gl_transform_attrib::MatrixMode with the
* specified matrix stack.
*/
void GLAPIENTRY
@@ -231,7 +231,7 @@ _mesa_MatrixMode( GLenum mode )
* \sa glPushMatrix().
*
* Verifies the current matrix stack is not full, and duplicates the top-most
- * matrix in the stack. Marks __GLcontextRec::NewState with the stack dirty
+ * matrix in the stack. Marks __struct gl_contextRec::NewState with the stack dirty
* flag.
*/
void GLAPIENTRY
@@ -271,7 +271,7 @@ _mesa_PushMatrix( void )
* \sa glPopMatrix().
*
* Flushes the vertices, verifies the current matrix stack is not empty, and
- * moves the stack head down. Marks __GLcontextRec::NewState with the dirty
+ * moves the stack head down. Marks __struct gl_contextRec::NewState with the dirty
* stack flag.
*/
void GLAPIENTRY
@@ -309,7 +309,7 @@ _mesa_PopMatrix( void )
* \sa glLoadIdentity().
*
* Flushes the vertices and calls _math_matrix_set_identity() with the top-most
- * matrix in the current stack. Marks __GLcontextRec::NewState with the stack
+ * matrix in the current stack. Marks __struct gl_contextRec::NewState with the stack
* dirty flag.
*/
void GLAPIENTRY
@@ -334,7 +334,7 @@ _mesa_LoadIdentity( void )
* \sa glLoadMatrixf().
*
* Flushes the vertices and calls _math_matrix_loadf() with the top-most matrix
- * in the current stack and the given matrix. Marks __GLcontextRec::NewState
+ * in the current stack and the given matrix. Marks __struct gl_contextRec::NewState
* with the dirty stack flag.
*/
void GLAPIENTRY
@@ -365,7 +365,7 @@ _mesa_LoadMatrixf( const GLfloat *m )
*
* Flushes the vertices and calls _math_matrix_mul_floats() with the top-most
* matrix in the current stack and the given matrix. Marks
- * __GLcontextRec::NewState with the dirty stack flag.
+ * __struct gl_contextRec::NewState with the dirty stack flag.
*/
void GLAPIENTRY
_mesa_MultMatrixf( const GLfloat *m )
@@ -397,7 +397,7 @@ _mesa_MultMatrixf( const GLfloat *m )
*
* Flushes the vertices and calls _math_matrix_rotate() with the top-most
* matrix in the current stack and the given parameters. Marks
- * __GLcontextRec::NewState with the dirty stack flag.
+ * __struct gl_contextRec::NewState with the dirty stack flag.
*/
void GLAPIENTRY
_mesa_Rotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
@@ -422,7 +422,7 @@ _mesa_Rotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z )
*
* Flushes the vertices and calls _math_matrix_scale() with the top-most
* matrix in the current stack and the given parameters. Marks
- * __GLcontextRec::NewState with the dirty stack flag.
+ * __struct gl_contextRec::NewState with the dirty stack flag.
*/
void GLAPIENTRY
_mesa_Scalef( GLfloat x, GLfloat y, GLfloat z )
@@ -445,7 +445,7 @@ _mesa_Scalef( GLfloat x, GLfloat y, GLfloat z )
*
* Flushes the vertices and calls _math_matrix_translate() with the top-most
* matrix in the current stack and the given parameters. Marks
- * __GLcontextRec::NewState with the dirty stack flag.
+ * __struct gl_contextRec::NewState with the dirty stack flag.
*/
void GLAPIENTRY
_mesa_Translatef( GLfloat x, GLfloat y, GLfloat z )
@@ -559,13 +559,13 @@ _mesa_MultTransposeMatrixdARB( const GLdouble *m )
* Calls _math_matrix_analyse() with the top-matrix of the projection matrix
* stack, and recomputes user clip positions if necessary.
*
- * \note This routine references __GLcontextRec::Tranform attribute values to
+ * \note This routine references __struct gl_contextRec::Tranform attribute values to
* compute userclip positions in clip space, but is only called on
* _NEW_PROJECTION. The _mesa_ClipPlane() function keeps these values up to
- * date across changes to the __GLcontextRec::Transform attributes.
+ * date across changes to the __struct gl_contextRec::Transform attributes.
*/
static void
-update_projection( GLcontext *ctx )
+update_projection( struct gl_context *ctx )
{
_math_matrix_analyse( ctx->ProjectionMatrixStack.Top );
@@ -593,11 +593,11 @@ update_projection( GLcontext *ctx )
* \param ctx GL context.
*
* Multiplies the top matrices of the projection and model view stacks into
- * __GLcontextRec::_ModelProjectMatrix via _math_matrix_mul_matrix() and
+ * __struct gl_contextRec::_ModelProjectMatrix via _math_matrix_mul_matrix() and
* analyzes the resulting matrix via _math_matrix_analyse().
*/
static void
-calculate_model_project_matrix( GLcontext *ctx )
+calculate_model_project_matrix( struct gl_context *ctx )
{
_math_matrix_mul_matrix( &ctx->_ModelProjectMatrix,
ctx->ProjectionMatrixStack.Top,
@@ -618,7 +618,7 @@ calculate_model_project_matrix( GLcontext *ctx )
* calculate_model_project_matrix() to recalculate the modelview-projection
* matrix.
*/
-void _mesa_update_modelview_project( GLcontext *ctx, GLuint new_state )
+void _mesa_update_modelview_project( struct gl_context *ctx, GLuint new_state )
{
if (new_state & _NEW_MODELVIEW) {
_math_matrix_analyse( ctx->ModelviewMatrixStack.Top );
@@ -712,7 +712,7 @@ free_matrix_stack( struct gl_matrix_stack *stack )
* Initializes each of the matrix stacks and the combined modelview-projection
* matrix.
*/
-void _mesa_init_matrix( GLcontext * ctx )
+void _mesa_init_matrix( struct gl_context * ctx )
{
GLint i;
@@ -742,7 +742,7 @@ void _mesa_init_matrix( GLcontext * ctx )
* Frees each of the matrix stacks and the combined modelview-projection
* matrix.
*/
-void _mesa_free_matrix_data( GLcontext *ctx )
+void _mesa_free_matrix_data( struct gl_context *ctx )
{
GLint i;
@@ -765,7 +765,7 @@ void _mesa_free_matrix_data( GLcontext *ctx )
*
* \todo Move this to a new file with other 'transform' routines.
*/
-void _mesa_init_transform( GLcontext *ctx )
+void _mesa_init_transform( struct gl_context *ctx )
{
GLint i;
diff --git a/src/mesa/main/matrix.h b/src/mesa/main/matrix.h
index a53d1045c7d..38fd235b117 100644
--- a/src/mesa/main/matrix.h
+++ b/src/mesa/main/matrix.h
@@ -97,16 +97,16 @@ _mesa_MultTransposeMatrixdARB( const GLdouble *m );
extern void
-_mesa_init_matrix( GLcontext * ctx );
+_mesa_init_matrix( struct gl_context * ctx );
extern void
-_mesa_init_transform( GLcontext *ctx );
+_mesa_init_transform( struct gl_context *ctx );
extern void
-_mesa_free_matrix_data( GLcontext *ctx );
+_mesa_free_matrix_data( struct gl_context *ctx );
extern void
-_mesa_update_modelview_project( GLcontext *ctx, GLuint newstate );
+_mesa_update_modelview_project( struct gl_context *ctx, GLuint newstate );
#endif
diff --git a/src/mesa/main/mfeatures.h b/src/mesa/main/mfeatures.h
index 9b9b6d0420b..5afd65d9766 100644
--- a/src/mesa/main/mfeatures.h
+++ b/src/mesa/main/mfeatures.h
@@ -119,7 +119,6 @@
#define FEATURE_ARB_fragment_shader 1
#define FEATURE_ARB_shader_objects (FEATURE_ARB_vertex_shader || FEATURE_ARB_fragment_shader)
#define FEATURE_ARB_shading_language_100 FEATURE_ARB_shader_objects
-#define FEATURE_ARB_shading_language_120 FEATURE_ARB_shader_objects
#define FEATURE_ARB_geometry_shader4 FEATURE_ARB_shader_objects
#define FEATURE_ARB_framebuffer_object (FEATURE_GL && FEATURE_EXT_framebuffer_object)
diff --git a/src/mesa/main/mipmap.c b/src/mesa/main/mipmap.c
index 3d1a4c49c49..11d5a0519e0 100644
--- a/src/mesa/main/mipmap.c
+++ b/src/mesa/main/mipmap.c
@@ -606,7 +606,7 @@ do_row_3D(GLenum datatype, GLuint comps, GLint srcWidth,
FILTER_3D(0);
}
}
- if ((datatype == GL_BYTE) && (comps == 4)) {
+ else if ((datatype == GL_BYTE) && (comps == 4)) {
DECLARE_ROW_POINTERS(GLbyte, 4);
for (i = j = 0, k = k0; i < (GLuint) dstWidth;
@@ -1504,7 +1504,7 @@ next_mipmap_level_size(GLenum target, GLint border,
* GL_TEXTURE_CUBE_MAP_POSITIVE/NEGATIVE_X/Y/Z; never GL_TEXTURE_CUBE_MAP.
*/
void
-_mesa_generate_mipmap(GLcontext *ctx, GLenum target,
+_mesa_generate_mipmap(struct gl_context *ctx, GLenum target,
struct gl_texture_object *texObj)
{
const struct gl_texture_image *srcImage;
diff --git a/src/mesa/main/mipmap.h b/src/mesa/main/mipmap.h
index 22094c34372..4c7ee635aee 100644
--- a/src/mesa/main/mipmap.h
+++ b/src/mesa/main/mipmap.h
@@ -42,7 +42,7 @@ _mesa_generate_mipmap_level(GLenum target,
extern void
-_mesa_generate_mipmap(GLcontext *ctx, GLenum target,
+_mesa_generate_mipmap(struct gl_context *ctx, GLenum target,
struct gl_texture_object *texObj);
diff --git a/src/mesa/main/mtypes.h b/src/mesa/main/mtypes.h
index aa9676665ff..1b8a80416c9 100644
--- a/src/mesa/main/mtypes.h
+++ b/src/mesa/main/mtypes.h
@@ -123,10 +123,8 @@ struct gl_program_cache;
struct gl_texture_format;
struct gl_texture_image;
struct gl_texture_object;
+struct gl_context;
struct st_context;
-typedef struct __GLcontextRec GLcontext;
-typedef struct __GLcontextModesRec GLvisual;
-typedef struct gl_framebuffer GLframebuffer;
/*@}*/
@@ -380,8 +378,9 @@ typedef enum
typedef enum
{
FRAG_RESULT_DEPTH = 0,
- FRAG_RESULT_COLOR = 1,
- FRAG_RESULT_DATA0 = 2,
+ FRAG_RESULT_STENCIL = 1,
+ FRAG_RESULT_COLOR = 2,
+ FRAG_RESULT_DATA0 = 3,
FRAG_RESULT_MAX = (FRAG_RESULT_DATA0 + MAX_DRAW_BUFFERS)
} gl_frag_result;
@@ -548,6 +547,60 @@ struct gl_shine_tab
GLuint refcount;
};
+struct gl_config {
+ GLboolean rgbMode;
+ GLboolean floatMode;
+ GLboolean colorIndexMode;
+ GLuint doubleBufferMode;
+ GLuint stereoMode;
+
+ GLboolean haveAccumBuffer;
+ GLboolean haveDepthBuffer;
+ GLboolean haveStencilBuffer;
+
+ GLint redBits, greenBits, blueBits, alphaBits; /* bits per comp */
+ GLuint redMask, greenMask, blueMask, alphaMask;
+ GLint rgbBits; /* total bits for rgb */
+ GLint indexBits; /* total bits for colorindex */
+
+ GLint accumRedBits, accumGreenBits, accumBlueBits, accumAlphaBits;
+ GLint depthBits;
+ GLint stencilBits;
+
+ GLint numAuxBuffers;
+
+ GLint level;
+
+ /* EXT_visual_rating / GLX 1.2 */
+ GLint visualRating;
+
+ /* EXT_visual_info / GLX 1.2 */
+ GLint transparentPixel;
+ /* colors are floats scaled to ints */
+ GLint transparentRed, transparentGreen, transparentBlue, transparentAlpha;
+ GLint transparentIndex;
+
+ /* ARB_multisample / SGIS_multisample */
+ GLint sampleBuffers;
+ GLint samples;
+
+ /* SGIX_pbuffer / GLX 1.3 */
+ GLint maxPbufferWidth;
+ GLint maxPbufferHeight;
+ GLint maxPbufferPixels;
+ GLint optimalPbufferWidth; /* Only for SGIX_pbuffer. */
+ GLint optimalPbufferHeight; /* Only for SGIX_pbuffer. */
+
+ /* OML_swap_method */
+ GLint swapMethod;
+
+ /* EXT_texture_from_pixmap */
+ GLint bindToTextureRgb;
+ GLint bindToTextureRgba;
+ GLint bindToMipmapTexture;
+ GLint bindToTextureTargets;
+ GLint yInverted;
+};
/**
* Light source state.
@@ -2064,11 +2117,12 @@ struct gl_shader_program
/**
* Per-stage shaders resulting from the first stage of linking.
+ *
+ * Set of linked shaders for this program. The array is accessed using the
+ * \c MESA_SHADER_* defines. Entries for non-existent stages will be
+ * \c NULL.
*/
- /*@{*/
- GLuint _NumLinkedShaders;
- struct gl_shader *_LinkedShaders[2];
- /*@}*/
+ struct gl_shader *_LinkedShaders[MESA_SHADER_TYPES];
};
@@ -2087,7 +2141,24 @@ struct gl_shader_program
*/
struct gl_shader_state
{
- struct gl_shader_program *CurrentProgram; /**< The user-bound program */
+ /**
+ * Programs used for rendering
+ *
+ * There is a separate program set for each shader stage. If
+ * GL_EXT_separate_shader_objects is not supported, each of these must point
+ * to \c NULL or to the same program.
+ */
+ struct gl_shader_program *CurrentVertexProgram;
+ struct gl_shader_program *CurrentGeometryProgram;
+ struct gl_shader_program *CurrentFragmentProgram;
+
+ /**
+ * Program used by glUniform calls.
+ *
+ * Explicitly set by \c glUseProgram and \c glActiveProgramEXT.
+ */
+ struct gl_shader_program *ActiveProgram;
+
void *MemPool;
GLbitfield Flags; /**< Mask of GLSL_x flags */
@@ -2271,38 +2342,38 @@ struct gl_renderbuffer
void (*Delete)(struct gl_renderbuffer *rb);
/* Allocate new storage for this renderbuffer */
- GLboolean (*AllocStorage)(GLcontext *ctx, struct gl_renderbuffer *rb,
+ GLboolean (*AllocStorage)(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLenum internalFormat,
GLuint width, GLuint height);
/* Lock/Unlock are called before/after calling the Get/Put functions.
* Not sure this is the right place for these yet.
- void (*Lock)(GLcontext *ctx, struct gl_renderbuffer *rb);
- void (*Unlock)(GLcontext *ctx, struct gl_renderbuffer *rb);
+ void (*Lock)(struct gl_context *ctx, struct gl_renderbuffer *rb);
+ void (*Unlock)(struct gl_context *ctx, struct gl_renderbuffer *rb);
*/
/* Return a pointer to the element/pixel at (x,y).
* Should return NULL if the buffer memory can't be directly addressed.
*/
- void *(*GetPointer)(GLcontext *ctx, struct gl_renderbuffer *rb,
+ void *(*GetPointer)(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLint x, GLint y);
/* Get/Read a row of values.
* The values will be of format _BaseFormat and type DataType.
*/
- void (*GetRow)(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+ void (*GetRow)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, void *values);
/* Get/Read values at arbitrary locations.
* The values will be of format _BaseFormat and type DataType.
*/
- void (*GetValues)(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+ void (*GetValues)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], void *values);
/* Put/Write a row of values.
* The values will be of format _BaseFormat and type DataType.
*/
- void (*PutRow)(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+ void (*PutRow)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask);
/* Put/Write a row of RGB values. This is a special-case routine that's
@@ -2310,26 +2381,26 @@ struct gl_renderbuffer
* a common case for glDrawPixels and some triangle routines.
* The values will be of format GL_RGB and type DataType.
*/
- void (*PutRowRGB)(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+ void (*PutRowRGB)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask);
/* Put/Write a row of identical values.
* The values will be of format _BaseFormat and type DataType.
*/
- void (*PutMonoRow)(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+ void (*PutMonoRow)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask);
/* Put/Write values at arbitrary locations.
* The values will be of format _BaseFormat and type DataType.
*/
- void (*PutValues)(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+ void (*PutValues)(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], const void *values,
const GLubyte *mask);
/* Put/Write identical values at arbitrary locations.
* The values will be of format _BaseFormat and type DataType.
*/
- void (*PutMonoValues)(GLcontext *ctx, struct gl_renderbuffer *rb,
+ void (*PutMonoValues)(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLuint count, const GLint x[], const GLint y[],
const void *value, const GLubyte *mask);
};
@@ -2386,7 +2457,7 @@ struct gl_framebuffer
* The framebuffer's visual. Immutable if this is a window system buffer.
* Computed from attachments if user-made FBO.
*/
- GLvisual Visual;
+ struct gl_config Visual;
GLboolean Initialized;
@@ -2408,6 +2479,9 @@ struct gl_framebuffer
/** One of the GL_FRAMEBUFFER_(IN)COMPLETE_* tokens */
GLenum _Status;
+ /** Integer color values */
+ GLboolean _IntegerColor;
+
/** Array of all renderbuffer attachments, indexed by BUFFER_* tokens. */
struct gl_renderbuffer_attachment Attachment[BUFFER_COUNT];
@@ -2587,6 +2661,7 @@ struct gl_extensions
GLboolean ARB_sampler_objects;
GLboolean ARB_seamless_cube_map;
GLboolean ARB_shader_objects;
+ GLboolean ARB_shader_stencil_export;
GLboolean ARB_shading_language_100;
GLboolean ARB_shadow;
GLboolean ARB_shadow_ambient;
@@ -2635,6 +2710,7 @@ struct gl_extensions
GLboolean EXT_framebuffer_object;
GLboolean EXT_framebuffer_sRGB;
GLboolean EXT_gpu_program_parameters;
+ GLboolean EXT_gpu_shader4;
GLboolean EXT_multi_draw_arrays;
GLboolean EXT_paletted_texture;
GLboolean EXT_packed_depth_stencil;
@@ -2647,6 +2723,7 @@ struct gl_extensions
GLboolean EXT_rescale_normal;
GLboolean EXT_shadow_funcs;
GLboolean EXT_secondary_color;
+ GLboolean EXT_separate_shader_objects;
GLboolean EXT_separate_specular_color;
GLboolean EXT_shared_texture_palette;
GLboolean EXT_stencil_wrap;
@@ -2733,7 +2810,7 @@ struct gl_matrix_stack
/**
* \name Bits for image transfer operations
- * \sa __GLcontextRec::ImageTransferState.
+ * \sa __struct gl_contextRec::ImageTransferState.
*/
/*@{*/
#define IMAGE_SCALE_BIAS_BIT 0x1
@@ -2753,34 +2830,34 @@ struct gl_matrix_stack
* 4 unused flags.
*/
/*@{*/
-#define _NEW_MODELVIEW 0x1 /**< __GLcontextRec::ModelView */
-#define _NEW_PROJECTION 0x2 /**< __GLcontextRec::Projection */
-#define _NEW_TEXTURE_MATRIX 0x4 /**< __GLcontextRec::TextureMatrix */
-#define _NEW_ACCUM 0x10 /**< __GLcontextRec::Accum */
-#define _NEW_COLOR 0x20 /**< __GLcontextRec::Color */
-#define _NEW_DEPTH 0x40 /**< __GLcontextRec::Depth */
-#define _NEW_EVAL 0x80 /**< __GLcontextRec::Eval, __GLcontextRec::EvalMap */
-#define _NEW_FOG 0x100 /**< __GLcontextRec::Fog */
-#define _NEW_HINT 0x200 /**< __GLcontextRec::Hint */
-#define _NEW_LIGHT 0x400 /**< __GLcontextRec::Light */
-#define _NEW_LINE 0x800 /**< __GLcontextRec::Line */
-#define _NEW_PIXEL 0x1000 /**< __GLcontextRec::Pixel */
-#define _NEW_POINT 0x2000 /**< __GLcontextRec::Point */
-#define _NEW_POLYGON 0x4000 /**< __GLcontextRec::Polygon */
-#define _NEW_POLYGONSTIPPLE 0x8000 /**< __GLcontextRec::PolygonStipple */
-#define _NEW_SCISSOR 0x10000 /**< __GLcontextRec::Scissor */
-#define _NEW_STENCIL 0x20000 /**< __GLcontextRec::Stencil */
-#define _NEW_TEXTURE 0x40000 /**< __GLcontextRec::Texture */
-#define _NEW_TRANSFORM 0x80000 /**< __GLcontextRec::Transform */
-#define _NEW_VIEWPORT 0x100000 /**< __GLcontextRec::Viewport */
-#define _NEW_PACKUNPACK 0x200000 /**< __GLcontextRec::Pack, __GLcontextRec::Unpack */
-#define _NEW_ARRAY 0x400000 /**< __GLcontextRec::Array */
-#define _NEW_RENDERMODE 0x800000 /**< __GLcontextRec::RenderMode, __GLcontextRec::Feedback, __GLcontextRec::Select */
-#define _NEW_BUFFERS 0x1000000 /**< __GLcontextRec::Visual, __GLcontextRec::DrawBuffer, */
-#define _NEW_MULTISAMPLE 0x2000000 /**< __GLcontextRec::Multisample */
-#define _NEW_TRACK_MATRIX 0x4000000 /**< __GLcontextRec::VertexProgram */
-#define _NEW_PROGRAM 0x8000000 /**< __GLcontextRec::VertexProgram */
-#define _NEW_CURRENT_ATTRIB 0x10000000 /**< __GLcontextRec::Current */
+#define _NEW_MODELVIEW 0x1 /**< __struct gl_contextRec::ModelView */
+#define _NEW_PROJECTION 0x2 /**< __struct gl_contextRec::Projection */
+#define _NEW_TEXTURE_MATRIX 0x4 /**< __struct gl_contextRec::TextureMatrix */
+#define _NEW_ACCUM 0x10 /**< __struct gl_contextRec::Accum */
+#define _NEW_COLOR 0x20 /**< __struct gl_contextRec::Color */
+#define _NEW_DEPTH 0x40 /**< __struct gl_contextRec::Depth */
+#define _NEW_EVAL 0x80 /**< __struct gl_contextRec::Eval, __struct gl_contextRec::EvalMap */
+#define _NEW_FOG 0x100 /**< __struct gl_contextRec::Fog */
+#define _NEW_HINT 0x200 /**< __struct gl_contextRec::Hint */
+#define _NEW_LIGHT 0x400 /**< __struct gl_contextRec::Light */
+#define _NEW_LINE 0x800 /**< __struct gl_contextRec::Line */
+#define _NEW_PIXEL 0x1000 /**< __struct gl_contextRec::Pixel */
+#define _NEW_POINT 0x2000 /**< __struct gl_contextRec::Point */
+#define _NEW_POLYGON 0x4000 /**< __struct gl_contextRec::Polygon */
+#define _NEW_POLYGONSTIPPLE 0x8000 /**< __struct gl_contextRec::PolygonStipple */
+#define _NEW_SCISSOR 0x10000 /**< __struct gl_contextRec::Scissor */
+#define _NEW_STENCIL 0x20000 /**< __struct gl_contextRec::Stencil */
+#define _NEW_TEXTURE 0x40000 /**< __struct gl_contextRec::Texture */
+#define _NEW_TRANSFORM 0x80000 /**< __struct gl_contextRec::Transform */
+#define _NEW_VIEWPORT 0x100000 /**< __struct gl_contextRec::Viewport */
+#define _NEW_PACKUNPACK 0x200000 /**< __struct gl_contextRec::Pack, __struct gl_contextRec::Unpack */
+#define _NEW_ARRAY 0x400000 /**< __struct gl_contextRec::Array */
+#define _NEW_RENDERMODE 0x800000 /**< __struct gl_contextRec::RenderMode, __struct gl_contextRec::Feedback, __struct gl_contextRec::Select */
+#define _NEW_BUFFERS 0x1000000 /**< __struct gl_contextRec::Visual, __struct gl_contextRec::DrawBuffer, */
+#define _NEW_MULTISAMPLE 0x2000000 /**< __struct gl_contextRec::Multisample */
+#define _NEW_TRACK_MATRIX 0x4000000 /**< __struct gl_contextRec::VertexProgram */
+#define _NEW_PROGRAM 0x8000000 /**< __struct gl_contextRec::VertexProgram */
+#define _NEW_CURRENT_ATTRIB 0x10000000 /**< __struct gl_contextRec::Current */
#define _NEW_PROGRAM_CONSTANTS 0x20000000
#define _NEW_BUFFER_OBJECT 0x40000000
#define _NEW_ALL ~0
@@ -2823,7 +2900,7 @@ struct gl_matrix_stack
/**
* \name A bunch of flags that we think might be useful to drivers.
*
- * Set in the __GLcontextRec::_TriangleCaps bitfield.
+ * Set in the __struct gl_contextRec::_TriangleCaps bitfield.
*/
/*@{*/
#define DD_FLATSHADE 0x1
@@ -2888,32 +2965,6 @@ struct gl_matrix_stack
#include "dd.h"
-#define NUM_VERTEX_FORMAT_ENTRIES (sizeof(GLvertexformat) / sizeof(void *))
-
-/**
- * Core Mesa's support for tnl modules:
- */
-struct gl_tnl_module
-{
- /**
- * Vertex format to be lazily swapped into current dispatch.
- */
- const GLvertexformat *Current;
-
- /**
- * \name Record of functions swapped out.
- * On restore, only need to swap these functions back in.
- */
- /*@{*/
- struct {
- _glapi_proc * location;
- _glapi_proc function;
- } Swapped[NUM_VERTEX_FORMAT_ENTRIES];
- GLuint SwapCount;
- /*@}*/
-};
-
-
/**
* Display list flags.
* Strictly this is a tnl-private concept, but it doesn't seem
@@ -2991,9 +3042,9 @@ typedef enum {
* Think of this as a base class from which device drivers will derive
* sub classes.
*
- * The GLcontext typedef names this structure.
+ * The struct gl_context typedef names this structure.
*/
-struct __GLcontextRec
+struct gl_context
{
/** State possibly shared with other contexts in the address space */
struct gl_shared_state *Shared;
@@ -3006,11 +3057,11 @@ struct __GLcontextRec
struct _glapi_table *CurrentDispatch; /**< == Save or Exec !! */
/*@}*/
- GLvisual Visual;
- GLframebuffer *DrawBuffer; /**< buffer for writing */
- GLframebuffer *ReadBuffer; /**< buffer for reading */
- GLframebuffer *WinSysDrawBuffer; /**< set with MakeCurrent */
- GLframebuffer *WinSysReadBuffer; /**< set with MakeCurrent */
+ struct gl_config Visual;
+ struct gl_framebuffer *DrawBuffer; /**< buffer for writing */
+ struct gl_framebuffer *ReadBuffer; /**< buffer for reading */
+ struct gl_framebuffer *WinSysDrawBuffer; /**< set with MakeCurrent */
+ struct gl_framebuffer *WinSysReadBuffer; /**< set with MakeCurrent */
/**
* Device driver function pointer table
@@ -3177,9 +3228,6 @@ struct __GLcontextRec
*/
GLboolean mvp_with_dp4;
- /** Core tnl module support */
- struct gl_tnl_module TnlModule;
-
/**
* \name Hooks for module contexts.
*
diff --git a/src/mesa/main/multisample.c b/src/mesa/main/multisample.c
index 01b68df7afc..5487d45f56b 100644
--- a/src/mesa/main/multisample.c
+++ b/src/mesa/main/multisample.c
@@ -50,7 +50,7 @@ _mesa_SampleCoverageARB(GLclampf value, GLboolean invert)
* \param ctx the GL context.
*/
void
-_mesa_init_multisample(GLcontext *ctx)
+_mesa_init_multisample(struct gl_context *ctx)
{
ctx->Multisample.Enabled = GL_TRUE;
ctx->Multisample.SampleAlphaToCoverage = GL_FALSE;
diff --git a/src/mesa/main/multisample.h b/src/mesa/main/multisample.h
index 998488ef420..c7cc432daac 100644
--- a/src/mesa/main/multisample.h
+++ b/src/mesa/main/multisample.h
@@ -33,7 +33,7 @@ _mesa_SampleCoverageARB(GLclampf value, GLboolean invert);
extern void
-_mesa_init_multisample(GLcontext *ctx);
+_mesa_init_multisample(struct gl_context *ctx);
#endif
diff --git a/src/mesa/main/nvprogram.c b/src/mesa/main/nvprogram.c
index 3a570b7dda6..833bf916ecf 100644
--- a/src/mesa/main/nvprogram.c
+++ b/src/mesa/main/nvprogram.c
@@ -511,7 +511,7 @@ _mesa_GetVertexAttribPointervNV(GLuint index, GLenum pname, GLvoid **pointer)
}
void
-_mesa_emit_nv_temp_initialization(GLcontext *ctx,
+_mesa_emit_nv_temp_initialization(struct gl_context *ctx,
struct gl_program *program)
{
struct prog_instruction *inst;
@@ -559,7 +559,7 @@ _mesa_emit_nv_temp_initialization(GLcontext *ctx,
}
void
-_mesa_setup_nv_temporary_count(GLcontext *ctx, struct gl_program *program)
+_mesa_setup_nv_temporary_count(struct gl_context *ctx, struct gl_program *program)
{
GLuint i;
diff --git a/src/mesa/main/nvprogram.h b/src/mesa/main/nvprogram.h
index 260a25ba9e9..035f2fe2426 100644
--- a/src/mesa/main/nvprogram.h
+++ b/src/mesa/main/nvprogram.h
@@ -106,10 +106,10 @@ _mesa_GetProgramNamedParameterdvNV(GLuint id, GLsizei len, const GLubyte *name,
GLdouble *params);
extern void
-_mesa_setup_nv_temporary_count(GLcontext *ctx, struct gl_program *program);
+_mesa_setup_nv_temporary_count(struct gl_context *ctx, struct gl_program *program);
extern void
-_mesa_emit_nv_temp_initialization(GLcontext *ctx,
+_mesa_emit_nv_temp_initialization(struct gl_context *ctx,
struct gl_program *program);
#endif
diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c
new file mode 100644
index 00000000000..877d27ce1e4
--- /dev/null
+++ b/src/mesa/main/pack.c
@@ -0,0 +1,4339 @@
+/*
+ * Mesa 3-D graphics library
+ *
+ * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009-2010 VMware, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THEA AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+/**
+ * \file pack.c
+ * Image and pixel span packing and unpacking.
+ */
+
+
+#include "glheader.h"
+#include "colormac.h"
+#include "enums.h"
+#include "image.h"
+#include "pack.h"
+#include "pixeltransfer.h"
+#include "imports.h"
+
+
+/**
+ * NOTE:
+ * Normally, BYTE_TO_FLOAT(0) returns 0.00392 That causes problems when
+ * we later convert the float to a packed integer value (such as for
+ * GL_RGB5_A1) because we'll wind up with a non-zero value.
+ *
+ * We redefine the macros here so zero is handled correctly.
+ */
+#undef BYTE_TO_FLOAT
+#define BYTE_TO_FLOAT(B) ((B) == 0 ? 0.0F : ((2.0F * (B) + 1.0F) * (1.0F/255.0F)))
+
+#undef SHORT_TO_FLOAT
+#define SHORT_TO_FLOAT(S) ((S) == 0 ? 0.0F : ((2.0F * (S) + 1.0F) * (1.0F/65535.0F)))
+
+
+
+/** Compute ceiling of integer quotient of A divided by B. */
+#define CEILING( A, B ) ( (A) % (B) == 0 ? (A)/(B) : (A)/(B)+1 )
+
+
+/**
+ * Flip the 8 bits in each byte of the given array.
+ *
+ * \param p array.
+ * \param n number of bytes.
+ *
+ * \todo try this trick to flip bytes someday:
+ * \code
+ * v = ((v & 0x55555555) << 1) | ((v >> 1) & 0x55555555);
+ * v = ((v & 0x33333333) << 2) | ((v >> 2) & 0x33333333);
+ * v = ((v & 0x0f0f0f0f) << 4) | ((v >> 4) & 0x0f0f0f0f);
+ * \endcode
+ */
+static void
+flip_bytes( GLubyte *p, GLuint n )
+{
+ GLuint i, a, b;
+ for (i = 0; i < n; i++) {
+ b = (GLuint) p[i]; /* words are often faster than bytes */
+ a = ((b & 0x01) << 7) |
+ ((b & 0x02) << 5) |
+ ((b & 0x04) << 3) |
+ ((b & 0x08) << 1) |
+ ((b & 0x10) >> 1) |
+ ((b & 0x20) >> 3) |
+ ((b & 0x40) >> 5) |
+ ((b & 0x80) >> 7);
+ p[i] = (GLubyte) a;
+ }
+}
+
+
+
+/*
+ * Unpack a 32x32 pixel polygon stipple from user memory using the
+ * current pixel unpack settings.
+ */
+void
+_mesa_unpack_polygon_stipple( const GLubyte *pattern, GLuint dest[32],
+ const struct gl_pixelstore_attrib *unpacking )
+{
+ GLubyte *ptrn = (GLubyte *) _mesa_unpack_bitmap(32, 32, pattern, unpacking);
+ if (ptrn) {
+ /* Convert pattern from GLubytes to GLuints and handle big/little
+ * endian differences
+ */
+ GLubyte *p = ptrn;
+ GLint i;
+ for (i = 0; i < 32; i++) {
+ dest[i] = (p[0] << 24)
+ | (p[1] << 16)
+ | (p[2] << 8)
+ | (p[3] );
+ p += 4;
+ }
+ free(ptrn);
+ }
+}
+
+
+/*
+ * Pack polygon stipple into user memory given current pixel packing
+ * settings.
+ */
+void
+_mesa_pack_polygon_stipple( const GLuint pattern[32], GLubyte *dest,
+ const struct gl_pixelstore_attrib *packing )
+{
+ /* Convert pattern from GLuints to GLubytes to handle big/little
+ * endian differences.
+ */
+ GLubyte ptrn[32*4];
+ GLint i;
+ for (i = 0; i < 32; i++) {
+ ptrn[i * 4 + 0] = (GLubyte) ((pattern[i] >> 24) & 0xff);
+ ptrn[i * 4 + 1] = (GLubyte) ((pattern[i] >> 16) & 0xff);
+ ptrn[i * 4 + 2] = (GLubyte) ((pattern[i] >> 8 ) & 0xff);
+ ptrn[i * 4 + 3] = (GLubyte) ((pattern[i] ) & 0xff);
+ }
+
+ _mesa_pack_bitmap(32, 32, ptrn, dest, packing);
+}
+
+
+/*
+ * Unpack bitmap data. Resulting data will be in most-significant-bit-first
+ * order with row alignment = 1 byte.
+ */
+GLvoid *
+_mesa_unpack_bitmap( GLint width, GLint height, const GLubyte *pixels,
+ const struct gl_pixelstore_attrib *packing )
+{
+ GLint bytes, row, width_in_bytes;
+ GLubyte *buffer, *dst;
+
+ if (!pixels)
+ return NULL;
+
+ /* Alloc dest storage */
+ bytes = ((width + 7) / 8 * height);
+ buffer = (GLubyte *) malloc( bytes );
+ if (!buffer)
+ return NULL;
+
+ width_in_bytes = CEILING( width, 8 );
+ dst = buffer;
+ for (row = 0; row < height; row++) {
+ const GLubyte *src = (const GLubyte *)
+ _mesa_image_address2d(packing, pixels, width, height,
+ GL_COLOR_INDEX, GL_BITMAP, row, 0);
+ if (!src) {
+ free(buffer);
+ return NULL;
+ }
+
+ if ((packing->SkipPixels & 7) == 0) {
+ memcpy( dst, src, width_in_bytes );
+ if (packing->LsbFirst) {
+ flip_bytes( dst, width_in_bytes );
+ }
+ }
+ else {
+ /* handling SkipPixels is a bit tricky (no pun intended!) */
+ GLint i;
+ if (packing->LsbFirst) {
+ GLubyte srcMask = 1 << (packing->SkipPixels & 0x7);
+ GLubyte dstMask = 128;
+ const GLubyte *s = src;
+ GLubyte *d = dst;
+ *d = 0;
+ for (i = 0; i < width; i++) {
+ if (*s & srcMask) {
+ *d |= dstMask;
+ }
+ if (srcMask == 128) {
+ srcMask = 1;
+ s++;
+ }
+ else {
+ srcMask = srcMask << 1;
+ }
+ if (dstMask == 1) {
+ dstMask = 128;
+ d++;
+ *d = 0;
+ }
+ else {
+ dstMask = dstMask >> 1;
+ }
+ }
+ }
+ else {
+ GLubyte srcMask = 128 >> (packing->SkipPixels & 0x7);
+ GLubyte dstMask = 128;
+ const GLubyte *s = src;
+ GLubyte *d = dst;
+ *d = 0;
+ for (i = 0; i < width; i++) {
+ if (*s & srcMask) {
+ *d |= dstMask;
+ }
+ if (srcMask == 1) {
+ srcMask = 128;
+ s++;
+ }
+ else {
+ srcMask = srcMask >> 1;
+ }
+ if (dstMask == 1) {
+ dstMask = 128;
+ d++;
+ *d = 0;
+ }
+ else {
+ dstMask = dstMask >> 1;
+ }
+ }
+ }
+ }
+ dst += width_in_bytes;
+ }
+
+ return buffer;
+}
+
+
+/*
+ * Pack bitmap data.
+ */
+void
+_mesa_pack_bitmap( GLint width, GLint height, const GLubyte *source,
+ GLubyte *dest, const struct gl_pixelstore_attrib *packing )
+{
+ GLint row, width_in_bytes;
+ const GLubyte *src;
+
+ if (!source)
+ return;
+
+ width_in_bytes = CEILING( width, 8 );
+ src = source;
+ for (row = 0; row < height; row++) {
+ GLubyte *dst = (GLubyte *) _mesa_image_address2d(packing, dest,
+ width, height, GL_COLOR_INDEX, GL_BITMAP, row, 0);
+ if (!dst)
+ return;
+
+ if ((packing->SkipPixels & 7) == 0) {
+ memcpy( dst, src, width_in_bytes );
+ if (packing->LsbFirst) {
+ flip_bytes( dst, width_in_bytes );
+ }
+ }
+ else {
+ /* handling SkipPixels is a bit tricky (no pun intended!) */
+ GLint i;
+ if (packing->LsbFirst) {
+ GLubyte srcMask = 128;
+ GLubyte dstMask = 1 << (packing->SkipPixels & 0x7);
+ const GLubyte *s = src;
+ GLubyte *d = dst;
+ *d = 0;
+ for (i = 0; i < width; i++) {
+ if (*s & srcMask) {
+ *d |= dstMask;
+ }
+ if (srcMask == 1) {
+ srcMask = 128;
+ s++;
+ }
+ else {
+ srcMask = srcMask >> 1;
+ }
+ if (dstMask == 128) {
+ dstMask = 1;
+ d++;
+ *d = 0;
+ }
+ else {
+ dstMask = dstMask << 1;
+ }
+ }
+ }
+ else {
+ GLubyte srcMask = 128;
+ GLubyte dstMask = 128 >> (packing->SkipPixels & 0x7);
+ const GLubyte *s = src;
+ GLubyte *d = dst;
+ *d = 0;
+ for (i = 0; i < width; i++) {
+ if (*s & srcMask) {
+ *d |= dstMask;
+ }
+ if (srcMask == 1) {
+ srcMask = 128;
+ s++;
+ }
+ else {
+ srcMask = srcMask >> 1;
+ }
+ if (dstMask == 1) {
+ dstMask = 128;
+ d++;
+ *d = 0;
+ }
+ else {
+ dstMask = dstMask >> 1;
+ }
+ }
+ }
+ }
+ src += width_in_bytes;
+ }
+}
+
+
+
+/**
+ * For small integer types, return the min and max possible values.
+ * Used for clamping floats to unscaled integer types.
+ * \return GL_TRUE if type is handled, GL_FALSE otherwise.
+ */
+static GLboolean
+get_type_min_max(GLenum type, GLfloat *min, GLfloat *max)
+{
+ switch (type) {
+ case GL_BYTE:
+ *min = -128.0;
+ *max = 127.0;
+ return GL_TRUE;
+ case GL_UNSIGNED_BYTE:
+ *min = 0.0;
+ *max = 255.0;
+ return GL_TRUE;
+ case GL_SHORT:
+ *min = -32768.0;
+ *max = 32767.0;
+ return GL_TRUE;
+ case GL_UNSIGNED_SHORT:
+ *min = 0.0;
+ *max = 65535.0;
+ return GL_TRUE;
+ default:
+ return GL_FALSE;
+ }
+}
+
+
+
+/**
+ * Used to pack an array [][4] of RGBA float colors as specified
+ * by the dstFormat, dstType and dstPacking. Used by glReadPixels.
+ * Historically, the RGBA values were in [0,1] and rescaled to fit
+ * into GLubytes, etc. But with new integer formats, the RGBA values
+ * may have any value and we don't always rescale when converting to
+ * integers.
+ *
+ * Note: the rgba values will be modified by this function when any pixel
+ * transfer ops are enabled.
+ */
+void
+_mesa_pack_rgba_span_float(struct gl_context *ctx, GLuint n, GLfloat rgba[][4],
+ GLenum dstFormat, GLenum dstType,
+ GLvoid *dstAddr,
+ const struct gl_pixelstore_attrib *dstPacking,
+ GLbitfield transferOps)
+{
+ GLfloat luminance[MAX_WIDTH];
+ const GLint comps = _mesa_components_in_format(dstFormat);
+ const GLboolean intDstFormat = _mesa_is_integer_format(dstFormat);
+ GLuint i;
+
+ /* XXX
+ * This test should probably go away. Have the caller set/clear the
+ * IMAGE_CLAMP_BIT as needed.
+ */
+ if (dstType != GL_FLOAT || ctx->Color.ClampReadColor == GL_TRUE) {
+ if (!intDstFormat) {
+ /* need to clamp to [0, 1] */
+ transferOps |= IMAGE_CLAMP_BIT;
+ }
+ }
+
+ if (transferOps) {
+ _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgba);
+ }
+
+ /*
+ * Component clamping (besides clamping to [0,1] in
+ * _mesa_apply_rgba_transfer_ops()).
+ */
+ if (intDstFormat) {
+ /* clamping to dest type's min/max values */
+ GLfloat min, max;
+ if (get_type_min_max(dstType, &min, &max)) {
+ for (i = 0; i < n; i++) {
+ rgba[i][RCOMP] = CLAMP(rgba[i][RCOMP], min, max);
+ rgba[i][GCOMP] = CLAMP(rgba[i][GCOMP], min, max);
+ rgba[i][BCOMP] = CLAMP(rgba[i][BCOMP], min, max);
+ rgba[i][ACOMP] = CLAMP(rgba[i][ACOMP], min, max);
+ }
+ }
+ }
+ else if (dstFormat == GL_LUMINANCE || dstFormat == GL_LUMINANCE_ALPHA) {
+ /* compute luminance values */
+ if (transferOps & IMAGE_CLAMP_BIT) {
+ for (i = 0; i < n; i++) {
+ GLfloat sum = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP];
+ luminance[i] = CLAMP(sum, 0.0F, 1.0F);
+ }
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ luminance[i] = rgba[i][RCOMP] + rgba[i][GCOMP] + rgba[i][BCOMP];
+ }
+ }
+ }
+
+ /*
+ * Pack/store the pixels. Ugh! Lots of cases!!!
+ */
+ switch (dstType) {
+ case GL_UNSIGNED_BYTE:
+ {
+ GLubyte *dst = (GLubyte *) dstAddr;
+ switch (dstFormat) {
+ case GL_RED:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
+ break;
+ case GL_GREEN:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
+ break;
+ case GL_BLUE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
+ break;
+ case GL_ALPHA:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
+ break;
+ case GL_LUMINANCE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UBYTE(luminance[i]);
+ break;
+ case GL_LUMINANCE_ALPHA:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_UBYTE(luminance[i]);
+ dst[i*2+1] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_RG:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
+ }
+ break;
+ case GL_RGB:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
+ dst[i*3+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
+ }
+ break;
+ case GL_RGBA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
+ dst[i*4+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
+ dst[i*4+3] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_BGR:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
+ dst[i*3+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_BGRA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
+ dst[i*4+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
+ dst[i*4+3] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_ABGR_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_UBYTE(rgba[i][ACOMP]);
+ dst[i*4+1] = FLOAT_TO_UBYTE(rgba[i][BCOMP]);
+ dst[i*4+2] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
+ dst[i*4+3] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_RED_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLubyte) rgba[i][RCOMP];
+ }
+ break;
+ case GL_GREEN_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLubyte) rgba[i][GCOMP];
+ }
+ break;
+ case GL_BLUE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLubyte) rgba[i][BCOMP];
+ }
+ break;
+ case GL_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLubyte) rgba[i][ACOMP];
+ }
+ break;
+ case GL_RGB_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLubyte) rgba[i][RCOMP];
+ dst[i*3+1] = (GLubyte) rgba[i][GCOMP];
+ dst[i*3+2] = (GLubyte) rgba[i][BCOMP];
+ }
+ break;
+ case GL_RGBA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLubyte) rgba[i][RCOMP];
+ dst[i*4+1] = (GLubyte) rgba[i][GCOMP];
+ dst[i*4+2] = (GLubyte) rgba[i][BCOMP];
+ dst[i*4+3] = (GLubyte) rgba[i][ACOMP];
+ }
+ break;
+ case GL_BGR_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLubyte) rgba[i][BCOMP];
+ dst[i*3+1] = (GLubyte) rgba[i][GCOMP];
+ dst[i*3+2] = (GLubyte) rgba[i][RCOMP];
+ }
+ break;
+ case GL_BGRA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLubyte) rgba[i][BCOMP];
+ dst[i*4+1] = (GLubyte) rgba[i][GCOMP];
+ dst[i*4+2] = (GLubyte) rgba[i][RCOMP];
+ dst[i*4+3] = (GLubyte) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = (GLubyte) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ dst[i*2+1] = (GLubyte) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLubyte) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ }
+ break;
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_UBYTE(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_UBYTE(rgba[i][GCOMP]);
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
+ }
+ }
+ break;
+ case GL_BYTE:
+ {
+ GLbyte *dst = (GLbyte *) dstAddr;
+ switch (dstFormat) {
+ case GL_RED:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
+ break;
+ case GL_GREEN:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
+ break;
+ case GL_BLUE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
+ break;
+ case GL_ALPHA:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
+ break;
+ case GL_LUMINANCE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_BYTE(luminance[i]);
+ break;
+ case GL_LUMINANCE_ALPHA:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_BYTE(luminance[i]);
+ dst[i*2+1] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_RG:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
+ }
+ break;
+ case GL_RGB:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
+ dst[i*3+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
+ }
+ break;
+ case GL_RGBA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
+ dst[i*4+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
+ dst[i*4+3] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_BGR:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
+ dst[i*3+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_BGRA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
+ dst[i*4+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
+ dst[i*4+3] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_ABGR_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_BYTE(rgba[i][ACOMP]);
+ dst[i*4+1] = FLOAT_TO_BYTE(rgba[i][BCOMP]);
+ dst[i*4+2] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
+ dst[i*4+3] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_RED_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLbyte) rgba[i][RCOMP];
+ }
+ break;
+ case GL_GREEN_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLbyte) rgba[i][GCOMP];
+ }
+ break;
+ case GL_BLUE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLbyte) rgba[i][BCOMP];
+ }
+ break;
+ case GL_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLbyte) rgba[i][ACOMP];
+ }
+ break;
+ case GL_RGB_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLbyte) rgba[i][RCOMP];
+ dst[i*3+1] = (GLbyte) rgba[i][GCOMP];
+ dst[i*3+2] = (GLbyte) rgba[i][BCOMP];
+ }
+ break;
+ case GL_RGBA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLbyte) rgba[i][RCOMP];
+ dst[i*4+1] = (GLbyte) rgba[i][GCOMP];
+ dst[i*4+2] = (GLbyte) rgba[i][BCOMP];
+ dst[i*4+3] = (GLbyte) rgba[i][ACOMP];
+ }
+ break;
+ case GL_BGR_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLbyte) rgba[i][BCOMP];
+ dst[i*3+1] = (GLbyte) rgba[i][GCOMP];
+ dst[i*3+2] = (GLbyte) rgba[i][RCOMP];
+ }
+ break;
+ case GL_BGRA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLbyte) rgba[i][BCOMP];
+ dst[i*4+1] = (GLbyte) rgba[i][GCOMP];
+ dst[i*4+2] = (GLbyte) rgba[i][RCOMP];
+ dst[i*4+3] = (GLbyte) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = (GLbyte) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ dst[i*2+1] = (GLbyte) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLbyte) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ }
+ break;
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT:
+ {
+ GLushort *dst = (GLushort *) dstAddr;
+ switch (dstFormat) {
+ case GL_RED:
+ for (i=0;i<n;i++)
+ CLAMPED_FLOAT_TO_USHORT(dst[i], rgba[i][RCOMP]);
+ break;
+ case GL_GREEN:
+ for (i=0;i<n;i++)
+ CLAMPED_FLOAT_TO_USHORT(dst[i], rgba[i][GCOMP]);
+ break;
+ case GL_BLUE:
+ for (i=0;i<n;i++)
+ CLAMPED_FLOAT_TO_USHORT(dst[i], rgba[i][BCOMP]);
+ break;
+ case GL_ALPHA:
+ for (i=0;i<n;i++)
+ CLAMPED_FLOAT_TO_USHORT(dst[i], rgba[i][ACOMP]);
+ break;
+ case GL_LUMINANCE:
+ for (i=0;i<n;i++)
+ UNCLAMPED_FLOAT_TO_USHORT(dst[i], luminance[i]);
+ break;
+ case GL_LUMINANCE_ALPHA:
+ for (i=0;i<n;i++) {
+ UNCLAMPED_FLOAT_TO_USHORT(dst[i*2+0], luminance[i]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*2+1], rgba[i][ACOMP]);
+ }
+ break;
+ case GL_RG:
+ for (i=0;i<n;i++) {
+ CLAMPED_FLOAT_TO_USHORT(dst[i*2+0], rgba[i][RCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*2+1], rgba[i][GCOMP]);
+ }
+ break;
+ case GL_RGB:
+ for (i=0;i<n;i++) {
+ CLAMPED_FLOAT_TO_USHORT(dst[i*3+0], rgba[i][RCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*3+1], rgba[i][GCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*3+2], rgba[i][BCOMP]);
+ }
+ break;
+ case GL_RGBA:
+ for (i=0;i<n;i++) {
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+0], rgba[i][RCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+1], rgba[i][GCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+2], rgba[i][BCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+3], rgba[i][ACOMP]);
+ }
+ break;
+ case GL_BGR:
+ for (i=0;i<n;i++) {
+ CLAMPED_FLOAT_TO_USHORT(dst[i*3+0], rgba[i][BCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*3+1], rgba[i][GCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*3+2], rgba[i][RCOMP]);
+ }
+ break;
+ case GL_BGRA:
+ for (i=0;i<n;i++) {
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+0], rgba[i][BCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+1], rgba[i][GCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+2], rgba[i][RCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+3], rgba[i][ACOMP]);
+ }
+ break;
+ case GL_ABGR_EXT:
+ for (i=0;i<n;i++) {
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+0], rgba[i][ACOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+1], rgba[i][BCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+2], rgba[i][GCOMP]);
+ CLAMPED_FLOAT_TO_USHORT(dst[i*4+3], rgba[i][RCOMP]);
+ }
+ break;
+ case GL_RED_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLushort) rgba[i][RCOMP];
+ }
+ break;
+ case GL_GREEN_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLushort) rgba[i][GCOMP];
+ }
+ break;
+ case GL_BLUE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLushort) rgba[i][BCOMP];
+ }
+ break;
+ case GL_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLushort) rgba[i][ACOMP];
+ }
+ break;
+ case GL_RGB_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLushort) rgba[i][RCOMP];
+ dst[i*3+1] = (GLushort) rgba[i][GCOMP];
+ dst[i*3+2] = (GLushort) rgba[i][BCOMP];
+ }
+ break;
+ case GL_RGBA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLushort) rgba[i][RCOMP];
+ dst[i*4+1] = (GLushort) rgba[i][GCOMP];
+ dst[i*4+2] = (GLushort) rgba[i][BCOMP];
+ dst[i*4+3] = (GLushort) rgba[i][ACOMP];
+ }
+ break;
+ case GL_BGR_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLushort) rgba[i][BCOMP];
+ dst[i*3+1] = (GLushort) rgba[i][GCOMP];
+ dst[i*3+2] = (GLushort) rgba[i][RCOMP];
+ }
+ break;
+ case GL_BGRA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLushort) rgba[i][BCOMP];
+ dst[i*4+1] = (GLushort) rgba[i][GCOMP];
+ dst[i*4+2] = (GLushort) rgba[i][RCOMP];
+ dst[i*4+3] = (GLushort) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = (GLushort) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ dst[i*2+1] = (GLushort) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLushort) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ }
+ break;
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_USHORT(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_USHORT(rgba[i][GCOMP]);
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
+ }
+ }
+ break;
+ case GL_SHORT:
+ {
+ GLshort *dst = (GLshort *) dstAddr;
+ switch (dstFormat) {
+ case GL_RED:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
+ break;
+ case GL_GREEN:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
+ break;
+ case GL_BLUE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
+ break;
+ case GL_ALPHA:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
+ break;
+ case GL_LUMINANCE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_SHORT(luminance[i]);
+ break;
+ case GL_LUMINANCE_ALPHA:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_SHORT(luminance[i]);
+ dst[i*2+1] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_RG:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
+ }
+ break;
+ case GL_RGB:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
+ dst[i*3+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
+ }
+ break;
+ case GL_RGBA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
+ dst[i*4+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
+ dst[i*4+3] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_BGR:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
+ dst[i*3+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_BGRA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
+ dst[i*4+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
+ dst[i*4+3] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_ABGR_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_SHORT(rgba[i][ACOMP]);
+ dst[i*4+1] = FLOAT_TO_SHORT(rgba[i][BCOMP]);
+ dst[i*4+2] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
+ dst[i*4+3] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_RED_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLshort) rgba[i][RCOMP];
+ }
+ break;
+ case GL_GREEN_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLshort) rgba[i][GCOMP];
+ }
+ break;
+ case GL_BLUE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLshort) rgba[i][BCOMP];
+ }
+ break;
+ case GL_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLshort) rgba[i][ACOMP];
+ }
+ break;
+ case GL_RGB_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLshort) rgba[i][RCOMP];
+ dst[i*3+1] = (GLshort) rgba[i][GCOMP];
+ dst[i*3+2] = (GLshort) rgba[i][BCOMP];
+ }
+ break;
+ case GL_RGBA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLshort) rgba[i][RCOMP];
+ dst[i*4+1] = (GLshort) rgba[i][GCOMP];
+ dst[i*4+2] = (GLshort) rgba[i][BCOMP];
+ dst[i*4+3] = (GLshort) rgba[i][ACOMP];
+ }
+ break;
+ case GL_BGR_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLshort) rgba[i][BCOMP];
+ dst[i*3+1] = (GLshort) rgba[i][GCOMP];
+ dst[i*3+2] = (GLshort) rgba[i][RCOMP];
+ }
+ break;
+ case GL_BGRA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLshort) rgba[i][BCOMP];
+ dst[i*4+1] = (GLshort) rgba[i][GCOMP];
+ dst[i*4+2] = (GLshort) rgba[i][RCOMP];
+ dst[i*4+3] = (GLshort) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = (GLshort) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ dst[i*2+1] = (GLshort) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLshort) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ }
+ break;
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_SHORT(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_SHORT(rgba[i][GCOMP]);
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT:
+ {
+ GLuint *dst = (GLuint *) dstAddr;
+ switch (dstFormat) {
+ case GL_RED:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UINT(rgba[i][RCOMP]);
+ break;
+ case GL_GREEN:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UINT(rgba[i][GCOMP]);
+ break;
+ case GL_BLUE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UINT(rgba[i][BCOMP]);
+ break;
+ case GL_ALPHA:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UINT(rgba[i][ACOMP]);
+ break;
+ case GL_LUMINANCE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_UINT(luminance[i]);
+ break;
+ case GL_LUMINANCE_ALPHA:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_UINT(luminance[i]);
+ dst[i*2+1] = FLOAT_TO_UINT(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_RG:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_UINT(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
+ }
+ break;
+ case GL_RGB:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_UINT(rgba[i][RCOMP]);
+ dst[i*3+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_UINT(rgba[i][BCOMP]);
+ }
+ break;
+ case GL_RGBA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_UINT(rgba[i][RCOMP]);
+ dst[i*4+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_UINT(rgba[i][BCOMP]);
+ dst[i*4+3] = FLOAT_TO_UINT(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_BGR:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_UINT(rgba[i][BCOMP]);
+ dst[i*3+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_UINT(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_BGRA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_UINT(rgba[i][BCOMP]);
+ dst[i*4+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_UINT(rgba[i][RCOMP]);
+ dst[i*4+3] = FLOAT_TO_UINT(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_ABGR_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_UINT(rgba[i][ACOMP]);
+ dst[i*4+1] = FLOAT_TO_UINT(rgba[i][BCOMP]);
+ dst[i*4+2] = FLOAT_TO_UINT(rgba[i][GCOMP]);
+ dst[i*4+3] = FLOAT_TO_UINT(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_RED_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLuint) rgba[i][RCOMP];
+ }
+ break;
+ case GL_GREEN_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLuint) rgba[i][GCOMP];
+ }
+ break;
+ case GL_BLUE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLuint) rgba[i][BCOMP];
+ }
+ break;
+ case GL_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLuint) rgba[i][ACOMP];
+ }
+ break;
+ case GL_RGB_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLuint) rgba[i][RCOMP];
+ dst[i*3+1] = (GLuint) rgba[i][GCOMP];
+ dst[i*3+2] = (GLuint) rgba[i][BCOMP];
+ }
+ break;
+ case GL_RGBA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLuint) rgba[i][RCOMP];
+ dst[i*4+1] = (GLuint) rgba[i][GCOMP];
+ dst[i*4+2] = (GLuint) rgba[i][BCOMP];
+ dst[i*4+3] = (GLuint) rgba[i][ACOMP];
+ }
+ break;
+ case GL_BGR_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLuint) rgba[i][BCOMP];
+ dst[i*3+1] = (GLuint) rgba[i][GCOMP];
+ dst[i*3+2] = (GLuint) rgba[i][RCOMP];
+ }
+ break;
+ case GL_BGRA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLuint) rgba[i][BCOMP];
+ dst[i*4+1] = (GLuint) rgba[i][GCOMP];
+ dst[i*4+2] = (GLuint) rgba[i][RCOMP];
+ dst[i*4+3] = (GLuint) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = (GLuint) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ dst[i*2+1] = (GLuint) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLuint) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ }
+ break;
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_UINT(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_UINT(rgba[i][GCOMP]);
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
+ }
+ }
+ break;
+ case GL_INT:
+ {
+ GLint *dst = (GLint *) dstAddr;
+ switch (dstFormat) {
+ case GL_RED:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_INT(rgba[i][RCOMP]);
+ break;
+ case GL_GREEN:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_INT(rgba[i][GCOMP]);
+ break;
+ case GL_BLUE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_INT(rgba[i][BCOMP]);
+ break;
+ case GL_ALPHA:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_INT(rgba[i][ACOMP]);
+ break;
+ case GL_LUMINANCE:
+ for (i=0;i<n;i++)
+ dst[i] = FLOAT_TO_INT(luminance[i]);
+ break;
+ case GL_LUMINANCE_ALPHA:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_INT(luminance[i]);
+ dst[i*2+1] = FLOAT_TO_INT(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_RG:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_INT(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
+ }
+ break;
+ case GL_RGB:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_INT(rgba[i][RCOMP]);
+ dst[i*3+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_INT(rgba[i][BCOMP]);
+ }
+ break;
+ case GL_RGBA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_INT(rgba[i][RCOMP]);
+ dst[i*4+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_INT(rgba[i][BCOMP]);
+ dst[i*4+3] = FLOAT_TO_INT(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_BGR:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = FLOAT_TO_INT(rgba[i][BCOMP]);
+ dst[i*3+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
+ dst[i*3+2] = FLOAT_TO_INT(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_BGRA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_INT(rgba[i][BCOMP]);
+ dst[i*4+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
+ dst[i*4+2] = FLOAT_TO_INT(rgba[i][RCOMP]);
+ dst[i*4+3] = FLOAT_TO_INT(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_ABGR_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = FLOAT_TO_INT(rgba[i][ACOMP]);
+ dst[i*4+1] = FLOAT_TO_INT(rgba[i][BCOMP]);
+ dst[i*4+2] = FLOAT_TO_INT(rgba[i][GCOMP]);
+ dst[i*4+3] = FLOAT_TO_INT(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = FLOAT_TO_INT(rgba[i][RCOMP]);
+ dst[i*2+1] = FLOAT_TO_INT(rgba[i][GCOMP]);
+ }
+ break;
+ case GL_RED_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLint) rgba[i][RCOMP];
+ }
+ break;
+ case GL_GREEN_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLint) rgba[i][GCOMP];
+ }
+ break;
+ case GL_BLUE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLint) rgba[i][BCOMP];
+ }
+ break;
+ case GL_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLint) rgba[i][ACOMP];
+ }
+ break;
+ case GL_RGB_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLint) rgba[i][RCOMP];
+ dst[i*3+1] = (GLint) rgba[i][GCOMP];
+ dst[i*3+2] = (GLint) rgba[i][BCOMP];
+ }
+ break;
+ case GL_RGBA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLint) rgba[i][RCOMP];
+ dst[i*4+1] = (GLint) rgba[i][GCOMP];
+ dst[i*4+2] = (GLint) rgba[i][BCOMP];
+ dst[i*4+3] = (GLint) rgba[i][ACOMP];
+ }
+ break;
+ case GL_BGR_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = (GLint) rgba[i][BCOMP];
+ dst[i*3+1] = (GLint) rgba[i][GCOMP];
+ dst[i*3+2] = (GLint) rgba[i][RCOMP];
+ }
+ break;
+ case GL_BGRA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = (GLint) rgba[i][BCOMP];
+ dst[i*4+1] = (GLint) rgba[i][GCOMP];
+ dst[i*4+2] = (GLint) rgba[i][RCOMP];
+ dst[i*4+3] = (GLint) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = (GLint) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ dst[i*2+1] = (GLint) rgba[i][ACOMP];
+ }
+ break;
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
+ for (i=0;i<n;i++) {
+ dst[i] = (GLint) (rgba[i][RCOMP] +
+ rgba[i][GCOMP] +
+ rgba[i][BCOMP]);
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
+ }
+ }
+ break;
+ case GL_FLOAT:
+ {
+ GLfloat *dst = (GLfloat *) dstAddr;
+ switch (dstFormat) {
+ case GL_RED:
+ for (i=0;i<n;i++)
+ dst[i] = rgba[i][RCOMP];
+ break;
+ case GL_GREEN:
+ for (i=0;i<n;i++)
+ dst[i] = rgba[i][GCOMP];
+ break;
+ case GL_BLUE:
+ for (i=0;i<n;i++)
+ dst[i] = rgba[i][BCOMP];
+ break;
+ case GL_ALPHA:
+ for (i=0;i<n;i++)
+ dst[i] = rgba[i][ACOMP];
+ break;
+ case GL_LUMINANCE:
+ for (i=0;i<n;i++)
+ dst[i] = luminance[i];
+ break;
+ case GL_LUMINANCE_ALPHA:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = luminance[i];
+ dst[i*2+1] = rgba[i][ACOMP];
+ }
+ break;
+ case GL_RG:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = rgba[i][RCOMP];
+ dst[i*2+1] = rgba[i][GCOMP];
+ }
+ break;
+ case GL_RGB:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = rgba[i][RCOMP];
+ dst[i*3+1] = rgba[i][GCOMP];
+ dst[i*3+2] = rgba[i][BCOMP];
+ }
+ break;
+ case GL_RGBA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = rgba[i][RCOMP];
+ dst[i*4+1] = rgba[i][GCOMP];
+ dst[i*4+2] = rgba[i][BCOMP];
+ dst[i*4+3] = rgba[i][ACOMP];
+ }
+ break;
+ case GL_BGR:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = rgba[i][BCOMP];
+ dst[i*3+1] = rgba[i][GCOMP];
+ dst[i*3+2] = rgba[i][RCOMP];
+ }
+ break;
+ case GL_BGRA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = rgba[i][BCOMP];
+ dst[i*4+1] = rgba[i][GCOMP];
+ dst[i*4+2] = rgba[i][RCOMP];
+ dst[i*4+3] = rgba[i][ACOMP];
+ }
+ break;
+ case GL_ABGR_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = rgba[i][ACOMP];
+ dst[i*4+1] = rgba[i][BCOMP];
+ dst[i*4+2] = rgba[i][GCOMP];
+ dst[i*4+3] = rgba[i][RCOMP];
+ }
+ break;
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = rgba[i][RCOMP];
+ dst[i*2+1] = rgba[i][GCOMP];
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
+ }
+ }
+ break;
+ case GL_HALF_FLOAT_ARB:
+ {
+ GLhalfARB *dst = (GLhalfARB *) dstAddr;
+ switch (dstFormat) {
+ case GL_RED:
+ for (i=0;i<n;i++)
+ dst[i] = _mesa_float_to_half(rgba[i][RCOMP]);
+ break;
+ case GL_GREEN:
+ for (i=0;i<n;i++)
+ dst[i] = _mesa_float_to_half(rgba[i][GCOMP]);
+ break;
+ case GL_BLUE:
+ for (i=0;i<n;i++)
+ dst[i] = _mesa_float_to_half(rgba[i][BCOMP]);
+ break;
+ case GL_ALPHA:
+ for (i=0;i<n;i++)
+ dst[i] = _mesa_float_to_half(rgba[i][ACOMP]);
+ break;
+ case GL_LUMINANCE:
+ for (i=0;i<n;i++)
+ dst[i] = _mesa_float_to_half(luminance[i]);
+ break;
+ case GL_LUMINANCE_ALPHA:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = _mesa_float_to_half(luminance[i]);
+ dst[i*2+1] = _mesa_float_to_half(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_RG:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = _mesa_float_to_half(rgba[i][RCOMP]);
+ dst[i*2+1] = _mesa_float_to_half(rgba[i][GCOMP]);
+ }
+ break;
+ case GL_RGB:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = _mesa_float_to_half(rgba[i][RCOMP]);
+ dst[i*3+1] = _mesa_float_to_half(rgba[i][GCOMP]);
+ dst[i*3+2] = _mesa_float_to_half(rgba[i][BCOMP]);
+ }
+ break;
+ case GL_RGBA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = _mesa_float_to_half(rgba[i][RCOMP]);
+ dst[i*4+1] = _mesa_float_to_half(rgba[i][GCOMP]);
+ dst[i*4+2] = _mesa_float_to_half(rgba[i][BCOMP]);
+ dst[i*4+3] = _mesa_float_to_half(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_BGR:
+ for (i=0;i<n;i++) {
+ dst[i*3+0] = _mesa_float_to_half(rgba[i][BCOMP]);
+ dst[i*3+1] = _mesa_float_to_half(rgba[i][GCOMP]);
+ dst[i*3+2] = _mesa_float_to_half(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_BGRA:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = _mesa_float_to_half(rgba[i][BCOMP]);
+ dst[i*4+1] = _mesa_float_to_half(rgba[i][GCOMP]);
+ dst[i*4+2] = _mesa_float_to_half(rgba[i][RCOMP]);
+ dst[i*4+3] = _mesa_float_to_half(rgba[i][ACOMP]);
+ }
+ break;
+ case GL_ABGR_EXT:
+ for (i=0;i<n;i++) {
+ dst[i*4+0] = _mesa_float_to_half(rgba[i][ACOMP]);
+ dst[i*4+1] = _mesa_float_to_half(rgba[i][BCOMP]);
+ dst[i*4+2] = _mesa_float_to_half(rgba[i][GCOMP]);
+ dst[i*4+3] = _mesa_float_to_half(rgba[i][RCOMP]);
+ }
+ break;
+ case GL_DUDV_ATI:
+ case GL_DU8DV8_ATI:
+ for (i=0;i<n;i++) {
+ dst[i*2+0] = _mesa_float_to_half(rgba[i][RCOMP]);
+ dst[i*2+1] = _mesa_float_to_half(rgba[i][GCOMP]);
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad format in _mesa_pack_rgba_span\n");
+ }
+ }
+ break;
+ case GL_UNSIGNED_BYTE_3_3_2:
+ if (dstFormat == GL_RGB) {
+ GLubyte *dst = (GLubyte *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 7.0F) << 5)
+ | (IROUND(rgba[i][GCOMP] * 7.0F) << 2)
+ | (IROUND(rgba[i][BCOMP] * 3.0F) );
+ }
+ }
+ break;
+ case GL_UNSIGNED_BYTE_2_3_3_REV:
+ if (dstFormat == GL_RGB) {
+ GLubyte *dst = (GLubyte *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 7.0F) )
+ | (IROUND(rgba[i][GCOMP] * 7.0F) << 3)
+ | (IROUND(rgba[i][BCOMP] * 3.0F) << 6);
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_5_6_5:
+ if (dstFormat == GL_RGB) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 31.0F) << 11)
+ | (IROUND(rgba[i][GCOMP] * 63.0F) << 5)
+ | (IROUND(rgba[i][BCOMP] * 31.0F) );
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_5_6_5_REV:
+ if (dstFormat == GL_RGB) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 31.0F) )
+ | (IROUND(rgba[i][GCOMP] * 63.0F) << 5)
+ | (IROUND(rgba[i][BCOMP] * 31.0F) << 11);
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_4_4_4_4:
+ if (dstFormat == GL_RGBA) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 15.0F) << 12)
+ | (IROUND(rgba[i][GCOMP] * 15.0F) << 8)
+ | (IROUND(rgba[i][BCOMP] * 15.0F) << 4)
+ | (IROUND(rgba[i][ACOMP] * 15.0F) );
+ }
+ }
+ else if (dstFormat == GL_BGRA) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][BCOMP] * 15.0F) << 12)
+ | (IROUND(rgba[i][GCOMP] * 15.0F) << 8)
+ | (IROUND(rgba[i][RCOMP] * 15.0F) << 4)
+ | (IROUND(rgba[i][ACOMP] * 15.0F) );
+ }
+ }
+ else if (dstFormat == GL_ABGR_EXT) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][ACOMP] * 15.0F) << 12)
+ | (IROUND(rgba[i][BCOMP] * 15.0F) << 8)
+ | (IROUND(rgba[i][GCOMP] * 15.0F) << 4)
+ | (IROUND(rgba[i][RCOMP] * 15.0F) );
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_4_4_4_4_REV:
+ if (dstFormat == GL_RGBA) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 15.0F) )
+ | (IROUND(rgba[i][GCOMP] * 15.0F) << 4)
+ | (IROUND(rgba[i][BCOMP] * 15.0F) << 8)
+ | (IROUND(rgba[i][ACOMP] * 15.0F) << 12);
+ }
+ }
+ else if (dstFormat == GL_BGRA) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][BCOMP] * 15.0F) )
+ | (IROUND(rgba[i][GCOMP] * 15.0F) << 4)
+ | (IROUND(rgba[i][RCOMP] * 15.0F) << 8)
+ | (IROUND(rgba[i][ACOMP] * 15.0F) << 12);
+ }
+ }
+ else if (dstFormat == GL_ABGR_EXT) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][ACOMP] * 15.0F) )
+ | (IROUND(rgba[i][BCOMP] * 15.0F) << 4)
+ | (IROUND(rgba[i][GCOMP] * 15.0F) << 8)
+ | (IROUND(rgba[i][RCOMP] * 15.0F) << 12);
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_5_5_5_1:
+ if (dstFormat == GL_RGBA) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 31.0F) << 11)
+ | (IROUND(rgba[i][GCOMP] * 31.0F) << 6)
+ | (IROUND(rgba[i][BCOMP] * 31.0F) << 1)
+ | (IROUND(rgba[i][ACOMP] * 1.0F) );
+ }
+ }
+ else if (dstFormat == GL_BGRA) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][BCOMP] * 31.0F) << 11)
+ | (IROUND(rgba[i][GCOMP] * 31.0F) << 6)
+ | (IROUND(rgba[i][RCOMP] * 31.0F) << 1)
+ | (IROUND(rgba[i][ACOMP] * 1.0F) );
+ }
+ }
+ else if (dstFormat == GL_ABGR_EXT) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][ACOMP] * 31.0F) << 11)
+ | (IROUND(rgba[i][BCOMP] * 31.0F) << 6)
+ | (IROUND(rgba[i][GCOMP] * 31.0F) << 1)
+ | (IROUND(rgba[i][RCOMP] * 1.0F) );
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_1_5_5_5_REV:
+ if (dstFormat == GL_RGBA) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 31.0F) )
+ | (IROUND(rgba[i][GCOMP] * 31.0F) << 5)
+ | (IROUND(rgba[i][BCOMP] * 31.0F) << 10)
+ | (IROUND(rgba[i][ACOMP] * 1.0F) << 15);
+ }
+ }
+ else if (dstFormat == GL_BGRA) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][BCOMP] * 31.0F) )
+ | (IROUND(rgba[i][GCOMP] * 31.0F) << 5)
+ | (IROUND(rgba[i][RCOMP] * 31.0F) << 10)
+ | (IROUND(rgba[i][ACOMP] * 1.0F) << 15);
+ }
+ }
+ else if (dstFormat == GL_ABGR_EXT) {
+ GLushort *dst = (GLushort *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][ACOMP] * 31.0F) )
+ | (IROUND(rgba[i][BCOMP] * 31.0F) << 5)
+ | (IROUND(rgba[i][GCOMP] * 31.0F) << 10)
+ | (IROUND(rgba[i][RCOMP] * 1.0F) << 15);
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT_8_8_8_8:
+ if (dstFormat == GL_RGBA) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 255.F) << 24)
+ | (IROUND(rgba[i][GCOMP] * 255.F) << 16)
+ | (IROUND(rgba[i][BCOMP] * 255.F) << 8)
+ | (IROUND(rgba[i][ACOMP] * 255.F) );
+ }
+ }
+ else if (dstFormat == GL_BGRA) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][BCOMP] * 255.F) << 24)
+ | (IROUND(rgba[i][GCOMP] * 255.F) << 16)
+ | (IROUND(rgba[i][RCOMP] * 255.F) << 8)
+ | (IROUND(rgba[i][ACOMP] * 255.F) );
+ }
+ }
+ else if (dstFormat == GL_ABGR_EXT) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][ACOMP] * 255.F) << 24)
+ | (IROUND(rgba[i][BCOMP] * 255.F) << 16)
+ | (IROUND(rgba[i][GCOMP] * 255.F) << 8)
+ | (IROUND(rgba[i][RCOMP] * 255.F) );
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT_8_8_8_8_REV:
+ if (dstFormat == GL_RGBA) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 255.0F) )
+ | (IROUND(rgba[i][GCOMP] * 255.0F) << 8)
+ | (IROUND(rgba[i][BCOMP] * 255.0F) << 16)
+ | (IROUND(rgba[i][ACOMP] * 255.0F) << 24);
+ }
+ }
+ else if (dstFormat == GL_BGRA) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][BCOMP] * 255.0F) )
+ | (IROUND(rgba[i][GCOMP] * 255.0F) << 8)
+ | (IROUND(rgba[i][RCOMP] * 255.0F) << 16)
+ | (IROUND(rgba[i][ACOMP] * 255.0F) << 24);
+ }
+ }
+ else if (dstFormat == GL_ABGR_EXT) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][ACOMP] * 255.0F) )
+ | (IROUND(rgba[i][BCOMP] * 255.0F) << 8)
+ | (IROUND(rgba[i][GCOMP] * 255.0F) << 16)
+ | (IROUND(rgba[i][RCOMP] * 255.0F) << 24);
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT_10_10_10_2:
+ if (dstFormat == GL_RGBA) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 1023.0F) << 22)
+ | (IROUND(rgba[i][GCOMP] * 1023.0F) << 12)
+ | (IROUND(rgba[i][BCOMP] * 1023.0F) << 2)
+ | (IROUND(rgba[i][ACOMP] * 3.0F) );
+ }
+ }
+ else if (dstFormat == GL_BGRA) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][BCOMP] * 1023.0F) << 22)
+ | (IROUND(rgba[i][GCOMP] * 1023.0F) << 12)
+ | (IROUND(rgba[i][RCOMP] * 1023.0F) << 2)
+ | (IROUND(rgba[i][ACOMP] * 3.0F) );
+ }
+ }
+ else if (dstFormat == GL_ABGR_EXT) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][ACOMP] * 1023.0F) << 22)
+ | (IROUND(rgba[i][BCOMP] * 1023.0F) << 12)
+ | (IROUND(rgba[i][GCOMP] * 1023.0F) << 2)
+ | (IROUND(rgba[i][RCOMP] * 3.0F) );
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT_2_10_10_10_REV:
+ if (dstFormat == GL_RGBA) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][RCOMP] * 1023.0F) )
+ | (IROUND(rgba[i][GCOMP] * 1023.0F) << 10)
+ | (IROUND(rgba[i][BCOMP] * 1023.0F) << 20)
+ | (IROUND(rgba[i][ACOMP] * 3.0F) << 30);
+ }
+ }
+ else if (dstFormat == GL_BGRA) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][BCOMP] * 1023.0F) )
+ | (IROUND(rgba[i][GCOMP] * 1023.0F) << 10)
+ | (IROUND(rgba[i][RCOMP] * 1023.0F) << 20)
+ | (IROUND(rgba[i][ACOMP] * 3.0F) << 30);
+ }
+ }
+ else if (dstFormat == GL_ABGR_EXT) {
+ GLuint *dst = (GLuint *) dstAddr;
+ for (i=0;i<n;i++) {
+ dst[i] = (IROUND(rgba[i][ACOMP] * 1023.0F) )
+ | (IROUND(rgba[i][BCOMP] * 1023.0F) << 10)
+ | (IROUND(rgba[i][GCOMP] * 1023.0F) << 20)
+ | (IROUND(rgba[i][RCOMP] * 3.0F) << 30);
+ }
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad type in _mesa_pack_rgba_span_float");
+ return;
+ }
+
+ if (dstPacking->SwapBytes) {
+ GLint swapSize = _mesa_sizeof_packed_type(dstType);
+ if (swapSize == 2) {
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2((GLushort *) dstAddr, n * comps);
+ }
+ }
+ else if (swapSize == 4) {
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4((GLuint *) dstAddr, n * comps);
+ }
+ }
+ }
+}
+
+
+
+#define SWAP2BYTE(VALUE) \
+ { \
+ GLubyte *bytes = (GLubyte *) &(VALUE); \
+ GLubyte tmp = bytes[0]; \
+ bytes[0] = bytes[1]; \
+ bytes[1] = tmp; \
+ }
+
+#define SWAP4BYTE(VALUE) \
+ { \
+ GLubyte *bytes = (GLubyte *) &(VALUE); \
+ GLubyte tmp = bytes[0]; \
+ bytes[0] = bytes[3]; \
+ bytes[3] = tmp; \
+ tmp = bytes[1]; \
+ bytes[1] = bytes[2]; \
+ bytes[2] = tmp; \
+ }
+
+
+static void
+extract_uint_indexes(GLuint n, GLuint indexes[],
+ GLenum srcFormat, GLenum srcType, const GLvoid *src,
+ const struct gl_pixelstore_attrib *unpack )
+{
+ ASSERT(srcFormat == GL_COLOR_INDEX || srcFormat == GL_STENCIL_INDEX);
+
+ ASSERT(srcType == GL_BITMAP ||
+ srcType == GL_UNSIGNED_BYTE ||
+ srcType == GL_BYTE ||
+ srcType == GL_UNSIGNED_SHORT ||
+ srcType == GL_SHORT ||
+ srcType == GL_UNSIGNED_INT ||
+ srcType == GL_INT ||
+ srcType == GL_UNSIGNED_INT_24_8_EXT ||
+ srcType == GL_HALF_FLOAT_ARB ||
+ srcType == GL_FLOAT);
+
+ switch (srcType) {
+ case GL_BITMAP:
+ {
+ GLubyte *ubsrc = (GLubyte *) src;
+ if (unpack->LsbFirst) {
+ GLubyte mask = 1 << (unpack->SkipPixels & 0x7);
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ indexes[i] = (*ubsrc & mask) ? 1 : 0;
+ if (mask == 128) {
+ mask = 1;
+ ubsrc++;
+ }
+ else {
+ mask = mask << 1;
+ }
+ }
+ }
+ else {
+ GLubyte mask = 128 >> (unpack->SkipPixels & 0x7);
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ indexes[i] = (*ubsrc & mask) ? 1 : 0;
+ if (mask == 1) {
+ mask = 128;
+ ubsrc++;
+ }
+ else {
+ mask = mask >> 1;
+ }
+ }
+ }
+ }
+ break;
+ case GL_UNSIGNED_BYTE:
+ {
+ GLuint i;
+ const GLubyte *s = (const GLubyte *) src;
+ for (i = 0; i < n; i++)
+ indexes[i] = s[i];
+ }
+ break;
+ case GL_BYTE:
+ {
+ GLuint i;
+ const GLbyte *s = (const GLbyte *) src;
+ for (i = 0; i < n; i++)
+ indexes[i] = s[i];
+ }
+ break;
+ case GL_UNSIGNED_SHORT:
+ {
+ GLuint i;
+ const GLushort *s = (const GLushort *) src;
+ if (unpack->SwapBytes) {
+ for (i = 0; i < n; i++) {
+ GLushort value = s[i];
+ SWAP2BYTE(value);
+ indexes[i] = value;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++)
+ indexes[i] = s[i];
+ }
+ }
+ break;
+ case GL_SHORT:
+ {
+ GLuint i;
+ const GLshort *s = (const GLshort *) src;
+ if (unpack->SwapBytes) {
+ for (i = 0; i < n; i++) {
+ GLshort value = s[i];
+ SWAP2BYTE(value);
+ indexes[i] = value;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++)
+ indexes[i] = s[i];
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT:
+ {
+ GLuint i;
+ const GLuint *s = (const GLuint *) src;
+ if (unpack->SwapBytes) {
+ for (i = 0; i < n; i++) {
+ GLuint value = s[i];
+ SWAP4BYTE(value);
+ indexes[i] = value;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++)
+ indexes[i] = s[i];
+ }
+ }
+ break;
+ case GL_INT:
+ {
+ GLuint i;
+ const GLint *s = (const GLint *) src;
+ if (unpack->SwapBytes) {
+ for (i = 0; i < n; i++) {
+ GLint value = s[i];
+ SWAP4BYTE(value);
+ indexes[i] = value;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++)
+ indexes[i] = s[i];
+ }
+ }
+ break;
+ case GL_FLOAT:
+ {
+ GLuint i;
+ const GLfloat *s = (const GLfloat *) src;
+ if (unpack->SwapBytes) {
+ for (i = 0; i < n; i++) {
+ GLfloat value = s[i];
+ SWAP4BYTE(value);
+ indexes[i] = (GLuint) value;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++)
+ indexes[i] = (GLuint) s[i];
+ }
+ }
+ break;
+ case GL_HALF_FLOAT_ARB:
+ {
+ GLuint i;
+ const GLhalfARB *s = (const GLhalfARB *) src;
+ if (unpack->SwapBytes) {
+ for (i = 0; i < n; i++) {
+ GLhalfARB value = s[i];
+ SWAP2BYTE(value);
+ indexes[i] = (GLuint) _mesa_half_to_float(value);
+ }
+ }
+ else {
+ for (i = 0; i < n; i++)
+ indexes[i] = (GLuint) _mesa_half_to_float(s[i]);
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT_24_8_EXT:
+ {
+ GLuint i;
+ const GLuint *s = (const GLuint *) src;
+ if (unpack->SwapBytes) {
+ for (i = 0; i < n; i++) {
+ GLuint value = s[i];
+ SWAP4BYTE(value);
+ indexes[i] = value & 0xff; /* lower 8 bits */
+ }
+ }
+ else {
+ for (i = 0; i < n; i++)
+ indexes[i] = s[i] & 0xff; /* lower 8 bits */
+ }
+ }
+ break;
+
+ default:
+ _mesa_problem(NULL, "bad srcType in extract_uint_indexes");
+ return;
+ }
+}
+
+
+/*
+ * This function extracts floating point RGBA values from arbitrary
+ * image data. srcFormat and srcType are the format and type parameters
+ * passed to glDrawPixels, glTexImage[123]D, glTexSubImage[123]D, etc.
+ *
+ * Refering to section 3.6.4 of the OpenGL 1.2 spec, this function
+ * implements the "Conversion to floating point", "Conversion to RGB",
+ * and "Final Expansion to RGBA" operations.
+ *
+ * Args: n - number of pixels
+ * rgba - output colors
+ * srcFormat - format of incoming data
+ * srcType - data type of incoming data
+ * src - source data pointer
+ * swapBytes - perform byteswapping of incoming data?
+ */
+static void
+extract_float_rgba(GLuint n, GLfloat rgba[][4],
+ GLenum srcFormat, GLenum srcType, const GLvoid *src,
+ GLboolean swapBytes)
+{
+ GLint redIndex, greenIndex, blueIndex, alphaIndex;
+ GLint stride;
+ GLint rComp, bComp, gComp, aComp;
+ GLboolean intFormat;
+ GLfloat rs = 1.0f, gs = 1.0f, bs = 1.0f, as = 1.0f; /* scale factors */
+
+ ASSERT(srcFormat == GL_RED ||
+ srcFormat == GL_GREEN ||
+ srcFormat == GL_BLUE ||
+ srcFormat == GL_ALPHA ||
+ srcFormat == GL_LUMINANCE ||
+ srcFormat == GL_LUMINANCE_ALPHA ||
+ srcFormat == GL_INTENSITY ||
+ srcFormat == GL_RG ||
+ srcFormat == GL_RGB ||
+ srcFormat == GL_BGR ||
+ srcFormat == GL_RGBA ||
+ srcFormat == GL_BGRA ||
+ srcFormat == GL_ABGR_EXT ||
+ srcFormat == GL_DU8DV8_ATI ||
+ srcFormat == GL_DUDV_ATI ||
+ srcFormat == GL_RED_INTEGER_EXT ||
+ srcFormat == GL_GREEN_INTEGER_EXT ||
+ srcFormat == GL_BLUE_INTEGER_EXT ||
+ srcFormat == GL_ALPHA_INTEGER_EXT ||
+ srcFormat == GL_RGB_INTEGER_EXT ||
+ srcFormat == GL_RGBA_INTEGER_EXT ||
+ srcFormat == GL_BGR_INTEGER_EXT ||
+ srcFormat == GL_BGRA_INTEGER_EXT ||
+ srcFormat == GL_LUMINANCE_INTEGER_EXT ||
+ srcFormat == GL_LUMINANCE_ALPHA_INTEGER_EXT);
+
+ ASSERT(srcType == GL_UNSIGNED_BYTE ||
+ srcType == GL_BYTE ||
+ srcType == GL_UNSIGNED_SHORT ||
+ srcType == GL_SHORT ||
+ srcType == GL_UNSIGNED_INT ||
+ srcType == GL_INT ||
+ srcType == GL_HALF_FLOAT_ARB ||
+ srcType == GL_FLOAT ||
+ srcType == GL_UNSIGNED_BYTE_3_3_2 ||
+ srcType == GL_UNSIGNED_BYTE_2_3_3_REV ||
+ srcType == GL_UNSIGNED_SHORT_5_6_5 ||
+ srcType == GL_UNSIGNED_SHORT_5_6_5_REV ||
+ srcType == GL_UNSIGNED_SHORT_4_4_4_4 ||
+ srcType == GL_UNSIGNED_SHORT_4_4_4_4_REV ||
+ srcType == GL_UNSIGNED_SHORT_5_5_5_1 ||
+ srcType == GL_UNSIGNED_SHORT_1_5_5_5_REV ||
+ srcType == GL_UNSIGNED_INT_8_8_8_8 ||
+ srcType == GL_UNSIGNED_INT_8_8_8_8_REV ||
+ srcType == GL_UNSIGNED_INT_10_10_10_2 ||
+ srcType == GL_UNSIGNED_INT_2_10_10_10_REV);
+
+ rComp = gComp = bComp = aComp = -1;
+
+ switch (srcFormat) {
+ case GL_RED:
+ case GL_RED_INTEGER_EXT:
+ redIndex = 0;
+ greenIndex = blueIndex = alphaIndex = -1;
+ stride = 1;
+ break;
+ case GL_GREEN:
+ case GL_GREEN_INTEGER_EXT:
+ greenIndex = 0;
+ redIndex = blueIndex = alphaIndex = -1;
+ stride = 1;
+ break;
+ case GL_BLUE:
+ case GL_BLUE_INTEGER_EXT:
+ blueIndex = 0;
+ redIndex = greenIndex = alphaIndex = -1;
+ stride = 1;
+ break;
+ case GL_ALPHA:
+ case GL_ALPHA_INTEGER_EXT:
+ redIndex = greenIndex = blueIndex = -1;
+ alphaIndex = 0;
+ stride = 1;
+ break;
+ case GL_LUMINANCE:
+ case GL_LUMINANCE_INTEGER_EXT:
+ redIndex = greenIndex = blueIndex = 0;
+ alphaIndex = -1;
+ stride = 1;
+ break;
+ case GL_LUMINANCE_ALPHA:
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
+ redIndex = greenIndex = blueIndex = 0;
+ alphaIndex = 1;
+ stride = 2;
+ break;
+ case GL_INTENSITY:
+ redIndex = greenIndex = blueIndex = alphaIndex = 0;
+ stride = 1;
+ break;
+ case GL_RG:
+ case GL_RG_INTEGER:
+ redIndex = 0;
+ greenIndex = 1;
+ blueIndex = -1;
+ alphaIndex = -1;
+ rComp = 0;
+ gComp = 1;
+ bComp = 2;
+ aComp = 3;
+ stride = 2;
+ break;
+ case GL_RGB:
+ case GL_RGB_INTEGER:
+ redIndex = 0;
+ greenIndex = 1;
+ blueIndex = 2;
+ alphaIndex = -1;
+ rComp = 0;
+ gComp = 1;
+ bComp = 2;
+ aComp = 3;
+ stride = 3;
+ break;
+ case GL_BGR:
+ redIndex = 2;
+ greenIndex = 1;
+ blueIndex = 0;
+ alphaIndex = -1;
+ rComp = 2;
+ gComp = 1;
+ bComp = 0;
+ aComp = 3;
+ stride = 3;
+ break;
+ case GL_RGBA:
+ case GL_RGBA_INTEGER:
+ redIndex = 0;
+ greenIndex = 1;
+ blueIndex = 2;
+ alphaIndex = 3;
+ rComp = 0;
+ gComp = 1;
+ bComp = 2;
+ aComp = 3;
+ stride = 4;
+ break;
+ case GL_BGRA:
+ redIndex = 2;
+ greenIndex = 1;
+ blueIndex = 0;
+ alphaIndex = 3;
+ rComp = 2;
+ gComp = 1;
+ bComp = 0;
+ aComp = 3;
+ stride = 4;
+ break;
+ case GL_ABGR_EXT:
+ redIndex = 3;
+ greenIndex = 2;
+ blueIndex = 1;
+ alphaIndex = 0;
+ rComp = 3;
+ gComp = 2;
+ bComp = 1;
+ aComp = 0;
+ stride = 4;
+ break;
+ case GL_DU8DV8_ATI:
+ case GL_DUDV_ATI:
+ redIndex = 0;
+ greenIndex = 1;
+ blueIndex = -1;
+ alphaIndex = -1;
+ stride = 2;
+ break;
+ default:
+ _mesa_problem(NULL, "bad srcFormat %s in extract float data",
+ _mesa_lookup_enum_by_nr(srcFormat));
+ return;
+ }
+
+ intFormat = _mesa_is_integer_format(srcFormat);
+
+#define PROCESS(INDEX, CHANNEL, DEFAULT, DEFAULT_INT, TYPE, CONVERSION) \
+ if ((INDEX) < 0) { \
+ GLuint i; \
+ if (intFormat) { \
+ for (i = 0; i < n; i++) { \
+ rgba[i][CHANNEL] = DEFAULT_INT; \
+ } \
+ } \
+ else { \
+ for (i = 0; i < n; i++) { \
+ rgba[i][CHANNEL] = DEFAULT; \
+ } \
+ } \
+ } \
+ else if (swapBytes) { \
+ const TYPE *s = (const TYPE *) src; \
+ GLuint i; \
+ for (i = 0; i < n; i++) { \
+ TYPE value = s[INDEX]; \
+ if (sizeof(TYPE) == 2) { \
+ SWAP2BYTE(value); \
+ } \
+ else if (sizeof(TYPE) == 4) { \
+ SWAP4BYTE(value); \
+ } \
+ if (intFormat) \
+ rgba[i][CHANNEL] = (GLfloat) value; \
+ else \
+ rgba[i][CHANNEL] = (GLfloat) CONVERSION(value); \
+ s += stride; \
+ } \
+ } \
+ else { \
+ const TYPE *s = (const TYPE *) src; \
+ GLuint i; \
+ if (intFormat) { \
+ for (i = 0; i < n; i++) { \
+ rgba[i][CHANNEL] = (GLfloat) s[INDEX]; \
+ s += stride; \
+ } \
+ } \
+ else { \
+ for (i = 0; i < n; i++) { \
+ rgba[i][CHANNEL] = (GLfloat) CONVERSION(s[INDEX]); \
+ s += stride; \
+ } \
+ } \
+ }
+
+ switch (srcType) {
+ case GL_UNSIGNED_BYTE:
+ PROCESS(redIndex, RCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT);
+ PROCESS(greenIndex, GCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT);
+ PROCESS(blueIndex, BCOMP, 0.0F, 0, GLubyte, UBYTE_TO_FLOAT);
+ PROCESS(alphaIndex, ACOMP, 1.0F, 255, GLubyte, UBYTE_TO_FLOAT);
+ break;
+ case GL_BYTE:
+ PROCESS(redIndex, RCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT);
+ PROCESS(greenIndex, GCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT);
+ PROCESS(blueIndex, BCOMP, 0.0F, 0, GLbyte, BYTE_TO_FLOAT);
+ PROCESS(alphaIndex, ACOMP, 1.0F, 127, GLbyte, BYTE_TO_FLOAT);
+ break;
+ case GL_UNSIGNED_SHORT:
+ PROCESS(redIndex, RCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT);
+ PROCESS(greenIndex, GCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT);
+ PROCESS(blueIndex, BCOMP, 0.0F, 0, GLushort, USHORT_TO_FLOAT);
+ PROCESS(alphaIndex, ACOMP, 1.0F, 0xffff, GLushort, USHORT_TO_FLOAT);
+ break;
+ case GL_SHORT:
+ PROCESS(redIndex, RCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT);
+ PROCESS(greenIndex, GCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT);
+ PROCESS(blueIndex, BCOMP, 0.0F, 0, GLshort, SHORT_TO_FLOAT);
+ PROCESS(alphaIndex, ACOMP, 1.0F, 32767, GLshort, SHORT_TO_FLOAT);
+ break;
+ case GL_UNSIGNED_INT:
+ PROCESS(redIndex, RCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT);
+ PROCESS(greenIndex, GCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT);
+ PROCESS(blueIndex, BCOMP, 0.0F, 0, GLuint, UINT_TO_FLOAT);
+ PROCESS(alphaIndex, ACOMP, 1.0F, 0xffffffff, GLuint, UINT_TO_FLOAT);
+ break;
+ case GL_INT:
+ PROCESS(redIndex, RCOMP, 0.0F, 0, GLint, INT_TO_FLOAT);
+ PROCESS(greenIndex, GCOMP, 0.0F, 0, GLint, INT_TO_FLOAT);
+ PROCESS(blueIndex, BCOMP, 0.0F, 0, GLint, INT_TO_FLOAT);
+ PROCESS(alphaIndex, ACOMP, 1.0F, 2147483647, GLint, INT_TO_FLOAT);
+ break;
+ case GL_FLOAT:
+ PROCESS(redIndex, RCOMP, 0.0F, 0.0F, GLfloat, (GLfloat));
+ PROCESS(greenIndex, GCOMP, 0.0F, 0.0F, GLfloat, (GLfloat));
+ PROCESS(blueIndex, BCOMP, 0.0F, 0.0F, GLfloat, (GLfloat));
+ PROCESS(alphaIndex, ACOMP, 1.0F, 1.0F, GLfloat, (GLfloat));
+ break;
+ case GL_HALF_FLOAT_ARB:
+ PROCESS(redIndex, RCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float);
+ PROCESS(greenIndex, GCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float);
+ PROCESS(blueIndex, BCOMP, 0.0F, 0.0F, GLhalfARB, _mesa_half_to_float);
+ PROCESS(alphaIndex, ACOMP, 1.0F, 1.0F, GLhalfARB, _mesa_half_to_float);
+ break;
+ case GL_UNSIGNED_BYTE_3_3_2:
+ {
+ const GLubyte *ubsrc = (const GLubyte *) src;
+ GLuint i;
+ if (!intFormat) {
+ rs = 1.0F / 7.0F;
+ gs = 1.0F / 7.0F;
+ bs = 1.0F / 3.0F;
+ }
+ for (i = 0; i < n; i ++) {
+ GLubyte p = ubsrc[i];
+ rgba[i][rComp] = ((p >> 5) ) * rs;
+ rgba[i][gComp] = ((p >> 2) & 0x7) * gs;
+ rgba[i][bComp] = ((p ) & 0x3) * bs;
+ rgba[i][aComp] = 1.0F;
+ }
+ }
+ break;
+ case GL_UNSIGNED_BYTE_2_3_3_REV:
+ {
+ const GLubyte *ubsrc = (const GLubyte *) src;
+ GLuint i;
+ if (!intFormat) {
+ rs = 1.0F / 7.0F;
+ gs = 1.0F / 7.0F;
+ bs = 1.0F / 3.0F;
+ }
+ for (i = 0; i < n; i ++) {
+ GLubyte p = ubsrc[i];
+ rgba[i][rComp] = ((p ) & 0x7) * rs;
+ rgba[i][gComp] = ((p >> 3) & 0x7) * gs;
+ rgba[i][bComp] = ((p >> 6) ) * bs;
+ rgba[i][aComp] = 1.0F;
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_5_6_5:
+ if (!intFormat) {
+ rs = 1.0F / 31.0F;
+ gs = 1.0F / 63.0F;
+ bs = 1.0F / 31.0F;
+ }
+ if (swapBytes) {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ SWAP2BYTE(p);
+ rgba[i][rComp] = ((p >> 11) ) * rs;
+ rgba[i][gComp] = ((p >> 5) & 0x3f) * gs;
+ rgba[i][bComp] = ((p ) & 0x1f) * bs;
+ rgba[i][aComp] = 1.0F;
+ }
+ }
+ else {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ rgba[i][rComp] = ((p >> 11) ) * rs;
+ rgba[i][gComp] = ((p >> 5) & 0x3f) * gs;
+ rgba[i][bComp] = ((p ) & 0x1f) * bs;
+ rgba[i][aComp] = 1.0F;
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_5_6_5_REV:
+ if (!intFormat) {
+ rs = 1.0F / 31.0F;
+ gs = 1.0F / 63.0F;
+ bs = 1.0F / 31.0F;
+ }
+ if (swapBytes) {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ SWAP2BYTE(p);
+ rgba[i][rComp] = ((p ) & 0x1f) * rs;
+ rgba[i][gComp] = ((p >> 5) & 0x3f) * gs;
+ rgba[i][bComp] = ((p >> 11) ) * bs;
+ rgba[i][aComp] = 1.0F;
+ }
+ }
+ else {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ rgba[i][rComp] = ((p ) & 0x1f) * rs;
+ rgba[i][gComp] = ((p >> 5) & 0x3f) * gs;
+ rgba[i][bComp] = ((p >> 11) ) * bs;
+ rgba[i][aComp] = 1.0F;
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_4_4_4_4:
+ if (!intFormat) {
+ rs = gs = bs = as = 1.0F / 15.0F;
+ }
+ if (swapBytes) {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ SWAP2BYTE(p);
+ rgba[i][rComp] = ((p >> 12) ) * rs;
+ rgba[i][gComp] = ((p >> 8) & 0xf) * gs;
+ rgba[i][bComp] = ((p >> 4) & 0xf) * bs;
+ rgba[i][aComp] = ((p ) & 0xf) * as;
+ }
+ }
+ else {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ rgba[i][rComp] = ((p >> 12) ) * rs;
+ rgba[i][gComp] = ((p >> 8) & 0xf) * gs;
+ rgba[i][bComp] = ((p >> 4) & 0xf) * bs;
+ rgba[i][aComp] = ((p ) & 0xf) * as;
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_4_4_4_4_REV:
+ if (!intFormat) {
+ rs = gs = bs = as = 1.0F / 15.0F;
+ }
+ if (swapBytes) {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ SWAP2BYTE(p);
+ rgba[i][rComp] = ((p ) & 0xf) * rs;
+ rgba[i][gComp] = ((p >> 4) & 0xf) * gs;
+ rgba[i][bComp] = ((p >> 8) & 0xf) * bs;
+ rgba[i][aComp] = ((p >> 12) ) * as;
+ }
+ }
+ else {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ rgba[i][rComp] = ((p ) & 0xf) * rs;
+ rgba[i][gComp] = ((p >> 4) & 0xf) * gs;
+ rgba[i][bComp] = ((p >> 8) & 0xf) * bs;
+ rgba[i][aComp] = ((p >> 12) ) * as;
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_5_5_5_1:
+ if (!intFormat) {
+ rs = gs = bs = 1.0F / 31.0F;
+ }
+ if (swapBytes) {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ SWAP2BYTE(p);
+ rgba[i][rComp] = ((p >> 11) ) * rs;
+ rgba[i][gComp] = ((p >> 6) & 0x1f) * gs;
+ rgba[i][bComp] = ((p >> 1) & 0x1f) * bs;
+ rgba[i][aComp] = ((p ) & 0x1) * as;
+ }
+ }
+ else {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ rgba[i][rComp] = ((p >> 11) ) * rs;
+ rgba[i][gComp] = ((p >> 6) & 0x1f) * gs;
+ rgba[i][bComp] = ((p >> 1) & 0x1f) * bs;
+ rgba[i][aComp] = ((p ) & 0x1) * as;
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT_1_5_5_5_REV:
+ if (!intFormat) {
+ rs = gs = bs = 1.0F / 31.0F;
+ }
+ if (swapBytes) {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ SWAP2BYTE(p);
+ rgba[i][rComp] = ((p ) & 0x1f) * rs;
+ rgba[i][gComp] = ((p >> 5) & 0x1f) * gs;
+ rgba[i][bComp] = ((p >> 10) & 0x1f) * bs;
+ rgba[i][aComp] = ((p >> 15) ) * as;
+ }
+ }
+ else {
+ const GLushort *ussrc = (const GLushort *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLushort p = ussrc[i];
+ rgba[i][rComp] = ((p ) & 0x1f) * rs;
+ rgba[i][gComp] = ((p >> 5) & 0x1f) * gs;
+ rgba[i][bComp] = ((p >> 10) & 0x1f) * bs;
+ rgba[i][aComp] = ((p >> 15) ) * as;
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT_8_8_8_8:
+ if (swapBytes) {
+ const GLuint *uisrc = (const GLuint *) src;
+ GLuint i;
+ if (intFormat) {
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = (GLfloat) ((p ) & 0xff);
+ rgba[i][gComp] = (GLfloat) ((p >> 8) & 0xff);
+ rgba[i][bComp] = (GLfloat) ((p >> 16) & 0xff);
+ rgba[i][aComp] = (GLfloat) ((p >> 24) );
+ }
+ }
+ else {
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = UBYTE_TO_FLOAT((p ) & 0xff);
+ rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff);
+ rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff);
+ rgba[i][aComp] = UBYTE_TO_FLOAT((p >> 24) );
+ }
+ }
+ }
+ else {
+ const GLuint *uisrc = (const GLuint *) src;
+ GLuint i;
+ if (intFormat) {
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = (GLfloat) ((p >> 24) );
+ rgba[i][gComp] = (GLfloat) ((p >> 16) & 0xff);
+ rgba[i][bComp] = (GLfloat) ((p >> 8) & 0xff);
+ rgba[i][aComp] = (GLfloat) ((p ) & 0xff);
+ }
+ }
+ else {
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = UBYTE_TO_FLOAT((p >> 24) );
+ rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff);
+ rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff);
+ rgba[i][aComp] = UBYTE_TO_FLOAT((p ) & 0xff);
+ }
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT_8_8_8_8_REV:
+ if (swapBytes) {
+ const GLuint *uisrc = (const GLuint *) src;
+ GLuint i;
+ if (intFormat) {
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = (GLfloat) ((p >> 24) );
+ rgba[i][gComp] = (GLfloat) ((p >> 16) & 0xff);
+ rgba[i][bComp] = (GLfloat) ((p >> 8) & 0xff);
+ rgba[i][aComp] = (GLfloat) ((p ) & 0xff);
+ }
+ }
+ else {
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = UBYTE_TO_FLOAT((p >> 24) );
+ rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff);
+ rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff);
+ rgba[i][aComp] = UBYTE_TO_FLOAT((p ) & 0xff);
+ }
+ }
+ }
+ else {
+ const GLuint *uisrc = (const GLuint *) src;
+ GLuint i;
+ if (intFormat) {
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = (GLfloat) ((p ) & 0xff);
+ rgba[i][gComp] = (GLfloat) ((p >> 8) & 0xff);
+ rgba[i][bComp] = (GLfloat) ((p >> 16) & 0xff);
+ rgba[i][aComp] = (GLfloat) ((p >> 24) );
+ }
+ }
+ else {
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = UBYTE_TO_FLOAT((p ) & 0xff);
+ rgba[i][gComp] = UBYTE_TO_FLOAT((p >> 8) & 0xff);
+ rgba[i][bComp] = UBYTE_TO_FLOAT((p >> 16) & 0xff);
+ rgba[i][aComp] = UBYTE_TO_FLOAT((p >> 24) );
+ }
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT_10_10_10_2:
+ if (!intFormat) {
+ rs = 1.0F / 1023.0F;
+ gs = 1.0F / 1023.0F;
+ bs = 1.0F / 1023.0F;
+ as = 1.0F / 3.0F;
+ }
+ if (swapBytes) {
+ const GLuint *uisrc = (const GLuint *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ SWAP4BYTE(p);
+ rgba[i][rComp] = ((p >> 22) ) * rs;
+ rgba[i][gComp] = ((p >> 12) & 0x3ff) * gs;
+ rgba[i][bComp] = ((p >> 2) & 0x3ff) * bs;
+ rgba[i][aComp] = ((p ) & 0x3 ) * as;
+ }
+ }
+ else {
+ const GLuint *uisrc = (const GLuint *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = ((p >> 22) ) * rs;
+ rgba[i][gComp] = ((p >> 12) & 0x3ff) * gs;
+ rgba[i][bComp] = ((p >> 2) & 0x3ff) * bs;
+ rgba[i][aComp] = ((p ) & 0x3 ) * as;
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT_2_10_10_10_REV:
+ if (!intFormat) {
+ rs = 1.0F / 1023.0F;
+ gs = 1.0F / 1023.0F;
+ bs = 1.0F / 1023.0F;
+ as = 1.0F / 3.0F;
+ }
+ if (swapBytes) {
+ const GLuint *uisrc = (const GLuint *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ SWAP4BYTE(p);
+ rgba[i][rComp] = ((p ) & 0x3ff) * rs;
+ rgba[i][gComp] = ((p >> 10) & 0x3ff) * gs;
+ rgba[i][bComp] = ((p >> 20) & 0x3ff) * bs;
+ rgba[i][aComp] = ((p >> 30) ) * as;
+ }
+ }
+ else {
+ const GLuint *uisrc = (const GLuint *) src;
+ GLuint i;
+ for (i = 0; i < n; i ++) {
+ GLuint p = uisrc[i];
+ rgba[i][rComp] = ((p ) & 0x3ff) * rs;
+ rgba[i][gComp] = ((p >> 10) & 0x3ff) * gs;
+ rgba[i][bComp] = ((p >> 20) & 0x3ff) * bs;
+ rgba[i][aComp] = ((p >> 30) ) * as;
+ }
+ }
+ break;
+ default:
+ _mesa_problem(NULL, "bad srcType in extract float data");
+ break;
+ }
+}
+
+
+/*
+ * Unpack a row of color image data from a client buffer according to
+ * the pixel unpacking parameters.
+ * Return GLchan values in the specified dest image format.
+ * This is used by glDrawPixels and glTexImage?D().
+ * \param ctx - the context
+ * n - number of pixels in the span
+ * dstFormat - format of destination color array
+ * dest - the destination color array
+ * srcFormat - source image format
+ * srcType - source image data type
+ * source - source image pointer
+ * srcPacking - pixel unpacking parameters
+ * transferOps - bitmask of IMAGE_*_BIT values of operations to apply
+ *
+ * XXX perhaps expand this to process whole images someday.
+ */
+void
+_mesa_unpack_color_span_chan( struct gl_context *ctx,
+ GLuint n, GLenum dstFormat, GLchan dest[],
+ GLenum srcFormat, GLenum srcType,
+ const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps )
+{
+ ASSERT(dstFormat == GL_ALPHA ||
+ dstFormat == GL_LUMINANCE ||
+ dstFormat == GL_LUMINANCE_ALPHA ||
+ dstFormat == GL_INTENSITY ||
+ dstFormat == GL_RED ||
+ dstFormat == GL_RG ||
+ dstFormat == GL_RGB ||
+ dstFormat == GL_RGBA ||
+ dstFormat == GL_COLOR_INDEX);
+
+ ASSERT(srcFormat == GL_RED ||
+ srcFormat == GL_GREEN ||
+ srcFormat == GL_BLUE ||
+ srcFormat == GL_ALPHA ||
+ srcFormat == GL_LUMINANCE ||
+ srcFormat == GL_LUMINANCE_ALPHA ||
+ srcFormat == GL_INTENSITY ||
+ srcFormat == GL_RG ||
+ srcFormat == GL_RGB ||
+ srcFormat == GL_BGR ||
+ srcFormat == GL_RGBA ||
+ srcFormat == GL_BGRA ||
+ srcFormat == GL_ABGR_EXT ||
+ srcFormat == GL_COLOR_INDEX);
+
+ ASSERT(srcType == GL_BITMAP ||
+ srcType == GL_UNSIGNED_BYTE ||
+ srcType == GL_BYTE ||
+ srcType == GL_UNSIGNED_SHORT ||
+ srcType == GL_SHORT ||
+ srcType == GL_UNSIGNED_INT ||
+ srcType == GL_INT ||
+ srcType == GL_HALF_FLOAT_ARB ||
+ srcType == GL_FLOAT ||
+ srcType == GL_UNSIGNED_BYTE_3_3_2 ||
+ srcType == GL_UNSIGNED_BYTE_2_3_3_REV ||
+ srcType == GL_UNSIGNED_SHORT_5_6_5 ||
+ srcType == GL_UNSIGNED_SHORT_5_6_5_REV ||
+ srcType == GL_UNSIGNED_SHORT_4_4_4_4 ||
+ srcType == GL_UNSIGNED_SHORT_4_4_4_4_REV ||
+ srcType == GL_UNSIGNED_SHORT_5_5_5_1 ||
+ srcType == GL_UNSIGNED_SHORT_1_5_5_5_REV ||
+ srcType == GL_UNSIGNED_INT_8_8_8_8 ||
+ srcType == GL_UNSIGNED_INT_8_8_8_8_REV ||
+ srcType == GL_UNSIGNED_INT_10_10_10_2 ||
+ srcType == GL_UNSIGNED_INT_2_10_10_10_REV);
+
+ /* Try simple cases first */
+ if (transferOps == 0) {
+ if (srcType == CHAN_TYPE) {
+ if (dstFormat == GL_RGBA) {
+ if (srcFormat == GL_RGBA) {
+ memcpy( dest, source, n * 4 * sizeof(GLchan) );
+ return;
+ }
+ else if (srcFormat == GL_RGB) {
+ GLuint i;
+ const GLchan *src = (const GLchan *) source;
+ GLchan *dst = dest;
+ for (i = 0; i < n; i++) {
+ dst[0] = src[0];
+ dst[1] = src[1];
+ dst[2] = src[2];
+ dst[3] = CHAN_MAX;
+ src += 3;
+ dst += 4;
+ }
+ return;
+ }
+ }
+ else if (dstFormat == GL_RGB) {
+ if (srcFormat == GL_RGB) {
+ memcpy( dest, source, n * 3 * sizeof(GLchan) );
+ return;
+ }
+ else if (srcFormat == GL_RGBA) {
+ GLuint i;
+ const GLchan *src = (const GLchan *) source;
+ GLchan *dst = dest;
+ for (i = 0; i < n; i++) {
+ dst[0] = src[0];
+ dst[1] = src[1];
+ dst[2] = src[2];
+ src += 4;
+ dst += 3;
+ }
+ return;
+ }
+ }
+ else if (dstFormat == srcFormat) {
+ GLint comps = _mesa_components_in_format(srcFormat);
+ assert(comps > 0);
+ memcpy( dest, source, n * comps * sizeof(GLchan) );
+ return;
+ }
+ }
+ /*
+ * Common situation, loading 8bit RGBA/RGB source images
+ * into 16/32 bit destination. (OSMesa16/32)
+ */
+ else if (srcType == GL_UNSIGNED_BYTE) {
+ if (dstFormat == GL_RGBA) {
+ if (srcFormat == GL_RGB) {
+ GLuint i;
+ const GLubyte *src = (const GLubyte *) source;
+ GLchan *dst = dest;
+ for (i = 0; i < n; i++) {
+ dst[0] = UBYTE_TO_CHAN(src[0]);
+ dst[1] = UBYTE_TO_CHAN(src[1]);
+ dst[2] = UBYTE_TO_CHAN(src[2]);
+ dst[3] = CHAN_MAX;
+ src += 3;
+ dst += 4;
+ }
+ return;
+ }
+ else if (srcFormat == GL_RGBA) {
+ GLuint i;
+ const GLubyte *src = (const GLubyte *) source;
+ GLchan *dst = dest;
+ for (i = 0; i < n; i++) {
+ dst[0] = UBYTE_TO_CHAN(src[0]);
+ dst[1] = UBYTE_TO_CHAN(src[1]);
+ dst[2] = UBYTE_TO_CHAN(src[2]);
+ dst[3] = UBYTE_TO_CHAN(src[3]);
+ src += 4;
+ dst += 4;
+ }
+ return;
+ }
+ }
+ else if (dstFormat == GL_RGB) {
+ if (srcFormat == GL_RGB) {
+ GLuint i;
+ const GLubyte *src = (const GLubyte *) source;
+ GLchan *dst = dest;
+ for (i = 0; i < n; i++) {
+ dst[0] = UBYTE_TO_CHAN(src[0]);
+ dst[1] = UBYTE_TO_CHAN(src[1]);
+ dst[2] = UBYTE_TO_CHAN(src[2]);
+ src += 3;
+ dst += 3;
+ }
+ return;
+ }
+ else if (srcFormat == GL_RGBA) {
+ GLuint i;
+ const GLubyte *src = (const GLubyte *) source;
+ GLchan *dst = dest;
+ for (i = 0; i < n; i++) {
+ dst[0] = UBYTE_TO_CHAN(src[0]);
+ dst[1] = UBYTE_TO_CHAN(src[1]);
+ dst[2] = UBYTE_TO_CHAN(src[2]);
+ src += 4;
+ dst += 3;
+ }
+ return;
+ }
+ }
+ }
+ }
+
+
+ /* general solution begins here */
+ {
+ GLint dstComponents;
+ GLint dstRedIndex, dstGreenIndex, dstBlueIndex, dstAlphaIndex;
+ GLint dstLuminanceIndex, dstIntensityIndex;
+ GLfloat rgba[MAX_WIDTH][4];
+
+ dstComponents = _mesa_components_in_format( dstFormat );
+ /* source & dest image formats should have been error checked by now */
+ assert(dstComponents > 0);
+
+ /*
+ * Extract image data and convert to RGBA floats
+ */
+ assert(n <= MAX_WIDTH);
+ if (srcFormat == GL_COLOR_INDEX) {
+ GLuint indexes[MAX_WIDTH];
+ extract_uint_indexes(n, indexes, srcFormat, srcType, source,
+ srcPacking);
+
+ if (dstFormat == GL_COLOR_INDEX) {
+ GLuint i;
+ _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes);
+ /* convert to GLchan and return */
+ for (i = 0; i < n; i++) {
+ dest[i] = (GLchan) (indexes[i] & 0xff);
+ }
+ return;
+ }
+ else {
+ /* Convert indexes to RGBA */
+ if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
+ _mesa_shift_and_offset_ci(ctx, n, indexes);
+ }
+ _mesa_map_ci_to_rgba(ctx, n, indexes, rgba);
+ }
+
+ /* Don't do RGBA scale/bias or RGBA->RGBA mapping if starting
+ * with color indexes.
+ */
+ transferOps &= ~(IMAGE_SCALE_BIAS_BIT | IMAGE_MAP_COLOR_BIT);
+ }
+ else {
+ /* non-color index data */
+ extract_float_rgba(n, rgba, srcFormat, srcType, source,
+ srcPacking->SwapBytes);
+ }
+
+ /* Need to clamp if returning GLubytes or GLushorts */
+#if CHAN_TYPE != GL_FLOAT
+ transferOps |= IMAGE_CLAMP_BIT;
+#endif
+
+ if (transferOps) {
+ _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgba);
+ }
+
+ /* Now determine which color channels we need to produce.
+ * And determine the dest index (offset) within each color tuple.
+ */
+ switch (dstFormat) {
+ case GL_ALPHA:
+ dstAlphaIndex = 0;
+ dstRedIndex = dstGreenIndex = dstBlueIndex = -1;
+ dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ case GL_LUMINANCE:
+ dstLuminanceIndex = 0;
+ dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1;
+ dstIntensityIndex = -1;
+ break;
+ case GL_LUMINANCE_ALPHA:
+ dstLuminanceIndex = 0;
+ dstAlphaIndex = 1;
+ dstRedIndex = dstGreenIndex = dstBlueIndex = -1;
+ dstIntensityIndex = -1;
+ break;
+ case GL_INTENSITY:
+ dstIntensityIndex = 0;
+ dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1;
+ dstLuminanceIndex = -1;
+ break;
+ case GL_RED:
+ dstRedIndex = 0;
+ dstGreenIndex = dstBlueIndex = -1;
+ dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ case GL_RG:
+ dstRedIndex = 0;
+ dstGreenIndex = 1;
+ dstBlueIndex = -1;
+ dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ case GL_RGB:
+ dstRedIndex = 0;
+ dstGreenIndex = 1;
+ dstBlueIndex = 2;
+ dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ case GL_RGBA:
+ dstRedIndex = 0;
+ dstGreenIndex = 1;
+ dstBlueIndex = 2;
+ dstAlphaIndex = 3;
+ dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ default:
+ _mesa_problem(ctx, "bad dstFormat in _mesa_unpack_chan_span()");
+ return;
+ }
+
+
+ /* Now return the GLchan data in the requested dstFormat */
+
+ if (dstRedIndex >= 0) {
+ GLchan *dst = dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ CLAMPED_FLOAT_TO_CHAN(dst[dstRedIndex], rgba[i][RCOMP]);
+ dst += dstComponents;
+ }
+ }
+
+ if (dstGreenIndex >= 0) {
+ GLchan *dst = dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ CLAMPED_FLOAT_TO_CHAN(dst[dstGreenIndex], rgba[i][GCOMP]);
+ dst += dstComponents;
+ }
+ }
+
+ if (dstBlueIndex >= 0) {
+ GLchan *dst = dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ CLAMPED_FLOAT_TO_CHAN(dst[dstBlueIndex], rgba[i][BCOMP]);
+ dst += dstComponents;
+ }
+ }
+
+ if (dstAlphaIndex >= 0) {
+ GLchan *dst = dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ CLAMPED_FLOAT_TO_CHAN(dst[dstAlphaIndex], rgba[i][ACOMP]);
+ dst += dstComponents;
+ }
+ }
+
+ if (dstIntensityIndex >= 0) {
+ GLchan *dst = dest;
+ GLuint i;
+ assert(dstIntensityIndex == 0);
+ assert(dstComponents == 1);
+ for (i = 0; i < n; i++) {
+ /* Intensity comes from red channel */
+ CLAMPED_FLOAT_TO_CHAN(dst[i], rgba[i][RCOMP]);
+ }
+ }
+
+ if (dstLuminanceIndex >= 0) {
+ GLchan *dst = dest;
+ GLuint i;
+ assert(dstLuminanceIndex == 0);
+ for (i = 0; i < n; i++) {
+ /* Luminance comes from red channel */
+ CLAMPED_FLOAT_TO_CHAN(dst[0], rgba[i][RCOMP]);
+ dst += dstComponents;
+ }
+ }
+ }
+}
+
+
+/**
+ * Same as _mesa_unpack_color_span_chan(), but return GLfloat data
+ * instead of GLchan.
+ */
+void
+_mesa_unpack_color_span_float( struct gl_context *ctx,
+ GLuint n, GLenum dstFormat, GLfloat dest[],
+ GLenum srcFormat, GLenum srcType,
+ const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps )
+{
+ ASSERT(dstFormat == GL_ALPHA ||
+ dstFormat == GL_LUMINANCE ||
+ dstFormat == GL_LUMINANCE_ALPHA ||
+ dstFormat == GL_INTENSITY ||
+ dstFormat == GL_RED ||
+ dstFormat == GL_RG ||
+ dstFormat == GL_RGB ||
+ dstFormat == GL_RGBA ||
+ dstFormat == GL_COLOR_INDEX);
+
+ ASSERT(srcFormat == GL_RED ||
+ srcFormat == GL_GREEN ||
+ srcFormat == GL_BLUE ||
+ srcFormat == GL_ALPHA ||
+ srcFormat == GL_LUMINANCE ||
+ srcFormat == GL_LUMINANCE_ALPHA ||
+ srcFormat == GL_INTENSITY ||
+ srcFormat == GL_RG ||
+ srcFormat == GL_RGB ||
+ srcFormat == GL_BGR ||
+ srcFormat == GL_RGBA ||
+ srcFormat == GL_BGRA ||
+ srcFormat == GL_ABGR_EXT ||
+ srcFormat == GL_RED_INTEGER_EXT ||
+ srcFormat == GL_GREEN_INTEGER_EXT ||
+ srcFormat == GL_BLUE_INTEGER_EXT ||
+ srcFormat == GL_ALPHA_INTEGER_EXT ||
+ srcFormat == GL_RGB_INTEGER_EXT ||
+ srcFormat == GL_RGBA_INTEGER_EXT ||
+ srcFormat == GL_BGR_INTEGER_EXT ||
+ srcFormat == GL_BGRA_INTEGER_EXT ||
+ srcFormat == GL_LUMINANCE_INTEGER_EXT ||
+ srcFormat == GL_LUMINANCE_ALPHA_INTEGER_EXT ||
+ srcFormat == GL_COLOR_INDEX);
+
+ ASSERT(srcType == GL_BITMAP ||
+ srcType == GL_UNSIGNED_BYTE ||
+ srcType == GL_BYTE ||
+ srcType == GL_UNSIGNED_SHORT ||
+ srcType == GL_SHORT ||
+ srcType == GL_UNSIGNED_INT ||
+ srcType == GL_INT ||
+ srcType == GL_HALF_FLOAT_ARB ||
+ srcType == GL_FLOAT ||
+ srcType == GL_UNSIGNED_BYTE_3_3_2 ||
+ srcType == GL_UNSIGNED_BYTE_2_3_3_REV ||
+ srcType == GL_UNSIGNED_SHORT_5_6_5 ||
+ srcType == GL_UNSIGNED_SHORT_5_6_5_REV ||
+ srcType == GL_UNSIGNED_SHORT_4_4_4_4 ||
+ srcType == GL_UNSIGNED_SHORT_4_4_4_4_REV ||
+ srcType == GL_UNSIGNED_SHORT_5_5_5_1 ||
+ srcType == GL_UNSIGNED_SHORT_1_5_5_5_REV ||
+ srcType == GL_UNSIGNED_INT_8_8_8_8 ||
+ srcType == GL_UNSIGNED_INT_8_8_8_8_REV ||
+ srcType == GL_UNSIGNED_INT_10_10_10_2 ||
+ srcType == GL_UNSIGNED_INT_2_10_10_10_REV);
+
+ /* general solution, no special cases, yet */
+ {
+ GLint dstComponents;
+ GLint dstRedIndex, dstGreenIndex, dstBlueIndex, dstAlphaIndex;
+ GLint dstLuminanceIndex, dstIntensityIndex;
+ GLfloat rgba[MAX_WIDTH][4];
+
+ dstComponents = _mesa_components_in_format( dstFormat );
+ /* source & dest image formats should have been error checked by now */
+ assert(dstComponents > 0);
+
+ /*
+ * Extract image data and convert to RGBA floats
+ */
+ assert(n <= MAX_WIDTH);
+ if (srcFormat == GL_COLOR_INDEX) {
+ GLuint indexes[MAX_WIDTH];
+ extract_uint_indexes(n, indexes, srcFormat, srcType, source,
+ srcPacking);
+
+ if (dstFormat == GL_COLOR_INDEX) {
+ GLuint i;
+ _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes);
+ /* convert to GLchan and return */
+ for (i = 0; i < n; i++) {
+ dest[i] = (GLchan) (indexes[i] & 0xff);
+ }
+ return;
+ }
+ else {
+ /* Convert indexes to RGBA */
+ if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
+ _mesa_shift_and_offset_ci(ctx, n, indexes);
+ }
+ _mesa_map_ci_to_rgba(ctx, n, indexes, rgba);
+ }
+
+ /* Don't do RGBA scale/bias or RGBA->RGBA mapping if starting
+ * with color indexes.
+ */
+ transferOps &= ~(IMAGE_SCALE_BIAS_BIT | IMAGE_MAP_COLOR_BIT);
+ }
+ else {
+ /* non-color index data */
+ extract_float_rgba(n, rgba, srcFormat, srcType, source,
+ srcPacking->SwapBytes);
+ }
+
+ if (transferOps) {
+ _mesa_apply_rgba_transfer_ops(ctx, transferOps, n, rgba);
+ }
+
+ /* Now determine which color channels we need to produce.
+ * And determine the dest index (offset) within each color tuple.
+ */
+ switch (dstFormat) {
+ case GL_ALPHA:
+ dstAlphaIndex = 0;
+ dstRedIndex = dstGreenIndex = dstBlueIndex = -1;
+ dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ case GL_LUMINANCE:
+ dstLuminanceIndex = 0;
+ dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1;
+ dstIntensityIndex = -1;
+ break;
+ case GL_LUMINANCE_ALPHA:
+ dstLuminanceIndex = 0;
+ dstAlphaIndex = 1;
+ dstRedIndex = dstGreenIndex = dstBlueIndex = -1;
+ dstIntensityIndex = -1;
+ break;
+ case GL_INTENSITY:
+ dstIntensityIndex = 0;
+ dstRedIndex = dstGreenIndex = dstBlueIndex = dstAlphaIndex = -1;
+ dstLuminanceIndex = -1;
+ break;
+ case GL_RED:
+ dstRedIndex = 0;
+ dstGreenIndex = dstBlueIndex = -1;
+ dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ case GL_RG:
+ dstRedIndex = 0;
+ dstGreenIndex = 1;
+ dstBlueIndex = -1;
+ dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ case GL_RGB:
+ dstRedIndex = 0;
+ dstGreenIndex = 1;
+ dstBlueIndex = 2;
+ dstAlphaIndex = dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ case GL_RGBA:
+ dstRedIndex = 0;
+ dstGreenIndex = 1;
+ dstBlueIndex = 2;
+ dstAlphaIndex = 3;
+ dstLuminanceIndex = dstIntensityIndex = -1;
+ break;
+ default:
+ _mesa_problem(ctx, "bad dstFormat in _mesa_unpack_color_span_float()");
+ return;
+ }
+
+ /* Now pack results in the requested dstFormat */
+ if (dstRedIndex >= 0) {
+ GLfloat *dst = dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[dstRedIndex] = rgba[i][RCOMP];
+ dst += dstComponents;
+ }
+ }
+
+ if (dstGreenIndex >= 0) {
+ GLfloat *dst = dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[dstGreenIndex] = rgba[i][GCOMP];
+ dst += dstComponents;
+ }
+ }
+
+ if (dstBlueIndex >= 0) {
+ GLfloat *dst = dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[dstBlueIndex] = rgba[i][BCOMP];
+ dst += dstComponents;
+ }
+ }
+
+ if (dstAlphaIndex >= 0) {
+ GLfloat *dst = dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[dstAlphaIndex] = rgba[i][ACOMP];
+ dst += dstComponents;
+ }
+ }
+
+ if (dstIntensityIndex >= 0) {
+ GLfloat *dst = dest;
+ GLuint i;
+ assert(dstIntensityIndex == 0);
+ assert(dstComponents == 1);
+ for (i = 0; i < n; i++) {
+ /* Intensity comes from red channel */
+ dst[i] = rgba[i][RCOMP];
+ }
+ }
+
+ if (dstLuminanceIndex >= 0) {
+ GLfloat *dst = dest;
+ GLuint i;
+ assert(dstLuminanceIndex == 0);
+ for (i = 0; i < n; i++) {
+ /* Luminance comes from red channel */
+ dst[0] = rgba[i][RCOMP];
+ dst += dstComponents;
+ }
+ }
+ }
+}
+
+/**
+ * Similar to _mesa_unpack_color_span_float(), but for dudv data instead of rgba,
+ * directly return GLbyte data, no transfer ops apply.
+ */
+void
+_mesa_unpack_dudv_span_byte( struct gl_context *ctx,
+ GLuint n, GLenum dstFormat, GLbyte dest[],
+ GLenum srcFormat, GLenum srcType,
+ const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps )
+{
+ ASSERT(dstFormat == GL_DUDV_ATI);
+ ASSERT(srcFormat == GL_DUDV_ATI);
+
+ ASSERT(srcType == GL_UNSIGNED_BYTE ||
+ srcType == GL_BYTE ||
+ srcType == GL_UNSIGNED_SHORT ||
+ srcType == GL_SHORT ||
+ srcType == GL_UNSIGNED_INT ||
+ srcType == GL_INT ||
+ srcType == GL_HALF_FLOAT_ARB ||
+ srcType == GL_FLOAT);
+
+ /* general solution */
+ {
+ GLint dstComponents;
+ GLfloat rgba[MAX_WIDTH][4];
+ GLbyte *dst = dest;
+ GLuint i;
+
+ dstComponents = _mesa_components_in_format( dstFormat );
+ /* source & dest image formats should have been error checked by now */
+ assert(dstComponents > 0);
+
+ /*
+ * Extract image data and convert to RGBA floats
+ */
+ assert(n <= MAX_WIDTH);
+ extract_float_rgba(n, rgba, srcFormat, srcType, source,
+ srcPacking->SwapBytes);
+
+
+ /* Now determine which color channels we need to produce.
+ * And determine the dest index (offset) within each color tuple.
+ */
+
+ /* Now pack results in the requested dstFormat */
+ for (i = 0; i < n; i++) {
+ /* not sure - need clamp[-1,1] here? */
+ dst[0] = FLOAT_TO_BYTE(rgba[i][RCOMP]);
+ dst[1] = FLOAT_TO_BYTE(rgba[i][GCOMP]);
+ dst += dstComponents;
+ }
+ }
+}
+
+/*
+ * Unpack a row of color index data from a client buffer according to
+ * the pixel unpacking parameters.
+ * This is (or will be) used by glDrawPixels, glTexImage[123]D, etc.
+ *
+ * Args: ctx - the context
+ * n - number of pixels
+ * dstType - destination data type
+ * dest - destination array
+ * srcType - source pixel type
+ * source - source data pointer
+ * srcPacking - pixel unpacking parameters
+ * transferOps - the pixel transfer operations to apply
+ */
+void
+_mesa_unpack_index_span( const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest,
+ GLenum srcType, const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps )
+{
+ ASSERT(srcType == GL_BITMAP ||
+ srcType == GL_UNSIGNED_BYTE ||
+ srcType == GL_BYTE ||
+ srcType == GL_UNSIGNED_SHORT ||
+ srcType == GL_SHORT ||
+ srcType == GL_UNSIGNED_INT ||
+ srcType == GL_INT ||
+ srcType == GL_HALF_FLOAT_ARB ||
+ srcType == GL_FLOAT);
+
+ ASSERT(dstType == GL_UNSIGNED_BYTE ||
+ dstType == GL_UNSIGNED_SHORT ||
+ dstType == GL_UNSIGNED_INT);
+
+
+ transferOps &= (IMAGE_MAP_COLOR_BIT | IMAGE_SHIFT_OFFSET_BIT);
+
+ /*
+ * Try simple cases first
+ */
+ if (transferOps == 0 && srcType == GL_UNSIGNED_BYTE
+ && dstType == GL_UNSIGNED_BYTE) {
+ memcpy(dest, source, n * sizeof(GLubyte));
+ }
+ else if (transferOps == 0 && srcType == GL_UNSIGNED_INT
+ && dstType == GL_UNSIGNED_INT && !srcPacking->SwapBytes) {
+ memcpy(dest, source, n * sizeof(GLuint));
+ }
+ else {
+ /*
+ * general solution
+ */
+ GLuint indexes[MAX_WIDTH];
+ assert(n <= MAX_WIDTH);
+
+ extract_uint_indexes(n, indexes, GL_COLOR_INDEX, srcType, source,
+ srcPacking);
+
+ if (transferOps)
+ _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes);
+
+ /* convert to dest type */
+ switch (dstType) {
+ case GL_UNSIGNED_BYTE:
+ {
+ GLubyte *dst = (GLubyte *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLubyte) (indexes[i] & 0xff);
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT:
+ {
+ GLuint *dst = (GLuint *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLushort) (indexes[i] & 0xffff);
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT:
+ memcpy(dest, indexes, n * sizeof(GLuint));
+ break;
+ default:
+ _mesa_problem(ctx, "bad dstType in _mesa_unpack_index_span");
+ }
+ }
+}
+
+
+void
+_mesa_pack_index_span( const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest, const GLuint *source,
+ const struct gl_pixelstore_attrib *dstPacking,
+ GLbitfield transferOps )
+{
+ GLuint indexes[MAX_WIDTH];
+
+ ASSERT(n <= MAX_WIDTH);
+
+ transferOps &= (IMAGE_MAP_COLOR_BIT | IMAGE_SHIFT_OFFSET_BIT);
+
+ if (transferOps & (IMAGE_MAP_COLOR_BIT | IMAGE_SHIFT_OFFSET_BIT)) {
+ /* make a copy of input */
+ memcpy(indexes, source, n * sizeof(GLuint));
+ _mesa_apply_ci_transfer_ops(ctx, transferOps, n, indexes);
+ source = indexes;
+ }
+
+ switch (dstType) {
+ case GL_UNSIGNED_BYTE:
+ {
+ GLubyte *dst = (GLubyte *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ *dst++ = (GLubyte) source[i];
+ }
+ }
+ break;
+ case GL_BYTE:
+ {
+ GLbyte *dst = (GLbyte *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLbyte) source[i];
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT:
+ {
+ GLushort *dst = (GLushort *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLushort) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2( (GLushort *) dst, n );
+ }
+ }
+ break;
+ case GL_SHORT:
+ {
+ GLshort *dst = (GLshort *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLshort) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2( (GLushort *) dst, n );
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT:
+ {
+ GLuint *dst = (GLuint *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLuint) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4( (GLuint *) dst, n );
+ }
+ }
+ break;
+ case GL_INT:
+ {
+ GLint *dst = (GLint *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLint) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4( (GLuint *) dst, n );
+ }
+ }
+ break;
+ case GL_FLOAT:
+ {
+ GLfloat *dst = (GLfloat *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLfloat) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4( (GLuint *) dst, n );
+ }
+ }
+ break;
+ case GL_HALF_FLOAT_ARB:
+ {
+ GLhalfARB *dst = (GLhalfARB *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = _mesa_float_to_half((GLfloat) source[i]);
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2( (GLushort *) dst, n );
+ }
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad type in _mesa_pack_index_span");
+ }
+}
+
+
+/*
+ * Unpack a row of stencil data from a client buffer according to
+ * the pixel unpacking parameters.
+ * This is (or will be) used by glDrawPixels
+ *
+ * Args: ctx - the context
+ * n - number of pixels
+ * dstType - destination data type
+ * dest - destination array
+ * srcType - source pixel type
+ * source - source data pointer
+ * srcPacking - pixel unpacking parameters
+ * transferOps - apply offset/bias/lookup ops?
+ */
+void
+_mesa_unpack_stencil_span( const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest,
+ GLenum srcType, const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps )
+{
+ ASSERT(srcType == GL_BITMAP ||
+ srcType == GL_UNSIGNED_BYTE ||
+ srcType == GL_BYTE ||
+ srcType == GL_UNSIGNED_SHORT ||
+ srcType == GL_SHORT ||
+ srcType == GL_UNSIGNED_INT ||
+ srcType == GL_INT ||
+ srcType == GL_UNSIGNED_INT_24_8_EXT ||
+ srcType == GL_HALF_FLOAT_ARB ||
+ srcType == GL_FLOAT);
+
+ ASSERT(dstType == GL_UNSIGNED_BYTE ||
+ dstType == GL_UNSIGNED_SHORT ||
+ dstType == GL_UNSIGNED_INT);
+
+ /* only shift and offset apply to stencil */
+ transferOps &= IMAGE_SHIFT_OFFSET_BIT;
+
+ /*
+ * Try simple cases first
+ */
+ if (transferOps == 0 &&
+ !ctx->Pixel.MapStencilFlag &&
+ srcType == GL_UNSIGNED_BYTE &&
+ dstType == GL_UNSIGNED_BYTE) {
+ memcpy(dest, source, n * sizeof(GLubyte));
+ }
+ else if (transferOps == 0 &&
+ !ctx->Pixel.MapStencilFlag &&
+ srcType == GL_UNSIGNED_INT &&
+ dstType == GL_UNSIGNED_INT &&
+ !srcPacking->SwapBytes) {
+ memcpy(dest, source, n * sizeof(GLuint));
+ }
+ else {
+ /*
+ * general solution
+ */
+ GLuint indexes[MAX_WIDTH];
+ assert(n <= MAX_WIDTH);
+
+ extract_uint_indexes(n, indexes, GL_STENCIL_INDEX, srcType, source,
+ srcPacking);
+
+ if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
+ /* shift and offset indexes */
+ _mesa_shift_and_offset_ci(ctx, n, indexes);
+ }
+
+ if (ctx->Pixel.MapStencilFlag) {
+ /* Apply stencil lookup table */
+ const GLuint mask = ctx->PixelMaps.StoS.Size - 1;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ indexes[i] = (GLuint)ctx->PixelMaps.StoS.Map[ indexes[i] & mask ];
+ }
+ }
+
+ /* convert to dest type */
+ switch (dstType) {
+ case GL_UNSIGNED_BYTE:
+ {
+ GLubyte *dst = (GLubyte *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLubyte) (indexes[i] & 0xff);
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT:
+ {
+ GLuint *dst = (GLuint *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = (GLushort) (indexes[i] & 0xffff);
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT:
+ memcpy(dest, indexes, n * sizeof(GLuint));
+ break;
+ default:
+ _mesa_problem(ctx, "bad dstType in _mesa_unpack_stencil_span");
+ }
+ }
+}
+
+
+void
+_mesa_pack_stencil_span( const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest, const GLstencil *source,
+ const struct gl_pixelstore_attrib *dstPacking )
+{
+ GLstencil stencil[MAX_WIDTH];
+
+ ASSERT(n <= MAX_WIDTH);
+
+ if (ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset ||
+ ctx->Pixel.MapStencilFlag) {
+ /* make a copy of input */
+ memcpy(stencil, source, n * sizeof(GLstencil));
+ _mesa_apply_stencil_transfer_ops(ctx, n, stencil);
+ source = stencil;
+ }
+
+ switch (dstType) {
+ case GL_UNSIGNED_BYTE:
+ if (sizeof(GLstencil) == 1) {
+ memcpy( dest, source, n );
+ }
+ else {
+ GLubyte *dst = (GLubyte *) dest;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ dst[i] = (GLubyte) source[i];
+ }
+ }
+ break;
+ case GL_BYTE:
+ {
+ GLbyte *dst = (GLbyte *) dest;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ dst[i] = (GLbyte) (source[i] & 0x7f);
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT:
+ {
+ GLushort *dst = (GLushort *) dest;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ dst[i] = (GLushort) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2( (GLushort *) dst, n );
+ }
+ }
+ break;
+ case GL_SHORT:
+ {
+ GLshort *dst = (GLshort *) dest;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ dst[i] = (GLshort) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2( (GLushort *) dst, n );
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT:
+ {
+ GLuint *dst = (GLuint *) dest;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ dst[i] = (GLuint) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4( (GLuint *) dst, n );
+ }
+ }
+ break;
+ case GL_INT:
+ {
+ GLint *dst = (GLint *) dest;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ dst[i] = (GLint) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4( (GLuint *) dst, n );
+ }
+ }
+ break;
+ case GL_FLOAT:
+ {
+ GLfloat *dst = (GLfloat *) dest;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ dst[i] = (GLfloat) source[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4( (GLuint *) dst, n );
+ }
+ }
+ break;
+ case GL_HALF_FLOAT_ARB:
+ {
+ GLhalfARB *dst = (GLhalfARB *) dest;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ dst[i] = _mesa_float_to_half( (float) source[i] );
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2( (GLushort *) dst, n );
+ }
+ }
+ break;
+ case GL_BITMAP:
+ if (dstPacking->LsbFirst) {
+ GLubyte *dst = (GLubyte *) dest;
+ GLint shift = 0;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ if (shift == 0)
+ *dst = 0;
+ *dst |= ((source[i] != 0) << shift);
+ shift++;
+ if (shift == 8) {
+ shift = 0;
+ dst++;
+ }
+ }
+ }
+ else {
+ GLubyte *dst = (GLubyte *) dest;
+ GLint shift = 7;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ if (shift == 7)
+ *dst = 0;
+ *dst |= ((source[i] != 0) << shift);
+ shift--;
+ if (shift < 0) {
+ shift = 7;
+ dst++;
+ }
+ }
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad type in _mesa_pack_index_span");
+ }
+}
+
+#define DEPTH_VALUES(GLTYPE, GLTYPE2FLOAT) \
+ do { \
+ GLuint i; \
+ const GLTYPE *src = (const GLTYPE *)source; \
+ for (i = 0; i < n; i++) { \
+ GLTYPE value = src[i]; \
+ if (srcPacking->SwapBytes) { \
+ if (sizeof(GLTYPE) == 2) { \
+ SWAP2BYTE(value); \
+ } else if (sizeof(GLTYPE) == 4) { \
+ SWAP4BYTE(value); \
+ } \
+ } \
+ depthValues[i] = GLTYPE2FLOAT(value); \
+ } \
+ } while (0)
+
+
+/**
+ * Unpack a row of depth/z values from memory, returning GLushort, GLuint
+ * or GLfloat values.
+ * The glPixelTransfer (scale/bias) params will be applied.
+ *
+ * \param dstType one of GL_UNSIGNED_SHORT, GL_UNSIGNED_INT, GL_FLOAT
+ * \param depthMax max value for returned GLushort or GLuint values
+ * (ignored for GLfloat).
+ */
+void
+_mesa_unpack_depth_span( const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest, GLuint depthMax,
+ GLenum srcType, const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking )
+{
+ GLfloat depthTemp[MAX_WIDTH], *depthValues;
+ GLboolean needClamp = GL_FALSE;
+
+ /* Look for special cases first.
+ * Not only are these faster, they're less prone to numeric conversion
+ * problems. Otherwise, converting from an int type to a float then
+ * back to an int type can introduce errors that will show up as
+ * artifacts in things like depth peeling which uses glCopyTexImage.
+ */
+ if (ctx->Pixel.DepthScale == 1.0 && ctx->Pixel.DepthBias == 0.0) {
+ if (srcType == GL_UNSIGNED_INT && dstType == GL_UNSIGNED_SHORT) {
+ const GLuint *src = (const GLuint *) source;
+ GLushort *dst = (GLushort *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = src[i] >> 16;
+ }
+ return;
+ }
+ if (srcType == GL_UNSIGNED_SHORT
+ && dstType == GL_UNSIGNED_INT
+ && depthMax == 0xffffffff) {
+ const GLushort *src = (const GLushort *) source;
+ GLuint *dst = (GLuint *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = src[i] | (src[i] << 16);
+ }
+ return;
+ }
+ if (srcType == GL_UNSIGNED_INT_24_8
+ && dstType == GL_UNSIGNED_INT
+ && depthMax == 0xffffff) {
+ const GLuint *src = (const GLuint *) source;
+ GLuint *dst = (GLuint *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = src[i] >> 8;
+ }
+ return;
+ }
+ /* XXX may want to add additional cases here someday */
+ }
+
+ /* general case path follows */
+
+ if (dstType == GL_FLOAT) {
+ depthValues = (GLfloat *) dest;
+ }
+ else {
+ depthValues = depthTemp;
+ }
+
+ /* Convert incoming values to GLfloat. Some conversions will require
+ * clamping, below.
+ */
+ switch (srcType) {
+ case GL_BYTE:
+ DEPTH_VALUES(GLbyte, BYTE_TO_FLOAT);
+ needClamp = GL_TRUE;
+ break;
+ case GL_UNSIGNED_BYTE:
+ DEPTH_VALUES(GLubyte, UBYTE_TO_FLOAT);
+ break;
+ case GL_SHORT:
+ DEPTH_VALUES(GLshort, SHORT_TO_FLOAT);
+ needClamp = GL_TRUE;
+ break;
+ case GL_UNSIGNED_SHORT:
+ DEPTH_VALUES(GLushort, USHORT_TO_FLOAT);
+ break;
+ case GL_INT:
+ DEPTH_VALUES(GLint, INT_TO_FLOAT);
+ needClamp = GL_TRUE;
+ break;
+ case GL_UNSIGNED_INT:
+ DEPTH_VALUES(GLuint, UINT_TO_FLOAT);
+ break;
+ case GL_UNSIGNED_INT_24_8_EXT: /* GL_EXT_packed_depth_stencil */
+ if (dstType == GL_UNSIGNED_INT_24_8_EXT &&
+ depthMax == 0xffffff &&
+ ctx->Pixel.DepthScale == 1.0 &&
+ ctx->Pixel.DepthBias == 0.0) {
+ const GLuint *src = (const GLuint *) source;
+ GLuint *zValues = (GLuint *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ GLuint value = src[i];
+ if (srcPacking->SwapBytes) {
+ SWAP4BYTE(value);
+ }
+ zValues[i] = value & 0xffffff00;
+ }
+ return;
+ }
+ else {
+ const GLuint *src = (const GLuint *) source;
+ const GLfloat scale = 1.0f / 0xffffff;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ GLuint value = src[i];
+ if (srcPacking->SwapBytes) {
+ SWAP4BYTE(value);
+ }
+ depthValues[i] = (value >> 8) * scale;
+ }
+ }
+ break;
+ case GL_FLOAT:
+ DEPTH_VALUES(GLfloat, 1*);
+ needClamp = GL_TRUE;
+ break;
+ case GL_HALF_FLOAT_ARB:
+ {
+ GLuint i;
+ const GLhalfARB *src = (const GLhalfARB *) source;
+ for (i = 0; i < n; i++) {
+ GLhalfARB value = src[i];
+ if (srcPacking->SwapBytes) {
+ SWAP2BYTE(value);
+ }
+ depthValues[i] = _mesa_half_to_float(value);
+ }
+ needClamp = GL_TRUE;
+ }
+ break;
+ default:
+ _mesa_problem(NULL, "bad type in _mesa_unpack_depth_span()");
+ return;
+ }
+
+ /* apply depth scale and bias */
+ {
+ const GLfloat scale = ctx->Pixel.DepthScale;
+ const GLfloat bias = ctx->Pixel.DepthBias;
+ if (scale != 1.0 || bias != 0.0) {
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ depthValues[i] = depthValues[i] * scale + bias;
+ }
+ needClamp = GL_TRUE;
+ }
+ }
+
+ /* clamp to [0, 1] */
+ if (needClamp) {
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ depthValues[i] = (GLfloat)CLAMP(depthValues[i], 0.0, 1.0);
+ }
+ }
+
+ /*
+ * Convert values to dstType
+ */
+ if (dstType == GL_UNSIGNED_INT) {
+ GLuint *zValues = (GLuint *) dest;
+ GLuint i;
+ if (depthMax <= 0xffffff) {
+ /* no overflow worries */
+ for (i = 0; i < n; i++) {
+ zValues[i] = (GLuint) (depthValues[i] * (GLfloat) depthMax);
+ }
+ }
+ else {
+ /* need to use double precision to prevent overflow problems */
+ for (i = 0; i < n; i++) {
+ GLdouble z = depthValues[i] * (GLfloat) depthMax;
+ if (z >= (GLdouble) 0xffffffff)
+ zValues[i] = 0xffffffff;
+ else
+ zValues[i] = (GLuint) z;
+ }
+ }
+ }
+ else if (dstType == GL_UNSIGNED_SHORT) {
+ GLushort *zValues = (GLushort *) dest;
+ GLuint i;
+ ASSERT(depthMax <= 0xffff);
+ for (i = 0; i < n; i++) {
+ zValues[i] = (GLushort) (depthValues[i] * (GLfloat) depthMax);
+ }
+ }
+ else {
+ ASSERT(dstType == GL_FLOAT);
+ /*ASSERT(depthMax == 1.0F);*/
+ }
+}
+
+
+/*
+ * Pack an array of depth values. The values are floats in [0,1].
+ */
+void
+_mesa_pack_depth_span( const struct gl_context *ctx, GLuint n, GLvoid *dest,
+ GLenum dstType, const GLfloat *depthSpan,
+ const struct gl_pixelstore_attrib *dstPacking )
+{
+ GLfloat depthCopy[MAX_WIDTH];
+
+ ASSERT(n <= MAX_WIDTH);
+
+ if (ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0) {
+ memcpy(depthCopy, depthSpan, n * sizeof(GLfloat));
+ _mesa_scale_and_bias_depth(ctx, n, depthCopy);
+ depthSpan = depthCopy;
+ }
+
+ switch (dstType) {
+ case GL_UNSIGNED_BYTE:
+ {
+ GLubyte *dst = (GLubyte *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = FLOAT_TO_UBYTE( depthSpan[i] );
+ }
+ }
+ break;
+ case GL_BYTE:
+ {
+ GLbyte *dst = (GLbyte *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = FLOAT_TO_BYTE( depthSpan[i] );
+ }
+ }
+ break;
+ case GL_UNSIGNED_SHORT:
+ {
+ GLushort *dst = (GLushort *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ CLAMPED_FLOAT_TO_USHORT(dst[i], depthSpan[i]);
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2( (GLushort *) dst, n );
+ }
+ }
+ break;
+ case GL_SHORT:
+ {
+ GLshort *dst = (GLshort *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = FLOAT_TO_SHORT( depthSpan[i] );
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2( (GLushort *) dst, n );
+ }
+ }
+ break;
+ case GL_UNSIGNED_INT:
+ {
+ GLuint *dst = (GLuint *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = FLOAT_TO_UINT( depthSpan[i] );
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4( (GLuint *) dst, n );
+ }
+ }
+ break;
+ case GL_INT:
+ {
+ GLint *dst = (GLint *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = FLOAT_TO_INT( depthSpan[i] );
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4( (GLuint *) dst, n );
+ }
+ }
+ break;
+ case GL_FLOAT:
+ {
+ GLfloat *dst = (GLfloat *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = depthSpan[i];
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4( (GLuint *) dst, n );
+ }
+ }
+ break;
+ case GL_HALF_FLOAT_ARB:
+ {
+ GLhalfARB *dst = (GLhalfARB *) dest;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ dst[i] = _mesa_float_to_half(depthSpan[i]);
+ }
+ if (dstPacking->SwapBytes) {
+ _mesa_swap2( (GLushort *) dst, n );
+ }
+ }
+ break;
+ default:
+ _mesa_problem(ctx, "bad type in _mesa_pack_depth_span");
+ }
+}
+
+
+
+/**
+ * Pack depth and stencil values as GL_DEPTH_STENCIL/GL_UNSIGNED_INT_24_8.
+ */
+void
+_mesa_pack_depth_stencil_span(const struct gl_context *ctx, GLuint n, GLuint *dest,
+ const GLfloat *depthVals,
+ const GLstencil *stencilVals,
+ const struct gl_pixelstore_attrib *dstPacking)
+{
+ GLfloat depthCopy[MAX_WIDTH];
+ GLstencil stencilCopy[MAX_WIDTH];
+ GLuint i;
+
+ ASSERT(n <= MAX_WIDTH);
+
+ if (ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0) {
+ memcpy(depthCopy, depthVals, n * sizeof(GLfloat));
+ _mesa_scale_and_bias_depth(ctx, n, depthCopy);
+ depthVals = depthCopy;
+ }
+
+ if (ctx->Pixel.IndexShift ||
+ ctx->Pixel.IndexOffset ||
+ ctx->Pixel.MapStencilFlag) {
+ memcpy(stencilCopy, stencilVals, n * sizeof(GLstencil));
+ _mesa_apply_stencil_transfer_ops(ctx, n, stencilCopy);
+ stencilVals = stencilCopy;
+ }
+
+ for (i = 0; i < n; i++) {
+ GLuint z = (GLuint) (depthVals[i] * 0xffffff);
+ dest[i] = (z << 8) | (stencilVals[i] & 0xff);
+ }
+
+ if (dstPacking->SwapBytes) {
+ _mesa_swap4(dest, n);
+ }
+}
+
+
+
+
+/**
+ * Unpack image data. Apply byte swapping, byte flipping (bitmap).
+ * Return all image data in a contiguous block. This is used when we
+ * compile glDrawPixels, glTexImage, etc into a display list. We
+ * need a copy of the data in a standard format.
+ */
+void *
+_mesa_unpack_image( GLuint dimensions,
+ GLsizei width, GLsizei height, GLsizei depth,
+ GLenum format, GLenum type, const GLvoid *pixels,
+ const struct gl_pixelstore_attrib *unpack )
+{
+ GLint bytesPerRow, compsPerRow;
+ GLboolean flipBytes, swap2, swap4;
+
+ if (!pixels)
+ return NULL; /* not necessarily an error */
+
+ if (width <= 0 || height <= 0 || depth <= 0)
+ return NULL; /* generate error later */
+
+ if (type == GL_BITMAP) {
+ bytesPerRow = (width + 7) >> 3;
+ flipBytes = unpack->LsbFirst;
+ swap2 = swap4 = GL_FALSE;
+ compsPerRow = 0;
+ }
+ else {
+ const GLint bytesPerPixel = _mesa_bytes_per_pixel(format, type);
+ GLint components = _mesa_components_in_format(format);
+ GLint bytesPerComp;
+
+ if (_mesa_type_is_packed(type))
+ components = 1;
+
+ if (bytesPerPixel <= 0 || components <= 0)
+ return NULL; /* bad format or type. generate error later */
+ bytesPerRow = bytesPerPixel * width;
+ bytesPerComp = bytesPerPixel / components;
+ flipBytes = GL_FALSE;
+ swap2 = (bytesPerComp == 2) && unpack->SwapBytes;
+ swap4 = (bytesPerComp == 4) && unpack->SwapBytes;
+ compsPerRow = components * width;
+ assert(compsPerRow >= width);
+ }
+
+ {
+ GLubyte *destBuffer
+ = (GLubyte *) malloc(bytesPerRow * height * depth);
+ GLubyte *dst;
+ GLint img, row;
+ if (!destBuffer)
+ return NULL; /* generate GL_OUT_OF_MEMORY later */
+
+ dst = destBuffer;
+ for (img = 0; img < depth; img++) {
+ for (row = 0; row < height; row++) {
+ const GLvoid *src = _mesa_image_address(dimensions, unpack, pixels,
+ width, height, format, type, img, row, 0);
+
+ if ((type == GL_BITMAP) && (unpack->SkipPixels & 0x7)) {
+ GLint i;
+ flipBytes = GL_FALSE;
+ if (unpack->LsbFirst) {
+ GLubyte srcMask = 1 << (unpack->SkipPixels & 0x7);
+ GLubyte dstMask = 128;
+ const GLubyte *s = src;
+ GLubyte *d = dst;
+ *d = 0;
+ for (i = 0; i < width; i++) {
+ if (*s & srcMask) {
+ *d |= dstMask;
+ }
+ if (srcMask == 128) {
+ srcMask = 1;
+ s++;
+ }
+ else {
+ srcMask = srcMask << 1;
+ }
+ if (dstMask == 1) {
+ dstMask = 128;
+ d++;
+ *d = 0;
+ }
+ else {
+ dstMask = dstMask >> 1;
+ }
+ }
+ }
+ else {
+ GLubyte srcMask = 128 >> (unpack->SkipPixels & 0x7);
+ GLubyte dstMask = 128;
+ const GLubyte *s = src;
+ GLubyte *d = dst;
+ *d = 0;
+ for (i = 0; i < width; i++) {
+ if (*s & srcMask) {
+ *d |= dstMask;
+ }
+ if (srcMask == 1) {
+ srcMask = 128;
+ s++;
+ }
+ else {
+ srcMask = srcMask >> 1;
+ }
+ if (dstMask == 1) {
+ dstMask = 128;
+ d++;
+ *d = 0;
+ }
+ else {
+ dstMask = dstMask >> 1;
+ }
+ }
+ }
+ }
+ else {
+ memcpy(dst, src, bytesPerRow);
+ }
+
+ /* byte flipping/swapping */
+ if (flipBytes) {
+ flip_bytes((GLubyte *) dst, bytesPerRow);
+ }
+ else if (swap2) {
+ _mesa_swap2((GLushort*) dst, compsPerRow);
+ }
+ else if (swap4) {
+ _mesa_swap4((GLuint*) dst, compsPerRow);
+ }
+ dst += bytesPerRow;
+ }
+ }
+ return destBuffer;
+ }
+}
+
diff --git a/src/mesa/main/pack.h b/src/mesa/main/pack.h
new file mode 100644
index 00000000000..3b24159fc2b
--- /dev/null
+++ b/src/mesa/main/pack.h
@@ -0,0 +1,140 @@
+/*
+ * Mesa 3-D graphics library
+ *
+ * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 1999-2010 VMware, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifndef PACK_H
+#define PACK_H
+
+
+#include "mtypes.h"
+
+
+extern void
+_mesa_unpack_polygon_stipple(const GLubyte *pattern, GLuint dest[32],
+ const struct gl_pixelstore_attrib *unpacking);
+
+
+extern void
+_mesa_pack_polygon_stipple(const GLuint pattern[32], GLubyte *dest,
+ const struct gl_pixelstore_attrib *packing);
+
+
+extern GLvoid *
+_mesa_unpack_bitmap(GLint width, GLint height, const GLubyte *pixels,
+ const struct gl_pixelstore_attrib *packing);
+
+extern void
+_mesa_pack_bitmap(GLint width, GLint height, const GLubyte *source,
+ GLubyte *dest, const struct gl_pixelstore_attrib *packing);
+
+
+extern void
+_mesa_pack_rgba_span_float(struct gl_context *ctx, GLuint n,
+ GLfloat rgba[][4],
+ GLenum dstFormat, GLenum dstType, GLvoid *dstAddr,
+ const struct gl_pixelstore_attrib *dstPacking,
+ GLbitfield transferOps);
+
+
+extern void
+_mesa_unpack_color_span_chan(struct gl_context *ctx,
+ GLuint n, GLenum dstFormat, GLchan dest[],
+ GLenum srcFormat, GLenum srcType,
+ const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps);
+
+
+extern void
+_mesa_unpack_color_span_float(struct gl_context *ctx,
+ GLuint n, GLenum dstFormat, GLfloat dest[],
+ GLenum srcFormat, GLenum srcType,
+ const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps);
+
+extern void
+_mesa_unpack_dudv_span_byte(struct gl_context *ctx,
+ GLuint n, GLenum dstFormat, GLbyte dest[],
+ GLenum srcFormat, GLenum srcType,
+ const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps);
+
+extern void
+_mesa_unpack_index_span(const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest,
+ GLenum srcType, const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps);
+
+
+extern void
+_mesa_pack_index_span(const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest, const GLuint *source,
+ const struct gl_pixelstore_attrib *dstPacking,
+ GLbitfield transferOps);
+
+
+extern void
+_mesa_unpack_stencil_span(const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest,
+ GLenum srcType, const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking,
+ GLbitfield transferOps);
+
+extern void
+_mesa_pack_stencil_span(const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest, const GLstencil *source,
+ const struct gl_pixelstore_attrib *dstPacking);
+
+
+extern void
+_mesa_unpack_depth_span(const struct gl_context *ctx, GLuint n,
+ GLenum dstType, GLvoid *dest, GLuint depthMax,
+ GLenum srcType, const GLvoid *source,
+ const struct gl_pixelstore_attrib *srcPacking);
+
+extern void
+_mesa_pack_depth_span(const struct gl_context *ctx, GLuint n, GLvoid *dest,
+ GLenum dstType, const GLfloat *depthSpan,
+ const struct gl_pixelstore_attrib *dstPacking);
+
+
+extern void
+_mesa_pack_depth_stencil_span(const struct gl_context *ctx,
+ GLuint n, GLuint *dest,
+ const GLfloat *depthVals,
+ const GLstencil *stencilVals,
+ const struct gl_pixelstore_attrib *dstPacking);
+
+
+extern void *
+_mesa_unpack_image(GLuint dimensions,
+ GLsizei width, GLsizei height, GLsizei depth,
+ GLenum format, GLenum type, const GLvoid *pixels,
+ const struct gl_pixelstore_attrib *unpack);
+
+
+#endif
diff --git a/src/mesa/main/pixel.c b/src/mesa/main/pixel.c
index 1d378e4d9f7..5f824b34294 100644
--- a/src/mesa/main/pixel.c
+++ b/src/mesa/main/pixel.c
@@ -69,7 +69,7 @@ _mesa_PixelZoom( GLfloat xfactor, GLfloat yfactor )
* Return pointer to a pixelmap by name.
*/
static struct gl_pixelmap *
-get_pixelmap(GLcontext *ctx, GLenum map)
+get_pixelmap(struct gl_context *ctx, GLenum map)
{
switch (map) {
case GL_PIXEL_MAP_I_TO_I:
@@ -102,7 +102,7 @@ get_pixelmap(GLcontext *ctx, GLenum map)
* Helper routine used by the other _mesa_PixelMap() functions.
*/
static void
-store_pixelmap(GLcontext *ctx, GLenum map, GLsizei mapsize,
+store_pixelmap(struct gl_context *ctx, GLenum map, GLsizei mapsize,
const GLfloat *values)
{
GLint i;
@@ -143,7 +143,7 @@ store_pixelmap(GLcontext *ctx, GLenum map, GLsizei mapsize,
* Convenience wrapper for _mesa_validate_pbo_access() for gl[Get]PixelMap().
*/
static GLboolean
-validate_pbo_access(GLcontext *ctx, struct gl_pixelstore_attrib *pack,
+validate_pbo_access(struct gl_context *ctx, struct gl_pixelstore_attrib *pack,
GLsizei mapsize, GLenum format, GLenum type,
const GLvoid *ptr)
{
@@ -590,7 +590,7 @@ _mesa_PixelTransferi( GLenum pname, GLint param )
* pixel transfer operations are enabled.
*/
static void
-update_image_transfer_state(GLcontext *ctx)
+update_image_transfer_state(struct gl_context *ctx)
{
GLuint mask = 0;
@@ -613,7 +613,7 @@ update_image_transfer_state(GLcontext *ctx)
/**
* Update mesa pixel transfer derived state.
*/
-void _mesa_update_pixel( GLcontext *ctx, GLuint new_state )
+void _mesa_update_pixel( struct gl_context *ctx, GLuint new_state )
{
if (new_state & _MESA_NEW_TRANSFER_STATE)
update_image_transfer_state(ctx);
@@ -655,7 +655,7 @@ init_pixelmap(struct gl_pixelmap *map)
* Initialize the context's PIXEL attribute group.
*/
void
-_mesa_init_pixel( GLcontext *ctx )
+_mesa_init_pixel( struct gl_context *ctx )
{
/* Pixel group */
ctx->Pixel.RedBias = 0.0;
diff --git a/src/mesa/main/pixel.h b/src/mesa/main/pixel.h
index f4d3f1efdb0..03560835a8c 100644
--- a/src/mesa/main/pixel.h
+++ b/src/mesa/main/pixel.h
@@ -39,7 +39,7 @@
#if FEATURE_pixel_transfer
extern void
-_mesa_update_pixel( GLcontext *ctx, GLuint newstate );
+_mesa_update_pixel( struct gl_context *ctx, GLuint newstate );
extern void
_mesa_init_pixel_dispatch( struct _glapi_table * disp );
@@ -47,7 +47,7 @@ _mesa_init_pixel_dispatch( struct _glapi_table * disp );
#else /* FEATURE_pixel_transfer */
static INLINE void
-_mesa_update_pixel(GLcontext *ctx, GLuint newstate)
+_mesa_update_pixel(struct gl_context *ctx, GLuint newstate)
{
}
@@ -60,7 +60,7 @@ _mesa_init_pixel_dispatch(struct _glapi_table *disp)
extern void
-_mesa_init_pixel( GLcontext * ctx );
+_mesa_init_pixel( struct gl_context * ctx );
/*@}*/
diff --git a/src/mesa/main/pixelstore.c b/src/mesa/main/pixelstore.c
index ec585ef0cce..b16d27a4ea5 100644
--- a/src/mesa/main/pixelstore.c
+++ b/src/mesa/main/pixelstore.c
@@ -228,7 +228,7 @@ _mesa_PixelStoref( GLenum pname, GLfloat param )
* Initialize the context's pixel store state.
*/
void
-_mesa_init_pixelstore( GLcontext *ctx )
+_mesa_init_pixelstore( struct gl_context *ctx )
{
/* Pixel transfer */
ctx->Pack.Alignment = 4;
diff --git a/src/mesa/main/pixelstore.h b/src/mesa/main/pixelstore.h
index 47bff4276d1..cdef7de2613 100644
--- a/src/mesa/main/pixelstore.h
+++ b/src/mesa/main/pixelstore.h
@@ -45,7 +45,7 @@ _mesa_PixelStoref( GLenum pname, GLfloat param );
extern void
-_mesa_init_pixelstore( GLcontext *ctx );
+_mesa_init_pixelstore( struct gl_context *ctx );
#endif
diff --git a/src/mesa/main/pixeltransfer.c b/src/mesa/main/pixeltransfer.c
new file mode 100644
index 00000000000..711181fd89e
--- /dev/null
+++ b/src/mesa/main/pixeltransfer.c
@@ -0,0 +1,566 @@
+/*
+ * Mesa 3-D graphics library
+ *
+ * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009-2010 VMware, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+/**
+ * \file pixeltransfer.c
+ * Pixel transfer operations (scale, bias, table lookups, etc)
+ */
+
+
+#include "glheader.h"
+#include "colormac.h"
+#include "pixeltransfer.h"
+#include "imports.h"
+
+
+/*
+ * Apply scale and bias factors to an array of RGBA pixels.
+ */
+void
+_mesa_scale_and_bias_rgba(GLuint n, GLfloat rgba[][4],
+ GLfloat rScale, GLfloat gScale,
+ GLfloat bScale, GLfloat aScale,
+ GLfloat rBias, GLfloat gBias,
+ GLfloat bBias, GLfloat aBias)
+{
+ if (rScale != 1.0 || rBias != 0.0) {
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ rgba[i][RCOMP] = rgba[i][RCOMP] * rScale + rBias;
+ }
+ }
+ if (gScale != 1.0 || gBias != 0.0) {
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ rgba[i][GCOMP] = rgba[i][GCOMP] * gScale + gBias;
+ }
+ }
+ if (bScale != 1.0 || bBias != 0.0) {
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ rgba[i][BCOMP] = rgba[i][BCOMP] * bScale + bBias;
+ }
+ }
+ if (aScale != 1.0 || aBias != 0.0) {
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ rgba[i][ACOMP] = rgba[i][ACOMP] * aScale + aBias;
+ }
+ }
+}
+
+
+/*
+ * Apply pixel mapping to an array of floating point RGBA pixels.
+ */
+void
+_mesa_map_rgba( const struct gl_context *ctx, GLuint n, GLfloat rgba[][4] )
+{
+ const GLfloat rscale = (GLfloat) (ctx->PixelMaps.RtoR.Size - 1);
+ const GLfloat gscale = (GLfloat) (ctx->PixelMaps.GtoG.Size - 1);
+ const GLfloat bscale = (GLfloat) (ctx->PixelMaps.BtoB.Size - 1);
+ const GLfloat ascale = (GLfloat) (ctx->PixelMaps.AtoA.Size - 1);
+ const GLfloat *rMap = ctx->PixelMaps.RtoR.Map;
+ const GLfloat *gMap = ctx->PixelMaps.GtoG.Map;
+ const GLfloat *bMap = ctx->PixelMaps.BtoB.Map;
+ const GLfloat *aMap = ctx->PixelMaps.AtoA.Map;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ GLfloat r = CLAMP(rgba[i][RCOMP], 0.0F, 1.0F);
+ GLfloat g = CLAMP(rgba[i][GCOMP], 0.0F, 1.0F);
+ GLfloat b = CLAMP(rgba[i][BCOMP], 0.0F, 1.0F);
+ GLfloat a = CLAMP(rgba[i][ACOMP], 0.0F, 1.0F);
+ rgba[i][RCOMP] = rMap[IROUND(r * rscale)];
+ rgba[i][GCOMP] = gMap[IROUND(g * gscale)];
+ rgba[i][BCOMP] = bMap[IROUND(b * bscale)];
+ rgba[i][ACOMP] = aMap[IROUND(a * ascale)];
+ }
+}
+
+/**
+ * Apply a color table lookup to an array of floating point RGBA colors.
+ */
+void
+_mesa_lookup_rgba_float(const struct gl_color_table *table,
+ GLuint n, GLfloat rgba[][4])
+{
+ const GLint max = table->Size - 1;
+ const GLfloat scale = (GLfloat) max;
+ const GLfloat *lut = table->TableF;
+ GLuint i;
+
+ if (!table->TableF || table->Size == 0)
+ return;
+
+ switch (table->_BaseFormat) {
+ case GL_INTENSITY:
+ /* replace RGBA with I */
+ for (i = 0; i < n; i++) {
+ GLint j = IROUND(rgba[i][RCOMP] * scale);
+ GLfloat c = lut[CLAMP(j, 0, max)];
+ rgba[i][RCOMP] =
+ rgba[i][GCOMP] =
+ rgba[i][BCOMP] =
+ rgba[i][ACOMP] = c;
+ }
+ break;
+ case GL_LUMINANCE:
+ /* replace RGB with L */
+ for (i = 0; i < n; i++) {
+ GLint j = IROUND(rgba[i][RCOMP] * scale);
+ GLfloat c = lut[CLAMP(j, 0, max)];
+ rgba[i][RCOMP] =
+ rgba[i][GCOMP] =
+ rgba[i][BCOMP] = c;
+ }
+ break;
+ case GL_ALPHA:
+ /* replace A with A */
+ for (i = 0; i < n; i++) {
+ GLint j = IROUND(rgba[i][ACOMP] * scale);
+ rgba[i][ACOMP] = lut[CLAMP(j, 0, max)];
+ }
+ break;
+ case GL_LUMINANCE_ALPHA:
+ /* replace RGBA with LLLA */
+ for (i = 0; i < n; i++) {
+ GLint jL = IROUND(rgba[i][RCOMP] * scale);
+ GLint jA = IROUND(rgba[i][ACOMP] * scale);
+ GLfloat luminance, alpha;
+ jL = CLAMP(jL, 0, max);
+ jA = CLAMP(jA, 0, max);
+ luminance = lut[jL * 2 + 0];
+ alpha = lut[jA * 2 + 1];
+ rgba[i][RCOMP] =
+ rgba[i][GCOMP] =
+ rgba[i][BCOMP] = luminance;
+ rgba[i][ACOMP] = alpha;;
+ }
+ break;
+ case GL_RED:
+ /* replace RGB with RGB */
+ for (i = 0; i < n; i++) {
+ GLint jR = IROUND(rgba[i][RCOMP] * scale);
+ jR = CLAMP(jR, 0, max);
+ rgba[i][RCOMP] = lut[jR * 3 + 0];
+ }
+ break;
+ case GL_RG:
+ /* replace RG with RG */
+ for (i = 0; i < n; i++) {
+ GLint jR = IROUND(rgba[i][RCOMP] * scale);
+ GLint jG = IROUND(rgba[i][GCOMP] * scale);
+ jR = CLAMP(jR, 0, max);
+ jG = CLAMP(jG, 0, max);
+ rgba[i][RCOMP] = lut[jR * 3 + 0];
+ rgba[i][GCOMP] = lut[jG * 3 + 1];
+ }
+ break;
+ case GL_RGB:
+ /* replace RGB with RGB */
+ for (i = 0; i < n; i++) {
+ GLint jR = IROUND(rgba[i][RCOMP] * scale);
+ GLint jG = IROUND(rgba[i][GCOMP] * scale);
+ GLint jB = IROUND(rgba[i][BCOMP] * scale);
+ jR = CLAMP(jR, 0, max);
+ jG = CLAMP(jG, 0, max);
+ jB = CLAMP(jB, 0, max);
+ rgba[i][RCOMP] = lut[jR * 3 + 0];
+ rgba[i][GCOMP] = lut[jG * 3 + 1];
+ rgba[i][BCOMP] = lut[jB * 3 + 2];
+ }
+ break;
+ case GL_RGBA:
+ /* replace RGBA with RGBA */
+ for (i = 0; i < n; i++) {
+ GLint jR = IROUND(rgba[i][RCOMP] * scale);
+ GLint jG = IROUND(rgba[i][GCOMP] * scale);
+ GLint jB = IROUND(rgba[i][BCOMP] * scale);
+ GLint jA = IROUND(rgba[i][ACOMP] * scale);
+ jR = CLAMP(jR, 0, max);
+ jG = CLAMP(jG, 0, max);
+ jB = CLAMP(jB, 0, max);
+ jA = CLAMP(jA, 0, max);
+ rgba[i][RCOMP] = lut[jR * 4 + 0];
+ rgba[i][GCOMP] = lut[jG * 4 + 1];
+ rgba[i][BCOMP] = lut[jB * 4 + 2];
+ rgba[i][ACOMP] = lut[jA * 4 + 3];
+ }
+ break;
+ default:
+ _mesa_problem(NULL, "Bad format in _mesa_lookup_rgba_float");
+ return;
+ }
+}
+
+
+
+/**
+ * Apply a color table lookup to an array of ubyte/RGBA colors.
+ */
+void
+_mesa_lookup_rgba_ubyte(const struct gl_color_table *table,
+ GLuint n, GLubyte rgba[][4])
+{
+ const GLubyte *lut = table->TableUB;
+ const GLfloat scale = (GLfloat) (table->Size - 1) / (GLfloat)255.0;
+ GLuint i;
+
+ if (!table->TableUB || table->Size == 0)
+ return;
+
+ switch (table->_BaseFormat) {
+ case GL_INTENSITY:
+ /* replace RGBA with I */
+ if (table->Size == 256) {
+ for (i = 0; i < n; i++) {
+ const GLubyte c = lut[rgba[i][RCOMP]];
+ rgba[i][RCOMP] =
+ rgba[i][GCOMP] =
+ rgba[i][BCOMP] =
+ rgba[i][ACOMP] = c;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ GLint j = IROUND((GLfloat) rgba[i][RCOMP] * scale);
+ rgba[i][RCOMP] =
+ rgba[i][GCOMP] =
+ rgba[i][BCOMP] =
+ rgba[i][ACOMP] = lut[j];
+ }
+ }
+ break;
+ case GL_LUMINANCE:
+ /* replace RGB with L */
+ if (table->Size == 256) {
+ for (i = 0; i < n; i++) {
+ const GLubyte c = lut[rgba[i][RCOMP]];
+ rgba[i][RCOMP] =
+ rgba[i][GCOMP] =
+ rgba[i][BCOMP] = c;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ GLint j = IROUND((GLfloat) rgba[i][RCOMP] * scale);
+ rgba[i][RCOMP] =
+ rgba[i][GCOMP] =
+ rgba[i][BCOMP] = lut[j];
+ }
+ }
+ break;
+ case GL_ALPHA:
+ /* replace A with A */
+ if (table->Size == 256) {
+ for (i = 0; i < n; i++) {
+ rgba[i][ACOMP] = lut[rgba[i][ACOMP]];
+ }
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ GLint j = IROUND((GLfloat) rgba[i][ACOMP] * scale);
+ rgba[i][ACOMP] = lut[j];
+ }
+ }
+ break;
+ case GL_LUMINANCE_ALPHA:
+ /* replace RGBA with LLLA */
+ if (table->Size == 256) {
+ for (i = 0; i < n; i++) {
+ GLubyte l = lut[rgba[i][RCOMP] * 2 + 0];
+ GLubyte a = lut[rgba[i][ACOMP] * 2 + 1];;
+ rgba[i][RCOMP] =
+ rgba[i][GCOMP] =
+ rgba[i][BCOMP] = l;
+ rgba[i][ACOMP] = a;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ GLint jL = IROUND((GLfloat) rgba[i][RCOMP] * scale);
+ GLint jA = IROUND((GLfloat) rgba[i][ACOMP] * scale);
+ GLubyte luminance = lut[jL * 2 + 0];
+ GLubyte alpha = lut[jA * 2 + 1];
+ rgba[i][RCOMP] =
+ rgba[i][GCOMP] =
+ rgba[i][BCOMP] = luminance;
+ rgba[i][ACOMP] = alpha;
+ }
+ }
+ break;
+ case GL_RGB:
+ if (table->Size == 256) {
+ for (i = 0; i < n; i++) {
+ rgba[i][RCOMP] = lut[rgba[i][RCOMP] * 3 + 0];
+ rgba[i][GCOMP] = lut[rgba[i][GCOMP] * 3 + 1];
+ rgba[i][BCOMP] = lut[rgba[i][BCOMP] * 3 + 2];
+ }
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ GLint jR = IROUND((GLfloat) rgba[i][RCOMP] * scale);
+ GLint jG = IROUND((GLfloat) rgba[i][GCOMP] * scale);
+ GLint jB = IROUND((GLfloat) rgba[i][BCOMP] * scale);
+ rgba[i][RCOMP] = lut[jR * 3 + 0];
+ rgba[i][GCOMP] = lut[jG * 3 + 1];
+ rgba[i][BCOMP] = lut[jB * 3 + 2];
+ }
+ }
+ break;
+ case GL_RGBA:
+ if (table->Size == 256) {
+ for (i = 0; i < n; i++) {
+ rgba[i][RCOMP] = lut[rgba[i][RCOMP] * 4 + 0];
+ rgba[i][GCOMP] = lut[rgba[i][GCOMP] * 4 + 1];
+ rgba[i][BCOMP] = lut[rgba[i][BCOMP] * 4 + 2];
+ rgba[i][ACOMP] = lut[rgba[i][ACOMP] * 4 + 3];
+ }
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ GLint jR = IROUND((GLfloat) rgba[i][RCOMP] * scale);
+ GLint jG = IROUND((GLfloat) rgba[i][GCOMP] * scale);
+ GLint jB = IROUND((GLfloat) rgba[i][BCOMP] * scale);
+ GLint jA = IROUND((GLfloat) rgba[i][ACOMP] * scale);
+ CLAMPED_FLOAT_TO_CHAN(rgba[i][RCOMP], lut[jR * 4 + 0]);
+ CLAMPED_FLOAT_TO_CHAN(rgba[i][GCOMP], lut[jG * 4 + 1]);
+ CLAMPED_FLOAT_TO_CHAN(rgba[i][BCOMP], lut[jB * 4 + 2]);
+ CLAMPED_FLOAT_TO_CHAN(rgba[i][ACOMP], lut[jA * 4 + 3]);
+ }
+ }
+ break;
+ default:
+ _mesa_problem(NULL, "Bad format in _mesa_lookup_rgba_chan");
+ return;
+ }
+}
+
+
+
+/*
+ * Map color indexes to float rgba values.
+ */
+void
+_mesa_map_ci_to_rgba( const struct gl_context *ctx, GLuint n,
+ const GLuint index[], GLfloat rgba[][4] )
+{
+ GLuint rmask = ctx->PixelMaps.ItoR.Size - 1;
+ GLuint gmask = ctx->PixelMaps.ItoG.Size - 1;
+ GLuint bmask = ctx->PixelMaps.ItoB.Size - 1;
+ GLuint amask = ctx->PixelMaps.ItoA.Size - 1;
+ const GLfloat *rMap = ctx->PixelMaps.ItoR.Map;
+ const GLfloat *gMap = ctx->PixelMaps.ItoG.Map;
+ const GLfloat *bMap = ctx->PixelMaps.ItoB.Map;
+ const GLfloat *aMap = ctx->PixelMaps.ItoA.Map;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ rgba[i][RCOMP] = rMap[index[i] & rmask];
+ rgba[i][GCOMP] = gMap[index[i] & gmask];
+ rgba[i][BCOMP] = bMap[index[i] & bmask];
+ rgba[i][ACOMP] = aMap[index[i] & amask];
+ }
+}
+
+
+/**
+ * Map ubyte color indexes to ubyte/RGBA values.
+ */
+void
+_mesa_map_ci8_to_rgba8(const struct gl_context *ctx,
+ GLuint n, const GLubyte index[],
+ GLubyte rgba[][4])
+{
+ GLuint rmask = ctx->PixelMaps.ItoR.Size - 1;
+ GLuint gmask = ctx->PixelMaps.ItoG.Size - 1;
+ GLuint bmask = ctx->PixelMaps.ItoB.Size - 1;
+ GLuint amask = ctx->PixelMaps.ItoA.Size - 1;
+ const GLubyte *rMap = ctx->PixelMaps.ItoR.Map8;
+ const GLubyte *gMap = ctx->PixelMaps.ItoG.Map8;
+ const GLubyte *bMap = ctx->PixelMaps.ItoB.Map8;
+ const GLubyte *aMap = ctx->PixelMaps.ItoA.Map8;
+ GLuint i;
+ for (i=0;i<n;i++) {
+ rgba[i][RCOMP] = rMap[index[i] & rmask];
+ rgba[i][GCOMP] = gMap[index[i] & gmask];
+ rgba[i][BCOMP] = bMap[index[i] & bmask];
+ rgba[i][ACOMP] = aMap[index[i] & amask];
+ }
+}
+
+
+void
+_mesa_scale_and_bias_depth(const struct gl_context *ctx, GLuint n,
+ GLfloat depthValues[])
+{
+ const GLfloat scale = ctx->Pixel.DepthScale;
+ const GLfloat bias = ctx->Pixel.DepthBias;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ GLfloat d = depthValues[i] * scale + bias;
+ depthValues[i] = CLAMP(d, 0.0F, 1.0F);
+ }
+}
+
+
+void
+_mesa_scale_and_bias_depth_uint(const struct gl_context *ctx, GLuint n,
+ GLuint depthValues[])
+{
+ const GLdouble max = (double) 0xffffffff;
+ const GLdouble scale = ctx->Pixel.DepthScale;
+ const GLdouble bias = ctx->Pixel.DepthBias * max;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ GLdouble d = (GLdouble) depthValues[i] * scale + bias;
+ d = CLAMP(d, 0.0, max);
+ depthValues[i] = (GLuint) d;
+ }
+}
+
+/**
+ * Apply various pixel transfer operations to an array of RGBA pixels
+ * as indicated by the transferOps bitmask
+ */
+void
+_mesa_apply_rgba_transfer_ops(struct gl_context *ctx, GLbitfield transferOps,
+ GLuint n, GLfloat rgba[][4])
+{
+ /* scale & bias */
+ if (transferOps & IMAGE_SCALE_BIAS_BIT) {
+ _mesa_scale_and_bias_rgba(n, rgba,
+ ctx->Pixel.RedScale, ctx->Pixel.GreenScale,
+ ctx->Pixel.BlueScale, ctx->Pixel.AlphaScale,
+ ctx->Pixel.RedBias, ctx->Pixel.GreenBias,
+ ctx->Pixel.BlueBias, ctx->Pixel.AlphaBias);
+ }
+ /* color map lookup */
+ if (transferOps & IMAGE_MAP_COLOR_BIT) {
+ _mesa_map_rgba( ctx, n, rgba );
+ }
+
+ /* clamping to [0,1] */
+ if (transferOps & IMAGE_CLAMP_BIT) {
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ rgba[i][RCOMP] = CLAMP(rgba[i][RCOMP], 0.0F, 1.0F);
+ rgba[i][GCOMP] = CLAMP(rgba[i][GCOMP], 0.0F, 1.0F);
+ rgba[i][BCOMP] = CLAMP(rgba[i][BCOMP], 0.0F, 1.0F);
+ rgba[i][ACOMP] = CLAMP(rgba[i][ACOMP], 0.0F, 1.0F);
+ }
+ }
+}
+
+
+/*
+ * Apply color index shift and offset to an array of pixels.
+ */
+void
+_mesa_shift_and_offset_ci(const struct gl_context *ctx,
+ GLuint n, GLuint indexes[])
+{
+ GLint shift = ctx->Pixel.IndexShift;
+ GLint offset = ctx->Pixel.IndexOffset;
+ GLuint i;
+ if (shift > 0) {
+ for (i=0;i<n;i++) {
+ indexes[i] = (indexes[i] << shift) + offset;
+ }
+ }
+ else if (shift < 0) {
+ shift = -shift;
+ for (i=0;i<n;i++) {
+ indexes[i] = (indexes[i] >> shift) + offset;
+ }
+ }
+ else {
+ for (i=0;i<n;i++) {
+ indexes[i] = indexes[i] + offset;
+ }
+ }
+}
+
+
+
+/**
+ * Apply color index shift, offset and table lookup to an array
+ * of color indexes;
+ */
+void
+_mesa_apply_ci_transfer_ops(const struct gl_context *ctx,
+ GLbitfield transferOps,
+ GLuint n, GLuint indexes[])
+{
+ if (transferOps & IMAGE_SHIFT_OFFSET_BIT) {
+ _mesa_shift_and_offset_ci(ctx, n, indexes);
+ }
+ if (transferOps & IMAGE_MAP_COLOR_BIT) {
+ const GLuint mask = ctx->PixelMaps.ItoI.Size - 1;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ const GLuint j = indexes[i] & mask;
+ indexes[i] = IROUND(ctx->PixelMaps.ItoI.Map[j]);
+ }
+ }
+}
+
+
+/**
+ * Apply stencil index shift, offset and table lookup to an array
+ * of stencil values.
+ */
+void
+_mesa_apply_stencil_transfer_ops(const struct gl_context *ctx, GLuint n,
+ GLstencil stencil[])
+{
+ if (ctx->Pixel.IndexShift != 0 || ctx->Pixel.IndexOffset != 0) {
+ const GLint offset = ctx->Pixel.IndexOffset;
+ GLint shift = ctx->Pixel.IndexShift;
+ GLuint i;
+ if (shift > 0) {
+ for (i = 0; i < n; i++) {
+ stencil[i] = (stencil[i] << shift) + offset;
+ }
+ }
+ else if (shift < 0) {
+ shift = -shift;
+ for (i = 0; i < n; i++) {
+ stencil[i] = (stencil[i] >> shift) + offset;
+ }
+ }
+ else {
+ for (i = 0; i < n; i++) {
+ stencil[i] = stencil[i] + offset;
+ }
+ }
+ }
+ if (ctx->Pixel.MapStencilFlag) {
+ GLuint mask = ctx->PixelMaps.StoS.Size - 1;
+ GLuint i;
+ for (i = 0; i < n; i++) {
+ stencil[i] = (GLstencil)ctx->PixelMaps.StoS.Map[ stencil[i] & mask ];
+ }
+ }
+}
diff --git a/src/mesa/main/pixeltransfer.h b/src/mesa/main/pixeltransfer.h
new file mode 100644
index 00000000000..34f3e49ba76
--- /dev/null
+++ b/src/mesa/main/pixeltransfer.h
@@ -0,0 +1,90 @@
+/*
+ * Mesa 3-D graphics library
+ *
+ * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009-2010 VMware, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included
+ * in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+
+#ifndef PIXELTRANSFER_H
+#define PIXELTRANSFER_H
+
+
+#include "mtypes.h"
+
+
+extern void
+_mesa_scale_and_bias_rgba(GLuint n, GLfloat rgba[][4],
+ GLfloat rScale, GLfloat gScale,
+ GLfloat bScale, GLfloat aScale,
+ GLfloat rBias, GLfloat gBias,
+ GLfloat bBias, GLfloat aBias);
+
+extern void
+_mesa_map_rgba(const struct gl_context *ctx, GLuint n, GLfloat rgba[][4]);
+
+extern void
+_mesa_lookup_rgba_float(const struct gl_color_table *table,
+ GLuint n, GLfloat rgba[][4]);
+
+extern void
+_mesa_lookup_rgba_ubyte(const struct gl_color_table *table,
+ GLuint n, GLubyte rgba[][4]);
+
+
+extern void
+_mesa_map_ci_to_rgba(const struct gl_context *ctx,
+ GLuint n, const GLuint index[], GLfloat rgba[][4]);
+
+
+extern void
+_mesa_map_ci8_to_rgba8(const struct gl_context *ctx,
+ GLuint n, const GLubyte index[],
+ GLubyte rgba[][4]);
+
+
+extern void
+_mesa_scale_and_bias_depth(const struct gl_context *ctx, GLuint n,
+ GLfloat depthValues[]);
+
+extern void
+_mesa_scale_and_bias_depth_uint(const struct gl_context *ctx, GLuint n,
+ GLuint depthValues[]);
+
+extern void
+_mesa_apply_rgba_transfer_ops(struct gl_context *ctx, GLbitfield transferOps,
+ GLuint n, GLfloat rgba[][4]);
+
+extern void
+_mesa_shift_and_offset_ci(const struct gl_context *ctx,
+ GLuint n, GLuint indexes[]);
+
+extern void
+_mesa_apply_ci_transfer_ops(const struct gl_context *ctx,
+ GLbitfield transferOps,
+ GLuint n, GLuint indexes[]);
+
+
+extern void
+_mesa_apply_stencil_transfer_ops(const struct gl_context *ctx, GLuint n,
+ GLstencil stencil[]);
+
+
+#endif
diff --git a/src/mesa/main/points.c b/src/mesa/main/points.c
index eab9d13d6d9..87bfae27eba 100644
--- a/src/mesa/main/points.c
+++ b/src/mesa/main/points.c
@@ -245,11 +245,11 @@ _mesa_PointParameterfv( GLenum pname, const GLfloat *params)
*
* \param ctx GL context.
*
- * Initializes __GLcontextRec::Point and point related constants in
- * __GLcontextRec::Const.
+ * Initializes __struct gl_contextRec::Point and point related constants in
+ * __struct gl_contextRec::Const.
*/
void
-_mesa_init_point(GLcontext *ctx)
+_mesa_init_point(struct gl_context *ctx)
{
GLuint i;
diff --git a/src/mesa/main/points.h b/src/mesa/main/points.h
index 156641eab91..b222379b1b5 100644
--- a/src/mesa/main/points.h
+++ b/src/mesa/main/points.h
@@ -51,7 +51,7 @@ extern void GLAPIENTRY
_mesa_PointParameterfv( GLenum pname, const GLfloat *params );
extern void
-_mesa_init_point( GLcontext * ctx );
+_mesa_init_point( struct gl_context * ctx );
#endif
diff --git a/src/mesa/main/polygon.c b/src/mesa/main/polygon.c
index 30e4a606bb7..9c213b9b4c0 100644
--- a/src/mesa/main/polygon.c
+++ b/src/mesa/main/polygon.c
@@ -34,6 +34,7 @@
#include "context.h"
#include "image.h"
#include "enums.h"
+#include "pack.h"
#include "polygon.h"
#include "mtypes.h"
@@ -190,7 +191,7 @@ _mesa_PolygonMode( GLenum face, GLenum mode )
* too.
*/
void
-_mesa_polygon_stipple(GLcontext *ctx, const GLubyte *pattern)
+_mesa_polygon_stipple(struct gl_context *ctx, const GLubyte *pattern)
{
pattern = _mesa_map_validate_pbo_source(ctx, 2,
&ctx->Unpack, 32, 32, 1,
@@ -293,10 +294,10 @@ _mesa_PolygonOffsetEXT( GLfloat factor, GLfloat bias )
*
* \param ctx GL context.
*
- * Initializes __GLcontextRec::Polygon and __GLcontextRec::PolygonStipple
+ * Initializes __struct gl_contextRec::Polygon and __struct gl_contextRec::PolygonStipple
* attribute groups.
*/
-void _mesa_init_polygon( GLcontext * ctx )
+void _mesa_init_polygon( struct gl_context * ctx )
{
/* Polygon group */
ctx->Polygon.CullFlag = GL_FALSE;
diff --git a/src/mesa/main/polygon.h b/src/mesa/main/polygon.h
index 78e8394d053..ad0ac4cc3a7 100644
--- a/src/mesa/main/polygon.h
+++ b/src/mesa/main/polygon.h
@@ -36,7 +36,7 @@
extern void
-_mesa_polygon_stipple(GLcontext *ctx, const GLubyte *pattern);
+_mesa_polygon_stipple(struct gl_context *ctx, const GLubyte *pattern);
extern void GLAPIENTRY
@@ -61,6 +61,6 @@ extern void GLAPIENTRY
_mesa_GetPolygonStipple( GLubyte *mask );
extern void
-_mesa_init_polygon( GLcontext * ctx );
+_mesa_init_polygon( struct gl_context * ctx );
#endif
diff --git a/src/mesa/main/queryobj.c b/src/mesa/main/queryobj.c
index a907dac836b..88743977206 100644
--- a/src/mesa/main/queryobj.c
+++ b/src/mesa/main/queryobj.c
@@ -43,7 +43,7 @@
* \return pointer to new query_object object or NULL if out of memory.
*/
static struct gl_query_object *
-_mesa_new_query_object(GLcontext *ctx, GLuint id)
+_mesa_new_query_object(struct gl_context *ctx, GLuint id)
{
struct gl_query_object *q = MALLOC_STRUCT(gl_query_object);
(void) ctx;
@@ -62,7 +62,7 @@ _mesa_new_query_object(GLcontext *ctx, GLuint id)
* Called via ctx->Driver.BeginQuery().
*/
static void
-_mesa_begin_query(GLcontext *ctx, struct gl_query_object *q)
+_mesa_begin_query(struct gl_context *ctx, struct gl_query_object *q)
{
/* no-op */
}
@@ -73,7 +73,7 @@ _mesa_begin_query(GLcontext *ctx, struct gl_query_object *q)
* Called via ctx->Driver.EndQuery().
*/
static void
-_mesa_end_query(GLcontext *ctx, struct gl_query_object *q)
+_mesa_end_query(struct gl_context *ctx, struct gl_query_object *q)
{
q->Ready = GL_TRUE;
}
@@ -84,7 +84,7 @@ _mesa_end_query(GLcontext *ctx, struct gl_query_object *q)
* Called via ctx->Driver.WaitQuery().
*/
static void
-_mesa_wait_query(GLcontext *ctx, struct gl_query_object *q)
+_mesa_wait_query(struct gl_context *ctx, struct gl_query_object *q)
{
/* For software drivers, _mesa_end_query() should have completed the query.
* For real hardware, implement a proper WaitQuery() driver function,
@@ -99,7 +99,7 @@ _mesa_wait_query(GLcontext *ctx, struct gl_query_object *q)
* Called via ctx->Driver.CheckQuery().
*/
static void
-_mesa_check_query(GLcontext *ctx, struct gl_query_object *q)
+_mesa_check_query(struct gl_context *ctx, struct gl_query_object *q)
{
/* No-op for sw rendering.
* HW drivers may need to flush at this time.
@@ -112,7 +112,7 @@ _mesa_check_query(GLcontext *ctx, struct gl_query_object *q)
* Not removed from hash table here.
*/
static void
-_mesa_delete_query(GLcontext *ctx, struct gl_query_object *q)
+_mesa_delete_query(struct gl_context *ctx, struct gl_query_object *q)
{
free(q);
}
@@ -135,7 +135,7 @@ _mesa_init_query_object_functions(struct dd_function_table *driver)
* \return NULL if invalid target, else the address of binding point
*/
static struct gl_query_object **
-get_query_binding_point(GLcontext *ctx, GLenum target)
+get_query_binding_point(struct gl_context *ctx, GLenum target)
{
switch (target) {
case GL_SAMPLES_PASSED_ARB:
@@ -535,7 +535,7 @@ _mesa_init_queryobj_dispatch(struct _glapi_table *disp)
* Allocate/init the context state related to query objects.
*/
void
-_mesa_init_queryobj(GLcontext *ctx)
+_mesa_init_queryobj(struct gl_context *ctx)
{
ctx->Query.QueryObjects = _mesa_NewHashTable();
ctx->Query.CurrentOcclusionObject = NULL;
@@ -549,7 +549,7 @@ static void
delete_queryobj_cb(GLuint id, void *data, void *userData)
{
struct gl_query_object *q= (struct gl_query_object *) data;
- GLcontext *ctx = (GLcontext *)userData;
+ struct gl_context *ctx = (struct gl_context *)userData;
ctx->Driver.DeleteQuery(ctx, q);
}
@@ -558,7 +558,7 @@ delete_queryobj_cb(GLuint id, void *data, void *userData)
* Free the context state related to query objects.
*/
void
-_mesa_free_queryobj_data(GLcontext *ctx)
+_mesa_free_queryobj_data(struct gl_context *ctx)
{
_mesa_HashDeleteAll(ctx->Query.QueryObjects, delete_queryobj_cb, ctx);
_mesa_DeleteHashTable(ctx->Query.QueryObjects);
diff --git a/src/mesa/main/queryobj.h b/src/mesa/main/queryobj.h
index 8746ed15e99..e289625731a 100644
--- a/src/mesa/main/queryobj.h
+++ b/src/mesa/main/queryobj.h
@@ -34,7 +34,7 @@
#if FEATURE_queryobj
static INLINE struct gl_query_object *
-_mesa_lookup_query_object(GLcontext *ctx, GLuint id)
+_mesa_lookup_query_object(struct gl_context *ctx, GLuint id)
{
return (struct gl_query_object *)
_mesa_HashLookup(ctx->Query.QueryObjects, id);
@@ -68,7 +68,7 @@ _mesa_init_queryobj_dispatch(struct _glapi_table *disp);
#else /* FEATURE_queryobj */
static INLINE struct gl_query_object *
-_mesa_lookup_query_object(GLcontext *ctx, GLuint id)
+_mesa_lookup_query_object(struct gl_context *ctx, GLuint id)
{
return NULL;
}
@@ -86,10 +86,10 @@ _mesa_init_queryobj_dispatch(struct _glapi_table *disp)
#endif /* FEATURE_queryobj */
extern void
-_mesa_init_queryobj(GLcontext *ctx);
+_mesa_init_queryobj(struct gl_context *ctx);
extern void
-_mesa_free_queryobj_data(GLcontext *ctx);
+_mesa_free_queryobj_data(struct gl_context *ctx);
#endif /* QUERYOBJ_H */
diff --git a/src/mesa/main/rastpos.c b/src/mesa/main/rastpos.c
index 75c67f2693e..6f52f07dfab 100644
--- a/src/mesa/main/rastpos.c
+++ b/src/mesa/main/rastpos.c
@@ -545,10 +545,10 @@ _mesa_init_rastpos_dispatch(struct _glapi_table *disp)
* \param ctx GL context.
*
* Initialize the current raster position information in
- * __GLcontextRec::Current, and adds the extension entry points to the
+ * __struct gl_contextRec::Current, and adds the extension entry points to the
* dispatcher.
*/
-void _mesa_init_rastpos( GLcontext * ctx )
+void _mesa_init_rastpos( struct gl_context * ctx )
{
int i;
diff --git a/src/mesa/main/rastpos.h b/src/mesa/main/rastpos.h
index 4994616d40a..9b508eaedf5 100644
--- a/src/mesa/main/rastpos.h
+++ b/src/mesa/main/rastpos.h
@@ -50,7 +50,7 @@ _mesa_init_rastpos_dispatch(struct _glapi_table *disp)
#endif /* FEATURE_rastpos */
extern void
-_mesa_init_rastpos(GLcontext *ctx);
+_mesa_init_rastpos(struct gl_context *ctx);
/*@}*/
diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c
index bb3fb9eb662..a5612e34ecf 100644
--- a/src/mesa/main/readpix.c
+++ b/src/mesa/main/readpix.c
@@ -28,6 +28,7 @@
#include "context.h"
#include "readpix.h"
#include "framebuffer.h"
+#include "formats.h"
#include "image.h"
#include "state.h"
@@ -40,7 +41,7 @@
* \return GL_TRUE if error detected, GL_FALSE if no errors
*/
GLboolean
-_mesa_error_check_format_type(GLcontext *ctx, GLenum format, GLenum type,
+_mesa_error_check_format_type(struct gl_context *ctx, GLenum format, GLenum type,
GLboolean drawing)
{
const char *readDraw = drawing ? "Draw" : "Read";
@@ -78,6 +79,16 @@ _mesa_error_check_format_type(GLcontext *ctx, GLenum format, GLenum type,
case GL_RGBA:
case GL_BGRA:
case GL_ABGR_EXT:
+ case GL_RED_INTEGER_EXT:
+ case GL_GREEN_INTEGER_EXT:
+ case GL_BLUE_INTEGER_EXT:
+ case GL_ALPHA_INTEGER_EXT:
+ case GL_RGB_INTEGER_EXT:
+ case GL_RGBA_INTEGER_EXT:
+ case GL_BGR_INTEGER_EXT:
+ case GL_BGRA_INTEGER_EXT:
+ case GL_LUMINANCE_INTEGER_EXT:
+ case GL_LUMINANCE_ALPHA_INTEGER_EXT:
if (!drawing) {
/* reading */
if (!_mesa_source_buffer_exists(ctx, GL_COLOR)) {
@@ -175,6 +186,20 @@ _mesa_ReadPixels( GLint x, GLint y, GLsizei width, GLsizei height,
return;
}
+ /* Check that the destination format and source buffer are both
+ * integer-valued or both non-integer-valued.
+ */
+ if (ctx->Extensions.EXT_texture_integer && _mesa_is_color_format(format)) {
+ const struct gl_renderbuffer *rb = ctx->ReadBuffer->_ColorReadBuffer;
+ const GLboolean srcInteger = _mesa_is_format_integer_color(rb->Format);
+ const GLboolean dstInteger = _mesa_is_integer_format(format);
+ if (dstInteger != srcInteger) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glReadPixels(integer / non-integer format mismatch");
+ return;
+ }
+ }
+
if (ctx->ReadBuffer->_Status != GL_FRAMEBUFFER_COMPLETE_EXT) {
_mesa_error(ctx, GL_INVALID_FRAMEBUFFER_OPERATION_EXT,
"glReadPixels(incomplete framebuffer)" );
diff --git a/src/mesa/main/readpix.h b/src/mesa/main/readpix.h
index 1bf02fb8e4d..0753e619fed 100644
--- a/src/mesa/main/readpix.h
+++ b/src/mesa/main/readpix.h
@@ -31,7 +31,7 @@
extern GLboolean
-_mesa_error_check_format_type(GLcontext *ctx, GLenum format, GLenum type,
+_mesa_error_check_format_type(struct gl_context *ctx, GLenum format, GLenum type,
GLboolean drawing);
extern void GLAPIENTRY
diff --git a/src/mesa/main/remap_helper.h b/src/mesa/main/remap_helper.h
index fe3e0fd9123..9034b10d488 100644
--- a/src/mesa/main/remap_helper.h
+++ b/src/mesa/main/remap_helper.h
@@ -424,4041 +424,4085 @@ static const char _mesa_function_pool[] =
"f\0"
"glPassThrough\0"
"\0"
- /* _mesa_function_pool[2740]: FramebufferTextureLayerEXT (will be remapped) */
+ /* _mesa_function_pool[2740]: TexParameterIivEXT (will be remapped) */
+ "iip\0"
+ "glTexParameterIivEXT\0"
+ "\0"
+ /* _mesa_function_pool[2766]: FramebufferTextureLayerEXT (will be remapped) */
"iiiii\0"
"glFramebufferTextureLayer\0"
"glFramebufferTextureLayerEXT\0"
"\0"
- /* _mesa_function_pool[2802]: GetListParameterfvSGIX (dynamic) */
+ /* _mesa_function_pool[2828]: GetListParameterfvSGIX (dynamic) */
"iip\0"
"glGetListParameterfvSGIX\0"
"\0"
- /* _mesa_function_pool[2832]: Viewport (offset 305) */
+ /* _mesa_function_pool[2858]: Viewport (offset 305) */
"iiii\0"
"glViewport\0"
"\0"
- /* _mesa_function_pool[2849]: VertexAttrib4NusvARB (will be remapped) */
+ /* _mesa_function_pool[2875]: VertexAttrib4NusvARB (will be remapped) */
"ip\0"
"glVertexAttrib4Nusv\0"
"glVertexAttrib4NusvARB\0"
"\0"
- /* _mesa_function_pool[2896]: WindowPos4svMESA (will be remapped) */
+ /* _mesa_function_pool[2922]: WindowPos4svMESA (will be remapped) */
"p\0"
"glWindowPos4svMESA\0"
"\0"
- /* _mesa_function_pool[2918]: CreateProgramObjectARB (will be remapped) */
+ /* _mesa_function_pool[2944]: CreateProgramObjectARB (will be remapped) */
"\0"
"glCreateProgramObjectARB\0"
"\0"
- /* _mesa_function_pool[2945]: DeleteTransformFeedbacks (will be remapped) */
+ /* _mesa_function_pool[2971]: DeleteTransformFeedbacks (will be remapped) */
"ip\0"
"glDeleteTransformFeedbacks\0"
"\0"
- /* _mesa_function_pool[2976]: UniformMatrix4x3fv (will be remapped) */
+ /* _mesa_function_pool[3002]: UniformMatrix4x3fv (will be remapped) */
"iiip\0"
"glUniformMatrix4x3fv\0"
"\0"
- /* _mesa_function_pool[3003]: PrioritizeTextures (offset 331) */
+ /* _mesa_function_pool[3029]: PrioritizeTextures (offset 331) */
"ipp\0"
"glPrioritizeTextures\0"
"glPrioritizeTexturesEXT\0"
"\0"
- /* _mesa_function_pool[3053]: AsyncMarkerSGIX (dynamic) */
+ /* _mesa_function_pool[3079]: AsyncMarkerSGIX (dynamic) */
"i\0"
"glAsyncMarkerSGIX\0"
"\0"
- /* _mesa_function_pool[3074]: GlobalAlphaFactorubSUN (dynamic) */
+ /* _mesa_function_pool[3100]: GlobalAlphaFactorubSUN (dynamic) */
"i\0"
"glGlobalAlphaFactorubSUN\0"
"\0"
- /* _mesa_function_pool[3102]: ClearDebugLogMESA (dynamic) */
+ /* _mesa_function_pool[3128]: ClearColorIuiEXT (will be remapped) */
+ "iiii\0"
+ "glClearColorIuiEXT\0"
+ "\0"
+ /* _mesa_function_pool[3153]: ClearDebugLogMESA (dynamic) */
"iii\0"
"glClearDebugLogMESA\0"
"\0"
- /* _mesa_function_pool[3127]: ResetHistogram (offset 369) */
+ /* _mesa_function_pool[3178]: ResetHistogram (offset 369) */
"i\0"
"glResetHistogram\0"
"glResetHistogramEXT\0"
"\0"
- /* _mesa_function_pool[3167]: GetProgramNamedParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[3218]: GetProgramNamedParameterfvNV (will be remapped) */
"iipp\0"
"glGetProgramNamedParameterfvNV\0"
"\0"
- /* _mesa_function_pool[3204]: PointParameterfEXT (will be remapped) */
+ /* _mesa_function_pool[3255]: PointParameterfEXT (will be remapped) */
"if\0"
"glPointParameterf\0"
"glPointParameterfARB\0"
"glPointParameterfEXT\0"
"glPointParameterfSGIS\0"
"\0"
- /* _mesa_function_pool[3290]: LoadIdentityDeformationMapSGIX (dynamic) */
+ /* _mesa_function_pool[3341]: LoadIdentityDeformationMapSGIX (dynamic) */
"i\0"
"glLoadIdentityDeformationMapSGIX\0"
"\0"
- /* _mesa_function_pool[3326]: GenFencesNV (will be remapped) */
+ /* _mesa_function_pool[3377]: GenFencesNV (will be remapped) */
"ip\0"
"glGenFencesNV\0"
"\0"
- /* _mesa_function_pool[3344]: ImageTransformParameterfHP (dynamic) */
+ /* _mesa_function_pool[3395]: ImageTransformParameterfHP (dynamic) */
"iif\0"
"glImageTransformParameterfHP\0"
"\0"
- /* _mesa_function_pool[3378]: MatrixIndexusvARB (dynamic) */
+ /* _mesa_function_pool[3429]: MatrixIndexusvARB (dynamic) */
"ip\0"
"glMatrixIndexusvARB\0"
"\0"
- /* _mesa_function_pool[3402]: DrawElementsBaseVertex (will be remapped) */
+ /* _mesa_function_pool[3453]: DrawElementsBaseVertex (will be remapped) */
"iiipi\0"
"glDrawElementsBaseVertex\0"
"\0"
- /* _mesa_function_pool[3434]: DisableVertexAttribArrayARB (will be remapped) */
+ /* _mesa_function_pool[3485]: DisableVertexAttribArrayARB (will be remapped) */
"i\0"
"glDisableVertexAttribArray\0"
"glDisableVertexAttribArrayARB\0"
"\0"
- /* _mesa_function_pool[3494]: TexCoord2sv (offset 109) */
+ /* _mesa_function_pool[3545]: TexCoord2sv (offset 109) */
"p\0"
"glTexCoord2sv\0"
"\0"
- /* _mesa_function_pool[3511]: Vertex4dv (offset 143) */
+ /* _mesa_function_pool[3562]: Vertex4dv (offset 143) */
"p\0"
"glVertex4dv\0"
"\0"
- /* _mesa_function_pool[3526]: StencilMaskSeparate (will be remapped) */
+ /* _mesa_function_pool[3577]: StencilMaskSeparate (will be remapped) */
"ii\0"
"glStencilMaskSeparate\0"
"\0"
- /* _mesa_function_pool[3552]: ProgramLocalParameter4dARB (will be remapped) */
+ /* _mesa_function_pool[3603]: ProgramLocalParameter4dARB (will be remapped) */
"iidddd\0"
"glProgramLocalParameter4dARB\0"
"\0"
- /* _mesa_function_pool[3589]: CompressedTexImage3DARB (will be remapped) */
+ /* _mesa_function_pool[3640]: CompressedTexImage3DARB (will be remapped) */
"iiiiiiiip\0"
"glCompressedTexImage3D\0"
"glCompressedTexImage3DARB\0"
"\0"
- /* _mesa_function_pool[3649]: Color3sv (offset 18) */
+ /* _mesa_function_pool[3700]: Color3sv (offset 18) */
"p\0"
"glColor3sv\0"
"\0"
- /* _mesa_function_pool[3663]: GetConvolutionParameteriv (offset 358) */
+ /* _mesa_function_pool[3714]: GetConvolutionParameteriv (offset 358) */
"iip\0"
"glGetConvolutionParameteriv\0"
"glGetConvolutionParameterivEXT\0"
"\0"
- /* _mesa_function_pool[3727]: VertexAttrib1fARB (will be remapped) */
+ /* _mesa_function_pool[3778]: VertexAttrib1fARB (will be remapped) */
"if\0"
"glVertexAttrib1f\0"
"glVertexAttrib1fARB\0"
"\0"
- /* _mesa_function_pool[3768]: Vertex2dv (offset 127) */
+ /* _mesa_function_pool[3819]: Vertex2dv (offset 127) */
"p\0"
"glVertex2dv\0"
"\0"
- /* _mesa_function_pool[3783]: TestFenceNV (will be remapped) */
+ /* _mesa_function_pool[3834]: TestFenceNV (will be remapped) */
"i\0"
"glTestFenceNV\0"
"\0"
- /* _mesa_function_pool[3800]: MultiTexCoord1fvARB (offset 379) */
+ /* _mesa_function_pool[3851]: MultiTexCoord1fvARB (offset 379) */
"ip\0"
"glMultiTexCoord1fv\0"
"glMultiTexCoord1fvARB\0"
"\0"
- /* _mesa_function_pool[3845]: TexCoord3iv (offset 115) */
+ /* _mesa_function_pool[3896]: TexCoord3iv (offset 115) */
"p\0"
"glTexCoord3iv\0"
"\0"
- /* _mesa_function_pool[3862]: ColorFragmentOp2ATI (will be remapped) */
+ /* _mesa_function_pool[3913]: ColorFragmentOp2ATI (will be remapped) */
"iiiiiiiiii\0"
"glColorFragmentOp2ATI\0"
"\0"
- /* _mesa_function_pool[3896]: SecondaryColorPointerListIBM (dynamic) */
+ /* _mesa_function_pool[3947]: SecondaryColorPointerListIBM (dynamic) */
"iiipi\0"
"glSecondaryColorPointerListIBM\0"
"\0"
- /* _mesa_function_pool[3934]: GetPixelTexGenParameterivSGIS (will be remapped) */
+ /* _mesa_function_pool[3985]: GetPixelTexGenParameterivSGIS (will be remapped) */
"ip\0"
"glGetPixelTexGenParameterivSGIS\0"
"\0"
- /* _mesa_function_pool[3970]: Color3fv (offset 14) */
+ /* _mesa_function_pool[4021]: Color3fv (offset 14) */
"p\0"
"glColor3fv\0"
"\0"
- /* _mesa_function_pool[3984]: VertexAttrib4fNV (will be remapped) */
+ /* _mesa_function_pool[4035]: VertexAttrib4fNV (will be remapped) */
"iffff\0"
"glVertexAttrib4fNV\0"
"\0"
- /* _mesa_function_pool[4010]: ReplacementCodeubSUN (dynamic) */
+ /* _mesa_function_pool[4061]: ReplacementCodeubSUN (dynamic) */
"i\0"
"glReplacementCodeubSUN\0"
"\0"
- /* _mesa_function_pool[4036]: FinishAsyncSGIX (dynamic) */
+ /* _mesa_function_pool[4087]: FinishAsyncSGIX (dynamic) */
"p\0"
"glFinishAsyncSGIX\0"
"\0"
- /* _mesa_function_pool[4057]: GetDebugLogMESA (dynamic) */
+ /* _mesa_function_pool[4108]: GetDebugLogMESA (dynamic) */
"iiiipp\0"
"glGetDebugLogMESA\0"
"\0"
- /* _mesa_function_pool[4083]: FogCoorddEXT (will be remapped) */
+ /* _mesa_function_pool[4134]: FogCoorddEXT (will be remapped) */
"d\0"
"glFogCoordd\0"
"glFogCoorddEXT\0"
"\0"
- /* _mesa_function_pool[4113]: BeginConditionalRenderNV (will be remapped) */
+ /* _mesa_function_pool[4164]: BeginConditionalRenderNV (will be remapped) */
"ii\0"
"glBeginConditionalRenderNV\0"
"\0"
- /* _mesa_function_pool[4144]: Color4ubVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[4195]: Color4ubVertex3fSUN (dynamic) */
"iiiifff\0"
"glColor4ubVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[4175]: FogCoordfEXT (will be remapped) */
+ /* _mesa_function_pool[4226]: FogCoordfEXT (will be remapped) */
"f\0"
"glFogCoordf\0"
"glFogCoordfEXT\0"
"\0"
- /* _mesa_function_pool[4205]: PointSize (offset 173) */
+ /* _mesa_function_pool[4256]: PointSize (offset 173) */
"f\0"
"glPointSize\0"
"\0"
- /* _mesa_function_pool[4220]: TexCoord2fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[4271]: TexCoord2fVertex3fSUN (dynamic) */
"fffff\0"
"glTexCoord2fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[4251]: PopName (offset 200) */
+ /* _mesa_function_pool[4302]: PopName (offset 200) */
"\0"
"glPopName\0"
"\0"
- /* _mesa_function_pool[4263]: GlobalAlphaFactoriSUN (dynamic) */
+ /* _mesa_function_pool[4314]: GlobalAlphaFactoriSUN (dynamic) */
"i\0"
"glGlobalAlphaFactoriSUN\0"
"\0"
- /* _mesa_function_pool[4290]: VertexAttrib2dNV (will be remapped) */
+ /* _mesa_function_pool[4341]: VertexAttrib2dNV (will be remapped) */
"idd\0"
"glVertexAttrib2dNV\0"
"\0"
- /* _mesa_function_pool[4314]: GetProgramInfoLog (will be remapped) */
+ /* _mesa_function_pool[4365]: GetProgramInfoLog (will be remapped) */
"iipp\0"
"glGetProgramInfoLog\0"
"\0"
- /* _mesa_function_pool[4340]: VertexAttrib4NbvARB (will be remapped) */
+ /* _mesa_function_pool[4391]: VertexAttrib4NbvARB (will be remapped) */
"ip\0"
"glVertexAttrib4Nbv\0"
"glVertexAttrib4NbvARB\0"
"\0"
- /* _mesa_function_pool[4385]: GetActiveAttribARB (will be remapped) */
+ /* _mesa_function_pool[4436]: GetActiveAttribARB (will be remapped) */
"iiipppp\0"
"glGetActiveAttrib\0"
"glGetActiveAttribARB\0"
"\0"
- /* _mesa_function_pool[4433]: Vertex4sv (offset 149) */
+ /* _mesa_function_pool[4484]: Vertex4sv (offset 149) */
"p\0"
"glVertex4sv\0"
"\0"
- /* _mesa_function_pool[4448]: VertexAttrib4ubNV (will be remapped) */
+ /* _mesa_function_pool[4499]: VertexAttrib4ubNV (will be remapped) */
"iiiii\0"
"glVertexAttrib4ubNV\0"
"\0"
- /* _mesa_function_pool[4475]: TextureRangeAPPLE (will be remapped) */
+ /* _mesa_function_pool[4526]: TextureRangeAPPLE (will be remapped) */
"iip\0"
"glTextureRangeAPPLE\0"
"\0"
- /* _mesa_function_pool[4500]: GetTexEnvfv (offset 276) */
+ /* _mesa_function_pool[4551]: GetTexEnvfv (offset 276) */
"iip\0"
"glGetTexEnvfv\0"
"\0"
- /* _mesa_function_pool[4519]: BindTransformFeedback (will be remapped) */
+ /* _mesa_function_pool[4570]: BindTransformFeedback (will be remapped) */
"ii\0"
"glBindTransformFeedback\0"
"\0"
- /* _mesa_function_pool[4547]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[4598]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
"ffffffffffff\0"
"glTexCoord2fColor4fNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[4600]: Indexub (offset 315) */
+ /* _mesa_function_pool[4651]: Indexub (offset 315) */
"i\0"
"glIndexub\0"
"\0"
- /* _mesa_function_pool[4613]: ColorMaskIndexedEXT (will be remapped) */
+ /* _mesa_function_pool[4664]: ColorMaskIndexedEXT (will be remapped) */
"iiiii\0"
"glColorMaskIndexedEXT\0"
"\0"
- /* _mesa_function_pool[4642]: TexEnvi (offset 186) */
+ /* _mesa_function_pool[4693]: TexEnvi (offset 186) */
"iii\0"
"glTexEnvi\0"
"\0"
- /* _mesa_function_pool[4657]: GetClipPlane (offset 259) */
+ /* _mesa_function_pool[4708]: GetClipPlane (offset 259) */
"ip\0"
"glGetClipPlane\0"
"\0"
- /* _mesa_function_pool[4676]: CombinerParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[4727]: CombinerParameterfvNV (will be remapped) */
"ip\0"
"glCombinerParameterfvNV\0"
"\0"
- /* _mesa_function_pool[4704]: VertexAttribs3dvNV (will be remapped) */
+ /* _mesa_function_pool[4755]: VertexAttribs3dvNV (will be remapped) */
"iip\0"
"glVertexAttribs3dvNV\0"
"\0"
- /* _mesa_function_pool[4730]: VertexAttribs4fvNV (will be remapped) */
+ /* _mesa_function_pool[4781]: VertexAttribs4fvNV (will be remapped) */
"iip\0"
"glVertexAttribs4fvNV\0"
"\0"
- /* _mesa_function_pool[4756]: VertexArrayRangeNV (will be remapped) */
+ /* _mesa_function_pool[4807]: VertexArrayRangeNV (will be remapped) */
"ip\0"
"glVertexArrayRangeNV\0"
"\0"
- /* _mesa_function_pool[4781]: FragmentLightiSGIX (dynamic) */
+ /* _mesa_function_pool[4832]: FragmentLightiSGIX (dynamic) */
"iii\0"
"glFragmentLightiSGIX\0"
"\0"
- /* _mesa_function_pool[4807]: PolygonOffsetEXT (will be remapped) */
+ /* _mesa_function_pool[4858]: PolygonOffsetEXT (will be remapped) */
"ff\0"
"glPolygonOffsetEXT\0"
"\0"
- /* _mesa_function_pool[4830]: PollAsyncSGIX (dynamic) */
+ /* _mesa_function_pool[4881]: PollAsyncSGIX (dynamic) */
"p\0"
"glPollAsyncSGIX\0"
"\0"
- /* _mesa_function_pool[4849]: DeleteFragmentShaderATI (will be remapped) */
+ /* _mesa_function_pool[4900]: DeleteFragmentShaderATI (will be remapped) */
"i\0"
"glDeleteFragmentShaderATI\0"
"\0"
- /* _mesa_function_pool[4878]: Scaled (offset 301) */
+ /* _mesa_function_pool[4929]: Scaled (offset 301) */
"ddd\0"
"glScaled\0"
"\0"
- /* _mesa_function_pool[4892]: ResumeTransformFeedback (will be remapped) */
+ /* _mesa_function_pool[4943]: ResumeTransformFeedback (will be remapped) */
"\0"
"glResumeTransformFeedback\0"
"\0"
- /* _mesa_function_pool[4920]: Scalef (offset 302) */
+ /* _mesa_function_pool[4971]: Scalef (offset 302) */
"fff\0"
"glScalef\0"
"\0"
- /* _mesa_function_pool[4934]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[4985]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */
"ppp\0"
"glTexCoord2fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[4972]: MultTransposeMatrixdARB (will be remapped) */
+ /* _mesa_function_pool[5023]: MultTransposeMatrixdARB (will be remapped) */
"p\0"
"glMultTransposeMatrixd\0"
"glMultTransposeMatrixdARB\0"
"\0"
- /* _mesa_function_pool[5024]: ObjectUnpurgeableAPPLE (will be remapped) */
+ /* _mesa_function_pool[5075]: ObjectUnpurgeableAPPLE (will be remapped) */
"iii\0"
"glObjectUnpurgeableAPPLE\0"
"\0"
- /* _mesa_function_pool[5054]: AlphaFunc (offset 240) */
+ /* _mesa_function_pool[5105]: AlphaFunc (offset 240) */
"if\0"
"glAlphaFunc\0"
"\0"
- /* _mesa_function_pool[5070]: WindowPos2svMESA (will be remapped) */
+ /* _mesa_function_pool[5121]: WindowPos2svMESA (will be remapped) */
"p\0"
"glWindowPos2sv\0"
"glWindowPos2svARB\0"
"glWindowPos2svMESA\0"
"\0"
- /* _mesa_function_pool[5125]: EdgeFlag (offset 41) */
+ /* _mesa_function_pool[5176]: EdgeFlag (offset 41) */
"i\0"
"glEdgeFlag\0"
"\0"
- /* _mesa_function_pool[5139]: TexCoord2iv (offset 107) */
+ /* _mesa_function_pool[5190]: TexCoord2iv (offset 107) */
"p\0"
"glTexCoord2iv\0"
"\0"
- /* _mesa_function_pool[5156]: CompressedTexImage1DARB (will be remapped) */
+ /* _mesa_function_pool[5207]: CompressedTexImage1DARB (will be remapped) */
"iiiiiip\0"
"glCompressedTexImage1D\0"
"glCompressedTexImage1DARB\0"
"\0"
- /* _mesa_function_pool[5214]: Rotated (offset 299) */
+ /* _mesa_function_pool[5265]: Rotated (offset 299) */
"dddd\0"
"glRotated\0"
"\0"
- /* _mesa_function_pool[5230]: VertexAttrib2sNV (will be remapped) */
+ /* _mesa_function_pool[5281]: GetTexParameterIuivEXT (will be remapped) */
+ "iip\0"
+ "glGetTexParameterIuivEXT\0"
+ "\0"
+ /* _mesa_function_pool[5311]: VertexAttrib2sNV (will be remapped) */
"iii\0"
"glVertexAttrib2sNV\0"
"\0"
- /* _mesa_function_pool[5254]: ReadPixels (offset 256) */
+ /* _mesa_function_pool[5335]: ReadPixels (offset 256) */
"iiiiiip\0"
"glReadPixels\0"
"\0"
- /* _mesa_function_pool[5276]: EdgeFlagv (offset 42) */
+ /* _mesa_function_pool[5357]: EdgeFlagv (offset 42) */
"p\0"
"glEdgeFlagv\0"
"\0"
- /* _mesa_function_pool[5291]: NormalPointerListIBM (dynamic) */
+ /* _mesa_function_pool[5372]: NormalPointerListIBM (dynamic) */
"iipi\0"
"glNormalPointerListIBM\0"
"\0"
- /* _mesa_function_pool[5320]: IndexPointerEXT (will be remapped) */
+ /* _mesa_function_pool[5401]: IndexPointerEXT (will be remapped) */
"iiip\0"
"glIndexPointerEXT\0"
"\0"
- /* _mesa_function_pool[5344]: Color4iv (offset 32) */
+ /* _mesa_function_pool[5425]: Color4iv (offset 32) */
"p\0"
"glColor4iv\0"
"\0"
- /* _mesa_function_pool[5358]: TexParameterf (offset 178) */
+ /* _mesa_function_pool[5439]: TexParameterf (offset 178) */
"iif\0"
"glTexParameterf\0"
"\0"
- /* _mesa_function_pool[5379]: TexParameteri (offset 180) */
+ /* _mesa_function_pool[5460]: TexParameteri (offset 180) */
"iii\0"
"glTexParameteri\0"
"\0"
- /* _mesa_function_pool[5400]: NormalPointerEXT (will be remapped) */
+ /* _mesa_function_pool[5481]: NormalPointerEXT (will be remapped) */
"iiip\0"
"glNormalPointerEXT\0"
"\0"
- /* _mesa_function_pool[5425]: MultiTexCoord3dARB (offset 392) */
+ /* _mesa_function_pool[5506]: MultiTexCoord3dARB (offset 392) */
"iddd\0"
"glMultiTexCoord3d\0"
"glMultiTexCoord3dARB\0"
"\0"
- /* _mesa_function_pool[5470]: MultiTexCoord2iARB (offset 388) */
+ /* _mesa_function_pool[5551]: MultiTexCoord2iARB (offset 388) */
"iii\0"
"glMultiTexCoord2i\0"
"glMultiTexCoord2iARB\0"
"\0"
- /* _mesa_function_pool[5514]: DrawPixels (offset 257) */
+ /* _mesa_function_pool[5595]: DrawPixels (offset 257) */
"iiiip\0"
"glDrawPixels\0"
"\0"
- /* _mesa_function_pool[5534]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[5615]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */
"iffffffff\0"
"glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[5594]: MultiTexCoord2svARB (offset 391) */
+ /* _mesa_function_pool[5675]: MultiTexCoord2svARB (offset 391) */
"ip\0"
"glMultiTexCoord2sv\0"
"glMultiTexCoord2svARB\0"
"\0"
- /* _mesa_function_pool[5639]: ReplacementCodeubvSUN (dynamic) */
+ /* _mesa_function_pool[5720]: ReplacementCodeubvSUN (dynamic) */
"p\0"
"glReplacementCodeubvSUN\0"
"\0"
- /* _mesa_function_pool[5666]: Uniform3iARB (will be remapped) */
+ /* _mesa_function_pool[5747]: Uniform3iARB (will be remapped) */
"iiii\0"
"glUniform3i\0"
"glUniform3iARB\0"
"\0"
- /* _mesa_function_pool[5699]: DrawTransformFeedback (will be remapped) */
+ /* _mesa_function_pool[5780]: DrawTransformFeedback (will be remapped) */
"ii\0"
"glDrawTransformFeedback\0"
"\0"
- /* _mesa_function_pool[5727]: GetFragmentMaterialfvSGIX (dynamic) */
+ /* _mesa_function_pool[5808]: GetFragmentMaterialfvSGIX (dynamic) */
"iip\0"
"glGetFragmentMaterialfvSGIX\0"
"\0"
- /* _mesa_function_pool[5760]: GetShaderInfoLog (will be remapped) */
+ /* _mesa_function_pool[5841]: GetShaderInfoLog (will be remapped) */
"iipp\0"
"glGetShaderInfoLog\0"
"\0"
- /* _mesa_function_pool[5785]: WeightivARB (dynamic) */
+ /* _mesa_function_pool[5866]: WeightivARB (dynamic) */
"ip\0"
"glWeightivARB\0"
"\0"
- /* _mesa_function_pool[5803]: PollInstrumentsSGIX (dynamic) */
+ /* _mesa_function_pool[5884]: PollInstrumentsSGIX (dynamic) */
"p\0"
"glPollInstrumentsSGIX\0"
"\0"
- /* _mesa_function_pool[5828]: GlobalAlphaFactordSUN (dynamic) */
+ /* _mesa_function_pool[5909]: GlobalAlphaFactordSUN (dynamic) */
"d\0"
"glGlobalAlphaFactordSUN\0"
"\0"
- /* _mesa_function_pool[5855]: GetFinalCombinerInputParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[5936]: GetFinalCombinerInputParameterfvNV (will be remapped) */
"iip\0"
"glGetFinalCombinerInputParameterfvNV\0"
"\0"
- /* _mesa_function_pool[5897]: GenerateMipmapEXT (will be remapped) */
+ /* _mesa_function_pool[5978]: GenerateMipmapEXT (will be remapped) */
"i\0"
"glGenerateMipmap\0"
"glGenerateMipmapEXT\0"
"\0"
- /* _mesa_function_pool[5937]: GenLists (offset 5) */
+ /* _mesa_function_pool[6018]: GenLists (offset 5) */
"i\0"
"glGenLists\0"
"\0"
- /* _mesa_function_pool[5951]: SetFragmentShaderConstantATI (will be remapped) */
+ /* _mesa_function_pool[6032]: SetFragmentShaderConstantATI (will be remapped) */
"ip\0"
"glSetFragmentShaderConstantATI\0"
"\0"
- /* _mesa_function_pool[5986]: GetMapAttribParameterivNV (dynamic) */
+ /* _mesa_function_pool[6067]: GetMapAttribParameterivNV (dynamic) */
"iiip\0"
"glGetMapAttribParameterivNV\0"
"\0"
- /* _mesa_function_pool[6020]: CreateShaderObjectARB (will be remapped) */
+ /* _mesa_function_pool[6101]: CreateShaderObjectARB (will be remapped) */
"i\0"
"glCreateShaderObjectARB\0"
"\0"
- /* _mesa_function_pool[6047]: GetSharpenTexFuncSGIS (dynamic) */
+ /* _mesa_function_pool[6128]: GetSharpenTexFuncSGIS (dynamic) */
"ip\0"
"glGetSharpenTexFuncSGIS\0"
"\0"
- /* _mesa_function_pool[6075]: BufferDataARB (will be remapped) */
+ /* _mesa_function_pool[6156]: BufferDataARB (will be remapped) */
"iipi\0"
"glBufferData\0"
"glBufferDataARB\0"
"\0"
- /* _mesa_function_pool[6110]: FlushVertexArrayRangeNV (will be remapped) */
+ /* _mesa_function_pool[6191]: FlushVertexArrayRangeNV (will be remapped) */
"\0"
"glFlushVertexArrayRangeNV\0"
"\0"
- /* _mesa_function_pool[6138]: MapGrid2d (offset 226) */
+ /* _mesa_function_pool[6219]: MapGrid2d (offset 226) */
"iddidd\0"
"glMapGrid2d\0"
"\0"
- /* _mesa_function_pool[6158]: MapGrid2f (offset 227) */
+ /* _mesa_function_pool[6239]: MapGrid2f (offset 227) */
"iffiff\0"
"glMapGrid2f\0"
"\0"
- /* _mesa_function_pool[6178]: SampleMapATI (will be remapped) */
+ /* _mesa_function_pool[6259]: SampleMapATI (will be remapped) */
"iii\0"
"glSampleMapATI\0"
"\0"
- /* _mesa_function_pool[6198]: VertexPointerEXT (will be remapped) */
+ /* _mesa_function_pool[6279]: VertexPointerEXT (will be remapped) */
"iiiip\0"
"glVertexPointerEXT\0"
"\0"
- /* _mesa_function_pool[6224]: GetTexFilterFuncSGIS (dynamic) */
+ /* _mesa_function_pool[6305]: GetTexFilterFuncSGIS (dynamic) */
"iip\0"
"glGetTexFilterFuncSGIS\0"
"\0"
- /* _mesa_function_pool[6252]: Scissor (offset 176) */
+ /* _mesa_function_pool[6333]: Scissor (offset 176) */
"iiii\0"
"glScissor\0"
"\0"
- /* _mesa_function_pool[6268]: Fogf (offset 153) */
+ /* _mesa_function_pool[6349]: Fogf (offset 153) */
"if\0"
"glFogf\0"
"\0"
- /* _mesa_function_pool[6279]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[6360]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */
"ppp\0"
"glReplacementCodeuiColor4ubVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[6324]: TexSubImage1D (offset 332) */
+ /* _mesa_function_pool[6405]: TexSubImage1D (offset 332) */
"iiiiiip\0"
"glTexSubImage1D\0"
"glTexSubImage1DEXT\0"
"\0"
- /* _mesa_function_pool[6368]: VertexAttrib1sARB (will be remapped) */
+ /* _mesa_function_pool[6449]: VertexAttrib1sARB (will be remapped) */
"ii\0"
"glVertexAttrib1s\0"
"glVertexAttrib1sARB\0"
"\0"
- /* _mesa_function_pool[6409]: FenceSync (will be remapped) */
+ /* _mesa_function_pool[6490]: FenceSync (will be remapped) */
"ii\0"
"glFenceSync\0"
"\0"
- /* _mesa_function_pool[6425]: Color4usv (offset 40) */
+ /* _mesa_function_pool[6506]: Color4usv (offset 40) */
"p\0"
"glColor4usv\0"
"\0"
- /* _mesa_function_pool[6440]: Fogi (offset 155) */
+ /* _mesa_function_pool[6521]: Fogi (offset 155) */
"ii\0"
"glFogi\0"
"\0"
- /* _mesa_function_pool[6451]: DepthRange (offset 288) */
+ /* _mesa_function_pool[6532]: DepthRange (offset 288) */
"dd\0"
"glDepthRange\0"
"\0"
- /* _mesa_function_pool[6468]: RasterPos3iv (offset 75) */
+ /* _mesa_function_pool[6549]: RasterPos3iv (offset 75) */
"p\0"
"glRasterPos3iv\0"
"\0"
- /* _mesa_function_pool[6486]: FinalCombinerInputNV (will be remapped) */
+ /* _mesa_function_pool[6567]: FinalCombinerInputNV (will be remapped) */
"iiii\0"
"glFinalCombinerInputNV\0"
"\0"
- /* _mesa_function_pool[6515]: TexCoord2i (offset 106) */
+ /* _mesa_function_pool[6596]: TexCoord2i (offset 106) */
"ii\0"
"glTexCoord2i\0"
"\0"
- /* _mesa_function_pool[6532]: PixelMapfv (offset 251) */
+ /* _mesa_function_pool[6613]: PixelMapfv (offset 251) */
"iip\0"
"glPixelMapfv\0"
"\0"
- /* _mesa_function_pool[6550]: Color4ui (offset 37) */
+ /* _mesa_function_pool[6631]: Color4ui (offset 37) */
"iiii\0"
"glColor4ui\0"
"\0"
- /* _mesa_function_pool[6567]: RasterPos3s (offset 76) */
+ /* _mesa_function_pool[6648]: RasterPos3s (offset 76) */
"iii\0"
"glRasterPos3s\0"
"\0"
- /* _mesa_function_pool[6586]: Color3usv (offset 24) */
+ /* _mesa_function_pool[6667]: Color3usv (offset 24) */
"p\0"
"glColor3usv\0"
"\0"
- /* _mesa_function_pool[6601]: FlushRasterSGIX (dynamic) */
+ /* _mesa_function_pool[6682]: FlushRasterSGIX (dynamic) */
"\0"
"glFlushRasterSGIX\0"
"\0"
- /* _mesa_function_pool[6621]: TexCoord2f (offset 104) */
+ /* _mesa_function_pool[6702]: TexCoord2f (offset 104) */
"ff\0"
"glTexCoord2f\0"
"\0"
- /* _mesa_function_pool[6638]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[6719]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */
"ifffff\0"
"glReplacementCodeuiTexCoord2fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[6687]: TexCoord2d (offset 102) */
+ /* _mesa_function_pool[6768]: TexCoord2d (offset 102) */
"dd\0"
"glTexCoord2d\0"
"\0"
- /* _mesa_function_pool[6704]: RasterPos3d (offset 70) */
+ /* _mesa_function_pool[6785]: RasterPos3d (offset 70) */
"ddd\0"
"glRasterPos3d\0"
"\0"
- /* _mesa_function_pool[6723]: RasterPos3f (offset 72) */
+ /* _mesa_function_pool[6804]: RasterPos3f (offset 72) */
"fff\0"
"glRasterPos3f\0"
"\0"
- /* _mesa_function_pool[6742]: Uniform1fARB (will be remapped) */
+ /* _mesa_function_pool[6823]: Uniform1fARB (will be remapped) */
"if\0"
"glUniform1f\0"
"glUniform1fARB\0"
"\0"
- /* _mesa_function_pool[6773]: AreTexturesResident (offset 322) */
+ /* _mesa_function_pool[6854]: AreTexturesResident (offset 322) */
"ipp\0"
"glAreTexturesResident\0"
"glAreTexturesResidentEXT\0"
"\0"
- /* _mesa_function_pool[6825]: TexCoord2s (offset 108) */
+ /* _mesa_function_pool[6906]: TexCoord2s (offset 108) */
"ii\0"
"glTexCoord2s\0"
"\0"
- /* _mesa_function_pool[6842]: StencilOpSeparate (will be remapped) */
+ /* _mesa_function_pool[6923]: StencilOpSeparate (will be remapped) */
"iiii\0"
"glStencilOpSeparate\0"
"glStencilOpSeparateATI\0"
"\0"
- /* _mesa_function_pool[6891]: ColorTableParameteriv (offset 341) */
+ /* _mesa_function_pool[6972]: ColorTableParameteriv (offset 341) */
"iip\0"
"glColorTableParameteriv\0"
"glColorTableParameterivSGI\0"
"\0"
- /* _mesa_function_pool[6947]: FogCoordPointerListIBM (dynamic) */
+ /* _mesa_function_pool[7028]: FogCoordPointerListIBM (dynamic) */
"iipi\0"
"glFogCoordPointerListIBM\0"
"\0"
- /* _mesa_function_pool[6978]: WindowPos3dMESA (will be remapped) */
+ /* _mesa_function_pool[7059]: WindowPos3dMESA (will be remapped) */
"ddd\0"
"glWindowPos3d\0"
"glWindowPos3dARB\0"
"glWindowPos3dMESA\0"
"\0"
- /* _mesa_function_pool[7032]: Color4us (offset 39) */
+ /* _mesa_function_pool[7113]: Color4us (offset 39) */
"iiii\0"
"glColor4us\0"
"\0"
- /* _mesa_function_pool[7049]: PointParameterfvEXT (will be remapped) */
+ /* _mesa_function_pool[7130]: PointParameterfvEXT (will be remapped) */
"ip\0"
"glPointParameterfv\0"
"glPointParameterfvARB\0"
"glPointParameterfvEXT\0"
"glPointParameterfvSGIS\0"
"\0"
- /* _mesa_function_pool[7139]: Color3bv (offset 10) */
+ /* _mesa_function_pool[7220]: Color3bv (offset 10) */
"p\0"
"glColor3bv\0"
"\0"
- /* _mesa_function_pool[7153]: WindowPos2fvMESA (will be remapped) */
+ /* _mesa_function_pool[7234]: WindowPos2fvMESA (will be remapped) */
"p\0"
"glWindowPos2fv\0"
"glWindowPos2fvARB\0"
"glWindowPos2fvMESA\0"
"\0"
- /* _mesa_function_pool[7208]: SecondaryColor3bvEXT (will be remapped) */
+ /* _mesa_function_pool[7289]: SecondaryColor3bvEXT (will be remapped) */
"p\0"
"glSecondaryColor3bv\0"
"glSecondaryColor3bvEXT\0"
"\0"
- /* _mesa_function_pool[7254]: VertexPointerListIBM (dynamic) */
+ /* _mesa_function_pool[7335]: VertexPointerListIBM (dynamic) */
"iiipi\0"
"glVertexPointerListIBM\0"
"\0"
- /* _mesa_function_pool[7284]: GetProgramLocalParameterfvARB (will be remapped) */
+ /* _mesa_function_pool[7365]: GetProgramLocalParameterfvARB (will be remapped) */
"iip\0"
"glGetProgramLocalParameterfvARB\0"
"\0"
- /* _mesa_function_pool[7321]: FragmentMaterialfSGIX (dynamic) */
+ /* _mesa_function_pool[7402]: FragmentMaterialfSGIX (dynamic) */
"iif\0"
"glFragmentMaterialfSGIX\0"
"\0"
- /* _mesa_function_pool[7350]: TexCoord2fNormal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[7431]: TexCoord2fNormal3fVertex3fSUN (dynamic) */
"ffffffff\0"
"glTexCoord2fNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[7392]: RenderbufferStorageEXT (will be remapped) */
+ /* _mesa_function_pool[7473]: RenderbufferStorageEXT (will be remapped) */
"iiii\0"
"glRenderbufferStorage\0"
"glRenderbufferStorageEXT\0"
"\0"
- /* _mesa_function_pool[7445]: IsFenceNV (will be remapped) */
+ /* _mesa_function_pool[7526]: IsFenceNV (will be remapped) */
"i\0"
"glIsFenceNV\0"
"\0"
- /* _mesa_function_pool[7460]: AttachObjectARB (will be remapped) */
+ /* _mesa_function_pool[7541]: AttachObjectARB (will be remapped) */
"ii\0"
"glAttachObjectARB\0"
"\0"
- /* _mesa_function_pool[7482]: GetFragmentLightivSGIX (dynamic) */
+ /* _mesa_function_pool[7563]: GetFragmentLightivSGIX (dynamic) */
"iip\0"
"glGetFragmentLightivSGIX\0"
"\0"
- /* _mesa_function_pool[7512]: UniformMatrix2fvARB (will be remapped) */
+ /* _mesa_function_pool[7593]: UniformMatrix2fvARB (will be remapped) */
"iiip\0"
"glUniformMatrix2fv\0"
"glUniformMatrix2fvARB\0"
"\0"
- /* _mesa_function_pool[7559]: MultiTexCoord2fARB (offset 386) */
+ /* _mesa_function_pool[7640]: MultiTexCoord2fARB (offset 386) */
"iff\0"
"glMultiTexCoord2f\0"
"glMultiTexCoord2fARB\0"
"\0"
- /* _mesa_function_pool[7603]: ColorTable (offset 339) */
+ /* _mesa_function_pool[7684]: ColorTable (offset 339) */
"iiiiip\0"
"glColorTable\0"
"glColorTableSGI\0"
"glColorTableEXT\0"
"\0"
- /* _mesa_function_pool[7656]: IndexPointer (offset 314) */
+ /* _mesa_function_pool[7737]: IndexPointer (offset 314) */
"iip\0"
"glIndexPointer\0"
"\0"
- /* _mesa_function_pool[7676]: Accum (offset 213) */
+ /* _mesa_function_pool[7757]: Accum (offset 213) */
"if\0"
"glAccum\0"
"\0"
- /* _mesa_function_pool[7688]: GetTexImage (offset 281) */
+ /* _mesa_function_pool[7769]: GetTexImage (offset 281) */
"iiiip\0"
"glGetTexImage\0"
"\0"
- /* _mesa_function_pool[7709]: MapControlPointsNV (dynamic) */
+ /* _mesa_function_pool[7790]: MapControlPointsNV (dynamic) */
"iiiiiiiip\0"
"glMapControlPointsNV\0"
"\0"
- /* _mesa_function_pool[7741]: ConvolutionFilter2D (offset 349) */
+ /* _mesa_function_pool[7822]: ConvolutionFilter2D (offset 349) */
"iiiiiip\0"
"glConvolutionFilter2D\0"
"glConvolutionFilter2DEXT\0"
"\0"
- /* _mesa_function_pool[7797]: Finish (offset 216) */
+ /* _mesa_function_pool[7878]: Finish (offset 216) */
"\0"
"glFinish\0"
"\0"
- /* _mesa_function_pool[7808]: MapParameterfvNV (dynamic) */
+ /* _mesa_function_pool[7889]: MapParameterfvNV (dynamic) */
"iip\0"
"glMapParameterfvNV\0"
"\0"
- /* _mesa_function_pool[7832]: ClearStencil (offset 207) */
+ /* _mesa_function_pool[7913]: ClearStencil (offset 207) */
"i\0"
"glClearStencil\0"
"\0"
- /* _mesa_function_pool[7850]: VertexAttrib3dvARB (will be remapped) */
+ /* _mesa_function_pool[7931]: VertexAttrib3dvARB (will be remapped) */
"ip\0"
"glVertexAttrib3dv\0"
"glVertexAttrib3dvARB\0"
"\0"
- /* _mesa_function_pool[7893]: HintPGI (dynamic) */
+ /* _mesa_function_pool[7974]: HintPGI (dynamic) */
"ii\0"
"glHintPGI\0"
"\0"
- /* _mesa_function_pool[7907]: ConvolutionParameteriv (offset 353) */
+ /* _mesa_function_pool[7988]: ConvolutionParameteriv (offset 353) */
"iip\0"
"glConvolutionParameteriv\0"
"glConvolutionParameterivEXT\0"
"\0"
- /* _mesa_function_pool[7965]: Color4s (offset 33) */
+ /* _mesa_function_pool[8046]: Color4s (offset 33) */
"iiii\0"
"glColor4s\0"
"\0"
- /* _mesa_function_pool[7981]: InterleavedArrays (offset 317) */
+ /* _mesa_function_pool[8062]: InterleavedArrays (offset 317) */
"iip\0"
"glInterleavedArrays\0"
"\0"
- /* _mesa_function_pool[8006]: RasterPos2fv (offset 65) */
+ /* _mesa_function_pool[8087]: RasterPos2fv (offset 65) */
"p\0"
"glRasterPos2fv\0"
"\0"
- /* _mesa_function_pool[8024]: TexCoord1fv (offset 97) */
+ /* _mesa_function_pool[8105]: TexCoord1fv (offset 97) */
"p\0"
"glTexCoord1fv\0"
"\0"
- /* _mesa_function_pool[8041]: Vertex2d (offset 126) */
+ /* _mesa_function_pool[8122]: Vertex2d (offset 126) */
"dd\0"
"glVertex2d\0"
"\0"
- /* _mesa_function_pool[8056]: CullParameterdvEXT (dynamic) */
+ /* _mesa_function_pool[8137]: CullParameterdvEXT (dynamic) */
"ip\0"
"glCullParameterdvEXT\0"
"\0"
- /* _mesa_function_pool[8081]: ProgramNamedParameter4fNV (will be remapped) */
+ /* _mesa_function_pool[8162]: ProgramNamedParameter4fNV (will be remapped) */
"iipffff\0"
"glProgramNamedParameter4fNV\0"
"\0"
- /* _mesa_function_pool[8118]: Color3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[8199]: Color3fVertex3fSUN (dynamic) */
"ffffff\0"
"glColor3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[8147]: ProgramEnvParameter4fvARB (will be remapped) */
+ /* _mesa_function_pool[8228]: ProgramEnvParameter4fvARB (will be remapped) */
"iip\0"
"glProgramEnvParameter4fvARB\0"
"glProgramParameter4fvNV\0"
"\0"
- /* _mesa_function_pool[8204]: Color4i (offset 31) */
+ /* _mesa_function_pool[8285]: Color4i (offset 31) */
"iiii\0"
"glColor4i\0"
"\0"
- /* _mesa_function_pool[8220]: Color4f (offset 29) */
+ /* _mesa_function_pool[8301]: Color4f (offset 29) */
"ffff\0"
"glColor4f\0"
"\0"
- /* _mesa_function_pool[8236]: RasterPos4fv (offset 81) */
+ /* _mesa_function_pool[8317]: RasterPos4fv (offset 81) */
"p\0"
"glRasterPos4fv\0"
"\0"
- /* _mesa_function_pool[8254]: Color4d (offset 27) */
+ /* _mesa_function_pool[8335]: Color4d (offset 27) */
"dddd\0"
"glColor4d\0"
"\0"
- /* _mesa_function_pool[8270]: ClearIndex (offset 205) */
+ /* _mesa_function_pool[8351]: ClearIndex (offset 205) */
"f\0"
"glClearIndex\0"
"\0"
- /* _mesa_function_pool[8286]: Color4b (offset 25) */
+ /* _mesa_function_pool[8367]: Color4b (offset 25) */
"iiii\0"
"glColor4b\0"
"\0"
- /* _mesa_function_pool[8302]: LoadMatrixd (offset 292) */
+ /* _mesa_function_pool[8383]: LoadMatrixd (offset 292) */
"p\0"
"glLoadMatrixd\0"
"\0"
- /* _mesa_function_pool[8319]: FragmentLightModeliSGIX (dynamic) */
+ /* _mesa_function_pool[8400]: FragmentLightModeliSGIX (dynamic) */
"ii\0"
"glFragmentLightModeliSGIX\0"
"\0"
- /* _mesa_function_pool[8349]: RasterPos2dv (offset 63) */
+ /* _mesa_function_pool[8430]: RasterPos2dv (offset 63) */
"p\0"
"glRasterPos2dv\0"
"\0"
- /* _mesa_function_pool[8367]: ConvolutionParameterfv (offset 351) */
+ /* _mesa_function_pool[8448]: ConvolutionParameterfv (offset 351) */
"iip\0"
"glConvolutionParameterfv\0"
"glConvolutionParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[8425]: TbufferMask3DFX (dynamic) */
+ /* _mesa_function_pool[8506]: TbufferMask3DFX (dynamic) */
"i\0"
"glTbufferMask3DFX\0"
"\0"
- /* _mesa_function_pool[8446]: GetTexGendv (offset 278) */
+ /* _mesa_function_pool[8527]: GetTexGendv (offset 278) */
"iip\0"
"glGetTexGendv\0"
"\0"
- /* _mesa_function_pool[8465]: GetVertexAttribfvNV (will be remapped) */
+ /* _mesa_function_pool[8546]: GetVertexAttribfvNV (will be remapped) */
"iip\0"
"glGetVertexAttribfvNV\0"
"\0"
- /* _mesa_function_pool[8492]: BeginTransformFeedbackEXT (will be remapped) */
+ /* _mesa_function_pool[8573]: BeginTransformFeedbackEXT (will be remapped) */
"i\0"
"glBeginTransformFeedbackEXT\0"
"glBeginTransformFeedback\0"
"\0"
- /* _mesa_function_pool[8548]: LoadProgramNV (will be remapped) */
+ /* _mesa_function_pool[8629]: LoadProgramNV (will be remapped) */
"iiip\0"
"glLoadProgramNV\0"
"\0"
- /* _mesa_function_pool[8570]: WaitSync (will be remapped) */
+ /* _mesa_function_pool[8651]: WaitSync (will be remapped) */
"iii\0"
"glWaitSync\0"
"\0"
- /* _mesa_function_pool[8586]: EndList (offset 1) */
+ /* _mesa_function_pool[8667]: EndList (offset 1) */
"\0"
"glEndList\0"
"\0"
- /* _mesa_function_pool[8598]: VertexAttrib4fvNV (will be remapped) */
+ /* _mesa_function_pool[8679]: VertexAttrib4fvNV (will be remapped) */
"ip\0"
"glVertexAttrib4fvNV\0"
"\0"
- /* _mesa_function_pool[8622]: GetAttachedObjectsARB (will be remapped) */
+ /* _mesa_function_pool[8703]: GetAttachedObjectsARB (will be remapped) */
"iipp\0"
"glGetAttachedObjectsARB\0"
"\0"
- /* _mesa_function_pool[8652]: Uniform3fvARB (will be remapped) */
+ /* _mesa_function_pool[8733]: Uniform3fvARB (will be remapped) */
"iip\0"
"glUniform3fv\0"
"glUniform3fvARB\0"
"\0"
- /* _mesa_function_pool[8686]: EvalCoord1fv (offset 231) */
+ /* _mesa_function_pool[8767]: EvalCoord1fv (offset 231) */
"p\0"
"glEvalCoord1fv\0"
"\0"
- /* _mesa_function_pool[8704]: DrawRangeElements (offset 338) */
+ /* _mesa_function_pool[8785]: DrawRangeElements (offset 338) */
"iiiiip\0"
"glDrawRangeElements\0"
"glDrawRangeElementsEXT\0"
"\0"
- /* _mesa_function_pool[8755]: EvalMesh2 (offset 238) */
+ /* _mesa_function_pool[8836]: EvalMesh2 (offset 238) */
"iiiii\0"
"glEvalMesh2\0"
"\0"
- /* _mesa_function_pool[8774]: Vertex4fv (offset 145) */
+ /* _mesa_function_pool[8855]: Vertex4fv (offset 145) */
"p\0"
"glVertex4fv\0"
"\0"
- /* _mesa_function_pool[8789]: GenTransformFeedbacks (will be remapped) */
+ /* _mesa_function_pool[8870]: GenTransformFeedbacks (will be remapped) */
"ip\0"
"glGenTransformFeedbacks\0"
"\0"
- /* _mesa_function_pool[8817]: SpriteParameterfvSGIX (dynamic) */
+ /* _mesa_function_pool[8898]: SpriteParameterfvSGIX (dynamic) */
"ip\0"
"glSpriteParameterfvSGIX\0"
"\0"
- /* _mesa_function_pool[8845]: CheckFramebufferStatusEXT (will be remapped) */
+ /* _mesa_function_pool[8926]: CheckFramebufferStatusEXT (will be remapped) */
"i\0"
"glCheckFramebufferStatus\0"
"glCheckFramebufferStatusEXT\0"
"\0"
- /* _mesa_function_pool[8901]: GlobalAlphaFactoruiSUN (dynamic) */
+ /* _mesa_function_pool[8982]: GlobalAlphaFactoruiSUN (dynamic) */
"i\0"
"glGlobalAlphaFactoruiSUN\0"
"\0"
- /* _mesa_function_pool[8929]: GetHandleARB (will be remapped) */
+ /* _mesa_function_pool[9010]: GetHandleARB (will be remapped) */
"i\0"
"glGetHandleARB\0"
"\0"
- /* _mesa_function_pool[8947]: GetVertexAttribivARB (will be remapped) */
+ /* _mesa_function_pool[9028]: GetVertexAttribivARB (will be remapped) */
"iip\0"
"glGetVertexAttribiv\0"
"glGetVertexAttribivARB\0"
"\0"
- /* _mesa_function_pool[8995]: GetCombinerInputParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[9076]: GetCombinerInputParameterfvNV (will be remapped) */
"iiiip\0"
"glGetCombinerInputParameterfvNV\0"
"\0"
- /* _mesa_function_pool[9034]: CreateProgram (will be remapped) */
+ /* _mesa_function_pool[9115]: GetTexParameterIivEXT (will be remapped) */
+ "iip\0"
+ "glGetTexParameterIivEXT\0"
+ "\0"
+ /* _mesa_function_pool[9144]: CreateProgram (will be remapped) */
"\0"
"glCreateProgram\0"
"\0"
- /* _mesa_function_pool[9052]: LoadTransposeMatrixdARB (will be remapped) */
+ /* _mesa_function_pool[9162]: LoadTransposeMatrixdARB (will be remapped) */
"p\0"
"glLoadTransposeMatrixd\0"
"glLoadTransposeMatrixdARB\0"
"\0"
- /* _mesa_function_pool[9104]: GetMinmax (offset 364) */
+ /* _mesa_function_pool[9214]: GetMinmax (offset 364) */
"iiiip\0"
"glGetMinmax\0"
"glGetMinmaxEXT\0"
"\0"
- /* _mesa_function_pool[9138]: StencilFuncSeparate (will be remapped) */
+ /* _mesa_function_pool[9248]: StencilFuncSeparate (will be remapped) */
"iiii\0"
"glStencilFuncSeparate\0"
"\0"
- /* _mesa_function_pool[9166]: SecondaryColor3sEXT (will be remapped) */
+ /* _mesa_function_pool[9276]: SecondaryColor3sEXT (will be remapped) */
"iii\0"
"glSecondaryColor3s\0"
"glSecondaryColor3sEXT\0"
"\0"
- /* _mesa_function_pool[9212]: Color3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[9322]: Color3fVertex3fvSUN (dynamic) */
"pp\0"
"glColor3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[9238]: Normal3fv (offset 57) */
+ /* _mesa_function_pool[9348]: Normal3fv (offset 57) */
"p\0"
"glNormal3fv\0"
"\0"
- /* _mesa_function_pool[9253]: GlobalAlphaFactorbSUN (dynamic) */
+ /* _mesa_function_pool[9363]: GlobalAlphaFactorbSUN (dynamic) */
"i\0"
"glGlobalAlphaFactorbSUN\0"
"\0"
- /* _mesa_function_pool[9280]: Color3us (offset 23) */
+ /* _mesa_function_pool[9390]: Color3us (offset 23) */
"iii\0"
"glColor3us\0"
"\0"
- /* _mesa_function_pool[9296]: ImageTransformParameterfvHP (dynamic) */
+ /* _mesa_function_pool[9406]: ImageTransformParameterfvHP (dynamic) */
"iip\0"
"glImageTransformParameterfvHP\0"
"\0"
- /* _mesa_function_pool[9331]: VertexAttrib4ivARB (will be remapped) */
+ /* _mesa_function_pool[9441]: VertexAttrib4ivARB (will be remapped) */
"ip\0"
"glVertexAttrib4iv\0"
"glVertexAttrib4ivARB\0"
"\0"
- /* _mesa_function_pool[9374]: End (offset 43) */
+ /* _mesa_function_pool[9484]: End (offset 43) */
"\0"
"glEnd\0"
"\0"
- /* _mesa_function_pool[9382]: VertexAttrib3fNV (will be remapped) */
+ /* _mesa_function_pool[9492]: VertexAttrib3fNV (will be remapped) */
"ifff\0"
"glVertexAttrib3fNV\0"
"\0"
- /* _mesa_function_pool[9407]: VertexAttribs2dvNV (will be remapped) */
+ /* _mesa_function_pool[9517]: VertexAttribs2dvNV (will be remapped) */
"iip\0"
"glVertexAttribs2dvNV\0"
"\0"
- /* _mesa_function_pool[9433]: GetQueryObjectui64vEXT (will be remapped) */
+ /* _mesa_function_pool[9543]: GetQueryObjectui64vEXT (will be remapped) */
"iip\0"
"glGetQueryObjectui64vEXT\0"
"\0"
- /* _mesa_function_pool[9463]: MultiTexCoord3fvARB (offset 395) */
+ /* _mesa_function_pool[9573]: MultiTexCoord3fvARB (offset 395) */
"ip\0"
"glMultiTexCoord3fv\0"
"glMultiTexCoord3fvARB\0"
"\0"
- /* _mesa_function_pool[9508]: SecondaryColor3dEXT (will be remapped) */
+ /* _mesa_function_pool[9618]: SecondaryColor3dEXT (will be remapped) */
"ddd\0"
"glSecondaryColor3d\0"
"glSecondaryColor3dEXT\0"
"\0"
- /* _mesa_function_pool[9554]: Color3ub (offset 19) */
+ /* _mesa_function_pool[9664]: Color3ub (offset 19) */
"iii\0"
"glColor3ub\0"
"\0"
- /* _mesa_function_pool[9570]: GetProgramParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[9680]: GetProgramParameterfvNV (will be remapped) */
"iiip\0"
"glGetProgramParameterfvNV\0"
"\0"
- /* _mesa_function_pool[9602]: TangentPointerEXT (dynamic) */
+ /* _mesa_function_pool[9712]: TangentPointerEXT (dynamic) */
"iip\0"
"glTangentPointerEXT\0"
"\0"
- /* _mesa_function_pool[9627]: Color4fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[9737]: Color4fNormal3fVertex3fvSUN (dynamic) */
"ppp\0"
"glColor4fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[9662]: GetInstrumentsSGIX (dynamic) */
+ /* _mesa_function_pool[9772]: GetInstrumentsSGIX (dynamic) */
"\0"
"glGetInstrumentsSGIX\0"
"\0"
- /* _mesa_function_pool[9685]: Color3ui (offset 21) */
+ /* _mesa_function_pool[9795]: Color3ui (offset 21) */
"iii\0"
"glColor3ui\0"
"\0"
- /* _mesa_function_pool[9701]: EvalMapsNV (dynamic) */
+ /* _mesa_function_pool[9811]: EvalMapsNV (dynamic) */
"ii\0"
"glEvalMapsNV\0"
"\0"
- /* _mesa_function_pool[9718]: TexSubImage2D (offset 333) */
+ /* _mesa_function_pool[9828]: TexSubImage2D (offset 333) */
"iiiiiiiip\0"
"glTexSubImage2D\0"
"glTexSubImage2DEXT\0"
"\0"
- /* _mesa_function_pool[9764]: FragmentLightivSGIX (dynamic) */
+ /* _mesa_function_pool[9874]: FragmentLightivSGIX (dynamic) */
"iip\0"
"glFragmentLightivSGIX\0"
"\0"
- /* _mesa_function_pool[9791]: GetTexParameterPointervAPPLE (will be remapped) */
+ /* _mesa_function_pool[9901]: GetTexParameterPointervAPPLE (will be remapped) */
"iip\0"
"glGetTexParameterPointervAPPLE\0"
"\0"
- /* _mesa_function_pool[9827]: TexGenfv (offset 191) */
+ /* _mesa_function_pool[9937]: TexGenfv (offset 191) */
"iip\0"
"glTexGenfv\0"
"\0"
- /* _mesa_function_pool[9843]: GetTransformFeedbackVaryingEXT (will be remapped) */
+ /* _mesa_function_pool[9953]: GetTransformFeedbackVaryingEXT (will be remapped) */
"iiipppp\0"
"glGetTransformFeedbackVaryingEXT\0"
"glGetTransformFeedbackVarying\0"
"\0"
- /* _mesa_function_pool[9915]: VertexAttrib4bvARB (will be remapped) */
+ /* _mesa_function_pool[10025]: VertexAttrib4bvARB (will be remapped) */
"ip\0"
"glVertexAttrib4bv\0"
"glVertexAttrib4bvARB\0"
"\0"
- /* _mesa_function_pool[9958]: AlphaFragmentOp2ATI (will be remapped) */
+ /* _mesa_function_pool[10068]: AlphaFragmentOp2ATI (will be remapped) */
"iiiiiiiii\0"
"glAlphaFragmentOp2ATI\0"
"\0"
- /* _mesa_function_pool[9991]: GetIntegerIndexedvEXT (will be remapped) */
+ /* _mesa_function_pool[10101]: GetIntegerIndexedvEXT (will be remapped) */
"iip\0"
"glGetIntegerIndexedvEXT\0"
"\0"
- /* _mesa_function_pool[10020]: MultiTexCoord4sARB (offset 406) */
+ /* _mesa_function_pool[10130]: MultiTexCoord4sARB (offset 406) */
"iiiii\0"
"glMultiTexCoord4s\0"
"glMultiTexCoord4sARB\0"
"\0"
- /* _mesa_function_pool[10066]: GetFragmentMaterialivSGIX (dynamic) */
+ /* _mesa_function_pool[10176]: GetFragmentMaterialivSGIX (dynamic) */
"iip\0"
"glGetFragmentMaterialivSGIX\0"
"\0"
- /* _mesa_function_pool[10099]: WindowPos4dMESA (will be remapped) */
+ /* _mesa_function_pool[10209]: WindowPos4dMESA (will be remapped) */
"dddd\0"
"glWindowPos4dMESA\0"
"\0"
- /* _mesa_function_pool[10123]: WeightPointerARB (dynamic) */
+ /* _mesa_function_pool[10233]: WeightPointerARB (dynamic) */
"iiip\0"
"glWeightPointerARB\0"
"\0"
- /* _mesa_function_pool[10148]: WindowPos2dMESA (will be remapped) */
+ /* _mesa_function_pool[10258]: WindowPos2dMESA (will be remapped) */
"dd\0"
"glWindowPos2d\0"
"glWindowPos2dARB\0"
"glWindowPos2dMESA\0"
"\0"
- /* _mesa_function_pool[10201]: FramebufferTexture3DEXT (will be remapped) */
+ /* _mesa_function_pool[10311]: FramebufferTexture3DEXT (will be remapped) */
"iiiiii\0"
"glFramebufferTexture3D\0"
"glFramebufferTexture3DEXT\0"
"\0"
- /* _mesa_function_pool[10258]: BlendEquation (offset 337) */
+ /* _mesa_function_pool[10368]: BlendEquation (offset 337) */
"i\0"
"glBlendEquation\0"
"glBlendEquationEXT\0"
"\0"
- /* _mesa_function_pool[10296]: VertexAttrib3dNV (will be remapped) */
+ /* _mesa_function_pool[10406]: VertexAttrib3dNV (will be remapped) */
"iddd\0"
"glVertexAttrib3dNV\0"
"\0"
- /* _mesa_function_pool[10321]: VertexAttrib3dARB (will be remapped) */
+ /* _mesa_function_pool[10431]: VertexAttrib3dARB (will be remapped) */
"iddd\0"
"glVertexAttrib3d\0"
"glVertexAttrib3dARB\0"
"\0"
- /* _mesa_function_pool[10364]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[10474]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
"ppppp\0"
"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[10428]: VertexAttrib4fARB (will be remapped) */
+ /* _mesa_function_pool[10538]: VertexAttrib4fARB (will be remapped) */
"iffff\0"
"glVertexAttrib4f\0"
"glVertexAttrib4fARB\0"
"\0"
- /* _mesa_function_pool[10472]: GetError (offset 261) */
+ /* _mesa_function_pool[10582]: GetError (offset 261) */
"\0"
"glGetError\0"
"\0"
- /* _mesa_function_pool[10485]: IndexFuncEXT (dynamic) */
+ /* _mesa_function_pool[10595]: IndexFuncEXT (dynamic) */
"if\0"
"glIndexFuncEXT\0"
"\0"
- /* _mesa_function_pool[10504]: TexCoord3dv (offset 111) */
+ /* _mesa_function_pool[10614]: TexCoord3dv (offset 111) */
"p\0"
"glTexCoord3dv\0"
"\0"
- /* _mesa_function_pool[10521]: Indexdv (offset 45) */
+ /* _mesa_function_pool[10631]: Indexdv (offset 45) */
"p\0"
"glIndexdv\0"
"\0"
- /* _mesa_function_pool[10534]: FramebufferTexture2DEXT (will be remapped) */
+ /* _mesa_function_pool[10644]: FramebufferTexture2DEXT (will be remapped) */
"iiiii\0"
"glFramebufferTexture2D\0"
"glFramebufferTexture2DEXT\0"
"\0"
- /* _mesa_function_pool[10590]: Normal3s (offset 60) */
+ /* _mesa_function_pool[10700]: Normal3s (offset 60) */
"iii\0"
"glNormal3s\0"
"\0"
- /* _mesa_function_pool[10606]: GetObjectParameterivAPPLE (will be remapped) */
+ /* _mesa_function_pool[10716]: GetObjectParameterivAPPLE (will be remapped) */
"iiip\0"
"glGetObjectParameterivAPPLE\0"
"\0"
- /* _mesa_function_pool[10640]: PushName (offset 201) */
+ /* _mesa_function_pool[10750]: PushName (offset 201) */
"i\0"
"glPushName\0"
"\0"
- /* _mesa_function_pool[10654]: MultiTexCoord2dvARB (offset 385) */
+ /* _mesa_function_pool[10764]: MultiTexCoord2dvARB (offset 385) */
"ip\0"
"glMultiTexCoord2dv\0"
"glMultiTexCoord2dvARB\0"
"\0"
- /* _mesa_function_pool[10699]: CullParameterfvEXT (dynamic) */
+ /* _mesa_function_pool[10809]: CullParameterfvEXT (dynamic) */
"ip\0"
"glCullParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[10724]: Normal3i (offset 58) */
+ /* _mesa_function_pool[10834]: Normal3i (offset 58) */
"iii\0"
"glNormal3i\0"
"\0"
- /* _mesa_function_pool[10740]: ProgramNamedParameter4fvNV (will be remapped) */
+ /* _mesa_function_pool[10850]: ProgramNamedParameter4fvNV (will be remapped) */
"iipp\0"
"glProgramNamedParameter4fvNV\0"
"\0"
- /* _mesa_function_pool[10775]: SecondaryColorPointerEXT (will be remapped) */
+ /* _mesa_function_pool[10885]: SecondaryColorPointerEXT (will be remapped) */
"iiip\0"
"glSecondaryColorPointer\0"
"glSecondaryColorPointerEXT\0"
"\0"
- /* _mesa_function_pool[10832]: VertexAttrib4fvARB (will be remapped) */
+ /* _mesa_function_pool[10942]: VertexAttrib4fvARB (will be remapped) */
"ip\0"
"glVertexAttrib4fv\0"
"glVertexAttrib4fvARB\0"
"\0"
- /* _mesa_function_pool[10875]: ColorPointerListIBM (dynamic) */
+ /* _mesa_function_pool[10985]: ColorPointerListIBM (dynamic) */
"iiipi\0"
"glColorPointerListIBM\0"
"\0"
- /* _mesa_function_pool[10904]: GetActiveUniformARB (will be remapped) */
+ /* _mesa_function_pool[11014]: GetActiveUniformARB (will be remapped) */
"iiipppp\0"
"glGetActiveUniform\0"
"glGetActiveUniformARB\0"
"\0"
- /* _mesa_function_pool[10954]: ImageTransformParameteriHP (dynamic) */
+ /* _mesa_function_pool[11064]: ImageTransformParameteriHP (dynamic) */
"iii\0"
"glImageTransformParameteriHP\0"
"\0"
- /* _mesa_function_pool[10988]: Normal3b (offset 52) */
+ /* _mesa_function_pool[11098]: Normal3b (offset 52) */
"iii\0"
"glNormal3b\0"
"\0"
- /* _mesa_function_pool[11004]: Normal3d (offset 54) */
+ /* _mesa_function_pool[11114]: Normal3d (offset 54) */
"ddd\0"
"glNormal3d\0"
"\0"
- /* _mesa_function_pool[11020]: Normal3f (offset 56) */
+ /* _mesa_function_pool[11130]: Normal3f (offset 56) */
"fff\0"
"glNormal3f\0"
"\0"
- /* _mesa_function_pool[11036]: MultiTexCoord1svARB (offset 383) */
+ /* _mesa_function_pool[11146]: MultiTexCoord1svARB (offset 383) */
"ip\0"
"glMultiTexCoord1sv\0"
"glMultiTexCoord1svARB\0"
"\0"
- /* _mesa_function_pool[11081]: Indexi (offset 48) */
+ /* _mesa_function_pool[11191]: Indexi (offset 48) */
"i\0"
"glIndexi\0"
"\0"
- /* _mesa_function_pool[11093]: EGLImageTargetTexture2DOES (will be remapped) */
+ /* _mesa_function_pool[11203]: EGLImageTargetTexture2DOES (will be remapped) */
"ip\0"
"glEGLImageTargetTexture2DOES\0"
"\0"
- /* _mesa_function_pool[11126]: EndQueryARB (will be remapped) */
+ /* _mesa_function_pool[11236]: EndQueryARB (will be remapped) */
"i\0"
"glEndQuery\0"
"glEndQueryARB\0"
"\0"
- /* _mesa_function_pool[11154]: DeleteFencesNV (will be remapped) */
+ /* _mesa_function_pool[11264]: DeleteFencesNV (will be remapped) */
"ip\0"
"glDeleteFencesNV\0"
"\0"
- /* _mesa_function_pool[11175]: DeformationMap3dSGIX (dynamic) */
+ /* _mesa_function_pool[11285]: DeformationMap3dSGIX (dynamic) */
"iddiiddiiddiip\0"
"glDeformationMap3dSGIX\0"
"\0"
- /* _mesa_function_pool[11214]: BindBufferRangeEXT (will be remapped) */
+ /* _mesa_function_pool[11324]: BindBufferRangeEXT (will be remapped) */
"iiiii\0"
"glBindBufferRangeEXT\0"
"glBindBufferRange\0"
"\0"
- /* _mesa_function_pool[11260]: DepthMask (offset 211) */
+ /* _mesa_function_pool[11370]: DepthMask (offset 211) */
"i\0"
"glDepthMask\0"
"\0"
- /* _mesa_function_pool[11275]: IsShader (will be remapped) */
+ /* _mesa_function_pool[11385]: IsShader (will be remapped) */
"i\0"
"glIsShader\0"
"\0"
- /* _mesa_function_pool[11289]: Indexf (offset 46) */
+ /* _mesa_function_pool[11399]: Indexf (offset 46) */
"f\0"
"glIndexf\0"
"\0"
- /* _mesa_function_pool[11301]: GetImageTransformParameterivHP (dynamic) */
+ /* _mesa_function_pool[11411]: GetImageTransformParameterivHP (dynamic) */
"iip\0"
"glGetImageTransformParameterivHP\0"
"\0"
- /* _mesa_function_pool[11339]: Indexd (offset 44) */
+ /* _mesa_function_pool[11449]: Indexd (offset 44) */
"d\0"
"glIndexd\0"
"\0"
- /* _mesa_function_pool[11351]: GetMaterialiv (offset 270) */
+ /* _mesa_function_pool[11461]: GetMaterialiv (offset 270) */
"iip\0"
"glGetMaterialiv\0"
"\0"
- /* _mesa_function_pool[11372]: StencilOp (offset 244) */
+ /* _mesa_function_pool[11482]: StencilOp (offset 244) */
"iii\0"
"glStencilOp\0"
"\0"
- /* _mesa_function_pool[11389]: WindowPos4ivMESA (will be remapped) */
+ /* _mesa_function_pool[11499]: WindowPos4ivMESA (will be remapped) */
"p\0"
"glWindowPos4ivMESA\0"
"\0"
- /* _mesa_function_pool[11411]: FramebufferTextureLayer (dynamic) */
+ /* _mesa_function_pool[11521]: FramebufferTextureLayer (dynamic) */
"iiiii\0"
"glFramebufferTextureLayerARB\0"
"\0"
- /* _mesa_function_pool[11447]: MultiTexCoord3svARB (offset 399) */
+ /* _mesa_function_pool[11557]: MultiTexCoord3svARB (offset 399) */
"ip\0"
"glMultiTexCoord3sv\0"
"glMultiTexCoord3svARB\0"
"\0"
- /* _mesa_function_pool[11492]: TexEnvfv (offset 185) */
+ /* _mesa_function_pool[11602]: TexEnvfv (offset 185) */
"iip\0"
"glTexEnvfv\0"
"\0"
- /* _mesa_function_pool[11508]: MultiTexCoord4iARB (offset 404) */
+ /* _mesa_function_pool[11618]: MultiTexCoord4iARB (offset 404) */
"iiiii\0"
"glMultiTexCoord4i\0"
"glMultiTexCoord4iARB\0"
"\0"
- /* _mesa_function_pool[11554]: Indexs (offset 50) */
+ /* _mesa_function_pool[11664]: Indexs (offset 50) */
"i\0"
"glIndexs\0"
"\0"
- /* _mesa_function_pool[11566]: Binormal3ivEXT (dynamic) */
+ /* _mesa_function_pool[11676]: Binormal3ivEXT (dynamic) */
"p\0"
"glBinormal3ivEXT\0"
"\0"
- /* _mesa_function_pool[11586]: ResizeBuffersMESA (will be remapped) */
+ /* _mesa_function_pool[11696]: ResizeBuffersMESA (will be remapped) */
"\0"
"glResizeBuffersMESA\0"
"\0"
- /* _mesa_function_pool[11608]: GetUniformivARB (will be remapped) */
+ /* _mesa_function_pool[11718]: GetUniformivARB (will be remapped) */
"iip\0"
"glGetUniformiv\0"
"glGetUniformivARB\0"
"\0"
- /* _mesa_function_pool[11646]: PixelTexGenParameteriSGIS (will be remapped) */
+ /* _mesa_function_pool[11756]: PixelTexGenParameteriSGIS (will be remapped) */
"ii\0"
"glPixelTexGenParameteriSGIS\0"
"\0"
- /* _mesa_function_pool[11678]: VertexPointervINTEL (dynamic) */
+ /* _mesa_function_pool[11788]: VertexPointervINTEL (dynamic) */
"iip\0"
"glVertexPointervINTEL\0"
"\0"
- /* _mesa_function_pool[11705]: Vertex2i (offset 130) */
+ /* _mesa_function_pool[11815]: Vertex2i (offset 130) */
"ii\0"
"glVertex2i\0"
"\0"
- /* _mesa_function_pool[11720]: LoadMatrixf (offset 291) */
+ /* _mesa_function_pool[11830]: LoadMatrixf (offset 291) */
"p\0"
"glLoadMatrixf\0"
"\0"
- /* _mesa_function_pool[11737]: Vertex2f (offset 128) */
+ /* _mesa_function_pool[11847]: Vertex2f (offset 128) */
"ff\0"
"glVertex2f\0"
"\0"
- /* _mesa_function_pool[11752]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[11862]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */
"pppp\0"
"glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[11805]: Color4bv (offset 26) */
+ /* _mesa_function_pool[11915]: Color4bv (offset 26) */
"p\0"
"glColor4bv\0"
"\0"
- /* _mesa_function_pool[11819]: VertexPointer (offset 321) */
+ /* _mesa_function_pool[11929]: VertexPointer (offset 321) */
"iiip\0"
"glVertexPointer\0"
"\0"
- /* _mesa_function_pool[11841]: SecondaryColor3uiEXT (will be remapped) */
+ /* _mesa_function_pool[11951]: SecondaryColor3uiEXT (will be remapped) */
"iii\0"
"glSecondaryColor3ui\0"
"glSecondaryColor3uiEXT\0"
"\0"
- /* _mesa_function_pool[11889]: StartInstrumentsSGIX (dynamic) */
+ /* _mesa_function_pool[11999]: StartInstrumentsSGIX (dynamic) */
"\0"
"glStartInstrumentsSGIX\0"
"\0"
- /* _mesa_function_pool[11914]: SecondaryColor3usvEXT (will be remapped) */
+ /* _mesa_function_pool[12024]: SecondaryColor3usvEXT (will be remapped) */
"p\0"
"glSecondaryColor3usv\0"
"glSecondaryColor3usvEXT\0"
"\0"
- /* _mesa_function_pool[11962]: VertexAttrib2fvNV (will be remapped) */
+ /* _mesa_function_pool[12072]: VertexAttrib2fvNV (will be remapped) */
"ip\0"
"glVertexAttrib2fvNV\0"
"\0"
- /* _mesa_function_pool[11986]: ProgramLocalParameter4dvARB (will be remapped) */
+ /* _mesa_function_pool[12096]: ProgramLocalParameter4dvARB (will be remapped) */
"iip\0"
"glProgramLocalParameter4dvARB\0"
"\0"
- /* _mesa_function_pool[12021]: DeleteLists (offset 4) */
+ /* _mesa_function_pool[12131]: DeleteLists (offset 4) */
"ii\0"
"glDeleteLists\0"
"\0"
- /* _mesa_function_pool[12039]: LogicOp (offset 242) */
+ /* _mesa_function_pool[12149]: LogicOp (offset 242) */
"i\0"
"glLogicOp\0"
"\0"
- /* _mesa_function_pool[12052]: MatrixIndexuivARB (dynamic) */
+ /* _mesa_function_pool[12162]: MatrixIndexuivARB (dynamic) */
"ip\0"
"glMatrixIndexuivARB\0"
"\0"
- /* _mesa_function_pool[12076]: Vertex2s (offset 132) */
+ /* _mesa_function_pool[12186]: Vertex2s (offset 132) */
"ii\0"
"glVertex2s\0"
"\0"
- /* _mesa_function_pool[12091]: RenderbufferStorageMultisample (will be remapped) */
+ /* _mesa_function_pool[12201]: RenderbufferStorageMultisample (will be remapped) */
"iiiii\0"
"glRenderbufferStorageMultisample\0"
"glRenderbufferStorageMultisampleEXT\0"
"\0"
- /* _mesa_function_pool[12167]: TexCoord4fv (offset 121) */
+ /* _mesa_function_pool[12277]: TexCoord4fv (offset 121) */
"p\0"
"glTexCoord4fv\0"
"\0"
- /* _mesa_function_pool[12184]: Tangent3sEXT (dynamic) */
+ /* _mesa_function_pool[12294]: Tangent3sEXT (dynamic) */
"iii\0"
"glTangent3sEXT\0"
"\0"
- /* _mesa_function_pool[12204]: GlobalAlphaFactorfSUN (dynamic) */
+ /* _mesa_function_pool[12314]: GlobalAlphaFactorfSUN (dynamic) */
"f\0"
"glGlobalAlphaFactorfSUN\0"
"\0"
- /* _mesa_function_pool[12231]: MultiTexCoord3iARB (offset 396) */
+ /* _mesa_function_pool[12341]: MultiTexCoord3iARB (offset 396) */
"iiii\0"
"glMultiTexCoord3i\0"
"glMultiTexCoord3iARB\0"
"\0"
- /* _mesa_function_pool[12276]: IsProgram (will be remapped) */
+ /* _mesa_function_pool[12386]: IsProgram (will be remapped) */
"i\0"
"glIsProgram\0"
"\0"
- /* _mesa_function_pool[12291]: TexCoordPointerListIBM (dynamic) */
+ /* _mesa_function_pool[12401]: TexCoordPointerListIBM (dynamic) */
"iiipi\0"
"glTexCoordPointerListIBM\0"
"\0"
- /* _mesa_function_pool[12323]: GlobalAlphaFactorusSUN (dynamic) */
+ /* _mesa_function_pool[12433]: GlobalAlphaFactorusSUN (dynamic) */
"i\0"
"glGlobalAlphaFactorusSUN\0"
"\0"
- /* _mesa_function_pool[12351]: VertexAttrib2dvNV (will be remapped) */
+ /* _mesa_function_pool[12461]: VertexAttrib2dvNV (will be remapped) */
"ip\0"
"glVertexAttrib2dvNV\0"
"\0"
- /* _mesa_function_pool[12375]: FramebufferRenderbufferEXT (will be remapped) */
+ /* _mesa_function_pool[12485]: FramebufferRenderbufferEXT (will be remapped) */
"iiii\0"
"glFramebufferRenderbuffer\0"
"glFramebufferRenderbufferEXT\0"
"\0"
- /* _mesa_function_pool[12436]: VertexAttrib1dvNV (will be remapped) */
+ /* _mesa_function_pool[12546]: VertexAttrib1dvNV (will be remapped) */
"ip\0"
"glVertexAttrib1dvNV\0"
"\0"
- /* _mesa_function_pool[12460]: GenTextures (offset 328) */
+ /* _mesa_function_pool[12570]: GenTextures (offset 328) */
"ip\0"
"glGenTextures\0"
"glGenTexturesEXT\0"
"\0"
- /* _mesa_function_pool[12495]: FramebufferTextureARB (will be remapped) */
+ /* _mesa_function_pool[12605]: FramebufferTextureARB (will be remapped) */
"iiii\0"
"glFramebufferTextureARB\0"
"\0"
- /* _mesa_function_pool[12525]: SetFenceNV (will be remapped) */
+ /* _mesa_function_pool[12635]: SetFenceNV (will be remapped) */
"ii\0"
"glSetFenceNV\0"
"\0"
- /* _mesa_function_pool[12542]: FramebufferTexture1DEXT (will be remapped) */
+ /* _mesa_function_pool[12652]: FramebufferTexture1DEXT (will be remapped) */
"iiiii\0"
"glFramebufferTexture1D\0"
"glFramebufferTexture1DEXT\0"
"\0"
- /* _mesa_function_pool[12598]: GetCombinerOutputParameterivNV (will be remapped) */
+ /* _mesa_function_pool[12708]: GetCombinerOutputParameterivNV (will be remapped) */
"iiip\0"
"glGetCombinerOutputParameterivNV\0"
"\0"
- /* _mesa_function_pool[12637]: PixelTexGenParameterivSGIS (will be remapped) */
+ /* _mesa_function_pool[12747]: PixelTexGenParameterivSGIS (will be remapped) */
"ip\0"
"glPixelTexGenParameterivSGIS\0"
"\0"
- /* _mesa_function_pool[12670]: TextureNormalEXT (dynamic) */
+ /* _mesa_function_pool[12780]: TextureNormalEXT (dynamic) */
"i\0"
"glTextureNormalEXT\0"
"\0"
- /* _mesa_function_pool[12692]: IndexPointerListIBM (dynamic) */
+ /* _mesa_function_pool[12802]: IndexPointerListIBM (dynamic) */
"iipi\0"
"glIndexPointerListIBM\0"
"\0"
- /* _mesa_function_pool[12720]: WeightfvARB (dynamic) */
+ /* _mesa_function_pool[12830]: WeightfvARB (dynamic) */
"ip\0"
"glWeightfvARB\0"
"\0"
- /* _mesa_function_pool[12738]: RasterPos2sv (offset 69) */
+ /* _mesa_function_pool[12848]: RasterPos2sv (offset 69) */
"p\0"
"glRasterPos2sv\0"
"\0"
- /* _mesa_function_pool[12756]: Color4ubv (offset 36) */
+ /* _mesa_function_pool[12866]: Color4ubv (offset 36) */
"p\0"
"glColor4ubv\0"
"\0"
- /* _mesa_function_pool[12771]: DrawBuffer (offset 202) */
+ /* _mesa_function_pool[12881]: DrawBuffer (offset 202) */
"i\0"
"glDrawBuffer\0"
"\0"
- /* _mesa_function_pool[12787]: TexCoord2fv (offset 105) */
+ /* _mesa_function_pool[12897]: TexCoord2fv (offset 105) */
"p\0"
"glTexCoord2fv\0"
"\0"
- /* _mesa_function_pool[12804]: WindowPos4fMESA (will be remapped) */
+ /* _mesa_function_pool[12914]: WindowPos4fMESA (will be remapped) */
"ffff\0"
"glWindowPos4fMESA\0"
"\0"
- /* _mesa_function_pool[12828]: TexCoord1sv (offset 101) */
+ /* _mesa_function_pool[12938]: TexCoord1sv (offset 101) */
"p\0"
"glTexCoord1sv\0"
"\0"
- /* _mesa_function_pool[12845]: WindowPos3dvMESA (will be remapped) */
+ /* _mesa_function_pool[12955]: WindowPos3dvMESA (will be remapped) */
"p\0"
"glWindowPos3dv\0"
"glWindowPos3dvARB\0"
"glWindowPos3dvMESA\0"
"\0"
- /* _mesa_function_pool[12900]: DepthFunc (offset 245) */
+ /* _mesa_function_pool[13010]: DepthFunc (offset 245) */
"i\0"
"glDepthFunc\0"
"\0"
- /* _mesa_function_pool[12915]: PixelMapusv (offset 253) */
+ /* _mesa_function_pool[13025]: PixelMapusv (offset 253) */
"iip\0"
"glPixelMapusv\0"
"\0"
- /* _mesa_function_pool[12934]: GetQueryObjecti64vEXT (will be remapped) */
+ /* _mesa_function_pool[13044]: GetQueryObjecti64vEXT (will be remapped) */
"iip\0"
"glGetQueryObjecti64vEXT\0"
"\0"
- /* _mesa_function_pool[12963]: MultiTexCoord1dARB (offset 376) */
+ /* _mesa_function_pool[13073]: MultiTexCoord1dARB (offset 376) */
"id\0"
"glMultiTexCoord1d\0"
"glMultiTexCoord1dARB\0"
"\0"
- /* _mesa_function_pool[13006]: PointParameterivNV (will be remapped) */
+ /* _mesa_function_pool[13116]: PointParameterivNV (will be remapped) */
"ip\0"
"glPointParameteriv\0"
"glPointParameterivNV\0"
"\0"
- /* _mesa_function_pool[13050]: BlendFunc (offset 241) */
+ /* _mesa_function_pool[13160]: BlendFunc (offset 241) */
"ii\0"
"glBlendFunc\0"
"\0"
- /* _mesa_function_pool[13066]: EndTransformFeedbackEXT (will be remapped) */
+ /* _mesa_function_pool[13176]: EndTransformFeedbackEXT (will be remapped) */
"\0"
"glEndTransformFeedbackEXT\0"
"glEndTransformFeedback\0"
"\0"
- /* _mesa_function_pool[13117]: Uniform2fvARB (will be remapped) */
+ /* _mesa_function_pool[13227]: Uniform2fvARB (will be remapped) */
"iip\0"
"glUniform2fv\0"
"glUniform2fvARB\0"
"\0"
- /* _mesa_function_pool[13151]: BufferParameteriAPPLE (will be remapped) */
+ /* _mesa_function_pool[13261]: BufferParameteriAPPLE (will be remapped) */
"iii\0"
"glBufferParameteriAPPLE\0"
"\0"
- /* _mesa_function_pool[13180]: MultiTexCoord3dvARB (offset 393) */
+ /* _mesa_function_pool[13290]: MultiTexCoord3dvARB (offset 393) */
"ip\0"
"glMultiTexCoord3dv\0"
"glMultiTexCoord3dvARB\0"
"\0"
- /* _mesa_function_pool[13225]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[13335]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */
"pppp\0"
"glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[13281]: DeleteObjectARB (will be remapped) */
+ /* _mesa_function_pool[13391]: DeleteObjectARB (will be remapped) */
"i\0"
"glDeleteObjectARB\0"
"\0"
- /* _mesa_function_pool[13302]: MatrixIndexPointerARB (dynamic) */
+ /* _mesa_function_pool[13412]: MatrixIndexPointerARB (dynamic) */
"iiip\0"
"glMatrixIndexPointerARB\0"
"\0"
- /* _mesa_function_pool[13332]: ProgramNamedParameter4dvNV (will be remapped) */
+ /* _mesa_function_pool[13442]: ProgramNamedParameter4dvNV (will be remapped) */
"iipp\0"
"glProgramNamedParameter4dvNV\0"
"\0"
- /* _mesa_function_pool[13367]: Tangent3fvEXT (dynamic) */
+ /* _mesa_function_pool[13477]: Tangent3fvEXT (dynamic) */
"p\0"
"glTangent3fvEXT\0"
"\0"
- /* _mesa_function_pool[13386]: Flush (offset 217) */
+ /* _mesa_function_pool[13496]: Flush (offset 217) */
"\0"
"glFlush\0"
"\0"
- /* _mesa_function_pool[13396]: Color4uiv (offset 38) */
+ /* _mesa_function_pool[13506]: Color4uiv (offset 38) */
"p\0"
"glColor4uiv\0"
"\0"
- /* _mesa_function_pool[13411]: GenVertexArrays (will be remapped) */
+ /* _mesa_function_pool[13521]: GenVertexArrays (will be remapped) */
"ip\0"
"glGenVertexArrays\0"
"\0"
- /* _mesa_function_pool[13433]: RasterPos3sv (offset 77) */
+ /* _mesa_function_pool[13543]: RasterPos3sv (offset 77) */
"p\0"
"glRasterPos3sv\0"
"\0"
- /* _mesa_function_pool[13451]: BindFramebufferEXT (will be remapped) */
+ /* _mesa_function_pool[13561]: BindFramebufferEXT (will be remapped) */
"ii\0"
"glBindFramebuffer\0"
"glBindFramebufferEXT\0"
"\0"
- /* _mesa_function_pool[13494]: ReferencePlaneSGIX (dynamic) */
+ /* _mesa_function_pool[13604]: ReferencePlaneSGIX (dynamic) */
"p\0"
"glReferencePlaneSGIX\0"
"\0"
- /* _mesa_function_pool[13518]: PushAttrib (offset 219) */
+ /* _mesa_function_pool[13628]: PushAttrib (offset 219) */
"i\0"
"glPushAttrib\0"
"\0"
- /* _mesa_function_pool[13534]: RasterPos2i (offset 66) */
+ /* _mesa_function_pool[13644]: RasterPos2i (offset 66) */
"ii\0"
"glRasterPos2i\0"
"\0"
- /* _mesa_function_pool[13552]: ValidateProgramARB (will be remapped) */
+ /* _mesa_function_pool[13662]: ValidateProgramARB (will be remapped) */
"i\0"
"glValidateProgram\0"
"glValidateProgramARB\0"
"\0"
- /* _mesa_function_pool[13594]: TexParameteriv (offset 181) */
+ /* _mesa_function_pool[13704]: TexParameteriv (offset 181) */
"iip\0"
"glTexParameteriv\0"
"\0"
- /* _mesa_function_pool[13616]: UnlockArraysEXT (will be remapped) */
+ /* _mesa_function_pool[13726]: UnlockArraysEXT (will be remapped) */
"\0"
"glUnlockArraysEXT\0"
"\0"
- /* _mesa_function_pool[13636]: TexCoord2fColor3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[13746]: TexCoord2fColor3fVertex3fSUN (dynamic) */
"ffffffff\0"
"glTexCoord2fColor3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[13677]: WindowPos3fvMESA (will be remapped) */
+ /* _mesa_function_pool[13787]: WindowPos3fvMESA (will be remapped) */
"p\0"
"glWindowPos3fv\0"
"glWindowPos3fvARB\0"
"glWindowPos3fvMESA\0"
"\0"
- /* _mesa_function_pool[13732]: RasterPos2f (offset 64) */
+ /* _mesa_function_pool[13842]: RasterPos2f (offset 64) */
"ff\0"
"glRasterPos2f\0"
"\0"
- /* _mesa_function_pool[13750]: VertexAttrib1svNV (will be remapped) */
+ /* _mesa_function_pool[13860]: VertexAttrib1svNV (will be remapped) */
"ip\0"
"glVertexAttrib1svNV\0"
"\0"
- /* _mesa_function_pool[13774]: RasterPos2d (offset 62) */
+ /* _mesa_function_pool[13884]: RasterPos2d (offset 62) */
"dd\0"
"glRasterPos2d\0"
"\0"
- /* _mesa_function_pool[13792]: RasterPos3fv (offset 73) */
+ /* _mesa_function_pool[13902]: RasterPos3fv (offset 73) */
"p\0"
"glRasterPos3fv\0"
"\0"
- /* _mesa_function_pool[13810]: CopyTexSubImage3D (offset 373) */
+ /* _mesa_function_pool[13920]: CopyTexSubImage3D (offset 373) */
"iiiiiiiii\0"
"glCopyTexSubImage3D\0"
"glCopyTexSubImage3DEXT\0"
"\0"
- /* _mesa_function_pool[13864]: VertexAttrib2dARB (will be remapped) */
+ /* _mesa_function_pool[13974]: VertexAttrib2dARB (will be remapped) */
"idd\0"
"glVertexAttrib2d\0"
"glVertexAttrib2dARB\0"
"\0"
- /* _mesa_function_pool[13906]: Color4ub (offset 35) */
+ /* _mesa_function_pool[14016]: Color4ub (offset 35) */
"iiii\0"
"glColor4ub\0"
"\0"
- /* _mesa_function_pool[13923]: GetInteger64v (will be remapped) */
+ /* _mesa_function_pool[14033]: GetInteger64v (will be remapped) */
"ip\0"
"glGetInteger64v\0"
"\0"
- /* _mesa_function_pool[13943]: TextureColorMaskSGIS (dynamic) */
+ /* _mesa_function_pool[14053]: TextureColorMaskSGIS (dynamic) */
"iiii\0"
"glTextureColorMaskSGIS\0"
"\0"
- /* _mesa_function_pool[13972]: RasterPos2s (offset 68) */
+ /* _mesa_function_pool[14082]: RasterPos2s (offset 68) */
"ii\0"
"glRasterPos2s\0"
"\0"
- /* _mesa_function_pool[13990]: GetColorTable (offset 343) */
+ /* _mesa_function_pool[14100]: GetColorTable (offset 343) */
"iiip\0"
"glGetColorTable\0"
"glGetColorTableSGI\0"
"glGetColorTableEXT\0"
"\0"
- /* _mesa_function_pool[14050]: SelectBuffer (offset 195) */
+ /* _mesa_function_pool[14160]: SelectBuffer (offset 195) */
"ip\0"
"glSelectBuffer\0"
"\0"
- /* _mesa_function_pool[14069]: Indexiv (offset 49) */
+ /* _mesa_function_pool[14179]: Indexiv (offset 49) */
"p\0"
"glIndexiv\0"
"\0"
- /* _mesa_function_pool[14082]: TexCoord3i (offset 114) */
+ /* _mesa_function_pool[14192]: TexCoord3i (offset 114) */
"iii\0"
"glTexCoord3i\0"
"\0"
- /* _mesa_function_pool[14100]: CopyColorTable (offset 342) */
+ /* _mesa_function_pool[14210]: CopyColorTable (offset 342) */
"iiiii\0"
"glCopyColorTable\0"
"glCopyColorTableSGI\0"
"\0"
- /* _mesa_function_pool[14144]: GetHistogramParameterfv (offset 362) */
+ /* _mesa_function_pool[14254]: GetHistogramParameterfv (offset 362) */
"iip\0"
"glGetHistogramParameterfv\0"
"glGetHistogramParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[14204]: Frustum (offset 289) */
+ /* _mesa_function_pool[14314]: Frustum (offset 289) */
"dddddd\0"
"glFrustum\0"
"\0"
- /* _mesa_function_pool[14222]: GetString (offset 275) */
+ /* _mesa_function_pool[14332]: GetString (offset 275) */
"i\0"
"glGetString\0"
"\0"
- /* _mesa_function_pool[14237]: ColorPointervINTEL (dynamic) */
+ /* _mesa_function_pool[14347]: ColorPointervINTEL (dynamic) */
"iip\0"
"glColorPointervINTEL\0"
"\0"
- /* _mesa_function_pool[14263]: TexEnvf (offset 184) */
+ /* _mesa_function_pool[14373]: TexEnvf (offset 184) */
"iif\0"
"glTexEnvf\0"
"\0"
- /* _mesa_function_pool[14278]: TexCoord3d (offset 110) */
+ /* _mesa_function_pool[14388]: TexCoord3d (offset 110) */
"ddd\0"
"glTexCoord3d\0"
"\0"
- /* _mesa_function_pool[14296]: AlphaFragmentOp1ATI (will be remapped) */
+ /* _mesa_function_pool[14406]: AlphaFragmentOp1ATI (will be remapped) */
"iiiiii\0"
"glAlphaFragmentOp1ATI\0"
"\0"
- /* _mesa_function_pool[14326]: TexCoord3f (offset 112) */
+ /* _mesa_function_pool[14436]: TexCoord3f (offset 112) */
"fff\0"
"glTexCoord3f\0"
"\0"
- /* _mesa_function_pool[14344]: MultiTexCoord3ivARB (offset 397) */
+ /* _mesa_function_pool[14454]: MultiTexCoord3ivARB (offset 397) */
"ip\0"
"glMultiTexCoord3iv\0"
"glMultiTexCoord3ivARB\0"
"\0"
- /* _mesa_function_pool[14389]: MultiTexCoord2sARB (offset 390) */
+ /* _mesa_function_pool[14499]: MultiTexCoord2sARB (offset 390) */
"iii\0"
"glMultiTexCoord2s\0"
"glMultiTexCoord2sARB\0"
"\0"
- /* _mesa_function_pool[14433]: VertexAttrib1dvARB (will be remapped) */
+ /* _mesa_function_pool[14543]: VertexAttrib1dvARB (will be remapped) */
"ip\0"
"glVertexAttrib1dv\0"
"glVertexAttrib1dvARB\0"
"\0"
- /* _mesa_function_pool[14476]: DeleteTextures (offset 327) */
+ /* _mesa_function_pool[14586]: DeleteTextures (offset 327) */
"ip\0"
"glDeleteTextures\0"
"glDeleteTexturesEXT\0"
"\0"
- /* _mesa_function_pool[14517]: TexCoordPointerEXT (will be remapped) */
+ /* _mesa_function_pool[14627]: TexCoordPointerEXT (will be remapped) */
"iiiip\0"
"glTexCoordPointerEXT\0"
"\0"
- /* _mesa_function_pool[14545]: TexSubImage4DSGIS (dynamic) */
+ /* _mesa_function_pool[14655]: TexSubImage4DSGIS (dynamic) */
"iiiiiiiiiiiip\0"
"glTexSubImage4DSGIS\0"
"\0"
- /* _mesa_function_pool[14580]: TexCoord3s (offset 116) */
+ /* _mesa_function_pool[14690]: TexCoord3s (offset 116) */
"iii\0"
"glTexCoord3s\0"
"\0"
- /* _mesa_function_pool[14598]: GetTexLevelParameteriv (offset 285) */
+ /* _mesa_function_pool[14708]: GetTexLevelParameteriv (offset 285) */
"iiip\0"
"glGetTexLevelParameteriv\0"
"\0"
- /* _mesa_function_pool[14629]: DrawArraysInstanced (will be remapped) */
+ /* _mesa_function_pool[14739]: DrawArraysInstanced (will be remapped) */
"iiii\0"
"glDrawArraysInstanced\0"
"glDrawArraysInstancedARB\0"
"glDrawArraysInstancedEXT\0"
"\0"
- /* _mesa_function_pool[14707]: CombinerStageParameterfvNV (dynamic) */
+ /* _mesa_function_pool[14817]: CombinerStageParameterfvNV (dynamic) */
"iip\0"
"glCombinerStageParameterfvNV\0"
"\0"
- /* _mesa_function_pool[14741]: StopInstrumentsSGIX (dynamic) */
+ /* _mesa_function_pool[14851]: StopInstrumentsSGIX (dynamic) */
"i\0"
"glStopInstrumentsSGIX\0"
"\0"
- /* _mesa_function_pool[14766]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */
+ /* _mesa_function_pool[14876]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */
"fffffffffffffff\0"
"glTexCoord4fColor4fNormal3fVertex4fSUN\0"
"\0"
- /* _mesa_function_pool[14822]: ClearAccum (offset 204) */
+ /* _mesa_function_pool[14932]: ClearAccum (offset 204) */
"ffff\0"
"glClearAccum\0"
"\0"
- /* _mesa_function_pool[14841]: DeformSGIX (dynamic) */
+ /* _mesa_function_pool[14951]: DeformSGIX (dynamic) */
"i\0"
"glDeformSGIX\0"
"\0"
- /* _mesa_function_pool[14857]: GetVertexAttribfvARB (will be remapped) */
+ /* _mesa_function_pool[14967]: GetVertexAttribfvARB (will be remapped) */
"iip\0"
"glGetVertexAttribfv\0"
"glGetVertexAttribfvARB\0"
"\0"
- /* _mesa_function_pool[14905]: SecondaryColor3ivEXT (will be remapped) */
+ /* _mesa_function_pool[15015]: SecondaryColor3ivEXT (will be remapped) */
"p\0"
"glSecondaryColor3iv\0"
"glSecondaryColor3ivEXT\0"
"\0"
- /* _mesa_function_pool[14951]: TexCoord4iv (offset 123) */
+ /* _mesa_function_pool[15061]: TexCoord4iv (offset 123) */
"p\0"
"glTexCoord4iv\0"
"\0"
- /* _mesa_function_pool[14968]: UniformMatrix4x2fv (will be remapped) */
+ /* _mesa_function_pool[15078]: UniformMatrix4x2fv (will be remapped) */
"iiip\0"
"glUniformMatrix4x2fv\0"
"\0"
- /* _mesa_function_pool[14995]: GetDetailTexFuncSGIS (dynamic) */
+ /* _mesa_function_pool[15105]: GetDetailTexFuncSGIS (dynamic) */
"ip\0"
"glGetDetailTexFuncSGIS\0"
"\0"
- /* _mesa_function_pool[15022]: GetCombinerStageParameterfvNV (dynamic) */
+ /* _mesa_function_pool[15132]: GetCombinerStageParameterfvNV (dynamic) */
"iip\0"
"glGetCombinerStageParameterfvNV\0"
"\0"
- /* _mesa_function_pool[15059]: PolygonOffset (offset 319) */
+ /* _mesa_function_pool[15169]: PolygonOffset (offset 319) */
"ff\0"
"glPolygonOffset\0"
"\0"
- /* _mesa_function_pool[15079]: BindVertexArray (will be remapped) */
+ /* _mesa_function_pool[15189]: BindVertexArray (will be remapped) */
"i\0"
"glBindVertexArray\0"
"\0"
- /* _mesa_function_pool[15100]: Color4ubVertex2fvSUN (dynamic) */
+ /* _mesa_function_pool[15210]: Color4ubVertex2fvSUN (dynamic) */
"pp\0"
"glColor4ubVertex2fvSUN\0"
"\0"
- /* _mesa_function_pool[15127]: Rectd (offset 86) */
+ /* _mesa_function_pool[15237]: Rectd (offset 86) */
"dddd\0"
"glRectd\0"
"\0"
- /* _mesa_function_pool[15141]: TexFilterFuncSGIS (dynamic) */
+ /* _mesa_function_pool[15251]: TexFilterFuncSGIS (dynamic) */
"iiip\0"
"glTexFilterFuncSGIS\0"
"\0"
- /* _mesa_function_pool[15167]: SampleMaskSGIS (will be remapped) */
+ /* _mesa_function_pool[15277]: SampleMaskSGIS (will be remapped) */
"fi\0"
"glSampleMaskSGIS\0"
"glSampleMaskEXT\0"
"\0"
- /* _mesa_function_pool[15204]: GetAttribLocationARB (will be remapped) */
+ /* _mesa_function_pool[15314]: GetAttribLocationARB (will be remapped) */
"ip\0"
"glGetAttribLocation\0"
"glGetAttribLocationARB\0"
"\0"
- /* _mesa_function_pool[15251]: RasterPos3i (offset 74) */
+ /* _mesa_function_pool[15361]: RasterPos3i (offset 74) */
"iii\0"
"glRasterPos3i\0"
"\0"
- /* _mesa_function_pool[15270]: VertexAttrib4ubvARB (will be remapped) */
+ /* _mesa_function_pool[15380]: VertexAttrib4ubvARB (will be remapped) */
"ip\0"
"glVertexAttrib4ubv\0"
"glVertexAttrib4ubvARB\0"
"\0"
- /* _mesa_function_pool[15315]: DetailTexFuncSGIS (dynamic) */
+ /* _mesa_function_pool[15425]: DetailTexFuncSGIS (dynamic) */
"iip\0"
"glDetailTexFuncSGIS\0"
"\0"
- /* _mesa_function_pool[15340]: Normal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[15450]: Normal3fVertex3fSUN (dynamic) */
"ffffff\0"
"glNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[15370]: CopyTexImage2D (offset 324) */
+ /* _mesa_function_pool[15480]: CopyTexImage2D (offset 324) */
"iiiiiiii\0"
"glCopyTexImage2D\0"
"glCopyTexImage2DEXT\0"
"\0"
- /* _mesa_function_pool[15417]: GetBufferPointervARB (will be remapped) */
+ /* _mesa_function_pool[15527]: GetBufferPointervARB (will be remapped) */
"iip\0"
"glGetBufferPointerv\0"
"glGetBufferPointervARB\0"
"\0"
- /* _mesa_function_pool[15465]: ProgramEnvParameter4fARB (will be remapped) */
+ /* _mesa_function_pool[15575]: ProgramEnvParameter4fARB (will be remapped) */
"iiffff\0"
"glProgramEnvParameter4fARB\0"
"glProgramParameter4fNV\0"
"\0"
- /* _mesa_function_pool[15523]: Uniform3ivARB (will be remapped) */
+ /* _mesa_function_pool[15633]: Uniform3ivARB (will be remapped) */
"iip\0"
"glUniform3iv\0"
"glUniform3ivARB\0"
"\0"
- /* _mesa_function_pool[15557]: Lightfv (offset 160) */
+ /* _mesa_function_pool[15667]: Lightfv (offset 160) */
"iip\0"
"glLightfv\0"
"\0"
- /* _mesa_function_pool[15572]: ClearDepth (offset 208) */
+ /* _mesa_function_pool[15682]: PrimitiveRestartIndexNV (will be remapped) */
+ "i\0"
+ "glPrimitiveRestartIndexNV\0"
+ "\0"
+ /* _mesa_function_pool[15711]: ClearDepth (offset 208) */
"d\0"
"glClearDepth\0"
"\0"
- /* _mesa_function_pool[15588]: GetFenceivNV (will be remapped) */
+ /* _mesa_function_pool[15727]: GetFenceivNV (will be remapped) */
"iip\0"
"glGetFenceivNV\0"
"\0"
- /* _mesa_function_pool[15608]: WindowPos4dvMESA (will be remapped) */
+ /* _mesa_function_pool[15747]: WindowPos4dvMESA (will be remapped) */
"p\0"
"glWindowPos4dvMESA\0"
"\0"
- /* _mesa_function_pool[15630]: ColorSubTable (offset 346) */
+ /* _mesa_function_pool[15769]: ColorSubTable (offset 346) */
"iiiiip\0"
"glColorSubTable\0"
"glColorSubTableEXT\0"
"\0"
- /* _mesa_function_pool[15673]: Color4fv (offset 30) */
+ /* _mesa_function_pool[15812]: Color4fv (offset 30) */
"p\0"
"glColor4fv\0"
"\0"
- /* _mesa_function_pool[15687]: MultiTexCoord4ivARB (offset 405) */
+ /* _mesa_function_pool[15826]: MultiTexCoord4ivARB (offset 405) */
"ip\0"
"glMultiTexCoord4iv\0"
"glMultiTexCoord4ivARB\0"
"\0"
- /* _mesa_function_pool[15732]: DrawElementsInstanced (will be remapped) */
+ /* _mesa_function_pool[15871]: DrawElementsInstanced (will be remapped) */
"iiipi\0"
"glDrawElementsInstanced\0"
"glDrawElementsInstancedARB\0"
"glDrawElementsInstancedEXT\0"
"\0"
- /* _mesa_function_pool[15817]: ColorPointer (offset 308) */
+ /* _mesa_function_pool[15956]: ColorPointer (offset 308) */
"iiip\0"
"glColorPointer\0"
"\0"
- /* _mesa_function_pool[15838]: Rects (offset 92) */
+ /* _mesa_function_pool[15977]: Rects (offset 92) */
"iiii\0"
"glRects\0"
"\0"
- /* _mesa_function_pool[15852]: GetMapAttribParameterfvNV (dynamic) */
+ /* _mesa_function_pool[15991]: GetMapAttribParameterfvNV (dynamic) */
"iiip\0"
"glGetMapAttribParameterfvNV\0"
"\0"
- /* _mesa_function_pool[15886]: Lightiv (offset 162) */
+ /* _mesa_function_pool[16025]: CreateShaderProgramEXT (will be remapped) */
+ "ip\0"
+ "glCreateShaderProgramEXT\0"
+ "\0"
+ /* _mesa_function_pool[16054]: ActiveProgramEXT (will be remapped) */
+ "i\0"
+ "glActiveProgramEXT\0"
+ "\0"
+ /* _mesa_function_pool[16076]: Lightiv (offset 162) */
"iip\0"
"glLightiv\0"
"\0"
- /* _mesa_function_pool[15901]: VertexAttrib4sARB (will be remapped) */
+ /* _mesa_function_pool[16091]: VertexAttrib4sARB (will be remapped) */
"iiiii\0"
"glVertexAttrib4s\0"
"glVertexAttrib4sARB\0"
"\0"
- /* _mesa_function_pool[15945]: GetQueryObjectuivARB (will be remapped) */
+ /* _mesa_function_pool[16135]: GetQueryObjectuivARB (will be remapped) */
"iip\0"
"glGetQueryObjectuiv\0"
"glGetQueryObjectuivARB\0"
"\0"
- /* _mesa_function_pool[15993]: GetTexParameteriv (offset 283) */
+ /* _mesa_function_pool[16183]: GetTexParameteriv (offset 283) */
"iip\0"
"glGetTexParameteriv\0"
"\0"
- /* _mesa_function_pool[16018]: MapParameterivNV (dynamic) */
+ /* _mesa_function_pool[16208]: MapParameterivNV (dynamic) */
"iip\0"
"glMapParameterivNV\0"
"\0"
- /* _mesa_function_pool[16042]: GenRenderbuffersEXT (will be remapped) */
+ /* _mesa_function_pool[16232]: GenRenderbuffersEXT (will be remapped) */
"ip\0"
"glGenRenderbuffers\0"
"glGenRenderbuffersEXT\0"
"\0"
- /* _mesa_function_pool[16087]: VertexAttrib2dvARB (will be remapped) */
+ /* _mesa_function_pool[16277]: VertexAttrib2dvARB (will be remapped) */
"ip\0"
"glVertexAttrib2dv\0"
"glVertexAttrib2dvARB\0"
"\0"
- /* _mesa_function_pool[16130]: EdgeFlagPointerEXT (will be remapped) */
+ /* _mesa_function_pool[16320]: EdgeFlagPointerEXT (will be remapped) */
"iip\0"
"glEdgeFlagPointerEXT\0"
"\0"
- /* _mesa_function_pool[16156]: VertexAttribs2svNV (will be remapped) */
+ /* _mesa_function_pool[16346]: VertexAttribs2svNV (will be remapped) */
"iip\0"
"glVertexAttribs2svNV\0"
"\0"
- /* _mesa_function_pool[16182]: WeightbvARB (dynamic) */
+ /* _mesa_function_pool[16372]: WeightbvARB (dynamic) */
"ip\0"
"glWeightbvARB\0"
"\0"
- /* _mesa_function_pool[16200]: VertexAttrib2fvARB (will be remapped) */
+ /* _mesa_function_pool[16390]: VertexAttrib2fvARB (will be remapped) */
"ip\0"
"glVertexAttrib2fv\0"
"glVertexAttrib2fvARB\0"
"\0"
- /* _mesa_function_pool[16243]: GetBufferParameterivARB (will be remapped) */
+ /* _mesa_function_pool[16433]: GetBufferParameterivARB (will be remapped) */
"iip\0"
"glGetBufferParameteriv\0"
"glGetBufferParameterivARB\0"
"\0"
- /* _mesa_function_pool[16297]: Rectdv (offset 87) */
+ /* _mesa_function_pool[16487]: Rectdv (offset 87) */
"pp\0"
"glRectdv\0"
"\0"
- /* _mesa_function_pool[16310]: ListParameteriSGIX (dynamic) */
+ /* _mesa_function_pool[16500]: ListParameteriSGIX (dynamic) */
"iii\0"
"glListParameteriSGIX\0"
"\0"
- /* _mesa_function_pool[16336]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[16526]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */
"iffffffffff\0"
"glReplacementCodeuiColor4fNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[16395]: InstrumentsBufferSGIX (dynamic) */
+ /* _mesa_function_pool[16585]: InstrumentsBufferSGIX (dynamic) */
"ip\0"
"glInstrumentsBufferSGIX\0"
"\0"
- /* _mesa_function_pool[16423]: VertexAttrib4NivARB (will be remapped) */
+ /* _mesa_function_pool[16613]: VertexAttrib4NivARB (will be remapped) */
"ip\0"
"glVertexAttrib4Niv\0"
"glVertexAttrib4NivARB\0"
"\0"
- /* _mesa_function_pool[16468]: GetAttachedShaders (will be remapped) */
+ /* _mesa_function_pool[16658]: GetAttachedShaders (will be remapped) */
"iipp\0"
"glGetAttachedShaders\0"
"\0"
- /* _mesa_function_pool[16495]: GenVertexArraysAPPLE (will be remapped) */
+ /* _mesa_function_pool[16685]: GenVertexArraysAPPLE (will be remapped) */
"ip\0"
"glGenVertexArraysAPPLE\0"
"\0"
- /* _mesa_function_pool[16522]: Materialiv (offset 172) */
+ /* _mesa_function_pool[16712]: Materialiv (offset 172) */
"iip\0"
"glMaterialiv\0"
"\0"
- /* _mesa_function_pool[16540]: PushClientAttrib (offset 335) */
+ /* _mesa_function_pool[16730]: PushClientAttrib (offset 335) */
"i\0"
"glPushClientAttrib\0"
"\0"
- /* _mesa_function_pool[16562]: ProgramEnvParameters4fvEXT (will be remapped) */
+ /* _mesa_function_pool[16752]: ProgramEnvParameters4fvEXT (will be remapped) */
"iiip\0"
"glProgramEnvParameters4fvEXT\0"
"\0"
- /* _mesa_function_pool[16597]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[16787]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
"pppp\0"
"glTexCoord2fColor4fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[16643]: WindowPos2iMESA (will be remapped) */
+ /* _mesa_function_pool[16833]: WindowPos2iMESA (will be remapped) */
"ii\0"
"glWindowPos2i\0"
"glWindowPos2iARB\0"
"glWindowPos2iMESA\0"
"\0"
- /* _mesa_function_pool[16696]: SecondaryColor3fvEXT (will be remapped) */
+ /* _mesa_function_pool[16886]: SecondaryColor3fvEXT (will be remapped) */
"p\0"
"glSecondaryColor3fv\0"
"glSecondaryColor3fvEXT\0"
"\0"
- /* _mesa_function_pool[16742]: PolygonMode (offset 174) */
+ /* _mesa_function_pool[16932]: PolygonMode (offset 174) */
"ii\0"
"glPolygonMode\0"
"\0"
- /* _mesa_function_pool[16760]: CompressedTexSubImage1DARB (will be remapped) */
+ /* _mesa_function_pool[16950]: CompressedTexSubImage1DARB (will be remapped) */
"iiiiiip\0"
"glCompressedTexSubImage1D\0"
"glCompressedTexSubImage1DARB\0"
"\0"
- /* _mesa_function_pool[16824]: GetVertexAttribivNV (will be remapped) */
+ /* _mesa_function_pool[17014]: GetVertexAttribivNV (will be remapped) */
"iip\0"
"glGetVertexAttribivNV\0"
"\0"
- /* _mesa_function_pool[16851]: GetProgramStringARB (will be remapped) */
+ /* _mesa_function_pool[17041]: GetProgramStringARB (will be remapped) */
"iip\0"
"glGetProgramStringARB\0"
"\0"
- /* _mesa_function_pool[16878]: TexBumpParameterfvATI (will be remapped) */
+ /* _mesa_function_pool[17068]: TexBumpParameterfvATI (will be remapped) */
"ip\0"
"glTexBumpParameterfvATI\0"
"\0"
- /* _mesa_function_pool[16906]: CompileShaderARB (will be remapped) */
+ /* _mesa_function_pool[17096]: CompileShaderARB (will be remapped) */
"i\0"
"glCompileShader\0"
"glCompileShaderARB\0"
"\0"
- /* _mesa_function_pool[16944]: DeleteShader (will be remapped) */
+ /* _mesa_function_pool[17134]: DeleteShader (will be remapped) */
"i\0"
"glDeleteShader\0"
"\0"
- /* _mesa_function_pool[16962]: DisableClientState (offset 309) */
+ /* _mesa_function_pool[17152]: DisableClientState (offset 309) */
"i\0"
"glDisableClientState\0"
"\0"
- /* _mesa_function_pool[16986]: TexGeni (offset 192) */
+ /* _mesa_function_pool[17176]: TexGeni (offset 192) */
"iii\0"
"glTexGeni\0"
"\0"
- /* _mesa_function_pool[17001]: TexGenf (offset 190) */
+ /* _mesa_function_pool[17191]: TexGenf (offset 190) */
"iif\0"
"glTexGenf\0"
"\0"
- /* _mesa_function_pool[17016]: Uniform3fARB (will be remapped) */
+ /* _mesa_function_pool[17206]: Uniform3fARB (will be remapped) */
"ifff\0"
"glUniform3f\0"
"glUniform3fARB\0"
"\0"
- /* _mesa_function_pool[17049]: TexGend (offset 188) */
+ /* _mesa_function_pool[17239]: TexGend (offset 188) */
"iid\0"
"glTexGend\0"
"\0"
- /* _mesa_function_pool[17064]: ListParameterfvSGIX (dynamic) */
+ /* _mesa_function_pool[17254]: ListParameterfvSGIX (dynamic) */
"iip\0"
"glListParameterfvSGIX\0"
"\0"
- /* _mesa_function_pool[17091]: GetPolygonStipple (offset 274) */
+ /* _mesa_function_pool[17281]: GetPolygonStipple (offset 274) */
"p\0"
"glGetPolygonStipple\0"
"\0"
- /* _mesa_function_pool[17114]: Tangent3dvEXT (dynamic) */
+ /* _mesa_function_pool[17304]: Tangent3dvEXT (dynamic) */
"p\0"
"glTangent3dvEXT\0"
"\0"
- /* _mesa_function_pool[17133]: BindBufferOffsetEXT (will be remapped) */
+ /* _mesa_function_pool[17323]: BindBufferOffsetEXT (will be remapped) */
"iiii\0"
"glBindBufferOffsetEXT\0"
"\0"
- /* _mesa_function_pool[17161]: WindowPos3sMESA (will be remapped) */
+ /* _mesa_function_pool[17351]: WindowPos3sMESA (will be remapped) */
"iii\0"
"glWindowPos3s\0"
"glWindowPos3sARB\0"
"glWindowPos3sMESA\0"
"\0"
- /* _mesa_function_pool[17215]: VertexAttrib2svNV (will be remapped) */
+ /* _mesa_function_pool[17405]: VertexAttrib2svNV (will be remapped) */
"ip\0"
"glVertexAttrib2svNV\0"
"\0"
- /* _mesa_function_pool[17239]: DisableIndexedEXT (will be remapped) */
+ /* _mesa_function_pool[17429]: DisableIndexedEXT (will be remapped) */
"ii\0"
"glDisableIndexedEXT\0"
"\0"
- /* _mesa_function_pool[17263]: BindBufferBaseEXT (will be remapped) */
+ /* _mesa_function_pool[17453]: BindBufferBaseEXT (will be remapped) */
"iii\0"
"glBindBufferBaseEXT\0"
"glBindBufferBase\0"
"\0"
- /* _mesa_function_pool[17305]: TexCoord2fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[17495]: TexCoord2fVertex3fvSUN (dynamic) */
"pp\0"
"glTexCoord2fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[17334]: WindowPos4sMESA (will be remapped) */
+ /* _mesa_function_pool[17524]: WindowPos4sMESA (will be remapped) */
"iiii\0"
"glWindowPos4sMESA\0"
"\0"
- /* _mesa_function_pool[17358]: VertexAttrib4NuivARB (will be remapped) */
+ /* _mesa_function_pool[17548]: VertexAttrib4NuivARB (will be remapped) */
"ip\0"
"glVertexAttrib4Nuiv\0"
"glVertexAttrib4NuivARB\0"
"\0"
- /* _mesa_function_pool[17405]: ClientActiveTextureARB (offset 375) */
+ /* _mesa_function_pool[17595]: ClientActiveTextureARB (offset 375) */
"i\0"
"glClientActiveTexture\0"
"glClientActiveTextureARB\0"
"\0"
- /* _mesa_function_pool[17455]: PixelTexGenSGIX (will be remapped) */
+ /* _mesa_function_pool[17645]: PixelTexGenSGIX (will be remapped) */
"i\0"
"glPixelTexGenSGIX\0"
"\0"
- /* _mesa_function_pool[17476]: ReplacementCodeusvSUN (dynamic) */
+ /* _mesa_function_pool[17666]: ReplacementCodeusvSUN (dynamic) */
"p\0"
"glReplacementCodeusvSUN\0"
"\0"
- /* _mesa_function_pool[17503]: Uniform4fARB (will be remapped) */
+ /* _mesa_function_pool[17693]: Uniform4fARB (will be remapped) */
"iffff\0"
"glUniform4f\0"
"glUniform4fARB\0"
"\0"
- /* _mesa_function_pool[17537]: Color4sv (offset 34) */
+ /* _mesa_function_pool[17727]: Color4sv (offset 34) */
"p\0"
"glColor4sv\0"
"\0"
- /* _mesa_function_pool[17551]: FlushMappedBufferRange (will be remapped) */
+ /* _mesa_function_pool[17741]: FlushMappedBufferRange (will be remapped) */
"iii\0"
"glFlushMappedBufferRange\0"
"\0"
- /* _mesa_function_pool[17581]: IsProgramNV (will be remapped) */
+ /* _mesa_function_pool[17771]: IsProgramNV (will be remapped) */
"i\0"
"glIsProgramARB\0"
"glIsProgramNV\0"
"\0"
- /* _mesa_function_pool[17613]: FlushMappedBufferRangeAPPLE (will be remapped) */
+ /* _mesa_function_pool[17803]: FlushMappedBufferRangeAPPLE (will be remapped) */
"iii\0"
"glFlushMappedBufferRangeAPPLE\0"
"\0"
- /* _mesa_function_pool[17648]: PixelZoom (offset 246) */
+ /* _mesa_function_pool[17838]: PixelZoom (offset 246) */
"ff\0"
"glPixelZoom\0"
"\0"
- /* _mesa_function_pool[17664]: ReplacementCodePointerSUN (dynamic) */
+ /* _mesa_function_pool[17854]: ReplacementCodePointerSUN (dynamic) */
"iip\0"
"glReplacementCodePointerSUN\0"
"\0"
- /* _mesa_function_pool[17697]: ProgramEnvParameter4dARB (will be remapped) */
+ /* _mesa_function_pool[17887]: ProgramEnvParameter4dARB (will be remapped) */
"iidddd\0"
"glProgramEnvParameter4dARB\0"
"glProgramParameter4dNV\0"
"\0"
- /* _mesa_function_pool[17755]: ColorTableParameterfv (offset 340) */
+ /* _mesa_function_pool[17945]: ColorTableParameterfv (offset 340) */
"iip\0"
"glColorTableParameterfv\0"
"glColorTableParameterfvSGI\0"
"\0"
- /* _mesa_function_pool[17811]: FragmentLightModelfSGIX (dynamic) */
+ /* _mesa_function_pool[18001]: FragmentLightModelfSGIX (dynamic) */
"if\0"
"glFragmentLightModelfSGIX\0"
"\0"
- /* _mesa_function_pool[17841]: Binormal3bvEXT (dynamic) */
+ /* _mesa_function_pool[18031]: Binormal3bvEXT (dynamic) */
"p\0"
"glBinormal3bvEXT\0"
"\0"
- /* _mesa_function_pool[17861]: PixelMapuiv (offset 252) */
+ /* _mesa_function_pool[18051]: PixelMapuiv (offset 252) */
"iip\0"
"glPixelMapuiv\0"
"\0"
- /* _mesa_function_pool[17880]: Color3dv (offset 12) */
+ /* _mesa_function_pool[18070]: Color3dv (offset 12) */
"p\0"
"glColor3dv\0"
"\0"
- /* _mesa_function_pool[17894]: IsTexture (offset 330) */
+ /* _mesa_function_pool[18084]: IsTexture (offset 330) */
"i\0"
"glIsTexture\0"
"glIsTextureEXT\0"
"\0"
- /* _mesa_function_pool[17924]: VertexWeightfvEXT (dynamic) */
+ /* _mesa_function_pool[18114]: VertexWeightfvEXT (dynamic) */
"p\0"
"glVertexWeightfvEXT\0"
"\0"
- /* _mesa_function_pool[17947]: VertexAttrib1dARB (will be remapped) */
+ /* _mesa_function_pool[18137]: VertexAttrib1dARB (will be remapped) */
"id\0"
"glVertexAttrib1d\0"
"glVertexAttrib1dARB\0"
"\0"
- /* _mesa_function_pool[17988]: ImageTransformParameterivHP (dynamic) */
+ /* _mesa_function_pool[18178]: ImageTransformParameterivHP (dynamic) */
"iip\0"
"glImageTransformParameterivHP\0"
"\0"
- /* _mesa_function_pool[18023]: TexCoord4i (offset 122) */
+ /* _mesa_function_pool[18213]: TexCoord4i (offset 122) */
"iiii\0"
"glTexCoord4i\0"
"\0"
- /* _mesa_function_pool[18042]: DeleteQueriesARB (will be remapped) */
+ /* _mesa_function_pool[18232]: DeleteQueriesARB (will be remapped) */
"ip\0"
"glDeleteQueries\0"
"glDeleteQueriesARB\0"
"\0"
- /* _mesa_function_pool[18081]: Color4ubVertex2fSUN (dynamic) */
+ /* _mesa_function_pool[18271]: Color4ubVertex2fSUN (dynamic) */
"iiiiff\0"
"glColor4ubVertex2fSUN\0"
"\0"
- /* _mesa_function_pool[18111]: FragmentColorMaterialSGIX (dynamic) */
+ /* _mesa_function_pool[18301]: FragmentColorMaterialSGIX (dynamic) */
"ii\0"
"glFragmentColorMaterialSGIX\0"
"\0"
- /* _mesa_function_pool[18143]: CurrentPaletteMatrixARB (dynamic) */
+ /* _mesa_function_pool[18333]: CurrentPaletteMatrixARB (dynamic) */
"i\0"
"glCurrentPaletteMatrixARB\0"
"\0"
- /* _mesa_function_pool[18172]: GetMapdv (offset 266) */
+ /* _mesa_function_pool[18362]: GetMapdv (offset 266) */
"iip\0"
"glGetMapdv\0"
"\0"
- /* _mesa_function_pool[18188]: ObjectPurgeableAPPLE (will be remapped) */
+ /* _mesa_function_pool[18378]: ObjectPurgeableAPPLE (will be remapped) */
"iii\0"
"glObjectPurgeableAPPLE\0"
"\0"
- /* _mesa_function_pool[18216]: SamplePatternSGIS (will be remapped) */
+ /* _mesa_function_pool[18406]: SamplePatternSGIS (will be remapped) */
"i\0"
"glSamplePatternSGIS\0"
"glSamplePatternEXT\0"
"\0"
- /* _mesa_function_pool[18258]: PixelStoref (offset 249) */
+ /* _mesa_function_pool[18448]: PixelStoref (offset 249) */
"if\0"
"glPixelStoref\0"
"\0"
- /* _mesa_function_pool[18276]: IsQueryARB (will be remapped) */
+ /* _mesa_function_pool[18466]: IsQueryARB (will be remapped) */
"i\0"
"glIsQuery\0"
"glIsQueryARB\0"
"\0"
- /* _mesa_function_pool[18302]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[18492]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */
"iiiiifff\0"
"glReplacementCodeuiColor4ubVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[18351]: PixelStorei (offset 250) */
+ /* _mesa_function_pool[18541]: PixelStorei (offset 250) */
"ii\0"
"glPixelStorei\0"
"\0"
- /* _mesa_function_pool[18369]: VertexAttrib4usvARB (will be remapped) */
+ /* _mesa_function_pool[18559]: VertexAttrib4usvARB (will be remapped) */
"ip\0"
"glVertexAttrib4usv\0"
"glVertexAttrib4usvARB\0"
"\0"
- /* _mesa_function_pool[18414]: LinkProgramARB (will be remapped) */
+ /* _mesa_function_pool[18604]: LinkProgramARB (will be remapped) */
"i\0"
"glLinkProgram\0"
"glLinkProgramARB\0"
"\0"
- /* _mesa_function_pool[18448]: VertexAttrib2fNV (will be remapped) */
+ /* _mesa_function_pool[18638]: VertexAttrib2fNV (will be remapped) */
"iff\0"
"glVertexAttrib2fNV\0"
"\0"
- /* _mesa_function_pool[18472]: ShaderSourceARB (will be remapped) */
+ /* _mesa_function_pool[18662]: ShaderSourceARB (will be remapped) */
"iipp\0"
"glShaderSource\0"
"glShaderSourceARB\0"
"\0"
- /* _mesa_function_pool[18511]: FragmentMaterialiSGIX (dynamic) */
+ /* _mesa_function_pool[18701]: FragmentMaterialiSGIX (dynamic) */
"iii\0"
"glFragmentMaterialiSGIX\0"
"\0"
- /* _mesa_function_pool[18540]: EvalCoord2dv (offset 233) */
+ /* _mesa_function_pool[18730]: EvalCoord2dv (offset 233) */
"p\0"
"glEvalCoord2dv\0"
"\0"
- /* _mesa_function_pool[18558]: VertexAttrib3svARB (will be remapped) */
+ /* _mesa_function_pool[18748]: VertexAttrib3svARB (will be remapped) */
"ip\0"
"glVertexAttrib3sv\0"
"glVertexAttrib3svARB\0"
"\0"
- /* _mesa_function_pool[18601]: ColorMaterial (offset 151) */
+ /* _mesa_function_pool[18791]: ColorMaterial (offset 151) */
"ii\0"
"glColorMaterial\0"
"\0"
- /* _mesa_function_pool[18621]: CompressedTexSubImage3DARB (will be remapped) */
+ /* _mesa_function_pool[18811]: CompressedTexSubImage3DARB (will be remapped) */
"iiiiiiiiiip\0"
"glCompressedTexSubImage3D\0"
"glCompressedTexSubImage3DARB\0"
"\0"
- /* _mesa_function_pool[18689]: WindowPos2ivMESA (will be remapped) */
+ /* _mesa_function_pool[18879]: WindowPos2ivMESA (will be remapped) */
"p\0"
"glWindowPos2iv\0"
"glWindowPos2ivARB\0"
"glWindowPos2ivMESA\0"
"\0"
- /* _mesa_function_pool[18744]: IsFramebufferEXT (will be remapped) */
+ /* _mesa_function_pool[18934]: IsFramebufferEXT (will be remapped) */
"i\0"
"glIsFramebuffer\0"
"glIsFramebufferEXT\0"
"\0"
- /* _mesa_function_pool[18782]: Uniform4ivARB (will be remapped) */
+ /* _mesa_function_pool[18972]: Uniform4ivARB (will be remapped) */
"iip\0"
"glUniform4iv\0"
"glUniform4ivARB\0"
"\0"
- /* _mesa_function_pool[18816]: GetVertexAttribdvARB (will be remapped) */
+ /* _mesa_function_pool[19006]: GetVertexAttribdvARB (will be remapped) */
"iip\0"
"glGetVertexAttribdv\0"
"glGetVertexAttribdvARB\0"
"\0"
- /* _mesa_function_pool[18864]: TexBumpParameterivATI (will be remapped) */
+ /* _mesa_function_pool[19054]: TexBumpParameterivATI (will be remapped) */
"ip\0"
"glTexBumpParameterivATI\0"
"\0"
- /* _mesa_function_pool[18892]: GetSeparableFilter (offset 359) */
+ /* _mesa_function_pool[19082]: GetSeparableFilter (offset 359) */
"iiippp\0"
"glGetSeparableFilter\0"
"glGetSeparableFilterEXT\0"
"\0"
- /* _mesa_function_pool[18945]: Binormal3dEXT (dynamic) */
+ /* _mesa_function_pool[19135]: Binormal3dEXT (dynamic) */
"ddd\0"
"glBinormal3dEXT\0"
"\0"
- /* _mesa_function_pool[18966]: SpriteParameteriSGIX (dynamic) */
+ /* _mesa_function_pool[19156]: SpriteParameteriSGIX (dynamic) */
"ii\0"
"glSpriteParameteriSGIX\0"
"\0"
- /* _mesa_function_pool[18993]: RequestResidentProgramsNV (will be remapped) */
+ /* _mesa_function_pool[19183]: RequestResidentProgramsNV (will be remapped) */
"ip\0"
"glRequestResidentProgramsNV\0"
"\0"
- /* _mesa_function_pool[19025]: TagSampleBufferSGIX (dynamic) */
+ /* _mesa_function_pool[19215]: TagSampleBufferSGIX (dynamic) */
"\0"
"glTagSampleBufferSGIX\0"
"\0"
- /* _mesa_function_pool[19049]: TransformFeedbackVaryingsEXT (will be remapped) */
+ /* _mesa_function_pool[19239]: TransformFeedbackVaryingsEXT (will be remapped) */
"iipi\0"
"glTransformFeedbackVaryingsEXT\0"
"glTransformFeedbackVaryings\0"
"\0"
- /* _mesa_function_pool[19114]: FeedbackBuffer (offset 194) */
+ /* _mesa_function_pool[19304]: FeedbackBuffer (offset 194) */
"iip\0"
"glFeedbackBuffer\0"
"\0"
- /* _mesa_function_pool[19136]: RasterPos2iv (offset 67) */
+ /* _mesa_function_pool[19326]: RasterPos2iv (offset 67) */
"p\0"
"glRasterPos2iv\0"
"\0"
- /* _mesa_function_pool[19154]: TexImage1D (offset 182) */
+ /* _mesa_function_pool[19344]: TexImage1D (offset 182) */
"iiiiiiip\0"
"glTexImage1D\0"
"\0"
- /* _mesa_function_pool[19177]: ListParameterivSGIX (dynamic) */
+ /* _mesa_function_pool[19367]: ListParameterivSGIX (dynamic) */
"iip\0"
"glListParameterivSGIX\0"
"\0"
- /* _mesa_function_pool[19204]: MultiDrawElementsEXT (will be remapped) */
+ /* _mesa_function_pool[19394]: MultiDrawElementsEXT (will be remapped) */
"ipipi\0"
"glMultiDrawElements\0"
"glMultiDrawElementsEXT\0"
"\0"
- /* _mesa_function_pool[19254]: Color3s (offset 17) */
+ /* _mesa_function_pool[19444]: Color3s (offset 17) */
"iii\0"
"glColor3s\0"
"\0"
- /* _mesa_function_pool[19269]: Uniform1ivARB (will be remapped) */
+ /* _mesa_function_pool[19459]: Uniform1ivARB (will be remapped) */
"iip\0"
"glUniform1iv\0"
"glUniform1ivARB\0"
"\0"
- /* _mesa_function_pool[19303]: WindowPos2sMESA (will be remapped) */
+ /* _mesa_function_pool[19493]: WindowPos2sMESA (will be remapped) */
"ii\0"
"glWindowPos2s\0"
"glWindowPos2sARB\0"
"glWindowPos2sMESA\0"
"\0"
- /* _mesa_function_pool[19356]: WeightusvARB (dynamic) */
+ /* _mesa_function_pool[19546]: WeightusvARB (dynamic) */
"ip\0"
"glWeightusvARB\0"
"\0"
- /* _mesa_function_pool[19375]: TexCoordPointer (offset 320) */
+ /* _mesa_function_pool[19565]: TexCoordPointer (offset 320) */
"iiip\0"
"glTexCoordPointer\0"
"\0"
- /* _mesa_function_pool[19399]: FogCoordPointerEXT (will be remapped) */
+ /* _mesa_function_pool[19589]: FogCoordPointerEXT (will be remapped) */
"iip\0"
"glFogCoordPointer\0"
"glFogCoordPointerEXT\0"
"\0"
- /* _mesa_function_pool[19443]: IndexMaterialEXT (dynamic) */
+ /* _mesa_function_pool[19633]: IndexMaterialEXT (dynamic) */
"ii\0"
"glIndexMaterialEXT\0"
"\0"
- /* _mesa_function_pool[19466]: Color3i (offset 15) */
+ /* _mesa_function_pool[19656]: Color3i (offset 15) */
"iii\0"
"glColor3i\0"
"\0"
- /* _mesa_function_pool[19481]: FrontFace (offset 157) */
+ /* _mesa_function_pool[19671]: FrontFace (offset 157) */
"i\0"
"glFrontFace\0"
"\0"
- /* _mesa_function_pool[19496]: EvalCoord2d (offset 232) */
+ /* _mesa_function_pool[19686]: EvalCoord2d (offset 232) */
"dd\0"
"glEvalCoord2d\0"
"\0"
- /* _mesa_function_pool[19514]: SecondaryColor3ubvEXT (will be remapped) */
+ /* _mesa_function_pool[19704]: SecondaryColor3ubvEXT (will be remapped) */
"p\0"
"glSecondaryColor3ubv\0"
"glSecondaryColor3ubvEXT\0"
"\0"
- /* _mesa_function_pool[19562]: EvalCoord2f (offset 234) */
+ /* _mesa_function_pool[19752]: EvalCoord2f (offset 234) */
"ff\0"
"glEvalCoord2f\0"
"\0"
- /* _mesa_function_pool[19580]: VertexAttrib4dvARB (will be remapped) */
+ /* _mesa_function_pool[19770]: VertexAttrib4dvARB (will be remapped) */
"ip\0"
"glVertexAttrib4dv\0"
"glVertexAttrib4dvARB\0"
"\0"
- /* _mesa_function_pool[19623]: BindAttribLocationARB (will be remapped) */
+ /* _mesa_function_pool[19813]: BindAttribLocationARB (will be remapped) */
"iip\0"
"glBindAttribLocation\0"
"glBindAttribLocationARB\0"
"\0"
- /* _mesa_function_pool[19673]: Color3b (offset 9) */
+ /* _mesa_function_pool[19863]: Color3b (offset 9) */
"iii\0"
"glColor3b\0"
"\0"
- /* _mesa_function_pool[19688]: MultiTexCoord2dARB (offset 384) */
+ /* _mesa_function_pool[19878]: MultiTexCoord2dARB (offset 384) */
"idd\0"
"glMultiTexCoord2d\0"
"glMultiTexCoord2dARB\0"
"\0"
- /* _mesa_function_pool[19732]: ExecuteProgramNV (will be remapped) */
+ /* _mesa_function_pool[19922]: ExecuteProgramNV (will be remapped) */
"iip\0"
"glExecuteProgramNV\0"
"\0"
- /* _mesa_function_pool[19756]: Color3f (offset 13) */
+ /* _mesa_function_pool[19946]: Color3f (offset 13) */
"fff\0"
"glColor3f\0"
"\0"
- /* _mesa_function_pool[19771]: LightEnviSGIX (dynamic) */
+ /* _mesa_function_pool[19961]: LightEnviSGIX (dynamic) */
"ii\0"
"glLightEnviSGIX\0"
"\0"
- /* _mesa_function_pool[19791]: Color3d (offset 11) */
+ /* _mesa_function_pool[19981]: Color3d (offset 11) */
"ddd\0"
"glColor3d\0"
"\0"
- /* _mesa_function_pool[19806]: Normal3dv (offset 55) */
+ /* _mesa_function_pool[19996]: Normal3dv (offset 55) */
"p\0"
"glNormal3dv\0"
"\0"
- /* _mesa_function_pool[19821]: Lightf (offset 159) */
+ /* _mesa_function_pool[20011]: Lightf (offset 159) */
"iif\0"
"glLightf\0"
"\0"
- /* _mesa_function_pool[19835]: ReplacementCodeuiSUN (dynamic) */
+ /* _mesa_function_pool[20025]: ReplacementCodeuiSUN (dynamic) */
"i\0"
"glReplacementCodeuiSUN\0"
"\0"
- /* _mesa_function_pool[19861]: MatrixMode (offset 293) */
+ /* _mesa_function_pool[20051]: MatrixMode (offset 293) */
"i\0"
"glMatrixMode\0"
"\0"
- /* _mesa_function_pool[19877]: GetPixelMapusv (offset 273) */
+ /* _mesa_function_pool[20067]: GetPixelMapusv (offset 273) */
"ip\0"
"glGetPixelMapusv\0"
"\0"
- /* _mesa_function_pool[19898]: Lighti (offset 161) */
+ /* _mesa_function_pool[20088]: Lighti (offset 161) */
"iii\0"
"glLighti\0"
"\0"
- /* _mesa_function_pool[19912]: VertexAttribPointerNV (will be remapped) */
+ /* _mesa_function_pool[20102]: VertexAttribPointerNV (will be remapped) */
"iiiip\0"
"glVertexAttribPointerNV\0"
"\0"
- /* _mesa_function_pool[19943]: ProgramLocalParameters4fvEXT (will be remapped) */
+ /* _mesa_function_pool[20133]: ProgramLocalParameters4fvEXT (will be remapped) */
"iiip\0"
"glProgramLocalParameters4fvEXT\0"
"\0"
- /* _mesa_function_pool[19980]: GetBooleanIndexedvEXT (will be remapped) */
+ /* _mesa_function_pool[20170]: GetBooleanIndexedvEXT (will be remapped) */
"iip\0"
"glGetBooleanIndexedvEXT\0"
"\0"
- /* _mesa_function_pool[20009]: GetFramebufferAttachmentParameterivEXT (will be remapped) */
+ /* _mesa_function_pool[20199]: GetFramebufferAttachmentParameterivEXT (will be remapped) */
"iiip\0"
"glGetFramebufferAttachmentParameteriv\0"
"glGetFramebufferAttachmentParameterivEXT\0"
"\0"
- /* _mesa_function_pool[20094]: PixelTransformParameterfEXT (dynamic) */
+ /* _mesa_function_pool[20284]: PixelTransformParameterfEXT (dynamic) */
"iif\0"
"glPixelTransformParameterfEXT\0"
"\0"
- /* _mesa_function_pool[20129]: MultiTexCoord4dvARB (offset 401) */
+ /* _mesa_function_pool[20319]: MultiTexCoord4dvARB (offset 401) */
"ip\0"
"glMultiTexCoord4dv\0"
"glMultiTexCoord4dvARB\0"
"\0"
- /* _mesa_function_pool[20174]: PixelTransformParameteriEXT (dynamic) */
+ /* _mesa_function_pool[20364]: PixelTransformParameteriEXT (dynamic) */
"iii\0"
"glPixelTransformParameteriEXT\0"
"\0"
- /* _mesa_function_pool[20209]: GetDoublev (offset 260) */
+ /* _mesa_function_pool[20399]: GetDoublev (offset 260) */
"ip\0"
"glGetDoublev\0"
"\0"
- /* _mesa_function_pool[20226]: MultMatrixd (offset 295) */
+ /* _mesa_function_pool[20416]: MultMatrixd (offset 295) */
"p\0"
"glMultMatrixd\0"
"\0"
- /* _mesa_function_pool[20243]: MultMatrixf (offset 294) */
+ /* _mesa_function_pool[20433]: MultMatrixf (offset 294) */
"p\0"
"glMultMatrixf\0"
"\0"
- /* _mesa_function_pool[20260]: TexCoord2fColor4ubVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[20450]: TexCoord2fColor4ubVertex3fSUN (dynamic) */
"ffiiiifff\0"
"glTexCoord2fColor4ubVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[20303]: Uniform1iARB (will be remapped) */
+ /* _mesa_function_pool[20493]: Uniform1iARB (will be remapped) */
"ii\0"
"glUniform1i\0"
"glUniform1iARB\0"
"\0"
- /* _mesa_function_pool[20334]: VertexAttribPointerARB (will be remapped) */
+ /* _mesa_function_pool[20524]: VertexAttribPointerARB (will be remapped) */
"iiiiip\0"
"glVertexAttribPointer\0"
"glVertexAttribPointerARB\0"
"\0"
- /* _mesa_function_pool[20389]: VertexAttrib3sNV (will be remapped) */
+ /* _mesa_function_pool[20579]: VertexAttrib3sNV (will be remapped) */
"iiii\0"
"glVertexAttrib3sNV\0"
"\0"
- /* _mesa_function_pool[20414]: SharpenTexFuncSGIS (dynamic) */
+ /* _mesa_function_pool[20604]: SharpenTexFuncSGIS (dynamic) */
"iip\0"
"glSharpenTexFuncSGIS\0"
"\0"
- /* _mesa_function_pool[20440]: MultiTexCoord4fvARB (offset 403) */
+ /* _mesa_function_pool[20630]: MultiTexCoord4fvARB (offset 403) */
"ip\0"
"glMultiTexCoord4fv\0"
"glMultiTexCoord4fvARB\0"
"\0"
- /* _mesa_function_pool[20485]: UniformMatrix2x3fv (will be remapped) */
+ /* _mesa_function_pool[20675]: UniformMatrix2x3fv (will be remapped) */
"iiip\0"
"glUniformMatrix2x3fv\0"
"\0"
- /* _mesa_function_pool[20512]: TrackMatrixNV (will be remapped) */
+ /* _mesa_function_pool[20702]: TrackMatrixNV (will be remapped) */
"iiii\0"
"glTrackMatrixNV\0"
"\0"
- /* _mesa_function_pool[20534]: CombinerParameteriNV (will be remapped) */
+ /* _mesa_function_pool[20724]: CombinerParameteriNV (will be remapped) */
"ii\0"
"glCombinerParameteriNV\0"
"\0"
- /* _mesa_function_pool[20561]: DeleteAsyncMarkersSGIX (dynamic) */
+ /* _mesa_function_pool[20751]: DeleteAsyncMarkersSGIX (dynamic) */
"ii\0"
"glDeleteAsyncMarkersSGIX\0"
"\0"
- /* _mesa_function_pool[20590]: ReplacementCodeusSUN (dynamic) */
+ /* _mesa_function_pool[20780]: ReplacementCodeusSUN (dynamic) */
"i\0"
"glReplacementCodeusSUN\0"
"\0"
- /* _mesa_function_pool[20616]: IsAsyncMarkerSGIX (dynamic) */
+ /* _mesa_function_pool[20806]: IsAsyncMarkerSGIX (dynamic) */
"i\0"
"glIsAsyncMarkerSGIX\0"
"\0"
- /* _mesa_function_pool[20639]: FrameZoomSGIX (dynamic) */
+ /* _mesa_function_pool[20829]: FrameZoomSGIX (dynamic) */
"i\0"
"glFrameZoomSGIX\0"
"\0"
- /* _mesa_function_pool[20658]: Normal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[20848]: Normal3fVertex3fvSUN (dynamic) */
"pp\0"
"glNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[20685]: RasterPos4sv (offset 85) */
+ /* _mesa_function_pool[20875]: RasterPos4sv (offset 85) */
"p\0"
"glRasterPos4sv\0"
"\0"
- /* _mesa_function_pool[20703]: VertexAttrib4NsvARB (will be remapped) */
+ /* _mesa_function_pool[20893]: VertexAttrib4NsvARB (will be remapped) */
"ip\0"
"glVertexAttrib4Nsv\0"
"glVertexAttrib4NsvARB\0"
"\0"
- /* _mesa_function_pool[20748]: VertexAttrib3fvARB (will be remapped) */
+ /* _mesa_function_pool[20938]: VertexAttrib3fvARB (will be remapped) */
"ip\0"
"glVertexAttrib3fv\0"
"glVertexAttrib3fvARB\0"
"\0"
- /* _mesa_function_pool[20791]: ClearColor (offset 206) */
+ /* _mesa_function_pool[20981]: ClearColor (offset 206) */
"ffff\0"
"glClearColor\0"
"\0"
- /* _mesa_function_pool[20810]: GetSynciv (will be remapped) */
+ /* _mesa_function_pool[21000]: GetSynciv (will be remapped) */
"iiipp\0"
"glGetSynciv\0"
"\0"
- /* _mesa_function_pool[20829]: DeleteFramebuffersEXT (will be remapped) */
+ /* _mesa_function_pool[21019]: ClearColorIiEXT (will be remapped) */
+ "iiii\0"
+ "glClearColorIiEXT\0"
+ "\0"
+ /* _mesa_function_pool[21043]: DeleteFramebuffersEXT (will be remapped) */
"ip\0"
"glDeleteFramebuffers\0"
"glDeleteFramebuffersEXT\0"
"\0"
- /* _mesa_function_pool[20878]: GlobalAlphaFactorsSUN (dynamic) */
+ /* _mesa_function_pool[21092]: GlobalAlphaFactorsSUN (dynamic) */
"i\0"
"glGlobalAlphaFactorsSUN\0"
"\0"
- /* _mesa_function_pool[20905]: IsEnabledIndexedEXT (will be remapped) */
+ /* _mesa_function_pool[21119]: IsEnabledIndexedEXT (will be remapped) */
"ii\0"
"glIsEnabledIndexedEXT\0"
"\0"
- /* _mesa_function_pool[20931]: TexEnviv (offset 187) */
+ /* _mesa_function_pool[21145]: TexEnviv (offset 187) */
"iip\0"
"glTexEnviv\0"
"\0"
- /* _mesa_function_pool[20947]: TexSubImage3D (offset 372) */
+ /* _mesa_function_pool[21161]: TexSubImage3D (offset 372) */
"iiiiiiiiiip\0"
"glTexSubImage3D\0"
"glTexSubImage3DEXT\0"
"\0"
- /* _mesa_function_pool[20995]: Tangent3fEXT (dynamic) */
+ /* _mesa_function_pool[21209]: Tangent3fEXT (dynamic) */
"fff\0"
"glTangent3fEXT\0"
"\0"
- /* _mesa_function_pool[21015]: SecondaryColor3uivEXT (will be remapped) */
+ /* _mesa_function_pool[21229]: SecondaryColor3uivEXT (will be remapped) */
"p\0"
"glSecondaryColor3uiv\0"
"glSecondaryColor3uivEXT\0"
"\0"
- /* _mesa_function_pool[21063]: MatrixIndexubvARB (dynamic) */
+ /* _mesa_function_pool[21277]: MatrixIndexubvARB (dynamic) */
"ip\0"
"glMatrixIndexubvARB\0"
"\0"
- /* _mesa_function_pool[21087]: Color4fNormal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[21301]: Color4fNormal3fVertex3fSUN (dynamic) */
"ffffffffff\0"
"glColor4fNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[21128]: PixelTexGenParameterfSGIS (will be remapped) */
+ /* _mesa_function_pool[21342]: PixelTexGenParameterfSGIS (will be remapped) */
"if\0"
"glPixelTexGenParameterfSGIS\0"
"\0"
- /* _mesa_function_pool[21160]: CreateShader (will be remapped) */
+ /* _mesa_function_pool[21374]: CreateShader (will be remapped) */
"i\0"
"glCreateShader\0"
"\0"
- /* _mesa_function_pool[21178]: GetColorTableParameterfv (offset 344) */
+ /* _mesa_function_pool[21392]: GetColorTableParameterfv (offset 344) */
"iip\0"
"glGetColorTableParameterfv\0"
"glGetColorTableParameterfvSGI\0"
"glGetColorTableParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[21270]: FragmentLightModelfvSGIX (dynamic) */
+ /* _mesa_function_pool[21484]: FragmentLightModelfvSGIX (dynamic) */
"ip\0"
"glFragmentLightModelfvSGIX\0"
"\0"
- /* _mesa_function_pool[21301]: Bitmap (offset 8) */
+ /* _mesa_function_pool[21515]: Bitmap (offset 8) */
"iiffffp\0"
"glBitmap\0"
"\0"
- /* _mesa_function_pool[21319]: MultiTexCoord3fARB (offset 394) */
+ /* _mesa_function_pool[21533]: MultiTexCoord3fARB (offset 394) */
"ifff\0"
"glMultiTexCoord3f\0"
"glMultiTexCoord3fARB\0"
"\0"
- /* _mesa_function_pool[21364]: GetTexLevelParameterfv (offset 284) */
+ /* _mesa_function_pool[21578]: GetTexLevelParameterfv (offset 284) */
"iiip\0"
"glGetTexLevelParameterfv\0"
"\0"
- /* _mesa_function_pool[21395]: GetPixelTexGenParameterfvSGIS (will be remapped) */
+ /* _mesa_function_pool[21609]: GetPixelTexGenParameterfvSGIS (will be remapped) */
"ip\0"
"glGetPixelTexGenParameterfvSGIS\0"
"\0"
- /* _mesa_function_pool[21431]: GenFramebuffersEXT (will be remapped) */
+ /* _mesa_function_pool[21645]: GenFramebuffersEXT (will be remapped) */
"ip\0"
"glGenFramebuffers\0"
"glGenFramebuffersEXT\0"
"\0"
- /* _mesa_function_pool[21474]: GetProgramParameterdvNV (will be remapped) */
+ /* _mesa_function_pool[21688]: GetProgramParameterdvNV (will be remapped) */
"iiip\0"
"glGetProgramParameterdvNV\0"
"\0"
- /* _mesa_function_pool[21506]: Vertex2sv (offset 133) */
+ /* _mesa_function_pool[21720]: Vertex2sv (offset 133) */
"p\0"
"glVertex2sv\0"
"\0"
- /* _mesa_function_pool[21521]: GetIntegerv (offset 263) */
+ /* _mesa_function_pool[21735]: GetIntegerv (offset 263) */
"ip\0"
"glGetIntegerv\0"
"\0"
- /* _mesa_function_pool[21539]: IsVertexArrayAPPLE (will be remapped) */
+ /* _mesa_function_pool[21753]: IsVertexArrayAPPLE (will be remapped) */
"i\0"
"glIsVertexArray\0"
"glIsVertexArrayAPPLE\0"
"\0"
- /* _mesa_function_pool[21579]: FragmentLightfvSGIX (dynamic) */
+ /* _mesa_function_pool[21793]: FragmentLightfvSGIX (dynamic) */
"iip\0"
"glFragmentLightfvSGIX\0"
"\0"
- /* _mesa_function_pool[21606]: DetachShader (will be remapped) */
+ /* _mesa_function_pool[21820]: DetachShader (will be remapped) */
"ii\0"
"glDetachShader\0"
"\0"
- /* _mesa_function_pool[21625]: VertexAttrib4NubARB (will be remapped) */
+ /* _mesa_function_pool[21839]: VertexAttrib4NubARB (will be remapped) */
"iiiii\0"
"glVertexAttrib4Nub\0"
"glVertexAttrib4NubARB\0"
"\0"
- /* _mesa_function_pool[21673]: GetProgramEnvParameterfvARB (will be remapped) */
+ /* _mesa_function_pool[21887]: GetProgramEnvParameterfvARB (will be remapped) */
"iip\0"
"glGetProgramEnvParameterfvARB\0"
"\0"
- /* _mesa_function_pool[21708]: GetTrackMatrixivNV (will be remapped) */
+ /* _mesa_function_pool[21922]: GetTrackMatrixivNV (will be remapped) */
"iiip\0"
"glGetTrackMatrixivNV\0"
"\0"
- /* _mesa_function_pool[21735]: VertexAttrib3svNV (will be remapped) */
+ /* _mesa_function_pool[21949]: VertexAttrib3svNV (will be remapped) */
"ip\0"
"glVertexAttrib3svNV\0"
"\0"
- /* _mesa_function_pool[21759]: Uniform4fvARB (will be remapped) */
+ /* _mesa_function_pool[21973]: Uniform4fvARB (will be remapped) */
"iip\0"
"glUniform4fv\0"
"glUniform4fvARB\0"
"\0"
- /* _mesa_function_pool[21793]: MultTransposeMatrixfARB (will be remapped) */
+ /* _mesa_function_pool[22007]: MultTransposeMatrixfARB (will be remapped) */
"p\0"
"glMultTransposeMatrixf\0"
"glMultTransposeMatrixfARB\0"
"\0"
- /* _mesa_function_pool[21845]: GetTexEnviv (offset 277) */
+ /* _mesa_function_pool[22059]: GetTexEnviv (offset 277) */
"iip\0"
"glGetTexEnviv\0"
"\0"
- /* _mesa_function_pool[21864]: ColorFragmentOp1ATI (will be remapped) */
+ /* _mesa_function_pool[22078]: ColorFragmentOp1ATI (will be remapped) */
"iiiiiii\0"
"glColorFragmentOp1ATI\0"
"\0"
- /* _mesa_function_pool[21895]: GetUniformfvARB (will be remapped) */
+ /* _mesa_function_pool[22109]: GetUniformfvARB (will be remapped) */
"iip\0"
"glGetUniformfv\0"
"glGetUniformfvARB\0"
"\0"
- /* _mesa_function_pool[21933]: EGLImageTargetRenderbufferStorageOES (will be remapped) */
+ /* _mesa_function_pool[22147]: EGLImageTargetRenderbufferStorageOES (will be remapped) */
"ip\0"
"glEGLImageTargetRenderbufferStorageOES\0"
"\0"
- /* _mesa_function_pool[21976]: PopClientAttrib (offset 334) */
+ /* _mesa_function_pool[22190]: PopClientAttrib (offset 334) */
"\0"
"glPopClientAttrib\0"
"\0"
- /* _mesa_function_pool[21996]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[22210]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
"iffffffffffff\0"
"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[22067]: DetachObjectARB (will be remapped) */
+ /* _mesa_function_pool[22281]: DetachObjectARB (will be remapped) */
"ii\0"
"glDetachObjectARB\0"
"\0"
- /* _mesa_function_pool[22089]: VertexBlendARB (dynamic) */
+ /* _mesa_function_pool[22303]: VertexBlendARB (dynamic) */
"i\0"
"glVertexBlendARB\0"
"\0"
- /* _mesa_function_pool[22109]: WindowPos3iMESA (will be remapped) */
+ /* _mesa_function_pool[22323]: WindowPos3iMESA (will be remapped) */
"iii\0"
"glWindowPos3i\0"
"glWindowPos3iARB\0"
"glWindowPos3iMESA\0"
"\0"
- /* _mesa_function_pool[22163]: SeparableFilter2D (offset 360) */
+ /* _mesa_function_pool[22377]: SeparableFilter2D (offset 360) */
"iiiiiipp\0"
"glSeparableFilter2D\0"
"glSeparableFilter2DEXT\0"
"\0"
- /* _mesa_function_pool[22216]: ProgramParameteriARB (will be remapped) */
+ /* _mesa_function_pool[22430]: ProgramParameteriARB (will be remapped) */
"iii\0"
"glProgramParameteriARB\0"
"\0"
- /* _mesa_function_pool[22244]: Map1d (offset 220) */
+ /* _mesa_function_pool[22458]: Map1d (offset 220) */
"iddiip\0"
"glMap1d\0"
"\0"
- /* _mesa_function_pool[22260]: Map1f (offset 221) */
+ /* _mesa_function_pool[22474]: Map1f (offset 221) */
"iffiip\0"
"glMap1f\0"
"\0"
- /* _mesa_function_pool[22276]: CompressedTexImage2DARB (will be remapped) */
+ /* _mesa_function_pool[22490]: CompressedTexImage2DARB (will be remapped) */
"iiiiiiip\0"
"glCompressedTexImage2D\0"
"glCompressedTexImage2DARB\0"
"\0"
- /* _mesa_function_pool[22335]: ArrayElement (offset 306) */
+ /* _mesa_function_pool[22549]: ArrayElement (offset 306) */
"i\0"
"glArrayElement\0"
"glArrayElementEXT\0"
"\0"
- /* _mesa_function_pool[22371]: TexImage2D (offset 183) */
+ /* _mesa_function_pool[22585]: TexImage2D (offset 183) */
"iiiiiiiip\0"
"glTexImage2D\0"
"\0"
- /* _mesa_function_pool[22395]: DepthBoundsEXT (will be remapped) */
+ /* _mesa_function_pool[22609]: DepthBoundsEXT (will be remapped) */
"dd\0"
"glDepthBoundsEXT\0"
"\0"
- /* _mesa_function_pool[22416]: ProgramParameters4fvNV (will be remapped) */
+ /* _mesa_function_pool[22630]: ProgramParameters4fvNV (will be remapped) */
"iiip\0"
"glProgramParameters4fvNV\0"
"\0"
- /* _mesa_function_pool[22447]: DeformationMap3fSGIX (dynamic) */
+ /* _mesa_function_pool[22661]: DeformationMap3fSGIX (dynamic) */
"iffiiffiiffiip\0"
"glDeformationMap3fSGIX\0"
"\0"
- /* _mesa_function_pool[22486]: GetProgramivNV (will be remapped) */
+ /* _mesa_function_pool[22700]: GetProgramivNV (will be remapped) */
"iip\0"
"glGetProgramivNV\0"
"\0"
- /* _mesa_function_pool[22508]: GetMinmaxParameteriv (offset 366) */
+ /* _mesa_function_pool[22722]: GetMinmaxParameteriv (offset 366) */
"iip\0"
"glGetMinmaxParameteriv\0"
"glGetMinmaxParameterivEXT\0"
"\0"
- /* _mesa_function_pool[22562]: PixelTransferf (offset 247) */
+ /* _mesa_function_pool[22776]: PixelTransferf (offset 247) */
"if\0"
"glPixelTransferf\0"
"\0"
- /* _mesa_function_pool[22583]: CopyTexImage1D (offset 323) */
+ /* _mesa_function_pool[22797]: CopyTexImage1D (offset 323) */
"iiiiiii\0"
"glCopyTexImage1D\0"
"glCopyTexImage1DEXT\0"
"\0"
- /* _mesa_function_pool[22629]: PushMatrix (offset 298) */
+ /* _mesa_function_pool[22843]: PushMatrix (offset 298) */
"\0"
"glPushMatrix\0"
"\0"
- /* _mesa_function_pool[22644]: Fogiv (offset 156) */
+ /* _mesa_function_pool[22858]: Fogiv (offset 156) */
"ip\0"
"glFogiv\0"
"\0"
- /* _mesa_function_pool[22656]: TexCoord1dv (offset 95) */
+ /* _mesa_function_pool[22870]: TexCoord1dv (offset 95) */
"p\0"
"glTexCoord1dv\0"
"\0"
- /* _mesa_function_pool[22673]: AlphaFragmentOp3ATI (will be remapped) */
+ /* _mesa_function_pool[22887]: AlphaFragmentOp3ATI (will be remapped) */
"iiiiiiiiiiii\0"
"glAlphaFragmentOp3ATI\0"
"\0"
- /* _mesa_function_pool[22709]: PixelTransferi (offset 248) */
+ /* _mesa_function_pool[22923]: PixelTransferi (offset 248) */
"ii\0"
"glPixelTransferi\0"
"\0"
- /* _mesa_function_pool[22730]: GetVertexAttribdvNV (will be remapped) */
+ /* _mesa_function_pool[22944]: GetVertexAttribdvNV (will be remapped) */
"iip\0"
"glGetVertexAttribdvNV\0"
"\0"
- /* _mesa_function_pool[22757]: VertexAttrib3fvNV (will be remapped) */
+ /* _mesa_function_pool[22971]: VertexAttrib3fvNV (will be remapped) */
"ip\0"
"glVertexAttrib3fvNV\0"
"\0"
- /* _mesa_function_pool[22781]: Rotatef (offset 300) */
+ /* _mesa_function_pool[22995]: Rotatef (offset 300) */
"ffff\0"
"glRotatef\0"
"\0"
- /* _mesa_function_pool[22797]: GetFinalCombinerInputParameterivNV (will be remapped) */
+ /* _mesa_function_pool[23011]: GetFinalCombinerInputParameterivNV (will be remapped) */
"iip\0"
"glGetFinalCombinerInputParameterivNV\0"
"\0"
- /* _mesa_function_pool[22839]: Vertex3i (offset 138) */
+ /* _mesa_function_pool[23053]: Vertex3i (offset 138) */
"iii\0"
"glVertex3i\0"
"\0"
- /* _mesa_function_pool[22855]: Vertex3f (offset 136) */
+ /* _mesa_function_pool[23069]: Vertex3f (offset 136) */
"fff\0"
"glVertex3f\0"
"\0"
- /* _mesa_function_pool[22871]: Clear (offset 203) */
+ /* _mesa_function_pool[23085]: Clear (offset 203) */
"i\0"
"glClear\0"
"\0"
- /* _mesa_function_pool[22882]: Vertex3d (offset 134) */
+ /* _mesa_function_pool[23096]: Vertex3d (offset 134) */
"ddd\0"
"glVertex3d\0"
"\0"
- /* _mesa_function_pool[22898]: GetMapParameterivNV (dynamic) */
+ /* _mesa_function_pool[23112]: GetMapParameterivNV (dynamic) */
"iip\0"
"glGetMapParameterivNV\0"
"\0"
- /* _mesa_function_pool[22925]: Uniform4iARB (will be remapped) */
+ /* _mesa_function_pool[23139]: Uniform4iARB (will be remapped) */
"iiiii\0"
"glUniform4i\0"
"glUniform4iARB\0"
"\0"
- /* _mesa_function_pool[22959]: ReadBuffer (offset 254) */
+ /* _mesa_function_pool[23173]: ReadBuffer (offset 254) */
"i\0"
"glReadBuffer\0"
"\0"
- /* _mesa_function_pool[22975]: ConvolutionParameteri (offset 352) */
+ /* _mesa_function_pool[23189]: ConvolutionParameteri (offset 352) */
"iii\0"
"glConvolutionParameteri\0"
"glConvolutionParameteriEXT\0"
"\0"
- /* _mesa_function_pool[23031]: Ortho (offset 296) */
+ /* _mesa_function_pool[23245]: Ortho (offset 296) */
"dddddd\0"
"glOrtho\0"
"\0"
- /* _mesa_function_pool[23047]: Binormal3sEXT (dynamic) */
+ /* _mesa_function_pool[23261]: Binormal3sEXT (dynamic) */
"iii\0"
"glBinormal3sEXT\0"
"\0"
- /* _mesa_function_pool[23068]: ListBase (offset 6) */
+ /* _mesa_function_pool[23282]: ListBase (offset 6) */
"i\0"
"glListBase\0"
"\0"
- /* _mesa_function_pool[23082]: Vertex3s (offset 140) */
+ /* _mesa_function_pool[23296]: Vertex3s (offset 140) */
"iii\0"
"glVertex3s\0"
"\0"
- /* _mesa_function_pool[23098]: ConvolutionParameterf (offset 350) */
+ /* _mesa_function_pool[23312]: ConvolutionParameterf (offset 350) */
"iif\0"
"glConvolutionParameterf\0"
"glConvolutionParameterfEXT\0"
"\0"
- /* _mesa_function_pool[23154]: GetColorTableParameteriv (offset 345) */
+ /* _mesa_function_pool[23368]: GetColorTableParameteriv (offset 345) */
"iip\0"
"glGetColorTableParameteriv\0"
"glGetColorTableParameterivSGI\0"
"glGetColorTableParameterivEXT\0"
"\0"
- /* _mesa_function_pool[23246]: ProgramEnvParameter4dvARB (will be remapped) */
+ /* _mesa_function_pool[23460]: ProgramEnvParameter4dvARB (will be remapped) */
"iip\0"
"glProgramEnvParameter4dvARB\0"
"glProgramParameter4dvNV\0"
"\0"
- /* _mesa_function_pool[23303]: ShadeModel (offset 177) */
+ /* _mesa_function_pool[23517]: ShadeModel (offset 177) */
"i\0"
"glShadeModel\0"
"\0"
- /* _mesa_function_pool[23319]: VertexAttribs2fvNV (will be remapped) */
+ /* _mesa_function_pool[23533]: VertexAttribs2fvNV (will be remapped) */
"iip\0"
"glVertexAttribs2fvNV\0"
"\0"
- /* _mesa_function_pool[23345]: Rectiv (offset 91) */
+ /* _mesa_function_pool[23559]: Rectiv (offset 91) */
"pp\0"
"glRectiv\0"
"\0"
- /* _mesa_function_pool[23358]: UseProgramObjectARB (will be remapped) */
+ /* _mesa_function_pool[23572]: UseProgramObjectARB (will be remapped) */
"i\0"
"glUseProgram\0"
"glUseProgramObjectARB\0"
"\0"
- /* _mesa_function_pool[23396]: GetMapParameterfvNV (dynamic) */
+ /* _mesa_function_pool[23610]: GetMapParameterfvNV (dynamic) */
"iip\0"
"glGetMapParameterfvNV\0"
"\0"
- /* _mesa_function_pool[23423]: EndConditionalRenderNV (will be remapped) */
+ /* _mesa_function_pool[23637]: EndConditionalRenderNV (will be remapped) */
"\0"
"glEndConditionalRenderNV\0"
"\0"
- /* _mesa_function_pool[23450]: PassTexCoordATI (will be remapped) */
+ /* _mesa_function_pool[23664]: PassTexCoordATI (will be remapped) */
"iii\0"
"glPassTexCoordATI\0"
"\0"
- /* _mesa_function_pool[23473]: DeleteProgram (will be remapped) */
+ /* _mesa_function_pool[23687]: DeleteProgram (will be remapped) */
"i\0"
"glDeleteProgram\0"
"\0"
- /* _mesa_function_pool[23492]: Tangent3ivEXT (dynamic) */
+ /* _mesa_function_pool[23706]: Tangent3ivEXT (dynamic) */
"p\0"
"glTangent3ivEXT\0"
"\0"
- /* _mesa_function_pool[23511]: Tangent3dEXT (dynamic) */
+ /* _mesa_function_pool[23725]: Tangent3dEXT (dynamic) */
"ddd\0"
"glTangent3dEXT\0"
"\0"
- /* _mesa_function_pool[23531]: SecondaryColor3dvEXT (will be remapped) */
+ /* _mesa_function_pool[23745]: SecondaryColor3dvEXT (will be remapped) */
"p\0"
"glSecondaryColor3dv\0"
"glSecondaryColor3dvEXT\0"
"\0"
- /* _mesa_function_pool[23577]: Vertex2fv (offset 129) */
+ /* _mesa_function_pool[23791]: Vertex2fv (offset 129) */
"p\0"
"glVertex2fv\0"
"\0"
- /* _mesa_function_pool[23592]: MultiDrawArraysEXT (will be remapped) */
+ /* _mesa_function_pool[23806]: MultiDrawArraysEXT (will be remapped) */
"ippi\0"
"glMultiDrawArrays\0"
"glMultiDrawArraysEXT\0"
"\0"
- /* _mesa_function_pool[23637]: BindRenderbufferEXT (will be remapped) */
+ /* _mesa_function_pool[23851]: BindRenderbufferEXT (will be remapped) */
"ii\0"
"glBindRenderbuffer\0"
"glBindRenderbufferEXT\0"
"\0"
- /* _mesa_function_pool[23682]: MultiTexCoord4dARB (offset 400) */
+ /* _mesa_function_pool[23896]: MultiTexCoord4dARB (offset 400) */
"idddd\0"
"glMultiTexCoord4d\0"
"glMultiTexCoord4dARB\0"
"\0"
- /* _mesa_function_pool[23728]: FramebufferTextureFaceARB (will be remapped) */
+ /* _mesa_function_pool[23942]: FramebufferTextureFaceARB (will be remapped) */
"iiiii\0"
"glFramebufferTextureFaceARB\0"
"\0"
- /* _mesa_function_pool[23763]: Vertex3sv (offset 141) */
+ /* _mesa_function_pool[23977]: Vertex3sv (offset 141) */
"p\0"
"glVertex3sv\0"
"\0"
- /* _mesa_function_pool[23778]: SecondaryColor3usEXT (will be remapped) */
+ /* _mesa_function_pool[23992]: SecondaryColor3usEXT (will be remapped) */
"iii\0"
"glSecondaryColor3us\0"
"glSecondaryColor3usEXT\0"
"\0"
- /* _mesa_function_pool[23826]: ProgramLocalParameter4fvARB (will be remapped) */
+ /* _mesa_function_pool[24040]: ProgramLocalParameter4fvARB (will be remapped) */
"iip\0"
"glProgramLocalParameter4fvARB\0"
"\0"
- /* _mesa_function_pool[23861]: DeleteProgramsNV (will be remapped) */
+ /* _mesa_function_pool[24075]: DeleteProgramsNV (will be remapped) */
"ip\0"
"glDeleteProgramsARB\0"
"glDeleteProgramsNV\0"
"\0"
- /* _mesa_function_pool[23904]: EvalMesh1 (offset 236) */
+ /* _mesa_function_pool[24118]: EvalMesh1 (offset 236) */
"iii\0"
"glEvalMesh1\0"
"\0"
- /* _mesa_function_pool[23921]: PauseTransformFeedback (will be remapped) */
+ /* _mesa_function_pool[24135]: PauseTransformFeedback (will be remapped) */
"\0"
"glPauseTransformFeedback\0"
"\0"
- /* _mesa_function_pool[23948]: MultiTexCoord1sARB (offset 382) */
+ /* _mesa_function_pool[24162]: MultiTexCoord1sARB (offset 382) */
"ii\0"
"glMultiTexCoord1s\0"
"glMultiTexCoord1sARB\0"
"\0"
- /* _mesa_function_pool[23991]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[24205]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */
"iffffff\0"
"glReplacementCodeuiColor3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[24038]: GetVertexAttribPointervNV (will be remapped) */
+ /* _mesa_function_pool[24252]: GetVertexAttribPointervNV (will be remapped) */
"iip\0"
"glGetVertexAttribPointerv\0"
"glGetVertexAttribPointervARB\0"
"glGetVertexAttribPointervNV\0"
"\0"
- /* _mesa_function_pool[24126]: VertexAttribs1fvNV (will be remapped) */
+ /* _mesa_function_pool[24340]: VertexAttribs1fvNV (will be remapped) */
"iip\0"
"glVertexAttribs1fvNV\0"
"\0"
- /* _mesa_function_pool[24152]: MultiTexCoord1dvARB (offset 377) */
+ /* _mesa_function_pool[24366]: MultiTexCoord1dvARB (offset 377) */
"ip\0"
"glMultiTexCoord1dv\0"
"glMultiTexCoord1dvARB\0"
"\0"
- /* _mesa_function_pool[24197]: Uniform2iARB (will be remapped) */
+ /* _mesa_function_pool[24411]: Uniform2iARB (will be remapped) */
"iii\0"
"glUniform2i\0"
"glUniform2iARB\0"
"\0"
- /* _mesa_function_pool[24229]: Vertex2iv (offset 131) */
+ /* _mesa_function_pool[24443]: Vertex2iv (offset 131) */
"p\0"
"glVertex2iv\0"
"\0"
- /* _mesa_function_pool[24244]: GetProgramStringNV (will be remapped) */
+ /* _mesa_function_pool[24458]: GetProgramStringNV (will be remapped) */
"iip\0"
"glGetProgramStringNV\0"
"\0"
- /* _mesa_function_pool[24270]: ColorPointerEXT (will be remapped) */
+ /* _mesa_function_pool[24484]: ColorPointerEXT (will be remapped) */
"iiiip\0"
"glColorPointerEXT\0"
"\0"
- /* _mesa_function_pool[24295]: LineWidth (offset 168) */
+ /* _mesa_function_pool[24509]: LineWidth (offset 168) */
"f\0"
"glLineWidth\0"
"\0"
- /* _mesa_function_pool[24310]: MapBufferARB (will be remapped) */
+ /* _mesa_function_pool[24524]: MapBufferARB (will be remapped) */
"ii\0"
"glMapBuffer\0"
"glMapBufferARB\0"
"\0"
- /* _mesa_function_pool[24341]: MultiDrawElementsBaseVertex (will be remapped) */
+ /* _mesa_function_pool[24555]: MultiDrawElementsBaseVertex (will be remapped) */
"ipipip\0"
"glMultiDrawElementsBaseVertex\0"
"\0"
- /* _mesa_function_pool[24379]: Binormal3svEXT (dynamic) */
+ /* _mesa_function_pool[24593]: TexParameterIuivEXT (will be remapped) */
+ "iip\0"
+ "glTexParameterIuivEXT\0"
+ "\0"
+ /* _mesa_function_pool[24620]: Binormal3svEXT (dynamic) */
"p\0"
"glBinormal3svEXT\0"
"\0"
- /* _mesa_function_pool[24399]: ApplyTextureEXT (dynamic) */
+ /* _mesa_function_pool[24640]: ApplyTextureEXT (dynamic) */
"i\0"
"glApplyTextureEXT\0"
"\0"
- /* _mesa_function_pool[24420]: TexGendv (offset 189) */
+ /* _mesa_function_pool[24661]: TexGendv (offset 189) */
"iip\0"
"glTexGendv\0"
"\0"
- /* _mesa_function_pool[24436]: EnableIndexedEXT (will be remapped) */
+ /* _mesa_function_pool[24677]: EnableIndexedEXT (will be remapped) */
"ii\0"
"glEnableIndexedEXT\0"
"\0"
- /* _mesa_function_pool[24459]: TextureMaterialEXT (dynamic) */
+ /* _mesa_function_pool[24700]: TextureMaterialEXT (dynamic) */
"ii\0"
"glTextureMaterialEXT\0"
"\0"
- /* _mesa_function_pool[24484]: TextureLightEXT (dynamic) */
+ /* _mesa_function_pool[24725]: TextureLightEXT (dynamic) */
"i\0"
"glTextureLightEXT\0"
"\0"
- /* _mesa_function_pool[24505]: ResetMinmax (offset 370) */
+ /* _mesa_function_pool[24746]: ResetMinmax (offset 370) */
"i\0"
"glResetMinmax\0"
"glResetMinmaxEXT\0"
"\0"
- /* _mesa_function_pool[24539]: SpriteParameterfSGIX (dynamic) */
+ /* _mesa_function_pool[24780]: SpriteParameterfSGIX (dynamic) */
"if\0"
"glSpriteParameterfSGIX\0"
"\0"
- /* _mesa_function_pool[24566]: EnableClientState (offset 313) */
+ /* _mesa_function_pool[24807]: EnableClientState (offset 313) */
"i\0"
"glEnableClientState\0"
"\0"
- /* _mesa_function_pool[24589]: VertexAttrib4sNV (will be remapped) */
+ /* _mesa_function_pool[24830]: VertexAttrib4sNV (will be remapped) */
"iiiii\0"
"glVertexAttrib4sNV\0"
"\0"
- /* _mesa_function_pool[24615]: GetConvolutionParameterfv (offset 357) */
+ /* _mesa_function_pool[24856]: GetConvolutionParameterfv (offset 357) */
"iip\0"
"glGetConvolutionParameterfv\0"
"glGetConvolutionParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[24679]: VertexAttribs4dvNV (will be remapped) */
+ /* _mesa_function_pool[24920]: VertexAttribs4dvNV (will be remapped) */
"iip\0"
"glVertexAttribs4dvNV\0"
"\0"
- /* _mesa_function_pool[24705]: MultiModeDrawArraysIBM (will be remapped) */
+ /* _mesa_function_pool[24946]: MultiModeDrawArraysIBM (will be remapped) */
"pppii\0"
"glMultiModeDrawArraysIBM\0"
"\0"
- /* _mesa_function_pool[24737]: VertexAttrib4dARB (will be remapped) */
+ /* _mesa_function_pool[24978]: VertexAttrib4dARB (will be remapped) */
"idddd\0"
"glVertexAttrib4d\0"
"glVertexAttrib4dARB\0"
"\0"
- /* _mesa_function_pool[24781]: GetTexBumpParameterfvATI (will be remapped) */
+ /* _mesa_function_pool[25022]: GetTexBumpParameterfvATI (will be remapped) */
"ip\0"
"glGetTexBumpParameterfvATI\0"
"\0"
- /* _mesa_function_pool[24812]: ProgramNamedParameter4dNV (will be remapped) */
+ /* _mesa_function_pool[25053]: ProgramNamedParameter4dNV (will be remapped) */
"iipdddd\0"
"glProgramNamedParameter4dNV\0"
"\0"
- /* _mesa_function_pool[24849]: GetMaterialfv (offset 269) */
+ /* _mesa_function_pool[25090]: GetMaterialfv (offset 269) */
"iip\0"
"glGetMaterialfv\0"
"\0"
- /* _mesa_function_pool[24870]: VertexWeightfEXT (dynamic) */
+ /* _mesa_function_pool[25111]: VertexWeightfEXT (dynamic) */
"f\0"
"glVertexWeightfEXT\0"
"\0"
- /* _mesa_function_pool[24892]: Binormal3fEXT (dynamic) */
+ /* _mesa_function_pool[25133]: Binormal3fEXT (dynamic) */
"fff\0"
"glBinormal3fEXT\0"
"\0"
- /* _mesa_function_pool[24913]: CallList (offset 2) */
+ /* _mesa_function_pool[25154]: CallList (offset 2) */
"i\0"
"glCallList\0"
"\0"
- /* _mesa_function_pool[24927]: Materialfv (offset 170) */
+ /* _mesa_function_pool[25168]: Materialfv (offset 170) */
"iip\0"
"glMaterialfv\0"
"\0"
- /* _mesa_function_pool[24945]: TexCoord3fv (offset 113) */
+ /* _mesa_function_pool[25186]: TexCoord3fv (offset 113) */
"p\0"
"glTexCoord3fv\0"
"\0"
- /* _mesa_function_pool[24962]: FogCoordfvEXT (will be remapped) */
+ /* _mesa_function_pool[25203]: FogCoordfvEXT (will be remapped) */
"p\0"
"glFogCoordfv\0"
"glFogCoordfvEXT\0"
"\0"
- /* _mesa_function_pool[24994]: MultiTexCoord1ivARB (offset 381) */
+ /* _mesa_function_pool[25235]: MultiTexCoord1ivARB (offset 381) */
"ip\0"
"glMultiTexCoord1iv\0"
"glMultiTexCoord1ivARB\0"
"\0"
- /* _mesa_function_pool[25039]: SecondaryColor3ubEXT (will be remapped) */
+ /* _mesa_function_pool[25280]: SecondaryColor3ubEXT (will be remapped) */
"iii\0"
"glSecondaryColor3ub\0"
"glSecondaryColor3ubEXT\0"
"\0"
- /* _mesa_function_pool[25087]: MultiTexCoord2ivARB (offset 389) */
+ /* _mesa_function_pool[25328]: MultiTexCoord2ivARB (offset 389) */
"ip\0"
"glMultiTexCoord2iv\0"
"glMultiTexCoord2ivARB\0"
"\0"
- /* _mesa_function_pool[25132]: FogFuncSGIS (dynamic) */
+ /* _mesa_function_pool[25373]: FogFuncSGIS (dynamic) */
"ip\0"
"glFogFuncSGIS\0"
"\0"
- /* _mesa_function_pool[25150]: CopyTexSubImage2D (offset 326) */
+ /* _mesa_function_pool[25391]: CopyTexSubImage2D (offset 326) */
"iiiiiiii\0"
"glCopyTexSubImage2D\0"
"glCopyTexSubImage2DEXT\0"
"\0"
- /* _mesa_function_pool[25203]: GetObjectParameterivARB (will be remapped) */
+ /* _mesa_function_pool[25444]: GetObjectParameterivARB (will be remapped) */
"iip\0"
"glGetObjectParameterivARB\0"
"\0"
- /* _mesa_function_pool[25234]: Color3iv (offset 16) */
+ /* _mesa_function_pool[25475]: Color3iv (offset 16) */
"p\0"
"glColor3iv\0"
"\0"
- /* _mesa_function_pool[25248]: TexCoord4fVertex4fSUN (dynamic) */
+ /* _mesa_function_pool[25489]: TexCoord4fVertex4fSUN (dynamic) */
"ffffffff\0"
"glTexCoord4fVertex4fSUN\0"
"\0"
- /* _mesa_function_pool[25282]: DrawElements (offset 311) */
+ /* _mesa_function_pool[25523]: DrawElements (offset 311) */
"iiip\0"
"glDrawElements\0"
"\0"
- /* _mesa_function_pool[25303]: BindVertexArrayAPPLE (will be remapped) */
+ /* _mesa_function_pool[25544]: BindVertexArrayAPPLE (will be remapped) */
"i\0"
"glBindVertexArrayAPPLE\0"
"\0"
- /* _mesa_function_pool[25329]: GetProgramLocalParameterdvARB (will be remapped) */
+ /* _mesa_function_pool[25570]: GetProgramLocalParameterdvARB (will be remapped) */
"iip\0"
"glGetProgramLocalParameterdvARB\0"
"\0"
- /* _mesa_function_pool[25366]: GetHistogramParameteriv (offset 363) */
+ /* _mesa_function_pool[25607]: GetHistogramParameteriv (offset 363) */
"iip\0"
"glGetHistogramParameteriv\0"
"glGetHistogramParameterivEXT\0"
"\0"
- /* _mesa_function_pool[25426]: MultiTexCoord1iARB (offset 380) */
+ /* _mesa_function_pool[25667]: MultiTexCoord1iARB (offset 380) */
"ii\0"
"glMultiTexCoord1i\0"
"glMultiTexCoord1iARB\0"
"\0"
- /* _mesa_function_pool[25469]: GetConvolutionFilter (offset 356) */
+ /* _mesa_function_pool[25710]: GetConvolutionFilter (offset 356) */
"iiip\0"
"glGetConvolutionFilter\0"
"glGetConvolutionFilterEXT\0"
"\0"
- /* _mesa_function_pool[25524]: GetProgramivARB (will be remapped) */
+ /* _mesa_function_pool[25765]: GetProgramivARB (will be remapped) */
"iip\0"
"glGetProgramivARB\0"
"\0"
- /* _mesa_function_pool[25547]: BlendFuncSeparateEXT (will be remapped) */
+ /* _mesa_function_pool[25788]: BlendFuncSeparateEXT (will be remapped) */
"iiii\0"
"glBlendFuncSeparate\0"
"glBlendFuncSeparateEXT\0"
"glBlendFuncSeparateINGR\0"
"\0"
- /* _mesa_function_pool[25620]: MapBufferRange (will be remapped) */
+ /* _mesa_function_pool[25861]: MapBufferRange (will be remapped) */
"iiii\0"
"glMapBufferRange\0"
"\0"
- /* _mesa_function_pool[25643]: ProgramParameters4dvNV (will be remapped) */
+ /* _mesa_function_pool[25884]: ProgramParameters4dvNV (will be remapped) */
"iiip\0"
"glProgramParameters4dvNV\0"
"\0"
- /* _mesa_function_pool[25674]: TexCoord2fColor3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[25915]: TexCoord2fColor3fVertex3fvSUN (dynamic) */
"ppp\0"
"glTexCoord2fColor3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[25711]: EvalPoint2 (offset 239) */
+ /* _mesa_function_pool[25952]: EvalPoint2 (offset 239) */
"ii\0"
"glEvalPoint2\0"
"\0"
- /* _mesa_function_pool[25728]: EvalPoint1 (offset 237) */
+ /* _mesa_function_pool[25969]: EvalPoint1 (offset 237) */
"i\0"
"glEvalPoint1\0"
"\0"
- /* _mesa_function_pool[25744]: Binormal3dvEXT (dynamic) */
+ /* _mesa_function_pool[25985]: Binormal3dvEXT (dynamic) */
"p\0"
"glBinormal3dvEXT\0"
"\0"
- /* _mesa_function_pool[25764]: PopMatrix (offset 297) */
+ /* _mesa_function_pool[26005]: PopMatrix (offset 297) */
"\0"
"glPopMatrix\0"
"\0"
- /* _mesa_function_pool[25778]: FinishFenceNV (will be remapped) */
+ /* _mesa_function_pool[26019]: FinishFenceNV (will be remapped) */
"i\0"
"glFinishFenceNV\0"
"\0"
- /* _mesa_function_pool[25797]: GetFogFuncSGIS (dynamic) */
+ /* _mesa_function_pool[26038]: GetFogFuncSGIS (dynamic) */
"p\0"
"glGetFogFuncSGIS\0"
"\0"
- /* _mesa_function_pool[25817]: GetUniformLocationARB (will be remapped) */
+ /* _mesa_function_pool[26058]: GetUniformLocationARB (will be remapped) */
"ip\0"
"glGetUniformLocation\0"
"glGetUniformLocationARB\0"
"\0"
- /* _mesa_function_pool[25866]: SecondaryColor3fEXT (will be remapped) */
+ /* _mesa_function_pool[26107]: SecondaryColor3fEXT (will be remapped) */
"fff\0"
"glSecondaryColor3f\0"
"glSecondaryColor3fEXT\0"
"\0"
- /* _mesa_function_pool[25912]: GetTexGeniv (offset 280) */
+ /* _mesa_function_pool[26153]: GetTexGeniv (offset 280) */
"iip\0"
"glGetTexGeniv\0"
"\0"
- /* _mesa_function_pool[25931]: CombinerInputNV (will be remapped) */
+ /* _mesa_function_pool[26172]: CombinerInputNV (will be remapped) */
"iiiiii\0"
"glCombinerInputNV\0"
"\0"
- /* _mesa_function_pool[25957]: VertexAttrib3sARB (will be remapped) */
+ /* _mesa_function_pool[26198]: VertexAttrib3sARB (will be remapped) */
"iiii\0"
"glVertexAttrib3s\0"
"glVertexAttrib3sARB\0"
"\0"
- /* _mesa_function_pool[26000]: IsTransformFeedback (will be remapped) */
+ /* _mesa_function_pool[26241]: IsTransformFeedback (will be remapped) */
"i\0"
"glIsTransformFeedback\0"
"\0"
- /* _mesa_function_pool[26025]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[26266]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */
"ppp\0"
"glReplacementCodeuiNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[26070]: Map2d (offset 222) */
+ /* _mesa_function_pool[26311]: Map2d (offset 222) */
"iddiiddiip\0"
"glMap2d\0"
"\0"
- /* _mesa_function_pool[26090]: Map2f (offset 223) */
+ /* _mesa_function_pool[26331]: Map2f (offset 223) */
"iffiiffiip\0"
"glMap2f\0"
"\0"
- /* _mesa_function_pool[26110]: ProgramStringARB (will be remapped) */
+ /* _mesa_function_pool[26351]: ProgramStringARB (will be remapped) */
"iiip\0"
"glProgramStringARB\0"
"\0"
- /* _mesa_function_pool[26135]: Vertex4s (offset 148) */
+ /* _mesa_function_pool[26376]: Vertex4s (offset 148) */
"iiii\0"
"glVertex4s\0"
"\0"
- /* _mesa_function_pool[26152]: TexCoord4fVertex4fvSUN (dynamic) */
+ /* _mesa_function_pool[26393]: TexCoord4fVertex4fvSUN (dynamic) */
"pp\0"
"glTexCoord4fVertex4fvSUN\0"
"\0"
- /* _mesa_function_pool[26181]: FragmentLightModelivSGIX (dynamic) */
+ /* _mesa_function_pool[26422]: FragmentLightModelivSGIX (dynamic) */
"ip\0"
"glFragmentLightModelivSGIX\0"
"\0"
- /* _mesa_function_pool[26212]: VertexAttrib1fNV (will be remapped) */
+ /* _mesa_function_pool[26453]: VertexAttrib1fNV (will be remapped) */
"if\0"
"glVertexAttrib1fNV\0"
"\0"
- /* _mesa_function_pool[26235]: Vertex4f (offset 144) */
+ /* _mesa_function_pool[26476]: Vertex4f (offset 144) */
"ffff\0"
"glVertex4f\0"
"\0"
- /* _mesa_function_pool[26252]: EvalCoord1d (offset 228) */
+ /* _mesa_function_pool[26493]: EvalCoord1d (offset 228) */
"d\0"
"glEvalCoord1d\0"
"\0"
- /* _mesa_function_pool[26269]: Vertex4d (offset 142) */
+ /* _mesa_function_pool[26510]: Vertex4d (offset 142) */
"dddd\0"
"glVertex4d\0"
"\0"
- /* _mesa_function_pool[26286]: RasterPos4dv (offset 79) */
+ /* _mesa_function_pool[26527]: RasterPos4dv (offset 79) */
"p\0"
"glRasterPos4dv\0"
"\0"
- /* _mesa_function_pool[26304]: FragmentLightfSGIX (dynamic) */
+ /* _mesa_function_pool[26545]: UseShaderProgramEXT (will be remapped) */
+ "ii\0"
+ "glUseShaderProgramEXT\0"
+ "\0"
+ /* _mesa_function_pool[26571]: FragmentLightfSGIX (dynamic) */
"iif\0"
"glFragmentLightfSGIX\0"
"\0"
- /* _mesa_function_pool[26330]: GetCompressedTexImageARB (will be remapped) */
+ /* _mesa_function_pool[26597]: GetCompressedTexImageARB (will be remapped) */
"iip\0"
"glGetCompressedTexImage\0"
"glGetCompressedTexImageARB\0"
"\0"
- /* _mesa_function_pool[26386]: GetTexGenfv (offset 279) */
+ /* _mesa_function_pool[26653]: GetTexGenfv (offset 279) */
"iip\0"
"glGetTexGenfv\0"
"\0"
- /* _mesa_function_pool[26405]: Vertex4i (offset 146) */
+ /* _mesa_function_pool[26672]: Vertex4i (offset 146) */
"iiii\0"
"glVertex4i\0"
"\0"
- /* _mesa_function_pool[26422]: VertexWeightPointerEXT (dynamic) */
+ /* _mesa_function_pool[26689]: VertexWeightPointerEXT (dynamic) */
"iiip\0"
"glVertexWeightPointerEXT\0"
"\0"
- /* _mesa_function_pool[26453]: GetHistogram (offset 361) */
+ /* _mesa_function_pool[26720]: GetHistogram (offset 361) */
"iiiip\0"
"glGetHistogram\0"
"glGetHistogramEXT\0"
"\0"
- /* _mesa_function_pool[26493]: ActiveStencilFaceEXT (will be remapped) */
+ /* _mesa_function_pool[26760]: ActiveStencilFaceEXT (will be remapped) */
"i\0"
"glActiveStencilFaceEXT\0"
"\0"
- /* _mesa_function_pool[26519]: StencilFuncSeparateATI (will be remapped) */
+ /* _mesa_function_pool[26786]: StencilFuncSeparateATI (will be remapped) */
"iiii\0"
"glStencilFuncSeparateATI\0"
"\0"
- /* _mesa_function_pool[26550]: Materialf (offset 169) */
+ /* _mesa_function_pool[26817]: Materialf (offset 169) */
"iif\0"
"glMaterialf\0"
"\0"
- /* _mesa_function_pool[26567]: GetShaderSourceARB (will be remapped) */
+ /* _mesa_function_pool[26834]: GetShaderSourceARB (will be remapped) */
"iipp\0"
"glGetShaderSource\0"
"glGetShaderSourceARB\0"
"\0"
- /* _mesa_function_pool[26612]: IglooInterfaceSGIX (dynamic) */
+ /* _mesa_function_pool[26879]: IglooInterfaceSGIX (dynamic) */
"ip\0"
"glIglooInterfaceSGIX\0"
"\0"
- /* _mesa_function_pool[26637]: Materiali (offset 171) */
+ /* _mesa_function_pool[26904]: Materiali (offset 171) */
"iii\0"
"glMateriali\0"
"\0"
- /* _mesa_function_pool[26654]: VertexAttrib4dNV (will be remapped) */
+ /* _mesa_function_pool[26921]: VertexAttrib4dNV (will be remapped) */
"idddd\0"
"glVertexAttrib4dNV\0"
"\0"
- /* _mesa_function_pool[26680]: MultiModeDrawElementsIBM (will be remapped) */
+ /* _mesa_function_pool[26947]: MultiModeDrawElementsIBM (will be remapped) */
"ppipii\0"
"glMultiModeDrawElementsIBM\0"
"\0"
- /* _mesa_function_pool[26715]: Indexsv (offset 51) */
+ /* _mesa_function_pool[26982]: Indexsv (offset 51) */
"p\0"
"glIndexsv\0"
"\0"
- /* _mesa_function_pool[26728]: MultiTexCoord4svARB (offset 407) */
+ /* _mesa_function_pool[26995]: MultiTexCoord4svARB (offset 407) */
"ip\0"
"glMultiTexCoord4sv\0"
"glMultiTexCoord4svARB\0"
"\0"
- /* _mesa_function_pool[26773]: LightModelfv (offset 164) */
+ /* _mesa_function_pool[27040]: LightModelfv (offset 164) */
"ip\0"
"glLightModelfv\0"
"\0"
- /* _mesa_function_pool[26792]: TexCoord2dv (offset 103) */
+ /* _mesa_function_pool[27059]: TexCoord2dv (offset 103) */
"p\0"
"glTexCoord2dv\0"
"\0"
- /* _mesa_function_pool[26809]: GenQueriesARB (will be remapped) */
+ /* _mesa_function_pool[27076]: GenQueriesARB (will be remapped) */
"ip\0"
"glGenQueries\0"
"glGenQueriesARB\0"
"\0"
- /* _mesa_function_pool[26842]: EvalCoord1dv (offset 229) */
+ /* _mesa_function_pool[27109]: EvalCoord1dv (offset 229) */
"p\0"
"glEvalCoord1dv\0"
"\0"
- /* _mesa_function_pool[26860]: ReplacementCodeuiVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[27127]: ReplacementCodeuiVertex3fSUN (dynamic) */
"ifff\0"
"glReplacementCodeuiVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[26897]: Translated (offset 303) */
+ /* _mesa_function_pool[27164]: Translated (offset 303) */
"ddd\0"
"glTranslated\0"
"\0"
- /* _mesa_function_pool[26915]: Translatef (offset 304) */
+ /* _mesa_function_pool[27182]: Translatef (offset 304) */
"fff\0"
"glTranslatef\0"
"\0"
- /* _mesa_function_pool[26933]: StencilMask (offset 209) */
+ /* _mesa_function_pool[27200]: StencilMask (offset 209) */
"i\0"
"glStencilMask\0"
"\0"
- /* _mesa_function_pool[26950]: Tangent3iEXT (dynamic) */
+ /* _mesa_function_pool[27217]: Tangent3iEXT (dynamic) */
"iii\0"
"glTangent3iEXT\0"
"\0"
- /* _mesa_function_pool[26970]: GetLightiv (offset 265) */
+ /* _mesa_function_pool[27237]: GetLightiv (offset 265) */
"iip\0"
"glGetLightiv\0"
"\0"
- /* _mesa_function_pool[26988]: DrawMeshArraysSUN (dynamic) */
+ /* _mesa_function_pool[27255]: DrawMeshArraysSUN (dynamic) */
"iiii\0"
"glDrawMeshArraysSUN\0"
"\0"
- /* _mesa_function_pool[27014]: IsList (offset 287) */
+ /* _mesa_function_pool[27281]: IsList (offset 287) */
"i\0"
"glIsList\0"
"\0"
- /* _mesa_function_pool[27026]: IsSync (will be remapped) */
+ /* _mesa_function_pool[27293]: IsSync (will be remapped) */
"i\0"
"glIsSync\0"
"\0"
- /* _mesa_function_pool[27038]: RenderMode (offset 196) */
+ /* _mesa_function_pool[27305]: RenderMode (offset 196) */
"i\0"
"glRenderMode\0"
"\0"
- /* _mesa_function_pool[27054]: GetMapControlPointsNV (dynamic) */
+ /* _mesa_function_pool[27321]: GetMapControlPointsNV (dynamic) */
"iiiiiip\0"
"glGetMapControlPointsNV\0"
"\0"
- /* _mesa_function_pool[27087]: DrawBuffersARB (will be remapped) */
+ /* _mesa_function_pool[27354]: DrawBuffersARB (will be remapped) */
"ip\0"
"glDrawBuffers\0"
"glDrawBuffersARB\0"
"glDrawBuffersATI\0"
"\0"
- /* _mesa_function_pool[27139]: ProgramLocalParameter4fARB (will be remapped) */
+ /* _mesa_function_pool[27406]: ProgramLocalParameter4fARB (will be remapped) */
"iiffff\0"
"glProgramLocalParameter4fARB\0"
"\0"
- /* _mesa_function_pool[27176]: SpriteParameterivSGIX (dynamic) */
+ /* _mesa_function_pool[27443]: SpriteParameterivSGIX (dynamic) */
"ip\0"
"glSpriteParameterivSGIX\0"
"\0"
- /* _mesa_function_pool[27204]: ProvokingVertexEXT (will be remapped) */
+ /* _mesa_function_pool[27471]: ProvokingVertexEXT (will be remapped) */
"i\0"
"glProvokingVertexEXT\0"
"glProvokingVertex\0"
"\0"
- /* _mesa_function_pool[27246]: MultiTexCoord1fARB (offset 378) */
+ /* _mesa_function_pool[27513]: MultiTexCoord1fARB (offset 378) */
"if\0"
"glMultiTexCoord1f\0"
"glMultiTexCoord1fARB\0"
"\0"
- /* _mesa_function_pool[27289]: LoadName (offset 198) */
+ /* _mesa_function_pool[27556]: LoadName (offset 198) */
"i\0"
"glLoadName\0"
"\0"
- /* _mesa_function_pool[27303]: VertexAttribs4ubvNV (will be remapped) */
+ /* _mesa_function_pool[27570]: VertexAttribs4ubvNV (will be remapped) */
"iip\0"
"glVertexAttribs4ubvNV\0"
"\0"
- /* _mesa_function_pool[27330]: WeightsvARB (dynamic) */
+ /* _mesa_function_pool[27597]: WeightsvARB (dynamic) */
"ip\0"
"glWeightsvARB\0"
"\0"
- /* _mesa_function_pool[27348]: Uniform1fvARB (will be remapped) */
+ /* _mesa_function_pool[27615]: Uniform1fvARB (will be remapped) */
"iip\0"
"glUniform1fv\0"
"glUniform1fvARB\0"
"\0"
- /* _mesa_function_pool[27382]: CopyTexSubImage1D (offset 325) */
+ /* _mesa_function_pool[27649]: CopyTexSubImage1D (offset 325) */
"iiiiii\0"
"glCopyTexSubImage1D\0"
"glCopyTexSubImage1DEXT\0"
"\0"
- /* _mesa_function_pool[27433]: CullFace (offset 152) */
+ /* _mesa_function_pool[27700]: CullFace (offset 152) */
"i\0"
"glCullFace\0"
"\0"
- /* _mesa_function_pool[27447]: BindTexture (offset 307) */
+ /* _mesa_function_pool[27714]: BindTexture (offset 307) */
"ii\0"
"glBindTexture\0"
"glBindTextureEXT\0"
"\0"
- /* _mesa_function_pool[27482]: BeginFragmentShaderATI (will be remapped) */
+ /* _mesa_function_pool[27749]: BeginFragmentShaderATI (will be remapped) */
"\0"
"glBeginFragmentShaderATI\0"
"\0"
- /* _mesa_function_pool[27509]: MultiTexCoord4fARB (offset 402) */
+ /* _mesa_function_pool[27776]: MultiTexCoord4fARB (offset 402) */
"iffff\0"
"glMultiTexCoord4f\0"
"glMultiTexCoord4fARB\0"
"\0"
- /* _mesa_function_pool[27555]: VertexAttribs3svNV (will be remapped) */
+ /* _mesa_function_pool[27822]: VertexAttribs3svNV (will be remapped) */
"iip\0"
"glVertexAttribs3svNV\0"
"\0"
- /* _mesa_function_pool[27581]: StencilFunc (offset 243) */
+ /* _mesa_function_pool[27848]: StencilFunc (offset 243) */
"iii\0"
"glStencilFunc\0"
"\0"
- /* _mesa_function_pool[27600]: CopyPixels (offset 255) */
+ /* _mesa_function_pool[27867]: CopyPixels (offset 255) */
"iiiii\0"
"glCopyPixels\0"
"\0"
- /* _mesa_function_pool[27620]: Rectsv (offset 93) */
+ /* _mesa_function_pool[27887]: Rectsv (offset 93) */
"pp\0"
"glRectsv\0"
"\0"
- /* _mesa_function_pool[27633]: ReplacementCodeuivSUN (dynamic) */
+ /* _mesa_function_pool[27900]: ReplacementCodeuivSUN (dynamic) */
"p\0"
"glReplacementCodeuivSUN\0"
"\0"
- /* _mesa_function_pool[27660]: EnableVertexAttribArrayARB (will be remapped) */
+ /* _mesa_function_pool[27927]: EnableVertexAttribArrayARB (will be remapped) */
"i\0"
"glEnableVertexAttribArray\0"
"glEnableVertexAttribArrayARB\0"
"\0"
- /* _mesa_function_pool[27718]: NormalPointervINTEL (dynamic) */
+ /* _mesa_function_pool[27985]: NormalPointervINTEL (dynamic) */
"ip\0"
"glNormalPointervINTEL\0"
"\0"
- /* _mesa_function_pool[27744]: CopyConvolutionFilter2D (offset 355) */
+ /* _mesa_function_pool[28011]: CopyConvolutionFilter2D (offset 355) */
"iiiiii\0"
"glCopyConvolutionFilter2D\0"
"glCopyConvolutionFilter2DEXT\0"
"\0"
- /* _mesa_function_pool[27807]: WindowPos3ivMESA (will be remapped) */
+ /* _mesa_function_pool[28074]: WindowPos3ivMESA (will be remapped) */
"p\0"
"glWindowPos3iv\0"
"glWindowPos3ivARB\0"
"glWindowPos3ivMESA\0"
"\0"
- /* _mesa_function_pool[27862]: CopyBufferSubData (will be remapped) */
+ /* _mesa_function_pool[28129]: CopyBufferSubData (will be remapped) */
"iiiii\0"
"glCopyBufferSubData\0"
"\0"
- /* _mesa_function_pool[27889]: NormalPointer (offset 318) */
+ /* _mesa_function_pool[28156]: NormalPointer (offset 318) */
"iip\0"
"glNormalPointer\0"
"\0"
- /* _mesa_function_pool[27910]: TexParameterfv (offset 179) */
+ /* _mesa_function_pool[28177]: TexParameterfv (offset 179) */
"iip\0"
"glTexParameterfv\0"
"\0"
- /* _mesa_function_pool[27932]: IsBufferARB (will be remapped) */
+ /* _mesa_function_pool[28199]: IsBufferARB (will be remapped) */
"i\0"
"glIsBuffer\0"
"glIsBufferARB\0"
"\0"
- /* _mesa_function_pool[27960]: WindowPos4iMESA (will be remapped) */
+ /* _mesa_function_pool[28227]: WindowPos4iMESA (will be remapped) */
"iiii\0"
"glWindowPos4iMESA\0"
"\0"
- /* _mesa_function_pool[27984]: VertexAttrib4uivARB (will be remapped) */
+ /* _mesa_function_pool[28251]: VertexAttrib4uivARB (will be remapped) */
"ip\0"
"glVertexAttrib4uiv\0"
"glVertexAttrib4uivARB\0"
"\0"
- /* _mesa_function_pool[28029]: Tangent3bvEXT (dynamic) */
+ /* _mesa_function_pool[28296]: Tangent3bvEXT (dynamic) */
"p\0"
"glTangent3bvEXT\0"
"\0"
- /* _mesa_function_pool[28048]: UniformMatrix3x4fv (will be remapped) */
+ /* _mesa_function_pool[28315]: UniformMatrix3x4fv (will be remapped) */
"iiip\0"
"glUniformMatrix3x4fv\0"
"\0"
- /* _mesa_function_pool[28075]: ClipPlane (offset 150) */
+ /* _mesa_function_pool[28342]: ClipPlane (offset 150) */
"ip\0"
"glClipPlane\0"
"\0"
- /* _mesa_function_pool[28091]: Recti (offset 90) */
+ /* _mesa_function_pool[28358]: Recti (offset 90) */
"iiii\0"
"glRecti\0"
"\0"
- /* _mesa_function_pool[28105]: DrawRangeElementsBaseVertex (will be remapped) */
+ /* _mesa_function_pool[28372]: DrawRangeElementsBaseVertex (will be remapped) */
"iiiiipi\0"
"glDrawRangeElementsBaseVertex\0"
"\0"
- /* _mesa_function_pool[28144]: TexCoordPointervINTEL (dynamic) */
+ /* _mesa_function_pool[28411]: TexCoordPointervINTEL (dynamic) */
"iip\0"
"glTexCoordPointervINTEL\0"
"\0"
- /* _mesa_function_pool[28173]: DeleteBuffersARB (will be remapped) */
+ /* _mesa_function_pool[28440]: DeleteBuffersARB (will be remapped) */
"ip\0"
"glDeleteBuffers\0"
"glDeleteBuffersARB\0"
"\0"
- /* _mesa_function_pool[28212]: PixelTransformParameterfvEXT (dynamic) */
+ /* _mesa_function_pool[28479]: PixelTransformParameterfvEXT (dynamic) */
"iip\0"
"glPixelTransformParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[28248]: WindowPos4fvMESA (will be remapped) */
+ /* _mesa_function_pool[28515]: PrimitiveRestartNV (will be remapped) */
+ "\0"
+ "glPrimitiveRestartNV\0"
+ "\0"
+ /* _mesa_function_pool[28538]: WindowPos4fvMESA (will be remapped) */
"p\0"
"glWindowPos4fvMESA\0"
"\0"
- /* _mesa_function_pool[28270]: GetPixelMapuiv (offset 272) */
+ /* _mesa_function_pool[28560]: GetPixelMapuiv (offset 272) */
"ip\0"
"glGetPixelMapuiv\0"
"\0"
- /* _mesa_function_pool[28291]: Rectf (offset 88) */
+ /* _mesa_function_pool[28581]: Rectf (offset 88) */
"ffff\0"
"glRectf\0"
"\0"
- /* _mesa_function_pool[28305]: VertexAttrib1sNV (will be remapped) */
+ /* _mesa_function_pool[28595]: VertexAttrib1sNV (will be remapped) */
"ii\0"
"glVertexAttrib1sNV\0"
"\0"
- /* _mesa_function_pool[28328]: Indexfv (offset 47) */
+ /* _mesa_function_pool[28618]: Indexfv (offset 47) */
"p\0"
"glIndexfv\0"
"\0"
- /* _mesa_function_pool[28341]: SecondaryColor3svEXT (will be remapped) */
+ /* _mesa_function_pool[28631]: SecondaryColor3svEXT (will be remapped) */
"p\0"
"glSecondaryColor3sv\0"
"glSecondaryColor3svEXT\0"
"\0"
- /* _mesa_function_pool[28387]: LoadTransposeMatrixfARB (will be remapped) */
+ /* _mesa_function_pool[28677]: LoadTransposeMatrixfARB (will be remapped) */
"p\0"
"glLoadTransposeMatrixf\0"
"glLoadTransposeMatrixfARB\0"
"\0"
- /* _mesa_function_pool[28439]: GetPointerv (offset 329) */
+ /* _mesa_function_pool[28729]: GetPointerv (offset 329) */
"ip\0"
"glGetPointerv\0"
"glGetPointervEXT\0"
"\0"
- /* _mesa_function_pool[28474]: Tangent3bEXT (dynamic) */
+ /* _mesa_function_pool[28764]: Tangent3bEXT (dynamic) */
"iii\0"
"glTangent3bEXT\0"
"\0"
- /* _mesa_function_pool[28494]: CombinerParameterfNV (will be remapped) */
+ /* _mesa_function_pool[28784]: CombinerParameterfNV (will be remapped) */
"if\0"
"glCombinerParameterfNV\0"
"\0"
- /* _mesa_function_pool[28521]: IndexMask (offset 212) */
+ /* _mesa_function_pool[28811]: IndexMask (offset 212) */
"i\0"
"glIndexMask\0"
"\0"
- /* _mesa_function_pool[28536]: BindProgramNV (will be remapped) */
+ /* _mesa_function_pool[28826]: BindProgramNV (will be remapped) */
"ii\0"
"glBindProgramARB\0"
"glBindProgramNV\0"
"\0"
- /* _mesa_function_pool[28573]: VertexAttrib4svARB (will be remapped) */
+ /* _mesa_function_pool[28863]: VertexAttrib4svARB (will be remapped) */
"ip\0"
"glVertexAttrib4sv\0"
"glVertexAttrib4svARB\0"
"\0"
- /* _mesa_function_pool[28616]: GetFloatv (offset 262) */
+ /* _mesa_function_pool[28906]: GetFloatv (offset 262) */
"ip\0"
"glGetFloatv\0"
"\0"
- /* _mesa_function_pool[28632]: CreateDebugObjectMESA (dynamic) */
+ /* _mesa_function_pool[28922]: CreateDebugObjectMESA (dynamic) */
"\0"
"glCreateDebugObjectMESA\0"
"\0"
- /* _mesa_function_pool[28658]: GetShaderiv (will be remapped) */
+ /* _mesa_function_pool[28948]: GetShaderiv (will be remapped) */
"iip\0"
"glGetShaderiv\0"
"\0"
- /* _mesa_function_pool[28677]: ClientWaitSync (will be remapped) */
+ /* _mesa_function_pool[28967]: ClientWaitSync (will be remapped) */
"iii\0"
"glClientWaitSync\0"
"\0"
- /* _mesa_function_pool[28699]: TexCoord4s (offset 124) */
+ /* _mesa_function_pool[28989]: TexCoord4s (offset 124) */
"iiii\0"
"glTexCoord4s\0"
"\0"
- /* _mesa_function_pool[28718]: TexCoord3sv (offset 117) */
+ /* _mesa_function_pool[29008]: TexCoord3sv (offset 117) */
"p\0"
"glTexCoord3sv\0"
"\0"
- /* _mesa_function_pool[28735]: BindFragmentShaderATI (will be remapped) */
+ /* _mesa_function_pool[29025]: BindFragmentShaderATI (will be remapped) */
"i\0"
"glBindFragmentShaderATI\0"
"\0"
- /* _mesa_function_pool[28762]: PopAttrib (offset 218) */
+ /* _mesa_function_pool[29052]: PopAttrib (offset 218) */
"\0"
"glPopAttrib\0"
"\0"
- /* _mesa_function_pool[28776]: Fogfv (offset 154) */
+ /* _mesa_function_pool[29066]: Fogfv (offset 154) */
"ip\0"
"glFogfv\0"
"\0"
- /* _mesa_function_pool[28788]: UnmapBufferARB (will be remapped) */
+ /* _mesa_function_pool[29078]: UnmapBufferARB (will be remapped) */
"i\0"
"glUnmapBuffer\0"
"glUnmapBufferARB\0"
"\0"
- /* _mesa_function_pool[28822]: InitNames (offset 197) */
+ /* _mesa_function_pool[29112]: InitNames (offset 197) */
"\0"
"glInitNames\0"
"\0"
- /* _mesa_function_pool[28836]: Normal3sv (offset 61) */
+ /* _mesa_function_pool[29126]: Normal3sv (offset 61) */
"p\0"
"glNormal3sv\0"
"\0"
- /* _mesa_function_pool[28851]: Minmax (offset 368) */
+ /* _mesa_function_pool[29141]: Minmax (offset 368) */
"iii\0"
"glMinmax\0"
"glMinmaxEXT\0"
"\0"
- /* _mesa_function_pool[28877]: TexCoord4d (offset 118) */
+ /* _mesa_function_pool[29167]: TexCoord4d (offset 118) */
"dddd\0"
"glTexCoord4d\0"
"\0"
- /* _mesa_function_pool[28896]: TexCoord4f (offset 120) */
+ /* _mesa_function_pool[29186]: TexCoord4f (offset 120) */
"ffff\0"
"glTexCoord4f\0"
"\0"
- /* _mesa_function_pool[28915]: FogCoorddvEXT (will be remapped) */
+ /* _mesa_function_pool[29205]: FogCoorddvEXT (will be remapped) */
"p\0"
"glFogCoorddv\0"
"glFogCoorddvEXT\0"
"\0"
- /* _mesa_function_pool[28947]: FinishTextureSUNX (dynamic) */
+ /* _mesa_function_pool[29237]: FinishTextureSUNX (dynamic) */
"\0"
"glFinishTextureSUNX\0"
"\0"
- /* _mesa_function_pool[28969]: GetFragmentLightfvSGIX (dynamic) */
+ /* _mesa_function_pool[29259]: GetFragmentLightfvSGIX (dynamic) */
"iip\0"
"glGetFragmentLightfvSGIX\0"
"\0"
- /* _mesa_function_pool[28999]: Binormal3fvEXT (dynamic) */
+ /* _mesa_function_pool[29289]: Binormal3fvEXT (dynamic) */
"p\0"
"glBinormal3fvEXT\0"
"\0"
- /* _mesa_function_pool[29019]: GetBooleanv (offset 258) */
+ /* _mesa_function_pool[29309]: GetBooleanv (offset 258) */
"ip\0"
"glGetBooleanv\0"
"\0"
- /* _mesa_function_pool[29037]: ColorFragmentOp3ATI (will be remapped) */
+ /* _mesa_function_pool[29327]: ColorFragmentOp3ATI (will be remapped) */
"iiiiiiiiiiiii\0"
"glColorFragmentOp3ATI\0"
"\0"
- /* _mesa_function_pool[29074]: Hint (offset 158) */
+ /* _mesa_function_pool[29364]: Hint (offset 158) */
"ii\0"
"glHint\0"
"\0"
- /* _mesa_function_pool[29085]: Color4dv (offset 28) */
+ /* _mesa_function_pool[29375]: Color4dv (offset 28) */
"p\0"
"glColor4dv\0"
"\0"
- /* _mesa_function_pool[29099]: VertexAttrib2svARB (will be remapped) */
+ /* _mesa_function_pool[29389]: VertexAttrib2svARB (will be remapped) */
"ip\0"
"glVertexAttrib2sv\0"
"glVertexAttrib2svARB\0"
"\0"
- /* _mesa_function_pool[29142]: AreProgramsResidentNV (will be remapped) */
+ /* _mesa_function_pool[29432]: AreProgramsResidentNV (will be remapped) */
"ipp\0"
"glAreProgramsResidentNV\0"
"\0"
- /* _mesa_function_pool[29171]: WindowPos3svMESA (will be remapped) */
+ /* _mesa_function_pool[29461]: WindowPos3svMESA (will be remapped) */
"p\0"
"glWindowPos3sv\0"
"glWindowPos3svARB\0"
"glWindowPos3svMESA\0"
"\0"
- /* _mesa_function_pool[29226]: CopyColorSubTable (offset 347) */
+ /* _mesa_function_pool[29516]: CopyColorSubTable (offset 347) */
"iiiii\0"
"glCopyColorSubTable\0"
"glCopyColorSubTableEXT\0"
"\0"
- /* _mesa_function_pool[29276]: WeightdvARB (dynamic) */
+ /* _mesa_function_pool[29566]: WeightdvARB (dynamic) */
"ip\0"
"glWeightdvARB\0"
"\0"
- /* _mesa_function_pool[29294]: DeleteRenderbuffersEXT (will be remapped) */
+ /* _mesa_function_pool[29584]: DeleteRenderbuffersEXT (will be remapped) */
"ip\0"
"glDeleteRenderbuffers\0"
"glDeleteRenderbuffersEXT\0"
"\0"
- /* _mesa_function_pool[29345]: VertexAttrib4NubvARB (will be remapped) */
+ /* _mesa_function_pool[29635]: VertexAttrib4NubvARB (will be remapped) */
"ip\0"
"glVertexAttrib4Nubv\0"
"glVertexAttrib4NubvARB\0"
"\0"
- /* _mesa_function_pool[29392]: VertexAttrib3dvNV (will be remapped) */
+ /* _mesa_function_pool[29682]: VertexAttrib3dvNV (will be remapped) */
"ip\0"
"glVertexAttrib3dvNV\0"
"\0"
- /* _mesa_function_pool[29416]: GetObjectParameterfvARB (will be remapped) */
+ /* _mesa_function_pool[29706]: GetObjectParameterfvARB (will be remapped) */
"iip\0"
"glGetObjectParameterfvARB\0"
"\0"
- /* _mesa_function_pool[29447]: Vertex4iv (offset 147) */
+ /* _mesa_function_pool[29737]: Vertex4iv (offset 147) */
"p\0"
"glVertex4iv\0"
"\0"
- /* _mesa_function_pool[29462]: GetProgramEnvParameterdvARB (will be remapped) */
+ /* _mesa_function_pool[29752]: GetProgramEnvParameterdvARB (will be remapped) */
"iip\0"
"glGetProgramEnvParameterdvARB\0"
"\0"
- /* _mesa_function_pool[29497]: TexCoord4dv (offset 119) */
+ /* _mesa_function_pool[29787]: TexCoord4dv (offset 119) */
"p\0"
"glTexCoord4dv\0"
"\0"
- /* _mesa_function_pool[29514]: LockArraysEXT (will be remapped) */
+ /* _mesa_function_pool[29804]: LockArraysEXT (will be remapped) */
"ii\0"
"glLockArraysEXT\0"
"\0"
- /* _mesa_function_pool[29534]: Begin (offset 7) */
+ /* _mesa_function_pool[29824]: Begin (offset 7) */
"i\0"
"glBegin\0"
"\0"
- /* _mesa_function_pool[29545]: LightModeli (offset 165) */
+ /* _mesa_function_pool[29835]: LightModeli (offset 165) */
"ii\0"
"glLightModeli\0"
"\0"
- /* _mesa_function_pool[29563]: Rectfv (offset 89) */
+ /* _mesa_function_pool[29853]: Rectfv (offset 89) */
"pp\0"
"glRectfv\0"
"\0"
- /* _mesa_function_pool[29576]: LightModelf (offset 163) */
+ /* _mesa_function_pool[29866]: LightModelf (offset 163) */
"if\0"
"glLightModelf\0"
"\0"
- /* _mesa_function_pool[29594]: GetTexParameterfv (offset 282) */
+ /* _mesa_function_pool[29884]: GetTexParameterfv (offset 282) */
"iip\0"
"glGetTexParameterfv\0"
"\0"
- /* _mesa_function_pool[29619]: GetLightfv (offset 264) */
+ /* _mesa_function_pool[29909]: GetLightfv (offset 264) */
"iip\0"
"glGetLightfv\0"
"\0"
- /* _mesa_function_pool[29637]: PixelTransformParameterivEXT (dynamic) */
+ /* _mesa_function_pool[29927]: PixelTransformParameterivEXT (dynamic) */
"iip\0"
"glPixelTransformParameterivEXT\0"
"\0"
- /* _mesa_function_pool[29673]: BinormalPointerEXT (dynamic) */
+ /* _mesa_function_pool[29963]: BinormalPointerEXT (dynamic) */
"iip\0"
"glBinormalPointerEXT\0"
"\0"
- /* _mesa_function_pool[29699]: VertexAttrib1dNV (will be remapped) */
+ /* _mesa_function_pool[29989]: VertexAttrib1dNV (will be remapped) */
"id\0"
"glVertexAttrib1dNV\0"
"\0"
- /* _mesa_function_pool[29722]: GetCombinerInputParameterivNV (will be remapped) */
+ /* _mesa_function_pool[30012]: GetCombinerInputParameterivNV (will be remapped) */
"iiiip\0"
"glGetCombinerInputParameterivNV\0"
"\0"
- /* _mesa_function_pool[29761]: Disable (offset 214) */
+ /* _mesa_function_pool[30051]: Disable (offset 214) */
"i\0"
"glDisable\0"
"\0"
- /* _mesa_function_pool[29774]: MultiTexCoord2fvARB (offset 387) */
+ /* _mesa_function_pool[30064]: MultiTexCoord2fvARB (offset 387) */
"ip\0"
"glMultiTexCoord2fv\0"
"glMultiTexCoord2fvARB\0"
"\0"
- /* _mesa_function_pool[29819]: GetRenderbufferParameterivEXT (will be remapped) */
+ /* _mesa_function_pool[30109]: GetRenderbufferParameterivEXT (will be remapped) */
"iip\0"
"glGetRenderbufferParameteriv\0"
"glGetRenderbufferParameterivEXT\0"
"\0"
- /* _mesa_function_pool[29885]: CombinerParameterivNV (will be remapped) */
+ /* _mesa_function_pool[30175]: CombinerParameterivNV (will be remapped) */
"ip\0"
"glCombinerParameterivNV\0"
"\0"
- /* _mesa_function_pool[29913]: GenFragmentShadersATI (will be remapped) */
+ /* _mesa_function_pool[30203]: GenFragmentShadersATI (will be remapped) */
"i\0"
"glGenFragmentShadersATI\0"
"\0"
- /* _mesa_function_pool[29940]: DrawArrays (offset 310) */
+ /* _mesa_function_pool[30230]: DrawArrays (offset 310) */
"iii\0"
"glDrawArrays\0"
"glDrawArraysEXT\0"
"\0"
- /* _mesa_function_pool[29974]: WeightuivARB (dynamic) */
+ /* _mesa_function_pool[30264]: WeightuivARB (dynamic) */
"ip\0"
"glWeightuivARB\0"
"\0"
- /* _mesa_function_pool[29993]: VertexAttrib2sARB (will be remapped) */
+ /* _mesa_function_pool[30283]: VertexAttrib2sARB (will be remapped) */
"iii\0"
"glVertexAttrib2s\0"
"glVertexAttrib2sARB\0"
"\0"
- /* _mesa_function_pool[30035]: ColorMask (offset 210) */
+ /* _mesa_function_pool[30325]: ColorMask (offset 210) */
"iiii\0"
"glColorMask\0"
"\0"
- /* _mesa_function_pool[30053]: GenAsyncMarkersSGIX (dynamic) */
+ /* _mesa_function_pool[30343]: GenAsyncMarkersSGIX (dynamic) */
"i\0"
"glGenAsyncMarkersSGIX\0"
"\0"
- /* _mesa_function_pool[30078]: Tangent3svEXT (dynamic) */
+ /* _mesa_function_pool[30368]: Tangent3svEXT (dynamic) */
"p\0"
"glTangent3svEXT\0"
"\0"
- /* _mesa_function_pool[30097]: GetListParameterivSGIX (dynamic) */
+ /* _mesa_function_pool[30387]: GetListParameterivSGIX (dynamic) */
"iip\0"
"glGetListParameterivSGIX\0"
"\0"
- /* _mesa_function_pool[30127]: BindBufferARB (will be remapped) */
+ /* _mesa_function_pool[30417]: BindBufferARB (will be remapped) */
"ii\0"
"glBindBuffer\0"
"glBindBufferARB\0"
"\0"
- /* _mesa_function_pool[30160]: GetInfoLogARB (will be remapped) */
+ /* _mesa_function_pool[30450]: GetInfoLogARB (will be remapped) */
"iipp\0"
"glGetInfoLogARB\0"
"\0"
- /* _mesa_function_pool[30182]: RasterPos4iv (offset 83) */
+ /* _mesa_function_pool[30472]: RasterPos4iv (offset 83) */
"p\0"
"glRasterPos4iv\0"
"\0"
- /* _mesa_function_pool[30200]: Enable (offset 215) */
+ /* _mesa_function_pool[30490]: Enable (offset 215) */
"i\0"
"glEnable\0"
"\0"
- /* _mesa_function_pool[30212]: LineStipple (offset 167) */
+ /* _mesa_function_pool[30502]: LineStipple (offset 167) */
"ii\0"
"glLineStipple\0"
"\0"
- /* _mesa_function_pool[30230]: VertexAttribs4svNV (will be remapped) */
+ /* _mesa_function_pool[30520]: VertexAttribs4svNV (will be remapped) */
"iip\0"
"glVertexAttribs4svNV\0"
"\0"
- /* _mesa_function_pool[30256]: EdgeFlagPointerListIBM (dynamic) */
+ /* _mesa_function_pool[30546]: EdgeFlagPointerListIBM (dynamic) */
"ipi\0"
"glEdgeFlagPointerListIBM\0"
"\0"
- /* _mesa_function_pool[30286]: UniformMatrix3x2fv (will be remapped) */
+ /* _mesa_function_pool[30576]: UniformMatrix3x2fv (will be remapped) */
"iiip\0"
"glUniformMatrix3x2fv\0"
"\0"
- /* _mesa_function_pool[30313]: GetMinmaxParameterfv (offset 365) */
+ /* _mesa_function_pool[30603]: GetMinmaxParameterfv (offset 365) */
"iip\0"
"glGetMinmaxParameterfv\0"
"glGetMinmaxParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[30367]: VertexAttrib1fvARB (will be remapped) */
+ /* _mesa_function_pool[30657]: VertexAttrib1fvARB (will be remapped) */
"ip\0"
"glVertexAttrib1fv\0"
"glVertexAttrib1fvARB\0"
"\0"
- /* _mesa_function_pool[30410]: GenBuffersARB (will be remapped) */
+ /* _mesa_function_pool[30700]: GenBuffersARB (will be remapped) */
"ip\0"
"glGenBuffers\0"
"glGenBuffersARB\0"
"\0"
- /* _mesa_function_pool[30443]: VertexAttribs1svNV (will be remapped) */
+ /* _mesa_function_pool[30733]: VertexAttribs1svNV (will be remapped) */
"iip\0"
"glVertexAttribs1svNV\0"
"\0"
- /* _mesa_function_pool[30469]: Vertex3fv (offset 137) */
+ /* _mesa_function_pool[30759]: Vertex3fv (offset 137) */
"p\0"
"glVertex3fv\0"
"\0"
- /* _mesa_function_pool[30484]: GetTexBumpParameterivATI (will be remapped) */
+ /* _mesa_function_pool[30774]: GetTexBumpParameterivATI (will be remapped) */
"ip\0"
"glGetTexBumpParameterivATI\0"
"\0"
- /* _mesa_function_pool[30515]: Binormal3bEXT (dynamic) */
+ /* _mesa_function_pool[30805]: Binormal3bEXT (dynamic) */
"iii\0"
"glBinormal3bEXT\0"
"\0"
- /* _mesa_function_pool[30536]: FragmentMaterialivSGIX (dynamic) */
+ /* _mesa_function_pool[30826]: FragmentMaterialivSGIX (dynamic) */
"iip\0"
"glFragmentMaterialivSGIX\0"
"\0"
- /* _mesa_function_pool[30566]: IsRenderbufferEXT (will be remapped) */
+ /* _mesa_function_pool[30856]: IsRenderbufferEXT (will be remapped) */
"i\0"
"glIsRenderbuffer\0"
"glIsRenderbufferEXT\0"
"\0"
- /* _mesa_function_pool[30606]: GenProgramsNV (will be remapped) */
+ /* _mesa_function_pool[30896]: GenProgramsNV (will be remapped) */
"ip\0"
"glGenProgramsARB\0"
"glGenProgramsNV\0"
"\0"
- /* _mesa_function_pool[30643]: VertexAttrib4dvNV (will be remapped) */
+ /* _mesa_function_pool[30933]: VertexAttrib4dvNV (will be remapped) */
"ip\0"
"glVertexAttrib4dvNV\0"
"\0"
- /* _mesa_function_pool[30667]: EndFragmentShaderATI (will be remapped) */
+ /* _mesa_function_pool[30957]: EndFragmentShaderATI (will be remapped) */
"\0"
"glEndFragmentShaderATI\0"
"\0"
- /* _mesa_function_pool[30692]: Binormal3iEXT (dynamic) */
+ /* _mesa_function_pool[30982]: Binormal3iEXT (dynamic) */
"iii\0"
"glBinormal3iEXT\0"
"\0"
- /* _mesa_function_pool[30713]: WindowPos2fMESA (will be remapped) */
+ /* _mesa_function_pool[31003]: WindowPos2fMESA (will be remapped) */
"ff\0"
"glWindowPos2f\0"
"glWindowPos2fARB\0"
@@ -4469,422 +4513,433 @@ static const char _mesa_function_pool[] =
/* these functions need to be remapped */
static const struct gl_function_pool_remap MESA_remap_table_functions[] = {
{ 1500, AttachShader_remap_index },
- { 9034, CreateProgram_remap_index },
- { 21160, CreateShader_remap_index },
- { 23473, DeleteProgram_remap_index },
- { 16944, DeleteShader_remap_index },
- { 21606, DetachShader_remap_index },
- { 16468, GetAttachedShaders_remap_index },
- { 4314, GetProgramInfoLog_remap_index },
+ { 9144, CreateProgram_remap_index },
+ { 21374, CreateShader_remap_index },
+ { 23687, DeleteProgram_remap_index },
+ { 17134, DeleteShader_remap_index },
+ { 21820, DetachShader_remap_index },
+ { 16658, GetAttachedShaders_remap_index },
+ { 4365, GetProgramInfoLog_remap_index },
{ 400, GetProgramiv_remap_index },
- { 5760, GetShaderInfoLog_remap_index },
- { 28658, GetShaderiv_remap_index },
- { 12276, IsProgram_remap_index },
- { 11275, IsShader_remap_index },
- { 9138, StencilFuncSeparate_remap_index },
- { 3526, StencilMaskSeparate_remap_index },
- { 6842, StencilOpSeparate_remap_index },
- { 20485, UniformMatrix2x3fv_remap_index },
+ { 5841, GetShaderInfoLog_remap_index },
+ { 28948, GetShaderiv_remap_index },
+ { 12386, IsProgram_remap_index },
+ { 11385, IsShader_remap_index },
+ { 9248, StencilFuncSeparate_remap_index },
+ { 3577, StencilMaskSeparate_remap_index },
+ { 6923, StencilOpSeparate_remap_index },
+ { 20675, UniformMatrix2x3fv_remap_index },
{ 2654, UniformMatrix2x4fv_remap_index },
- { 30286, UniformMatrix3x2fv_remap_index },
- { 28048, UniformMatrix3x4fv_remap_index },
- { 14968, UniformMatrix4x2fv_remap_index },
- { 2976, UniformMatrix4x3fv_remap_index },
- { 14629, DrawArraysInstanced_remap_index },
- { 15732, DrawElementsInstanced_remap_index },
- { 9052, LoadTransposeMatrixdARB_remap_index },
- { 28387, LoadTransposeMatrixfARB_remap_index },
- { 4972, MultTransposeMatrixdARB_remap_index },
- { 21793, MultTransposeMatrixfARB_remap_index },
+ { 30576, UniformMatrix3x2fv_remap_index },
+ { 28315, UniformMatrix3x4fv_remap_index },
+ { 15078, UniformMatrix4x2fv_remap_index },
+ { 3002, UniformMatrix4x3fv_remap_index },
+ { 14739, DrawArraysInstanced_remap_index },
+ { 15871, DrawElementsInstanced_remap_index },
+ { 9162, LoadTransposeMatrixdARB_remap_index },
+ { 28677, LoadTransposeMatrixfARB_remap_index },
+ { 5023, MultTransposeMatrixdARB_remap_index },
+ { 22007, MultTransposeMatrixfARB_remap_index },
{ 211, SampleCoverageARB_remap_index },
- { 5156, CompressedTexImage1DARB_remap_index },
- { 22276, CompressedTexImage2DARB_remap_index },
- { 3589, CompressedTexImage3DARB_remap_index },
- { 16760, CompressedTexSubImage1DARB_remap_index },
+ { 5207, CompressedTexImage1DARB_remap_index },
+ { 22490, CompressedTexImage2DARB_remap_index },
+ { 3640, CompressedTexImage3DARB_remap_index },
+ { 16950, CompressedTexSubImage1DARB_remap_index },
{ 1919, CompressedTexSubImage2DARB_remap_index },
- { 18621, CompressedTexSubImage3DARB_remap_index },
- { 26330, GetCompressedTexImageARB_remap_index },
- { 3434, DisableVertexAttribArrayARB_remap_index },
- { 27660, EnableVertexAttribArrayARB_remap_index },
- { 29462, GetProgramEnvParameterdvARB_remap_index },
- { 21673, GetProgramEnvParameterfvARB_remap_index },
- { 25329, GetProgramLocalParameterdvARB_remap_index },
- { 7284, GetProgramLocalParameterfvARB_remap_index },
- { 16851, GetProgramStringARB_remap_index },
- { 25524, GetProgramivARB_remap_index },
- { 18816, GetVertexAttribdvARB_remap_index },
- { 14857, GetVertexAttribfvARB_remap_index },
- { 8947, GetVertexAttribivARB_remap_index },
- { 17697, ProgramEnvParameter4dARB_remap_index },
- { 23246, ProgramEnvParameter4dvARB_remap_index },
- { 15465, ProgramEnvParameter4fARB_remap_index },
- { 8147, ProgramEnvParameter4fvARB_remap_index },
- { 3552, ProgramLocalParameter4dARB_remap_index },
- { 11986, ProgramLocalParameter4dvARB_remap_index },
- { 27139, ProgramLocalParameter4fARB_remap_index },
- { 23826, ProgramLocalParameter4fvARB_remap_index },
- { 26110, ProgramStringARB_remap_index },
- { 17947, VertexAttrib1dARB_remap_index },
- { 14433, VertexAttrib1dvARB_remap_index },
- { 3727, VertexAttrib1fARB_remap_index },
- { 30367, VertexAttrib1fvARB_remap_index },
- { 6368, VertexAttrib1sARB_remap_index },
+ { 18811, CompressedTexSubImage3DARB_remap_index },
+ { 26597, GetCompressedTexImageARB_remap_index },
+ { 3485, DisableVertexAttribArrayARB_remap_index },
+ { 27927, EnableVertexAttribArrayARB_remap_index },
+ { 29752, GetProgramEnvParameterdvARB_remap_index },
+ { 21887, GetProgramEnvParameterfvARB_remap_index },
+ { 25570, GetProgramLocalParameterdvARB_remap_index },
+ { 7365, GetProgramLocalParameterfvARB_remap_index },
+ { 17041, GetProgramStringARB_remap_index },
+ { 25765, GetProgramivARB_remap_index },
+ { 19006, GetVertexAttribdvARB_remap_index },
+ { 14967, GetVertexAttribfvARB_remap_index },
+ { 9028, GetVertexAttribivARB_remap_index },
+ { 17887, ProgramEnvParameter4dARB_remap_index },
+ { 23460, ProgramEnvParameter4dvARB_remap_index },
+ { 15575, ProgramEnvParameter4fARB_remap_index },
+ { 8228, ProgramEnvParameter4fvARB_remap_index },
+ { 3603, ProgramLocalParameter4dARB_remap_index },
+ { 12096, ProgramLocalParameter4dvARB_remap_index },
+ { 27406, ProgramLocalParameter4fARB_remap_index },
+ { 24040, ProgramLocalParameter4fvARB_remap_index },
+ { 26351, ProgramStringARB_remap_index },
+ { 18137, VertexAttrib1dARB_remap_index },
+ { 14543, VertexAttrib1dvARB_remap_index },
+ { 3778, VertexAttrib1fARB_remap_index },
+ { 30657, VertexAttrib1fvARB_remap_index },
+ { 6449, VertexAttrib1sARB_remap_index },
{ 2093, VertexAttrib1svARB_remap_index },
- { 13864, VertexAttrib2dARB_remap_index },
- { 16087, VertexAttrib2dvARB_remap_index },
+ { 13974, VertexAttrib2dARB_remap_index },
+ { 16277, VertexAttrib2dvARB_remap_index },
{ 1519, VertexAttrib2fARB_remap_index },
- { 16200, VertexAttrib2fvARB_remap_index },
- { 29993, VertexAttrib2sARB_remap_index },
- { 29099, VertexAttrib2svARB_remap_index },
- { 10321, VertexAttrib3dARB_remap_index },
- { 7850, VertexAttrib3dvARB_remap_index },
+ { 16390, VertexAttrib2fvARB_remap_index },
+ { 30283, VertexAttrib2sARB_remap_index },
+ { 29389, VertexAttrib2svARB_remap_index },
+ { 10431, VertexAttrib3dARB_remap_index },
+ { 7931, VertexAttrib3dvARB_remap_index },
{ 1606, VertexAttrib3fARB_remap_index },
- { 20748, VertexAttrib3fvARB_remap_index },
- { 25957, VertexAttrib3sARB_remap_index },
- { 18558, VertexAttrib3svARB_remap_index },
- { 4340, VertexAttrib4NbvARB_remap_index },
- { 16423, VertexAttrib4NivARB_remap_index },
- { 20703, VertexAttrib4NsvARB_remap_index },
- { 21625, VertexAttrib4NubARB_remap_index },
- { 29345, VertexAttrib4NubvARB_remap_index },
- { 17358, VertexAttrib4NuivARB_remap_index },
- { 2849, VertexAttrib4NusvARB_remap_index },
- { 9915, VertexAttrib4bvARB_remap_index },
- { 24737, VertexAttrib4dARB_remap_index },
- { 19580, VertexAttrib4dvARB_remap_index },
- { 10428, VertexAttrib4fARB_remap_index },
- { 10832, VertexAttrib4fvARB_remap_index },
- { 9331, VertexAttrib4ivARB_remap_index },
- { 15901, VertexAttrib4sARB_remap_index },
- { 28573, VertexAttrib4svARB_remap_index },
- { 15270, VertexAttrib4ubvARB_remap_index },
- { 27984, VertexAttrib4uivARB_remap_index },
- { 18369, VertexAttrib4usvARB_remap_index },
- { 20334, VertexAttribPointerARB_remap_index },
- { 30127, BindBufferARB_remap_index },
- { 6075, BufferDataARB_remap_index },
+ { 20938, VertexAttrib3fvARB_remap_index },
+ { 26198, VertexAttrib3sARB_remap_index },
+ { 18748, VertexAttrib3svARB_remap_index },
+ { 4391, VertexAttrib4NbvARB_remap_index },
+ { 16613, VertexAttrib4NivARB_remap_index },
+ { 20893, VertexAttrib4NsvARB_remap_index },
+ { 21839, VertexAttrib4NubARB_remap_index },
+ { 29635, VertexAttrib4NubvARB_remap_index },
+ { 17548, VertexAttrib4NuivARB_remap_index },
+ { 2875, VertexAttrib4NusvARB_remap_index },
+ { 10025, VertexAttrib4bvARB_remap_index },
+ { 24978, VertexAttrib4dARB_remap_index },
+ { 19770, VertexAttrib4dvARB_remap_index },
+ { 10538, VertexAttrib4fARB_remap_index },
+ { 10942, VertexAttrib4fvARB_remap_index },
+ { 9441, VertexAttrib4ivARB_remap_index },
+ { 16091, VertexAttrib4sARB_remap_index },
+ { 28863, VertexAttrib4svARB_remap_index },
+ { 15380, VertexAttrib4ubvARB_remap_index },
+ { 28251, VertexAttrib4uivARB_remap_index },
+ { 18559, VertexAttrib4usvARB_remap_index },
+ { 20524, VertexAttribPointerARB_remap_index },
+ { 30417, BindBufferARB_remap_index },
+ { 6156, BufferDataARB_remap_index },
{ 1421, BufferSubDataARB_remap_index },
- { 28173, DeleteBuffersARB_remap_index },
- { 30410, GenBuffersARB_remap_index },
- { 16243, GetBufferParameterivARB_remap_index },
- { 15417, GetBufferPointervARB_remap_index },
+ { 28440, DeleteBuffersARB_remap_index },
+ { 30700, GenBuffersARB_remap_index },
+ { 16433, GetBufferParameterivARB_remap_index },
+ { 15527, GetBufferPointervARB_remap_index },
{ 1374, GetBufferSubDataARB_remap_index },
- { 27932, IsBufferARB_remap_index },
- { 24310, MapBufferARB_remap_index },
- { 28788, UnmapBufferARB_remap_index },
+ { 28199, IsBufferARB_remap_index },
+ { 24524, MapBufferARB_remap_index },
+ { 29078, UnmapBufferARB_remap_index },
{ 307, BeginQueryARB_remap_index },
- { 18042, DeleteQueriesARB_remap_index },
- { 11126, EndQueryARB_remap_index },
- { 26809, GenQueriesARB_remap_index },
+ { 18232, DeleteQueriesARB_remap_index },
+ { 11236, EndQueryARB_remap_index },
+ { 27076, GenQueriesARB_remap_index },
{ 1811, GetQueryObjectivARB_remap_index },
- { 15945, GetQueryObjectuivARB_remap_index },
+ { 16135, GetQueryObjectuivARB_remap_index },
{ 1663, GetQueryivARB_remap_index },
- { 18276, IsQueryARB_remap_index },
- { 7460, AttachObjectARB_remap_index },
- { 16906, CompileShaderARB_remap_index },
- { 2918, CreateProgramObjectARB_remap_index },
- { 6020, CreateShaderObjectARB_remap_index },
- { 13281, DeleteObjectARB_remap_index },
- { 22067, DetachObjectARB_remap_index },
- { 10904, GetActiveUniformARB_remap_index },
- { 8622, GetAttachedObjectsARB_remap_index },
- { 8929, GetHandleARB_remap_index },
- { 30160, GetInfoLogARB_remap_index },
- { 29416, GetObjectParameterfvARB_remap_index },
- { 25203, GetObjectParameterivARB_remap_index },
- { 26567, GetShaderSourceARB_remap_index },
- { 25817, GetUniformLocationARB_remap_index },
- { 21895, GetUniformfvARB_remap_index },
- { 11608, GetUniformivARB_remap_index },
- { 18414, LinkProgramARB_remap_index },
- { 18472, ShaderSourceARB_remap_index },
- { 6742, Uniform1fARB_remap_index },
- { 27348, Uniform1fvARB_remap_index },
- { 20303, Uniform1iARB_remap_index },
- { 19269, Uniform1ivARB_remap_index },
+ { 18466, IsQueryARB_remap_index },
+ { 7541, AttachObjectARB_remap_index },
+ { 17096, CompileShaderARB_remap_index },
+ { 2944, CreateProgramObjectARB_remap_index },
+ { 6101, CreateShaderObjectARB_remap_index },
+ { 13391, DeleteObjectARB_remap_index },
+ { 22281, DetachObjectARB_remap_index },
+ { 11014, GetActiveUniformARB_remap_index },
+ { 8703, GetAttachedObjectsARB_remap_index },
+ { 9010, GetHandleARB_remap_index },
+ { 30450, GetInfoLogARB_remap_index },
+ { 29706, GetObjectParameterfvARB_remap_index },
+ { 25444, GetObjectParameterivARB_remap_index },
+ { 26834, GetShaderSourceARB_remap_index },
+ { 26058, GetUniformLocationARB_remap_index },
+ { 22109, GetUniformfvARB_remap_index },
+ { 11718, GetUniformivARB_remap_index },
+ { 18604, LinkProgramARB_remap_index },
+ { 18662, ShaderSourceARB_remap_index },
+ { 6823, Uniform1fARB_remap_index },
+ { 27615, Uniform1fvARB_remap_index },
+ { 20493, Uniform1iARB_remap_index },
+ { 19459, Uniform1ivARB_remap_index },
{ 2042, Uniform2fARB_remap_index },
- { 13117, Uniform2fvARB_remap_index },
- { 24197, Uniform2iARB_remap_index },
+ { 13227, Uniform2fvARB_remap_index },
+ { 24411, Uniform2iARB_remap_index },
{ 2162, Uniform2ivARB_remap_index },
- { 17016, Uniform3fARB_remap_index },
- { 8652, Uniform3fvARB_remap_index },
- { 5666, Uniform3iARB_remap_index },
- { 15523, Uniform3ivARB_remap_index },
- { 17503, Uniform4fARB_remap_index },
- { 21759, Uniform4fvARB_remap_index },
- { 22925, Uniform4iARB_remap_index },
- { 18782, Uniform4ivARB_remap_index },
- { 7512, UniformMatrix2fvARB_remap_index },
+ { 17206, Uniform3fARB_remap_index },
+ { 8733, Uniform3fvARB_remap_index },
+ { 5747, Uniform3iARB_remap_index },
+ { 15633, Uniform3ivARB_remap_index },
+ { 17693, Uniform4fARB_remap_index },
+ { 21973, Uniform4fvARB_remap_index },
+ { 23139, Uniform4iARB_remap_index },
+ { 18972, Uniform4ivARB_remap_index },
+ { 7593, UniformMatrix2fvARB_remap_index },
{ 17, UniformMatrix3fvARB_remap_index },
{ 2514, UniformMatrix4fvARB_remap_index },
- { 23358, UseProgramObjectARB_remap_index },
- { 13552, ValidateProgramARB_remap_index },
- { 19623, BindAttribLocationARB_remap_index },
- { 4385, GetActiveAttribARB_remap_index },
- { 15204, GetAttribLocationARB_remap_index },
- { 27087, DrawBuffersARB_remap_index },
- { 12091, RenderbufferStorageMultisample_remap_index },
- { 12495, FramebufferTextureARB_remap_index },
- { 23728, FramebufferTextureFaceARB_remap_index },
- { 22216, ProgramParameteriARB_remap_index },
- { 17551, FlushMappedBufferRange_remap_index },
- { 25620, MapBufferRange_remap_index },
- { 15079, BindVertexArray_remap_index },
- { 13411, GenVertexArrays_remap_index },
- { 27862, CopyBufferSubData_remap_index },
- { 28677, ClientWaitSync_remap_index },
+ { 23572, UseProgramObjectARB_remap_index },
+ { 13662, ValidateProgramARB_remap_index },
+ { 19813, BindAttribLocationARB_remap_index },
+ { 4436, GetActiveAttribARB_remap_index },
+ { 15314, GetAttribLocationARB_remap_index },
+ { 27354, DrawBuffersARB_remap_index },
+ { 12201, RenderbufferStorageMultisample_remap_index },
+ { 12605, FramebufferTextureARB_remap_index },
+ { 23942, FramebufferTextureFaceARB_remap_index },
+ { 22430, ProgramParameteriARB_remap_index },
+ { 17741, FlushMappedBufferRange_remap_index },
+ { 25861, MapBufferRange_remap_index },
+ { 15189, BindVertexArray_remap_index },
+ { 13521, GenVertexArrays_remap_index },
+ { 28129, CopyBufferSubData_remap_index },
+ { 28967, ClientWaitSync_remap_index },
{ 2433, DeleteSync_remap_index },
- { 6409, FenceSync_remap_index },
- { 13923, GetInteger64v_remap_index },
- { 20810, GetSynciv_remap_index },
- { 27026, IsSync_remap_index },
- { 8570, WaitSync_remap_index },
- { 3402, DrawElementsBaseVertex_remap_index },
- { 28105, DrawRangeElementsBaseVertex_remap_index },
- { 24341, MultiDrawElementsBaseVertex_remap_index },
- { 4519, BindTransformFeedback_remap_index },
- { 2945, DeleteTransformFeedbacks_remap_index },
- { 5699, DrawTransformFeedback_remap_index },
- { 8789, GenTransformFeedbacks_remap_index },
- { 26000, IsTransformFeedback_remap_index },
- { 23921, PauseTransformFeedback_remap_index },
- { 4892, ResumeTransformFeedback_remap_index },
- { 4807, PolygonOffsetEXT_remap_index },
- { 21395, GetPixelTexGenParameterfvSGIS_remap_index },
- { 3934, GetPixelTexGenParameterivSGIS_remap_index },
- { 21128, PixelTexGenParameterfSGIS_remap_index },
+ { 6490, FenceSync_remap_index },
+ { 14033, GetInteger64v_remap_index },
+ { 21000, GetSynciv_remap_index },
+ { 27293, IsSync_remap_index },
+ { 8651, WaitSync_remap_index },
+ { 3453, DrawElementsBaseVertex_remap_index },
+ { 28372, DrawRangeElementsBaseVertex_remap_index },
+ { 24555, MultiDrawElementsBaseVertex_remap_index },
+ { 4570, BindTransformFeedback_remap_index },
+ { 2971, DeleteTransformFeedbacks_remap_index },
+ { 5780, DrawTransformFeedback_remap_index },
+ { 8870, GenTransformFeedbacks_remap_index },
+ { 26241, IsTransformFeedback_remap_index },
+ { 24135, PauseTransformFeedback_remap_index },
+ { 4943, ResumeTransformFeedback_remap_index },
+ { 4858, PolygonOffsetEXT_remap_index },
+ { 21609, GetPixelTexGenParameterfvSGIS_remap_index },
+ { 3985, GetPixelTexGenParameterivSGIS_remap_index },
+ { 21342, PixelTexGenParameterfSGIS_remap_index },
{ 619, PixelTexGenParameterfvSGIS_remap_index },
- { 11646, PixelTexGenParameteriSGIS_remap_index },
- { 12637, PixelTexGenParameterivSGIS_remap_index },
- { 15167, SampleMaskSGIS_remap_index },
- { 18216, SamplePatternSGIS_remap_index },
- { 24270, ColorPointerEXT_remap_index },
- { 16130, EdgeFlagPointerEXT_remap_index },
- { 5320, IndexPointerEXT_remap_index },
- { 5400, NormalPointerEXT_remap_index },
- { 14517, TexCoordPointerEXT_remap_index },
- { 6198, VertexPointerEXT_remap_index },
- { 3204, PointParameterfEXT_remap_index },
- { 7049, PointParameterfvEXT_remap_index },
- { 29514, LockArraysEXT_remap_index },
- { 13616, UnlockArraysEXT_remap_index },
+ { 11756, PixelTexGenParameteriSGIS_remap_index },
+ { 12747, PixelTexGenParameterivSGIS_remap_index },
+ { 15277, SampleMaskSGIS_remap_index },
+ { 18406, SamplePatternSGIS_remap_index },
+ { 24484, ColorPointerEXT_remap_index },
+ { 16320, EdgeFlagPointerEXT_remap_index },
+ { 5401, IndexPointerEXT_remap_index },
+ { 5481, NormalPointerEXT_remap_index },
+ { 14627, TexCoordPointerEXT_remap_index },
+ { 6279, VertexPointerEXT_remap_index },
+ { 3255, PointParameterfEXT_remap_index },
+ { 7130, PointParameterfvEXT_remap_index },
+ { 29804, LockArraysEXT_remap_index },
+ { 13726, UnlockArraysEXT_remap_index },
{ 1190, SecondaryColor3bEXT_remap_index },
- { 7208, SecondaryColor3bvEXT_remap_index },
- { 9508, SecondaryColor3dEXT_remap_index },
- { 23531, SecondaryColor3dvEXT_remap_index },
- { 25866, SecondaryColor3fEXT_remap_index },
- { 16696, SecondaryColor3fvEXT_remap_index },
+ { 7289, SecondaryColor3bvEXT_remap_index },
+ { 9618, SecondaryColor3dEXT_remap_index },
+ { 23745, SecondaryColor3dvEXT_remap_index },
+ { 26107, SecondaryColor3fEXT_remap_index },
+ { 16886, SecondaryColor3fvEXT_remap_index },
{ 465, SecondaryColor3iEXT_remap_index },
- { 14905, SecondaryColor3ivEXT_remap_index },
- { 9166, SecondaryColor3sEXT_remap_index },
- { 28341, SecondaryColor3svEXT_remap_index },
- { 25039, SecondaryColor3ubEXT_remap_index },
- { 19514, SecondaryColor3ubvEXT_remap_index },
- { 11841, SecondaryColor3uiEXT_remap_index },
- { 21015, SecondaryColor3uivEXT_remap_index },
- { 23778, SecondaryColor3usEXT_remap_index },
- { 11914, SecondaryColor3usvEXT_remap_index },
- { 10775, SecondaryColorPointerEXT_remap_index },
- { 23592, MultiDrawArraysEXT_remap_index },
- { 19204, MultiDrawElementsEXT_remap_index },
- { 19399, FogCoordPointerEXT_remap_index },
- { 4083, FogCoorddEXT_remap_index },
- { 28915, FogCoorddvEXT_remap_index },
- { 4175, FogCoordfEXT_remap_index },
- { 24962, FogCoordfvEXT_remap_index },
- { 17455, PixelTexGenSGIX_remap_index },
- { 25547, BlendFuncSeparateEXT_remap_index },
- { 6110, FlushVertexArrayRangeNV_remap_index },
- { 4756, VertexArrayRangeNV_remap_index },
- { 25931, CombinerInputNV_remap_index },
+ { 15015, SecondaryColor3ivEXT_remap_index },
+ { 9276, SecondaryColor3sEXT_remap_index },
+ { 28631, SecondaryColor3svEXT_remap_index },
+ { 25280, SecondaryColor3ubEXT_remap_index },
+ { 19704, SecondaryColor3ubvEXT_remap_index },
+ { 11951, SecondaryColor3uiEXT_remap_index },
+ { 21229, SecondaryColor3uivEXT_remap_index },
+ { 23992, SecondaryColor3usEXT_remap_index },
+ { 12024, SecondaryColor3usvEXT_remap_index },
+ { 10885, SecondaryColorPointerEXT_remap_index },
+ { 23806, MultiDrawArraysEXT_remap_index },
+ { 19394, MultiDrawElementsEXT_remap_index },
+ { 19589, FogCoordPointerEXT_remap_index },
+ { 4134, FogCoorddEXT_remap_index },
+ { 29205, FogCoorddvEXT_remap_index },
+ { 4226, FogCoordfEXT_remap_index },
+ { 25203, FogCoordfvEXT_remap_index },
+ { 17645, PixelTexGenSGIX_remap_index },
+ { 25788, BlendFuncSeparateEXT_remap_index },
+ { 6191, FlushVertexArrayRangeNV_remap_index },
+ { 4807, VertexArrayRangeNV_remap_index },
+ { 26172, CombinerInputNV_remap_index },
{ 1985, CombinerOutputNV_remap_index },
- { 28494, CombinerParameterfNV_remap_index },
- { 4676, CombinerParameterfvNV_remap_index },
- { 20534, CombinerParameteriNV_remap_index },
- { 29885, CombinerParameterivNV_remap_index },
- { 6486, FinalCombinerInputNV_remap_index },
- { 8995, GetCombinerInputParameterfvNV_remap_index },
- { 29722, GetCombinerInputParameterivNV_remap_index },
+ { 28784, CombinerParameterfNV_remap_index },
+ { 4727, CombinerParameterfvNV_remap_index },
+ { 20724, CombinerParameteriNV_remap_index },
+ { 30175, CombinerParameterivNV_remap_index },
+ { 6567, FinalCombinerInputNV_remap_index },
+ { 9076, GetCombinerInputParameterfvNV_remap_index },
+ { 30012, GetCombinerInputParameterivNV_remap_index },
{ 172, GetCombinerOutputParameterfvNV_remap_index },
- { 12598, GetCombinerOutputParameterivNV_remap_index },
- { 5855, GetFinalCombinerInputParameterfvNV_remap_index },
- { 22797, GetFinalCombinerInputParameterivNV_remap_index },
- { 11586, ResizeBuffersMESA_remap_index },
- { 10148, WindowPos2dMESA_remap_index },
+ { 12708, GetCombinerOutputParameterivNV_remap_index },
+ { 5936, GetFinalCombinerInputParameterfvNV_remap_index },
+ { 23011, GetFinalCombinerInputParameterivNV_remap_index },
+ { 11696, ResizeBuffersMESA_remap_index },
+ { 10258, WindowPos2dMESA_remap_index },
{ 983, WindowPos2dvMESA_remap_index },
- { 30713, WindowPos2fMESA_remap_index },
- { 7153, WindowPos2fvMESA_remap_index },
- { 16643, WindowPos2iMESA_remap_index },
- { 18689, WindowPos2ivMESA_remap_index },
- { 19303, WindowPos2sMESA_remap_index },
- { 5070, WindowPos2svMESA_remap_index },
- { 6978, WindowPos3dMESA_remap_index },
- { 12845, WindowPos3dvMESA_remap_index },
+ { 31003, WindowPos2fMESA_remap_index },
+ { 7234, WindowPos2fvMESA_remap_index },
+ { 16833, WindowPos2iMESA_remap_index },
+ { 18879, WindowPos2ivMESA_remap_index },
+ { 19493, WindowPos2sMESA_remap_index },
+ { 5121, WindowPos2svMESA_remap_index },
+ { 7059, WindowPos3dMESA_remap_index },
+ { 12955, WindowPos3dvMESA_remap_index },
{ 511, WindowPos3fMESA_remap_index },
- { 13677, WindowPos3fvMESA_remap_index },
- { 22109, WindowPos3iMESA_remap_index },
- { 27807, WindowPos3ivMESA_remap_index },
- { 17161, WindowPos3sMESA_remap_index },
- { 29171, WindowPos3svMESA_remap_index },
- { 10099, WindowPos4dMESA_remap_index },
- { 15608, WindowPos4dvMESA_remap_index },
- { 12804, WindowPos4fMESA_remap_index },
- { 28248, WindowPos4fvMESA_remap_index },
- { 27960, WindowPos4iMESA_remap_index },
- { 11389, WindowPos4ivMESA_remap_index },
- { 17334, WindowPos4sMESA_remap_index },
- { 2896, WindowPos4svMESA_remap_index },
- { 24705, MultiModeDrawArraysIBM_remap_index },
- { 26680, MultiModeDrawElementsIBM_remap_index },
- { 11154, DeleteFencesNV_remap_index },
- { 25778, FinishFenceNV_remap_index },
- { 3326, GenFencesNV_remap_index },
- { 15588, GetFenceivNV_remap_index },
- { 7445, IsFenceNV_remap_index },
- { 12525, SetFenceNV_remap_index },
- { 3783, TestFenceNV_remap_index },
- { 29142, AreProgramsResidentNV_remap_index },
- { 28536, BindProgramNV_remap_index },
- { 23861, DeleteProgramsNV_remap_index },
- { 19732, ExecuteProgramNV_remap_index },
- { 30606, GenProgramsNV_remap_index },
- { 21474, GetProgramParameterdvNV_remap_index },
- { 9570, GetProgramParameterfvNV_remap_index },
- { 24244, GetProgramStringNV_remap_index },
- { 22486, GetProgramivNV_remap_index },
- { 21708, GetTrackMatrixivNV_remap_index },
- { 24038, GetVertexAttribPointervNV_remap_index },
- { 22730, GetVertexAttribdvNV_remap_index },
- { 8465, GetVertexAttribfvNV_remap_index },
- { 16824, GetVertexAttribivNV_remap_index },
- { 17581, IsProgramNV_remap_index },
- { 8548, LoadProgramNV_remap_index },
- { 25643, ProgramParameters4dvNV_remap_index },
- { 22416, ProgramParameters4fvNV_remap_index },
- { 18993, RequestResidentProgramsNV_remap_index },
- { 20512, TrackMatrixNV_remap_index },
- { 29699, VertexAttrib1dNV_remap_index },
- { 12436, VertexAttrib1dvNV_remap_index },
- { 26212, VertexAttrib1fNV_remap_index },
+ { 13787, WindowPos3fvMESA_remap_index },
+ { 22323, WindowPos3iMESA_remap_index },
+ { 28074, WindowPos3ivMESA_remap_index },
+ { 17351, WindowPos3sMESA_remap_index },
+ { 29461, WindowPos3svMESA_remap_index },
+ { 10209, WindowPos4dMESA_remap_index },
+ { 15747, WindowPos4dvMESA_remap_index },
+ { 12914, WindowPos4fMESA_remap_index },
+ { 28538, WindowPos4fvMESA_remap_index },
+ { 28227, WindowPos4iMESA_remap_index },
+ { 11499, WindowPos4ivMESA_remap_index },
+ { 17524, WindowPos4sMESA_remap_index },
+ { 2922, WindowPos4svMESA_remap_index },
+ { 24946, MultiModeDrawArraysIBM_remap_index },
+ { 26947, MultiModeDrawElementsIBM_remap_index },
+ { 11264, DeleteFencesNV_remap_index },
+ { 26019, FinishFenceNV_remap_index },
+ { 3377, GenFencesNV_remap_index },
+ { 15727, GetFenceivNV_remap_index },
+ { 7526, IsFenceNV_remap_index },
+ { 12635, SetFenceNV_remap_index },
+ { 3834, TestFenceNV_remap_index },
+ { 29432, AreProgramsResidentNV_remap_index },
+ { 28826, BindProgramNV_remap_index },
+ { 24075, DeleteProgramsNV_remap_index },
+ { 19922, ExecuteProgramNV_remap_index },
+ { 30896, GenProgramsNV_remap_index },
+ { 21688, GetProgramParameterdvNV_remap_index },
+ { 9680, GetProgramParameterfvNV_remap_index },
+ { 24458, GetProgramStringNV_remap_index },
+ { 22700, GetProgramivNV_remap_index },
+ { 21922, GetTrackMatrixivNV_remap_index },
+ { 24252, GetVertexAttribPointervNV_remap_index },
+ { 22944, GetVertexAttribdvNV_remap_index },
+ { 8546, GetVertexAttribfvNV_remap_index },
+ { 17014, GetVertexAttribivNV_remap_index },
+ { 17771, IsProgramNV_remap_index },
+ { 8629, LoadProgramNV_remap_index },
+ { 25884, ProgramParameters4dvNV_remap_index },
+ { 22630, ProgramParameters4fvNV_remap_index },
+ { 19183, RequestResidentProgramsNV_remap_index },
+ { 20702, TrackMatrixNV_remap_index },
+ { 29989, VertexAttrib1dNV_remap_index },
+ { 12546, VertexAttrib1dvNV_remap_index },
+ { 26453, VertexAttrib1fNV_remap_index },
{ 2284, VertexAttrib1fvNV_remap_index },
- { 28305, VertexAttrib1sNV_remap_index },
- { 13750, VertexAttrib1svNV_remap_index },
- { 4290, VertexAttrib2dNV_remap_index },
- { 12351, VertexAttrib2dvNV_remap_index },
- { 18448, VertexAttrib2fNV_remap_index },
- { 11962, VertexAttrib2fvNV_remap_index },
- { 5230, VertexAttrib2sNV_remap_index },
- { 17215, VertexAttrib2svNV_remap_index },
- { 10296, VertexAttrib3dNV_remap_index },
- { 29392, VertexAttrib3dvNV_remap_index },
- { 9382, VertexAttrib3fNV_remap_index },
- { 22757, VertexAttrib3fvNV_remap_index },
- { 20389, VertexAttrib3sNV_remap_index },
- { 21735, VertexAttrib3svNV_remap_index },
- { 26654, VertexAttrib4dNV_remap_index },
- { 30643, VertexAttrib4dvNV_remap_index },
- { 3984, VertexAttrib4fNV_remap_index },
- { 8598, VertexAttrib4fvNV_remap_index },
- { 24589, VertexAttrib4sNV_remap_index },
+ { 28595, VertexAttrib1sNV_remap_index },
+ { 13860, VertexAttrib1svNV_remap_index },
+ { 4341, VertexAttrib2dNV_remap_index },
+ { 12461, VertexAttrib2dvNV_remap_index },
+ { 18638, VertexAttrib2fNV_remap_index },
+ { 12072, VertexAttrib2fvNV_remap_index },
+ { 5311, VertexAttrib2sNV_remap_index },
+ { 17405, VertexAttrib2svNV_remap_index },
+ { 10406, VertexAttrib3dNV_remap_index },
+ { 29682, VertexAttrib3dvNV_remap_index },
+ { 9492, VertexAttrib3fNV_remap_index },
+ { 22971, VertexAttrib3fvNV_remap_index },
+ { 20579, VertexAttrib3sNV_remap_index },
+ { 21949, VertexAttrib3svNV_remap_index },
+ { 26921, VertexAttrib4dNV_remap_index },
+ { 30933, VertexAttrib4dvNV_remap_index },
+ { 4035, VertexAttrib4fNV_remap_index },
+ { 8679, VertexAttrib4fvNV_remap_index },
+ { 24830, VertexAttrib4sNV_remap_index },
{ 1332, VertexAttrib4svNV_remap_index },
- { 4448, VertexAttrib4ubNV_remap_index },
+ { 4499, VertexAttrib4ubNV_remap_index },
{ 773, VertexAttrib4ubvNV_remap_index },
- { 19912, VertexAttribPointerNV_remap_index },
+ { 20102, VertexAttribPointerNV_remap_index },
{ 2136, VertexAttribs1dvNV_remap_index },
- { 24126, VertexAttribs1fvNV_remap_index },
- { 30443, VertexAttribs1svNV_remap_index },
- { 9407, VertexAttribs2dvNV_remap_index },
- { 23319, VertexAttribs2fvNV_remap_index },
- { 16156, VertexAttribs2svNV_remap_index },
- { 4704, VertexAttribs3dvNV_remap_index },
+ { 24340, VertexAttribs1fvNV_remap_index },
+ { 30733, VertexAttribs1svNV_remap_index },
+ { 9517, VertexAttribs2dvNV_remap_index },
+ { 23533, VertexAttribs2fvNV_remap_index },
+ { 16346, VertexAttribs2svNV_remap_index },
+ { 4755, VertexAttribs3dvNV_remap_index },
{ 2016, VertexAttribs3fvNV_remap_index },
- { 27555, VertexAttribs3svNV_remap_index },
- { 24679, VertexAttribs4dvNV_remap_index },
- { 4730, VertexAttribs4fvNV_remap_index },
- { 30230, VertexAttribs4svNV_remap_index },
- { 27303, VertexAttribs4ubvNV_remap_index },
- { 24781, GetTexBumpParameterfvATI_remap_index },
- { 30484, GetTexBumpParameterivATI_remap_index },
- { 16878, TexBumpParameterfvATI_remap_index },
- { 18864, TexBumpParameterivATI_remap_index },
- { 14296, AlphaFragmentOp1ATI_remap_index },
- { 9958, AlphaFragmentOp2ATI_remap_index },
- { 22673, AlphaFragmentOp3ATI_remap_index },
- { 27482, BeginFragmentShaderATI_remap_index },
- { 28735, BindFragmentShaderATI_remap_index },
- { 21864, ColorFragmentOp1ATI_remap_index },
- { 3862, ColorFragmentOp2ATI_remap_index },
- { 29037, ColorFragmentOp3ATI_remap_index },
- { 4849, DeleteFragmentShaderATI_remap_index },
- { 30667, EndFragmentShaderATI_remap_index },
- { 29913, GenFragmentShadersATI_remap_index },
- { 23450, PassTexCoordATI_remap_index },
- { 6178, SampleMapATI_remap_index },
- { 5951, SetFragmentShaderConstantATI_remap_index },
+ { 27822, VertexAttribs3svNV_remap_index },
+ { 24920, VertexAttribs4dvNV_remap_index },
+ { 4781, VertexAttribs4fvNV_remap_index },
+ { 30520, VertexAttribs4svNV_remap_index },
+ { 27570, VertexAttribs4ubvNV_remap_index },
+ { 25022, GetTexBumpParameterfvATI_remap_index },
+ { 30774, GetTexBumpParameterivATI_remap_index },
+ { 17068, TexBumpParameterfvATI_remap_index },
+ { 19054, TexBumpParameterivATI_remap_index },
+ { 14406, AlphaFragmentOp1ATI_remap_index },
+ { 10068, AlphaFragmentOp2ATI_remap_index },
+ { 22887, AlphaFragmentOp3ATI_remap_index },
+ { 27749, BeginFragmentShaderATI_remap_index },
+ { 29025, BindFragmentShaderATI_remap_index },
+ { 22078, ColorFragmentOp1ATI_remap_index },
+ { 3913, ColorFragmentOp2ATI_remap_index },
+ { 29327, ColorFragmentOp3ATI_remap_index },
+ { 4900, DeleteFragmentShaderATI_remap_index },
+ { 30957, EndFragmentShaderATI_remap_index },
+ { 30203, GenFragmentShadersATI_remap_index },
+ { 23664, PassTexCoordATI_remap_index },
+ { 6259, SampleMapATI_remap_index },
+ { 6032, SetFragmentShaderConstantATI_remap_index },
{ 358, PointParameteriNV_remap_index },
- { 13006, PointParameterivNV_remap_index },
- { 26493, ActiveStencilFaceEXT_remap_index },
- { 25303, BindVertexArrayAPPLE_remap_index },
+ { 13116, PointParameterivNV_remap_index },
+ { 26760, ActiveStencilFaceEXT_remap_index },
+ { 25544, BindVertexArrayAPPLE_remap_index },
{ 2561, DeleteVertexArraysAPPLE_remap_index },
- { 16495, GenVertexArraysAPPLE_remap_index },
- { 21539, IsVertexArrayAPPLE_remap_index },
+ { 16685, GenVertexArraysAPPLE_remap_index },
+ { 21753, IsVertexArrayAPPLE_remap_index },
{ 814, GetProgramNamedParameterdvNV_remap_index },
- { 3167, GetProgramNamedParameterfvNV_remap_index },
- { 24812, ProgramNamedParameter4dNV_remap_index },
- { 13332, ProgramNamedParameter4dvNV_remap_index },
- { 8081, ProgramNamedParameter4fNV_remap_index },
- { 10740, ProgramNamedParameter4fvNV_remap_index },
- { 22395, DepthBoundsEXT_remap_index },
+ { 3218, GetProgramNamedParameterfvNV_remap_index },
+ { 25053, ProgramNamedParameter4dNV_remap_index },
+ { 13442, ProgramNamedParameter4dvNV_remap_index },
+ { 8162, ProgramNamedParameter4fNV_remap_index },
+ { 10850, ProgramNamedParameter4fvNV_remap_index },
+ { 15682, PrimitiveRestartIndexNV_remap_index },
+ { 28515, PrimitiveRestartNV_remap_index },
+ { 22609, DepthBoundsEXT_remap_index },
{ 1082, BlendEquationSeparateEXT_remap_index },
- { 13451, BindFramebufferEXT_remap_index },
- { 23637, BindRenderbufferEXT_remap_index },
- { 8845, CheckFramebufferStatusEXT_remap_index },
- { 20829, DeleteFramebuffersEXT_remap_index },
- { 29294, DeleteRenderbuffersEXT_remap_index },
- { 12375, FramebufferRenderbufferEXT_remap_index },
- { 12542, FramebufferTexture1DEXT_remap_index },
- { 10534, FramebufferTexture2DEXT_remap_index },
- { 10201, FramebufferTexture3DEXT_remap_index },
- { 21431, GenFramebuffersEXT_remap_index },
- { 16042, GenRenderbuffersEXT_remap_index },
- { 5897, GenerateMipmapEXT_remap_index },
- { 20009, GetFramebufferAttachmentParameterivEXT_remap_index },
- { 29819, GetRenderbufferParameterivEXT_remap_index },
- { 18744, IsFramebufferEXT_remap_index },
- { 30566, IsRenderbufferEXT_remap_index },
- { 7392, RenderbufferStorageEXT_remap_index },
+ { 13561, BindFramebufferEXT_remap_index },
+ { 23851, BindRenderbufferEXT_remap_index },
+ { 8926, CheckFramebufferStatusEXT_remap_index },
+ { 21043, DeleteFramebuffersEXT_remap_index },
+ { 29584, DeleteRenderbuffersEXT_remap_index },
+ { 12485, FramebufferRenderbufferEXT_remap_index },
+ { 12652, FramebufferTexture1DEXT_remap_index },
+ { 10644, FramebufferTexture2DEXT_remap_index },
+ { 10311, FramebufferTexture3DEXT_remap_index },
+ { 21645, GenFramebuffersEXT_remap_index },
+ { 16232, GenRenderbuffersEXT_remap_index },
+ { 5978, GenerateMipmapEXT_remap_index },
+ { 20199, GetFramebufferAttachmentParameterivEXT_remap_index },
+ { 30109, GetRenderbufferParameterivEXT_remap_index },
+ { 18934, IsFramebufferEXT_remap_index },
+ { 30856, IsRenderbufferEXT_remap_index },
+ { 7473, RenderbufferStorageEXT_remap_index },
{ 690, BlitFramebufferEXT_remap_index },
- { 13151, BufferParameteriAPPLE_remap_index },
- { 17613, FlushMappedBufferRangeAPPLE_remap_index },
- { 2740, FramebufferTextureLayerEXT_remap_index },
- { 4613, ColorMaskIndexedEXT_remap_index },
- { 17239, DisableIndexedEXT_remap_index },
- { 24436, EnableIndexedEXT_remap_index },
- { 19980, GetBooleanIndexedvEXT_remap_index },
- { 9991, GetIntegerIndexedvEXT_remap_index },
- { 20905, IsEnabledIndexedEXT_remap_index },
- { 4113, BeginConditionalRenderNV_remap_index },
- { 23423, EndConditionalRenderNV_remap_index },
- { 8492, BeginTransformFeedbackEXT_remap_index },
- { 17263, BindBufferBaseEXT_remap_index },
- { 17133, BindBufferOffsetEXT_remap_index },
- { 11214, BindBufferRangeEXT_remap_index },
- { 13066, EndTransformFeedbackEXT_remap_index },
- { 9843, GetTransformFeedbackVaryingEXT_remap_index },
- { 19049, TransformFeedbackVaryingsEXT_remap_index },
- { 27204, ProvokingVertexEXT_remap_index },
- { 9791, GetTexParameterPointervAPPLE_remap_index },
- { 4475, TextureRangeAPPLE_remap_index },
- { 10606, GetObjectParameterivAPPLE_remap_index },
- { 18188, ObjectPurgeableAPPLE_remap_index },
- { 5024, ObjectUnpurgeableAPPLE_remap_index },
- { 26519, StencilFuncSeparateATI_remap_index },
- { 16562, ProgramEnvParameters4fvEXT_remap_index },
- { 19943, ProgramLocalParameters4fvEXT_remap_index },
- { 12934, GetQueryObjecti64vEXT_remap_index },
- { 9433, GetQueryObjectui64vEXT_remap_index },
- { 21933, EGLImageTargetRenderbufferStorageOES_remap_index },
- { 11093, EGLImageTargetTexture2DOES_remap_index },
+ { 13261, BufferParameteriAPPLE_remap_index },
+ { 17803, FlushMappedBufferRangeAPPLE_remap_index },
+ { 2766, FramebufferTextureLayerEXT_remap_index },
+ { 4664, ColorMaskIndexedEXT_remap_index },
+ { 17429, DisableIndexedEXT_remap_index },
+ { 24677, EnableIndexedEXT_remap_index },
+ { 20170, GetBooleanIndexedvEXT_remap_index },
+ { 10101, GetIntegerIndexedvEXT_remap_index },
+ { 21119, IsEnabledIndexedEXT_remap_index },
+ { 21019, ClearColorIiEXT_remap_index },
+ { 3128, ClearColorIuiEXT_remap_index },
+ { 9115, GetTexParameterIivEXT_remap_index },
+ { 5281, GetTexParameterIuivEXT_remap_index },
+ { 2740, TexParameterIivEXT_remap_index },
+ { 24593, TexParameterIuivEXT_remap_index },
+ { 4164, BeginConditionalRenderNV_remap_index },
+ { 23637, EndConditionalRenderNV_remap_index },
+ { 8573, BeginTransformFeedbackEXT_remap_index },
+ { 17453, BindBufferBaseEXT_remap_index },
+ { 17323, BindBufferOffsetEXT_remap_index },
+ { 11324, BindBufferRangeEXT_remap_index },
+ { 13176, EndTransformFeedbackEXT_remap_index },
+ { 9953, GetTransformFeedbackVaryingEXT_remap_index },
+ { 19239, TransformFeedbackVaryingsEXT_remap_index },
+ { 27471, ProvokingVertexEXT_remap_index },
+ { 9901, GetTexParameterPointervAPPLE_remap_index },
+ { 4526, TextureRangeAPPLE_remap_index },
+ { 10716, GetObjectParameterivAPPLE_remap_index },
+ { 18378, ObjectPurgeableAPPLE_remap_index },
+ { 5075, ObjectUnpurgeableAPPLE_remap_index },
+ { 16054, ActiveProgramEXT_remap_index },
+ { 16025, CreateShaderProgramEXT_remap_index },
+ { 26545, UseShaderProgramEXT_remap_index },
+ { 26786, StencilFuncSeparateATI_remap_index },
+ { 16752, ProgramEnvParameters4fvEXT_remap_index },
+ { 20133, ProgramLocalParameters4fvEXT_remap_index },
+ { 13044, GetQueryObjecti64vEXT_remap_index },
+ { 9543, GetQueryObjectui64vEXT_remap_index },
+ { 22147, EGLImageTargetRenderbufferStorageOES_remap_index },
+ { 11203, EGLImageTargetTexture2DOES_remap_index },
{ -1, -1 }
};
@@ -4893,108 +4948,108 @@ static const struct gl_function_remap MESA_alt_functions[] = {
/* from GL_EXT_blend_color */
{ 2479, _gloffset_BlendColor },
/* from GL_EXT_blend_minmax */
- { 10258, _gloffset_BlendEquation },
+ { 10368, _gloffset_BlendEquation },
/* from GL_EXT_color_subtable */
- { 15630, _gloffset_ColorSubTable },
- { 29226, _gloffset_CopyColorSubTable },
+ { 15769, _gloffset_ColorSubTable },
+ { 29516, _gloffset_CopyColorSubTable },
/* from GL_EXT_convolution */
{ 252, _gloffset_ConvolutionFilter1D },
{ 2323, _gloffset_CopyConvolutionFilter1D },
- { 3663, _gloffset_GetConvolutionParameteriv },
- { 7741, _gloffset_ConvolutionFilter2D },
- { 7907, _gloffset_ConvolutionParameteriv },
- { 8367, _gloffset_ConvolutionParameterfv },
- { 18892, _gloffset_GetSeparableFilter },
- { 22163, _gloffset_SeparableFilter2D },
- { 22975, _gloffset_ConvolutionParameteri },
- { 23098, _gloffset_ConvolutionParameterf },
- { 24615, _gloffset_GetConvolutionParameterfv },
- { 25469, _gloffset_GetConvolutionFilter },
- { 27744, _gloffset_CopyConvolutionFilter2D },
+ { 3714, _gloffset_GetConvolutionParameteriv },
+ { 7822, _gloffset_ConvolutionFilter2D },
+ { 7988, _gloffset_ConvolutionParameteriv },
+ { 8448, _gloffset_ConvolutionParameterfv },
+ { 19082, _gloffset_GetSeparableFilter },
+ { 22377, _gloffset_SeparableFilter2D },
+ { 23189, _gloffset_ConvolutionParameteri },
+ { 23312, _gloffset_ConvolutionParameterf },
+ { 24856, _gloffset_GetConvolutionParameterfv },
+ { 25710, _gloffset_GetConvolutionFilter },
+ { 28011, _gloffset_CopyConvolutionFilter2D },
/* from GL_EXT_copy_texture */
- { 13810, _gloffset_CopyTexSubImage3D },
- { 15370, _gloffset_CopyTexImage2D },
- { 22583, _gloffset_CopyTexImage1D },
- { 25150, _gloffset_CopyTexSubImage2D },
- { 27382, _gloffset_CopyTexSubImage1D },
+ { 13920, _gloffset_CopyTexSubImage3D },
+ { 15480, _gloffset_CopyTexImage2D },
+ { 22797, _gloffset_CopyTexImage1D },
+ { 25391, _gloffset_CopyTexSubImage2D },
+ { 27649, _gloffset_CopyTexSubImage1D },
/* from GL_EXT_draw_range_elements */
- { 8704, _gloffset_DrawRangeElements },
+ { 8785, _gloffset_DrawRangeElements },
/* from GL_EXT_histogram */
{ 851, _gloffset_Histogram },
- { 3127, _gloffset_ResetHistogram },
- { 9104, _gloffset_GetMinmax },
- { 14144, _gloffset_GetHistogramParameterfv },
- { 22508, _gloffset_GetMinmaxParameteriv },
- { 24505, _gloffset_ResetMinmax },
- { 25366, _gloffset_GetHistogramParameteriv },
- { 26453, _gloffset_GetHistogram },
- { 28851, _gloffset_Minmax },
- { 30313, _gloffset_GetMinmaxParameterfv },
+ { 3178, _gloffset_ResetHistogram },
+ { 9214, _gloffset_GetMinmax },
+ { 14254, _gloffset_GetHistogramParameterfv },
+ { 22722, _gloffset_GetMinmaxParameteriv },
+ { 24746, _gloffset_ResetMinmax },
+ { 25607, _gloffset_GetHistogramParameteriv },
+ { 26720, _gloffset_GetHistogram },
+ { 29141, _gloffset_Minmax },
+ { 30603, _gloffset_GetMinmaxParameterfv },
/* from GL_EXT_paletted_texture */
- { 7603, _gloffset_ColorTable },
- { 13990, _gloffset_GetColorTable },
- { 21178, _gloffset_GetColorTableParameterfv },
- { 23154, _gloffset_GetColorTableParameteriv },
+ { 7684, _gloffset_ColorTable },
+ { 14100, _gloffset_GetColorTable },
+ { 21392, _gloffset_GetColorTableParameterfv },
+ { 23368, _gloffset_GetColorTableParameteriv },
/* from GL_EXT_subtexture */
- { 6324, _gloffset_TexSubImage1D },
- { 9718, _gloffset_TexSubImage2D },
+ { 6405, _gloffset_TexSubImage1D },
+ { 9828, _gloffset_TexSubImage2D },
/* from GL_EXT_texture3D */
{ 1697, _gloffset_TexImage3D },
- { 20947, _gloffset_TexSubImage3D },
+ { 21161, _gloffset_TexSubImage3D },
/* from GL_EXT_texture_object */
- { 3003, _gloffset_PrioritizeTextures },
- { 6773, _gloffset_AreTexturesResident },
- { 12460, _gloffset_GenTextures },
- { 14476, _gloffset_DeleteTextures },
- { 17894, _gloffset_IsTexture },
- { 27447, _gloffset_BindTexture },
+ { 3029, _gloffset_PrioritizeTextures },
+ { 6854, _gloffset_AreTexturesResident },
+ { 12570, _gloffset_GenTextures },
+ { 14586, _gloffset_DeleteTextures },
+ { 18084, _gloffset_IsTexture },
+ { 27714, _gloffset_BindTexture },
/* from GL_EXT_vertex_array */
- { 22335, _gloffset_ArrayElement },
- { 28439, _gloffset_GetPointerv },
- { 29940, _gloffset_DrawArrays },
+ { 22549, _gloffset_ArrayElement },
+ { 28729, _gloffset_GetPointerv },
+ { 30230, _gloffset_DrawArrays },
/* from GL_SGI_color_table */
- { 6891, _gloffset_ColorTableParameteriv },
- { 7603, _gloffset_ColorTable },
- { 13990, _gloffset_GetColorTable },
- { 14100, _gloffset_CopyColorTable },
- { 17755, _gloffset_ColorTableParameterfv },
- { 21178, _gloffset_GetColorTableParameterfv },
- { 23154, _gloffset_GetColorTableParameteriv },
+ { 6972, _gloffset_ColorTableParameteriv },
+ { 7684, _gloffset_ColorTable },
+ { 14100, _gloffset_GetColorTable },
+ { 14210, _gloffset_CopyColorTable },
+ { 17945, _gloffset_ColorTableParameterfv },
+ { 21392, _gloffset_GetColorTableParameterfv },
+ { 23368, _gloffset_GetColorTableParameteriv },
/* from GL_VERSION_1_3 */
{ 420, _gloffset_MultiTexCoord3sARB },
{ 652, _gloffset_ActiveTextureARB },
- { 3800, _gloffset_MultiTexCoord1fvARB },
- { 5425, _gloffset_MultiTexCoord3dARB },
- { 5470, _gloffset_MultiTexCoord2iARB },
- { 5594, _gloffset_MultiTexCoord2svARB },
- { 7559, _gloffset_MultiTexCoord2fARB },
- { 9463, _gloffset_MultiTexCoord3fvARB },
- { 10020, _gloffset_MultiTexCoord4sARB },
- { 10654, _gloffset_MultiTexCoord2dvARB },
- { 11036, _gloffset_MultiTexCoord1svARB },
- { 11447, _gloffset_MultiTexCoord3svARB },
- { 11508, _gloffset_MultiTexCoord4iARB },
- { 12231, _gloffset_MultiTexCoord3iARB },
- { 12963, _gloffset_MultiTexCoord1dARB },
- { 13180, _gloffset_MultiTexCoord3dvARB },
- { 14344, _gloffset_MultiTexCoord3ivARB },
- { 14389, _gloffset_MultiTexCoord2sARB },
- { 15687, _gloffset_MultiTexCoord4ivARB },
- { 17405, _gloffset_ClientActiveTextureARB },
- { 19688, _gloffset_MultiTexCoord2dARB },
- { 20129, _gloffset_MultiTexCoord4dvARB },
- { 20440, _gloffset_MultiTexCoord4fvARB },
- { 21319, _gloffset_MultiTexCoord3fARB },
- { 23682, _gloffset_MultiTexCoord4dARB },
- { 23948, _gloffset_MultiTexCoord1sARB },
- { 24152, _gloffset_MultiTexCoord1dvARB },
- { 24994, _gloffset_MultiTexCoord1ivARB },
- { 25087, _gloffset_MultiTexCoord2ivARB },
- { 25426, _gloffset_MultiTexCoord1iARB },
- { 26728, _gloffset_MultiTexCoord4svARB },
- { 27246, _gloffset_MultiTexCoord1fARB },
- { 27509, _gloffset_MultiTexCoord4fARB },
- { 29774, _gloffset_MultiTexCoord2fvARB },
+ { 3851, _gloffset_MultiTexCoord1fvARB },
+ { 5506, _gloffset_MultiTexCoord3dARB },
+ { 5551, _gloffset_MultiTexCoord2iARB },
+ { 5675, _gloffset_MultiTexCoord2svARB },
+ { 7640, _gloffset_MultiTexCoord2fARB },
+ { 9573, _gloffset_MultiTexCoord3fvARB },
+ { 10130, _gloffset_MultiTexCoord4sARB },
+ { 10764, _gloffset_MultiTexCoord2dvARB },
+ { 11146, _gloffset_MultiTexCoord1svARB },
+ { 11557, _gloffset_MultiTexCoord3svARB },
+ { 11618, _gloffset_MultiTexCoord4iARB },
+ { 12341, _gloffset_MultiTexCoord3iARB },
+ { 13073, _gloffset_MultiTexCoord1dARB },
+ { 13290, _gloffset_MultiTexCoord3dvARB },
+ { 14454, _gloffset_MultiTexCoord3ivARB },
+ { 14499, _gloffset_MultiTexCoord2sARB },
+ { 15826, _gloffset_MultiTexCoord4ivARB },
+ { 17595, _gloffset_ClientActiveTextureARB },
+ { 19878, _gloffset_MultiTexCoord2dARB },
+ { 20319, _gloffset_MultiTexCoord4dvARB },
+ { 20630, _gloffset_MultiTexCoord4fvARB },
+ { 21533, _gloffset_MultiTexCoord3fARB },
+ { 23896, _gloffset_MultiTexCoord4dARB },
+ { 24162, _gloffset_MultiTexCoord1sARB },
+ { 24366, _gloffset_MultiTexCoord1dvARB },
+ { 25235, _gloffset_MultiTexCoord1ivARB },
+ { 25328, _gloffset_MultiTexCoord2ivARB },
+ { 25667, _gloffset_MultiTexCoord1iARB },
+ { 26995, _gloffset_MultiTexCoord4svARB },
+ { 27513, _gloffset_MultiTexCoord1fARB },
+ { 27776, _gloffset_MultiTexCoord4fARB },
+ { 30064, _gloffset_MultiTexCoord2fvARB },
{ -1, -1 }
};
@@ -5002,7 +5057,7 @@ static const struct gl_function_remap MESA_alt_functions[] = {
#if defined(need_GL_3DFX_tbuffer)
static const struct gl_function_remap GL_3DFX_tbuffer_functions[] = {
- { 8425, -1 }, /* TbufferMask3DFX */
+ { 8506, -1 }, /* TbufferMask3DFX */
{ -1, -1 }
};
#endif
@@ -5073,7 +5128,7 @@ static const struct gl_function_remap GL_ARB_framebuffer_object_functions[] = {
#if defined(need_GL_ARB_geometry_shader4)
/* functions defined in MESA_remap_table_functions are excluded */
static const struct gl_function_remap GL_ARB_geometry_shader4_functions[] = {
- { 11411, -1 }, /* FramebufferTextureLayer */
+ { 11521, -1 }, /* FramebufferTextureLayer */
{ -1, -1 }
};
#endif
@@ -5087,11 +5142,11 @@ static const struct gl_function_remap GL_ARB_map_buffer_range_functions[] = {
#if defined(need_GL_ARB_matrix_palette)
static const struct gl_function_remap GL_ARB_matrix_palette_functions[] = {
- { 3378, -1 }, /* MatrixIndexusvARB */
- { 12052, -1 }, /* MatrixIndexuivARB */
- { 13302, -1 }, /* MatrixIndexPointerARB */
- { 18143, -1 }, /* CurrentPaletteMatrixARB */
- { 21063, -1 }, /* MatrixIndexubvARB */
+ { 3429, -1 }, /* MatrixIndexusvARB */
+ { 12162, -1 }, /* MatrixIndexuivARB */
+ { 13412, -1 }, /* MatrixIndexPointerARB */
+ { 18333, -1 }, /* CurrentPaletteMatrixARB */
+ { 21277, -1 }, /* MatrixIndexubvARB */
{ -1, -1 }
};
#endif
@@ -5169,15 +5224,15 @@ static const struct gl_function_remap GL_ARB_vertex_array_object_functions[] = {
#if defined(need_GL_ARB_vertex_blend)
static const struct gl_function_remap GL_ARB_vertex_blend_functions[] = {
{ 2265, -1 }, /* WeightubvARB */
- { 5785, -1 }, /* WeightivARB */
- { 10123, -1 }, /* WeightPointerARB */
- { 12720, -1 }, /* WeightfvARB */
- { 16182, -1 }, /* WeightbvARB */
- { 19356, -1 }, /* WeightusvARB */
- { 22089, -1 }, /* VertexBlendARB */
- { 27330, -1 }, /* WeightsvARB */
- { 29276, -1 }, /* WeightdvARB */
- { 29974, -1 }, /* WeightuivARB */
+ { 5866, -1 }, /* WeightivARB */
+ { 10233, -1 }, /* WeightPointerARB */
+ { 12830, -1 }, /* WeightfvARB */
+ { 16372, -1 }, /* WeightbvARB */
+ { 19546, -1 }, /* WeightusvARB */
+ { 22303, -1 }, /* VertexBlendARB */
+ { 27597, -1 }, /* WeightsvARB */
+ { 29566, -1 }, /* WeightdvARB */
+ { 30264, -1 }, /* WeightuivARB */
{ -1, -1 }
};
#endif
@@ -5268,15 +5323,15 @@ static const struct gl_function_remap GL_EXT_blend_func_separate_functions[] = {
#if defined(need_GL_EXT_blend_minmax)
static const struct gl_function_remap GL_EXT_blend_minmax_functions[] = {
- { 10258, _gloffset_BlendEquation },
+ { 10368, _gloffset_BlendEquation },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_color_subtable)
static const struct gl_function_remap GL_EXT_color_subtable_functions[] = {
- { 15630, _gloffset_ColorSubTable },
- { 29226, _gloffset_CopyColorSubTable },
+ { 15769, _gloffset_ColorSubTable },
+ { 29516, _gloffset_CopyColorSubTable },
{ -1, -1 }
};
#endif
@@ -5292,64 +5347,64 @@ static const struct gl_function_remap GL_EXT_compiled_vertex_array_functions[] =
static const struct gl_function_remap GL_EXT_convolution_functions[] = {
{ 252, _gloffset_ConvolutionFilter1D },
{ 2323, _gloffset_CopyConvolutionFilter1D },
- { 3663, _gloffset_GetConvolutionParameteriv },
- { 7741, _gloffset_ConvolutionFilter2D },
- { 7907, _gloffset_ConvolutionParameteriv },
- { 8367, _gloffset_ConvolutionParameterfv },
- { 18892, _gloffset_GetSeparableFilter },
- { 22163, _gloffset_SeparableFilter2D },
- { 22975, _gloffset_ConvolutionParameteri },
- { 23098, _gloffset_ConvolutionParameterf },
- { 24615, _gloffset_GetConvolutionParameterfv },
- { 25469, _gloffset_GetConvolutionFilter },
- { 27744, _gloffset_CopyConvolutionFilter2D },
+ { 3714, _gloffset_GetConvolutionParameteriv },
+ { 7822, _gloffset_ConvolutionFilter2D },
+ { 7988, _gloffset_ConvolutionParameteriv },
+ { 8448, _gloffset_ConvolutionParameterfv },
+ { 19082, _gloffset_GetSeparableFilter },
+ { 22377, _gloffset_SeparableFilter2D },
+ { 23189, _gloffset_ConvolutionParameteri },
+ { 23312, _gloffset_ConvolutionParameterf },
+ { 24856, _gloffset_GetConvolutionParameterfv },
+ { 25710, _gloffset_GetConvolutionFilter },
+ { 28011, _gloffset_CopyConvolutionFilter2D },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_coordinate_frame)
static const struct gl_function_remap GL_EXT_coordinate_frame_functions[] = {
- { 9602, -1 }, /* TangentPointerEXT */
- { 11566, -1 }, /* Binormal3ivEXT */
- { 12184, -1 }, /* Tangent3sEXT */
- { 13367, -1 }, /* Tangent3fvEXT */
- { 17114, -1 }, /* Tangent3dvEXT */
- { 17841, -1 }, /* Binormal3bvEXT */
- { 18945, -1 }, /* Binormal3dEXT */
- { 20995, -1 }, /* Tangent3fEXT */
- { 23047, -1 }, /* Binormal3sEXT */
- { 23492, -1 }, /* Tangent3ivEXT */
- { 23511, -1 }, /* Tangent3dEXT */
- { 24379, -1 }, /* Binormal3svEXT */
- { 24892, -1 }, /* Binormal3fEXT */
- { 25744, -1 }, /* Binormal3dvEXT */
- { 26950, -1 }, /* Tangent3iEXT */
- { 28029, -1 }, /* Tangent3bvEXT */
- { 28474, -1 }, /* Tangent3bEXT */
- { 28999, -1 }, /* Binormal3fvEXT */
- { 29673, -1 }, /* BinormalPointerEXT */
- { 30078, -1 }, /* Tangent3svEXT */
- { 30515, -1 }, /* Binormal3bEXT */
- { 30692, -1 }, /* Binormal3iEXT */
+ { 9712, -1 }, /* TangentPointerEXT */
+ { 11676, -1 }, /* Binormal3ivEXT */
+ { 12294, -1 }, /* Tangent3sEXT */
+ { 13477, -1 }, /* Tangent3fvEXT */
+ { 17304, -1 }, /* Tangent3dvEXT */
+ { 18031, -1 }, /* Binormal3bvEXT */
+ { 19135, -1 }, /* Binormal3dEXT */
+ { 21209, -1 }, /* Tangent3fEXT */
+ { 23261, -1 }, /* Binormal3sEXT */
+ { 23706, -1 }, /* Tangent3ivEXT */
+ { 23725, -1 }, /* Tangent3dEXT */
+ { 24620, -1 }, /* Binormal3svEXT */
+ { 25133, -1 }, /* Binormal3fEXT */
+ { 25985, -1 }, /* Binormal3dvEXT */
+ { 27217, -1 }, /* Tangent3iEXT */
+ { 28296, -1 }, /* Tangent3bvEXT */
+ { 28764, -1 }, /* Tangent3bEXT */
+ { 29289, -1 }, /* Binormal3fvEXT */
+ { 29963, -1 }, /* BinormalPointerEXT */
+ { 30368, -1 }, /* Tangent3svEXT */
+ { 30805, -1 }, /* Binormal3bEXT */
+ { 30982, -1 }, /* Binormal3iEXT */
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_copy_texture)
static const struct gl_function_remap GL_EXT_copy_texture_functions[] = {
- { 13810, _gloffset_CopyTexSubImage3D },
- { 15370, _gloffset_CopyTexImage2D },
- { 22583, _gloffset_CopyTexImage1D },
- { 25150, _gloffset_CopyTexSubImage2D },
- { 27382, _gloffset_CopyTexSubImage1D },
+ { 13920, _gloffset_CopyTexSubImage3D },
+ { 15480, _gloffset_CopyTexImage2D },
+ { 22797, _gloffset_CopyTexImage1D },
+ { 25391, _gloffset_CopyTexSubImage2D },
+ { 27649, _gloffset_CopyTexSubImage1D },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_cull_vertex)
static const struct gl_function_remap GL_EXT_cull_vertex_functions[] = {
- { 8056, -1 }, /* CullParameterdvEXT */
- { 10699, -1 }, /* CullParameterfvEXT */
+ { 8137, -1 }, /* CullParameterdvEXT */
+ { 10809, -1 }, /* CullParameterfvEXT */
{ -1, -1 }
};
#endif
@@ -5377,7 +5432,7 @@ static const struct gl_function_remap GL_EXT_draw_instanced_functions[] = {
#if defined(need_GL_EXT_draw_range_elements)
static const struct gl_function_remap GL_EXT_draw_range_elements_functions[] = {
- { 8704, _gloffset_DrawRangeElements },
+ { 8785, _gloffset_DrawRangeElements },
{ -1, -1 }
};
#endif
@@ -5420,38 +5475,38 @@ static const struct gl_function_remap GL_EXT_gpu_program_parameters_functions[]
#if defined(need_GL_EXT_histogram)
static const struct gl_function_remap GL_EXT_histogram_functions[] = {
{ 851, _gloffset_Histogram },
- { 3127, _gloffset_ResetHistogram },
- { 9104, _gloffset_GetMinmax },
- { 14144, _gloffset_GetHistogramParameterfv },
- { 22508, _gloffset_GetMinmaxParameteriv },
- { 24505, _gloffset_ResetMinmax },
- { 25366, _gloffset_GetHistogramParameteriv },
- { 26453, _gloffset_GetHistogram },
- { 28851, _gloffset_Minmax },
- { 30313, _gloffset_GetMinmaxParameterfv },
+ { 3178, _gloffset_ResetHistogram },
+ { 9214, _gloffset_GetMinmax },
+ { 14254, _gloffset_GetHistogramParameterfv },
+ { 22722, _gloffset_GetMinmaxParameteriv },
+ { 24746, _gloffset_ResetMinmax },
+ { 25607, _gloffset_GetHistogramParameteriv },
+ { 26720, _gloffset_GetHistogram },
+ { 29141, _gloffset_Minmax },
+ { 30603, _gloffset_GetMinmaxParameterfv },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_index_func)
static const struct gl_function_remap GL_EXT_index_func_functions[] = {
- { 10485, -1 }, /* IndexFuncEXT */
+ { 10595, -1 }, /* IndexFuncEXT */
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_index_material)
static const struct gl_function_remap GL_EXT_index_material_functions[] = {
- { 19443, -1 }, /* IndexMaterialEXT */
+ { 19633, -1 }, /* IndexMaterialEXT */
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_light_texture)
static const struct gl_function_remap GL_EXT_light_texture_functions[] = {
- { 24399, -1 }, /* ApplyTextureEXT */
- { 24459, -1 }, /* TextureMaterialEXT */
- { 24484, -1 }, /* TextureLightEXT */
+ { 24640, -1 }, /* ApplyTextureEXT */
+ { 24700, -1 }, /* TextureMaterialEXT */
+ { 24725, -1 }, /* TextureLightEXT */
{ -1, -1 }
};
#endif
@@ -5472,20 +5527,20 @@ static const struct gl_function_remap GL_EXT_multisample_functions[] = {
#if defined(need_GL_EXT_paletted_texture)
static const struct gl_function_remap GL_EXT_paletted_texture_functions[] = {
- { 7603, _gloffset_ColorTable },
- { 13990, _gloffset_GetColorTable },
- { 21178, _gloffset_GetColorTableParameterfv },
- { 23154, _gloffset_GetColorTableParameteriv },
+ { 7684, _gloffset_ColorTable },
+ { 14100, _gloffset_GetColorTable },
+ { 21392, _gloffset_GetColorTableParameterfv },
+ { 23368, _gloffset_GetColorTableParameteriv },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_pixel_transform)
static const struct gl_function_remap GL_EXT_pixel_transform_functions[] = {
- { 20094, -1 }, /* PixelTransformParameterfEXT */
- { 20174, -1 }, /* PixelTransformParameteriEXT */
- { 28212, -1 }, /* PixelTransformParameterfvEXT */
- { 29637, -1 }, /* PixelTransformParameterivEXT */
+ { 20284, -1 }, /* PixelTransformParameterfEXT */
+ { 20364, -1 }, /* PixelTransformParameteriEXT */
+ { 28479, -1 }, /* PixelTransformParameterfvEXT */
+ { 29927, -1 }, /* PixelTransformParameterivEXT */
{ -1, -1 }
};
#endif
@@ -5518,6 +5573,13 @@ static const struct gl_function_remap GL_EXT_secondary_color_functions[] = {
};
#endif
+#if defined(need_GL_EXT_separate_shader_objects)
+/* functions defined in MESA_remap_table_functions are excluded */
+static const struct gl_function_remap GL_EXT_separate_shader_objects_functions[] = {
+ { -1, -1 }
+};
+#endif
+
#if defined(need_GL_EXT_stencil_two_side)
/* functions defined in MESA_remap_table_functions are excluded */
static const struct gl_function_remap GL_EXT_stencil_two_side_functions[] = {
@@ -5527,8 +5589,8 @@ static const struct gl_function_remap GL_EXT_stencil_two_side_functions[] = {
#if defined(need_GL_EXT_subtexture)
static const struct gl_function_remap GL_EXT_subtexture_functions[] = {
- { 6324, _gloffset_TexSubImage1D },
- { 9718, _gloffset_TexSubImage2D },
+ { 6405, _gloffset_TexSubImage1D },
+ { 9828, _gloffset_TexSubImage2D },
{ -1, -1 }
};
#endif
@@ -5536,7 +5598,7 @@ static const struct gl_function_remap GL_EXT_subtexture_functions[] = {
#if defined(need_GL_EXT_texture3D)
static const struct gl_function_remap GL_EXT_texture3D_functions[] = {
{ 1697, _gloffset_TexImage3D },
- { 20947, _gloffset_TexSubImage3D },
+ { 21161, _gloffset_TexSubImage3D },
{ -1, -1 }
};
#endif
@@ -5548,21 +5610,28 @@ static const struct gl_function_remap GL_EXT_texture_array_functions[] = {
};
#endif
+#if defined(need_GL_EXT_texture_integer)
+/* functions defined in MESA_remap_table_functions are excluded */
+static const struct gl_function_remap GL_EXT_texture_integer_functions[] = {
+ { -1, -1 }
+};
+#endif
+
#if defined(need_GL_EXT_texture_object)
static const struct gl_function_remap GL_EXT_texture_object_functions[] = {
- { 3003, _gloffset_PrioritizeTextures },
- { 6773, _gloffset_AreTexturesResident },
- { 12460, _gloffset_GenTextures },
- { 14476, _gloffset_DeleteTextures },
- { 17894, _gloffset_IsTexture },
- { 27447, _gloffset_BindTexture },
+ { 3029, _gloffset_PrioritizeTextures },
+ { 6854, _gloffset_AreTexturesResident },
+ { 12570, _gloffset_GenTextures },
+ { 14586, _gloffset_DeleteTextures },
+ { 18084, _gloffset_IsTexture },
+ { 27714, _gloffset_BindTexture },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_texture_perturb_normal)
static const struct gl_function_remap GL_EXT_texture_perturb_normal_functions[] = {
- { 12670, -1 }, /* TextureNormalEXT */
+ { 12780, -1 }, /* TextureNormalEXT */
{ -1, -1 }
};
#endif
@@ -5584,18 +5653,18 @@ static const struct gl_function_remap GL_EXT_transform_feedback_functions[] = {
#if defined(need_GL_EXT_vertex_array)
/* functions defined in MESA_remap_table_functions are excluded */
static const struct gl_function_remap GL_EXT_vertex_array_functions[] = {
- { 22335, _gloffset_ArrayElement },
- { 28439, _gloffset_GetPointerv },
- { 29940, _gloffset_DrawArrays },
+ { 22549, _gloffset_ArrayElement },
+ { 28729, _gloffset_GetPointerv },
+ { 30230, _gloffset_DrawArrays },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_vertex_weighting)
static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = {
- { 17924, -1 }, /* VertexWeightfvEXT */
- { 24870, -1 }, /* VertexWeightfEXT */
- { 26422, -1 }, /* VertexWeightPointerEXT */
+ { 18114, -1 }, /* VertexWeightfvEXT */
+ { 25111, -1 }, /* VertexWeightfEXT */
+ { 26689, -1 }, /* VertexWeightPointerEXT */
{ -1, -1 }
};
#endif
@@ -5603,11 +5672,11 @@ static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = {
#if defined(need_GL_HP_image_transform)
static const struct gl_function_remap GL_HP_image_transform_functions[] = {
{ 2196, -1 }, /* GetImageTransformParameterfvHP */
- { 3344, -1 }, /* ImageTransformParameterfHP */
- { 9296, -1 }, /* ImageTransformParameterfvHP */
- { 10954, -1 }, /* ImageTransformParameteriHP */
- { 11301, -1 }, /* GetImageTransformParameterivHP */
- { 17988, -1 }, /* ImageTransformParameterivHP */
+ { 3395, -1 }, /* ImageTransformParameterfHP */
+ { 9406, -1 }, /* ImageTransformParameterfvHP */
+ { 11064, -1 }, /* ImageTransformParameteriHP */
+ { 11411, -1 }, /* GetImageTransformParameterivHP */
+ { 18178, -1 }, /* ImageTransformParameterivHP */
{ -1, -1 }
};
#endif
@@ -5621,14 +5690,14 @@ static const struct gl_function_remap GL_IBM_multimode_draw_arrays_functions[] =
#if defined(need_GL_IBM_vertex_array_lists)
static const struct gl_function_remap GL_IBM_vertex_array_lists_functions[] = {
- { 3896, -1 }, /* SecondaryColorPointerListIBM */
- { 5291, -1 }, /* NormalPointerListIBM */
- { 6947, -1 }, /* FogCoordPointerListIBM */
- { 7254, -1 }, /* VertexPointerListIBM */
- { 10875, -1 }, /* ColorPointerListIBM */
- { 12291, -1 }, /* TexCoordPointerListIBM */
- { 12692, -1 }, /* IndexPointerListIBM */
- { 30256, -1 }, /* EdgeFlagPointerListIBM */
+ { 3947, -1 }, /* SecondaryColorPointerListIBM */
+ { 5372, -1 }, /* NormalPointerListIBM */
+ { 7028, -1 }, /* FogCoordPointerListIBM */
+ { 7335, -1 }, /* VertexPointerListIBM */
+ { 10985, -1 }, /* ColorPointerListIBM */
+ { 12401, -1 }, /* TexCoordPointerListIBM */
+ { 12802, -1 }, /* IndexPointerListIBM */
+ { 30546, -1 }, /* EdgeFlagPointerListIBM */
{ -1, -1 }
};
#endif
@@ -5642,10 +5711,10 @@ static const struct gl_function_remap GL_INGR_blend_func_separate_functions[] =
#if defined(need_GL_INTEL_parallel_arrays)
static const struct gl_function_remap GL_INTEL_parallel_arrays_functions[] = {
- { 11678, -1 }, /* VertexPointervINTEL */
- { 14237, -1 }, /* ColorPointervINTEL */
- { 27718, -1 }, /* NormalPointervINTEL */
- { 28144, -1 }, /* TexCoordPointervINTEL */
+ { 11788, -1 }, /* VertexPointervINTEL */
+ { 14347, -1 }, /* ColorPointervINTEL */
+ { 27985, -1 }, /* NormalPointervINTEL */
+ { 28411, -1 }, /* TexCoordPointervINTEL */
{ -1, -1 }
};
#endif
@@ -5660,9 +5729,9 @@ static const struct gl_function_remap GL_MESA_resize_buffers_functions[] = {
#if defined(need_GL_MESA_shader_debug)
static const struct gl_function_remap GL_MESA_shader_debug_functions[] = {
{ 1561, -1 }, /* GetDebugLogLengthMESA */
- { 3102, -1 }, /* ClearDebugLogMESA */
- { 4057, -1 }, /* GetDebugLogMESA */
- { 28632, -1 }, /* CreateDebugObjectMESA */
+ { 3153, -1 }, /* ClearDebugLogMESA */
+ { 4108, -1 }, /* GetDebugLogMESA */
+ { 28922, -1 }, /* CreateDebugObjectMESA */
{ -1, -1 }
};
#endif
@@ -5683,15 +5752,15 @@ static const struct gl_function_remap GL_NV_condtitional_render_functions[] = {
#if defined(need_GL_NV_evaluators)
static const struct gl_function_remap GL_NV_evaluators_functions[] = {
- { 5986, -1 }, /* GetMapAttribParameterivNV */
- { 7709, -1 }, /* MapControlPointsNV */
- { 7808, -1 }, /* MapParameterfvNV */
- { 9701, -1 }, /* EvalMapsNV */
- { 15852, -1 }, /* GetMapAttribParameterfvNV */
- { 16018, -1 }, /* MapParameterivNV */
- { 22898, -1 }, /* GetMapParameterivNV */
- { 23396, -1 }, /* GetMapParameterfvNV */
- { 27054, -1 }, /* GetMapControlPointsNV */
+ { 6067, -1 }, /* GetMapAttribParameterivNV */
+ { 7790, -1 }, /* MapControlPointsNV */
+ { 7889, -1 }, /* MapParameterfvNV */
+ { 9811, -1 }, /* EvalMapsNV */
+ { 15991, -1 }, /* GetMapAttribParameterfvNV */
+ { 16208, -1 }, /* MapParameterivNV */
+ { 23112, -1 }, /* GetMapParameterivNV */
+ { 23610, -1 }, /* GetMapParameterfvNV */
+ { 27321, -1 }, /* GetMapControlPointsNV */
{ -1, -1 }
};
#endif
@@ -5717,6 +5786,13 @@ static const struct gl_function_remap GL_NV_point_sprite_functions[] = {
};
#endif
+#if defined(need_GL_NV_primitive_restart)
+/* functions defined in MESA_remap_table_functions are excluded */
+static const struct gl_function_remap GL_NV_primitive_restart_functions[] = {
+ { -1, -1 }
+};
+#endif
+
#if defined(need_GL_NV_register_combiners)
/* functions defined in MESA_remap_table_functions are excluded */
static const struct gl_function_remap GL_NV_register_combiners_functions[] = {
@@ -5726,8 +5802,8 @@ static const struct gl_function_remap GL_NV_register_combiners_functions[] = {
#if defined(need_GL_NV_register_combiners2)
static const struct gl_function_remap GL_NV_register_combiners2_functions[] = {
- { 14707, -1 }, /* CombinerStageParameterfvNV */
- { 15022, -1 }, /* GetCombinerStageParameterfvNV */
+ { 14817, -1 }, /* CombinerStageParameterfvNV */
+ { 15132, -1 }, /* GetCombinerStageParameterfvNV */
{ -1, -1 }
};
#endif
@@ -5755,23 +5831,23 @@ static const struct gl_function_remap GL_OES_EGL_image_functions[] = {
#if defined(need_GL_PGI_misc_hints)
static const struct gl_function_remap GL_PGI_misc_hints_functions[] = {
- { 7893, -1 }, /* HintPGI */
+ { 7974, -1 }, /* HintPGI */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIS_detail_texture)
static const struct gl_function_remap GL_SGIS_detail_texture_functions[] = {
- { 14995, -1 }, /* GetDetailTexFuncSGIS */
- { 15315, -1 }, /* DetailTexFuncSGIS */
+ { 15105, -1 }, /* GetDetailTexFuncSGIS */
+ { 15425, -1 }, /* DetailTexFuncSGIS */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIS_fog_function)
static const struct gl_function_remap GL_SGIS_fog_function_functions[] = {
- { 25132, -1 }, /* FogFuncSGIS */
- { 25797, -1 }, /* GetFogFuncSGIS */
+ { 25373, -1 }, /* FogFuncSGIS */
+ { 26038, -1 }, /* GetFogFuncSGIS */
{ -1, -1 }
};
#endif
@@ -5799,8 +5875,8 @@ static const struct gl_function_remap GL_SGIS_point_parameters_functions[] = {
#if defined(need_GL_SGIS_sharpen_texture)
static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = {
- { 6047, -1 }, /* GetSharpenTexFuncSGIS */
- { 20414, -1 }, /* SharpenTexFuncSGIS */
+ { 6128, -1 }, /* GetSharpenTexFuncSGIS */
+ { 20604, -1 }, /* SharpenTexFuncSGIS */
{ -1, -1 }
};
#endif
@@ -5808,41 +5884,41 @@ static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = {
#if defined(need_GL_SGIS_texture4D)
static const struct gl_function_remap GL_SGIS_texture4D_functions[] = {
{ 933, -1 }, /* TexImage4DSGIS */
- { 14545, -1 }, /* TexSubImage4DSGIS */
+ { 14655, -1 }, /* TexSubImage4DSGIS */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIS_texture_color_mask)
static const struct gl_function_remap GL_SGIS_texture_color_mask_functions[] = {
- { 13943, -1 }, /* TextureColorMaskSGIS */
+ { 14053, -1 }, /* TextureColorMaskSGIS */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIS_texture_filter4)
static const struct gl_function_remap GL_SGIS_texture_filter4_functions[] = {
- { 6224, -1 }, /* GetTexFilterFuncSGIS */
- { 15141, -1 }, /* TexFilterFuncSGIS */
+ { 6305, -1 }, /* GetTexFilterFuncSGIS */
+ { 15251, -1 }, /* TexFilterFuncSGIS */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_async)
static const struct gl_function_remap GL_SGIX_async_functions[] = {
- { 3053, -1 }, /* AsyncMarkerSGIX */
- { 4036, -1 }, /* FinishAsyncSGIX */
- { 4830, -1 }, /* PollAsyncSGIX */
- { 20561, -1 }, /* DeleteAsyncMarkersSGIX */
- { 20616, -1 }, /* IsAsyncMarkerSGIX */
- { 30053, -1 }, /* GenAsyncMarkersSGIX */
+ { 3079, -1 }, /* AsyncMarkerSGIX */
+ { 4087, -1 }, /* FinishAsyncSGIX */
+ { 4881, -1 }, /* PollAsyncSGIX */
+ { 20751, -1 }, /* DeleteAsyncMarkersSGIX */
+ { 20806, -1 }, /* IsAsyncMarkerSGIX */
+ { 30343, -1 }, /* GenAsyncMarkersSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_flush_raster)
static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = {
- { 6601, -1 }, /* FlushRasterSGIX */
+ { 6682, -1 }, /* FlushRasterSGIX */
{ -1, -1 }
};
#endif
@@ -5850,37 +5926,37 @@ static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = {
#if defined(need_GL_SGIX_fragment_lighting)
static const struct gl_function_remap GL_SGIX_fragment_lighting_functions[] = {
{ 2449, -1 }, /* FragmentMaterialfvSGIX */
- { 4781, -1 }, /* FragmentLightiSGIX */
- { 5727, -1 }, /* GetFragmentMaterialfvSGIX */
- { 7321, -1 }, /* FragmentMaterialfSGIX */
- { 7482, -1 }, /* GetFragmentLightivSGIX */
- { 8319, -1 }, /* FragmentLightModeliSGIX */
- { 9764, -1 }, /* FragmentLightivSGIX */
- { 10066, -1 }, /* GetFragmentMaterialivSGIX */
- { 17811, -1 }, /* FragmentLightModelfSGIX */
- { 18111, -1 }, /* FragmentColorMaterialSGIX */
- { 18511, -1 }, /* FragmentMaterialiSGIX */
- { 19771, -1 }, /* LightEnviSGIX */
- { 21270, -1 }, /* FragmentLightModelfvSGIX */
- { 21579, -1 }, /* FragmentLightfvSGIX */
- { 26181, -1 }, /* FragmentLightModelivSGIX */
- { 26304, -1 }, /* FragmentLightfSGIX */
- { 28969, -1 }, /* GetFragmentLightfvSGIX */
- { 30536, -1 }, /* FragmentMaterialivSGIX */
+ { 4832, -1 }, /* FragmentLightiSGIX */
+ { 5808, -1 }, /* GetFragmentMaterialfvSGIX */
+ { 7402, -1 }, /* FragmentMaterialfSGIX */
+ { 7563, -1 }, /* GetFragmentLightivSGIX */
+ { 8400, -1 }, /* FragmentLightModeliSGIX */
+ { 9874, -1 }, /* FragmentLightivSGIX */
+ { 10176, -1 }, /* GetFragmentMaterialivSGIX */
+ { 18001, -1 }, /* FragmentLightModelfSGIX */
+ { 18301, -1 }, /* FragmentColorMaterialSGIX */
+ { 18701, -1 }, /* FragmentMaterialiSGIX */
+ { 19961, -1 }, /* LightEnviSGIX */
+ { 21484, -1 }, /* FragmentLightModelfvSGIX */
+ { 21793, -1 }, /* FragmentLightfvSGIX */
+ { 26422, -1 }, /* FragmentLightModelivSGIX */
+ { 26571, -1 }, /* FragmentLightfSGIX */
+ { 29259, -1 }, /* GetFragmentLightfvSGIX */
+ { 30826, -1 }, /* FragmentMaterialivSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_framezoom)
static const struct gl_function_remap GL_SGIX_framezoom_functions[] = {
- { 20639, -1 }, /* FrameZoomSGIX */
+ { 20829, -1 }, /* FrameZoomSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_igloo_interface)
static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = {
- { 26612, -1 }, /* IglooInterfaceSGIX */
+ { 26879, -1 }, /* IglooInterfaceSGIX */
{ -1, -1 }
};
#endif
@@ -5888,11 +5964,11 @@ static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = {
#if defined(need_GL_SGIX_instruments)
static const struct gl_function_remap GL_SGIX_instruments_functions[] = {
{ 2612, -1 }, /* ReadInstrumentsSGIX */
- { 5803, -1 }, /* PollInstrumentsSGIX */
- { 9662, -1 }, /* GetInstrumentsSGIX */
- { 11889, -1 }, /* StartInstrumentsSGIX */
- { 14741, -1 }, /* StopInstrumentsSGIX */
- { 16395, -1 }, /* InstrumentsBufferSGIX */
+ { 5884, -1 }, /* PollInstrumentsSGIX */
+ { 9772, -1 }, /* GetInstrumentsSGIX */
+ { 11999, -1 }, /* StartInstrumentsSGIX */
+ { 14851, -1 }, /* StopInstrumentsSGIX */
+ { 16585, -1 }, /* InstrumentsBufferSGIX */
{ -1, -1 }
};
#endif
@@ -5900,11 +5976,11 @@ static const struct gl_function_remap GL_SGIX_instruments_functions[] = {
#if defined(need_GL_SGIX_list_priority)
static const struct gl_function_remap GL_SGIX_list_priority_functions[] = {
{ 1164, -1 }, /* ListParameterfSGIX */
- { 2802, -1 }, /* GetListParameterfvSGIX */
- { 16310, -1 }, /* ListParameteriSGIX */
- { 17064, -1 }, /* ListParameterfvSGIX */
- { 19177, -1 }, /* ListParameterivSGIX */
- { 30097, -1 }, /* GetListParameterivSGIX */
+ { 2828, -1 }, /* GetListParameterfvSGIX */
+ { 16500, -1 }, /* ListParameteriSGIX */
+ { 17254, -1 }, /* ListParameterfvSGIX */
+ { 19367, -1 }, /* ListParameterivSGIX */
+ { 30387, -1 }, /* GetListParameterivSGIX */
{ -1, -1 }
};
#endif
@@ -5918,88 +5994,88 @@ static const struct gl_function_remap GL_SGIX_pixel_texture_functions[] = {
#if defined(need_GL_SGIX_polynomial_ffd)
static const struct gl_function_remap GL_SGIX_polynomial_ffd_functions[] = {
- { 3290, -1 }, /* LoadIdentityDeformationMapSGIX */
- { 11175, -1 }, /* DeformationMap3dSGIX */
- { 14841, -1 }, /* DeformSGIX */
- { 22447, -1 }, /* DeformationMap3fSGIX */
+ { 3341, -1 }, /* LoadIdentityDeformationMapSGIX */
+ { 11285, -1 }, /* DeformationMap3dSGIX */
+ { 14951, -1 }, /* DeformSGIX */
+ { 22661, -1 }, /* DeformationMap3fSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_reference_plane)
static const struct gl_function_remap GL_SGIX_reference_plane_functions[] = {
- { 13494, -1 }, /* ReferencePlaneSGIX */
+ { 13604, -1 }, /* ReferencePlaneSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_sprite)
static const struct gl_function_remap GL_SGIX_sprite_functions[] = {
- { 8817, -1 }, /* SpriteParameterfvSGIX */
- { 18966, -1 }, /* SpriteParameteriSGIX */
- { 24539, -1 }, /* SpriteParameterfSGIX */
- { 27176, -1 }, /* SpriteParameterivSGIX */
+ { 8898, -1 }, /* SpriteParameterfvSGIX */
+ { 19156, -1 }, /* SpriteParameteriSGIX */
+ { 24780, -1 }, /* SpriteParameterfSGIX */
+ { 27443, -1 }, /* SpriteParameterivSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_tag_sample_buffer)
static const struct gl_function_remap GL_SGIX_tag_sample_buffer_functions[] = {
- { 19025, -1 }, /* TagSampleBufferSGIX */
+ { 19215, -1 }, /* TagSampleBufferSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGI_color_table)
static const struct gl_function_remap GL_SGI_color_table_functions[] = {
- { 6891, _gloffset_ColorTableParameteriv },
- { 7603, _gloffset_ColorTable },
- { 13990, _gloffset_GetColorTable },
- { 14100, _gloffset_CopyColorTable },
- { 17755, _gloffset_ColorTableParameterfv },
- { 21178, _gloffset_GetColorTableParameterfv },
- { 23154, _gloffset_GetColorTableParameteriv },
+ { 6972, _gloffset_ColorTableParameteriv },
+ { 7684, _gloffset_ColorTable },
+ { 14100, _gloffset_GetColorTable },
+ { 14210, _gloffset_CopyColorTable },
+ { 17945, _gloffset_ColorTableParameterfv },
+ { 21392, _gloffset_GetColorTableParameterfv },
+ { 23368, _gloffset_GetColorTableParameteriv },
{ -1, -1 }
};
#endif
#if defined(need_GL_SUNX_constant_data)
static const struct gl_function_remap GL_SUNX_constant_data_functions[] = {
- { 28947, -1 }, /* FinishTextureSUNX */
+ { 29237, -1 }, /* FinishTextureSUNX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SUN_global_alpha)
static const struct gl_function_remap GL_SUN_global_alpha_functions[] = {
- { 3074, -1 }, /* GlobalAlphaFactorubSUN */
- { 4263, -1 }, /* GlobalAlphaFactoriSUN */
- { 5828, -1 }, /* GlobalAlphaFactordSUN */
- { 8901, -1 }, /* GlobalAlphaFactoruiSUN */
- { 9253, -1 }, /* GlobalAlphaFactorbSUN */
- { 12204, -1 }, /* GlobalAlphaFactorfSUN */
- { 12323, -1 }, /* GlobalAlphaFactorusSUN */
- { 20878, -1 }, /* GlobalAlphaFactorsSUN */
+ { 3100, -1 }, /* GlobalAlphaFactorubSUN */
+ { 4314, -1 }, /* GlobalAlphaFactoriSUN */
+ { 5909, -1 }, /* GlobalAlphaFactordSUN */
+ { 8982, -1 }, /* GlobalAlphaFactoruiSUN */
+ { 9363, -1 }, /* GlobalAlphaFactorbSUN */
+ { 12314, -1 }, /* GlobalAlphaFactorfSUN */
+ { 12433, -1 }, /* GlobalAlphaFactorusSUN */
+ { 21092, -1 }, /* GlobalAlphaFactorsSUN */
{ -1, -1 }
};
#endif
#if defined(need_GL_SUN_mesh_array)
static const struct gl_function_remap GL_SUN_mesh_array_functions[] = {
- { 26988, -1 }, /* DrawMeshArraysSUN */
+ { 27255, -1 }, /* DrawMeshArraysSUN */
{ -1, -1 }
};
#endif
#if defined(need_GL_SUN_triangle_list)
static const struct gl_function_remap GL_SUN_triangle_list_functions[] = {
- { 4010, -1 }, /* ReplacementCodeubSUN */
- { 5639, -1 }, /* ReplacementCodeubvSUN */
- { 17476, -1 }, /* ReplacementCodeusvSUN */
- { 17664, -1 }, /* ReplacementCodePointerSUN */
- { 19835, -1 }, /* ReplacementCodeuiSUN */
- { 20590, -1 }, /* ReplacementCodeusSUN */
- { 27633, -1 }, /* ReplacementCodeuivSUN */
+ { 4061, -1 }, /* ReplacementCodeubSUN */
+ { 5720, -1 }, /* ReplacementCodeubvSUN */
+ { 17666, -1 }, /* ReplacementCodeusvSUN */
+ { 17854, -1 }, /* ReplacementCodePointerSUN */
+ { 20025, -1 }, /* ReplacementCodeuiSUN */
+ { 20780, -1 }, /* ReplacementCodeusSUN */
+ { 27900, -1 }, /* ReplacementCodeuivSUN */
{ -1, -1 }
};
#endif
@@ -6013,39 +6089,39 @@ static const struct gl_function_remap GL_SUN_vertex_functions[] = {
{ 1872, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fvSUN */
{ 2385, -1 }, /* ReplacementCodeuiNormal3fVertex3fSUN */
{ 2681, -1 }, /* Color4ubVertex3fvSUN */
- { 4144, -1 }, /* Color4ubVertex3fSUN */
- { 4220, -1 }, /* TexCoord2fVertex3fSUN */
- { 4547, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */
- { 4934, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */
- { 5534, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */
- { 6279, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */
- { 6638, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */
- { 7350, -1 }, /* TexCoord2fNormal3fVertex3fSUN */
- { 8118, -1 }, /* Color3fVertex3fSUN */
- { 9212, -1 }, /* Color3fVertex3fvSUN */
- { 9627, -1 }, /* Color4fNormal3fVertex3fvSUN */
- { 10364, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */
- { 11752, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */
- { 13225, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */
- { 13636, -1 }, /* TexCoord2fColor3fVertex3fSUN */
- { 14766, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */
- { 15100, -1 }, /* Color4ubVertex2fvSUN */
- { 15340, -1 }, /* Normal3fVertex3fSUN */
- { 16336, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */
- { 16597, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */
- { 17305, -1 }, /* TexCoord2fVertex3fvSUN */
- { 18081, -1 }, /* Color4ubVertex2fSUN */
- { 18302, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */
- { 20260, -1 }, /* TexCoord2fColor4ubVertex3fSUN */
- { 20658, -1 }, /* Normal3fVertex3fvSUN */
- { 21087, -1 }, /* Color4fNormal3fVertex3fSUN */
- { 21996, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */
- { 23991, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */
- { 25248, -1 }, /* TexCoord4fVertex4fSUN */
- { 25674, -1 }, /* TexCoord2fColor3fVertex3fvSUN */
- { 26025, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */
- { 26152, -1 }, /* TexCoord4fVertex4fvSUN */
- { 26860, -1 }, /* ReplacementCodeuiVertex3fSUN */
+ { 4195, -1 }, /* Color4ubVertex3fSUN */
+ { 4271, -1 }, /* TexCoord2fVertex3fSUN */
+ { 4598, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */
+ { 4985, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */
+ { 5615, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */
+ { 6360, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */
+ { 6719, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */
+ { 7431, -1 }, /* TexCoord2fNormal3fVertex3fSUN */
+ { 8199, -1 }, /* Color3fVertex3fSUN */
+ { 9322, -1 }, /* Color3fVertex3fvSUN */
+ { 9737, -1 }, /* Color4fNormal3fVertex3fvSUN */
+ { 10474, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */
+ { 11862, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */
+ { 13335, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */
+ { 13746, -1 }, /* TexCoord2fColor3fVertex3fSUN */
+ { 14876, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */
+ { 15210, -1 }, /* Color4ubVertex2fvSUN */
+ { 15450, -1 }, /* Normal3fVertex3fSUN */
+ { 16526, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */
+ { 16787, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */
+ { 17495, -1 }, /* TexCoord2fVertex3fvSUN */
+ { 18271, -1 }, /* Color4ubVertex2fSUN */
+ { 18492, -1 }, /* ReplacementCodeuiColor4ubVertex3fSUN */
+ { 20450, -1 }, /* TexCoord2fColor4ubVertex3fSUN */
+ { 20848, -1 }, /* Normal3fVertex3fvSUN */
+ { 21301, -1 }, /* Color4fNormal3fVertex3fSUN */
+ { 22210, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */
+ { 24205, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */
+ { 25489, -1 }, /* TexCoord4fVertex4fSUN */
+ { 25915, -1 }, /* TexCoord2fColor3fVertex3fvSUN */
+ { 26266, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */
+ { 26393, -1 }, /* TexCoord4fVertex4fvSUN */
+ { 27127, -1 }, /* ReplacementCodeuiVertex3fSUN */
{ -1, -1 }
};
#endif
@@ -6055,38 +6131,38 @@ static const struct gl_function_remap GL_SUN_vertex_functions[] = {
static const struct gl_function_remap GL_VERSION_1_3_functions[] = {
{ 420, _gloffset_MultiTexCoord3sARB },
{ 652, _gloffset_ActiveTextureARB },
- { 3800, _gloffset_MultiTexCoord1fvARB },
- { 5425, _gloffset_MultiTexCoord3dARB },
- { 5470, _gloffset_MultiTexCoord2iARB },
- { 5594, _gloffset_MultiTexCoord2svARB },
- { 7559, _gloffset_MultiTexCoord2fARB },
- { 9463, _gloffset_MultiTexCoord3fvARB },
- { 10020, _gloffset_MultiTexCoord4sARB },
- { 10654, _gloffset_MultiTexCoord2dvARB },
- { 11036, _gloffset_MultiTexCoord1svARB },
- { 11447, _gloffset_MultiTexCoord3svARB },
- { 11508, _gloffset_MultiTexCoord4iARB },
- { 12231, _gloffset_MultiTexCoord3iARB },
- { 12963, _gloffset_MultiTexCoord1dARB },
- { 13180, _gloffset_MultiTexCoord3dvARB },
- { 14344, _gloffset_MultiTexCoord3ivARB },
- { 14389, _gloffset_MultiTexCoord2sARB },
- { 15687, _gloffset_MultiTexCoord4ivARB },
- { 17405, _gloffset_ClientActiveTextureARB },
- { 19688, _gloffset_MultiTexCoord2dARB },
- { 20129, _gloffset_MultiTexCoord4dvARB },
- { 20440, _gloffset_MultiTexCoord4fvARB },
- { 21319, _gloffset_MultiTexCoord3fARB },
- { 23682, _gloffset_MultiTexCoord4dARB },
- { 23948, _gloffset_MultiTexCoord1sARB },
- { 24152, _gloffset_MultiTexCoord1dvARB },
- { 24994, _gloffset_MultiTexCoord1ivARB },
- { 25087, _gloffset_MultiTexCoord2ivARB },
- { 25426, _gloffset_MultiTexCoord1iARB },
- { 26728, _gloffset_MultiTexCoord4svARB },
- { 27246, _gloffset_MultiTexCoord1fARB },
- { 27509, _gloffset_MultiTexCoord4fARB },
- { 29774, _gloffset_MultiTexCoord2fvARB },
+ { 3851, _gloffset_MultiTexCoord1fvARB },
+ { 5506, _gloffset_MultiTexCoord3dARB },
+ { 5551, _gloffset_MultiTexCoord2iARB },
+ { 5675, _gloffset_MultiTexCoord2svARB },
+ { 7640, _gloffset_MultiTexCoord2fARB },
+ { 9573, _gloffset_MultiTexCoord3fvARB },
+ { 10130, _gloffset_MultiTexCoord4sARB },
+ { 10764, _gloffset_MultiTexCoord2dvARB },
+ { 11146, _gloffset_MultiTexCoord1svARB },
+ { 11557, _gloffset_MultiTexCoord3svARB },
+ { 11618, _gloffset_MultiTexCoord4iARB },
+ { 12341, _gloffset_MultiTexCoord3iARB },
+ { 13073, _gloffset_MultiTexCoord1dARB },
+ { 13290, _gloffset_MultiTexCoord3dvARB },
+ { 14454, _gloffset_MultiTexCoord3ivARB },
+ { 14499, _gloffset_MultiTexCoord2sARB },
+ { 15826, _gloffset_MultiTexCoord4ivARB },
+ { 17595, _gloffset_ClientActiveTextureARB },
+ { 19878, _gloffset_MultiTexCoord2dARB },
+ { 20319, _gloffset_MultiTexCoord4dvARB },
+ { 20630, _gloffset_MultiTexCoord4fvARB },
+ { 21533, _gloffset_MultiTexCoord3fARB },
+ { 23896, _gloffset_MultiTexCoord4dARB },
+ { 24162, _gloffset_MultiTexCoord1sARB },
+ { 24366, _gloffset_MultiTexCoord1dvARB },
+ { 25235, _gloffset_MultiTexCoord1ivARB },
+ { 25328, _gloffset_MultiTexCoord2ivARB },
+ { 25667, _gloffset_MultiTexCoord1iARB },
+ { 26995, _gloffset_MultiTexCoord4svARB },
+ { 27513, _gloffset_MultiTexCoord1fARB },
+ { 27776, _gloffset_MultiTexCoord4fARB },
+ { 30064, _gloffset_MultiTexCoord2fvARB },
{ -1, -1 }
};
#endif
diff --git a/src/mesa/main/renderbuffer.c b/src/mesa/main/renderbuffer.c
index 118fb52bb2e..dc8bc747874 100644
--- a/src/mesa/main/renderbuffer.c
+++ b/src/mesa/main/renderbuffer.c
@@ -61,7 +61,7 @@
*/
static void *
-get_pointer_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb,
+get_pointer_ubyte(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLint x, GLint y)
{
if (!rb->Data)
@@ -75,7 +75,7 @@ get_pointer_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb,
static void
-get_row_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_row_ubyte(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, void *values)
{
const GLubyte *src = (const GLubyte *) rb->Data + y * rb->Width + x;
@@ -85,7 +85,7 @@ get_row_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-get_values_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_values_ubyte(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
GLubyte *dst = (GLubyte *) values;
@@ -99,7 +99,7 @@ get_values_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_row_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_row_ubyte(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
const GLubyte *src = (const GLubyte *) values;
@@ -120,7 +120,7 @@ put_row_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_row_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_mono_row_ubyte(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
const GLubyte val = *((const GLubyte *) value);
@@ -144,7 +144,7 @@ put_mono_row_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_values_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_values_ubyte(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[],
const void *values, const GLubyte *mask)
{
@@ -161,7 +161,7 @@ put_values_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_values_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_mono_values_ubyte(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[],
const void *value, const GLubyte *mask)
{
@@ -183,7 +183,7 @@ put_mono_values_ubyte(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
*/
static void *
-get_pointer_ushort(GLcontext *ctx, struct gl_renderbuffer *rb,
+get_pointer_ushort(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLint x, GLint y)
{
if (!rb->Data)
@@ -195,7 +195,7 @@ get_pointer_ushort(GLcontext *ctx, struct gl_renderbuffer *rb,
static void
-get_row_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_row_ushort(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, void *values)
{
const void *src = rb->GetPointer(ctx, rb, x, y);
@@ -205,7 +205,7 @@ get_row_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-get_values_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_values_ushort(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
GLushort *dst = (GLushort *) values;
@@ -219,7 +219,7 @@ get_values_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_row_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_row_ushort(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
const GLushort *src = (const GLushort *) values;
@@ -240,7 +240,7 @@ put_row_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_row_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_mono_row_ushort(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
const GLushort val = *((const GLushort *) value);
@@ -264,7 +264,7 @@ put_mono_row_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_values_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_values_ushort(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], const void *values,
const GLubyte *mask)
{
@@ -281,7 +281,7 @@ put_values_ushort(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_values_ushort(GLcontext *ctx, struct gl_renderbuffer *rb,
+put_mono_values_ushort(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLuint count, const GLint x[], const GLint y[],
const void *value, const GLubyte *mask)
{
@@ -312,7 +312,7 @@ put_mono_values_ushort(GLcontext *ctx, struct gl_renderbuffer *rb,
*/
static void *
-get_pointer_uint(GLcontext *ctx, struct gl_renderbuffer *rb,
+get_pointer_uint(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLint x, GLint y)
{
if (!rb->Data)
@@ -324,7 +324,7 @@ get_pointer_uint(GLcontext *ctx, struct gl_renderbuffer *rb,
static void
-get_row_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_row_uint(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, void *values)
{
const void *src = rb->GetPointer(ctx, rb, x, y);
@@ -335,7 +335,7 @@ get_row_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-get_values_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_values_uint(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
GLuint *dst = (GLuint *) values;
@@ -350,7 +350,7 @@ get_values_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_row_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_row_uint(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
const GLuint *src = (const GLuint *) values;
@@ -372,7 +372,7 @@ put_row_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_row_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_mono_row_uint(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
const GLuint val = *((const GLuint *) value);
@@ -397,7 +397,7 @@ put_mono_row_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_values_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_values_uint(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], const void *values,
const GLubyte *mask)
{
@@ -415,7 +415,7 @@ put_values_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_values_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_mono_values_uint(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], const void *value,
const GLubyte *mask)
{
@@ -440,7 +440,7 @@ put_mono_values_uint(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
*/
static void *
-get_pointer_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb,
+get_pointer_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLint x, GLint y)
{
ASSERT(rb->Format == MESA_FORMAT_RGB888);
@@ -452,7 +452,7 @@ get_pointer_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb,
static void
-get_row_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_row_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, void *values)
{
const GLubyte *src = (const GLubyte *) rb->Data + 3 * (y * rb->Width + x);
@@ -470,7 +470,7 @@ get_row_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-get_values_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_values_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
GLubyte *dst = (GLubyte *) values;
@@ -489,7 +489,7 @@ get_values_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_row_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_row_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
/* note: incoming values are RGB+A! */
@@ -509,7 +509,7 @@ put_row_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_row_rgb_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_row_rgb_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
/* note: incoming values are RGB+A! */
@@ -529,7 +529,7 @@ put_row_rgb_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_row_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_mono_row_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
/* note: incoming value is RGB+A! */
@@ -557,7 +557,7 @@ put_mono_row_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_values_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_values_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], const void *values,
const GLubyte *mask)
{
@@ -578,7 +578,7 @@ put_values_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_values_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb,
+put_mono_values_ubyte3(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLuint count, const GLint x[], const GLint y[],
const void *value, const GLubyte *mask)
{
@@ -606,7 +606,7 @@ put_mono_values_ubyte3(GLcontext *ctx, struct gl_renderbuffer *rb,
*/
static void *
-get_pointer_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb,
+get_pointer_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLint x, GLint y)
{
if (!rb->Data)
@@ -618,7 +618,7 @@ get_pointer_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb,
static void
-get_row_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_row_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, void *values)
{
const GLubyte *src = (const GLubyte *) rb->Data + 4 * (y * rb->Width + x);
@@ -629,7 +629,7 @@ get_row_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-get_values_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_values_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
/* treat 4*GLubyte as 1*GLuint */
@@ -645,7 +645,7 @@ get_values_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_row_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_row_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
/* treat 4*GLubyte as 1*GLuint */
@@ -668,7 +668,7 @@ put_row_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_row_rgb_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_row_rgb_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
/* Store RGB values in RGBA buffer */
@@ -689,7 +689,7 @@ put_row_rgb_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_row_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_mono_row_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
/* treat 4*GLubyte as 1*GLuint */
@@ -722,7 +722,7 @@ put_mono_row_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_values_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_values_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], const void *values,
const GLubyte *mask)
{
@@ -741,7 +741,7 @@ put_values_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_values_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb,
+put_mono_values_ubyte4(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLuint count, const GLint x[], const GLint y[],
const void *value, const GLubyte *mask)
{
@@ -765,7 +765,7 @@ put_mono_values_ubyte4(GLcontext *ctx, struct gl_renderbuffer *rb,
*/
static void *
-get_pointer_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb,
+get_pointer_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLint x, GLint y)
{
if (!rb->Data)
@@ -776,7 +776,7 @@ get_pointer_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb,
static void
-get_row_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_row_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, void *values)
{
const GLshort *src = (const GLshort *) rb->Data + 4 * (y * rb->Width + x);
@@ -786,7 +786,7 @@ get_row_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-get_values_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+get_values_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
GLushort *dst = (GLushort *) values;
@@ -801,7 +801,7 @@ get_values_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_row_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_row_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
const GLushort *src = (const GLushort *) values;
@@ -825,7 +825,7 @@ put_row_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_row_rgb_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_row_rgb_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
/* Put RGB values in RGBA buffer */
@@ -850,7 +850,7 @@ put_row_rgb_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_row_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_mono_row_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
const GLushort val0 = ((const GLushort *) value)[0];
@@ -878,7 +878,7 @@ put_mono_row_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_values_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+put_values_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], const void *values,
const GLubyte *mask)
{
@@ -898,7 +898,7 @@ put_values_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-put_mono_values_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb,
+put_mono_values_ushort4(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLuint count, const GLint x[], const GLint y[],
const void *value, const GLubyte *mask)
{
@@ -936,7 +936,7 @@ put_mono_values_ushort4(GLcontext *ctx, struct gl_renderbuffer *rb,
* Get/PutValues functions.
*/
GLboolean
-_mesa_soft_renderbuffer_storage(GLcontext *ctx, struct gl_renderbuffer *rb,
+_mesa_soft_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLenum internalFormat,
GLuint width, GLuint height)
{
@@ -1145,7 +1145,7 @@ _mesa_soft_renderbuffer_storage(GLcontext *ctx, struct gl_renderbuffer *rb,
static GLboolean
-alloc_storage_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb,
+alloc_storage_alpha8(struct gl_context *ctx, struct gl_renderbuffer *arb,
GLenum internalFormat, GLuint width, GLuint height)
{
ASSERT(arb != arb->Wrapped);
@@ -1195,7 +1195,7 @@ delete_renderbuffer_alpha8(struct gl_renderbuffer *arb)
static void *
-get_pointer_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb,
+get_pointer_alpha8(struct gl_context *ctx, struct gl_renderbuffer *arb,
GLint x, GLint y)
{
return NULL; /* don't allow direct access! */
@@ -1203,7 +1203,7 @@ get_pointer_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb,
static void
-get_row_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
+get_row_alpha8(struct gl_context *ctx, struct gl_renderbuffer *arb, GLuint count,
GLint x, GLint y, void *values)
{
/* NOTE: 'values' is RGBA format! */
@@ -1222,7 +1222,7 @@ get_row_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
static void
-get_values_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
+get_values_alpha8(struct gl_context *ctx, struct gl_renderbuffer *arb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
GLubyte *dst = (GLubyte *) values;
@@ -1240,7 +1240,7 @@ get_values_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
static void
-put_row_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
+put_row_alpha8(struct gl_context *ctx, struct gl_renderbuffer *arb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
const GLubyte *src = (const GLubyte *) values;
@@ -1260,7 +1260,7 @@ put_row_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
static void
-put_row_rgb_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
+put_row_rgb_alpha8(struct gl_context *ctx, struct gl_renderbuffer *arb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
const GLubyte *src = (const GLubyte *) values;
@@ -1280,7 +1280,7 @@ put_row_rgb_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
static void
-put_mono_row_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
+put_mono_row_alpha8(struct gl_context *ctx, struct gl_renderbuffer *arb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
const GLubyte val = ((const GLubyte *) value)[3];
@@ -1305,7 +1305,7 @@ put_mono_row_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
static void
-put_values_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
+put_values_alpha8(struct gl_context *ctx, struct gl_renderbuffer *arb, GLuint count,
const GLint x[], const GLint y[],
const void *values, const GLubyte *mask)
{
@@ -1326,7 +1326,7 @@ put_values_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb, GLuint count,
static void
-put_mono_values_alpha8(GLcontext *ctx, struct gl_renderbuffer *arb,
+put_mono_values_alpha8(struct gl_context *ctx, struct gl_renderbuffer *arb,
GLuint count, const GLint x[], const GLint y[],
const void *value, const GLubyte *mask)
{
@@ -1368,7 +1368,7 @@ copy_buffer_alpha8(struct gl_renderbuffer* dst, struct gl_renderbuffer* src)
* direct buffer access is not supported.
*/
static void *
-nop_get_pointer(GLcontext *ctx, struct gl_renderbuffer *rb, GLint x, GLint y)
+nop_get_pointer(struct gl_context *ctx, struct gl_renderbuffer *rb, GLint x, GLint y)
{
return NULL;
}
@@ -1422,7 +1422,7 @@ _mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name)
* renderbuffers or window-system renderbuffers.
*/
struct gl_renderbuffer *
-_mesa_new_renderbuffer(GLcontext *ctx, GLuint name)
+_mesa_new_renderbuffer(struct gl_context *ctx, GLuint name)
{
struct gl_renderbuffer *rb = CALLOC_STRUCT(gl_renderbuffer);
if (rb) {
@@ -1453,7 +1453,7 @@ _mesa_delete_renderbuffer(struct gl_renderbuffer *rb)
* This would not be used for hardware-based renderbuffers.
*/
struct gl_renderbuffer *
-_mesa_new_soft_renderbuffer(GLcontext *ctx, GLuint name)
+_mesa_new_soft_renderbuffer(struct gl_context *ctx, GLuint name)
{
struct gl_renderbuffer *rb = _mesa_new_renderbuffer(ctx, name);
if (rb) {
@@ -1476,7 +1476,7 @@ _mesa_new_soft_renderbuffer(GLcontext *ctx, GLuint name)
* rendering!
*/
GLboolean
-_mesa_add_color_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_color_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint rgbBits, GLuint alphaBits,
GLboolean frontLeft, GLboolean backLeft,
GLboolean frontRight, GLboolean backRight)
@@ -1540,7 +1540,7 @@ _mesa_add_color_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb,
* rendering!
*/
GLboolean
-_mesa_add_alpha_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_alpha_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint alphaBits,
GLboolean frontLeft, GLboolean backLeft,
GLboolean frontRight, GLboolean backRight)
@@ -1624,7 +1624,7 @@ _mesa_add_alpha_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb,
* copy the back buffer alpha channel into the front buffer alpha channel.
*/
void
-_mesa_copy_soft_alpha_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb)
+_mesa_copy_soft_alpha_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb)
{
if (fb->Attachment[BUFFER_FRONT_LEFT].Renderbuffer &&
fb->Attachment[BUFFER_BACK_LEFT].Renderbuffer)
@@ -1648,7 +1648,7 @@ _mesa_copy_soft_alpha_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb)
* rendering!
*/
GLboolean
-_mesa_add_depth_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_depth_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint depthBits)
{
struct gl_renderbuffer *rb;
@@ -1696,7 +1696,7 @@ _mesa_add_depth_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
* rendering!
*/
GLboolean
-_mesa_add_stencil_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_stencil_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint stencilBits)
{
struct gl_renderbuffer *rb;
@@ -1735,7 +1735,7 @@ _mesa_add_stencil_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
* rendering!
*/
GLboolean
-_mesa_add_accum_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_accum_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint redBits, GLuint greenBits,
GLuint blueBits, GLuint alphaBits)
{
@@ -1776,7 +1776,7 @@ _mesa_add_accum_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
* NOTE: color-index aux buffers not supported.
*/
GLboolean
-_mesa_add_aux_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_aux_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint colorBits, GLuint numBuffers)
{
GLuint i;
@@ -1990,7 +1990,7 @@ _mesa_reference_renderbuffer(struct gl_renderbuffer **ptr,
* \return new depth/stencil renderbuffer
*/
struct gl_renderbuffer *
-_mesa_new_depthstencil_renderbuffer(GLcontext *ctx, GLuint name)
+_mesa_new_depthstencil_renderbuffer(struct gl_context *ctx, GLuint name)
{
struct gl_renderbuffer *dsrb;
diff --git a/src/mesa/main/renderbuffer.h b/src/mesa/main/renderbuffer.h
index bc92b269821..8791369dbee 100644
--- a/src/mesa/main/renderbuffer.h
+++ b/src/mesa/main/renderbuffer.h
@@ -36,52 +36,52 @@ extern void
_mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name);
extern struct gl_renderbuffer *
-_mesa_new_renderbuffer(GLcontext *ctx, GLuint name);
+_mesa_new_renderbuffer(struct gl_context *ctx, GLuint name);
extern void
_mesa_delete_renderbuffer(struct gl_renderbuffer *rb);
extern struct gl_renderbuffer *
-_mesa_new_soft_renderbuffer(GLcontext *ctx, GLuint name);
+_mesa_new_soft_renderbuffer(struct gl_context *ctx, GLuint name);
extern GLboolean
-_mesa_soft_renderbuffer_storage(GLcontext *ctx, struct gl_renderbuffer *rb,
+_mesa_soft_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLenum internalFormat,
GLuint width, GLuint height);
extern GLboolean
-_mesa_add_color_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_color_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint rgbBits, GLuint alphaBits,
GLboolean frontLeft, GLboolean backLeft,
GLboolean frontRight, GLboolean backRight);
extern GLboolean
-_mesa_add_alpha_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_alpha_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint alphaBits,
GLboolean frontLeft, GLboolean backLeft,
GLboolean frontRight, GLboolean backRight);
extern void
-_mesa_copy_soft_alpha_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb);
+_mesa_copy_soft_alpha_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb);
extern GLboolean
-_mesa_add_depth_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_depth_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint depthBits);
extern GLboolean
-_mesa_add_stencil_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_stencil_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint stencilBits);
extern GLboolean
-_mesa_add_accum_renderbuffer(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_accum_renderbuffer(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint redBits, GLuint greenBits,
GLuint blueBits, GLuint alphaBits);
extern GLboolean
-_mesa_add_aux_renderbuffers(GLcontext *ctx, struct gl_framebuffer *fb,
+_mesa_add_aux_renderbuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
GLuint bits, GLuint numBuffers);
extern void
@@ -105,7 +105,7 @@ _mesa_reference_renderbuffer(struct gl_renderbuffer **ptr,
struct gl_renderbuffer *rb);
extern struct gl_renderbuffer *
-_mesa_new_depthstencil_renderbuffer(GLcontext *ctx, GLuint name);
+_mesa_new_depthstencil_renderbuffer(struct gl_context *ctx, GLuint name);
#endif /* RENDERBUFFER_H */
diff --git a/src/mesa/main/scissor.c b/src/mesa/main/scissor.c
index 523f3c3ab83..4cf0bc2528c 100644
--- a/src/mesa/main/scissor.c
+++ b/src/mesa/main/scissor.c
@@ -58,12 +58,12 @@ _mesa_Scissor( GLint x, GLint y, GLsizei width, GLsizei height )
*
* \sa glScissor().
*
- * Verifies the parameters and updates __GLcontextRec::Scissor. On a
+ * Verifies the parameters and updates __struct gl_contextRec::Scissor. On a
* change flushes the vertices and notifies the driver via
* the dd_function_table::Scissor callback.
*/
void
-_mesa_set_scissor(GLcontext *ctx,
+_mesa_set_scissor(struct gl_context *ctx,
GLint x, GLint y, GLsizei width, GLsizei height)
{
if (x == ctx->Scissor.X &&
@@ -88,7 +88,7 @@ _mesa_set_scissor(GLcontext *ctx,
* \param ctx the GL context.
*/
void
-_mesa_init_scissor(GLcontext *ctx)
+_mesa_init_scissor(struct gl_context *ctx)
{
/* Scissor group */
ctx->Scissor.Enabled = GL_FALSE;
diff --git a/src/mesa/main/scissor.h b/src/mesa/main/scissor.h
index b852a2122d0..bd909019db2 100644
--- a/src/mesa/main/scissor.h
+++ b/src/mesa/main/scissor.h
@@ -35,12 +35,12 @@ _mesa_Scissor( GLint x, GLint y, GLsizei width, GLsizei height );
extern void
-_mesa_set_scissor(GLcontext *ctx,
+_mesa_set_scissor(struct gl_context *ctx,
GLint x, GLint y, GLsizei width, GLsizei height);
extern void
-_mesa_init_scissor(GLcontext *ctx);
+_mesa_init_scissor(struct gl_context *ctx);
#endif
diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c
index c25d2a19747..e6c7f7aa3f8 100644
--- a/src/mesa/main/shaderapi.c
+++ b/src/mesa/main/shaderapi.c
@@ -47,7 +47,7 @@
#include "program/prog_parameter.h"
#include "program/prog_uniform.h"
#include "talloc.h"
-
+#include <stdbool.h>
/** Define this to enable shader substitution (see below) */
#define SHADER_SUBST 0
@@ -89,7 +89,7 @@ get_shader_flags(void)
* Initialize context's shader state.
*/
void
-_mesa_init_shader_state(GLcontext *ctx)
+_mesa_init_shader_state(struct gl_context *ctx)
{
/* Device drivers may override these to control what kind of instructions
* are generated by the GLSL compiler.
@@ -114,9 +114,14 @@ _mesa_init_shader_state(GLcontext *ctx)
* Free the per-context shader-related state.
*/
void
-_mesa_free_shader_state(GLcontext *ctx)
+_mesa_free_shader_state(struct gl_context *ctx)
{
- _mesa_reference_shader_program(ctx, &ctx->Shader.CurrentProgram, NULL);
+ _mesa_reference_shader_program(ctx, &ctx->Shader.CurrentVertexProgram, NULL);
+ _mesa_reference_shader_program(ctx, &ctx->Shader.CurrentGeometryProgram,
+ NULL);
+ _mesa_reference_shader_program(ctx, &ctx->Shader.CurrentFragmentProgram,
+ NULL);
+ _mesa_reference_shader_program(ctx, &ctx->Shader.ActiveProgram, NULL);
}
@@ -202,6 +207,35 @@ _mesa_copy_string(GLchar *dst, GLsizei maxLength,
/**
+ * Confirm that the a shader type is valid and supported by the implementation
+ *
+ * \param ctx Current GL context
+ * \param type Shader target
+ *
+ */
+static bool
+validate_shader_target(const struct gl_context *ctx, GLenum type)
+{
+ switch (type) {
+#if FEATURE_ARB_fragment_shader
+ case GL_FRAGMENT_SHADER:
+ return ctx->Extensions.ARB_fragment_shader;
+#endif
+#if FEATURE_ARB_vertex_shader
+ case GL_VERTEX_SHADER:
+ return ctx->Extensions.ARB_vertex_shader;
+#endif
+#if FEATURE_ARB_geometry_shader4
+ case GL_GEOMETRY_SHADER_ARB:
+ return ctx->Extensions.ARB_geometry_shader4;
+#endif
+ default:
+ return false;
+ }
+}
+
+
+/**
* Find the length of the longest transform feedback varying name
* which was specified with glTransformFeedbackVaryings().
*/
@@ -221,7 +255,7 @@ longest_feedback_varying_name(const struct gl_shader_program *shProg)
static GLboolean
-is_program(GLcontext *ctx, GLuint name)
+is_program(struct gl_context *ctx, GLuint name)
{
struct gl_shader_program *shProg = _mesa_lookup_shader_program(ctx, name);
return shProg ? GL_TRUE : GL_FALSE;
@@ -229,7 +263,7 @@ is_program(GLcontext *ctx, GLuint name)
static GLboolean
-is_shader(GLcontext *ctx, GLuint name)
+is_shader(struct gl_context *ctx, GLuint name)
{
struct gl_shader *shader = _mesa_lookup_shader(ctx, name);
return shader ? GL_TRUE : GL_FALSE;
@@ -240,7 +274,7 @@ is_shader(GLcontext *ctx, GLuint name)
* Attach shader to a shader program.
*/
static void
-attach_shader(GLcontext *ctx, GLuint program, GLuint shader)
+attach_shader(struct gl_context *ctx, GLuint program, GLuint shader)
{
struct gl_shader_program *shProg;
struct gl_shader *sh;
@@ -287,7 +321,7 @@ attach_shader(GLcontext *ctx, GLuint program, GLuint shader)
static GLint
-get_attrib_location(GLcontext *ctx, GLuint program, const GLchar *name)
+get_attrib_location(struct gl_context *ctx, GLuint program, const GLchar *name)
{
struct gl_shader_program *shProg
= _mesa_lookup_shader_program_err(ctx, program, "glGetAttribLocation");
@@ -320,7 +354,7 @@ get_attrib_location(GLcontext *ctx, GLuint program, const GLchar *name)
static void
-bind_attrib_location(GLcontext *ctx, GLuint program, GLuint index,
+bind_attrib_location(struct gl_context *ctx, GLuint program, GLuint index,
const GLchar *name)
{
struct gl_shader_program *shProg;
@@ -371,24 +405,18 @@ bind_attrib_location(GLcontext *ctx, GLuint program, GLuint index,
static GLuint
-create_shader(GLcontext *ctx, GLenum type)
+create_shader(struct gl_context *ctx, GLenum type)
{
struct gl_shader *sh;
GLuint name;
- name = _mesa_HashFindFreeKeyBlock(ctx->Shared->ShaderObjects, 1);
-
- switch (type) {
- case GL_FRAGMENT_SHADER:
- case GL_VERTEX_SHADER:
- case GL_GEOMETRY_SHADER_ARB:
- sh = ctx->Driver.NewShader(ctx, name, type);
- break;
- default:
+ if (!validate_shader_target(ctx, type)) {
_mesa_error(ctx, GL_INVALID_ENUM, "CreateShader(type)");
return 0;
}
+ name = _mesa_HashFindFreeKeyBlock(ctx->Shared->ShaderObjects, 1);
+ sh = ctx->Driver.NewShader(ctx, name, type);
_mesa_HashInsert(ctx->Shared->ShaderObjects, name, sh);
return name;
@@ -396,7 +424,7 @@ create_shader(GLcontext *ctx, GLenum type)
static GLuint
-create_shader_program(GLcontext *ctx)
+create_shader_program(struct gl_context *ctx)
{
GLuint name;
struct gl_shader_program *shProg;
@@ -418,7 +446,7 @@ create_shader_program(GLcontext *ctx)
* DeleteProgramARB.
*/
static void
-delete_shader_program(GLcontext *ctx, GLuint name)
+delete_shader_program(struct gl_context *ctx, GLuint name)
{
/*
* NOTE: deleting shaders/programs works a bit differently than
@@ -442,7 +470,7 @@ delete_shader_program(GLcontext *ctx, GLuint name)
static void
-delete_shader(GLcontext *ctx, GLuint shader)
+delete_shader(struct gl_context *ctx, GLuint shader)
{
struct gl_shader *sh;
@@ -458,7 +486,7 @@ delete_shader(GLcontext *ctx, GLuint shader)
static void
-detach_shader(GLcontext *ctx, GLuint program, GLuint shader)
+detach_shader(struct gl_context *ctx, GLuint program, GLuint shader)
{
struct gl_shader_program *shProg;
GLuint n;
@@ -526,7 +554,7 @@ detach_shader(GLcontext *ctx, GLuint program, GLuint shader)
static void
-get_active_attrib(GLcontext *ctx, GLuint program, GLuint index,
+get_active_attrib(struct gl_context *ctx, GLuint program, GLuint index,
GLsizei maxLength, GLsizei *length, GLint *size,
GLenum *type, GLchar *nameOut)
{
@@ -561,7 +589,7 @@ get_active_attrib(GLcontext *ctx, GLuint program, GLuint index,
* Return list of shaders attached to shader program.
*/
static void
-get_attached_shaders(GLcontext *ctx, GLuint program, GLsizei maxCount,
+get_attached_shaders(struct gl_context *ctx, GLuint program, GLsizei maxCount,
GLsizei *count, GLuint *obj)
{
struct gl_shader_program *shProg =
@@ -581,11 +609,11 @@ get_attached_shaders(GLcontext *ctx, GLuint program, GLsizei maxCount,
* glGetHandleARB() - return ID/name of currently bound shader program.
*/
static GLuint
-get_handle(GLcontext *ctx, GLenum pname)
+get_handle(struct gl_context *ctx, GLenum pname)
{
if (pname == GL_PROGRAM_OBJECT_ARB) {
- if (ctx->Shader.CurrentProgram)
- return ctx->Shader.CurrentProgram->Name;
+ if (ctx->Shader.ActiveProgram)
+ return ctx->Shader.ActiveProgram->Name;
else
return 0;
}
@@ -602,7 +630,7 @@ get_handle(GLcontext *ctx, GLenum pname)
* programs (see glGetProgramivARB).
*/
static void
-get_programiv(GLcontext *ctx, GLuint program, GLenum pname, GLint *params)
+get_programiv(struct gl_context *ctx, GLuint program, GLenum pname, GLint *params)
{
const struct gl_program_parameter_list *attribs;
struct gl_shader_program *shProg
@@ -684,7 +712,7 @@ get_programiv(GLcontext *ctx, GLuint program, GLenum pname, GLint *params)
* glGetShaderiv() - get GLSL shader state
*/
static void
-get_shaderiv(GLcontext *ctx, GLuint name, GLenum pname, GLint *params)
+get_shaderiv(struct gl_context *ctx, GLuint name, GLenum pname, GLint *params)
{
struct gl_shader *shader =
_mesa_lookup_shader_err(ctx, name, "glGetShaderiv");
@@ -717,7 +745,7 @@ get_shaderiv(GLcontext *ctx, GLuint name, GLenum pname, GLint *params)
static void
-get_program_info_log(GLcontext *ctx, GLuint program, GLsizei bufSize,
+get_program_info_log(struct gl_context *ctx, GLuint program, GLsizei bufSize,
GLsizei *length, GLchar *infoLog)
{
struct gl_shader_program *shProg
@@ -731,7 +759,7 @@ get_program_info_log(GLcontext *ctx, GLuint program, GLsizei bufSize,
static void
-get_shader_info_log(GLcontext *ctx, GLuint shader, GLsizei bufSize,
+get_shader_info_log(struct gl_context *ctx, GLuint shader, GLsizei bufSize,
GLsizei *length, GLchar *infoLog)
{
struct gl_shader *sh = _mesa_lookup_shader(ctx, shader);
@@ -747,7 +775,7 @@ get_shader_info_log(GLcontext *ctx, GLuint shader, GLsizei bufSize,
* Return shader source code.
*/
static void
-get_shader_source(GLcontext *ctx, GLuint shader, GLsizei maxLength,
+get_shader_source(struct gl_context *ctx, GLuint shader, GLsizei maxLength,
GLsizei *length, GLchar *sourceOut)
{
struct gl_shader *sh;
@@ -763,7 +791,7 @@ get_shader_source(GLcontext *ctx, GLuint shader, GLsizei maxLength,
* Set/replace shader source code.
*/
static void
-shader_source(GLcontext *ctx, GLuint shader, const GLchar *source)
+shader_source(struct gl_context *ctx, GLuint shader, const GLchar *source)
{
struct gl_shader *sh;
@@ -787,7 +815,7 @@ shader_source(GLcontext *ctx, GLuint shader, const GLchar *source)
* Compile a shader.
*/
static void
-compile_shader(GLcontext *ctx, GLuint shaderObj)
+compile_shader(struct gl_context *ctx, GLuint shaderObj)
{
struct gl_shader *sh;
struct gl_shader_compiler_options *options;
@@ -812,7 +840,7 @@ compile_shader(GLcontext *ctx, GLuint shaderObj)
* Link a program's shaders.
*/
static void
-link_program(GLcontext *ctx, GLuint program)
+link_program(struct gl_context *ctx, GLuint program)
{
struct gl_shader_program *shProg;
struct gl_transform_feedback_object *obj =
@@ -822,7 +850,10 @@ link_program(GLcontext *ctx, GLuint program)
if (!shProg)
return;
- if (obj->Active && shProg == ctx->Shader.CurrentProgram) {
+ if (obj->Active
+ && (shProg == ctx->Shader.CurrentVertexProgram
+ || shProg == ctx->Shader.CurrentGeometryProgram
+ || shProg == ctx->Shader.CurrentFragmentProgram)) {
_mesa_error(ctx, GL_INVALID_OPERATION,
"glLinkProgram(transform feedback active");
return;
@@ -885,14 +916,81 @@ print_shader_info(const struct gl_shader_program *shProg)
/**
+ * Use the named shader program for subsequent glUniform calls
+ */
+static void
+active_program(struct gl_context *ctx, struct gl_shader_program *shProg,
+ const char *caller)
+{
+ if ((shProg != NULL) && !shProg->LinkStatus) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "%s(program %u not linked)", caller, shProg->Name);
+ return;
+ }
+
+ if (ctx->Shader.ActiveProgram != shProg) {
+ _mesa_reference_shader_program(ctx, &ctx->Shader.ActiveProgram, shProg);
+ }
+}
+
+/**
+ */
+static bool
+use_shader_program(struct gl_context *ctx, GLenum type,
+ struct gl_shader_program *shProg)
+{
+ struct gl_shader_program **target;
+
+ switch (type) {
+#if FEATURE_ARB_vertex_shader
+ case GL_VERTEX_SHADER:
+ target = &ctx->Shader.CurrentVertexProgram;
+ if ((shProg == NULL)
+ || (shProg->_LinkedShaders[MESA_SHADER_VERTEX] == NULL)) {
+ shProg = NULL;
+ }
+ break;
+#endif
+#if FEATURE_ARB_geometry_shader4
+ case GL_GEOMETRY_SHADER_ARB:
+ target = &ctx->Shader.CurrentGeometryProgram;
+ if ((shProg == NULL)
+ || (shProg->_LinkedShaders[MESA_SHADER_GEOMETRY] == NULL)) {
+ shProg = NULL;
+ }
+ break;
+#endif
+#if FEATURE_ARB_fragment_shader
+ case GL_FRAGMENT_SHADER:
+ target = &ctx->Shader.CurrentFragmentProgram;
+ if ((shProg == NULL)
+ || (shProg->_LinkedShaders[MESA_SHADER_FRAGMENT] == NULL)) {
+ shProg = NULL;
+ }
+ break;
+#endif
+ default:
+ return false;
+ }
+
+ if (*target != shProg) {
+ _mesa_reference_shader_program(ctx, target, shProg);
+ return true;
+ }
+
+ return false;
+}
+
+/**
* Use the named shader program for subsequent rendering.
*/
void
-_mesa_use_program(GLcontext *ctx, GLuint program)
+_mesa_use_program(struct gl_context *ctx, GLuint program)
{
struct gl_shader_program *shProg;
struct gl_transform_feedback_object *obj =
ctx->TransformFeedback.CurrentObject;
+ bool changed = false;
if (obj->Active) {
_mesa_error(ctx, GL_INVALID_OPERATION,
@@ -900,12 +998,6 @@ _mesa_use_program(GLcontext *ctx, GLuint program)
return;
}
- if (ctx->Shader.CurrentProgram &&
- ctx->Shader.CurrentProgram->Name == program) {
- /* no-op */
- return;
- }
-
if (program) {
shProg = _mesa_lookup_shader_program_err(ctx, program, "glUseProgram");
if (!shProg) {
@@ -926,9 +1018,15 @@ _mesa_use_program(GLcontext *ctx, GLuint program)
shProg = NULL;
}
- if (ctx->Shader.CurrentProgram != shProg) {
+ changed = use_shader_program(ctx, GL_VERTEX_SHADER, shProg);
+ changed = use_shader_program(ctx, GL_GEOMETRY_SHADER_ARB, shProg)
+ || changed;
+ changed = use_shader_program(ctx, GL_FRAGMENT_SHADER, shProg)
+ || changed;
+ active_program(ctx, shProg, "glUseProgram");
+
+ if (changed) {
FLUSH_VERTICES(ctx, _NEW_PROGRAM | _NEW_PROGRAM_CONSTANTS);
- _mesa_reference_shader_program(ctx, &ctx->Shader.CurrentProgram, shProg);
}
if (ctx->Driver.UseProgram)
@@ -943,7 +1041,7 @@ _mesa_use_program(GLcontext *ctx, GLuint program)
* \return GL_TRUE if valid, GL_FALSE if invalid
*/
static GLboolean
-validate_samplers(GLcontext *ctx, const struct gl_program *prog, char *errMsg)
+validate_samplers(const struct gl_program *prog, char *errMsg)
{
static const char *targetName[] = {
"TEXTURE_2D_ARRAY",
@@ -975,7 +1073,7 @@ validate_samplers(GLcontext *ctx, const struct gl_program *prog, char *errMsg)
assert(sampler < MAX_TEXTURE_IMAGE_UNITS);
unit = prog->SamplerUnits[sampler];
target = prog->SamplerTargets[sampler];
- if (targetUsed[unit] != -1 && targetUsed[unit] != target) {
+ if (targetUsed[unit] != -1 && targetUsed[unit] != (int) target) {
_mesa_snprintf(errMsg, 100,
"Texture unit %d is accessed both as %s and %s",
unit, targetName[targetUsed[unit]], targetName[target]);
@@ -995,8 +1093,7 @@ validate_samplers(GLcontext *ctx, const struct gl_program *prog, char *errMsg)
* \return GL_TRUE if valid, GL_FALSE if invalid (and set errMsg)
*/
static GLboolean
-validate_shader_program(GLcontext *ctx,
- const struct gl_shader_program *shProg,
+validate_shader_program(const struct gl_shader_program *shProg,
char *errMsg)
{
const struct gl_vertex_program *vp = shProg->VertexProgram;
@@ -1026,10 +1123,10 @@ validate_shader_program(GLcontext *ctx,
* Check: any two active samplers in the current program object are of
* different types, but refer to the same texture image unit,
*/
- if (vp && !validate_samplers(ctx, &vp->Base, errMsg)) {
+ if (vp && !validate_samplers(&vp->Base, errMsg)) {
return GL_FALSE;
}
- if (fp && !validate_samplers(ctx, &fp->Base, errMsg)) {
+ if (fp && !validate_samplers(&fp->Base, errMsg)) {
return GL_FALSE;
}
@@ -1041,7 +1138,7 @@ validate_shader_program(GLcontext *ctx,
* Called via glValidateProgram()
*/
static void
-validate_program(GLcontext *ctx, GLuint program)
+validate_program(struct gl_context *ctx, GLuint program)
{
struct gl_shader_program *shProg;
char errMsg[100];
@@ -1051,7 +1148,7 @@ validate_program(GLcontext *ctx, GLuint program)
return;
}
- shProg->Validated = validate_shader_program(ctx, shProg, errMsg);
+ shProg->Validated = validate_shader_program(shProg, errMsg);
if (!shProg->Validated) {
/* update info log */
if (shProg->InfoLog) {
@@ -1498,6 +1595,10 @@ _mesa_GetShaderPrecisionFormat(GLenum shadertype, GLenum precisiontype,
GLint* range, GLint* precision)
{
GET_CURRENT_CONTEXT(ctx);
+ (void) shadertype;
+ (void) precisiontype;
+ (void) range;
+ (void) precision;
_mesa_error(ctx, GL_INVALID_OPERATION, __FUNCTION__);
}
@@ -1515,6 +1616,11 @@ _mesa_ShaderBinary(GLint n, const GLuint* shaders, GLenum binaryformat,
const void* binary, GLint length)
{
GET_CURRENT_CONTEXT(ctx);
+ (void) n;
+ (void) shaders;
+ (void) binaryformat;
+ (void) binary;
+ (void) length;
_mesa_error(ctx, GL_INVALID_OPERATION, __FUNCTION__);
}
@@ -1540,7 +1646,7 @@ _mesa_ProgramParameteriARB(GLuint program, GLenum pname,
switch (pname) {
case GL_GEOMETRY_VERTICES_OUT_ARB:
if (value < 1 ||
- value > ctx->Const.GeometryProgram.MaxGeometryOutputVertices) {
+ (unsigned) value > ctx->Const.GeometryProgram.MaxGeometryOutputVertices) {
_mesa_error(ctx, GL_INVALID_VALUE,
"glProgramParameteri(GL_GEOMETRY_VERTICES_OUT_ARB=%d",
value);
@@ -1587,6 +1693,101 @@ _mesa_ProgramParameteriARB(GLuint program, GLenum pname,
#endif
+void GLAPIENTRY
+_mesa_UseShaderProgramEXT(GLenum type, GLuint program)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ struct gl_shader_program *shProg = NULL;
+ bool changed = false;
+
+ if (!validate_shader_target(ctx, type)) {
+ _mesa_error(ctx, GL_INVALID_ENUM, "glUseShaderProgramEXT(type)");
+ return;
+ }
+
+ if (ctx->TransformFeedback.CurrentObject->Active) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glUseShaderProgramEXT(transform feedback is active)");
+ return;
+ }
+
+ if (program) {
+ shProg = _mesa_lookup_shader_program_err(ctx, program,
+ "glUseShaderProgramEXT");
+ if (shProg == NULL)
+ return;
+
+ if (!shProg->LinkStatus) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glUseShaderProgramEXT(program not linked)");
+ return;
+ }
+ }
+
+ changed = use_shader_program(ctx, type, shProg);
+ if (changed)
+ FLUSH_VERTICES(ctx, _NEW_PROGRAM | _NEW_PROGRAM_CONSTANTS);
+
+ if (ctx->Driver.UseProgram)
+ ctx->Driver.UseProgram(ctx, shProg);
+ return;
+}
+
+void GLAPIENTRY
+_mesa_ActiveProgramEXT(GLuint program)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ struct gl_shader_program *shProg = (program != 0)
+ ? _mesa_lookup_shader_program_err(ctx, program, "glActiveProgramEXT")
+ : NULL;
+
+ active_program(ctx, shProg, "glActiveProgramEXT");
+ return;
+}
+
+GLuint GLAPIENTRY
+_mesa_CreateShaderProgramEXT(GLenum type, const GLchar *string)
+{
+ GET_CURRENT_CONTEXT(ctx);
+ const GLuint shader = create_shader(ctx, type);
+ GLuint program = 0;
+
+ if (shader) {
+ shader_source(ctx, shader, _mesa_strdup(string));
+ compile_shader(ctx, shader);
+
+ program = create_shader_program(ctx);
+ if (program) {
+ struct gl_shader_program *shProg;
+ struct gl_shader *sh;
+ GLint compiled = GL_FALSE;
+
+ shProg = _mesa_lookup_shader_program(ctx, program);
+ sh = _mesa_lookup_shader(ctx, shader);
+
+ get_shaderiv(ctx, shader, GL_COMPILE_STATUS, &compiled);
+ if (compiled) {
+ attach_shader(ctx, program, shader);
+ link_program(ctx, program);
+ detach_shader(ctx, program, shader);
+
+#if 0
+ /* Possibly... */
+ if (active-user-defined-varyings-in-linked-program) {
+ append-error-to-info-log;
+ shProg->LinkStatus = GL_FALSE;
+ }
+#endif
+ }
+
+ shProg->InfoLog = talloc_strdup_append(shProg->InfoLog, sh->InfoLog);
+ }
+
+ delete_shader(ctx, shader);
+ }
+
+ return program;
+}
/**
* Plug in shader-related functions into API dispatch table.
@@ -1637,6 +1838,10 @@ _mesa_init_shader_dispatch(struct _glapi_table *exec)
#if FEATURE_ARB_geometry_shader4
SET_ProgramParameteriARB(exec, _mesa_ProgramParameteriARB);
#endif
+
+ SET_UseShaderProgramEXT(exec, _mesa_UseShaderProgramEXT);
+ SET_ActiveProgramEXT(exec, _mesa_ActiveProgramEXT);
+ SET_CreateShaderProgramEXT(exec, _mesa_CreateShaderProgramEXT);
#endif /* FEATURE_GL */
}
diff --git a/src/mesa/main/shaderapi.h b/src/mesa/main/shaderapi.h
index 16e22530de5..de67a9929ef 100644
--- a/src/mesa/main/shaderapi.h
+++ b/src/mesa/main/shaderapi.h
@@ -39,7 +39,7 @@ _mesa_copy_string(GLchar *dst, GLsizei maxLength,
GLsizei *length, const GLchar *src);
extern void
-_mesa_use_program(GLcontext *ctx, GLuint program);
+_mesa_use_program(struct gl_context *ctx, GLuint program);
extern void
@@ -166,4 +166,13 @@ extern void GLAPIENTRY
_mesa_ProgramParameteriARB(GLuint program, GLenum pname,
GLint value);
+extern void GLAPIENTRY
+_mesa_UseShaderProgramEXT(GLenum type, GLuint program);
+
+extern void GLAPIENTRY
+_mesa_ActiveProgramEXT(GLuint program);
+
+extern GLuint GLAPIENTRY
+_mesa_CreateShaderProgramEXT(GLenum type, const GLchar *string);
+
#endif /* SHADERAPI_H */
diff --git a/src/mesa/main/shaderobj.c b/src/mesa/main/shaderobj.c
index 2de8f279818..b6594cbe6f0 100644
--- a/src/mesa/main/shaderobj.c
+++ b/src/mesa/main/shaderobj.c
@@ -50,7 +50,7 @@
* Then set ptr to point to sh, incrementing its refcount.
*/
void
-_mesa_reference_shader(GLcontext *ctx, struct gl_shader **ptr,
+_mesa_reference_shader(struct gl_context *ctx, struct gl_shader **ptr,
struct gl_shader *sh)
{
assert(ptr);
@@ -88,7 +88,7 @@ _mesa_reference_shader(GLcontext *ctx, struct gl_shader **ptr,
}
void
-_mesa_init_shader(GLcontext *ctx, struct gl_shader *shader)
+_mesa_init_shader(struct gl_context *ctx, struct gl_shader *shader)
{
shader->RefCount = 1;
}
@@ -98,7 +98,7 @@ _mesa_init_shader(GLcontext *ctx, struct gl_shader *shader)
* Called via ctx->Driver.NewShader()
*/
struct gl_shader *
-_mesa_new_shader(GLcontext *ctx, GLuint name, GLenum type)
+_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type)
{
struct gl_shader *shader;
assert(type == GL_FRAGMENT_SHADER || type == GL_VERTEX_SHADER ||
@@ -118,7 +118,7 @@ _mesa_new_shader(GLcontext *ctx, GLuint name, GLenum type)
* Called via ctx->Driver.DeleteShader().
*/
static void
-_mesa_delete_shader(GLcontext *ctx, struct gl_shader *sh)
+_mesa_delete_shader(struct gl_context *ctx, struct gl_shader *sh)
{
if (sh->Source)
free((void *) sh->Source);
@@ -131,7 +131,7 @@ _mesa_delete_shader(GLcontext *ctx, struct gl_shader *sh)
* Lookup a GLSL shader object.
*/
struct gl_shader *
-_mesa_lookup_shader(GLcontext *ctx, GLuint name)
+_mesa_lookup_shader(struct gl_context *ctx, GLuint name)
{
if (name) {
struct gl_shader *sh = (struct gl_shader *)
@@ -153,7 +153,7 @@ _mesa_lookup_shader(GLcontext *ctx, GLuint name)
* As above, but record an error if shader is not found.
*/
struct gl_shader *
-_mesa_lookup_shader_err(GLcontext *ctx, GLuint name, const char *caller)
+_mesa_lookup_shader_err(struct gl_context *ctx, GLuint name, const char *caller)
{
if (!name) {
_mesa_error(ctx, GL_INVALID_VALUE, "%s", caller);
@@ -188,7 +188,7 @@ _mesa_lookup_shader_err(GLcontext *ctx, GLuint name, const char *caller)
* Then set ptr to point to shProg, incrementing its refcount.
*/
void
-_mesa_reference_shader_program(GLcontext *ctx,
+_mesa_reference_shader_program(struct gl_context *ctx,
struct gl_shader_program **ptr,
struct gl_shader_program *shProg)
{
@@ -230,7 +230,7 @@ _mesa_reference_shader_program(GLcontext *ctx,
}
void
-_mesa_init_shader_program(GLcontext *ctx, struct gl_shader_program *prog)
+_mesa_init_shader_program(struct gl_context *ctx, struct gl_shader_program *prog)
{
prog->Type = GL_SHADER_PROGRAM_MESA;
prog->RefCount = 1;
@@ -247,7 +247,7 @@ _mesa_init_shader_program(GLcontext *ctx, struct gl_shader_program *prog)
* Called via ctx->Driver.NewShaderProgram()
*/
static struct gl_shader_program *
-_mesa_new_shader_program(GLcontext *ctx, GLuint name)
+_mesa_new_shader_program(struct gl_context *ctx, GLuint name)
{
struct gl_shader_program *shProg;
shProg = talloc_zero(NULL, struct gl_shader_program);
@@ -263,7 +263,7 @@ _mesa_new_shader_program(GLcontext *ctx, GLuint name)
* Clear (free) the shader program state that gets produced by linking.
*/
void
-_mesa_clear_shader_program_data(GLcontext *ctx,
+_mesa_clear_shader_program_data(struct gl_context *ctx,
struct gl_shader_program *shProg)
{
_mesa_reference_vertprog(ctx, &shProg->VertexProgram, NULL);
@@ -287,7 +287,7 @@ _mesa_clear_shader_program_data(GLcontext *ctx,
* object itself.
*/
void
-_mesa_free_shader_program_data(GLcontext *ctx,
+_mesa_free_shader_program_data(struct gl_context *ctx,
struct gl_shader_program *shProg)
{
GLuint i;
@@ -326,10 +326,12 @@ _mesa_free_shader_program_data(GLcontext *ctx,
shProg->TransformFeedback.NumVarying = 0;
- for (i = 0; i < shProg->_NumLinkedShaders; i++) {
- ctx->Driver.DeleteShader(ctx, shProg->_LinkedShaders[i]);
+ for (i = 0; i < MESA_SHADER_TYPES; i++) {
+ if (shProg->_LinkedShaders[i] != NULL) {
+ ctx->Driver.DeleteShader(ctx, shProg->_LinkedShaders[i]);
+ shProg->_LinkedShaders[i] = NULL;
+ }
}
- shProg->_NumLinkedShaders = 0;
}
@@ -338,7 +340,7 @@ _mesa_free_shader_program_data(GLcontext *ctx,
* Called via ctx->Driver.DeleteShaderProgram().
*/
static void
-_mesa_delete_shader_program(GLcontext *ctx, struct gl_shader_program *shProg)
+_mesa_delete_shader_program(struct gl_context *ctx, struct gl_shader_program *shProg)
{
_mesa_free_shader_program_data(ctx, shProg);
@@ -350,7 +352,7 @@ _mesa_delete_shader_program(GLcontext *ctx, struct gl_shader_program *shProg)
* Lookup a GLSL program object.
*/
struct gl_shader_program *
-_mesa_lookup_shader_program(GLcontext *ctx, GLuint name)
+_mesa_lookup_shader_program(struct gl_context *ctx, GLuint name)
{
struct gl_shader_program *shProg;
if (name) {
@@ -373,7 +375,7 @@ _mesa_lookup_shader_program(GLcontext *ctx, GLuint name)
* As above, but record an error if program is not found.
*/
struct gl_shader_program *
-_mesa_lookup_shader_program_err(GLcontext *ctx, GLuint name,
+_mesa_lookup_shader_program_err(struct gl_context *ctx, GLuint name,
const char *caller)
{
if (!name) {
diff --git a/src/mesa/main/shaderobj.h b/src/mesa/main/shaderobj.h
index cbe7ae7b068..346a5b75175 100644
--- a/src/mesa/main/shaderobj.h
+++ b/src/mesa/main/shaderobj.h
@@ -27,6 +27,7 @@
#define SHADEROBJ_H
+#include "main/compiler.h"
#include "main/glheader.h"
#include "main/mtypes.h"
#include "program/ir_to_mesa.h"
@@ -39,50 +40,50 @@ extern "C" {
*/
extern void
-_mesa_init_shader_state(GLcontext * ctx);
+_mesa_init_shader_state(struct gl_context * ctx);
extern void
-_mesa_free_shader_state(GLcontext *ctx);
+_mesa_free_shader_state(struct gl_context *ctx);
extern void
-_mesa_reference_shader(GLcontext *ctx, struct gl_shader **ptr,
+_mesa_reference_shader(struct gl_context *ctx, struct gl_shader **ptr,
struct gl_shader *sh);
extern struct gl_shader *
-_mesa_lookup_shader(GLcontext *ctx, GLuint name);
+_mesa_lookup_shader(struct gl_context *ctx, GLuint name);
extern struct gl_shader *
-_mesa_lookup_shader_err(GLcontext *ctx, GLuint name, const char *caller);
+_mesa_lookup_shader_err(struct gl_context *ctx, GLuint name, const char *caller);
extern void
-_mesa_reference_shader_program(GLcontext *ctx,
+_mesa_reference_shader_program(struct gl_context *ctx,
struct gl_shader_program **ptr,
struct gl_shader_program *shProg);
extern void
-_mesa_init_shader(GLcontext *ctx, struct gl_shader *shader);
+_mesa_init_shader(struct gl_context *ctx, struct gl_shader *shader);
extern struct gl_shader *
-_mesa_new_shader(GLcontext *ctx, GLuint name, GLenum type);
+_mesa_new_shader(struct gl_context *ctx, GLuint name, GLenum type);
extern void
-_mesa_init_shader_program(GLcontext *ctx, struct gl_shader_program *prog);
+_mesa_init_shader_program(struct gl_context *ctx, struct gl_shader_program *prog);
extern struct gl_shader_program *
-_mesa_lookup_shader_program(GLcontext *ctx, GLuint name);
+_mesa_lookup_shader_program(struct gl_context *ctx, GLuint name);
extern struct gl_shader_program *
-_mesa_lookup_shader_program_err(GLcontext *ctx, GLuint name,
+_mesa_lookup_shader_program_err(struct gl_context *ctx, GLuint name,
const char *caller);
extern void
-_mesa_clear_shader_program_data(GLcontext *ctx,
+_mesa_clear_shader_program_data(struct gl_context *ctx,
struct gl_shader_program *shProg);
extern void
-_mesa_free_shader_program_data(GLcontext *ctx,
+_mesa_free_shader_program_data(struct gl_context *ctx,
struct gl_shader_program *shProg);
@@ -91,16 +92,16 @@ extern void
_mesa_init_shader_object_functions(struct dd_function_table *driver);
extern void
-_mesa_init_shader_state(GLcontext *ctx);
+_mesa_init_shader_state(struct gl_context *ctx);
extern void
-_mesa_free_shader_state(GLcontext *ctx);
+_mesa_free_shader_state(struct gl_context *ctx);
+
static INLINE GLuint
_mesa_shader_type_to_index(GLenum v)
{
- switch(v)
- {
+ switch (v) {
case GL_VERTEX_SHADER:
return MESA_SHADER_VERTEX;
case GL_FRAGMENT_SHADER:
@@ -108,25 +109,27 @@ _mesa_shader_type_to_index(GLenum v)
case GL_GEOMETRY_SHADER:
return MESA_SHADER_GEOMETRY;
default:
- ASSERT(0);
+ ASSERT(0 && "bad value in _mesa_shader_type_to_index()");
return ~0;
}
}
+
static INLINE GLenum
_mesa_shader_index_to_type(GLuint i)
{
- GLenum enums[MESA_SHADER_TYPES] = {
- GL_VERTEX_SHADER,
- GL_FRAGMENT_SHADER,
- GL_GEOMETRY_SHADER ,
+ static const GLenum enums[MESA_SHADER_TYPES] = {
+ GL_VERTEX_SHADER,
+ GL_FRAGMENT_SHADER,
+ GL_GEOMETRY_SHADER ,
};
- if(i >= MESA_SHADER_TYPES)
+ if (i >= MESA_SHADER_TYPES)
return 0;
else
return enums[i];
}
+
#ifdef __cplusplus
}
#endif
diff --git a/src/mesa/main/shared.c b/src/mesa/main/shared.c
index a56c70fa7f6..3abee0178eb 100644
--- a/src/mesa/main/shared.c
+++ b/src/mesa/main/shared.c
@@ -52,7 +52,7 @@
* failure.
*/
struct gl_shared_state *
-_mesa_alloc_shared_state(GLcontext *ctx)
+_mesa_alloc_shared_state(struct gl_context *ctx)
{
struct gl_shared_state *shared;
GLuint i;
@@ -133,7 +133,7 @@ static void
delete_displaylist_cb(GLuint id, void *data, void *userData)
{
struct gl_display_list *list = (struct gl_display_list *) data;
- GLcontext *ctx = (GLcontext *) userData;
+ struct gl_context *ctx = (struct gl_context *) userData;
_mesa_delete_list(ctx, list);
}
@@ -145,7 +145,7 @@ static void
delete_texture_cb(GLuint id, void *data, void *userData)
{
struct gl_texture_object *texObj = (struct gl_texture_object *) data;
- GLcontext *ctx = (GLcontext *) userData;
+ struct gl_context *ctx = (struct gl_context *) userData;
ctx->Driver.DeleteTexture(ctx, texObj);
}
@@ -157,7 +157,7 @@ static void
delete_program_cb(GLuint id, void *data, void *userData)
{
struct gl_program *prog = (struct gl_program *) data;
- GLcontext *ctx = (GLcontext *) userData;
+ struct gl_context *ctx = (struct gl_context *) userData;
if(prog != &_mesa_DummyProgram) {
ASSERT(prog->RefCount == 1); /* should only be referenced by hash table */
prog->RefCount = 0; /* now going away */
@@ -175,7 +175,7 @@ static void
delete_fragshader_cb(GLuint id, void *data, void *userData)
{
struct ati_fragment_shader *shader = (struct ati_fragment_shader *) data;
- GLcontext *ctx = (GLcontext *) userData;
+ struct gl_context *ctx = (struct gl_context *) userData;
_mesa_delete_ati_fragment_shader(ctx, shader);
}
#endif
@@ -188,7 +188,7 @@ static void
delete_bufferobj_cb(GLuint id, void *data, void *userData)
{
struct gl_buffer_object *bufObj = (struct gl_buffer_object *) data;
- GLcontext *ctx = (GLcontext *) userData;
+ struct gl_context *ctx = (struct gl_context *) userData;
if (_mesa_bufferobj_mapped(bufObj)) {
ctx->Driver.UnmapBuffer(ctx, 0, bufObj);
bufObj->Pointer = NULL;
@@ -204,7 +204,7 @@ delete_bufferobj_cb(GLuint id, void *data, void *userData)
static void
free_shader_program_data_cb(GLuint id, void *data, void *userData)
{
- GLcontext *ctx = (GLcontext *) userData;
+ struct gl_context *ctx = (struct gl_context *) userData;
struct gl_shader_program *shProg = (struct gl_shader_program *) data;
if (shProg->Type == GL_SHADER_PROGRAM_MESA) {
@@ -220,7 +220,7 @@ free_shader_program_data_cb(GLuint id, void *data, void *userData)
static void
delete_shader_cb(GLuint id, void *data, void *userData)
{
- GLcontext *ctx = (GLcontext *) userData;
+ struct gl_context *ctx = (struct gl_context *) userData;
struct gl_shader *sh = (struct gl_shader *) data;
if (sh->Type == GL_FRAGMENT_SHADER || sh->Type == GL_VERTEX_SHADER) {
ctx->Driver.DeleteShader(ctx, sh);
@@ -280,7 +280,7 @@ delete_renderbuffer_cb(GLuint id, void *data, void *userData)
* \sa alloc_shared_state().
*/
static void
-free_shared_state(GLcontext *ctx, struct gl_shared_state *shared)
+free_shared_state(struct gl_context *ctx, struct gl_shared_state *shared)
{
GLuint i;
@@ -373,7 +373,7 @@ free_shared_state(GLcontext *ctx, struct gl_shared_state *shared)
* \sa free_shared_state().
*/
void
-_mesa_release_shared_state(GLcontext *ctx, struct gl_shared_state *shared)
+_mesa_release_shared_state(struct gl_context *ctx, struct gl_shared_state *shared)
{
GLint RefCount;
diff --git a/src/mesa/main/shared.h b/src/mesa/main/shared.h
index 5166a0ce51f..43f8a388e6f 100644
--- a/src/mesa/main/shared.h
+++ b/src/mesa/main/shared.h
@@ -28,11 +28,11 @@
#include "mtypes.h"
struct gl_shared_state *
-_mesa_alloc_shared_state(GLcontext *ctx);
+_mesa_alloc_shared_state(struct gl_context *ctx);
void
-_mesa_release_shared_state(GLcontext *ctx, struct gl_shared_state *shared);
+_mesa_release_shared_state(struct gl_context *ctx, struct gl_shared_state *shared);
#endif
diff --git a/src/mesa/main/state.c b/src/mesa/main/state.c
index 4a3dffe4cf8..05f4165c44a 100644
--- a/src/mesa/main/state.c
+++ b/src/mesa/main/state.c
@@ -27,7 +27,7 @@
* \file state.c
* State management.
*
- * This file manages recalculation of derived values in GLcontext.
+ * This file manages recalculation of derived values in struct gl_context.
*/
@@ -51,7 +51,7 @@
static void
-update_separate_specular(GLcontext *ctx)
+update_separate_specular(struct gl_context *ctx)
{
if (NEED_SECONDARY_COLOR(ctx))
ctx->_TriangleCaps |= DD_SEPARATE_SPECULAR;
@@ -107,7 +107,7 @@ update_min(GLuint min, struct gl_client_array *array)
* Need to do this upon new array state or new buffer object state.
*/
static void
-update_arrays( GLcontext *ctx )
+update_arrays( struct gl_context *ctx )
{
struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
GLuint i, min = ~0;
@@ -219,7 +219,7 @@ update_arrays( GLcontext *ctx )
* This needs to be done before texture state validation.
*/
static void
-update_program_enables(GLcontext *ctx)
+update_program_enables(struct gl_context *ctx)
{
/* These _Enabled flags indicate if the program is enabled AND valid. */
ctx->VertexProgram._Enabled = ctx->VertexProgram.Enabled
@@ -245,9 +245,11 @@ update_program_enables(GLcontext *ctx)
* or fragment program is being used.
*/
static GLbitfield
-update_program(GLcontext *ctx)
+update_program(struct gl_context *ctx)
{
- const struct gl_shader_program *shProg = ctx->Shader.CurrentProgram;
+ const struct gl_shader_program *vsProg = ctx->Shader.CurrentVertexProgram;
+ const struct gl_shader_program *gsProg = ctx->Shader.CurrentGeometryProgram;
+ const struct gl_shader_program *fsProg = ctx->Shader.CurrentFragmentProgram;
const struct gl_vertex_program *prevVP = ctx->VertexProgram._Current;
const struct gl_fragment_program *prevFP = ctx->FragmentProgram._Current;
const struct gl_geometry_program *prevGP = ctx->GeometryProgram._Current;
@@ -269,10 +271,10 @@ update_program(GLcontext *ctx)
* come up, or matter.
*/
- if (shProg && shProg->LinkStatus && shProg->FragmentProgram) {
+ if (fsProg && fsProg->LinkStatus && fsProg->FragmentProgram) {
/* Use shader programs */
_mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current,
- shProg->FragmentProgram);
+ fsProg->FragmentProgram);
}
else if (ctx->FragmentProgram._Enabled) {
/* use user-defined vertex program */
@@ -292,10 +294,10 @@ update_program(GLcontext *ctx)
_mesa_reference_fragprog(ctx, &ctx->FragmentProgram._Current, NULL);
}
- if (shProg && shProg->LinkStatus && shProg->GeometryProgram) {
+ if (gsProg && gsProg->LinkStatus && gsProg->GeometryProgram) {
/* Use shader programs */
_mesa_reference_geomprog(ctx, &ctx->GeometryProgram._Current,
- shProg->GeometryProgram);
+ gsProg->GeometryProgram);
} else {
/* no fragment program */
_mesa_reference_geomprog(ctx, &ctx->GeometryProgram._Current, NULL);
@@ -305,10 +307,10 @@ update_program(GLcontext *ctx)
* _mesa_get_fixed_func_vertex_program() needs to know active
* fragprog inputs.
*/
- if (shProg && shProg->LinkStatus && shProg->VertexProgram) {
+ if (vsProg && vsProg->LinkStatus && vsProg->VertexProgram) {
/* Use shader programs */
_mesa_reference_vertprog(ctx, &ctx->VertexProgram._Current,
- shProg->VertexProgram);
+ vsProg->VertexProgram);
}
else if (ctx->VertexProgram._Enabled) {
/* use user-defined vertex program */
@@ -362,7 +364,7 @@ update_program(GLcontext *ctx)
* Examine shader constants and return either _NEW_PROGRAM_CONSTANTS or 0.
*/
static GLbitfield
-update_program_constants(GLcontext *ctx)
+update_program_constants(struct gl_context *ctx)
{
GLbitfield new_state = 0x0;
@@ -399,7 +401,7 @@ update_program_constants(GLcontext *ctx)
static void
-update_viewport_matrix(GLcontext *ctx)
+update_viewport_matrix(struct gl_context *ctx)
{
const GLfloat depthMax = ctx->DrawBuffer->_DepthMaxF;
@@ -421,7 +423,7 @@ update_viewport_matrix(GLcontext *ctx)
* Update derived multisample state.
*/
static void
-update_multisample(GLcontext *ctx)
+update_multisample(struct gl_context *ctx)
{
ctx->Multisample._Enabled = GL_FALSE;
if (ctx->Multisample.Enabled &&
@@ -435,7 +437,7 @@ update_multisample(GLcontext *ctx)
* Update derived color/blend/logicop state.
*/
static void
-update_color(GLcontext *ctx)
+update_color(struct gl_context *ctx)
{
/* This is needed to support 1.1's RGB logic ops AND
* 1.0's blending logicops.
@@ -449,7 +451,7 @@ update_color(GLcontext *ctx)
* in ctx->_TriangleCaps if needed.
*/
static void
-update_polygon(GLcontext *ctx)
+update_polygon(struct gl_context *ctx)
{
ctx->_TriangleCaps &= ~(DD_TRI_CULL_FRONT_BACK | DD_TRI_OFFSET);
@@ -471,7 +473,7 @@ update_polygon(GLcontext *ctx)
*/
#if 0
static void
-update_tricaps(GLcontext *ctx, GLbitfield new_state)
+update_tricaps(struct gl_context *ctx, GLbitfield new_state)
{
ctx->_TriangleCaps = 0;
@@ -540,7 +542,7 @@ update_tricaps(GLcontext *ctx, GLbitfield new_state)
/**
* Compute derived GL state.
- * If __GLcontextRec::NewState is non-zero then this function \b must
+ * If __struct gl_contextRec::NewState is non-zero then this function \b must
* be called before rendering anything.
*
* Calls dd_function_table::UpdateState to perform any internal state
@@ -551,7 +553,7 @@ update_tricaps(GLcontext *ctx, GLbitfield new_state)
* _mesa_update_lighting() and _mesa_update_tnl_spaces().
*/
void
-_mesa_update_state_locked( GLcontext *ctx )
+_mesa_update_state_locked( struct gl_context *ctx )
{
GLbitfield new_state = ctx->NewState;
GLbitfield prog_flags = _NEW_PROGRAM;
@@ -670,7 +672,7 @@ _mesa_update_state_locked( GLcontext *ctx )
/* This is the usual entrypoint for state updates:
*/
void
-_mesa_update_state( GLcontext *ctx )
+_mesa_update_state( struct gl_context *ctx )
{
_mesa_lock_context_textures(ctx);
_mesa_update_state_locked(ctx);
@@ -703,7 +705,7 @@ _mesa_update_state( GLcontext *ctx )
* Otherwise, the fp should track them as state values instead.
*/
void
-_mesa_set_varying_vp_inputs( GLcontext *ctx,
+_mesa_set_varying_vp_inputs( struct gl_context *ctx,
GLbitfield varying_inputs )
{
if (ctx->varying_vp_inputs != varying_inputs) {
@@ -721,7 +723,7 @@ _mesa_set_varying_vp_inputs( GLcontext *ctx,
* of ordinary varyings/inputs.
*/
void
-_mesa_set_vp_override(GLcontext *ctx, GLboolean flag)
+_mesa_set_vp_override(struct gl_context *ctx, GLboolean flag)
{
if (ctx->VertexProgram._Overriden != flag) {
ctx->VertexProgram._Overriden = flag;
diff --git a/src/mesa/main/state.h b/src/mesa/main/state.h
index 29db08a0b95..f0eb43d8ee3 100644
--- a/src/mesa/main/state.h
+++ b/src/mesa/main/state.h
@@ -29,21 +29,21 @@
#include "mtypes.h"
extern void
-_mesa_update_state(GLcontext *ctx);
+_mesa_update_state(struct gl_context *ctx);
/* As above but can only be called between _mesa_lock_context_textures() and
* _mesa_unlock_context_textures().
*/
extern void
-_mesa_update_state_locked(GLcontext *ctx);
+_mesa_update_state_locked(struct gl_context *ctx);
extern void
-_mesa_set_varying_vp_inputs(GLcontext *ctx, GLbitfield varying_inputs);
+_mesa_set_varying_vp_inputs(struct gl_context *ctx, GLbitfield varying_inputs);
extern void
-_mesa_set_vp_override(GLcontext *ctx, GLboolean flag);
+_mesa_set_vp_override(struct gl_context *ctx, GLboolean flag);
#endif
diff --git a/src/mesa/main/stencil.c b/src/mesa/main/stencil.c
index 15c98e20156..93e2e97ce0c 100644
--- a/src/mesa/main/stencil.c
+++ b/src/mesa/main/stencil.c
@@ -56,7 +56,7 @@
static GLboolean
-validate_stencil_op(GLcontext *ctx, GLenum op)
+validate_stencil_op(struct gl_context *ctx, GLenum op)
{
switch (op) {
case GL_KEEP:
@@ -79,7 +79,7 @@ validate_stencil_op(GLcontext *ctx, GLenum op)
static GLboolean
-validate_stencil_func(GLcontext *ctx, GLenum func)
+validate_stencil_func(struct gl_context *ctx, GLenum func)
{
switch (func) {
case GL_NEVER:
@@ -137,7 +137,7 @@ _mesa_ClearStencil( GLint s )
* \sa glStencilFunc().
*
* Verifies the parameters and updates the respective values in
- * __GLcontextRec::Stencil. On change flushes the vertices and notifies the
+ * __struct gl_contextRec::Stencil. On change flushes the vertices and notifies the
* driver via the dd_function_table::StencilFunc callback.
*/
void GLAPIENTRY
@@ -192,7 +192,7 @@ _mesa_StencilFuncSeparateATI( GLenum frontfunc, GLenum backfunc, GLint ref, GLui
* \sa glStencilFunc().
*
* Verifies the parameters and updates the respective values in
- * __GLcontextRec::Stencil. On change flushes the vertices and notifies the
+ * __struct gl_contextRec::Stencil. On change flushes the vertices and notifies the
* driver via the dd_function_table::StencilFunc callback.
*/
void GLAPIENTRY
@@ -312,7 +312,7 @@ _mesa_StencilMask( GLuint mask )
* \sa glStencilOp().
*
* Verifies the parameters and updates the respective fields in
- * __GLcontextRec::Stencil. On change flushes the vertices and notifies the
+ * __struct gl_contextRec::Stencil. On change flushes the vertices and notifies the
* driver via the dd_function_table::StencilOp callback.
*/
void GLAPIENTRY
@@ -532,7 +532,7 @@ _mesa_StencilMaskSeparate(GLenum face, GLuint mask)
* Update derived stencil state.
*/
void
-_mesa_update_stencil(GLcontext *ctx)
+_mesa_update_stencil(struct gl_context *ctx)
{
const GLint face = ctx->Stencil._BackFace;
@@ -556,10 +556,10 @@ _mesa_update_stencil(GLcontext *ctx)
*
* \param ctx GL context.
*
- * Initializes __GLcontextRec::Stencil attribute group.
+ * Initializes __struct gl_contextRec::Stencil attribute group.
*/
void
-_mesa_init_stencil(GLcontext *ctx)
+_mesa_init_stencil(struct gl_context *ctx)
{
ctx->Stencil.Enabled = GL_FALSE;
ctx->Stencil.TestTwoSide = GL_FALSE;
diff --git a/src/mesa/main/stencil.h b/src/mesa/main/stencil.h
index 252ac932acd..38a7183a811 100644
--- a/src/mesa/main/stencil.h
+++ b/src/mesa/main/stencil.h
@@ -71,10 +71,10 @@ _mesa_StencilMaskSeparate(GLenum face, GLuint mask);
extern void
-_mesa_update_stencil(GLcontext *ctx);
+_mesa_update_stencil(struct gl_context *ctx);
extern void
-_mesa_init_stencil( GLcontext * ctx );
+_mesa_init_stencil( struct gl_context * ctx );
#endif
diff --git a/src/mesa/main/syncobj.c b/src/mesa/main/syncobj.c
index ac948cc1efe..2c8bcbeaf7c 100644
--- a/src/mesa/main/syncobj.c
+++ b/src/mesa/main/syncobj.c
@@ -66,7 +66,7 @@
#include "syncobj.h"
static struct gl_sync_object *
-_mesa_new_sync_object(GLcontext *ctx, GLenum type)
+_mesa_new_sync_object(struct gl_context *ctx, GLenum type)
{
struct gl_sync_object *s = MALLOC_STRUCT(gl_sync_object);
(void) ctx;
@@ -77,7 +77,7 @@ _mesa_new_sync_object(GLcontext *ctx, GLenum type)
static void
-_mesa_delete_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj)
+_mesa_delete_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
{
(void) ctx;
free(syncObj);
@@ -85,7 +85,7 @@ _mesa_delete_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj)
static void
-_mesa_fence_sync(GLcontext *ctx, struct gl_sync_object *syncObj,
+_mesa_fence_sync(struct gl_context *ctx, struct gl_sync_object *syncObj,
GLenum condition, GLbitfield flags)
{
(void) ctx;
@@ -97,7 +97,7 @@ _mesa_fence_sync(GLcontext *ctx, struct gl_sync_object *syncObj,
static void
-_mesa_check_sync(GLcontext *ctx, struct gl_sync_object *syncObj)
+_mesa_check_sync(struct gl_context *ctx, struct gl_sync_object *syncObj)
{
(void) ctx;
(void) syncObj;
@@ -109,7 +109,7 @@ _mesa_check_sync(GLcontext *ctx, struct gl_sync_object *syncObj)
static void
-_mesa_wait_sync(GLcontext *ctx, struct gl_sync_object *syncObj,
+_mesa_wait_sync(struct gl_context *ctx, struct gl_sync_object *syncObj,
GLbitfield flags, GLuint64 timeout)
{
(void) ctx;
@@ -155,7 +155,7 @@ _mesa_init_sync_dispatch(struct _glapi_table *disp)
* Allocate/init the context state related to sync objects.
*/
void
-_mesa_init_sync(GLcontext *ctx)
+_mesa_init_sync(struct gl_context *ctx)
{
(void) ctx;
}
@@ -165,7 +165,7 @@ _mesa_init_sync(GLcontext *ctx)
* Free the context state related to sync objects.
*/
void
-_mesa_free_sync_data(GLcontext *ctx)
+_mesa_free_sync_data(struct gl_context *ctx)
{
(void) ctx;
}
@@ -181,7 +181,7 @@ _mesa_validate_sync(struct gl_sync_object *syncObj)
void
-_mesa_ref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj)
+_mesa_ref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
{
_glthread_LOCK_MUTEX(ctx->Shared->Mutex);
syncObj->RefCount++;
@@ -190,7 +190,7 @@ _mesa_ref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj)
void
-_mesa_unref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj)
+_mesa_unref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
{
_glthread_LOCK_MUTEX(ctx->Shared->Mutex);
syncObj->RefCount--;
diff --git a/src/mesa/main/syncobj.h b/src/mesa/main/syncobj.h
index 82e141d408b..f3c0046cf3d 100644
--- a/src/mesa/main/syncobj.h
+++ b/src/mesa/main/syncobj.h
@@ -44,16 +44,16 @@ extern void
_mesa_init_sync_dispatch(struct _glapi_table *disp);
extern void
-_mesa_init_sync(GLcontext *);
+_mesa_init_sync(struct gl_context *);
extern void
-_mesa_free_sync_data(GLcontext *);
+_mesa_free_sync_data(struct gl_context *);
extern void
-_mesa_ref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj);
+_mesa_ref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj);
extern void
-_mesa_unref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj);
+_mesa_unref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj);
extern GLboolean GLAPIENTRY
_mesa_IsSync(GLsync sync);
@@ -89,23 +89,23 @@ _mesa_init_sync_dispatch(struct _glapi_table *disp)
}
static INLINE void
-_mesa_init_sync(GLcontext *ctx)
+_mesa_init_sync(struct gl_context *ctx)
{
}
static INLINE void
-_mesa_free_sync_data(GLcontext *ctx)
+_mesa_free_sync_data(struct gl_context *ctx)
{
}
static INLINE void
-_mesa_ref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj)
+_mesa_ref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
{
ASSERT_NO_FEATURE();
}
static INLINE void
-_mesa_unref_sync_object(GLcontext *ctx, struct gl_sync_object *syncObj)
+_mesa_unref_sync_object(struct gl_context *ctx, struct gl_sync_object *syncObj)
{
ASSERT_NO_FEATURE();
}
diff --git a/src/mesa/main/texcompress.c b/src/mesa/main/texcompress.c
index e911524cbc5..e3d2a786b3e 100644
--- a/src/mesa/main/texcompress.c
+++ b/src/mesa/main/texcompress.c
@@ -50,7 +50,7 @@
* \return number of formats.
*/
GLuint
-_mesa_get_compressed_formats(GLcontext *ctx, GLint *formats, GLboolean all)
+_mesa_get_compressed_formats(struct gl_context *ctx, GLint *formats, GLboolean all)
{
GLuint n = 0;
if (ctx->Extensions.TDFX_texture_compression_FXT1) {
@@ -178,7 +178,7 @@ _mesa_glenum_to_compressed_format(GLenum format)
* internal format unchanged.
*/
GLenum
-_mesa_compressed_format_to_glenum(GLcontext *ctx, GLuint mesaFormat)
+_mesa_compressed_format_to_glenum(struct gl_context *ctx, GLuint mesaFormat)
{
switch (mesaFormat) {
#if FEATURE_texture_fxt1
diff --git a/src/mesa/main/texcompress.h b/src/mesa/main/texcompress.h
index 5e73a3149bd..83856429c54 100644
--- a/src/mesa/main/texcompress.h
+++ b/src/mesa/main/texcompress.h
@@ -31,13 +31,13 @@
#if _HAVE_FULL_GL
extern GLuint
-_mesa_get_compressed_formats(GLcontext *ctx, GLint *formats, GLboolean all);
+_mesa_get_compressed_formats(struct gl_context *ctx, GLint *formats, GLboolean all);
extern gl_format
_mesa_glenum_to_compressed_format(GLenum format);
extern GLenum
-_mesa_compressed_format_to_glenum(GLcontext *ctx, GLuint mesaFormat);
+_mesa_compressed_format_to_glenum(struct gl_context *ctx, GLuint mesaFormat);
extern GLubyte *
_mesa_compressed_image_address(GLint col, GLint row, GLint img,
diff --git a/src/mesa/main/texcompress_s3tc.c b/src/mesa/main/texcompress_s3tc.c
index 534a4247cf2..0e893a59fa3 100644
--- a/src/mesa/main/texcompress_s3tc.c
+++ b/src/mesa/main/texcompress_s3tc.c
@@ -104,7 +104,7 @@ static void *dxtlibhandle = NULL;
void
-_mesa_init_texture_s3tc( GLcontext *ctx )
+_mesa_init_texture_s3tc( struct gl_context *ctx )
{
/* called during context initialization */
ctx->Mesa_DXTn = GL_FALSE;
diff --git a/src/mesa/main/texcompress_s3tc.h b/src/mesa/main/texcompress_s3tc.h
index 2e7688d3669..d0a5b186b71 100644
--- a/src/mesa/main/texcompress_s3tc.h
+++ b/src/mesa/main/texcompress_s3tc.h
@@ -76,7 +76,7 @@ _mesa_fetch_texel_2d_f_srgba_dxt5(const struct gl_texture_image *texImage,
GLint i, GLint j, GLint k, GLfloat *texel);
extern void
-_mesa_init_texture_s3tc(GLcontext *ctx);
+_mesa_init_texture_s3tc(struct gl_context *ctx);
#else /* FEATURE_texture_s3tc */
@@ -97,7 +97,7 @@ _mesa_init_texture_s3tc(GLcontext *ctx);
#define _mesa_fetch_texel_2d_f_srgba_dxt5 NULL
static INLINE void
-_mesa_init_texture_s3tc(GLcontext *ctx)
+_mesa_init_texture_s3tc(struct gl_context *ctx)
{
}
diff --git a/src/mesa/main/texenv.c b/src/mesa/main/texenv.c
index 3a55128c736..508dbf4887d 100644
--- a/src/mesa/main/texenv.c
+++ b/src/mesa/main/texenv.c
@@ -44,7 +44,7 @@
/** Set texture env mode */
static void
-set_env_mode(GLcontext *ctx,
+set_env_mode(struct gl_context *ctx,
struct gl_texture_unit *texUnit,
GLenum mode)
{
@@ -89,7 +89,7 @@ set_env_mode(GLcontext *ctx,
static void
-set_env_color(GLcontext *ctx,
+set_env_color(struct gl_context *ctx,
struct gl_texture_unit *texUnit,
const GLfloat *color)
{
@@ -107,7 +107,7 @@ set_env_color(GLcontext *ctx,
/** Set an RGB or A combiner mode/function */
static void
-set_combiner_mode(GLcontext *ctx,
+set_combiner_mode(struct gl_context *ctx,
struct gl_texture_unit *texUnit,
GLenum pname, GLenum mode)
{
@@ -181,7 +181,7 @@ set_combiner_mode(GLcontext *ctx,
/** Set an RGB or A combiner source term */
static void
-set_combiner_source(GLcontext *ctx,
+set_combiner_source(struct gl_context *ctx,
struct gl_texture_unit *texUnit,
GLenum pname, GLenum param)
{
@@ -274,7 +274,7 @@ set_combiner_source(GLcontext *ctx,
/** Set an RGB or A combiner operand term */
static void
-set_combiner_operand(GLcontext *ctx,
+set_combiner_operand(struct gl_context *ctx,
struct gl_texture_unit *texUnit,
GLenum pname, GLenum param)
{
@@ -360,7 +360,7 @@ set_combiner_operand(GLcontext *ctx,
static void
-set_combiner_scale(GLcontext *ctx,
+set_combiner_scale(struct gl_context *ctx,
struct gl_texture_unit *texUnit,
GLenum pname, GLfloat scale)
{
@@ -595,7 +595,7 @@ _mesa_TexEnviv( GLenum target, GLenum pname, const GLint *param )
* \return value of queried pname or -1 if error.
*/
static GLint
-get_texenvi(GLcontext *ctx, const struct gl_texture_unit *texUnit,
+get_texenvi(struct gl_context *ctx, const struct gl_texture_unit *texUnit,
GLenum pname)
{
switch (pname) {
diff --git a/src/mesa/main/texenvprogram.c b/src/mesa/main/texenvprogram.c
index 20f02cefe94..a8bffe416d9 100644
--- a/src/mesa/main/texenvprogram.c
+++ b/src/mesa/main/texenvprogram.c
@@ -62,7 +62,7 @@ struct texenvprog_cache_item
};
static GLboolean
-texenv_doing_secondary_color(GLcontext *ctx)
+texenv_doing_secondary_color(struct gl_context *ctx)
{
if (ctx->Light.Enabled &&
(ctx->Light.Model.ColorControl == GL_SEPARATE_SPECULAR_COLOR))
@@ -307,12 +307,13 @@ static GLuint translate_tex_src_bit( GLbitfield bit )
* has access to. The bitmask is later reduced to just those which
* are actually referenced.
*/
-static GLbitfield get_fp_input_mask( GLcontext *ctx )
+static GLbitfield get_fp_input_mask( struct gl_context *ctx )
{
/* _NEW_PROGRAM */
- const GLboolean vertexShader = (ctx->Shader.CurrentProgram &&
- ctx->Shader.CurrentProgram->LinkStatus &&
- ctx->Shader.CurrentProgram->VertexProgram);
+ const GLboolean vertexShader =
+ (ctx->Shader.CurrentVertexProgram &&
+ ctx->Shader.CurrentVertexProgram->LinkStatus &&
+ ctx->Shader.CurrentVertexProgram->VertexProgram);
const GLboolean vertexProgram = ctx->VertexProgram._Enabled;
GLbitfield fp_inputs = 0x0;
@@ -377,7 +378,7 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx )
* validation (see additional comments in state.c).
*/
if (vertexShader)
- vprog = ctx->Shader.CurrentProgram->VertexProgram;
+ vprog = ctx->Shader.CurrentVertexProgram->VertexProgram;
else
vprog = ctx->VertexProgram.Current;
@@ -407,7 +408,7 @@ static GLbitfield get_fp_input_mask( GLcontext *ctx )
* Examine current texture environment state and generate a unique
* key to identify it.
*/
-static GLuint make_state_key( GLcontext *ctx, struct state_key *key )
+static GLuint make_state_key( struct gl_context *ctx, struct state_key *key )
{
GLuint i, j;
GLbitfield inputs_referenced = FRAG_BIT_COL0;
@@ -663,7 +664,7 @@ static void reserve_temp( struct texenv_fragment_program *p, struct ureg r )
}
-static void release_temps(GLcontext *ctx, struct texenv_fragment_program *p )
+static void release_temps(struct gl_context *ctx, struct texenv_fragment_program *p )
{
GLuint max_temp = ctx->Const.FragmentProgram.MaxTemps;
@@ -1415,7 +1416,7 @@ load_texunit_bumpmap( struct texenv_fragment_program *p, GLuint unit )
* current texture env/combine mode.
*/
static void
-create_new_program(GLcontext *ctx, struct state_key *key,
+create_new_program(struct gl_context *ctx, struct state_key *key,
struct gl_fragment_program *program)
{
struct prog_instruction instBuffer[MAX_INSTRUCTIONS];
@@ -1526,7 +1527,7 @@ create_new_program(GLcontext *ctx, struct state_key *key,
emit_arith( &p, OPCODE_END, undef, WRITEMASK_XYZW, 0, undef, undef, undef);
if (key->fog_enabled) {
- /* Pull fog mode from GLcontext, the value in the state key is
+ /* Pull fog mode from struct gl_context, the value in the state key is
* a reduced value and not what is expected in FogOption
*/
p.program->FogOption = ctx->Fog.Mode;
@@ -1590,7 +1591,7 @@ create_new_program(GLcontext *ctx, struct state_key *key,
* fixed-function texture, fog and color-sum operations.
*/
struct gl_fragment_program *
-_mesa_get_fixed_func_fragment_program(GLcontext *ctx)
+_mesa_get_fixed_func_fragment_program(struct gl_context *ctx)
{
struct gl_fragment_program *prog;
struct state_key key;
diff --git a/src/mesa/main/texenvprogram.h b/src/mesa/main/texenvprogram.h
index 0a162d2e7a2..abfb916d21b 100644
--- a/src/mesa/main/texenvprogram.h
+++ b/src/mesa/main/texenvprogram.h
@@ -30,6 +30,6 @@
#include "mtypes.h"
extern struct gl_fragment_program *
-_mesa_get_fixed_func_fragment_program(GLcontext *ctx);
+_mesa_get_fixed_func_fragment_program(struct gl_context *ctx);
#endif
diff --git a/src/mesa/main/texformat.c b/src/mesa/main/texformat.c
index 24efb108bb6..894c0130b47 100644
--- a/src/mesa/main/texformat.c
+++ b/src/mesa/main/texformat.c
@@ -54,7 +54,7 @@
* will typically override this function with a specialized version.
*/
gl_format
-_mesa_choose_tex_format( GLcontext *ctx, GLint internalFormat,
+_mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat,
GLenum format, GLenum type )
{
(void) format;
diff --git a/src/mesa/main/texformat.h b/src/mesa/main/texformat.h
index bda5fd6d8ce..8bd15076753 100644
--- a/src/mesa/main/texformat.h
+++ b/src/mesa/main/texformat.h
@@ -32,7 +32,7 @@
extern gl_format
-_mesa_choose_tex_format( GLcontext *ctx, GLint internalFormat,
+_mesa_choose_tex_format( struct gl_context *ctx, GLint internalFormat,
GLenum format, GLenum type );
diff --git a/src/mesa/main/texgetimage.c b/src/mesa/main/texgetimage.c
index 00134ea9ffb..879ac529a01 100644
--- a/src/mesa/main/texgetimage.c
+++ b/src/mesa/main/texgetimage.c
@@ -35,6 +35,7 @@
#include "context.h"
#include "formats.h"
#include "image.h"
+#include "pack.h"
#include "texgetimage.h"
#include "teximage.h"
@@ -63,7 +64,7 @@ type_with_negative_values(GLenum type)
* glGetTexImage for color index pixels.
*/
static void
-get_tex_color_index(GLcontext *ctx, GLuint dimensions,
+get_tex_color_index(struct gl_context *ctx, GLuint dimensions,
GLenum format, GLenum type, GLvoid *pixels,
const struct gl_texture_image *texImage)
{
@@ -111,7 +112,7 @@ get_tex_color_index(GLcontext *ctx, GLuint dimensions,
* glGetTexImage for depth/Z pixels.
*/
static void
-get_tex_depth(GLcontext *ctx, GLuint dimensions,
+get_tex_depth(struct gl_context *ctx, GLuint dimensions,
GLenum format, GLenum type, GLvoid *pixels,
const struct gl_texture_image *texImage)
{
@@ -141,7 +142,7 @@ get_tex_depth(GLcontext *ctx, GLuint dimensions,
* glGetTexImage for depth/stencil pixels.
*/
static void
-get_tex_depth_stencil(GLcontext *ctx, GLuint dimensions,
+get_tex_depth_stencil(struct gl_context *ctx, GLuint dimensions,
GLenum format, GLenum type, GLvoid *pixels,
const struct gl_texture_image *texImage)
{
@@ -171,7 +172,7 @@ get_tex_depth_stencil(GLcontext *ctx, GLuint dimensions,
* glGetTexImage for YCbCr pixels.
*/
static void
-get_tex_ycbcr(GLcontext *ctx, GLuint dimensions,
+get_tex_ycbcr(struct gl_context *ctx, GLuint dimensions,
GLenum format, GLenum type, GLvoid *pixels,
const struct gl_texture_image *texImage)
{
@@ -234,7 +235,7 @@ linear_to_nonlinear(GLfloat cl)
* glGetTexImagefor sRGB pixels;
*/
static void
-get_tex_srgb(GLcontext *ctx, GLuint dimensions,
+get_tex_srgb(struct gl_context *ctx, GLuint dimensions,
GLenum format, GLenum type, GLvoid *pixels,
const struct gl_texture_image *texImage)
{
@@ -285,7 +286,7 @@ get_tex_srgb(GLcontext *ctx, GLuint dimensions,
static INLINE void
-get_tex_srgb(GLcontext *ctx, GLuint dimensions,
+get_tex_srgb(struct gl_context *ctx, GLuint dimensions,
GLenum format, GLenum type, GLvoid *pixels,
const struct gl_texture_image *texImage)
{
@@ -301,7 +302,7 @@ get_tex_srgb(GLcontext *ctx, GLuint dimensions,
* This is the slow way since we use texture sampling.
*/
static void
-get_tex_rgba(GLcontext *ctx, GLuint dimensions,
+get_tex_rgba(struct gl_context *ctx, GLuint dimensions,
GLenum format, GLenum type, GLvoid *pixels,
const struct gl_texture_image *texImage)
{
@@ -371,7 +372,7 @@ get_tex_rgba(GLcontext *ctx, GLuint dimensions,
* \return GL_TRUE if done, GL_FALSE otherwise
*/
static GLboolean
-get_tex_memcpy(GLcontext *ctx, GLenum format, GLenum type, GLvoid *pixels,
+get_tex_memcpy(struct gl_context *ctx, GLenum format, GLenum type, GLvoid *pixels,
const struct gl_texture_object *texObj,
const struct gl_texture_image *texImage)
{
@@ -451,7 +452,7 @@ get_tex_memcpy(GLcontext *ctx, GLenum format, GLenum type, GLvoid *pixels,
* The texture image must be mapped.
*/
void
-_mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level,
+_mesa_get_teximage(struct gl_context *ctx, GLenum target, GLint level,
GLenum format, GLenum type, GLvoid *pixels,
struct gl_texture_object *texObj,
struct gl_texture_image *texImage)
@@ -528,7 +529,7 @@ _mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level,
* All error checking will have been done before this routine is called.
*/
void
-_mesa_get_compressed_teximage(GLcontext *ctx, GLenum target, GLint level,
+_mesa_get_compressed_teximage(struct gl_context *ctx, GLenum target, GLint level,
GLvoid *img,
struct gl_texture_object *texObj,
struct gl_texture_image *texImage)
@@ -585,7 +586,7 @@ _mesa_get_compressed_teximage(GLcontext *ctx, GLenum target, GLint level,
* \return GL_TRUE if any error, GL_FALSE if no errors.
*/
static GLboolean
-getteximage_error_check(GLcontext *ctx, GLenum target, GLint level,
+getteximage_error_check(struct gl_context *ctx, GLenum target, GLint level,
GLenum format, GLenum type, GLvoid *pixels )
{
struct gl_texture_object *texObj;
@@ -771,7 +772,7 @@ _mesa_GetTexImage( GLenum target, GLint level, GLenum format,
* \return GL_TRUE if any error, GL_FALSE if no errors.
*/
static GLboolean
-getcompressedteximage_error_check(GLcontext *ctx, GLenum target, GLint level,
+getcompressedteximage_error_check(struct gl_context *ctx, GLenum target, GLint level,
GLvoid *img)
{
struct gl_texture_object *texObj;
diff --git a/src/mesa/main/texgetimage.h b/src/mesa/main/texgetimage.h
index 866ab704945..81a3bbbd9a7 100644
--- a/src/mesa/main/texgetimage.h
+++ b/src/mesa/main/texgetimage.h
@@ -30,14 +30,14 @@
#include "mtypes.h"
extern void
-_mesa_get_teximage(GLcontext *ctx, GLenum target, GLint level,
+_mesa_get_teximage(struct gl_context *ctx, GLenum target, GLint level,
GLenum format, GLenum type, GLvoid *pixels,
struct gl_texture_object *texObj,
struct gl_texture_image *texImage);
extern void
-_mesa_get_compressed_teximage(GLcontext *ctx, GLenum target, GLint level,
+_mesa_get_compressed_teximage(struct gl_context *ctx, GLenum target, GLint level,
GLvoid *img,
struct gl_texture_object *texObj,
struct gl_texture_image *texImage);
diff --git a/src/mesa/main/teximage.c b/src/mesa/main/teximage.c
index 6c3f49f667b..2e9410f2717 100644
--- a/src/mesa/main/teximage.c
+++ b/src/mesa/main/teximage.c
@@ -127,7 +127,7 @@ logbase2( int n )
* XXX this could be static
*/
GLint
-_mesa_base_tex_format( GLcontext *ctx, GLint internalFormat )
+_mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat )
{
switch (internalFormat) {
case GL_ALPHA:
@@ -558,7 +558,7 @@ _mesa_set_tex_image(struct gl_texture_object *tObj,
* zero.
*/
struct gl_texture_image *
-_mesa_new_texture_image( GLcontext *ctx )
+_mesa_new_texture_image( struct gl_context *ctx )
{
(void) ctx;
return CALLOC_STRUCT(gl_texture_image);
@@ -574,7 +574,7 @@ _mesa_new_texture_image( GLcontext *ctx )
* Free the texture image data if it's not marked as client data.
*/
void
-_mesa_free_texture_image_data(GLcontext *ctx,
+_mesa_free_texture_image_data(struct gl_context *ctx,
struct gl_texture_image *texImage)
{
(void) ctx;
@@ -596,7 +596,7 @@ _mesa_free_texture_image_data(GLcontext *ctx,
* Free the texture image structure and the associated image data.
*/
void
-_mesa_delete_texture_image( GLcontext *ctx, struct gl_texture_image *texImage )
+_mesa_delete_texture_image( struct gl_context *ctx, struct gl_texture_image *texImage )
{
/* Free texImage->Data and/or any other driver-specific texture
* image storage.
@@ -646,7 +646,7 @@ _mesa_is_proxy_texture(GLenum target)
* \sa gl_texture_unit.
*/
struct gl_texture_object *
-_mesa_select_tex_object(GLcontext *ctx, const struct gl_texture_unit *texUnit,
+_mesa_select_tex_object(struct gl_context *ctx, const struct gl_texture_unit *texUnit,
GLenum target)
{
switch (target) {
@@ -703,7 +703,7 @@ _mesa_select_tex_object(GLcontext *ctx, const struct gl_texture_unit *texUnit,
* Return pointer to texture object for given target on current texture unit.
*/
struct gl_texture_object *
-_mesa_get_current_tex_object(GLcontext *ctx, GLenum target)
+_mesa_get_current_tex_object(struct gl_context *ctx, GLenum target)
{
struct gl_texture_unit *texUnit = _mesa_get_current_tex_unit(ctx);
return _mesa_select_tex_object(ctx, texUnit, target);
@@ -723,7 +723,7 @@ _mesa_get_current_tex_object(GLcontext *ctx, GLenum target)
* \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,
+_mesa_select_tex_image(struct gl_context *ctx, const struct gl_texture_object *texObj,
GLenum target, GLint level)
{
const GLuint face = _mesa_tex_target_to_face(target);
@@ -742,7 +742,7 @@ _mesa_select_tex_image(GLcontext *ctx, const struct gl_texture_object *texObj,
* out of memory.
*/
struct gl_texture_image *
-_mesa_get_tex_image(GLcontext *ctx, struct gl_texture_object *texObj,
+_mesa_get_tex_image(struct gl_context *ctx, struct gl_texture_object *texObj,
GLenum target, GLint level)
{
struct gl_texture_image *texImage;
@@ -772,7 +772,7 @@ _mesa_get_tex_image(GLcontext *ctx, struct gl_texture_object *texObj,
* level, or out of memory.
*/
struct gl_texture_image *
-_mesa_get_proxy_tex_image(GLcontext *ctx, GLenum target, GLint level)
+_mesa_get_proxy_tex_image(struct gl_context *ctx, GLenum target, GLint level)
{
struct gl_texture_image *texImage;
GLuint texIndex;
@@ -847,7 +847,7 @@ _mesa_get_proxy_tex_image(GLcontext *ctx, GLenum target, GLint level)
* \sa gl_constants.
*/
GLint
-_mesa_max_texture_levels(GLcontext *ctx, GLenum target)
+_mesa_max_texture_levels(struct gl_context *ctx, GLenum target)
{
switch (target) {
case GL_TEXTURE_1D:
@@ -993,7 +993,7 @@ clear_teximage_fields(struct gl_texture_image *img)
* Note: width, height and depth include the border.
*/
void
-_mesa_init_teximage_fields(GLcontext *ctx, GLenum target,
+_mesa_init_teximage_fields(struct gl_context *ctx, GLenum target,
struct gl_texture_image *img,
GLsizei width, GLsizei height, GLsizei depth,
GLint border, GLenum internalFormat)
@@ -1084,7 +1084,7 @@ _mesa_init_teximage_fields(GLcontext *ctx, GLenum target,
* fields are cleared so that its parent object will test incomplete.
*/
void
-_mesa_clear_texture_image(GLcontext *ctx, struct gl_texture_image *texImage)
+_mesa_clear_texture_image(struct gl_context *ctx, struct gl_texture_image *texImage)
{
ctx->Driver.FreeTexImageData(ctx, texImage);
clear_teximage_fields(texImage);
@@ -1116,7 +1116,7 @@ _mesa_clear_texture_image(GLcontext *ctx, struct gl_texture_image *texImage)
* \return GL_TRUE if the image is acceptable, GL_FALSE if not acceptable.
*/
GLboolean
-_mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level,
+_mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat, GLenum format, GLenum type,
GLint width, GLint height, GLint depth, GLint border)
{
@@ -1228,16 +1228,26 @@ _mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level,
* Helper function to determine whether a target supports compressed textures
*/
static GLboolean
-target_can_be_compressed(GLcontext *ctx, GLenum target)
+target_can_be_compressed(struct gl_context *ctx, GLenum target)
{
- return (((target == GL_TEXTURE_2D || target == GL_PROXY_TEXTURE_2D))
- || ((ctx->Extensions.ARB_texture_cube_map &&
- (target == GL_PROXY_TEXTURE_CUBE_MAP ||
- (target >= GL_TEXTURE_CUBE_MAP_POSITIVE_X &&
- target <= GL_TEXTURE_CUBE_MAP_NEGATIVE_Z))))
- || ((ctx->Extensions.MESA_texture_array &&
- ((target == GL_PROXY_TEXTURE_2D_ARRAY_EXT) ||
- (target == GL_TEXTURE_2D_ARRAY_EXT)))));
+ switch (target) {
+ case GL_TEXTURE_2D:
+ case GL_PROXY_TEXTURE_2D:
+ return GL_TRUE;
+ 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;
+ case GL_PROXY_TEXTURE_2D_ARRAY_EXT:
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ return ctx->Extensions.MESA_texture_array;
+ default:
+ return GL_FALSE;
+ }
}
@@ -1259,11 +1269,11 @@ target_can_be_compressed(GLcontext *ctx, GLenum target)
* \return GL_TRUE if an error was detected, or GL_FALSE if no errors.
*
* Verifies each of the parameters against the constants specified in
- * __GLcontextRec::Const and the supported extensions, and according to the
+ * __struct gl_contextRec::Const and the supported extensions, and according to the
* OpenGL specification.
*/
static GLboolean
-texture_error_check( GLcontext *ctx, GLenum target,
+texture_error_check( struct gl_context *ctx, GLenum target,
GLint level, GLint internalFormat,
GLenum format, GLenum type,
GLuint dimensions,
@@ -1392,11 +1402,15 @@ texture_error_check( GLcontext *ctx, GLenum target,
/* Check incoming image format and type */
if (!_mesa_is_legal_format_and_type(ctx, format, type)) {
- /* Yes, generate GL_INVALID_OPERATION, not GL_INVALID_ENUM, if there
- * is a type/format mismatch. See 1.2 spec page 94, sec 3.6.4.
+ /* Normally, GL_INVALID_OPERATION is generated by a format/type
+ * mismatch (see the 1.2 spec page 94, sec 3.6.4.). But with the
+ * GL_EXT_texture_integer extension, some combinations should generate
+ * GL_INVALID_ENUM instead (grr!).
*/
if (!isProxy) {
- _mesa_error(ctx, GL_INVALID_OPERATION,
+ GLenum error = _mesa_is_integer_format(format)
+ ? GL_INVALID_ENUM : GL_INVALID_OPERATION;
+ _mesa_error(ctx, error,
"glTexImage%dD(incompatible format 0x%x, type 0x%x)",
dimensions, format, type);
}
@@ -1482,6 +1496,18 @@ texture_error_check( GLcontext *ctx, GLenum target,
}
}
+ /* additional checks for integer textures */
+ if (ctx->Extensions.EXT_texture_integer &&
+ (_mesa_is_integer_format(format) !=
+ _mesa_is_integer_format(internalFormat))) {
+ if (!isProxy) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glTexImage%dD(integer/non-integer format mismatch)",
+ dimensions);
+ }
+ return GL_TRUE;
+ }
+
/* if we get here, the parameters are OK */
return GL_FALSE;
}
@@ -1506,11 +1532,11 @@ texture_error_check( GLcontext *ctx, GLenum target,
* \return GL_TRUE if an error was detected, or GL_FALSE if no errors.
*
* Verifies each of the parameters against the constants specified in
- * __GLcontextRec::Const and the supported extensions, and according to the
+ * __struct gl_contextRec::Const and the supported extensions, and according to the
* OpenGL specification.
*/
static GLboolean
-subtexture_error_check( GLcontext *ctx, GLuint dimensions,
+subtexture_error_check( struct gl_context *ctx, GLuint dimensions,
GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLint width, GLint height, GLint depth,
@@ -1588,7 +1614,12 @@ subtexture_error_check( GLcontext *ctx, GLuint dimensions,
}
if (!_mesa_is_legal_format_and_type(ctx, format, type)) {
- _mesa_error(ctx, GL_INVALID_ENUM,
+ /* As with the glTexImage2D check above, the error code here
+ * depends on texture integer.
+ */
+ GLenum error = _mesa_is_integer_format(format)
+ ? GL_INVALID_OPERATION : GL_INVALID_ENUM;
+ _mesa_error(ctx, error,
"glTexSubImage%dD(incompatible format 0x%x, type 0x%x)",
dimensions, format, type);
return GL_TRUE;
@@ -1603,7 +1634,7 @@ subtexture_error_check( GLcontext *ctx, GLuint dimensions,
* \return GL_TRUE if error recorded, GL_FALSE otherwise
*/
static GLboolean
-subtexture_error_check2( GLcontext *ctx, GLuint dimensions,
+subtexture_error_check2( struct gl_context *ctx, GLuint dimensions,
GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLint width, GLint height, GLint depth,
@@ -1701,11 +1732,11 @@ subtexture_error_check2( GLcontext *ctx, GLuint dimensions,
* \return GL_TRUE if an error was detected, or GL_FALSE if no errors.
*
* Verifies each of the parameters against the constants specified in
- * __GLcontextRec::Const and the supported extensions, and according to the
+ * __struct gl_contextRec::Const and the supported extensions, and according to the
* OpenGL specification.
*/
static GLboolean
-copytexture_error_check( GLcontext *ctx, GLuint dimensions,
+copytexture_error_check( struct gl_context *ctx, GLuint dimensions,
GLenum target, GLint level, GLint internalFormat,
GLint width, GLint height, GLint border )
{
@@ -1880,7 +1911,7 @@ copytexture_error_check( GLcontext *ctx, GLuint dimensions,
* \return GL_TRUE if an error was detected, or GL_FALSE if no errors.
*/
static GLboolean
-copytexsubimage_error_check1( GLcontext *ctx, GLuint dimensions,
+copytexsubimage_error_check1( struct gl_context *ctx, GLuint dimensions,
GLenum target, GLint level)
{
/* Check that the source buffer is complete */
@@ -1954,7 +1985,7 @@ copytexsubimage_error_check1( GLcontext *ctx, GLuint dimensions,
* \param height image height given by the user.
*/
static GLboolean
-copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions,
+copytexsubimage_error_check2( struct gl_context *ctx, GLuint dimensions,
GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLsizei width, GLsizei height,
@@ -2073,6 +2104,19 @@ copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions,
}
}
+ /* If copying into an integer texture, the source buffer must also be
+ * integer-valued.
+ */
+ if (_mesa_is_format_integer_color(teximage->TexFormat)) {
+ struct gl_renderbuffer *rb = ctx->ReadBuffer->_ColorReadBuffer;
+ if (!_mesa_is_format_integer_color(rb->Format)) {
+ _mesa_error(ctx, GL_INVALID_OPERATION,
+ "glCopyTexSubImage%dD(source buffer is not integer format)",
+ dimensions);
+ return GL_TRUE;
+ }
+ }
+
/* if we get here, the parameters are OK */
return GL_FALSE;
}
@@ -2081,7 +2125,7 @@ copytexsubimage_error_check2( GLcontext *ctx, GLuint dimensions,
/** Callback info for walking over FBO hash table */
struct cb_info
{
- GLcontext *ctx;
+ struct gl_context *ctx;
struct gl_texture_object *texObj;
GLuint level, face;
};
@@ -2095,7 +2139,7 @@ check_rtt_cb(GLuint key, void *data, void *userData)
{
struct gl_framebuffer *fb = (struct gl_framebuffer *) data;
const struct cb_info *info = (struct cb_info *) userData;
- GLcontext *ctx = info->ctx;
+ struct gl_context *ctx = info->ctx;
const struct gl_texture_object *texObj = info->texObj;
const GLuint level = info->level, face = info->face;
@@ -2127,7 +2171,7 @@ check_rtt_cb(GLuint key, void *data, void *userData)
* Any FBOs rendering into the texture must be re-validated.
*/
static void
-update_fbo_texture(GLcontext *ctx, struct gl_texture_object *texObj,
+update_fbo_texture(struct gl_context *ctx, struct gl_texture_object *texObj,
GLuint face, GLuint level)
{
/* Only check this texture if it's been marked as RenderToTexture */
@@ -2148,7 +2192,7 @@ update_fbo_texture(GLcontext *ctx, struct gl_texture_object *texObj,
* mipmap levels now.
*/
static INLINE void
-check_gen_mipmap(GLcontext *ctx, GLenum target,
+check_gen_mipmap(struct gl_context *ctx, GLenum target,
struct gl_texture_object *texObj, GLint level)
{
ASSERT(target != GL_TEXTURE_CUBE_MAP);
@@ -2214,7 +2258,7 @@ override_internal_format(GLenum internalFormat, GLint width, GLint height)
* comes up during automatic mipmap generation.
*/
void
-_mesa_choose_texture_format(GLcontext *ctx,
+_mesa_choose_texture_format(struct gl_context *ctx,
struct gl_texture_object *texObj,
struct gl_texture_image *texImage,
GLenum target, GLint level,
@@ -2252,7 +2296,6 @@ _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat,
GLsizei width, GLint border, GLenum format,
GLenum type, const GLvoid *pixels )
{
- GLsizei postConvWidth = width;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
@@ -2272,7 +2315,7 @@ _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat,
const GLuint face = _mesa_tex_target_to_face(target);
if (texture_error_check(ctx, target, level, internalFormat,
- format, type, 1, postConvWidth, 1, 1, border)) {
+ format, type, 1, width, 1, 1, border)) {
return; /* error was recorded */
}
@@ -2295,7 +2338,7 @@ _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat,
clear_teximage_fields(texImage); /* not really needed, but helpful */
_mesa_init_teximage_fields(ctx, target, texImage,
- postConvWidth, 1, 1,
+ width, 1, 1,
border, internalFormat);
_mesa_choose_texture_format(ctx, texObj, texImage, target, level,
@@ -2327,7 +2370,7 @@ _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat,
struct gl_texture_image *texImage;
texImage = _mesa_get_proxy_tex_image(ctx, target, level);
if (texture_error_check(ctx, target, level, internalFormat,
- format, type, 1, postConvWidth, 1, 1, border)) {
+ format, type, 1, width, 1, 1, border)) {
/* when error, clear all proxy texture image parameters */
if (texImage)
clear_teximage_fields(texImage);
@@ -2338,7 +2381,7 @@ _mesa_TexImage1D( GLenum target, GLint level, GLint internalFormat,
_mesa_get_current_tex_object(ctx, target);
ASSERT(texImage);
_mesa_init_teximage_fields(ctx, target, texImage,
- postConvWidth, 1, 1,
+ width, 1, 1,
border, internalFormat);
_mesa_choose_texture_format(ctx, texObj, texImage, target, level,
internalFormat, format, type);
@@ -2357,7 +2400,6 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
GLenum format, GLenum type,
const GLvoid *pixels )
{
- GLsizei postConvWidth = width, postConvHeight = height;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
@@ -2384,8 +2426,7 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
const GLuint face = _mesa_tex_target_to_face(target);
if (texture_error_check(ctx, target, level, internalFormat,
- format, type, 2, postConvWidth, postConvHeight,
- 1, border)) {
+ format, type, 2, width, height, 1, border)) {
return; /* error was recorded */
}
@@ -2407,7 +2448,7 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
ASSERT(texImage->Data == NULL);
clear_teximage_fields(texImage); /* not really needed, but helpful */
_mesa_init_teximage_fields(ctx, target, texImage,
- postConvWidth, postConvHeight, 1,
+ width, height, 1,
border, internalFormat);
_mesa_choose_texture_format(ctx, texObj, texImage, target, level,
@@ -2445,8 +2486,7 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
struct gl_texture_image *texImage;
texImage = _mesa_get_proxy_tex_image(ctx, target, level);
if (texture_error_check(ctx, target, level, internalFormat,
- format, type, 2, postConvWidth, postConvHeight,
- 1, border)) {
+ format, type, 2, width, height, 1, border)) {
/* when error, clear all proxy texture image parameters */
if (texImage)
clear_teximage_fields(texImage);
@@ -2456,7 +2496,7 @@ _mesa_TexImage2D( GLenum target, GLint level, GLint internalFormat,
struct gl_texture_object *texObj =
_mesa_get_current_tex_object(ctx, target);
_mesa_init_teximage_fields(ctx, target, texImage,
- postConvWidth, postConvHeight, 1,
+ width, height, 1,
border, internalFormat);
_mesa_choose_texture_format(ctx, texObj, texImage, target, level,
internalFormat, format, type);
@@ -2643,7 +2683,6 @@ _mesa_TexSubImage1D( GLenum target, GLint level,
GLenum format, GLenum type,
const GLvoid *pixels )
{
- GLsizei postConvWidth = width;
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
GET_CURRENT_CONTEXT(ctx);
@@ -2659,7 +2698,7 @@ _mesa_TexSubImage1D( GLenum target, GLint level,
_mesa_update_state(ctx);
if (subtexture_error_check(ctx, 1, target, level, xoffset, 0, 0,
- postConvWidth, 1, 1, format, type)) {
+ width, 1, 1, format, type)) {
return; /* error was detected */
}
@@ -2672,8 +2711,7 @@ _mesa_TexSubImage1D( GLenum target, GLint level,
texImage = _mesa_select_tex_image(ctx, texObj, target, level);
if (subtexture_error_check2(ctx, 1, target, level, xoffset, 0, 0,
- postConvWidth, 1, 1,
- format, type, texImage)) {
+ width, 1, 1, format, type, texImage)) {
/* error was recorded */
}
else if (width > 0) {
@@ -2701,7 +2739,6 @@ _mesa_TexSubImage2D( GLenum target, GLint level,
GLenum format, GLenum type,
const GLvoid *pixels )
{
- GLsizei postConvWidth = width, postConvHeight = height;
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
GET_CURRENT_CONTEXT(ctx);
@@ -2718,7 +2755,7 @@ _mesa_TexSubImage2D( GLenum target, GLint level,
_mesa_update_state(ctx);
if (subtexture_error_check(ctx, 2, target, level, xoffset, yoffset, 0,
- postConvWidth, postConvHeight, 1, format, type)) {
+ width, height, 1, format, type)) {
return; /* error was detected */
}
@@ -2729,8 +2766,7 @@ _mesa_TexSubImage2D( GLenum target, GLint level,
texImage = _mesa_select_tex_image(ctx, texObj, target, level);
if (subtexture_error_check2(ctx, 2, target, level, xoffset, yoffset, 0,
- postConvWidth, postConvHeight, 1,
- format, type, texImage)) {
+ width, height, 1, format, type, texImage)) {
/* error was recorded */
}
else if (width > 0 && height >= 0) {
@@ -2823,7 +2859,6 @@ _mesa_CopyTexImage1D( GLenum target, GLint level,
{
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
- GLsizei postConvWidth = width;
const GLuint face = _mesa_tex_target_to_face(target);
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
@@ -2838,7 +2873,7 @@ _mesa_CopyTexImage1D( GLenum target, GLint level,
_mesa_update_state(ctx);
if (copytexture_error_check(ctx, 1, target, level, internalFormat,
- postConvWidth, 1, border))
+ width, 1, border))
return;
texObj = _mesa_get_current_tex_object(ctx, target);
@@ -2857,7 +2892,7 @@ _mesa_CopyTexImage1D( GLenum target, GLint level,
ASSERT(texImage->Data == NULL);
clear_teximage_fields(texImage); /* not really needed, but helpful */
- _mesa_init_teximage_fields(ctx, target, texImage, postConvWidth, 1, 1,
+ _mesa_init_teximage_fields(ctx, target, texImage, width, 1, 1,
border, internalFormat);
_mesa_choose_texture_format(ctx, texObj, texImage, target, level,
@@ -2892,7 +2927,6 @@ _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat,
{
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
- GLsizei postConvWidth = width, postConvHeight = height;
const GLuint face = _mesa_tex_target_to_face(target);
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
@@ -2907,7 +2941,7 @@ _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat,
_mesa_update_state(ctx);
if (copytexture_error_check(ctx, 2, target, level, internalFormat,
- postConvWidth, postConvHeight, border))
+ width, height, border))
return;
texObj = _mesa_get_current_tex_object(ctx, target);
@@ -2928,7 +2962,7 @@ _mesa_CopyTexImage2D( GLenum target, GLint level, GLenum internalFormat,
clear_teximage_fields(texImage); /* not really needed, but helpful */
_mesa_init_teximage_fields(ctx, target, texImage,
- postConvWidth, postConvHeight, 1,
+ width, height, 1,
border, internalFormat);
_mesa_choose_texture_format(ctx, texObj, texImage, target, level,
@@ -2961,7 +2995,6 @@ _mesa_CopyTexSubImage1D( GLenum target, GLint level,
{
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
- GLsizei postConvWidth = width;
GLint yoffset = 0;
GLsizei height = 1;
@@ -2986,8 +3019,7 @@ _mesa_CopyTexSubImage1D( GLenum target, GLint level,
texImage = _mesa_select_tex_image(ctx, texObj, target, level);
if (copytexsubimage_error_check2(ctx, 1, target, level,
- xoffset, 0, 0, postConvWidth, 1,
- texImage)) {
+ xoffset, 0, 0, width, 1, texImage)) {
/* error was recorded */
}
else {
@@ -3018,7 +3050,6 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level,
{
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
- GLsizei postConvWidth = width, postConvHeight = height;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
@@ -3041,8 +3072,7 @@ _mesa_CopyTexSubImage2D( GLenum target, GLint level,
if (copytexsubimage_error_check2(ctx, 2, target, level,
xoffset, yoffset, 0,
- postConvWidth, postConvHeight,
- texImage)) {
+ width, height, texImage)) {
/* error was recorded */
}
else {
@@ -3074,7 +3104,6 @@ _mesa_CopyTexSubImage3D( GLenum target, GLint level,
{
struct gl_texture_object *texObj;
struct gl_texture_image *texImage;
- GLsizei postConvWidth = width, postConvHeight = height;
GET_CURRENT_CONTEXT(ctx);
ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx);
@@ -3096,8 +3125,7 @@ _mesa_CopyTexSubImage3D( GLenum target, GLint level,
texImage = _mesa_select_tex_image(ctx, texObj, target, level);
if (copytexsubimage_error_check2(ctx, 3, target, level, xoffset, yoffset,
- zoffset, postConvWidth, postConvHeight,
- texImage)) {
+ zoffset, width, height, texImage)) {
/* error was recored */
}
else {
@@ -3158,7 +3186,7 @@ get_compressed_block_size(GLenum glformat, GLuint *bw, GLuint *bh)
* \return error code or GL_NO_ERROR.
*/
static GLenum
-compressed_texture_error_check(GLcontext *ctx, GLint dimensions,
+compressed_texture_error_check(struct gl_context *ctx, GLint dimensions,
GLenum target, GLint level,
GLenum internalFormat, GLsizei width,
GLsizei height, GLsizei depth, GLint border,
@@ -3265,7 +3293,7 @@ compressed_texture_error_check(GLcontext *ctx, GLint dimensions,
* \return error code or GL_NO_ERROR.
*/
static GLenum
-compressed_subtexture_error_check(GLcontext *ctx, GLint dimensions,
+compressed_subtexture_error_check(struct gl_context *ctx, GLint dimensions,
GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLsizei width, GLsizei height, GLsizei depth,
@@ -3349,7 +3377,7 @@ compressed_subtexture_error_check(GLcontext *ctx, GLint dimensions,
* \return GL_TRUE if error found, GL_FALSE otherwise.
*/
static GLboolean
-compressed_subtexture_error_check2(GLcontext *ctx, GLuint dims,
+compressed_subtexture_error_check2(struct gl_context *ctx, GLuint dims,
GLsizei width, GLsizei height,
GLsizei depth, GLenum format,
struct gl_texture_image *texImage)
diff --git a/src/mesa/main/teximage.h b/src/mesa/main/teximage.h
index 0dcacab3cd0..d4317c301b7 100644
--- a/src/mesa/main/teximage.h
+++ b/src/mesa/main/teximage.h
@@ -46,7 +46,7 @@ _mesa_free_texmemory(void *m);
/*@{*/
extern GLint
-_mesa_base_tex_format( GLcontext *ctx, GLint internalFormat );
+_mesa_base_tex_format( struct gl_context *ctx, GLint internalFormat );
extern GLboolean
@@ -54,26 +54,26 @@ _mesa_is_proxy_texture(GLenum target);
extern struct gl_texture_image *
-_mesa_new_texture_image( GLcontext *ctx );
+_mesa_new_texture_image( struct gl_context *ctx );
extern void
-_mesa_delete_texture_image( GLcontext *ctx, struct gl_texture_image *teximage );
+_mesa_delete_texture_image( struct gl_context *ctx, struct gl_texture_image *teximage );
extern void
-_mesa_free_texture_image_data( GLcontext *ctx,
+_mesa_free_texture_image_data( struct gl_context *ctx,
struct gl_texture_image *texImage );
extern void
-_mesa_init_teximage_fields(GLcontext *ctx, GLenum target,
+_mesa_init_teximage_fields(struct gl_context *ctx, GLenum target,
struct gl_texture_image *img,
GLsizei width, GLsizei height, GLsizei depth,
GLint border, GLenum internalFormat);
extern void
-_mesa_choose_texture_format(GLcontext *ctx,
+_mesa_choose_texture_format(struct gl_context *ctx,
struct gl_texture_object *texObj,
struct gl_texture_image *texImage,
GLenum target, GLint level,
@@ -81,7 +81,7 @@ _mesa_choose_texture_format(GLcontext *ctx,
extern void
-_mesa_clear_texture_image(GLcontext *ctx, struct gl_texture_image *texImage);
+_mesa_clear_texture_image(struct gl_context *ctx, struct gl_texture_image *texImage);
extern void
@@ -91,33 +91,33 @@ _mesa_set_tex_image(struct gl_texture_object *tObj,
extern struct gl_texture_object *
-_mesa_select_tex_object(GLcontext *ctx, const struct gl_texture_unit *texUnit,
+_mesa_select_tex_object(struct gl_context *ctx, const struct gl_texture_unit *texUnit,
GLenum target);
extern struct gl_texture_object *
-_mesa_get_current_tex_object(GLcontext *ctx, GLenum target);
+_mesa_get_current_tex_object(struct gl_context *ctx, GLenum target);
extern struct gl_texture_image *
-_mesa_select_tex_image(GLcontext *ctx, const struct gl_texture_object *texObj,
+_mesa_select_tex_image(struct gl_context *ctx, const struct gl_texture_object *texObj,
GLenum target, GLint level);
extern struct gl_texture_image *
-_mesa_get_tex_image(GLcontext *ctx, struct gl_texture_object *texObj,
+_mesa_get_tex_image(struct gl_context *ctx, struct gl_texture_object *texObj,
GLenum target, GLint level);
extern struct gl_texture_image *
-_mesa_get_proxy_tex_image(GLcontext *ctx, GLenum target, GLint level);
+_mesa_get_proxy_tex_image(struct gl_context *ctx, GLenum target, GLint level);
extern GLint
-_mesa_max_texture_levels(GLcontext *ctx, GLenum target);
+_mesa_max_texture_levels(struct gl_context *ctx, GLenum target);
extern GLboolean
-_mesa_test_proxy_teximage(GLcontext *ctx, GLenum target, GLint level,
+_mesa_test_proxy_teximage(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat, GLenum format, GLenum type,
GLint width, GLint height, GLint depth, GLint border);
@@ -130,7 +130,7 @@ _mesa_tex_target_to_face(GLenum target);
* Lock a texture for updating. See also _mesa_lock_context_textures().
*/
static INLINE void
-_mesa_lock_texture(GLcontext *ctx, struct gl_texture_object *texObj)
+_mesa_lock_texture(struct gl_context *ctx, struct gl_texture_object *texObj)
{
_glthread_LOCK_MUTEX(ctx->Shared->TexMutex);
ctx->Shared->TextureStateStamp++;
@@ -138,7 +138,7 @@ _mesa_lock_texture(GLcontext *ctx, struct gl_texture_object *texObj)
}
static INLINE void
-_mesa_unlock_texture(GLcontext *ctx, struct gl_texture_object *texObj)
+_mesa_unlock_texture(struct gl_context *ctx, struct gl_texture_object *texObj)
{
_glthread_UNLOCK_MUTEX(ctx->Shared->TexMutex);
}
diff --git a/src/mesa/main/texobj.c b/src/mesa/main/texobj.c
index 1fedc870285..e08df0f7fed 100644
--- a/src/mesa/main/texobj.c
+++ b/src/mesa/main/texobj.c
@@ -53,7 +53,7 @@
* Return the gl_texture_object for a given ID.
*/
struct gl_texture_object *
-_mesa_lookup_texture(GLcontext *ctx, GLuint id)
+_mesa_lookup_texture(struct gl_context *ctx, GLuint id)
{
return (struct gl_texture_object *)
_mesa_HashLookup(ctx->Shared->TexObjects, id);
@@ -77,7 +77,7 @@ _mesa_lookup_texture(GLcontext *ctx, GLuint id)
* \return pointer to new texture object.
*/
struct gl_texture_object *
-_mesa_new_texture_object( GLcontext *ctx, GLuint name, GLenum target )
+_mesa_new_texture_object( struct gl_context *ctx, GLuint name, GLenum target )
{
struct gl_texture_object *obj;
(void) ctx;
@@ -149,7 +149,7 @@ _mesa_initialize_texture_object( struct gl_texture_object *obj,
* target it's getting bound to (GL_TEXTURE_1D/2D/etc).
*/
static void
-finish_texture_init(GLcontext *ctx, GLenum target,
+finish_texture_init(struct gl_context *ctx, GLenum target,
struct gl_texture_object *obj)
{
assert(obj->Target == 0);
@@ -181,7 +181,7 @@ finish_texture_init(GLcontext *ctx, GLenum target,
* \param texObj the texture object to delete.
*/
void
-_mesa_delete_texture_object( GLcontext *ctx, struct gl_texture_object *texObj )
+_mesa_delete_texture_object( struct gl_context *ctx, struct gl_texture_object *texObj )
{
GLuint i, face;
@@ -265,7 +265,7 @@ _mesa_copy_texture_object( struct gl_texture_object *dest,
* \sa _mesa_clear_texture_image().
*/
void
-_mesa_clear_texture_object(GLcontext *ctx, struct gl_texture_object *texObj)
+_mesa_clear_texture_object(struct gl_context *ctx, struct gl_texture_object *texObj)
{
GLuint i, j;
@@ -404,7 +404,7 @@ incomplete(const struct gl_texture_object *t, const char *why)
* present and has the expected size.
*/
void
-_mesa_test_texobj_completeness( const GLcontext *ctx,
+_mesa_test_texobj_completeness( const struct gl_context *ctx,
struct gl_texture_object *t )
{
const GLint baseLevel = t->BaseLevel;
@@ -696,7 +696,7 @@ _mesa_test_texobj_completeness( const GLcontext *ctx,
* \param invalidate_state also invalidate context state.
*/
void
-_mesa_dirty_texobj(GLcontext *ctx, struct gl_texture_object *texObj,
+_mesa_dirty_texobj(struct gl_context *ctx, struct gl_texture_object *texObj,
GLboolean invalidate_state)
{
texObj->_Complete = GL_FALSE;
@@ -712,7 +712,7 @@ _mesa_dirty_texobj(GLcontext *ctx, struct gl_texture_object *texObj,
* incomplete texture.
*/
struct gl_texture_object *
-_mesa_get_fallback_texture(GLcontext *ctx)
+_mesa_get_fallback_texture(struct gl_context *ctx)
{
if (!ctx->Shared->FallbackTex) {
/* create fallback texture now */
@@ -830,7 +830,7 @@ _mesa_GenTextures( GLsizei n, GLuint *textures )
* read framebuffer. If so, Unbind it.
*/
static void
-unbind_texobj_from_fbo(GLcontext *ctx, struct gl_texture_object *texObj)
+unbind_texobj_from_fbo(struct gl_context *ctx, struct gl_texture_object *texObj)
{
const GLuint n = (ctx->DrawBuffer == ctx->ReadBuffer) ? 1 : 2;
GLuint i;
@@ -855,7 +855,7 @@ unbind_texobj_from_fbo(GLcontext *ctx, struct gl_texture_object *texObj)
* unbind it if so (revert to default textures).
*/
static void
-unbind_texobj_from_texunits(GLcontext *ctx, struct gl_texture_object *texObj)
+unbind_texobj_from_texunits(struct gl_context *ctx, struct gl_texture_object *texObj)
{
GLuint u, tex;
@@ -1214,7 +1214,7 @@ _mesa_IsTexture( GLuint texture )
* See also _mesa_lock/unlock_texture() in teximage.h
*/
void
-_mesa_lock_context_textures( GLcontext *ctx )
+_mesa_lock_context_textures( struct gl_context *ctx )
{
_glthread_LOCK_MUTEX(ctx->Shared->TexMutex);
@@ -1226,7 +1226,7 @@ _mesa_lock_context_textures( GLcontext *ctx )
void
-_mesa_unlock_context_textures( GLcontext *ctx )
+_mesa_unlock_context_textures( struct gl_context *ctx )
{
assert(ctx->Shared->TextureStateStamp == ctx->TextureStateTimestamp);
_glthread_UNLOCK_MUTEX(ctx->Shared->TexMutex);
diff --git a/src/mesa/main/texobj.h b/src/mesa/main/texobj.h
index 9bfebd45c81..821b35caa36 100644
--- a/src/mesa/main/texobj.h
+++ b/src/mesa/main/texobj.h
@@ -41,45 +41,45 @@
/*@{*/
extern struct gl_texture_object *
-_mesa_lookup_texture(GLcontext *ctx, GLuint id);
+_mesa_lookup_texture(struct gl_context *ctx, GLuint id);
extern struct gl_texture_object *
-_mesa_new_texture_object( GLcontext *ctx, GLuint name, GLenum target );
+_mesa_new_texture_object( struct gl_context *ctx, GLuint name, GLenum target );
extern void
_mesa_initialize_texture_object( struct gl_texture_object *obj,
GLuint name, GLenum target );
extern void
-_mesa_delete_texture_object( GLcontext *ctx, struct gl_texture_object *obj );
+_mesa_delete_texture_object( struct gl_context *ctx, struct gl_texture_object *obj );
extern void
_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);
+_mesa_clear_texture_object(struct gl_context *ctx, struct gl_texture_object *obj);
extern void
_mesa_reference_texobj(struct gl_texture_object **ptr,
struct gl_texture_object *tex);
extern void
-_mesa_test_texobj_completeness( const GLcontext *ctx,
+_mesa_test_texobj_completeness( const struct gl_context *ctx,
struct gl_texture_object *obj );
extern void
-_mesa_dirty_texobj(GLcontext *ctx, struct gl_texture_object *texObj,
+_mesa_dirty_texobj(struct gl_context *ctx, struct gl_texture_object *texObj,
GLboolean invalidate_state);
extern struct gl_texture_object *
-_mesa_get_fallback_texture(GLcontext *ctx);
+_mesa_get_fallback_texture(struct gl_context *ctx);
extern void
-_mesa_unlock_context_textures( GLcontext *ctx );
+_mesa_unlock_context_textures( struct gl_context *ctx );
extern void
-_mesa_lock_context_textures( GLcontext *ctx );
+_mesa_lock_context_textures( struct gl_context *ctx );
/*@}*/
diff --git a/src/mesa/main/texparam.c b/src/mesa/main/texparam.c
index e96ace73403..d5c83de97f7 100644
--- a/src/mesa/main/texparam.c
+++ b/src/mesa/main/texparam.c
@@ -47,7 +47,7 @@
* \return GL_TRUE if legal, GL_FALSE otherwise
*/
static GLboolean
-validate_texture_wrap_mode(GLcontext * ctx, GLenum target, GLenum wrap)
+validate_texture_wrap_mode(struct gl_context * ctx, GLenum target, GLenum wrap)
{
const struct gl_extensions * const e = & ctx->Extensions;
@@ -83,7 +83,7 @@ validate_texture_wrap_mode(GLcontext * ctx, GLenum target, GLenum wrap)
* Only the glGetTexLevelParameter() functions accept proxy targets.
*/
static struct gl_texture_object *
-get_texobj(GLcontext *ctx, GLenum target, GLboolean get)
+get_texobj(struct gl_context *ctx, GLenum target, GLboolean get)
{
struct gl_texture_unit *texUnit;
@@ -178,7 +178,7 @@ set_swizzle_component(GLuint *swizzle, GLuint comp, GLuint swz)
* per-texture derived state gets recomputed.
*/
static INLINE void
-flush(GLcontext *ctx, struct gl_texture_object *texObj)
+flush(struct gl_context *ctx, struct gl_texture_object *texObj)
{
FLUSH_VERTICES(ctx, _NEW_TEXTURE);
texObj->_Complete = GL_FALSE;
@@ -190,7 +190,7 @@ flush(GLcontext *ctx, struct gl_texture_object *texObj)
* \return GL_TRUE if legal AND the value changed, GL_FALSE otherwise
*/
static GLboolean
-set_tex_parameteri(GLcontext *ctx,
+set_tex_parameteri(struct gl_context *ctx,
struct gl_texture_object *texObj,
GLenum pname, const GLint *params)
{
@@ -430,7 +430,7 @@ set_tex_parameteri(GLcontext *ctx,
* \return GL_TRUE if legal AND the value changed, GL_FALSE otherwise
*/
static GLboolean
-set_tex_parameterf(GLcontext *ctx,
+set_tex_parameterf(struct gl_context *ctx,
struct gl_texture_object *texObj,
GLenum pname, const GLfloat *params)
{
diff --git a/src/mesa/main/texrender.c b/src/mesa/main/texrender.c
index c68105b3951..8961b926487 100644
--- a/src/mesa/main/texrender.c
+++ b/src/mesa/main/texrender.c
@@ -31,7 +31,7 @@ struct texture_renderbuffer
* Get row of values from the renderbuffer that wraps a texture image.
*/
static void
-texture_get_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+texture_get_row(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, void *values)
{
const struct texture_renderbuffer *trb
@@ -100,7 +100,7 @@ texture_get_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-texture_get_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+texture_get_values(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], void *values)
{
const struct texture_renderbuffer *trb
@@ -167,7 +167,7 @@ texture_get_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
* Put row of values into a renderbuffer that wraps a texture image.
*/
static void
-texture_put_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+texture_put_row(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
const struct texture_renderbuffer *trb
@@ -229,7 +229,7 @@ texture_put_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
* Put row of RGB values into a renderbuffer that wraps a texture image.
*/
static void
-texture_put_row_rgb(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+texture_put_row_rgb(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *values, const GLubyte *mask)
{
const struct texture_renderbuffer *trb
@@ -289,7 +289,7 @@ texture_put_row_rgb(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-texture_put_mono_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+texture_put_mono_row(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
GLint x, GLint y, const void *value, const GLubyte *mask)
{
const struct texture_renderbuffer *trb
@@ -348,7 +348,7 @@ texture_put_mono_row(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-texture_put_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
+texture_put_values(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count,
const GLint x[], const GLint y[], const void *values,
const GLubyte *mask)
{
@@ -407,7 +407,7 @@ texture_put_values(GLcontext *ctx, struct gl_renderbuffer *rb, GLuint count,
static void
-texture_put_mono_values(GLcontext *ctx, struct gl_renderbuffer *rb,
+texture_put_mono_values(struct gl_context *ctx, struct gl_renderbuffer *rb,
GLuint count, const GLint x[], const GLint y[],
const void *value, const GLubyte *mask)
{
@@ -486,7 +486,7 @@ delete_texture_wrapper(struct gl_renderbuffer *rb)
* This allows rendering into the texture as if it were a renderbuffer.
*/
static void
-wrap_texture(GLcontext *ctx, struct gl_renderbuffer_attachment *att)
+wrap_texture(struct gl_context *ctx, struct gl_renderbuffer_attachment *att)
{
struct texture_renderbuffer *trb;
const GLuint name = 0;
@@ -525,7 +525,7 @@ wrap_texture(GLcontext *ctx, struct gl_renderbuffer_attachment *att)
* update the internal format info, etc.
*/
static void
-update_wrapper(GLcontext *ctx, const struct gl_renderbuffer_attachment *att)
+update_wrapper(struct gl_context *ctx, const struct gl_renderbuffer_attachment *att)
{
struct texture_renderbuffer *trb
= (struct texture_renderbuffer *) att->Renderbuffer;
@@ -609,7 +609,7 @@ update_wrapper(GLcontext *ctx, const struct gl_renderbuffer_attachment *att)
* \sa _mesa_framebuffer_renderbuffer
*/
void
-_mesa_render_texture(GLcontext *ctx,
+_mesa_render_texture(struct gl_context *ctx,
struct gl_framebuffer *fb,
struct gl_renderbuffer_attachment *att)
{
@@ -623,7 +623,7 @@ _mesa_render_texture(GLcontext *ctx,
void
-_mesa_finish_render_texture(GLcontext *ctx,
+_mesa_finish_render_texture(struct gl_context *ctx,
struct gl_renderbuffer_attachment *att)
{
/* do nothing */
diff --git a/src/mesa/main/texrender.h b/src/mesa/main/texrender.h
index 1e87d594a28..5e68fb03b57 100644
--- a/src/mesa/main/texrender.h
+++ b/src/mesa/main/texrender.h
@@ -4,12 +4,12 @@
#include "mtypes.h"
extern void
-_mesa_render_texture(GLcontext *ctx,
+_mesa_render_texture(struct gl_context *ctx,
struct gl_framebuffer *fb,
struct gl_renderbuffer_attachment *att);
extern void
-_mesa_finish_render_texture(GLcontext *ctx,
+_mesa_finish_render_texture(struct gl_context *ctx,
struct gl_renderbuffer_attachment *att);
diff --git a/src/mesa/main/texstate.c b/src/mesa/main/texstate.c
index 30c978c1cdd..f4d77189f29 100644
--- a/src/mesa/main/texstate.c
+++ b/src/mesa/main/texstate.c
@@ -63,7 +63,7 @@ static const struct gl_tex_env_combine_state default_combine_state = {
* Used by glXCopyContext to copy texture state from one context to another.
*/
void
-_mesa_copy_texture_state( const GLcontext *src, GLcontext *dst )
+_mesa_copy_texture_state( const struct gl_context *src, struct gl_context *dst )
{
GLuint u, tex;
@@ -119,7 +119,7 @@ _mesa_copy_texture_state( const GLcontext *src, GLcontext *dst )
* For debugging
*/
void
-_mesa_print_texunit_state( GLcontext *ctx, GLuint unit )
+_mesa_print_texunit_state( struct gl_context *ctx, GLuint unit )
{
const struct gl_texture_unit *texUnit = ctx->Texture.Unit + unit;
printf("Texture Unit %d\n", unit);
@@ -363,7 +363,7 @@ _mesa_ClientActiveTextureARB(GLenum texture)
* \param ctx GL context.
*/
static void
-update_texture_matrices( GLcontext *ctx )
+update_texture_matrices( struct gl_context *ctx )
{
GLuint u;
@@ -386,7 +386,7 @@ update_texture_matrices( GLcontext *ctx )
* Examine texture unit's combine/env state to update derived state.
*/
static void
-update_tex_combine(GLcontext *ctx, struct gl_texture_unit *texUnit)
+update_tex_combine(struct gl_context *ctx, struct gl_texture_unit *texUnit)
{
struct gl_tex_env_combine_state *combine;
@@ -489,30 +489,35 @@ update_tex_combine(GLcontext *ctx, struct gl_texture_unit *texUnit)
* \param ctx GL context.
*/
static void
-update_texture_state( GLcontext *ctx )
+update_texture_state( struct gl_context *ctx )
{
GLuint unit;
struct gl_fragment_program *fprog = NULL;
struct gl_vertex_program *vprog = NULL;
GLbitfield enabledFragUnits = 0x0;
- if (ctx->Shader.CurrentProgram &&
- ctx->Shader.CurrentProgram->LinkStatus) {
- fprog = ctx->Shader.CurrentProgram->FragmentProgram;
- vprog = ctx->Shader.CurrentProgram->VertexProgram;
+ if (ctx->Shader.CurrentVertexProgram &&
+ ctx->Shader.CurrentVertexProgram->LinkStatus) {
+ vprog = ctx->Shader.CurrentVertexProgram->VertexProgram;
+ } else if (ctx->VertexProgram._Enabled) {
+ /* XXX enable this if/when non-shader vertex programs get
+ * texture fetches:
+ vprog = ctx->VertexProgram.Current;
+ */
}
- else {
- if (ctx->FragmentProgram._Enabled) {
- fprog = ctx->FragmentProgram.Current;
- }
- if (ctx->VertexProgram._Enabled) {
- /* XXX enable this if/when non-shader vertex programs get
- * texture fetches:
- vprog = ctx->VertexProgram.Current;
- */
- }
+
+ if (ctx->Shader.CurrentFragmentProgram &&
+ ctx->Shader.CurrentFragmentProgram->LinkStatus) {
+ fprog = ctx->Shader.CurrentFragmentProgram->FragmentProgram;
+ }
+ else if (ctx->FragmentProgram._Enabled) {
+ fprog = ctx->FragmentProgram.Current;
}
+ /* FINISHME: Geometry shader texture accesses should also be considered
+ * FINISHME: here.
+ */
+
/* TODO: only set this if there are actual changes */
ctx->NewState |= _NEW_TEXTURE;
@@ -653,7 +658,7 @@ update_texture_state( GLcontext *ctx )
* Update texture-related derived state.
*/
void
-_mesa_update_texture( GLcontext *ctx, GLuint new_state )
+_mesa_update_texture( struct gl_context *ctx, GLuint new_state )
{
if (new_state & _NEW_TEXTURE_MATRIX)
update_texture_matrices( ctx );
@@ -678,7 +683,7 @@ _mesa_update_texture( GLcontext *ctx, GLuint new_state )
* GL_FALSE.
*/
static GLboolean
-alloc_proxy_textures( GLcontext *ctx )
+alloc_proxy_textures( struct gl_context *ctx )
{
static const GLenum targets[] = {
GL_TEXTURE_1D,
@@ -716,7 +721,7 @@ alloc_proxy_textures( GLcontext *ctx )
* \param unit texture unit number to be initialized.
*/
static void
-init_texture_unit( GLcontext *ctx, GLuint unit )
+init_texture_unit( struct gl_context *ctx, GLuint unit )
{
struct gl_texture_unit *texUnit = &ctx->Texture.Unit[unit];
GLuint tex;
@@ -764,7 +769,7 @@ init_texture_unit( GLcontext *ctx, GLuint unit )
* Initialize texture state for the given context.
*/
GLboolean
-_mesa_init_texture(GLcontext *ctx)
+_mesa_init_texture(struct gl_context *ctx)
{
GLuint u;
@@ -796,7 +801,7 @@ _mesa_init_texture(GLcontext *ctx)
* Free dynamically-allocted texture data attached to the given context.
*/
void
-_mesa_free_texture_data(GLcontext *ctx)
+_mesa_free_texture_data(struct gl_context *ctx)
{
GLuint u, tgt;
@@ -825,7 +830,7 @@ _mesa_free_texture_data(GLcontext *ctx)
* shared state.
*/
void
-_mesa_update_default_objects_texture(GLcontext *ctx)
+_mesa_update_default_objects_texture(struct gl_context *ctx)
{
GLuint u, tex;
diff --git a/src/mesa/main/texstate.h b/src/mesa/main/texstate.h
index 912cb677985..987123036a6 100644
--- a/src/mesa/main/texstate.h
+++ b/src/mesa/main/texstate.h
@@ -41,7 +41,7 @@
* This the texture unit set by glActiveTexture(), not glClientActiveTexture().
*/
static INLINE struct gl_texture_unit *
-_mesa_get_current_tex_unit(GLcontext *ctx)
+_mesa_get_current_tex_unit(struct gl_context *ctx)
{
ASSERT(ctx->Texture.CurrentUnit < Elements(ctx->Texture.Unit));
return &(ctx->Texture.Unit[ctx->Texture.CurrentUnit]);
@@ -49,10 +49,10 @@ _mesa_get_current_tex_unit(GLcontext *ctx)
extern void
-_mesa_copy_texture_state( const GLcontext *src, GLcontext *dst );
+_mesa_copy_texture_state( const struct gl_context *src, struct gl_context *dst );
extern void
-_mesa_print_texunit_state( GLcontext *ctx, GLuint unit );
+_mesa_print_texunit_state( struct gl_context *ctx, GLuint unit );
@@ -76,16 +76,16 @@ _mesa_ClientActiveTextureARB( GLenum target );
/*@{*/
extern void
-_mesa_update_texture( GLcontext *ctx, GLuint new_state );
+_mesa_update_texture( struct gl_context *ctx, GLuint new_state );
extern GLboolean
-_mesa_init_texture( GLcontext *ctx );
+_mesa_init_texture( struct gl_context *ctx );
extern void
-_mesa_free_texture_data( GLcontext *ctx );
+_mesa_free_texture_data( struct gl_context *ctx );
extern void
-_mesa_update_default_objects_texture(GLcontext *ctx);
+_mesa_update_default_objects_texture(struct gl_context *ctx);
/*@}*/
diff --git a/src/mesa/main/texstore.c b/src/mesa/main/texstore.c
index 5ca36d955e2..fb34a005b3b 100644
--- a/src/mesa/main/texstore.c
+++ b/src/mesa/main/texstore.c
@@ -58,7 +58,9 @@
#include "image.h"
#include "macros.h"
#include "mipmap.h"
+#include "pack.h"
#include "imports.h"
+#include "pack.h"
#include "texcompress.h"
#include "texcompress_fxt1.h"
#include "texcompress_s3tc.h"
@@ -173,7 +175,6 @@ static const struct {
MAP4(0,1,2,3),
},
-
{
IDX_RED,
MAP4(0, ZERO, ZERO, ONE),
@@ -289,7 +290,7 @@ compute_component_mapping(GLenum inFormat, GLenum outFormat,
* Apply all needed pixel unpacking and pixel transfer operations.
* Note that there are both logicalBaseFormat and textureBaseFormat parameters.
* Suppose the user specifies GL_LUMINANCE as the internal texture format
- * but the graphics hardware doesn't support luminance textures. So, might
+ * but the graphics hardware doesn't support luminance textures. So, we might
* use an RGB hardware format instead.
* If logicalBaseFormat != textureBaseFormat we have some extra work to do.
*
@@ -308,7 +309,7 @@ compute_component_mapping(GLenum inFormat, GLenum outFormat,
* \return resulting image with format = textureBaseFormat and type = GLfloat.
*/
static GLfloat *
-make_temp_float_image(GLcontext *ctx, GLuint dims,
+make_temp_float_image(struct gl_context *ctx, GLuint dims,
GLenum logicalBaseFormat,
GLenum textureBaseFormat,
GLint srcWidth, GLint srcHeight, GLint srcDepth,
@@ -422,7 +423,7 @@ make_temp_float_image(GLcontext *ctx, GLuint dims,
* Apply all needed pixel unpacking and pixel transfer operations.
* Note that there are both logicalBaseFormat and textureBaseFormat parameters.
* Suppose the user specifies GL_LUMINANCE as the internal texture format
- * but the graphics hardware doesn't support luminance textures. So, might
+ * but the graphics hardware doesn't support luminance textures. So, we might
* use an RGB hardware format instead.
* If logicalBaseFormat != textureBaseFormat we have some extra work to do.
*
@@ -441,7 +442,7 @@ make_temp_float_image(GLcontext *ctx, GLuint dims,
* \return resulting image with format = textureBaseFormat and type = GLchan.
*/
GLchan *
-_mesa_make_temp_chan_image(GLcontext *ctx, GLuint dims,
+_mesa_make_temp_chan_image(struct gl_context *ctx, GLuint dims,
GLenum logicalBaseFormat,
GLenum textureBaseFormat,
GLint srcWidth, GLint srcHeight, GLint srcDepth,
@@ -675,7 +676,10 @@ swizzle_copy(GLubyte *dst, GLuint dstComponents, const GLubyte *src,
static const GLubyte map_identity[6] = { 0, 1, 2, 3, ZERO, ONE };
static const GLubyte map_3210[6] = { 3, 2, 1, 0, ZERO, ONE };
-/* Deal with the _REV input types:
+
+/**
+ * For 1-byte/pixel formats (or 8_8_8_8 packed formats), return a
+ * mapping array depending on endianness.
*/
static const GLubyte *
type_mapping( GLenum srcType )
@@ -693,7 +697,10 @@ type_mapping( GLenum srcType )
}
}
-/* Mapping required if input type is
+
+/**
+ * For 1-byte/pixel formats (or 8_8_8_8 packed formats), return a
+ * mapping array depending on pixelstore byte swapping state.
*/
static const GLubyte *
byteswap_mapping( GLboolean swapBytes,
@@ -720,7 +727,7 @@ byteswap_mapping( GLboolean swapBytes,
* Transfer a GLubyte texture image with component swizzling.
*/
static void
-_mesa_swizzle_ubyte_image(GLcontext *ctx,
+_mesa_swizzle_ubyte_image(struct gl_context *ctx,
GLuint dimensions,
GLenum srcFormat,
GLenum srcType,
@@ -807,7 +814,7 @@ _mesa_swizzle_ubyte_image(GLcontext *ctx,
* 1D, 2D and 3D images supported.
*/
static void
-memcpy_texture(GLcontext *ctx,
+memcpy_texture(struct gl_context *ctx,
GLuint dimensions,
gl_format dstFormat,
GLvoid *dstAddr,
@@ -1430,7 +1437,6 @@ _mesa_texstore_argb8888(TEXSTORE_PARAMS)
_mesa_swizzle_ubyte_image(ctx, dims,
srcFormat,
srcType,
-
baseInternalFormat,
dstmap, 4,
dstAddr, dstXoffset, dstYoffset, dstZoffset,
@@ -1923,6 +1929,9 @@ _mesa_texstore_argb1555(TEXSTORE_PARAMS)
}
+/**
+ * Do texstore for 2-channel, 8-bit/channel, unsigned normalized formats.
+ */
static GLboolean
_mesa_texstore_unorm88(TEXSTORE_PARAMS)
{
@@ -1955,7 +1964,6 @@ _mesa_texstore_unorm88(TEXSTORE_PARAMS)
srcType == GL_UNSIGNED_BYTE &&
can_swizzle(baseInternalFormat) &&
can_swizzle(srcFormat)) {
-
GLubyte dstmap[4];
/* dstmap - how to swizzle from RGBA to dst format:
@@ -2040,6 +2048,9 @@ _mesa_texstore_unorm88(TEXSTORE_PARAMS)
}
+/**
+ * Do texstore for 2-channel, 16-bit/channel, unsigned normalized formats.
+ */
static GLboolean
_mesa_texstore_unorm1616(TEXSTORE_PARAMS)
{
@@ -2392,7 +2403,6 @@ _mesa_texstore_a8(TEXSTORE_PARAMS)
srcType == GL_UNSIGNED_BYTE &&
can_swizzle(baseInternalFormat) &&
can_swizzle(srcFormat)) {
-
GLubyte dstmap[4];
/* dstmap - how to swizzle from RGBA to dst format:
@@ -2566,7 +2576,6 @@ _mesa_texstore_dudv8(TEXSTORE_PARAMS)
srcAddr, srcPacking);
}
else if (srcType == GL_BYTE) {
-
GLubyte dstmap[4];
/* dstmap - how to swizzle from RGBA to dst format:
@@ -2772,7 +2781,8 @@ _mesa_texstore_signed_rgbx8888(TEXSTORE_PARAMS)
/**
- * Store a texture in MESA_FORMAT_SIGNED_RGBA8888 or MESA_FORMAT_SIGNED_RGBA8888_REV
+ * Store a texture in MESA_FORMAT_SIGNED_RGBA8888 or
+ * MESA_FORMAT_SIGNED_RGBA8888_REV
*/
static GLboolean
_mesa_texstore_signed_rgba8888(TEXSTORE_PARAMS)
@@ -2908,36 +2918,7 @@ _mesa_texstore_z24_s8(TEXSTORE_PARAMS)
ASSERT(srcFormat == GL_DEPTH_STENCIL_EXT || srcFormat == GL_DEPTH_COMPONENT);
ASSERT(srcFormat != GL_DEPTH_STENCIL_EXT || srcType == GL_UNSIGNED_INT_24_8_EXT);
- /* In case we only upload depth we need to preserve the stencil */
- if (srcFormat == GL_DEPTH_COMPONENT) {
- for (img = 0; img < srcDepth; img++) {
- GLuint *dstRow = (GLuint *) dstAddr
- + dstImageOffsets[dstZoffset + img]
- + dstYoffset * dstRowStride / sizeof(GLuint)
- + dstXoffset;
- const GLuint *src
- = (const GLuint *) _mesa_image_address(dims, srcPacking, srcAddr,
- srcWidth, srcHeight,
- srcFormat, srcType,
- img, 0, 0);
- for (row = 0; row < srcHeight; row++) {
- GLuint depth[MAX_WIDTH];
- GLint i;
- _mesa_unpack_depth_span(ctx, srcWidth,
- GL_UNSIGNED_INT, /* dst type */
- depth, /* dst addr */
- depthScale,
- srcType, src, srcPacking);
-
- for (i = 0; i < srcWidth; i++)
- dstRow[i] = depth[i] << 8 | (dstRow[i] & 0x000000FF);
-
- src += srcRowStride;
- dstRow += dstRowStride / sizeof(GLuint);
- }
- }
- }
- else if (ctx->Pixel.DepthScale == 1.0f &&
+ if (srcFormat != GL_DEPTH_COMPONENT && ctx->Pixel.DepthScale == 1.0f &&
ctx->Pixel.DepthBias == 0.0f &&
!srcPacking->SwapBytes) {
/* simple path */
@@ -2948,41 +2929,53 @@ _mesa_texstore_z24_s8(TEXSTORE_PARAMS)
srcWidth, srcHeight, srcDepth, srcFormat, srcType,
srcAddr, srcPacking);
}
- else {
- /* general path */
- const GLint srcRowStride
- = _mesa_image_row_stride(srcPacking, srcWidth, srcFormat, srcType)
- / sizeof(GLuint);
- GLint img, row;
-
+ else if (srcFormat == GL_DEPTH_COMPONENT) {
+ /* In case we only upload depth we need to preserve the stencil */
for (img = 0; img < srcDepth; img++) {
- GLuint *dstRow = (GLuint *) dstAddr
+ GLuint *dstRow = (GLuint *) dstAddr
+ dstImageOffsets[dstZoffset + img]
+ dstYoffset * dstRowStride / sizeof(GLuint)
+ dstXoffset;
const GLuint *src
= (const GLuint *) _mesa_image_address(dims, srcPacking, srcAddr,
- srcWidth, srcHeight,
- srcFormat, srcType,
- img, 0, 0);
+ srcWidth, srcHeight,
+ srcFormat, srcType,
+ img, 0, 0);
for (row = 0; row < srcHeight; row++) {
- GLubyte stencil[MAX_WIDTH];
+ GLuint depth[MAX_WIDTH];
+ GLubyte stencil[MAX_WIDTH];
GLint i;
- /* the 24 depth bits will be in the high position: */
- _mesa_unpack_depth_span(ctx, srcWidth,
- GL_UNSIGNED_INT_24_8_EXT, /* dst type */
- dstRow, /* dst addr */
- depthScale,
- srcType, src, srcPacking);
- /* get the 8-bit stencil values */
- _mesa_unpack_stencil_span(ctx, srcWidth,
- GL_UNSIGNED_BYTE, /* dst type */
- stencil, /* dst addr */
- srcType, src, srcPacking,
- ctx->_ImageTransferState);
- /* merge stencil values into depth values */
- for (i = 0; i < srcWidth; i++)
- dstRow[i] |= stencil[i];
+ GLboolean keepdepth = GL_FALSE, keepstencil = GL_FALSE;
+
+ if (srcFormat == GL_DEPTH_COMPONENT) { /* preserve stencil */
+ keepstencil = GL_TRUE;
+ }
+ else if (srcFormat == GL_STENCIL_INDEX) { /* preserve depth */
+ keepdepth = GL_TRUE;
+ }
+
+ if (keepdepth == GL_FALSE)
+ /* the 24 depth bits will be in the low position: */
+ _mesa_unpack_depth_span(ctx, srcWidth,
+ GL_UNSIGNED_INT, /* dst type */
+ keepstencil ? depth : dstRow, /* dst addr */
+ depthScale,
+ srcType, src, srcPacking);
+
+ if (keepstencil == GL_FALSE)
+ /* get the 8-bit stencil values */
+ _mesa_unpack_stencil_span(ctx, srcWidth,
+ GL_UNSIGNED_BYTE, /* dst type */
+ stencil, /* dst addr */
+ srcType, src, srcPacking,
+ ctx->_ImageTransferState);
+
+ for (i = 0; i < srcWidth; i++) {
+ if (keepstencil)
+ dstRow[i] = depth[i] << 8 | (dstRow[i] & 0x000000FF);
+ else
+ dstRow[i] = (dstRow[i] & 0xFFFFFF00) | (stencil[i] & 0xFF);
+ }
src += srcRowStride;
dstRow += dstRowStride / sizeof(GLuint);
@@ -3006,58 +2999,108 @@ _mesa_texstore_s8_z24(TEXSTORE_PARAMS)
GLint img, row;
ASSERT(dstFormat == MESA_FORMAT_S8_Z24);
- ASSERT(srcFormat == GL_DEPTH_STENCIL_EXT || srcFormat == GL_DEPTH_COMPONENT);
- ASSERT(srcFormat != GL_DEPTH_STENCIL_EXT || srcType == GL_UNSIGNED_INT_24_8_EXT);
+ ASSERT(srcFormat == GL_DEPTH_STENCIL_EXT ||
+ srcFormat == GL_DEPTH_COMPONENT ||
+ srcFormat == GL_STENCIL_INDEX);
+ ASSERT(srcFormat != GL_DEPTH_STENCIL_EXT ||
+ srcType == GL_UNSIGNED_INT_24_8_EXT);
- /* In case we only upload depth we need to preserve the stencil */
- if (srcFormat == GL_DEPTH_COMPONENT) {
- for (img = 0; img < srcDepth; img++) {
- GLuint *dstRow = (GLuint *) dstAddr
- + dstImageOffsets[dstZoffset + img]
- + dstYoffset * dstRowStride / sizeof(GLuint)
- + dstXoffset;
- const GLuint *src
- = (const GLuint *) _mesa_image_address(dims, srcPacking, srcAddr,
- srcWidth, srcHeight,
- srcFormat, srcType,
- img, 0, 0);
- for (row = 0; row < srcHeight; row++) {
- GLuint depth[MAX_WIDTH];
- GLint i;
- _mesa_unpack_depth_span(ctx, srcWidth,
- GL_UNSIGNED_INT, /* dst type */
- depth, /* dst addr */
- depthScale,
- srcType, src, srcPacking);
+ for (img = 0; img < srcDepth; img++) {
+ GLuint *dstRow = (GLuint *) dstAddr
+ + dstImageOffsets[dstZoffset + img]
+ + dstYoffset * dstRowStride / sizeof(GLuint)
+ + dstXoffset;
+ const GLuint *src
+ = (const GLuint *) _mesa_image_address(dims, srcPacking, srcAddr,
+ srcWidth, srcHeight,
+ srcFormat, srcType,
+ img, 0, 0);
+ for (row = 0; row < srcHeight; row++) {
+ GLuint depth[MAX_WIDTH];
+ GLubyte stencil[MAX_WIDTH];
+ GLint i;
+ GLboolean keepdepth = GL_FALSE, keepstencil = GL_FALSE;
+
+ if (srcFormat == GL_DEPTH_COMPONENT) { /* preserve stencil */
+ keepstencil = GL_TRUE;
+ }
+ else if (srcFormat == GL_STENCIL_INDEX) { /* preserve depth */
+ keepdepth = GL_TRUE;
+ }
- for (i = 0; i < srcWidth; i++)
- dstRow[i] = depth[i] | (dstRow[i] & 0xFF000000);
+ if (keepdepth == GL_FALSE)
+ /* the 24 depth bits will be in the low position: */
+ _mesa_unpack_depth_span(ctx, srcWidth,
+ GL_UNSIGNED_INT, /* dst type */
+ keepstencil ? depth : dstRow, /* dst addr */
+ depthScale,
+ srcType, src, srcPacking);
+
+ if (keepstencil == GL_FALSE)
+ /* get the 8-bit stencil values */
+ _mesa_unpack_stencil_span(ctx, srcWidth,
+ GL_UNSIGNED_BYTE, /* dst type */
+ stencil, /* dst addr */
+ srcType, src, srcPacking,
+ ctx->_ImageTransferState);
+
+ /* merge stencil values into depth values */
+ for (i = 0; i < srcWidth; i++) {
+ if (keepstencil)
+ dstRow[i] = depth[i] | (dstRow[i] & 0xFF000000);
+ else
+ dstRow[i] = (dstRow[i] & 0xFFFFFF) | (stencil[i] << 24);
- src += srcRowStride;
- dstRow += dstRowStride / sizeof(GLuint);
- }
+ }
+ src += srcRowStride;
+ dstRow += dstRowStride / sizeof(GLuint);
}
}
+ return GL_TRUE;
+}
+
+
+/**
+ * Store simple 8-bit/value stencil texture data.
+ */
+static GLboolean
+_mesa_texstore_s8(TEXSTORE_PARAMS)
+{
+ ASSERT(dstFormat == MESA_FORMAT_S8);
+ ASSERT(srcFormat == GL_STENCIL_INDEX);
+
+ if (!ctx->_ImageTransferState &&
+ !srcPacking->SwapBytes &&
+ baseInternalFormat == srcFormat &&
+ srcType == GL_UNSIGNED_BYTE) {
+ /* simple memcpy path */
+ memcpy_texture(ctx, dims,
+ dstFormat, dstAddr, dstXoffset, dstYoffset, dstZoffset,
+ dstRowStride,
+ dstImageOffsets,
+ srcWidth, srcHeight, srcDepth, srcFormat, srcType,
+ srcAddr, srcPacking);
+ }
else {
+ const GLint srcRowStride
+ = _mesa_image_row_stride(srcPacking, srcWidth, srcFormat, srcType)
+ / sizeof(GLuint);
+ GLint img, row;
+
for (img = 0; img < srcDepth; img++) {
- GLuint *dstRow = (GLuint *) dstAddr
+ GLubyte *dstRow = (GLubyte *) dstAddr
+ dstImageOffsets[dstZoffset + img]
+ dstYoffset * dstRowStride / sizeof(GLuint)
+ dstXoffset;
const GLuint *src
= (const GLuint *) _mesa_image_address(dims, srcPacking, srcAddr,
- srcWidth, srcHeight,
- srcFormat, srcType,
- img, 0, 0);
+ srcWidth, srcHeight,
+ srcFormat, srcType,
+ img, 0, 0);
for (row = 0; row < srcHeight; row++) {
GLubyte stencil[MAX_WIDTH];
GLint i;
- /* the 24 depth bits will be in the low position: */
- _mesa_unpack_depth_span(ctx, srcWidth,
- GL_UNSIGNED_INT, /* dst type */
- dstRow, /* dst addr */
- depthScale,
- srcType, src, srcPacking);
+
/* get the 8-bit stencil values */
_mesa_unpack_stencil_span(ctx, srcWidth,
GL_UNSIGNED_BYTE, /* dst type */
@@ -3066,16 +3109,19 @@ _mesa_texstore_s8_z24(TEXSTORE_PARAMS)
ctx->_ImageTransferState);
/* merge stencil values into depth values */
for (i = 0; i < srcWidth; i++)
- dstRow[i] |= stencil[i] << 24;
+ dstRow[i] = stencil[i];
src += srcRowStride;
- dstRow += dstRowStride / sizeof(GLuint);
+ dstRow += dstRowStride / sizeof(GLubyte);
}
}
+
}
+
return GL_TRUE;
}
+
/**
* Store an image in any of the formats:
* _mesa_texformat_rgba_float32
@@ -3150,6 +3196,7 @@ _mesa_texstore_rgba_float32(TEXSTORE_PARAMS)
}
+
/**
* As above, but store 16-bit floats.
*/
@@ -3613,12 +3660,12 @@ _mesa_texstore_srgb8(TEXSTORE_PARAMS)
newDstFormat = MESA_FORMAT_RGB888;
k = _mesa_texstore_rgb888(ctx, dims, baseInternalFormat,
- newDstFormat, dstAddr,
- dstXoffset, dstYoffset, dstZoffset,
- dstRowStride, dstImageOffsets,
- srcWidth, srcHeight, srcDepth,
- srcFormat, srcType,
- srcAddr, srcPacking);
+ newDstFormat, dstAddr,
+ dstXoffset, dstYoffset, dstZoffset,
+ dstRowStride, dstImageOffsets,
+ srcWidth, srcHeight, srcDepth,
+ srcFormat, srcType,
+ srcAddr, srcPacking);
return k;
}
@@ -3724,7 +3771,7 @@ _mesa_texstore_sla8(TEXSTORE_PARAMS)
/**
- * Table mapping MESA_FORMAT_8 to _mesa_texstore_*()
+ * Table mapping MESA_FORMAT_* to _mesa_texstore_*()
* XXX this is somewhat temporary.
*/
static const struct {
@@ -3772,7 +3819,7 @@ texstore_funcs[MESA_FORMAT_COUNT] =
{ MESA_FORMAT_X8_Z24, _mesa_texstore_x8_z24 },
{ MESA_FORMAT_Z24_X8, _mesa_texstore_z24_x8 },
{ MESA_FORMAT_Z32, _mesa_texstore_z32 },
- { MESA_FORMAT_S8, NULL/*_mesa_texstore_s8*/ },
+ { MESA_FORMAT_S8, _mesa_texstore_s8 },
{ MESA_FORMAT_SRGB8, _mesa_texstore_srgb8 },
{ MESA_FORMAT_SRGBA8, _mesa_texstore_srgba8 },
{ MESA_FORMAT_SARGB8, _mesa_texstore_sargb8 },
@@ -3894,7 +3941,7 @@ _mesa_texstore(TEXSTORE_PARAMS)
* The caller _must_ call _mesa_unmap_teximage_pbo() too!
*/
const GLvoid *
-_mesa_validate_pbo_teximage(GLcontext *ctx, GLuint dimensions,
+_mesa_validate_pbo_teximage(struct gl_context *ctx, GLuint dimensions,
GLsizei width, GLsizei height, GLsizei depth,
GLenum format, GLenum type, const GLvoid *pixels,
const struct gl_pixelstore_attrib *unpack,
@@ -3931,7 +3978,7 @@ _mesa_validate_pbo_teximage(GLcontext *ctx, GLuint dimensions,
* The caller _must_ call _mesa_unmap_teximage_pbo() too!
*/
const GLvoid *
-_mesa_validate_pbo_compressed_teximage(GLcontext *ctx,
+_mesa_validate_pbo_compressed_teximage(struct gl_context *ctx,
GLsizei imageSize, const GLvoid *pixels,
const struct gl_pixelstore_attrib *packing,
const char *funcName)
@@ -3965,7 +4012,7 @@ _mesa_validate_pbo_compressed_teximage(GLcontext *ctx,
* functions. It unmaps the PBO buffer if it was mapped earlier.
*/
void
-_mesa_unmap_teximage_pbo(GLcontext *ctx,
+_mesa_unmap_teximage_pbo(struct gl_context *ctx,
const struct gl_pixelstore_attrib *unpack)
{
if (_mesa_is_bufferobj(unpack->BufferObj)) {
@@ -4002,7 +4049,7 @@ texture_row_stride(const struct gl_texture_image *texImage)
* \sa _mesa_store_teximage2d()
*/
void
-_mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_teximage1d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint border,
GLenum format, GLenum type, const GLvoid *pixels,
@@ -4056,7 +4103,7 @@ _mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
* than VRAM. Device driver's can easily plug in their own replacement.
*/
void
-_mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_teximage2d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint border,
GLenum format, GLenum type, const void *pixels,
@@ -4109,7 +4156,7 @@ _mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level,
* \sa _mesa_store_teximage2d()
*/
void
-_mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_teximage3d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint depth, GLint border,
GLenum format, GLenum type, const void *pixels,
@@ -4162,7 +4209,7 @@ _mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level,
* and Driver.CopyTexSubImage1D().
*/
void
-_mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_texsubimage1d(struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint width,
GLenum format, GLenum type, const void *pixels,
const struct gl_pixelstore_attrib *packing,
@@ -4200,7 +4247,7 @@ _mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level,
* and Driver.CopyTexSubImage2D().
*/
void
-_mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_texsubimage2d(struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset,
GLint width, GLint height,
GLenum format, GLenum type, const void *pixels,
@@ -4238,7 +4285,7 @@ _mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level,
* and Driver.CopyTexSubImage3D().
*/
void
-_mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_texsubimage3d(struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLint width, GLint height, GLint depth,
GLenum format, GLenum type, const void *pixels,
@@ -4276,7 +4323,7 @@ _mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level,
* Fallback for Driver.CompressedTexImage1D()
*/
void
-_mesa_store_compressed_teximage1d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_compressed_teximage1d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint border,
GLsizei imageSize, const GLvoid *data,
@@ -4299,7 +4346,7 @@ _mesa_store_compressed_teximage1d(GLcontext *ctx, GLenum target, GLint level,
* Fallback for Driver.CompressedTexImage2D()
*/
void
-_mesa_store_compressed_teximage2d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_compressed_teximage2d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint border,
GLsizei imageSize, const GLvoid *data,
@@ -4343,7 +4390,7 @@ _mesa_store_compressed_teximage2d(GLcontext *ctx, GLenum target, GLint level,
* Fallback for Driver.CompressedTexImage3D()
*/
void
-_mesa_store_compressed_teximage3d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_compressed_teximage3d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint depth,
GLint border,
@@ -4368,7 +4415,7 @@ _mesa_store_compressed_teximage3d(GLcontext *ctx, GLenum target, GLint level,
* Fallback for Driver.CompressedTexSubImage1D()
*/
void
-_mesa_store_compressed_texsubimage1d(GLcontext *ctx, GLenum target,
+_mesa_store_compressed_texsubimage1d(struct gl_context *ctx, GLenum target,
GLint level,
GLint xoffset, GLsizei width,
GLenum format,
@@ -4391,7 +4438,7 @@ _mesa_store_compressed_texsubimage1d(GLcontext *ctx, GLenum target,
* Fallback for Driver.CompressedTexSubImage2D()
*/
void
-_mesa_store_compressed_texsubimage2d(GLcontext *ctx, GLenum target,
+_mesa_store_compressed_texsubimage2d(struct gl_context *ctx, GLenum target,
GLint level,
GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height,
@@ -4452,7 +4499,7 @@ _mesa_store_compressed_texsubimage2d(GLcontext *ctx, GLenum target,
* Fallback for Driver.CompressedTexSubImage3D()
*/
void
-_mesa_store_compressed_texsubimage3d(GLcontext *ctx, GLenum target,
+_mesa_store_compressed_texsubimage3d(struct gl_context *ctx, GLenum target,
GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLsizei width, GLsizei height, GLsizei depth,
diff --git a/src/mesa/main/texstore.h b/src/mesa/main/texstore.h
index 3211086dd63..177ede423f5 100644
--- a/src/mesa/main/texstore.h
+++ b/src/mesa/main/texstore.h
@@ -56,7 +56,7 @@
* \param srcPacking source image packing parameters
*/
#define TEXSTORE_PARAMS \
- GLcontext *ctx, GLuint dims, \
+ struct gl_context *ctx, GLuint dims, \
GLenum baseInternalFormat, \
gl_format dstFormat, \
GLvoid *dstAddr, \
@@ -73,7 +73,7 @@ _mesa_texstore(TEXSTORE_PARAMS);
extern GLchan *
-_mesa_make_temp_chan_image(GLcontext *ctx, GLuint dims,
+_mesa_make_temp_chan_image(struct gl_context *ctx, GLuint dims,
GLenum logicalBaseFormat,
GLenum textureBaseFormat,
GLint srcWidth, GLint srcHeight, GLint srcDepth,
@@ -83,7 +83,7 @@ _mesa_make_temp_chan_image(GLcontext *ctx, GLuint dims,
extern void
-_mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_teximage1d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint border,
GLenum format, GLenum type, const GLvoid *pixels,
@@ -93,7 +93,7 @@ _mesa_store_teximage1d(GLcontext *ctx, GLenum target, GLint level,
extern void
-_mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_teximage2d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint border,
GLenum format, GLenum type, const GLvoid *pixels,
@@ -103,7 +103,7 @@ _mesa_store_teximage2d(GLcontext *ctx, GLenum target, GLint level,
extern void
-_mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_teximage3d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint depth, GLint border,
GLenum format, GLenum type, const GLvoid *pixels,
@@ -113,7 +113,7 @@ _mesa_store_teximage3d(GLcontext *ctx, GLenum target, GLint level,
extern void
-_mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_texsubimage1d(struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint width,
GLenum format, GLenum type, const GLvoid *pixels,
const struct gl_pixelstore_attrib *packing,
@@ -122,7 +122,7 @@ _mesa_store_texsubimage1d(GLcontext *ctx, GLenum target, GLint level,
extern void
-_mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_texsubimage2d(struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset,
GLint width, GLint height,
GLenum format, GLenum type, const GLvoid *pixels,
@@ -132,7 +132,7 @@ _mesa_store_texsubimage2d(GLcontext *ctx, GLenum target, GLint level,
extern void
-_mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_texsubimage3d(struct gl_context *ctx, GLenum target, GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLint width, GLint height, GLint depth,
GLenum format, GLenum type, const GLvoid *pixels,
@@ -142,7 +142,7 @@ _mesa_store_texsubimage3d(GLcontext *ctx, GLenum target, GLint level,
extern void
-_mesa_store_compressed_teximage1d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_compressed_teximage1d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint border,
GLsizei imageSize, const GLvoid *data,
@@ -150,7 +150,7 @@ _mesa_store_compressed_teximage1d(GLcontext *ctx, GLenum target, GLint level,
struct gl_texture_image *texImage);
extern void
-_mesa_store_compressed_teximage2d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_compressed_teximage2d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint border,
GLsizei imageSize, const GLvoid *data,
@@ -158,7 +158,7 @@ _mesa_store_compressed_teximage2d(GLcontext *ctx, GLenum target, GLint level,
struct gl_texture_image *texImage);
extern void
-_mesa_store_compressed_teximage3d(GLcontext *ctx, GLenum target, GLint level,
+_mesa_store_compressed_teximage3d(struct gl_context *ctx, GLenum target, GLint level,
GLint internalFormat,
GLint width, GLint height, GLint depth,
GLint border,
@@ -168,7 +168,7 @@ _mesa_store_compressed_teximage3d(GLcontext *ctx, GLenum target, GLint level,
extern void
-_mesa_store_compressed_texsubimage1d(GLcontext *ctx, GLenum target,
+_mesa_store_compressed_texsubimage1d(struct gl_context *ctx, GLenum target,
GLint level,
GLint xoffset, GLsizei width,
GLenum format,
@@ -177,7 +177,7 @@ _mesa_store_compressed_texsubimage1d(GLcontext *ctx, GLenum target,
struct gl_texture_image *texImage);
extern void
-_mesa_store_compressed_texsubimage2d(GLcontext *ctx, GLenum target,
+_mesa_store_compressed_texsubimage2d(struct gl_context *ctx, GLenum target,
GLint level,
GLint xoffset, GLint yoffset,
GLsizei width, GLsizei height,
@@ -187,7 +187,7 @@ _mesa_store_compressed_texsubimage2d(GLcontext *ctx, GLenum target,
struct gl_texture_image *texImage);
extern void
-_mesa_store_compressed_texsubimage3d(GLcontext *ctx, GLenum target,
+_mesa_store_compressed_texsubimage3d(struct gl_context *ctx, GLenum target,
GLint level,
GLint xoffset, GLint yoffset, GLint zoffset,
GLsizei width, GLsizei height, GLsizei depth,
@@ -198,20 +198,20 @@ _mesa_store_compressed_texsubimage3d(GLcontext *ctx, GLenum target,
extern const GLvoid *
-_mesa_validate_pbo_teximage(GLcontext *ctx, GLuint dimensions,
+_mesa_validate_pbo_teximage(struct gl_context *ctx, GLuint dimensions,
GLsizei width, GLsizei height, GLsizei depth,
GLenum format, GLenum type, const GLvoid *pixels,
const struct gl_pixelstore_attrib *unpack,
const char *funcName);
extern const GLvoid *
-_mesa_validate_pbo_compressed_teximage(GLcontext *ctx,
+_mesa_validate_pbo_compressed_teximage(struct gl_context *ctx,
GLsizei imageSize, const GLvoid *pixels,
const struct gl_pixelstore_attrib *packing,
const char *funcName);
extern void
-_mesa_unmap_teximage_pbo(GLcontext *ctx,
+_mesa_unmap_teximage_pbo(struct gl_context *ctx,
const struct gl_pixelstore_attrib *unpack);
diff --git a/src/mesa/main/transformfeedback.c b/src/mesa/main/transformfeedback.c
index 5c8c1fd225f..d297b5ed712 100644
--- a/src/mesa/main/transformfeedback.c
+++ b/src/mesa/main/transformfeedback.c
@@ -95,7 +95,7 @@ reference_transform_feedback_object(struct gl_transform_feedback_object **ptr,
* \return GL_TRUE if the mode is OK, GL_FALSE otherwise.
*/
GLboolean
-_mesa_validate_primitive_mode(GLcontext *ctx, GLenum mode)
+_mesa_validate_primitive_mode(struct gl_context *ctx, GLenum mode)
{
if (ctx->TransformFeedback.CurrentObject->Active) {
switch (mode) {
@@ -120,7 +120,7 @@ _mesa_validate_primitive_mode(GLcontext *ctx, GLenum mode)
* \return GL_TRUE for success, GL_FALSE if error
*/
GLboolean
-_mesa_validate_transform_feedback_buffers(GLcontext *ctx)
+_mesa_validate_transform_feedback_buffers(struct gl_context *ctx)
{
/* XXX to do */
return GL_TRUE;
@@ -132,7 +132,7 @@ _mesa_validate_transform_feedback_buffers(GLcontext *ctx)
* Per-context init for transform feedback.
*/
void
-_mesa_init_transform_feedback(GLcontext *ctx)
+_mesa_init_transform_feedback(struct gl_context *ctx)
{
/* core mesa expects this, even a dummy one, to be available */
ASSERT(ctx->Driver.NewTransformFeedback);
@@ -162,7 +162,7 @@ _mesa_init_transform_feedback(GLcontext *ctx)
static void
delete_cb(GLuint key, void *data, void *userData)
{
- GLcontext *ctx = (GLcontext *) userData;
+ struct gl_context *ctx = (struct gl_context *) userData;
struct gl_transform_feedback_object *obj =
(struct gl_transform_feedback_object *) data;
@@ -174,7 +174,7 @@ delete_cb(GLuint key, void *data, void *userData)
* Per-context free/clean-up for transform feedback.
*/
void
-_mesa_free_transform_feedback(GLcontext *ctx)
+_mesa_free_transform_feedback(struct gl_context *ctx)
{
/* core mesa expects this, even a dummy one, to be available */
ASSERT(ctx->Driver.NewTransformFeedback);
@@ -200,15 +200,15 @@ _mesa_free_transform_feedback(GLcontext *ctx)
/* forward declarations */
static struct gl_transform_feedback_object *
-new_transform_feedback(GLcontext *ctx, GLuint name);
+new_transform_feedback(struct gl_context *ctx, GLuint name);
static void
-delete_transform_feedback(GLcontext *ctx,
+delete_transform_feedback(struct gl_context *ctx,
struct gl_transform_feedback_object *obj);
/* dummy per-context init/clean-up for transform feedback */
void
-_mesa_init_transform_feedback(GLcontext *ctx)
+_mesa_init_transform_feedback(struct gl_context *ctx)
{
ctx->TransformFeedback.DefaultObject = new_transform_feedback(ctx, 0);
ctx->TransformFeedback.CurrentObject = ctx->TransformFeedback.DefaultObject;
@@ -218,7 +218,7 @@ _mesa_init_transform_feedback(GLcontext *ctx)
}
void
-_mesa_free_transform_feedback(GLcontext *ctx)
+_mesa_free_transform_feedback(struct gl_context *ctx)
{
_mesa_reference_buffer_object(ctx,
&ctx->TransformFeedback.CurrentBuffer,
@@ -232,7 +232,7 @@ _mesa_free_transform_feedback(GLcontext *ctx)
/** Default fallback for ctx->Driver.NewTransformFeedback() */
static struct gl_transform_feedback_object *
-new_transform_feedback(GLcontext *ctx, GLuint name)
+new_transform_feedback(struct gl_context *ctx, GLuint name)
{
struct gl_transform_feedback_object *obj;
obj = CALLOC_STRUCT(gl_transform_feedback_object);
@@ -245,7 +245,7 @@ new_transform_feedback(GLcontext *ctx, GLuint name)
/** Default fallback for ctx->Driver.DeleteTransformFeedback() */
static void
-delete_transform_feedback(GLcontext *ctx,
+delete_transform_feedback(struct gl_context *ctx,
struct gl_transform_feedback_object *obj)
{
GLuint i;
@@ -263,7 +263,7 @@ delete_transform_feedback(GLcontext *ctx,
/** Default fallback for ctx->Driver.BeginTransformFeedback() */
static void
-begin_transform_feedback(GLcontext *ctx, GLenum mode,
+begin_transform_feedback(struct gl_context *ctx, GLenum mode,
struct gl_transform_feedback_object *obj)
{
/* nop */
@@ -271,7 +271,7 @@ begin_transform_feedback(GLcontext *ctx, GLenum mode,
/** Default fallback for ctx->Driver.EndTransformFeedback() */
static void
-end_transform_feedback(GLcontext *ctx,
+end_transform_feedback(struct gl_context *ctx,
struct gl_transform_feedback_object *obj)
{
/* nop */
@@ -279,7 +279,7 @@ end_transform_feedback(GLcontext *ctx,
/** Default fallback for ctx->Driver.PauseTransformFeedback() */
static void
-pause_transform_feedback(GLcontext *ctx,
+pause_transform_feedback(struct gl_context *ctx,
struct gl_transform_feedback_object *obj)
{
/* nop */
@@ -287,7 +287,7 @@ pause_transform_feedback(GLcontext *ctx,
/** Default fallback for ctx->Driver.ResumeTransformFeedback() */
static void
-resume_transform_feedback(GLcontext *ctx,
+resume_transform_feedback(struct gl_context *ctx,
struct gl_transform_feedback_object *obj)
{
/* nop */
@@ -295,7 +295,7 @@ resume_transform_feedback(GLcontext *ctx,
/** Default fallback for ctx->Driver.DrawTransformFeedback() */
static void
-draw_transform_feedback(GLcontext *ctx, GLenum mode,
+draw_transform_feedback(struct gl_context *ctx, GLenum mode,
struct gl_transform_feedback_object *obj)
{
/* XXX to do */
@@ -399,7 +399,7 @@ _mesa_EndTransformFeedback(void)
* Helper used by BindBufferRange() and BindBufferBase().
*/
static void
-bind_buffer_range(GLcontext *ctx, GLuint index,
+bind_buffer_range(struct gl_context *ctx, GLuint index,
struct gl_buffer_object *bufObj,
GLintptr offset, GLsizeiptr size)
{
@@ -698,7 +698,7 @@ _mesa_GetTransformFeedbackVarying(GLuint program, GLuint index,
static struct gl_transform_feedback_object *
-lookup_transform_feedback_object(GLcontext *ctx, GLuint name)
+lookup_transform_feedback_object(struct gl_context *ctx, GLuint name)
{
if (name == 0) {
return ctx->TransformFeedback.DefaultObject;
diff --git a/src/mesa/main/transformfeedback.h b/src/mesa/main/transformfeedback.h
index 4d38522d6d9..752cd4e201f 100644
--- a/src/mesa/main/transformfeedback.h
+++ b/src/mesa/main/transformfeedback.h
@@ -29,18 +29,18 @@
extern void
-_mesa_init_transform_feedback(GLcontext *ctx);
+_mesa_init_transform_feedback(struct gl_context *ctx);
extern void
-_mesa_free_transform_feedback(GLcontext *ctx);
+_mesa_free_transform_feedback(struct gl_context *ctx);
#if FEATURE_EXT_transform_feedback
extern GLboolean
-_mesa_validate_primitive_mode(GLcontext *ctx, GLenum mode);
+_mesa_validate_primitive_mode(struct gl_context *ctx, GLenum mode);
extern GLboolean
-_mesa_validate_transform_feedback_buffers(GLcontext *ctx);
+_mesa_validate_transform_feedback_buffers(struct gl_context *ctx);
extern void
@@ -106,13 +106,13 @@ _mesa_DrawTransformFeedback(GLenum mode, GLuint name);
#else /* FEATURE_EXT_transform_feedback */
static INLINE GLboolean
-_mesa_validate_primitive_mode(GLcontext *ctx, GLenum mode)
+_mesa_validate_primitive_mode(struct gl_context *ctx, GLenum mode)
{
return GL_TRUE;
}
static INLINE GLboolean
-_mesa_validate_transform_feedback_buffers(GLcontext *ctx)
+_mesa_validate_transform_feedback_buffers(struct gl_context *ctx)
{
return GL_TRUE;
}
diff --git a/src/mesa/main/uniforms.c b/src/mesa/main/uniforms.c
index 87ce6e49388..b5bae0337b2 100644
--- a/src/mesa/main/uniforms.c
+++ b/src/mesa/main/uniforms.c
@@ -384,7 +384,7 @@ get_uniform_parameter(const struct gl_shader_program *shProg, GLuint index)
* Called by glGetActiveUniform().
*/
static void
-_mesa_get_active_uniform(GLcontext *ctx, GLuint program, GLuint index,
+_mesa_get_active_uniform(struct gl_context *ctx, GLuint program, GLuint index,
GLsizei maxLength, GLsizei *length, GLint *size,
GLenum *type, GLchar *nameOut)
{
@@ -527,7 +527,7 @@ get_uniform_rows_cols(const struct gl_program_parameter *p,
* to the shader program and return the program parameter position.
*/
static void
-lookup_uniform_parameter(GLcontext *ctx, GLuint program, GLint location,
+lookup_uniform_parameter(struct gl_context *ctx, GLuint program, GLint location,
struct gl_program **progOut, GLint *paramPosOut)
{
struct gl_shader_program *shProg
@@ -620,7 +620,7 @@ split_location_offset(GLint *location, GLint *offset)
* Called via glGetUniformfv().
*/
static void
-_mesa_get_uniformfv(GLcontext *ctx, GLuint program, GLint location,
+_mesa_get_uniformfv(struct gl_context *ctx, GLuint program, GLint location,
GLfloat *params)
{
struct gl_program *prog;
@@ -653,7 +653,7 @@ _mesa_get_uniformfv(GLcontext *ctx, GLuint program, GLint location,
* \sa _mesa_get_uniformfv, only difference is a cast.
*/
static void
-_mesa_get_uniformiv(GLcontext *ctx, GLuint program, GLint location,
+_mesa_get_uniformiv(struct gl_context *ctx, GLuint program, GLint location,
GLint *params)
{
struct gl_program *prog;
@@ -688,7 +688,7 @@ _mesa_get_uniformiv(GLcontext *ctx, GLuint program, GLint location,
* offset (used for arrays, structs).
*/
GLint
-_mesa_get_uniform_location(GLcontext *ctx, struct gl_shader_program *shProg,
+_mesa_get_uniform_location(struct gl_context *ctx, struct gl_shader_program *shProg,
const GLchar *name)
{
GLint offset = 0, location = -1;
@@ -837,7 +837,7 @@ compatible_types(GLenum userType, GLenum targetType)
* \param values the new values, of datatype 'type'
*/
static void
-set_program_uniform(GLcontext *ctx, struct gl_program *program,
+set_program_uniform(struct gl_context *ctx, struct gl_program *program,
GLint index, GLint offset,
GLenum type, GLsizei count, GLint elems,
const void *values)
@@ -980,7 +980,7 @@ set_program_uniform(GLcontext *ctx, struct gl_program *program,
* Called via glUniform*() functions.
*/
void
-_mesa_uniform(GLcontext *ctx, struct gl_shader_program *shProg,
+_mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shProg,
GLint location, GLsizei count,
const GLvoid *values, GLenum type)
{
@@ -1084,7 +1084,7 @@ _mesa_uniform(GLcontext *ctx, struct gl_shader_program *shProg,
* Set a matrix-valued program parameter.
*/
static void
-set_program_uniform_matrix(GLcontext *ctx, struct gl_program *program,
+set_program_uniform_matrix(struct gl_context *ctx, struct gl_program *program,
GLuint index, GLuint offset,
GLuint count, GLuint rows, GLuint cols,
GLboolean transpose, const GLfloat *values)
@@ -1152,7 +1152,7 @@ set_program_uniform_matrix(GLcontext *ctx, struct gl_program *program,
* Note: cols=2, rows=4 ==> array[2] of vec4
*/
void
-_mesa_uniform_matrix(GLcontext *ctx, struct gl_shader_program *shProg,
+_mesa_uniform_matrix(struct gl_context *ctx, struct gl_shader_program *shProg,
GLint cols, GLint rows,
GLint location, GLsizei count,
GLboolean transpose, const GLfloat *values)
@@ -1227,7 +1227,7 @@ void GLAPIENTRY
_mesa_Uniform1fARB(GLint location, GLfloat v0)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, &v0, GL_FLOAT);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, &v0, GL_FLOAT);
}
void GLAPIENTRY
@@ -1237,7 +1237,7 @@ _mesa_Uniform2fARB(GLint location, GLfloat v0, GLfloat v1)
GLfloat v[2];
v[0] = v0;
v[1] = v1;
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, v, GL_FLOAT_VEC2);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, v, GL_FLOAT_VEC2);
}
void GLAPIENTRY
@@ -1248,7 +1248,7 @@ _mesa_Uniform3fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)
v[0] = v0;
v[1] = v1;
v[2] = v2;
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, v, GL_FLOAT_VEC3);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, v, GL_FLOAT_VEC3);
}
void GLAPIENTRY
@@ -1261,14 +1261,14 @@ _mesa_Uniform4fARB(GLint location, GLfloat v0, GLfloat v1, GLfloat v2,
v[1] = v1;
v[2] = v2;
v[3] = v3;
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, v, GL_FLOAT_VEC4);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, v, GL_FLOAT_VEC4);
}
void GLAPIENTRY
_mesa_Uniform1iARB(GLint location, GLint v0)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, &v0, GL_INT);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, &v0, GL_INT);
}
void GLAPIENTRY
@@ -1278,7 +1278,7 @@ _mesa_Uniform2iARB(GLint location, GLint v0, GLint v1)
GLint v[2];
v[0] = v0;
v[1] = v1;
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, v, GL_INT_VEC2);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, v, GL_INT_VEC2);
}
void GLAPIENTRY
@@ -1289,7 +1289,7 @@ _mesa_Uniform3iARB(GLint location, GLint v0, GLint v1, GLint v2)
v[0] = v0;
v[1] = v1;
v[2] = v2;
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, v, GL_INT_VEC3);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, v, GL_INT_VEC3);
}
void GLAPIENTRY
@@ -1301,63 +1301,63 @@ _mesa_Uniform4iARB(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)
v[1] = v1;
v[2] = v2;
v[3] = v3;
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, v, GL_INT_VEC4);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, v, GL_INT_VEC4);
}
void GLAPIENTRY
_mesa_Uniform1fvARB(GLint location, GLsizei count, const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_FLOAT);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_FLOAT);
}
void GLAPIENTRY
_mesa_Uniform2fvARB(GLint location, GLsizei count, const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_FLOAT_VEC2);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_FLOAT_VEC2);
}
void GLAPIENTRY
_mesa_Uniform3fvARB(GLint location, GLsizei count, const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_FLOAT_VEC3);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_FLOAT_VEC3);
}
void GLAPIENTRY
_mesa_Uniform4fvARB(GLint location, GLsizei count, const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_FLOAT_VEC4);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_FLOAT_VEC4);
}
void GLAPIENTRY
_mesa_Uniform1ivARB(GLint location, GLsizei count, const GLint * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_INT);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_INT);
}
void GLAPIENTRY
_mesa_Uniform2ivARB(GLint location, GLsizei count, const GLint * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_INT_VEC2);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_INT_VEC2);
}
void GLAPIENTRY
_mesa_Uniform3ivARB(GLint location, GLsizei count, const GLint * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_INT_VEC3);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_INT_VEC3);
}
void GLAPIENTRY
_mesa_Uniform4ivARB(GLint location, GLsizei count, const GLint * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_INT_VEC4);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_INT_VEC4);
}
@@ -1366,7 +1366,7 @@ void GLAPIENTRY
_mesa_Uniform1ui(GLint location, GLuint v0)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, &v0, GL_UNSIGNED_INT);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, &v0, GL_UNSIGNED_INT);
}
void GLAPIENTRY
@@ -1376,7 +1376,7 @@ _mesa_Uniform2ui(GLint location, GLuint v0, GLuint v1)
GLuint v[2];
v[0] = v0;
v[1] = v1;
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, v, GL_UNSIGNED_INT_VEC2);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, v, GL_UNSIGNED_INT_VEC2);
}
void GLAPIENTRY
@@ -1387,7 +1387,7 @@ _mesa_Uniform3ui(GLint location, GLuint v0, GLuint v1, GLuint v2)
v[0] = v0;
v[1] = v1;
v[2] = v2;
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, v, GL_UNSIGNED_INT_VEC3);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, v, GL_UNSIGNED_INT_VEC3);
}
void GLAPIENTRY
@@ -1399,35 +1399,35 @@ _mesa_Uniform4ui(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)
v[1] = v1;
v[2] = v2;
v[3] = v3;
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, 1, v, GL_UNSIGNED_INT_VEC4);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, 1, v, GL_UNSIGNED_INT_VEC4);
}
void GLAPIENTRY
_mesa_Uniform1uiv(GLint location, GLsizei count, const GLuint *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_UNSIGNED_INT);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_UNSIGNED_INT);
}
void GLAPIENTRY
_mesa_Uniform2uiv(GLint location, GLsizei count, const GLuint *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_UNSIGNED_INT_VEC2);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_UNSIGNED_INT_VEC2);
}
void GLAPIENTRY
_mesa_Uniform3uiv(GLint location, GLsizei count, const GLuint *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_UNSIGNED_INT_VEC3);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_UNSIGNED_INT_VEC3);
}
void GLAPIENTRY
_mesa_Uniform4uiv(GLint location, GLsizei count, const GLuint *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform(ctx, ctx->Shader.CurrentProgram, location, count, value, GL_UNSIGNED_INT_VEC4);
+ _mesa_uniform(ctx, ctx->Shader.ActiveProgram, location, count, value, GL_UNSIGNED_INT_VEC4);
}
@@ -1437,7 +1437,7 @@ _mesa_UniformMatrix2fvARB(GLint location, GLsizei count, GLboolean transpose,
const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform_matrix(ctx, ctx->Shader.CurrentProgram,
+ _mesa_uniform_matrix(ctx, ctx->Shader.ActiveProgram,
2, 2, location, count, transpose, value);
}
@@ -1446,7 +1446,7 @@ _mesa_UniformMatrix3fvARB(GLint location, GLsizei count, GLboolean transpose,
const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform_matrix(ctx, ctx->Shader.CurrentProgram,
+ _mesa_uniform_matrix(ctx, ctx->Shader.ActiveProgram,
3, 3, location, count, transpose, value);
}
@@ -1455,7 +1455,7 @@ _mesa_UniformMatrix4fvARB(GLint location, GLsizei count, GLboolean transpose,
const GLfloat * value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform_matrix(ctx, ctx->Shader.CurrentProgram,
+ _mesa_uniform_matrix(ctx, ctx->Shader.ActiveProgram,
4, 4, location, count, transpose, value);
}
@@ -1468,7 +1468,7 @@ _mesa_UniformMatrix2x3fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform_matrix(ctx, ctx->Shader.CurrentProgram,
+ _mesa_uniform_matrix(ctx, ctx->Shader.ActiveProgram,
2, 3, location, count, transpose, value);
}
@@ -1477,7 +1477,7 @@ _mesa_UniformMatrix3x2fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform_matrix(ctx, ctx->Shader.CurrentProgram,
+ _mesa_uniform_matrix(ctx, ctx->Shader.ActiveProgram,
3, 2, location, count, transpose, value);
}
@@ -1486,7 +1486,7 @@ _mesa_UniformMatrix2x4fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform_matrix(ctx, ctx->Shader.CurrentProgram,
+ _mesa_uniform_matrix(ctx, ctx->Shader.ActiveProgram,
2, 4, location, count, transpose, value);
}
@@ -1495,7 +1495,7 @@ _mesa_UniformMatrix4x2fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform_matrix(ctx, ctx->Shader.CurrentProgram,
+ _mesa_uniform_matrix(ctx, ctx->Shader.ActiveProgram,
4, 2, location, count, transpose, value);
}
@@ -1504,7 +1504,7 @@ _mesa_UniformMatrix3x4fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform_matrix(ctx, ctx->Shader.CurrentProgram,
+ _mesa_uniform_matrix(ctx, ctx->Shader.ActiveProgram,
3, 4, location, count, transpose, value);
}
@@ -1513,7 +1513,7 @@ _mesa_UniformMatrix4x3fv(GLint location, GLsizei count, GLboolean transpose,
const GLfloat *value)
{
GET_CURRENT_CONTEXT(ctx);
- _mesa_uniform_matrix(ctx, ctx->Shader.CurrentProgram,
+ _mesa_uniform_matrix(ctx, ctx->Shader.ActiveProgram,
4, 3, location, count, transpose, value);
}
diff --git a/src/mesa/main/uniforms.h b/src/mesa/main/uniforms.h
index ac2cf30d97e..64474363051 100644
--- a/src/mesa/main/uniforms.h
+++ b/src/mesa/main/uniforms.h
@@ -152,16 +152,16 @@ extern GLint GLAPIENTRY
_mesa_GetUniformLocationARB(GLhandleARB, const GLcharARB *);
GLint
-_mesa_get_uniform_location(GLcontext *ctx, struct gl_shader_program *shProg,
+_mesa_get_uniform_location(struct gl_context *ctx, struct gl_shader_program *shProg,
const GLchar *name);
void
-_mesa_uniform(GLcontext *ctx, struct gl_shader_program *shader_program,
+_mesa_uniform(struct gl_context *ctx, struct gl_shader_program *shader_program,
GLint location, GLsizei count,
const GLvoid *values, GLenum type);
void
-_mesa_uniform_matrix(GLcontext *ctx, struct gl_shader_program *shProg,
+_mesa_uniform_matrix(struct gl_context *ctx, struct gl_shader_program *shProg,
GLint cols, GLint rows,
GLint location, GLsizei count,
GLboolean transpose, const GLfloat *values);
diff --git a/src/mesa/main/varray.c b/src/mesa/main/varray.c
index d19de7ff62a..56749355cdf 100644
--- a/src/mesa/main/varray.c
+++ b/src/mesa/main/varray.c
@@ -54,7 +54,7 @@
* \param ptr the address (or offset inside VBO) of the array data
*/
static void
-update_array(GLcontext *ctx, struct gl_client_array *array,
+update_array(struct gl_context *ctx, struct gl_client_array *array,
GLbitfield dirtyBit, GLsizei elementSize,
GLint size, GLenum type, GLenum format,
GLsizei stride, GLboolean normalized, const GLvoid *ptr)
@@ -778,7 +778,7 @@ _mesa_DisableVertexAttribArrayARB(GLuint index)
* not handle the 4-element GL_CURRENT_VERTEX_ATTRIB_ARB query.
*/
static GLuint
-get_vertex_array_attrib(GLcontext *ctx, GLuint index, GLenum pname,
+get_vertex_array_attrib(struct gl_context *ctx, GLuint index, GLenum pname,
const char *caller)
{
const struct gl_client_array *array;
@@ -1315,15 +1315,16 @@ _mesa_MultiModeDrawElementsIBM( const GLenum * mode, const GLsizei * count,
/**
- * GL 3.1 glPrimitiveRestartIndex().
+ * GL_NV_primitive_restart and GL 3.1
*/
void GLAPIENTRY
_mesa_PrimitiveRestartIndex(GLuint index)
{
GET_CURRENT_CONTEXT(ctx);
- if (ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glPrimitiveRestartIndex()");
+ if (!ctx->Extensions.NV_primitive_restart &&
+ ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glPrimitiveRestartIndexNV()");
return;
}
@@ -1339,7 +1340,7 @@ _mesa_PrimitiveRestartIndex(GLuint index)
* Copy one client vertex array to another.
*/
void
-_mesa_copy_client_array(GLcontext *ctx,
+_mesa_copy_client_array(struct gl_context *ctx,
struct gl_client_array *dst,
struct gl_client_array *src)
{
@@ -1380,7 +1381,7 @@ print_array(const char *name, GLint index, const struct gl_client_array *array)
* Print current vertex object/array info. For debug.
*/
void
-_mesa_print_arrays(GLcontext *ctx)
+_mesa_print_arrays(struct gl_context *ctx)
{
struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
GLuint i;
@@ -1408,7 +1409,7 @@ _mesa_print_arrays(GLcontext *ctx)
* Initialize vertex array state for given context.
*/
void
-_mesa_init_varray(GLcontext *ctx)
+_mesa_init_varray(struct gl_context *ctx)
{
ctx->Array.DefaultArrayObj = _mesa_new_array_object(ctx, 0);
_mesa_reference_array_object(ctx, &ctx->Array.ArrayObj,
@@ -1426,7 +1427,7 @@ static void
delete_arrayobj_cb(GLuint id, void *data, void *userData)
{
struct gl_array_object *arrayObj = (struct gl_array_object *) data;
- GLcontext *ctx = (GLcontext *) userData;
+ struct gl_context *ctx = (struct gl_context *) userData;
_mesa_delete_array_object(ctx, arrayObj);
}
@@ -1435,7 +1436,7 @@ delete_arrayobj_cb(GLuint id, void *data, void *userData)
* Free vertex array state for given context.
*/
void
-_mesa_free_varray_data(GLcontext *ctx)
+_mesa_free_varray_data(struct gl_context *ctx)
{
_mesa_HashDeleteAll(ctx->Array.Objects, delete_arrayobj_cb, ctx);
_mesa_DeleteHashTable(ctx->Array.Objects);
diff --git a/src/mesa/main/varray.h b/src/mesa/main/varray.h
index c7c3e3ec70c..a5fa33fa00e 100644
--- a/src/mesa/main/varray.h
+++ b/src/mesa/main/varray.h
@@ -216,19 +216,19 @@ _mesa_PrimitiveRestartIndex(GLuint index);
extern void
-_mesa_copy_client_array(GLcontext *ctx,
+_mesa_copy_client_array(struct gl_context *ctx,
struct gl_client_array *dst,
struct gl_client_array *src);
extern void
-_mesa_print_arrays(GLcontext *ctx);
+_mesa_print_arrays(struct gl_context *ctx);
extern void
-_mesa_init_varray( GLcontext * ctx );
+_mesa_init_varray( struct gl_context * ctx );
extern void
-_mesa_free_varray_data(GLcontext *ctx);
+_mesa_free_varray_data(struct gl_context *ctx);
#else
diff --git a/src/mesa/main/version.c b/src/mesa/main/version.c
index 692e8733c60..69a28da84c6 100644
--- a/src/mesa/main/version.c
+++ b/src/mesa/main/version.c
@@ -32,7 +32,7 @@
* Return major and minor version numbers.
*/
static void
-compute_version(GLcontext *ctx)
+compute_version(struct gl_context *ctx)
{
GLuint major, minor;
static const int max = 100;
@@ -187,7 +187,7 @@ compute_version(GLcontext *ctx)
}
static void
-compute_version_es1(GLcontext *ctx)
+compute_version_es1(struct gl_context *ctx)
{
static const int max = 100;
@@ -223,7 +223,7 @@ compute_version_es1(GLcontext *ctx)
}
static void
-compute_version_es2(GLcontext *ctx)
+compute_version_es2(struct gl_context *ctx)
{
static const int max = 100;
@@ -264,7 +264,7 @@ compute_version_es2(GLcontext *ctx)
* or to perform version check for GLX_ARB_create_context_profile.
*/
void
-_mesa_compute_version(GLcontext *ctx)
+_mesa_compute_version(struct gl_context *ctx)
{
if (ctx->VersionMajor)
return;
diff --git a/src/mesa/main/version.h b/src/mesa/main/version.h
index 004036de98d..6552a3a7843 100644
--- a/src/mesa/main/version.h
+++ b/src/mesa/main/version.h
@@ -54,7 +54,7 @@
extern void
-_mesa_compute_version(GLcontext *ctx);
+_mesa_compute_version(struct gl_context *ctx);
#endif /* VERSION_H */
diff --git a/src/mesa/main/viewport.c b/src/mesa/main/viewport.c
index 309308c983b..4747022d0b4 100644
--- a/src/mesa/main/viewport.c
+++ b/src/mesa/main/viewport.c
@@ -60,7 +60,7 @@ _mesa_Viewport(GLint x, GLint y, GLsizei width, GLsizei height)
* \param height height of the viewport rectangle.
*/
void
-_mesa_set_viewport(GLcontext *ctx, GLint x, GLint y,
+_mesa_set_viewport(struct gl_context *ctx, GLint x, GLint y,
GLsizei width, GLsizei height)
{
if (MESA_VERBOSE & VERBOSE_API)
@@ -151,7 +151,7 @@ _mesa_DepthRange(GLclampd nearval, GLclampd farval)
* Initialize the context viewport attribute group.
* \param ctx the GL context.
*/
-void _mesa_init_viewport(GLcontext *ctx)
+void _mesa_init_viewport(struct gl_context *ctx)
{
GLfloat depthMax = 65535.0F; /* sorf of arbitrary */
@@ -173,7 +173,7 @@ void _mesa_init_viewport(GLcontext *ctx)
* Free the context viewport attribute group data.
* \param ctx the GL context.
*/
-void _mesa_free_viewport_data(GLcontext *ctx)
+void _mesa_free_viewport_data(struct gl_context *ctx)
{
_math_matrix_dtr(&ctx->Viewport._WindowMap);
}
diff --git a/src/mesa/main/viewport.h b/src/mesa/main/viewport.h
index ec054a7c597..ccfa37588b8 100644
--- a/src/mesa/main/viewport.h
+++ b/src/mesa/main/viewport.h
@@ -35,7 +35,7 @@ _mesa_Viewport(GLint x, GLint y, GLsizei width, GLsizei height);
extern void
-_mesa_set_viewport(GLcontext *ctx, GLint x, GLint y,
+_mesa_set_viewport(struct gl_context *ctx, GLint x, GLint y,
GLsizei width, GLsizei height);
@@ -44,11 +44,11 @@ _mesa_DepthRange(GLclampd nearval, GLclampd farval);
extern void
-_mesa_init_viewport(GLcontext *ctx);
+_mesa_init_viewport(struct gl_context *ctx);
extern void
-_mesa_free_viewport_data(GLcontext *ctx);
+_mesa_free_viewport_data(struct gl_context *ctx);
#endif
diff --git a/src/mesa/main/vtxfmt.c b/src/mesa/main/vtxfmt.c
index ca352e88e6b..9236bf81a20 100644
--- a/src/mesa/main/vtxfmt.c
+++ b/src/mesa/main/vtxfmt.c
@@ -34,51 +34,11 @@
#include "vtxfmt.h"
#include "eval.h"
#include "dlist.h"
+#include "main/dispatch.h"
#if FEATURE_beginend
-
-/* The neutral vertex format. This wraps all tnl module functions,
- * verifying that the currently-installed module is valid and then
- * installing the function pointers in a lazy fashion. It records the
- * function pointers that have been swapped out, which allows a fast
- * restoration of the neutral module in almost all cases -- a typical
- * app might only require 4-6 functions to be modified from the neutral
- * baseline, and only restoring these is certainly preferable to doing
- * the entire module's 60 or so function pointers.
- */
-
-#define PRE_LOOPBACK( FUNC ) \
-{ \
- GET_CURRENT_CONTEXT(ctx); \
- struct gl_tnl_module * const tnl = &(ctx->TnlModule); \
- const int tmp_offset = _gloffset_ ## FUNC ; \
- \
- ASSERT( tnl->Current ); \
- ASSERT( tnl->SwapCount < NUM_VERTEX_FORMAT_ENTRIES ); \
- ASSERT( tmp_offset >= 0 ); \
- \
- if (tnl->SwapCount == 0) \
- ctx->Driver.BeginVertices( ctx ); \
- \
- /* Save the swapped function's dispatch entry so it can be */ \
- /* restored later. */ \
- tnl->Swapped[tnl->SwapCount].location = & (((_glapi_proc *)ctx->Exec)[tmp_offset]); \
- tnl->Swapped[tnl->SwapCount].function = (_glapi_proc)TAG(FUNC); \
- tnl->SwapCount++; \
- \
- if ( 0 ) \
- _mesa_debug(ctx, " swapping gl" #FUNC"...\n" ); \
- \
- /* Install the tnl function pointer. */ \
- SET_ ## FUNC(ctx->Exec, tnl->Current->FUNC); \
-}
-
-#define TAG(x) neutral_##x
-#include "vtxfmt_tmp.h"
-
-
/**
* Use the per-vertex functions found in <vfmt> to initialze the given
* API dispatch table.
@@ -132,7 +92,10 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt )
SET_Begin(tab, vfmt->Begin);
SET_End(tab, vfmt->End);
+ SET_PrimitiveRestartNV(tab, vfmt->PrimitiveRestartNV);
+
SET_Rectf(tab, vfmt->Rectf);
+
SET_DrawArrays(tab, vfmt->DrawArrays);
SET_DrawElements(tab, vfmt->DrawElements);
SET_DrawRangeElements(tab, vfmt->DrawRangeElements);
@@ -165,38 +128,17 @@ install_vtxfmt( struct _glapi_table *tab, const GLvertexformat *vfmt )
}
-void _mesa_init_exec_vtxfmt( GLcontext *ctx )
+void _mesa_install_exec_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt )
{
- install_vtxfmt( ctx->Exec, &neutral_vtxfmt );
- ctx->TnlModule.SwapCount = 0;
+ if (ctx->API == API_OPENGL)
+ install_vtxfmt( ctx->Exec, vfmt );
}
-void _mesa_install_exec_vtxfmt( GLcontext *ctx, const GLvertexformat *vfmt )
+void _mesa_install_save_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt )
{
- ctx->TnlModule.Current = vfmt;
- _mesa_restore_exec_vtxfmt( ctx );
-}
-
-
-void _mesa_install_save_vtxfmt( GLcontext *ctx, const GLvertexformat *vfmt )
-{
- install_vtxfmt( ctx->Save, vfmt );
-}
-
-
-void _mesa_restore_exec_vtxfmt( GLcontext *ctx )
-{
- struct gl_tnl_module *tnl = &(ctx->TnlModule);
- GLuint i;
-
- /* Restore the neutral tnl module wrapper.
- */
- for ( i = 0 ; i < tnl->SwapCount ; i++ ) {
- *(tnl->Swapped[i].location) = tnl->Swapped[i].function;
- }
-
- tnl->SwapCount = 0;
+ if (ctx->API == API_OPENGL)
+ install_vtxfmt( ctx->Save, vfmt );
}
diff --git a/src/mesa/main/vtxfmt.h b/src/mesa/main/vtxfmt.h
index aad38b87c35..147385cee96 100644
--- a/src/mesa/main/vtxfmt.h
+++ b/src/mesa/main/vtxfmt.h
@@ -38,32 +38,18 @@
#if FEATURE_beginend
-extern void _mesa_init_exec_vtxfmt( GLcontext *ctx );
-
-extern void _mesa_install_exec_vtxfmt( GLcontext *ctx, const GLvertexformat *vfmt );
-extern void _mesa_install_save_vtxfmt( GLcontext *ctx, const GLvertexformat *vfmt );
-
-extern void _mesa_restore_exec_vtxfmt( GLcontext *ctx );
+extern void _mesa_install_exec_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt );
+extern void _mesa_install_save_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt );
#else /* FEATURE_beginend */
static INLINE void
-_mesa_init_exec_vtxfmt( GLcontext *ctx )
-{
-}
-
-static INLINE void
-_mesa_install_exec_vtxfmt( GLcontext *ctx, const GLvertexformat *vfmt )
-{
-}
-
-static INLINE void
-_mesa_install_save_vtxfmt( GLcontext *ctx, const GLvertexformat *vfmt )
+_mesa_install_exec_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt )
{
}
static INLINE void
-_mesa_restore_exec_vtxfmt( GLcontext *ctx )
+_mesa_install_save_vtxfmt( struct gl_context *ctx, const GLvertexformat *vfmt )
{
}
diff --git a/src/mesa/main/vtxfmt_tmp.h b/src/mesa/main/vtxfmt_tmp.h
deleted file mode 100644
index 9ec6ea49aa2..00000000000
--- a/src/mesa/main/vtxfmt_tmp.h
+++ /dev/null
@@ -1,603 +0,0 @@
-/*
- * Mesa 3-D graphics library
- * Version: 6.3
- *
- * Copyright (C) 1999-2004 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
- * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- * Gareth Hughes
- */
-
-#ifndef PRE_LOOPBACK
-#define PRE_LOOPBACK( FUNC )
-#endif
-
-#include "main/dispatch.h"
-
-static void GLAPIENTRY TAG(ArrayElement)( GLint i )
-{
- PRE_LOOPBACK( ArrayElement );
- CALL_ArrayElement(GET_DISPATCH(), ( i ));
-}
-
-static void GLAPIENTRY TAG(Color3f)( GLfloat r, GLfloat g, GLfloat b )
-{
- PRE_LOOPBACK( Color3f );
- CALL_Color3f(GET_DISPATCH(), ( r, g, b ));
-}
-
-static void GLAPIENTRY TAG(Color3fv)( const GLfloat *v )
-{
- PRE_LOOPBACK( Color3fv );
- CALL_Color3fv(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(Color4f)( GLfloat r, GLfloat g, GLfloat b, GLfloat a )
-{
- PRE_LOOPBACK( Color4f );
- CALL_Color4f(GET_DISPATCH(), ( r, g, b, a ));
-}
-
-static void GLAPIENTRY TAG(Color4fv)( const GLfloat *v )
-{
- PRE_LOOPBACK( Color4fv );
- CALL_Color4fv(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(EdgeFlag)( GLboolean e )
-{
- PRE_LOOPBACK( EdgeFlag );
- CALL_EdgeFlag(GET_DISPATCH(), ( e ));
-}
-
-static void GLAPIENTRY TAG(EvalCoord1f)( GLfloat s )
-{
- PRE_LOOPBACK( EvalCoord1f );
- CALL_EvalCoord1f(GET_DISPATCH(), ( s ));
-}
-
-static void GLAPIENTRY TAG(EvalCoord1fv)( const GLfloat *v )
-{
- PRE_LOOPBACK( EvalCoord1fv );
- CALL_EvalCoord1fv(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(EvalCoord2f)( GLfloat s, GLfloat t )
-{
- PRE_LOOPBACK( EvalCoord2f );
- CALL_EvalCoord2f(GET_DISPATCH(), ( s, t ));
-}
-
-static void GLAPIENTRY TAG(EvalCoord2fv)( const GLfloat *v )
-{
- PRE_LOOPBACK( EvalCoord2fv );
- CALL_EvalCoord2fv(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(EvalPoint1)( GLint i )
-{
- PRE_LOOPBACK( EvalPoint1 );
- CALL_EvalPoint1(GET_DISPATCH(), ( i ));
-}
-
-static void GLAPIENTRY TAG(EvalPoint2)( GLint i, GLint j )
-{
- PRE_LOOPBACK( EvalPoint2 );
- CALL_EvalPoint2(GET_DISPATCH(), ( i, j ));
-}
-
-static void GLAPIENTRY TAG(FogCoordfEXT)( GLfloat f )
-{
- PRE_LOOPBACK( FogCoordfEXT );
- CALL_FogCoordfEXT(GET_DISPATCH(), ( f ));
-}
-
-static void GLAPIENTRY TAG(FogCoordfvEXT)( const GLfloat *v )
-{
- PRE_LOOPBACK( FogCoordfvEXT );
- CALL_FogCoordfvEXT(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(Indexf)( GLfloat f )
-{
- PRE_LOOPBACK( Indexf );
- CALL_Indexf(GET_DISPATCH(), ( f ));
-}
-
-static void GLAPIENTRY TAG(Indexfv)( const GLfloat *v )
-{
- PRE_LOOPBACK( Indexfv );
- CALL_Indexfv(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(Materialfv)( GLenum face, GLenum pname, const GLfloat *v )
-{
- PRE_LOOPBACK( Materialfv );
- CALL_Materialfv(GET_DISPATCH(), ( face, pname, v ));
-}
-
-static void GLAPIENTRY TAG(MultiTexCoord1fARB)( GLenum target, GLfloat a )
-{
- PRE_LOOPBACK( MultiTexCoord1fARB );
- CALL_MultiTexCoord1fARB(GET_DISPATCH(), ( target, a ));
-}
-
-static void GLAPIENTRY TAG(MultiTexCoord1fvARB)( GLenum target, const GLfloat *tc )
-{
- PRE_LOOPBACK( MultiTexCoord1fvARB );
- CALL_MultiTexCoord1fvARB(GET_DISPATCH(), ( target, tc ));
-}
-
-static void GLAPIENTRY TAG(MultiTexCoord2fARB)( GLenum target, GLfloat s, GLfloat t )
-{
- PRE_LOOPBACK( MultiTexCoord2fARB );
- CALL_MultiTexCoord2fARB(GET_DISPATCH(), ( target, s, t ));
-}
-
-static void GLAPIENTRY TAG(MultiTexCoord2fvARB)( GLenum target, const GLfloat *tc )
-{
- PRE_LOOPBACK( MultiTexCoord2fvARB );
- CALL_MultiTexCoord2fvARB(GET_DISPATCH(), ( target, tc ));
-}
-
-static void GLAPIENTRY TAG(MultiTexCoord3fARB)( GLenum target, GLfloat s,
- GLfloat t, GLfloat r )
-{
- PRE_LOOPBACK( MultiTexCoord3fARB );
- CALL_MultiTexCoord3fARB(GET_DISPATCH(), ( target, s, t, r ));
-}
-
-static void GLAPIENTRY TAG(MultiTexCoord3fvARB)( GLenum target, const GLfloat *tc )
-{
- PRE_LOOPBACK( MultiTexCoord3fvARB );
- CALL_MultiTexCoord3fvARB(GET_DISPATCH(), ( target, tc ));
-}
-
-static void GLAPIENTRY TAG(MultiTexCoord4fARB)( GLenum target, GLfloat s,
- GLfloat t, GLfloat r, GLfloat q )
-{
- PRE_LOOPBACK( MultiTexCoord4fARB );
- CALL_MultiTexCoord4fARB(GET_DISPATCH(), ( target, s, t, r, q ));
-}
-
-static void GLAPIENTRY TAG(MultiTexCoord4fvARB)( GLenum target, const GLfloat *tc )
-{
- PRE_LOOPBACK( MultiTexCoord4fvARB );
- CALL_MultiTexCoord4fvARB(GET_DISPATCH(), ( target, tc ));
-}
-
-static void GLAPIENTRY TAG(Normal3f)( GLfloat x, GLfloat y, GLfloat z )
-{
- PRE_LOOPBACK( Normal3f );
- CALL_Normal3f(GET_DISPATCH(), ( x, y, z ));
-}
-
-static void GLAPIENTRY TAG(Normal3fv)( const GLfloat *v )
-{
- PRE_LOOPBACK( Normal3fv );
- CALL_Normal3fv(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(SecondaryColor3fEXT)( GLfloat r, GLfloat g, GLfloat b )
-{
- PRE_LOOPBACK( SecondaryColor3fEXT );
- CALL_SecondaryColor3fEXT(GET_DISPATCH(), ( r, g, b ));
-}
-
-static void GLAPIENTRY TAG(SecondaryColor3fvEXT)( const GLfloat *v )
-{
- PRE_LOOPBACK( SecondaryColor3fvEXT );
- CALL_SecondaryColor3fvEXT(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(TexCoord1f)( GLfloat s )
-{
- PRE_LOOPBACK( TexCoord1f );
- CALL_TexCoord1f(GET_DISPATCH(), ( s ));
-}
-
-static void GLAPIENTRY TAG(TexCoord1fv)( const GLfloat *tc )
-{
- PRE_LOOPBACK( TexCoord1fv );
- CALL_TexCoord1fv(GET_DISPATCH(), ( tc ));
-}
-
-static void GLAPIENTRY TAG(TexCoord2f)( GLfloat s, GLfloat t )
-{
- PRE_LOOPBACK( TexCoord2f );
- CALL_TexCoord2f(GET_DISPATCH(), ( s, t ));
-}
-
-static void GLAPIENTRY TAG(TexCoord2fv)( const GLfloat *tc )
-{
- PRE_LOOPBACK( TexCoord2fv );
- CALL_TexCoord2fv(GET_DISPATCH(), ( tc ));
-}
-
-static void GLAPIENTRY TAG(TexCoord3f)( GLfloat s, GLfloat t, GLfloat r )
-{
- PRE_LOOPBACK( TexCoord3f );
- CALL_TexCoord3f(GET_DISPATCH(), ( s, t, r ));
-}
-
-static void GLAPIENTRY TAG(TexCoord3fv)( const GLfloat *tc )
-{
- PRE_LOOPBACK( TexCoord3fv );
- CALL_TexCoord3fv(GET_DISPATCH(), ( tc ));
-}
-
-static void GLAPIENTRY TAG(TexCoord4f)( GLfloat s, GLfloat t, GLfloat r, GLfloat q )
-{
- PRE_LOOPBACK( TexCoord4f );
- CALL_TexCoord4f(GET_DISPATCH(), ( s, t, r, q ));
-}
-
-static void GLAPIENTRY TAG(TexCoord4fv)( const GLfloat *tc )
-{
- PRE_LOOPBACK( TexCoord4fv );
- CALL_TexCoord4fv(GET_DISPATCH(), ( tc ));
-}
-
-static void GLAPIENTRY TAG(Vertex2f)( GLfloat x, GLfloat y )
-{
- PRE_LOOPBACK( Vertex2f );
- CALL_Vertex2f(GET_DISPATCH(), ( x, y ));
-}
-
-static void GLAPIENTRY TAG(Vertex2fv)( const GLfloat *v )
-{
- PRE_LOOPBACK( Vertex2fv );
- CALL_Vertex2fv(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(Vertex3f)( GLfloat x, GLfloat y, GLfloat z )
-{
- PRE_LOOPBACK( Vertex3f );
- CALL_Vertex3f(GET_DISPATCH(), ( x, y, z ));
-}
-
-static void GLAPIENTRY TAG(Vertex3fv)( const GLfloat *v )
-{
- PRE_LOOPBACK( Vertex3fv );
- CALL_Vertex3fv(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(Vertex4f)( GLfloat x, GLfloat y, GLfloat z, GLfloat w )
-{
- PRE_LOOPBACK( Vertex4f );
- CALL_Vertex4f(GET_DISPATCH(), ( x, y, z, w ));
-}
-
-static void GLAPIENTRY TAG(Vertex4fv)( const GLfloat *v )
-{
- PRE_LOOPBACK( Vertex4fv );
- CALL_Vertex4fv(GET_DISPATCH(), ( v ));
-}
-
-static void GLAPIENTRY TAG(CallList)( GLuint i )
-{
- PRE_LOOPBACK( CallList );
- CALL_CallList(GET_DISPATCH(), ( i ));
-}
-
-static void GLAPIENTRY TAG(CallLists)( GLsizei sz, GLenum type, const GLvoid *v )
-{
- PRE_LOOPBACK( CallLists );
- CALL_CallLists(GET_DISPATCH(), ( sz, type, v ));
-}
-
-static void GLAPIENTRY TAG(Begin)( GLenum mode )
-{
- PRE_LOOPBACK( Begin );
- CALL_Begin(GET_DISPATCH(), ( mode ));
-}
-
-static void GLAPIENTRY TAG(End)( void )
-{
- PRE_LOOPBACK( End );
- CALL_End(GET_DISPATCH(), ());
-}
-
-static void GLAPIENTRY TAG(Rectf)( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 )
-{
- PRE_LOOPBACK( Rectf );
- CALL_Rectf(GET_DISPATCH(), ( x1, y1, x2, y2 ));
-}
-
-static void GLAPIENTRY TAG(DrawArrays)( GLenum mode, GLint start, GLsizei count )
-{
- PRE_LOOPBACK( DrawArrays );
- CALL_DrawArrays(GET_DISPATCH(), ( mode, start, count ));
-}
-
-static void GLAPIENTRY TAG(DrawElements)( GLenum mode, GLsizei count, GLenum type,
- const GLvoid *indices )
-{
- PRE_LOOPBACK( DrawElements );
- CALL_DrawElements(GET_DISPATCH(), ( mode, count, type, indices ));
-}
-
-static void GLAPIENTRY TAG(MultiDrawElementsEXT)( GLenum mode,
- const GLsizei *count,
- GLenum type,
- const GLvoid **indices,
- GLsizei primcount)
-{
- PRE_LOOPBACK( MultiDrawElementsEXT );
- CALL_MultiDrawElementsEXT(GET_DISPATCH(), ( mode, count, type, indices,
- primcount ));
-}
-
-static void GLAPIENTRY TAG(DrawRangeElements)( GLenum mode, GLuint start,
- GLuint end, GLsizei count,
- GLenum type, const GLvoid *indices )
-{
- PRE_LOOPBACK( DrawRangeElements );
- CALL_DrawRangeElements(GET_DISPATCH(), ( mode, start, end, count, type, indices ));
-}
-
-static void GLAPIENTRY TAG(DrawElementsBaseVertex)( GLenum mode,
- GLsizei count,
- GLenum type,
- const GLvoid *indices,
- GLint basevertex)
-{
- PRE_LOOPBACK( DrawElementsBaseVertex );
- CALL_DrawElementsBaseVertex(GET_DISPATCH(), ( mode, count, type,
- indices, basevertex ));
-}
-
-static void GLAPIENTRY TAG(DrawRangeElementsBaseVertex)( GLenum mode,
- GLuint start,
- GLuint end,
- GLsizei count,
- GLenum type,
- const GLvoid *indices,
- GLint basevertex)
-{
- PRE_LOOPBACK( DrawRangeElementsBaseVertex );
- CALL_DrawRangeElementsBaseVertex(GET_DISPATCH(), ( mode, start, end,
- count, type, indices,
- basevertex ));
-}
-
-static void GLAPIENTRY TAG(MultiDrawElementsBaseVertex)( GLenum mode,
- const GLsizei *count,
- GLenum type,
- const GLvoid **indices,
- GLsizei primcount,
- const GLint *basevertex)
-{
- PRE_LOOPBACK( MultiDrawElementsBaseVertex );
- CALL_MultiDrawElementsBaseVertex(GET_DISPATCH(), ( mode, count, type,
- indices,
- primcount, basevertex ));
-}
-
-static void GLAPIENTRY
-TAG(DrawArraysInstanced)(GLenum mode, GLint first,
- GLsizei count, GLsizei primcount)
-{
- PRE_LOOPBACK( DrawArraysInstanced );
- CALL_DrawArraysInstanced(GET_DISPATCH(), (mode, first, count, primcount));
-}
-
-static void GLAPIENTRY
-TAG(DrawElementsInstanced)(GLenum mode, GLsizei count,
- GLenum type, const GLvoid *indices,
- GLsizei primcount)
-{
- PRE_LOOPBACK( DrawElementsInstanced );
- CALL_DrawElementsInstanced(GET_DISPATCH(),
- (mode, count, type, indices, primcount));
-}
-
-
-static void GLAPIENTRY TAG(EvalMesh1)( GLenum mode, GLint i1, GLint i2 )
-{
- PRE_LOOPBACK( EvalMesh1 );
- CALL_EvalMesh1(GET_DISPATCH(), ( mode, i1, i2 ));
-}
-
-static void GLAPIENTRY TAG(EvalMesh2)( GLenum mode, GLint i1, GLint i2,
- GLint j1, GLint j2 )
-{
- PRE_LOOPBACK( EvalMesh2 );
- CALL_EvalMesh2(GET_DISPATCH(), ( mode, i1, i2, j1, j2 ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib1fNV)( GLuint index, GLfloat x )
-{
- PRE_LOOPBACK( VertexAttrib1fNV );
- CALL_VertexAttrib1fNV(GET_DISPATCH(), ( index, x ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib1fvNV)( GLuint index, const GLfloat *v )
-{
- PRE_LOOPBACK( VertexAttrib1fvNV );
- CALL_VertexAttrib1fvNV(GET_DISPATCH(), ( index, v ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib2fNV)( GLuint index, GLfloat x, GLfloat y )
-{
- PRE_LOOPBACK( VertexAttrib2fNV );
- CALL_VertexAttrib2fNV(GET_DISPATCH(), ( index, x, y ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib2fvNV)( GLuint index, const GLfloat *v )
-{
- PRE_LOOPBACK( VertexAttrib2fvNV );
- CALL_VertexAttrib2fvNV(GET_DISPATCH(), ( index, v ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib3fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z )
-{
- PRE_LOOPBACK( VertexAttrib3fNV );
- CALL_VertexAttrib3fNV(GET_DISPATCH(), ( index, x, y, z ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib3fvNV)( GLuint index, const GLfloat *v )
-{
- PRE_LOOPBACK( VertexAttrib3fvNV );
- CALL_VertexAttrib3fvNV(GET_DISPATCH(), ( index, v ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib4fNV)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
-{
- PRE_LOOPBACK( VertexAttrib4fNV );
- CALL_VertexAttrib4fNV(GET_DISPATCH(), ( index, x, y, z, w ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib4fvNV)( GLuint index, const GLfloat *v )
-{
- PRE_LOOPBACK( VertexAttrib4fvNV );
- CALL_VertexAttrib4fvNV(GET_DISPATCH(), ( index, v ));
-}
-
-
-static void GLAPIENTRY TAG(VertexAttrib1fARB)( GLuint index, GLfloat x )
-{
- PRE_LOOPBACK( VertexAttrib1fARB );
- CALL_VertexAttrib1fARB(GET_DISPATCH(), ( index, x ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib1fvARB)( GLuint index, const GLfloat *v )
-{
- PRE_LOOPBACK( VertexAttrib1fvARB );
- CALL_VertexAttrib1fvARB(GET_DISPATCH(), ( index, v ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib2fARB)( GLuint index, GLfloat x, GLfloat y )
-{
- PRE_LOOPBACK( VertexAttrib2fARB );
- CALL_VertexAttrib2fARB(GET_DISPATCH(), ( index, x, y ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib2fvARB)( GLuint index, const GLfloat *v )
-{
- PRE_LOOPBACK( VertexAttrib2fvARB );
- CALL_VertexAttrib2fvARB(GET_DISPATCH(), ( index, v ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib3fARB)( GLuint index, GLfloat x, GLfloat y, GLfloat z )
-{
- PRE_LOOPBACK( VertexAttrib3fARB );
- CALL_VertexAttrib3fARB(GET_DISPATCH(), ( index, x, y, z ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib3fvARB)( GLuint index, const GLfloat *v )
-{
- PRE_LOOPBACK( VertexAttrib3fvARB );
- CALL_VertexAttrib3fvARB(GET_DISPATCH(), ( index, v ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib4fARB)( GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w )
-{
- PRE_LOOPBACK( VertexAttrib4fARB );
- CALL_VertexAttrib4fARB(GET_DISPATCH(), ( index, x, y, z, w ));
-}
-
-static void GLAPIENTRY TAG(VertexAttrib4fvARB)( GLuint index, const GLfloat *v )
-{
- PRE_LOOPBACK( VertexAttrib4fvARB );
- CALL_VertexAttrib4fvARB(GET_DISPATCH(), ( index, v ));
-}
-
-
-static GLvertexformat TAG(vtxfmt) = {
- TAG(ArrayElement),
- TAG(Color3f),
- TAG(Color3fv),
- TAG(Color4f),
- TAG(Color4fv),
- TAG(EdgeFlag),
- TAG(EvalCoord1f),
- TAG(EvalCoord1fv),
- TAG(EvalCoord2f),
- TAG(EvalCoord2fv),
- TAG(EvalPoint1),
- TAG(EvalPoint2),
- TAG(FogCoordfEXT),
- TAG(FogCoordfvEXT),
- TAG(Indexf),
- TAG(Indexfv),
- TAG(Materialfv),
- TAG(MultiTexCoord1fARB),
- TAG(MultiTexCoord1fvARB),
- TAG(MultiTexCoord2fARB),
- TAG(MultiTexCoord2fvARB),
- TAG(MultiTexCoord3fARB),
- TAG(MultiTexCoord3fvARB),
- TAG(MultiTexCoord4fARB),
- TAG(MultiTexCoord4fvARB),
- TAG(Normal3f),
- TAG(Normal3fv),
- TAG(SecondaryColor3fEXT),
- TAG(SecondaryColor3fvEXT),
- TAG(TexCoord1f),
- TAG(TexCoord1fv),
- TAG(TexCoord2f),
- TAG(TexCoord2fv),
- TAG(TexCoord3f),
- TAG(TexCoord3fv),
- TAG(TexCoord4f),
- TAG(TexCoord4fv),
- TAG(Vertex2f),
- TAG(Vertex2fv),
- TAG(Vertex3f),
- TAG(Vertex3fv),
- TAG(Vertex4f),
- TAG(Vertex4fv),
- TAG(CallList),
- TAG(CallLists),
- TAG(Begin),
- TAG(End),
- TAG(VertexAttrib1fNV),
- TAG(VertexAttrib1fvNV),
- TAG(VertexAttrib2fNV),
- TAG(VertexAttrib2fvNV),
- TAG(VertexAttrib3fNV),
- TAG(VertexAttrib3fvNV),
- TAG(VertexAttrib4fNV),
- TAG(VertexAttrib4fvNV),
- TAG(VertexAttrib1fARB),
- TAG(VertexAttrib1fvARB),
- TAG(VertexAttrib2fARB),
- TAG(VertexAttrib2fvARB),
- TAG(VertexAttrib3fARB),
- TAG(VertexAttrib3fvARB),
- TAG(VertexAttrib4fARB),
- TAG(VertexAttrib4fvARB),
- TAG(Rectf),
- TAG(DrawArrays),
- TAG(DrawElements),
- TAG(DrawRangeElements),
- TAG(MultiDrawElementsEXT),
- TAG(DrawElementsBaseVertex),
- TAG(DrawRangeElementsBaseVertex),
- TAG(MultiDrawElementsBaseVertex),
- TAG(DrawArraysInstanced),
- TAG(DrawElementsInstanced),
- TAG(EvalMesh1),
- TAG(EvalMesh2)
-};
-
-#undef TAG
-#undef PRE_LOOPBACK