diff options
Diffstat (limited to 'mesalib/src/mesa')
78 files changed, 8916 insertions, 10686 deletions
diff --git a/mesalib/src/mesa/SConscript b/mesalib/src/mesa/SConscript index 45414bcde..7688ce941 100644 --- a/mesalib/src/mesa/SConscript +++ b/mesalib/src/mesa/SConscript @@ -126,6 +126,7 @@ main_sources = [ 'main/texpal.c', 'main/texparam.c', 'main/texstate.c', + 'main/texstorage.c', 'main/texstore.c', 'main/texturebarrier.c', 'main/transformfeedback.c', diff --git a/mesalib/src/mesa/drivers/common/driverfuncs.c b/mesalib/src/mesa/drivers/common/driverfuncs.c index 263d4025f..27ea559b3 100644 --- a/mesalib/src/mesa/drivers/common/driverfuncs.c +++ b/mesalib/src/mesa/drivers/common/driverfuncs.c @@ -120,6 +120,7 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->UnmapTexture = NULL; driver->TextureMemCpy = memcpy; driver->IsTextureResident = NULL; + driver->DrawTex = _mesa_meta_DrawTex; /* Vertex/fragment programs */ driver->BindProgram = NULL; @@ -179,6 +180,8 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->NewFramebuffer = _mesa_new_framebuffer; driver->NewRenderbuffer = _mesa_new_soft_renderbuffer; + driver->MapRenderbuffer = _mesa_map_soft_renderbuffer; + driver->UnmapRenderbuffer = _mesa_unmap_soft_renderbuffer; driver->RenderTexture = _swrast_render_texture; driver->FinishRenderTexture = _swrast_finish_render_texture; driver->FramebufferRenderbuffer = _mesa_framebuffer_renderbuffer; @@ -217,6 +220,9 @@ _mesa_init_driver_functions(struct dd_function_table *driver) driver->EndList = NULL; driver->BeginCallList = NULL; driver->EndCallList = NULL; + + /* GL_ARB_texture_storage */ + driver->AllocTextureStorage = _swrast_AllocTextureStorage; } diff --git a/mesalib/src/mesa/drivers/common/meta.c b/mesalib/src/mesa/drivers/common/meta.c index c7bb93380..3e553341d 100644 --- a/mesalib/src/mesa/drivers/common/meta.c +++ b/mesalib/src/mesa/drivers/common/meta.c @@ -278,6 +278,14 @@ struct decompress_state GLint Width, Height; }; +/** + * State for glDrawTex() + */ +struct drawtex_state +{ + GLuint ArrayObj; + GLuint VBO; +}; #define MAX_META_OPS_DEPTH 8 /** @@ -299,6 +307,7 @@ struct gl_meta_state struct bitmap_state Bitmap; /**< For _mesa_meta_Bitmap() */ struct gen_mipmap_state Mipmap; /**< For _mesa_meta_GenerateMipmap() */ struct decompress_state Decompress; /**< For texture decompression */ + struct drawtex_state DrawTex; /**< For _mesa_meta_DrawTex() */ }; @@ -3332,3 +3341,131 @@ _mesa_meta_GetTexImage(struct gl_context *ctx, _mesa_get_teximage(ctx, format, type, pixels, texImage); } } + + +/** + * Meta implementation of ctx->Driver.DrawTex() in terms + * of polygon rendering. + */ +void +_mesa_meta_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z, + GLfloat width, GLfloat height) +{ +#if FEATURE_OES_draw_texture + struct drawtex_state *drawtex = &ctx->Meta->DrawTex; + struct vertex { + GLfloat x, y, z, st[MAX_TEXTURE_UNITS][2]; + }; + struct vertex verts[4]; + GLuint i; + + _mesa_meta_begin(ctx, (MESA_META_RASTERIZATION | + MESA_META_SHADER | + MESA_META_TRANSFORM | + MESA_META_VERTEX | + MESA_META_VIEWPORT)); + + if (drawtex->ArrayObj == 0) { + /* one-time setup */ + GLint active_texture; + + /* create vertex array object */ + _mesa_GenVertexArrays(1, &drawtex->ArrayObj); + _mesa_BindVertexArray(drawtex->ArrayObj); + + /* create vertex array buffer */ + _mesa_GenBuffersARB(1, &drawtex->VBO); + _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, drawtex->VBO); + _mesa_BufferDataARB(GL_ARRAY_BUFFER_ARB, sizeof(verts), + NULL, GL_DYNAMIC_DRAW_ARB); + + /* client active texture is not part of the array object */ + active_texture = ctx->Array.ActiveTexture; + + /* setup vertex arrays */ + _mesa_VertexPointer(3, GL_FLOAT, sizeof(struct vertex), OFFSET(x)); + _mesa_EnableClientState(GL_VERTEX_ARRAY); + for (i = 0; i < ctx->Const.MaxTextureUnits; i++) { + _mesa_ClientActiveTextureARB(GL_TEXTURE0 + i); + _mesa_TexCoordPointer(2, GL_FLOAT, sizeof(struct vertex), OFFSET(st[i])); + _mesa_EnableClientState(GL_TEXTURE_COORD_ARRAY); + } + + /* restore client active texture */ + _mesa_ClientActiveTextureARB(GL_TEXTURE0 + active_texture); + } + else { + _mesa_BindVertexArray(drawtex->ArrayObj); + _mesa_BindBufferARB(GL_ARRAY_BUFFER_ARB, drawtex->VBO); + } + + /* vertex positions, texcoords */ + { + const GLfloat x1 = x + width; + const GLfloat y1 = y + height; + + z = CLAMP(z, 0.0, 1.0); + z = invert_z(z); + + verts[0].x = x; + verts[0].y = y; + verts[0].z = z; + + verts[1].x = x1; + verts[1].y = y; + verts[1].z = z; + + verts[2].x = x1; + verts[2].y = y1; + verts[2].z = z; + + verts[3].x = x; + verts[3].y = y1; + verts[3].z = z; + + for (i = 0; i < ctx->Const.MaxTextureUnits; i++) { + const struct gl_texture_object *texObj; + const struct gl_texture_image *texImage; + GLfloat s, t, s1, t1; + GLuint tw, th; + + if (!ctx->Texture.Unit[i]._ReallyEnabled) { + GLuint j; + for (j = 0; j < 4; j++) { + verts[j].st[i][0] = 0.0f; + verts[j].st[i][1] = 0.0f; + } + continue; + } + + texObj = ctx->Texture.Unit[i]._Current; + texImage = texObj->Image[0][texObj->BaseLevel]; + tw = texImage->Width2; + th = texImage->Height2; + + s = (GLfloat) texObj->CropRect[0] / tw; + t = (GLfloat) texObj->CropRect[1] / th; + s1 = (GLfloat) (texObj->CropRect[0] + texObj->CropRect[2]) / tw; + t1 = (GLfloat) (texObj->CropRect[1] + texObj->CropRect[3]) / th; + + verts[0].st[i][0] = s; + verts[0].st[i][1] = t; + + verts[1].st[i][0] = s1; + verts[1].st[i][1] = t; + + verts[2].st[i][0] = s1; + verts[2].st[i][1] = t1; + + verts[3].st[i][0] = s; + verts[3].st[i][1] = t1; + } + + _mesa_BufferSubDataARB(GL_ARRAY_BUFFER_ARB, 0, sizeof(verts), verts); + } + + _mesa_DrawArrays(GL_TRIANGLE_FAN, 0, 4); + + _mesa_meta_end(ctx); +#endif /* FEATURE_OES_draw_texture */ +} diff --git a/mesalib/src/mesa/drivers/common/meta.h b/mesalib/src/mesa/drivers/common/meta.h index e0435a822..719813984 100644 --- a/mesalib/src/mesa/drivers/common/meta.h +++ b/mesalib/src/mesa/drivers/common/meta.h @@ -129,5 +129,8 @@ _mesa_meta_GetTexImage(struct gl_context *ctx, GLenum format, GLenum type, GLvoid *pixels, struct gl_texture_image *texImage); +extern void +_mesa_meta_DrawTex(struct gl_context *ctx, GLfloat x, GLfloat y, GLfloat z, + GLfloat width, GLfloat height); #endif /* META_H */ diff --git a/mesalib/src/mesa/drivers/dri/common/Makefile.sources b/mesalib/src/mesa/drivers/dri/common/Makefile.sources index 3432dda45..040b71725 100644 --- a/mesalib/src/mesa/drivers/dri/common/Makefile.sources +++ b/mesalib/src/mesa/drivers/dri/common/Makefile.sources @@ -1,13 +1,10 @@ mesa_dri_common_gallium_SOURCES := \ utils.c \ - vblank.c \ dri_util.c \ xmlconfig.c mesa_dri_common_SOURCES := \ - $(mesa_dri_common_gallium_SOURCES) \ - texmem.c \ - drirenderbuffer.c + $(mesa_dri_common_gallium_SOURCES) # Paths are relative to MESA_TOP. mesa_dri_common_INCLUDES := \ diff --git a/mesalib/src/mesa/drivers/dri/common/dri_util.c b/mesalib/src/mesa/drivers/dri/common/dri_util.c index cdd413737..da4e39f9c 100644 --- a/mesalib/src/mesa/drivers/dri/common/dri_util.c +++ b/mesalib/src/mesa/drivers/dri/common/dri_util.c @@ -17,19 +17,11 @@ #include <assert.h> #include <stdarg.h> -#include <unistd.h> -#include <sys/mman.h> #include <stdio.h> -#ifndef MAP_FAILED -#define MAP_FAILED ((void *)-1) -#endif - #include "main/imports.h" -#define None 0 #include "dri_util.h" -#include "drm_sarea.h" #include "utils.h" #include "xmlpool.h" #include "../glsl/glsl_parser_extras.h" @@ -50,27 +42,6 @@ typedef GLboolean ( * PFNGLXGETMSCRATEOMLPROC) (__DRIdrawable *drawable, int32_t static void dri_get_drawable(__DRIdrawable *pdp); static void dri_put_drawable(__DRIdrawable *pdp); -/** - * This is just a token extension used to signal that the driver - * supports setting a read drawable. - */ -const __DRIextension driReadDrawableExtension = { - __DRI_READ_DRAWABLE, __DRI_READ_DRAWABLE_VERSION -}; - -GLint -driIntersectArea( drm_clip_rect_t rect1, drm_clip_rect_t rect2 ) -{ - if (rect2.x1 > rect1.x1) rect1.x1 = rect2.x1; - if (rect2.x2 < rect1.x2) rect1.x2 = rect2.x2; - if (rect2.y1 > rect1.y1) rect1.y1 = rect2.y1; - if (rect2.y2 < rect1.y2) rect1.y2 = rect2.y2; - - if (rect1.x1 > rect1.x2 || rect1.y1 > rect1.y2) return 0; - - return (rect1.x2 - rect1.x1) * (rect1.y2 - rect1.y1); -} - /*****************************************************************/ /** \name Context (un)binding functions */ /*****************************************************************/ @@ -174,294 +145,10 @@ static int driBindContext(__DRIcontext *pcp, dri_get_drawable(prp); } - /* - ** Now that we have a context associated with this drawable, we can - ** initialize the drawable information if has not been done before. - */ - - if (!psp->dri2.enabled) { - if (pdp && !pdp->pStamp) { - DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - __driUtilUpdateDrawableInfo(pdp); - DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - } - if (prp && pdp != prp && !prp->pStamp) { - DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - __driUtilUpdateDrawableInfo(prp); - DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - } - } - /* Call device-specific MakeCurrent */ return (*psp->DriverAPI.MakeCurrent)(pcp, pdp, prp); } -/*@}*/ - - -/*****************************************************************/ -/** \name Drawable handling functions */ -/*****************************************************************/ -/*@{*/ - -/** - * Update private drawable information. - * - * \param pdp pointer to the private drawable information to update. - * - * This function basically updates the __DRIdrawable struct's - * cliprect information by calling \c __DRIinterfaceMethods::getDrawableInfo. - * This is usually called by the DRI_VALIDATE_DRAWABLE_INFO macro which - * compares the __DRIdrwablePrivate pStamp and lastStamp values. If - * the values are different that means we have to update the clipping - * info. - */ -void -__driUtilUpdateDrawableInfo(__DRIdrawable *pdp) -{ - __DRIscreen *psp = pdp->driScreenPriv; - __DRIcontext *pcp = pdp->driContextPriv; - - if (!pcp - || ((pdp != pcp->driDrawablePriv) && (pdp != pcp->driReadablePriv))) { - /* ERROR!!! - * ...but we must ignore it. There can be many contexts bound to a - * drawable. - */ - } - - if (pdp->pClipRects) { - free(pdp->pClipRects); - pdp->pClipRects = NULL; - } - - if (pdp->pBackClipRects) { - free(pdp->pBackClipRects); - pdp->pBackClipRects = NULL; - } - - DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); - - if (! (*psp->getDrawableInfo->getDrawableInfo)(pdp, - &pdp->index, &pdp->lastStamp, - &pdp->x, &pdp->y, &pdp->w, &pdp->h, - &pdp->numClipRects, &pdp->pClipRects, - &pdp->backX, - &pdp->backY, - &pdp->numBackClipRects, - &pdp->pBackClipRects, - pdp->loaderPrivate)) { - /* Error -- eg the window may have been destroyed. Keep going - * with no cliprects. - */ - pdp->pStamp = &pdp->lastStamp; /* prevent endless loop */ - pdp->numClipRects = 0; - pdp->pClipRects = NULL; - pdp->numBackClipRects = 0; - pdp->pBackClipRects = NULL; - } - else - pdp->pStamp = &(psp->pSAREA->drawableTable[pdp->index].stamp); - - DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); -} - -/*@}*/ - -/*****************************************************************/ -/** \name GLX callbacks */ -/*****************************************************************/ -/*@{*/ - -static void driReportDamage(__DRIdrawable *pdp, - struct drm_clip_rect *pClipRects, int numClipRects) -{ - __DRIscreen *psp = pdp->driScreenPriv; - - /* Check that we actually have the new damage report method */ - if (psp->damage) { - /* Report the damage. Currently, all our drivers draw - * directly to the front buffer, so we report the damage there - * rather than to the backing storein (if any). - */ - (*psp->damage->reportDamage)(pdp, - pdp->x, pdp->y, - pClipRects, numClipRects, - GL_TRUE, pdp->loaderPrivate); - } -} - - -/** - * Swap buffers. - * - * \param drawablePrivate opaque pointer to the per-drawable private info. - * - * \internal - * This function calls __DRIdrawable::swapBuffers. - * - * Is called directly from glXSwapBuffers(). - */ -static void driSwapBuffers(__DRIdrawable *dPriv) -{ - __DRIscreen *psp = dPriv->driScreenPriv; - drm_clip_rect_t *rects; - int i; - - psp->DriverAPI.SwapBuffers(dPriv); - - if (!dPriv->numClipRects) - return; - - rects = malloc(sizeof(*rects) * dPriv->numClipRects); - - if (!rects) - return; - - for (i = 0; i < dPriv->numClipRects; i++) { - rects[i].x1 = dPriv->pClipRects[i].x1 - dPriv->x; - rects[i].y1 = dPriv->pClipRects[i].y1 - dPriv->y; - rects[i].x2 = dPriv->pClipRects[i].x2 - dPriv->x; - rects[i].y2 = dPriv->pClipRects[i].y2 - dPriv->y; - } - - driReportDamage(dPriv, rects, dPriv->numClipRects); - free(rects); -} - -static int driDrawableGetMSC( __DRIscreen *sPriv, __DRIdrawable *dPriv, - int64_t *msc ) -{ - return sPriv->DriverAPI.GetDrawableMSC(sPriv, dPriv, msc); -} - - -static int driWaitForMSC(__DRIdrawable *dPriv, int64_t target_msc, - int64_t divisor, int64_t remainder, - int64_t * msc, int64_t * sbc) -{ - __DRIswapInfo sInfo; - int status; - - status = dPriv->driScreenPriv->DriverAPI.WaitForMSC( dPriv, target_msc, - divisor, remainder, - msc ); - - /* GetSwapInfo() may not be provided by the driver if GLX_SGI_video_sync - * is supported but GLX_OML_sync_control is not. Therefore, don't return - * an error value if GetSwapInfo() is not implemented. - */ - if ( status == 0 - && dPriv->driScreenPriv->DriverAPI.GetSwapInfo ) { - status = dPriv->driScreenPriv->DriverAPI.GetSwapInfo( dPriv, & sInfo ); - *sbc = sInfo.swap_count; - } - - return status; -} - - -const __DRImediaStreamCounterExtension driMediaStreamCounterExtension = { - { __DRI_MEDIA_STREAM_COUNTER, __DRI_MEDIA_STREAM_COUNTER_VERSION }, - driWaitForMSC, - driDrawableGetMSC, -}; - - -static void driCopySubBuffer(__DRIdrawable *dPriv, - int x, int y, int w, int h) -{ - drm_clip_rect_t rect; - - rect.x1 = x; - rect.y1 = dPriv->h - y - h; - rect.x2 = x + w; - rect.y2 = rect.y1 + h; - driReportDamage(dPriv, &rect, 1); - - dPriv->driScreenPriv->DriverAPI.CopySubBuffer(dPriv, x, y, w, h); -} - -const __DRIcopySubBufferExtension driCopySubBufferExtension = { - { __DRI_COPY_SUB_BUFFER, __DRI_COPY_SUB_BUFFER_VERSION }, - driCopySubBuffer -}; - -static void driSetSwapInterval(__DRIdrawable *dPriv, unsigned int interval) -{ - dPriv->swap_interval = interval; -} - -static unsigned int driGetSwapInterval(__DRIdrawable *dPriv) -{ - return dPriv->swap_interval; -} - -const __DRIswapControlExtension driSwapControlExtension = { - { __DRI_SWAP_CONTROL, __DRI_SWAP_CONTROL_VERSION }, - driSetSwapInterval, - driGetSwapInterval -}; - - -/** - * This is called via __DRIscreenRec's createNewDrawable pointer. - */ -static __DRIdrawable * -driCreateNewDrawable(__DRIscreen *psp, const __DRIconfig *config, - drm_drawable_t hwDrawable, int renderType, - const int *attrs, void *data) -{ - __DRIdrawable *pdp; - - /* Since pbuffers are not yet supported, no drawable attributes are - * supported either. - */ - (void) attrs; - (void) renderType; - - pdp = malloc(sizeof *pdp); - if (!pdp) { - return NULL; - } - - pdp->driContextPriv = NULL; - pdp->loaderPrivate = data; - pdp->hHWDrawable = hwDrawable; - pdp->refcount = 1; - pdp->pStamp = NULL; - pdp->lastStamp = 0; - pdp->index = 0; - pdp->x = 0; - pdp->y = 0; - pdp->w = 0; - pdp->h = 0; - pdp->numClipRects = 0; - pdp->numBackClipRects = 0; - pdp->pClipRects = NULL; - pdp->pBackClipRects = NULL; - pdp->vblSeq = 0; - pdp->vblFlags = 0; - - pdp->driScreenPriv = psp; - - if (!(*psp->DriverAPI.CreateBuffer)(psp, pdp, &config->modes, 0)) { - free(pdp); - return NULL; - } - - pdp->msc_base = 0; - - /* This special default value is replaced with the configured - * default value when the drawable is first bound to a direct - * rendering context. - */ - pdp->swap_interval = (unsigned)-1; - - return pdp; -} - - static __DRIdrawable * dri2CreateNewDrawable(__DRIscreen *screen, const __DRIconfig *config, @@ -469,15 +156,24 @@ dri2CreateNewDrawable(__DRIscreen *screen, { __DRIdrawable *pdraw; - pdraw = driCreateNewDrawable(screen, config, 0, 0, NULL, loaderPrivate); + pdraw = malloc(sizeof *pdraw); if (!pdraw) - return NULL; + return NULL; - pdraw->pClipRects = &pdraw->dri2.clipRect; - pdraw->pBackClipRects = &pdraw->dri2.clipRect; + pdraw->driContextPriv = NULL; + pdraw->loaderPrivate = loaderPrivate; + pdraw->refcount = 1; + pdraw->lastStamp = 0; + pdraw->w = 0; + pdraw->h = 0; + pdraw->driScreenPriv = screen; + + if (!(*screen->DriverAPI.CreateBuffer)(screen, pdraw, &config->modes, 0)) { + free(pdraw); + return NULL; + } - pdraw->pStamp = &pdraw->dri2.stamp; - *pdraw->pStamp = pdraw->lastStamp + 1; + pdraw->dri2.stamp = pdraw->lastStamp + 1; return pdraw; } @@ -549,14 +245,6 @@ static void dri_put_drawable(__DRIdrawable *pdp) psp = pdp->driScreenPriv; (*psp->DriverAPI.DestroyBuffer)(pdp); - if (pdp->pClipRects && pdp->pClipRects != &pdp->dri2.clipRect) { - free(pdp->pClipRects); - pdp->pClipRects = NULL; - } - if (pdp->pBackClipRects && pdp->pClipRects != &pdp->dri2.clipRect) { - free(pdp->pBackClipRects); - pdp->pBackClipRects = NULL; - } free(pdp); } } @@ -591,58 +279,6 @@ driDestroyContext(__DRIcontext *pcp) } } - -/** - * Create the per-drawable private driver information. - * - * \param render_type Type of rendering target. \c GLX_RGBA_TYPE is the only - * type likely to ever be supported for direct-rendering. - * However, \c GLX_RGBA_FLOAT_TYPE_ARB may eventually be - * supported by some drivers. - * \param shared Context with which to share textures, etc. or NULL - * - * \returns An opaque pointer to the per-context private information on - * success, or \c NULL on failure. - * - * \internal - * This function allocates and fills a __DRIcontextRec structure. It - * performs some device independent initialization and passes all the - * relevent information to __DriverAPIRec::CreateContext to create the - * context. - * - */ -static __DRIcontext * -driCreateNewContext(__DRIscreen *psp, const __DRIconfig *config, - int render_type, __DRIcontext *shared, - drm_context_t hwContext, void *data) -{ - __DRIcontext *pcp; - void * const shareCtx = (shared != NULL) ? shared->driverPrivate : NULL; - - (void) render_type; - - pcp = malloc(sizeof *pcp); - if (!pcp) - return NULL; - - pcp->driScreenPriv = psp; - pcp->driDrawablePriv = NULL; - pcp->loaderPrivate = data; - - pcp->dri2.draw_stamp = 0; - pcp->dri2.read_stamp = 0; - - pcp->hHWContext = hwContext; - - if ( !(*psp->DriverAPI.CreateContext)(API_OPENGL, - &config->modes, pcp, shareCtx) ) { - free(pcp); - return NULL; - } - - return pcp; -} - static unsigned int dri2GetAPIMask(__DRIscreen *screen) { @@ -739,14 +375,8 @@ static void driDestroyScreen(__DRIscreen *psp) if (psp->DriverAPI.DestroyScreen) (*psp->DriverAPI.DestroyScreen)(psp); - if (!psp->dri2.enabled) { - (void)drmUnmap((drmAddress)psp->pSAREA, SAREA_MAX); - (void)drmUnmap((drmAddress)psp->pFB, psp->fbSize); - (void)drmCloseOnce(psp->fd); - } else { - driDestroyOptionCache(&psp->optionCache); - driDestroyOptionInfo(&psp->optionInfo); - } + driDestroyOptionCache(&psp->optionCache); + driDestroyOptionInfo(&psp->optionInfo); free(psp); } @@ -759,12 +389,6 @@ setupLoaderExtensions(__DRIscreen *psp, int i; for (i = 0; extensions[i]; i++) { - if (strcmp(extensions[i]->name, __DRI_GET_DRAWABLE_INFO) == 0) - psp->getDrawableInfo = (__DRIgetDrawableInfoExtension *) extensions[i]; - if (strcmp(extensions[i]->name, __DRI_DAMAGE) == 0) - psp->damage = (__DRIdamageExtension *) extensions[i]; - if (strcmp(extensions[i]->name, __DRI_SYSTEM_TIME) == 0) - psp->systemTime = (__DRIsystemTimeExtension *) extensions[i]; if (strcmp(extensions[i]->name, __DRI_DRI2_LOADER) == 0) psp->dri2.loader = (__DRIdri2LoaderExtension *) extensions[i]; if (strcmp(extensions[i]->name, __DRI_IMAGE_LOOKUP) == 0) @@ -775,99 +399,6 @@ setupLoaderExtensions(__DRIscreen *psp, } /** - * This is the bootstrap function for the driver. libGL supplies all of the - * requisite information about the system, and the driver initializes itself. - * This routine also fills in the linked list pointed to by \c driver_modes - * with the \c struct gl_config that the driver can support for windows or - * pbuffers. - * - * For legacy DRI. - * - * \param scrn Index of the screen - * \param ddx_version Version of the 2D DDX. This may not be meaningful for - * all drivers. - * \param dri_version Version of the "server-side" DRI. - * \param drm_version Version of the kernel DRM. - * \param frame_buffer Data describing the location and layout of the - * framebuffer. - * \param pSAREA Pointer to the SAREA. - * \param fd Device handle for the DRM. - * \param extensions ?? - * \param driver_modes Returns modes suppoted by the driver - * \param loaderPrivate ?? - * - * \note There is no need to check the minimum API version in this - * function. Since the name of this function is versioned, it is - * impossible for a loader that is too old to even load this driver. - */ -static __DRIscreen * -driCreateNewScreen(int scrn, - const __DRIversion *ddx_version, - const __DRIversion *dri_version, - const __DRIversion *drm_version, - const __DRIframebuffer *frame_buffer, - drmAddress pSAREA, int fd, - const __DRIextension **extensions, - const __DRIconfig ***driver_modes, - void *loaderPrivate) -{ - static const __DRIextension *emptyExtensionList[] = { NULL }; - __DRIscreen *psp; - - (void) loaderPrivate; - - if (driDriverAPI.InitScreen == NULL) { - __driUtilMessage("driver does not support DRI1"); - return NULL; - } - - psp = calloc(1, sizeof *psp); - if (!psp) - return NULL; - - setupLoaderExtensions(psp, extensions); - - /* - ** NOT_DONE: This is used by the X server to detect when the client - ** has died while holding the drawable lock. The client sets the - ** drawable lock to this value. - */ - psp->drawLockID = 1; - - psp->drm_version = *drm_version; - psp->ddx_version = *ddx_version; - psp->dri_version = *dri_version; - - psp->pSAREA = pSAREA; - psp->lock = (drmLock *) &psp->pSAREA->lock; - - psp->pFB = frame_buffer->base; - psp->fbSize = frame_buffer->size; - psp->fbStride = frame_buffer->stride; - psp->fbWidth = frame_buffer->width; - psp->fbHeight = frame_buffer->height; - psp->devPrivSize = frame_buffer->dev_priv_size; - psp->pDevPriv = frame_buffer->dev_priv; - psp->fbBPP = psp->fbStride * 8 / frame_buffer->width; - - psp->extensions = emptyExtensionList; - psp->fd = fd; - psp->myNum = scrn; - psp->dri2.enabled = GL_FALSE; - - psp->DriverAPI = driDriverAPI; - psp->api_mask = (1 << __DRI_API_OPENGL); - - *driver_modes = driDriverAPI.InitScreen(psp); - if (*driver_modes == NULL) { - free(psp); - return NULL; - } - - return psp; -} - -/** * DRI2 */ static __DRIscreen * @@ -899,7 +430,6 @@ dri2CreateNewScreen(int scrn, int fd, psp->extensions = emptyExtensionList; psp->fd = fd; psp->myNum = scrn; - psp->dri2.enabled = GL_TRUE; psp->DriverAPI = driDriverAPI; psp->api_mask = (1 << __DRI_API_OPENGL); @@ -935,7 +465,7 @@ const __DRIcoreExtension driCoreExtension = { driIndexConfigAttrib, NULL, driDestroyDrawable, - driSwapBuffers, + NULL, NULL, driCopyContext, driDestroyContext, @@ -943,14 +473,6 @@ const __DRIcoreExtension driCoreExtension = { driUnbindContext }; -/** Legacy DRI interface */ -const __DRIlegacyExtension driLegacyExtension = { - { __DRI_LEGACY, __DRI_LEGACY_VERSION }, - driCreateNewScreen, - driCreateNewDrawable, - driCreateNewContext, -}; - /** DRI2 interface */ const __DRIdri2Extension driDRI2Extension = { { __DRI_DRI2, __DRI_DRI2_VERSION }, @@ -970,73 +492,27 @@ const __DRI2configQueryExtension dri2ConfigQueryExtension = { dri2ConfigQueryf, }; -/** - * Calculate amount of swap interval used between GLX buffer swaps. - * - * The usage value, on the range [0,max], is the fraction of total swap - * interval time used between GLX buffer swaps is calculated. - * - * \f$p = t_d / (i * t_r)\f$ - * - * Where \f$t_d\f$ is the time since the last GLX buffer swap, \f$i\f$ is the - * swap interval (as set by \c glXSwapIntervalSGI), and \f$t_r\f$ time - * required for a single vertical refresh period (as returned by \c - * glXGetMscRateOML). - * - * See the documentation for the GLX_MESA_swap_frame_usage extension for more - * details. - * - * \param dPriv Pointer to the private drawable structure. - * \return If less than a single swap interval time period was required - * between GLX buffer swaps, a number greater than 0 and less than - * 1.0 is returned. If exactly one swap interval time period is - * required, 1.0 is returned, and if more than one is required then - * a number greater than 1.0 will be returned. - * - * \sa glXSwapIntervalSGI glXGetMscRateOML - * - * \todo Instead of caching the \c glXGetMscRateOML function pointer, would it - * be possible to cache the sync rate? - */ -float -driCalculateSwapUsage( __DRIdrawable *dPriv, int64_t last_swap_ust, - int64_t current_ust ) -{ - int32_t n; - int32_t d; - int interval; - float usage = 1.0; - __DRIscreen *psp = dPriv->driScreenPriv; - - if ( (*psp->systemTime->getMSCRate)(dPriv, &n, &d, dPriv->loaderPrivate) ) { - interval = (dPriv->swap_interval != 0) ? dPriv->swap_interval : 1; - - - /* We want to calculate - * (current_UST - last_swap_UST) / (interval * us_per_refresh). We get - * current_UST by calling __glXGetUST. last_swap_UST is stored in - * dPriv->swap_ust. interval has already been calculated. - * - * The only tricky part is us_per_refresh. us_per_refresh is - * 1000000 / MSC_rate. We know the MSC_rate is n / d. We can flip it - * around and say us_per_refresh = 1000000 * d / n. Since this goes in - * the denominator of the final calculation, we calculate - * (interval * 1000000 * d) and move n into the numerator. - */ - - usage = (current_ust - last_swap_ust); - usage *= n; - usage /= (interval * d); - usage /= 1000000.0; - } - - return usage; -} - void dri2InvalidateDrawable(__DRIdrawable *drawable) { drawable->dri2.stamp++; } -/*@}*/ +/** + * Check that the gl_framebuffer associated with dPriv is the right size. + * Resize the gl_framebuffer if needed. + * It's expected that the dPriv->driverPrivate member points to a + * gl_framebuffer object. + */ +void +driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv) +{ + struct gl_framebuffer *fb = (struct gl_framebuffer *) dPriv->driverPrivate; + if (fb && (dPriv->w != fb->Width || dPriv->h != fb->Height)) { + ctx->Driver.ResizeBuffers(ctx, fb, dPriv->w, dPriv->h); + /* if the driver needs the hw lock for ResizeBuffers, the drawable + might have changed again by now */ + assert(fb->Width == dPriv->w); + assert(fb->Height == dPriv->h); + } +} diff --git a/mesalib/src/mesa/drivers/dri/common/dri_util.h b/mesalib/src/mesa/drivers/dri/common/dri_util.h index 3d3d5c9cd..7a3b0a9b2 100644 --- a/mesalib/src/mesa/drivers/dri/common/dri_util.h +++ b/mesalib/src/mesa/drivers/dri/common/dri_util.h @@ -58,75 +58,14 @@ #define GLX_BAD_CONTEXT 5 -typedef struct __DRIswapInfoRec __DRIswapInfo; - /** * Extensions. */ -extern const __DRIlegacyExtension driLegacyExtension; extern const __DRIcoreExtension driCoreExtension; extern const __DRIdri2Extension driDRI2Extension; -extern const __DRIextension driReadDrawableExtension; -extern const __DRIcopySubBufferExtension driCopySubBufferExtension; -extern const __DRIswapControlExtension driSwapControlExtension; -extern const __DRImediaStreamCounterExtension driMediaStreamCounterExtension; extern const __DRI2configQueryExtension dri2ConfigQueryExtension; /** - * Used by DRI_VALIDATE_DRAWABLE_INFO - */ -#define DRI_VALIDATE_DRAWABLE_INFO_ONCE(pDrawPriv) \ - do { \ - if (*(pDrawPriv->pStamp) != pDrawPriv->lastStamp) { \ - __driUtilUpdateDrawableInfo(pDrawPriv); \ - } \ - } while (0) - - -/** - * Utility macro to validate the drawable information. - * - * See __DRIdrawable::pStamp and __DRIdrawable::lastStamp. - */ -#define DRI_VALIDATE_DRAWABLE_INFO(psp, pdp) \ -do { \ - while (*(pdp->pStamp) != pdp->lastStamp) { \ - register unsigned int hwContext = psp->pSAREA->lock.lock & \ - ~(DRM_LOCK_HELD | DRM_LOCK_CONT); \ - DRM_UNLOCK(psp->fd, &psp->pSAREA->lock, hwContext); \ - \ - DRM_SPINLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); \ - DRI_VALIDATE_DRAWABLE_INFO_ONCE(pdp); \ - DRM_SPINUNLOCK(&psp->pSAREA->drawable_lock, psp->drawLockID); \ - \ - DRM_LIGHT_LOCK(psp->fd, &psp->pSAREA->lock, hwContext); \ - } \ -} while (0) - -/** - * Same as above, but for two drawables simultaneously. - * - */ - -#define DRI_VALIDATE_TWO_DRAWABLES_INFO(psp, pdp, prp) \ -do { \ - while (*((pdp)->pStamp) != (pdp)->lastStamp || \ - *((prp)->pStamp) != (prp)->lastStamp) { \ - register unsigned int hwContext = (psp)->pSAREA->lock.lock & \ - ~(DRM_LOCK_HELD | DRM_LOCK_CONT); \ - DRM_UNLOCK((psp)->fd, &(psp)->pSAREA->lock, hwContext); \ - \ - DRM_SPINLOCK(&(psp)->pSAREA->drawable_lock, (psp)->drawLockID); \ - DRI_VALIDATE_DRAWABLE_INFO_ONCE(pdp); \ - DRI_VALIDATE_DRAWABLE_INFO_ONCE(prp); \ - DRM_SPINUNLOCK(&(psp)->pSAREA->drawable_lock, (psp)->drawLockID); \ - \ - DRM_LIGHT_LOCK((psp)->fd, &(psp)->pSAREA->lock, hwContext); \ - } \ -} while (0) - - -/** * Driver callback functions. * * Each DRI driver must have one of these structures with all the pointers set @@ -137,8 +76,6 @@ do { \ * this structure. */ struct __DriverAPIRec { - const __DRIconfig **(*InitScreen) (__DRIscreen * priv); - /** * Screen destruction callback */ @@ -171,11 +108,6 @@ struct __DriverAPIRec { void (*DestroyBuffer)(__DRIdrawable *driDrawPriv); /** - * Buffer swapping callback - */ - void (*SwapBuffers)(__DRIdrawable *driDrawPriv); - - /** * Context activation callback */ GLboolean (*MakeCurrent)(__DRIcontext *driContextPriv, @@ -186,40 +118,6 @@ struct __DriverAPIRec { * Context unbinding callback */ GLboolean (*UnbindContext)(__DRIcontext *driContextPriv); - - /** - * Retrieves statistics about buffer swap operations. Required if - * GLX_OML_sync_control or GLX_MESA_swap_frame_usage is supported. - */ - int (*GetSwapInfo)( __DRIdrawable *dPriv, __DRIswapInfo * sInfo ); - - - /** - * These are required if GLX_OML_sync_control is supported. - */ - /*@{*/ - int (*WaitForMSC)( __DRIdrawable *priv, int64_t target_msc, - int64_t divisor, int64_t remainder, - int64_t * msc ); - int (*WaitForSBC)( __DRIdrawable *priv, int64_t target_sbc, - int64_t * msc, int64_t * sbc ); - - int64_t (*SwapBuffersMSC)( __DRIdrawable *priv, int64_t target_msc, - int64_t divisor, int64_t remainder ); - /*@}*/ - void (*CopySubBuffer)(__DRIdrawable *driDrawPriv, - int x, int y, int w, int h); - - /** - * New version of GetMSC so we can pass drawable data to the low - * level DRM driver (e.g. pipe info). Required if - * GLX_SGI_video_sync or GLX_OML_sync_control is supported. - */ - int (*GetDrawableMSC) ( __DRIscreen * priv, - __DRIdrawable *drawablePrivate, - int64_t *count); - - /* DRI2 Entry point */ const __DRIconfig **(*InitScreen2) (__DRIscreen * priv); @@ -234,47 +132,11 @@ struct __DriverAPIRec { extern const struct __DriverAPIRec driDriverAPI; -struct __DRIswapInfoRec { - /** - * Number of swapBuffers operations that have been *completed*. - */ - uint64_t swap_count; - - /** - * Unadjusted system time of the last buffer swap. This is the time - * when the swap completed, not the time when swapBuffers was called. - */ - int64_t swap_ust; - - /** - * Number of swap operations that occurred after the swap deadline. That - * is if a swap happens more than swap_interval frames after the previous - * swap, it has missed its deadline. If swap_interval is 0, then the - * swap deadline is 1 frame after the previous swap. - */ - uint64_t swap_missed_count; - - /** - * Amount of time used by the last swap that missed its deadline. This - * is calculated as (__glXGetUST() - swap_ust) / (swap_interval * - * time_for_single_vrefresh)). If the actual value of swap_interval is - * 0, then 1 is used instead. If swap_missed_count is non-zero, this - * should be greater-than 1.0. - */ - float swap_missed_usage; -}; - - /** * Per-drawable private DRI driver information. */ struct __DRIdrawableRec { /** - * Kernel drawable handle - */ - drm_drawable_t hHWDrawable; - - /** * Driver's private drawable information. * * This structure is opaque. @@ -298,77 +160,15 @@ struct __DRIdrawableRec { int refcount; /** - * Index of this drawable information in the SAREA. - */ - unsigned int index; - - /** - * Pointer to the "drawable has changed ID" stamp in the SAREA (or - * to dri2.stamp if DRI2 is being used). - */ - unsigned int *pStamp; - - /** * Last value of the stamp. * - * If this differs from the value stored at __DRIdrawable::pStamp, + * If this differs from the value stored at __DRIdrawable::dri2.stamp, * then the drawable information has been modified by the X server, and the * drawable information (below) should be retrieved from the X server. */ unsigned int lastStamp; - /** - * \name Drawable - * - * Drawable information used in software fallbacks. - */ - /*@{*/ - int x; - int y; - int w; - int h; - int numClipRects; - drm_clip_rect_t *pClipRects; - /*@}*/ - - /** - * \name Back and depthbuffer - * - * Information about the back and depthbuffer where different from above. - */ - /*@{*/ - int backX; - int backY; - int backClipRectType; - int numBackClipRects; - drm_clip_rect_t *pBackClipRects; - /*@}*/ - - /** - * \name Vertical blank tracking information - * Used for waiting on vertical blank events. - */ - /*@{*/ - unsigned int vblSeq; - unsigned int vblFlags; - /*@}*/ - - /** - * \name Monotonic MSC tracking - * - * Low level driver is responsible for updating msc_base and - * vblSeq values so that higher level code can calculate - * a new msc value or msc target for a WaitMSC call. The new value - * will be: - * msc = msc_base + get_vblank_count() - vblank_base; - * - * And for waiting on a value, core code will use: - * actual_target = target_msc - msc_base + vblank_base; - */ - /*@{*/ - int64_t vblank_base; - int64_t msc_base; - /*@}*/ + int w, h; /** * Pointer to context to which this drawable is currently bound. @@ -381,14 +181,10 @@ struct __DRIdrawableRec { __DRIscreen *driScreenPriv; /** - * Controls swap interval as used by GLX_SGI_swap_control and - * GLX_MESA_swap_control. + * Drawable timestamp. Increased when the loader calls invalidate. */ - unsigned int swap_interval; - struct { unsigned int stamp; - drm_clip_rect_t clipRect; } dri2; }; @@ -397,11 +193,6 @@ struct __DRIdrawableRec { */ struct __DRIcontextRec { /** - * Kernel context handle used to access the device lock. - */ - drm_context_t hHWContext; - - /** * Device driver's private context data. This structure is opaque. */ void *driverPrivate; @@ -447,15 +238,6 @@ struct __DRIscreenRec { struct __DriverAPIRec DriverAPI; const __DRIextension **extensions; - /** - * DDX / 2D driver version information. - */ - __DRIversion ddx_version; - - /** - * DRI X extension version information. - */ - __DRIversion dri_version; /** * DRM (kernel module) version information. @@ -463,14 +245,6 @@ struct __DRIscreenRec { __DRIversion drm_version; /** - * ID used when the client sets the drawable lock. - * - * The X server uses this value to detect if the client has died while - * holding the drawable lock. - */ - int drawLockID; - - /** * File descriptor returned when the kernel device driver is opened. * * Used to: @@ -481,39 +255,6 @@ struct __DRIscreenRec { int fd; /** - * SAREA pointer - * - * Used to access: - * - the device lock - * - the device-independent per-drawable and per-context(?) information - */ - drm_sarea_t *pSAREA; - - /** - * \name Direct frame buffer access information - * Used for software fallbacks. - */ - /*@{*/ - unsigned char *pFB; - int fbSize; - int fbOrigin; - int fbStride; - int fbWidth; - int fbHeight; - int fbBPP; - /*@}*/ - - /** - * \name Device-dependent private information (stored in the SAREA). - * - * This data is accessed by the client driver only. - */ - /*@{*/ - void *pDevPriv; - int devPrivSize; - /*@}*/ - - /** * Device-dependent private information (not stored in the SAREA). * * This pointer is never touched by the DRI layer. @@ -524,23 +265,14 @@ struct __DRIscreenRec { void *private; #endif - /* Extensions provided by the loader. */ - const __DRIgetDrawableInfoExtension *getDrawableInfo; - const __DRIsystemTimeExtension *systemTime; - const __DRIdamageExtension *damage; - struct { /* Flag to indicate that this is a DRI2 screen. Many of the above * fields will not be valid or initializaed in that case. */ - int enabled; __DRIdri2LoaderExtension *loader; __DRIimageLookupExtension *image; __DRIuseInvalidateExtension *useInvalidate; } dri2; - /* The lock actually in use, old sarea or DRI2 */ - drmLock *lock; - driOptionCache optionInfo; driOptionCache optionCache; unsigned int api_mask; @@ -548,16 +280,9 @@ struct __DRIscreenRec { }; extern void -__driUtilUpdateDrawableInfo(__DRIdrawable *pdp); - -extern float -driCalculateSwapUsage( __DRIdrawable *dPriv, - int64_t last_swap_ust, int64_t current_ust ); - -extern GLint -driIntersectArea( drm_clip_rect_t rect1, drm_clip_rect_t rect2 ); +dri2InvalidateDrawable(__DRIdrawable *drawable); extern void -dri2InvalidateDrawable(__DRIdrawable *drawable); +driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv); #endif /* _DRI_UTIL_H_ */ diff --git a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.c b/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.c deleted file mode 100644 index 5e032bd15..000000000 --- a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.c +++ /dev/null @@ -1,200 +0,0 @@ -
-#include "main/mtypes.h"
-#include "main/formats.h"
-#include "main/renderbuffer.h"
-#include "main/imports.h"
-#include "drirenderbuffer.h"
-
-
-/**
- * This will get called when a window (gl_framebuffer) is resized (probably
- * via driUpdateFramebufferSize(), below).
- * Just update width, height and internal format fields for now.
- * There's usually no memory allocation above because the present
- * DRI drivers use statically-allocated full-screen buffers. If that's not
- * the case for a DRI driver, a different AllocStorage method should
- * be used.
- */
-static GLboolean
-driRenderbufferStorage(struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLenum internalFormat, GLuint width, GLuint height)
-{
- rb->Width = width;
- rb->Height = height;
- rb->InternalFormat = internalFormat;
- return GL_TRUE;
-}
-
-
-static void
-driDeleteRenderbuffer(struct gl_renderbuffer *rb)
-{
- /* don't free rb->Data Chances are it's a memory mapped region for
- * the dri drivers.
- */
- free(rb);
-}
-
-
-/**
- * Allocate a new driRenderbuffer object.
- * Individual drivers are free to implement different versions of
- * this function.
- *
- * At this time, this function can only be used for window-system
- * renderbuffers, not user-created RBOs.
- *
- * \param format Either GL_RGBA, GL_DEPTH_COMPONENT16, GL_DEPTH_COMPONENT24,
- * GL_DEPTH_COMPONENT32, or GL_STENCIL_INDEX8_EXT (for now).
- * \param addr address in main memory of the buffer. Probably a memory
- * mapped region.
- * \param cpp chars or bytes per pixel
- * \param offset start of renderbuffer with respect to start of framebuffer
- * \param pitch pixels per row
- */
-driRenderbuffer *
-driNewRenderbuffer(gl_format format, GLvoid *addr,
- GLint cpp, GLint offset, GLint pitch,
- __DRIdrawable *dPriv)
-{
- driRenderbuffer *drb;
-
- assert(cpp > 0);
- assert(pitch > 0);
-
- drb = calloc(1, sizeof(driRenderbuffer));
- if (drb) {
- const GLuint name = 0;
-
- _mesa_init_renderbuffer(&drb->Base, name);
-
- /* Make sure we're using a null-valued GetPointer routine */
- assert(drb->Base.GetPointer(NULL, &drb->Base, 0, 0) == NULL);
-
- switch (format) {
- case MESA_FORMAT_ARGB8888:
- if (cpp == 2) {
- /* override format */
- format = MESA_FORMAT_RGB565;
- }
- drb->Base.DataType = GL_UNSIGNED_BYTE;
- break;
- case MESA_FORMAT_Z16:
- /* Depth */
- /* we always Get/Put 32-bit Z values */
- drb->Base.DataType = GL_UNSIGNED_INT;
- assert(cpp == 2);
- break;
- case MESA_FORMAT_Z32:
- /* Depth */
- /* we always Get/Put 32-bit Z values */
- drb->Base.DataType = GL_UNSIGNED_INT;
- assert(cpp == 4);
- break;
- case MESA_FORMAT_Z24_S8:
- drb->Base.DataType = GL_UNSIGNED_INT_24_8_EXT;
- assert(cpp == 4);
- break;
- case MESA_FORMAT_S8_Z24:
- drb->Base.DataType = GL_UNSIGNED_INT_24_8_EXT;
- assert(cpp == 4);
- break;
- case MESA_FORMAT_S8:
- /* Stencil */
- drb->Base.DataType = GL_UNSIGNED_BYTE;
- break;
- default:
- _mesa_problem(NULL, "Bad format 0x%x in driNewRenderbuffer", format);
- return NULL;
- }
-
- drb->Base.Format = format;
-
- drb->Base.InternalFormat =
- drb->Base._BaseFormat = _mesa_get_format_base_format(format);
-
- drb->Base.AllocStorage = driRenderbufferStorage;
- drb->Base.Delete = driDeleteRenderbuffer;
-
- drb->Base.Data = addr;
-
- /* DRI renderbuffer-specific fields: */
- drb->dPriv = dPriv;
- drb->offset = offset;
- drb->pitch = pitch;
- drb->cpp = cpp;
-
- /* may be changed if page flipping is active: */
- drb->flippedOffset = offset;
- drb->flippedPitch = pitch;
- drb->flippedData = addr;
- }
- return drb;
-}
-
-
-/**
- * Update the front and back renderbuffers' flippedPitch/Offset/Data fields.
- * If stereo, flip both the left and right pairs.
- * This is used when we do double buffering via page flipping.
- * \param fb the framebuffer we're page flipping
- * \param flipped if true, set flipped values, else set non-flipped values
- */
-void
-driFlipRenderbuffers(struct gl_framebuffer *fb, GLboolean flipped)
-{
- const GLuint count = fb->Visual.stereoMode ? 2 : 1;
- GLuint lr; /* left or right */
-
- /* we shouldn't really call this function if single-buffered, but
- * play it safe.
- */
- if (!fb->Visual.doubleBufferMode)
- return;
-
- for (lr = 0; lr < count; lr++) {
- GLuint frontBuf = (lr == 0) ? BUFFER_FRONT_LEFT : BUFFER_FRONT_RIGHT;
- GLuint backBuf = (lr == 0) ? BUFFER_BACK_LEFT : BUFFER_BACK_RIGHT;
- driRenderbuffer *front_drb
- = (driRenderbuffer *) fb->Attachment[frontBuf].Renderbuffer;
- driRenderbuffer *back_drb
- = (driRenderbuffer *) fb->Attachment[backBuf].Renderbuffer;
-
- if (flipped) {
- front_drb->flippedOffset = back_drb->offset;
- front_drb->flippedPitch = back_drb->pitch;
- front_drb->flippedData = back_drb->Base.Data;
- back_drb->flippedOffset = front_drb->offset;
- back_drb->flippedPitch = front_drb->pitch;
- back_drb->flippedData = front_drb->Base.Data;
- }
- else {
- front_drb->flippedOffset = front_drb->offset;
- front_drb->flippedPitch = front_drb->pitch;
- front_drb->flippedData = front_drb->Base.Data;
- back_drb->flippedOffset = back_drb->offset;
- back_drb->flippedPitch = back_drb->pitch;
- back_drb->flippedData = back_drb->Base.Data;
- }
- }
-}
-
-
-/**
- * Check that the gl_framebuffer associated with dPriv is the right size.
- * Resize the gl_framebuffer if needed.
- * It's expected that the dPriv->driverPrivate member points to a
- * gl_framebuffer object.
- */
-void
-driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv)
-{
- struct gl_framebuffer *fb = (struct gl_framebuffer *) dPriv->driverPrivate;
- if (fb && (dPriv->w != fb->Width || dPriv->h != fb->Height)) {
- ctx->Driver.ResizeBuffers(ctx, fb, dPriv->w, dPriv->h);
- /* if the driver needs the hw lock for ResizeBuffers, the drawable
- might have changed again by now */
- assert(fb->Width == dPriv->w);
- assert(fb->Height == dPriv->h);
- }
-}
diff --git a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h b/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h deleted file mode 100644 index b9065b2dd..000000000 --- a/mesalib/src/mesa/drivers/dri/common/drirenderbuffer.h +++ /dev/null @@ -1,71 +0,0 @@ - -/** - * A driRenderbuffer is dervied from gl_renderbuffer. - * It describes a color buffer (front or back), a depth buffer, or stencil - * buffer etc. - * Specific to DRI drivers are the offset and pitch fields. - */ - - -#ifndef DRIRENDERBUFFER_H -#define DRIRENDERBUFFER_H - -#include "main/mtypes.h" -#include "main/formats.h" -#include "dri_util.h" - - -typedef struct { - struct gl_renderbuffer Base; - - /* Chars or bytes per pixel. If Z and Stencil are stored together this - * will typically be 32 whether this a depth or stencil renderbuffer. - */ - GLint cpp; - - /* Buffer position and pitch (row stride). Recall that for today's DRI - * drivers, we have statically allocated color/depth/stencil buffers. - * So this information describes the whole screen, not just a window. - * To address pixels in a window, we need to know the window's position - * and size with respect to the screen. - */ - GLint offset; /* in bytes */ - GLint pitch; /* in pixels */ - - /* If the driver can do page flipping (full-screen double buffering) - * the current front/back buffers may get swapped. - * If page flipping is disabled, these fields will be identical to - * the offset/pitch/Data above. - * If page flipping is enabled, and this is the front(back) renderbuffer, - * flippedOffset/Pitch/Data will have the back(front) renderbuffer's values. - */ - GLint flippedOffset; - GLint flippedPitch; - GLvoid *flippedData; /* mmap'd address of buffer memory, if used */ - - /* Pointer to corresponding __DRIdrawable. This is used to compute - * the window's position within the framebuffer. - */ - __DRIdrawable *dPriv; - - /* XXX this is for radeon/r200 only. We should really create a new - * r200Renderbuffer class, derived from this class... not a huge deal. - */ - GLboolean depthHasSurface; -} driRenderbuffer; - - -extern driRenderbuffer * -driNewRenderbuffer(gl_format format, GLvoid *addr, - GLint cpp, GLint offset, GLint pitch, - __DRIdrawable *dPriv); - -extern void -driFlipRenderbuffers(struct gl_framebuffer *fb, GLboolean flipped); - - -extern void -driUpdateFramebufferSize(struct gl_context *ctx, const __DRIdrawable *dPriv); - - -#endif /* DRIRENDERBUFFER_H */ diff --git a/mesalib/src/mesa/drivers/dri/common/memops.h b/mesalib/src/mesa/drivers/dri/common/memops.h deleted file mode 100644 index 9cd1d8ec3..000000000 --- a/mesalib/src/mesa/drivers/dri/common/memops.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef DRIMEMSETIO_H -#define DRIMEMSETIO_H -/* -* memset an area in I/O space -* We need to be careful about this on some archs -*/ -static INLINE void drimemsetio(void* address, int c, int size) -{ -#if defined(__powerpc__) || defined(__ia64__) - int i; - for(i=0;i<size;i++) - *((char *)address + i)=c; -#else - memset(address,c,size); -#endif -} -#endif diff --git a/mesalib/src/mesa/drivers/dri/common/spantmp_common.h b/mesalib/src/mesa/drivers/dri/common/spantmp_common.h index a4509a569..8916e7b0c 100644 --- a/mesalib/src/mesa/drivers/dri/common/spantmp_common.h +++ b/mesalib/src/mesa/drivers/dri/common/spantmp_common.h @@ -49,17 +49,14 @@ #ifndef HW_CLIPLOOP #define HW_CLIPLOOP() \ do { \ - int _nc = dPriv->numClipRects; \ - while ( _nc-- ) { \ - int minx = dPriv->pClipRects[_nc].x1 - dPriv->x; \ - int miny = dPriv->pClipRects[_nc].y1 - dPriv->y; \ - int maxx = dPriv->pClipRects[_nc].x2 - dPriv->x; \ - int maxy = dPriv->pClipRects[_nc].y2 - dPriv->y; + int minx = 0; \ + int miny = 0; \ + int maxx = dPriv->w; \ + int maxy = dPriv->h; #endif #ifndef HW_ENDCLIPLOOP #define HW_ENDCLIPLOOP() \ - } \ } while (0) #endif diff --git a/mesalib/src/mesa/drivers/dri/common/texmem.c b/mesalib/src/mesa/drivers/dri/common/texmem.c deleted file mode 100644 index 798ef1ee8..000000000 --- a/mesalib/src/mesa/drivers/dri/common/texmem.c +++ /dev/null @@ -1,1341 +0,0 @@ -/* - * Copyright 2000-2001 VA Linux Systems, Inc. - * (C) Copyright IBM Corporation 2002, 2003 - * 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 - * on the rights to use, copy, modify, merge, publish, distribute, sub - * license, 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 (including the next - * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL - * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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: - * Ian Romanick <idr@us.ibm.com> - * Keith Whitwell <keithw@tungstengraphics.com> - * Kevin E. Martin <kem@users.sourceforge.net> - * Gareth Hughes <gareth@nvidia.com> - */ - -/** \file texmem.c - * Implements all of the device-independent texture memory management. - * - * Currently, only a simple LRU texture memory management policy is - * implemented. In the (hopefully very near) future, better policies will be - * implemented. The idea is that the DRI should be able to run in one of two - * modes. In the default mode the DRI will dynamically attempt to discover - * the best texture management policy for the running application. In the - * other mode, the user (via some sort of as yet TBD mechanism) will select - * a texture management policy that is known to work well with the - * application. - */ - -#include "main/imports.h" -#include "main/macros.h" -#include "main/simple_list.h" -#include "texmem.h" - - -static unsigned dummy_swap_counter; - - -/** - * Calculate \f$\log_2\f$ of a value. This is a particularly poor - * implementation of this function. However, since system performance is in - * no way dependent on this function, the slowness of the implementation is - * irrelevent. - * - * \param n Value whose \f$\log_2\f$ is to be calculated - */ - -static GLuint -driLog2( GLuint n ) -{ - GLuint log2; - - for ( log2 = 1 ; n > 1 ; log2++ ) { - n >>= 1; - } - - return log2; -} - - - - -/** - * Determine if a texture is resident in textureable memory. Depending on - * the driver, this may or may not be on-card memory. It could be AGP memory - * or anyother type of memory from which the hardware can directly read - * texels. - * - * This function is intended to be used as the \c IsTextureResident function - * in the device's \c dd_function_table. - * - * \param ctx GL context pointer (currently unused) - * \param texObj Texture object to be tested - */ - -GLboolean -driIsTextureResident( struct gl_context * ctx, - struct gl_texture_object * texObj ) -{ - driTextureObject * t; - - - t = (driTextureObject *) texObj->DriverData; - return( (t != NULL) && (t->memBlock != NULL) ); -} - - - - -/** - * (Re)initialize the global circular LRU list. The last element - * in the array (\a heap->nrRegions) is the sentinal. Keeping it - * at the end of the array allows the other elements of the array - * to be addressed rationally when looking up objects at a particular - * location in texture memory. - * - * \param heap Texture heap to be reset - */ - -static void resetGlobalLRU( driTexHeap * heap ) -{ - drmTextureRegionPtr list = heap->global_regions; - unsigned sz = 1U << heap->logGranularity; - unsigned i; - - for (i = 0 ; (i+1) * sz <= heap->size ; i++) { - list[i].prev = i-1; - list[i].next = i+1; - list[i].age = 0; - } - - i--; - list[0].prev = heap->nrRegions; - list[i].prev = i-1; - list[i].next = heap->nrRegions; - list[heap->nrRegions].prev = i; - list[heap->nrRegions].next = 0; - heap->global_age[0] = 0; -} - -/** - * Print out debugging information about the local texture LRU. - * - * \param heap Texture heap to be printed - * \param callername Name of calling function - */ -static void printLocalLRU( driTexHeap * heap, const char *callername ) -{ - driTextureObject *t; - unsigned sz = 1U << heap->logGranularity; - - fprintf( stderr, "%s in %s:\nLocal LRU, heap %d:\n", - __FUNCTION__, callername, heap->heapId ); - - foreach ( t, &heap->texture_objects ) { - if (!t->memBlock) - continue; - if (!t->tObj) { - fprintf( stderr, "Placeholder (%p) %d at 0x%x sz 0x%x\n", - (void *)t, - t->memBlock->ofs / sz, - t->memBlock->ofs, - t->memBlock->size ); - } else { - fprintf( stderr, "Texture (%p) at 0x%x sz 0x%x\n", - (void *)t, - t->memBlock->ofs, - t->memBlock->size ); - } - } - foreach ( t, heap->swapped_objects ) { - if (!t->tObj) { - fprintf( stderr, "Swapped Placeholder (%p)\n", (void *)t ); - } else { - fprintf( stderr, "Swapped Texture (%p)\n", (void *)t ); - } - } - - fprintf( stderr, "\n" ); -} - -/** - * Print out debugging information about the global texture LRU. - * - * \param heap Texture heap to be printed - * \param callername Name of calling function - */ -static void printGlobalLRU( driTexHeap * heap, const char *callername ) -{ - drmTextureRegionPtr list = heap->global_regions; - unsigned int i, j; - - fprintf( stderr, "%s in %s:\nGlobal LRU, heap %d list %p:\n", - __FUNCTION__, callername, heap->heapId, (void *)list ); - - for ( i = 0, j = heap->nrRegions ; i < heap->nrRegions ; i++ ) { - fprintf( stderr, "list[%d] age %d next %d prev %d in_use %d\n", - j, list[j].age, list[j].next, list[j].prev, list[j].in_use ); - j = list[j].next; - if ( j == heap->nrRegions ) break; - } - - if ( j != heap->nrRegions ) { - fprintf( stderr, "Loop detected in global LRU\n" ); - for ( i = 0 ; i < heap->nrRegions ; i++ ) { - fprintf( stderr, "list[%d] age %d next %d prev %d in_use %d\n", - i, list[i].age, list[i].next, list[i].prev, list[i].in_use ); - } - } - - fprintf( stderr, "\n" ); -} - - -/** - * Called by the client whenever it touches a local texture. - * - * \param t Texture object that the client has accessed - */ - -void driUpdateTextureLRU( driTextureObject * t ) -{ - driTexHeap * heap; - drmTextureRegionPtr list; - unsigned shift; - unsigned start; - unsigned end; - unsigned i; - - - heap = t->heap; - if ( heap != NULL ) { - shift = heap->logGranularity; - start = t->memBlock->ofs >> shift; - end = (t->memBlock->ofs + t->memBlock->size - 1) >> shift; - - - heap->local_age = ++heap->global_age[0]; - list = heap->global_regions; - - - /* Update the context's local LRU - */ - - move_to_head( & heap->texture_objects, t ); - - - for (i = start ; i <= end ; i++) { - list[i].age = heap->local_age; - - /* remove_from_list(i) - */ - list[(unsigned)list[i].next].prev = list[i].prev; - list[(unsigned)list[i].prev].next = list[i].next; - - /* insert_at_head(list, i) - */ - list[i].prev = heap->nrRegions; - list[i].next = list[heap->nrRegions].next; - list[(unsigned)list[heap->nrRegions].next].prev = i; - list[heap->nrRegions].next = i; - } - - if ( 0 ) { - printGlobalLRU( heap, __FUNCTION__ ); - printLocalLRU( heap, __FUNCTION__ ); - } - } -} - - - - -/** - * Keep track of swapped out texture objects. - * - * \param t Texture object to be "swapped" out of its texture heap - */ - -void driSwapOutTextureObject( driTextureObject * t ) -{ - unsigned face; - - - if ( t->memBlock != NULL ) { - assert( t->heap != NULL ); - mmFreeMem( t->memBlock ); - t->memBlock = NULL; - - if (t->timestamp > t->heap->timestamp) - t->heap->timestamp = t->timestamp; - - t->heap->texture_swaps[0]++; - move_to_tail( t->heap->swapped_objects, t ); - t->heap = NULL; - } - else { - assert( t->heap == NULL ); - } - - - for ( face = 0 ; face < 6 ; face++ ) { - t->dirty_images[face] = ~0; - } -} - - - - -/** - * Destroy hardware state associated with texture \a t. Calls the - * \a destroy_texture_object method associated with the heap from which - * \a t was allocated. - * - * \param t Texture object to be destroyed - */ - -void driDestroyTextureObject( driTextureObject * t ) -{ - driTexHeap * heap; - - - if ( 0 ) { - fprintf( stderr, "[%s:%d] freeing %p (tObj = %p, DriverData = %p)\n", - __FILE__, __LINE__, - (void *)t, - (void *)((t != NULL) ? t->tObj : NULL), - (void *)((t != NULL && t->tObj != NULL) ? t->tObj->DriverData : NULL )); - } - - if ( t != NULL ) { - if ( t->memBlock ) { - heap = t->heap; - assert( heap != NULL ); - - heap->texture_swaps[0]++; - - mmFreeMem( t->memBlock ); - t->memBlock = NULL; - - if (t->timestamp > t->heap->timestamp) - t->heap->timestamp = t->timestamp; - - heap->destroy_texture_object( heap->driverContext, t ); - t->heap = NULL; - } - - if ( t->tObj != NULL ) { - assert( t->tObj->DriverData == t ); - t->tObj->DriverData = NULL; - } - - remove_from_list( t ); - FREE( t ); - } - - if ( 0 ) { - fprintf( stderr, "[%s:%d] done freeing %p\n", __FILE__, __LINE__, (void *)t ); - } -} - - - - -/** - * Update the local heap's representation of texture memory based on - * data in the SAREA. This is done each time it is detected that some other - * direct rendering client has held the lock. This pertains to both our local - * textures and the textures belonging to other clients. Keep track of other - * client's textures by pushing a placeholder texture onto the LRU list -- - * these are denoted by \a tObj being \a NULL. - * - * \param heap Heap whose state is to be updated - * \param offset Byte offset in the heap that has been stolen - * \param size Size, in bytes, of the stolen block - * \param in_use Non-zero if the block is pinned/reserved by the kernel - */ - -static void driTexturesGone( driTexHeap * heap, int offset, int size, - int in_use ) -{ - driTextureObject * t; - driTextureObject * tmp; - - - foreach_s ( t, tmp, & heap->texture_objects ) { - if ( (t->memBlock->ofs < (offset + size)) - && ((t->memBlock->ofs + t->memBlock->size) > offset) ) { - /* It overlaps - kick it out. If the texture object is just a - * place holder, then destroy it all together. Otherwise, mark - * it as being swapped out. - */ - - if ( t->tObj != NULL ) { - driSwapOutTextureObject( t ); - } - else { - driDestroyTextureObject( t ); - } - } - } - - - { - t = (driTextureObject *) CALLOC( heap->texture_object_size ); - if ( t == NULL ) return; - - t->memBlock = mmAllocMem( heap->memory_heap, size, 0, offset ); - if ( t->memBlock == NULL ) { - fprintf( stderr, "Couldn't alloc placeholder: heap %u sz %x ofs %x\n", heap->heapId, - (int)size, (int)offset ); - mmDumpMemInfo( heap->memory_heap ); - FREE(t); - return; - } - t->heap = heap; - if (in_use) - t->reserved = 1; - insert_at_head( & heap->texture_objects, t ); - } -} - - - - -/** - * Called by the client on lock contention to determine whether textures have - * been stolen. If another client has modified a region in which we have - * textures, then we need to figure out which of our textures have been - * removed and update our global LRU. - * - * \param heap Texture heap to be updated - */ - -void driAgeTextures( driTexHeap * heap ) -{ - drmTextureRegionPtr list = heap->global_regions; - unsigned sz = 1U << (heap->logGranularity); - unsigned i, nr = 0; - - - /* Have to go right round from the back to ensure stuff ends up - * LRU in the local list... Fix with a cursor pointer. - */ - - for (i = list[heap->nrRegions].prev ; - i != heap->nrRegions && nr < heap->nrRegions ; - i = list[i].prev, nr++) { - /* If switching texturing schemes, then the SAREA might not have been - * properly cleared, so we need to reset the global texture LRU. - */ - - if ( (i * sz) > heap->size ) { - nr = heap->nrRegions; - break; - } - - if (list[i].age > heap->local_age) - driTexturesGone( heap, i * sz, sz, list[i].in_use); - } - - /* Loop or uninitialized heap detected. Reset. - */ - - if (nr == heap->nrRegions) { - driTexturesGone( heap, 0, heap->size, 0); - resetGlobalLRU( heap ); - } - - if ( 0 ) { - printGlobalLRU( heap, __FUNCTION__ ); - printLocalLRU( heap, __FUNCTION__ ); - } - - heap->local_age = heap->global_age[0]; -} - - - - -#define INDEX_ARRAY_SIZE 6 /* I'm not aware of driver with more than 2 heaps */ - -/** - * Allocate memory from a texture heap to hold a texture object. This - * routine will attempt to allocate memory for the texture from the heaps - * specified by \c heap_array in order. That is, first it will try to - * allocate from \c heap_array[0], then \c heap_array[1], and so on. - * - * \param heap_array Array of pointers to texture heaps to use - * \param nr_heaps Number of heap pointer in \a heap_array - * \param t Texture object for which space is needed - * \return The ID of the heap from which memory was allocated, or -1 if - * memory could not be allocated. - * - * \bug The replacement policy implemented by this function is horrible. - */ - - -int -driAllocateTexture( driTexHeap * const * heap_array, unsigned nr_heaps, - driTextureObject * t ) -{ - driTexHeap * heap; - driTextureObject * temp; - driTextureObject * cursor; - unsigned id; - - - /* In case it already has texture space, initialize heap. This also - * prevents GCC from issuing a warning that heap might be used - * uninitialized. - */ - - heap = t->heap; - - - /* Run through each of the existing heaps and try to allocate a buffer - * to hold the texture. - */ - - for ( id = 0 ; (t->memBlock == NULL) && (id < nr_heaps) ; id++ ) { - heap = heap_array[ id ]; - if ( heap != NULL ) { - t->memBlock = mmAllocMem( heap->memory_heap, t->totalSize, - heap->alignmentShift, 0 ); - } - } - - - /* Kick textures out until the requested texture fits. - */ - - if ( t->memBlock == NULL ) { - unsigned index[INDEX_ARRAY_SIZE]; - unsigned nrGoodHeaps = 0; - - /* Trying to avoid dynamic memory allocation. If you have more - * heaps, increase INDEX_ARRAY_SIZE. I'm not aware of any - * drivers with more than 2 tex heaps. */ - assert( nr_heaps < INDEX_ARRAY_SIZE ); - - /* Sort large enough heaps by duty. Insertion sort should be - * fast enough for such a short array. */ - for ( id = 0 ; id < nr_heaps ; id++ ) { - heap = heap_array[ id ]; - - if ( heap != NULL && t->totalSize <= heap->size ) { - unsigned j; - - for ( j = 0 ; j < nrGoodHeaps; j++ ) { - if ( heap->duty > heap_array[ index[ j ] ]->duty ) - break; - } - - if ( j < nrGoodHeaps ) { - memmove( &index[ j+1 ], &index[ j ], - sizeof(index[ 0 ]) * (nrGoodHeaps - j) ); - } - - index[ j ] = id; - - nrGoodHeaps++; - } - } - - for ( id = 0 ; (t->memBlock == NULL) && (id < nrGoodHeaps) ; id++ ) { - heap = heap_array[ index[ id ] ]; - - for ( cursor = heap->texture_objects.prev, temp = cursor->prev; - cursor != &heap->texture_objects ; - cursor = temp, temp = cursor->prev ) { - - /* The the LRU element. If the texture is bound to one of - * the texture units, then we cannot kick it out. - */ - if ( cursor->bound || cursor->reserved ) { - continue; - } - - if ( cursor->memBlock ) - heap->duty -= cursor->memBlock->size; - - /* If this is a placeholder, there's no need to keep it */ - if (cursor->tObj) - driSwapOutTextureObject( cursor ); - else - driDestroyTextureObject( cursor ); - - t->memBlock = mmAllocMem( heap->memory_heap, t->totalSize, - heap->alignmentShift, 0 ); - - if (t->memBlock) - break; - } - } - - /* Rebalance duties. If a heap kicked more data than its duty, - * then all other heaps get that amount multiplied with their - * relative weight added to their duty. The negative duty is - * reset to 0. In the end all heaps have a duty >= 0. - * - * CAUTION: we must not change the heap pointer here, because it - * is used below to update the texture object. - */ - for ( id = 0 ; id < nr_heaps ; id++ ) - if ( heap_array[ id ] != NULL && heap_array[ id ]->duty < 0) { - int duty = -heap_array[ id ]->duty; - double weight = heap_array[ id ]->weight; - unsigned j; - - for ( j = 0 ; j < nr_heaps ; j++ ) - if ( j != id && heap_array[ j ] != NULL ) { - heap_array[ j ]->duty += (double) duty * - heap_array[ j ]->weight / weight; - } - - heap_array[ id ]->duty = 0; - } - } - - - if ( t->memBlock != NULL ) { - /* id and heap->heapId may or may not be the same value here. - */ - - assert( heap != NULL ); - assert( (t->heap == NULL) || (t->heap == heap) ); - - t->heap = heap; - return heap->heapId; - } - else { - assert( t->heap == NULL ); - - fprintf( stderr, "[%s:%d] unable to allocate texture\n", - __FUNCTION__, __LINE__ ); - return -1; - } -} - - - - - - -/** - * Set the location where the texture-swap counter is stored. - */ - -void -driSetTextureSwapCounterLocation( driTexHeap * heap, unsigned * counter ) -{ - heap->texture_swaps = (counter == NULL) ? & dummy_swap_counter : counter; -} - - - - -/** - * Create a new heap for texture data. - * - * \param heap_id Device-dependent heap identifier. This value - * will returned by driAllocateTexture when memory - * is allocated from this heap. - * \param context Device-dependent driver context. This is - * supplied as the first parameter to the - * \c destroy_tex_obj function. - * \param size Size, in bytes, of the texture region - * \param alignmentShift Alignment requirement for textures. If textures - * must be allocated on a 4096 byte boundry, this - * would be 12. - * \param nr_regions Number of regions into which this texture space - * should be partitioned - * \param global_regions Array of \c drmTextureRegion structures in the SAREA - * \param global_age Pointer to the global texture age in the SAREA - * \param swapped_objects Pointer to the list of texture objects that are - * not in texture memory (i.e., have been swapped - * out). - * \param texture_object_size Size, in bytes, of a device-dependent texture - * object - * \param destroy_tex_obj Function used to destroy a device-dependent - * texture object - * - * \sa driDestroyTextureHeap - */ - -driTexHeap * -driCreateTextureHeap( unsigned heap_id, void * context, unsigned size, - unsigned alignmentShift, unsigned nr_regions, - drmTextureRegionPtr global_regions, unsigned * global_age, - driTextureObject * swapped_objects, - unsigned texture_object_size, - destroy_texture_object_t * destroy_tex_obj - ) -{ - driTexHeap * heap; - unsigned l; - - - if ( 0 ) - fprintf( stderr, "%s( %u, %p, %u, %u, %u )\n", - __FUNCTION__, - heap_id, (void *)context, size, alignmentShift, nr_regions ); - - heap = (driTexHeap *) CALLOC( sizeof( driTexHeap ) ); - if ( heap != NULL ) { - l = driLog2( (size - 1) / nr_regions ); - if ( l < alignmentShift ) - { - l = alignmentShift; - } - - heap->logGranularity = l; - heap->size = size & ~((1L << l) - 1); - - heap->memory_heap = mmInit( 0, heap->size ); - if ( heap->memory_heap != NULL ) { - heap->heapId = heap_id; - heap->driverContext = context; - - heap->alignmentShift = alignmentShift; - heap->nrRegions = nr_regions; - heap->global_regions = global_regions; - heap->global_age = global_age; - heap->swapped_objects = swapped_objects; - heap->texture_object_size = texture_object_size; - heap->destroy_texture_object = destroy_tex_obj; - - /* Force global heap init */ - if (heap->global_age[0] == 0) - heap->local_age = ~0; - else - heap->local_age = 0; - - make_empty_list( & heap->texture_objects ); - driSetTextureSwapCounterLocation( heap, NULL ); - - heap->weight = heap->size; - heap->duty = 0; - } - else { - FREE( heap ); - heap = NULL; - } - } - - - if ( 0 ) - fprintf( stderr, "%s returning %p\n", __FUNCTION__, (void *)heap ); - - return heap; -} - - - - -/** Destroys a texture heap - * - * \param heap Texture heap to be destroyed - */ - -void -driDestroyTextureHeap( driTexHeap * heap ) -{ - driTextureObject * t; - driTextureObject * temp; - - - if ( heap != NULL ) { - foreach_s( t, temp, & heap->texture_objects ) { - driDestroyTextureObject( t ); - } - foreach_s( t, temp, heap->swapped_objects ) { - driDestroyTextureObject( t ); - } - - mmDestroy( heap->memory_heap ); - FREE( heap ); - } -} - - - - -/****************************************************************************/ -/** - * Determine how many texels (including all mipmap levels) would be required - * for a texture map of size \f$2^^\c base_size_log2\f$ would require. - * - * \param base_size_log2 \f$log_2\f$ of the size of a side of the texture - * \param dimensions Number of dimensions of the texture. Either 2 or 3. - * \param faces Number of faces of the texture. Either 1 or 6 (for cube maps). - * \return Number of texels - */ - -static unsigned -texels_this_map_size( int base_size_log2, unsigned dimensions, unsigned faces ) -{ - unsigned texels; - - - assert( (faces == 1) || (faces == 6) ); - assert( (dimensions == 2) || (dimensions == 3) ); - - texels = 0; - if ( base_size_log2 >= 0 ) { - texels = (1U << (dimensions * base_size_log2)); - - /* See http://www.mail-archive.com/dri-devel@lists.sourceforge.net/msg03636.html - * for the complete explaination of why this formulation is used. - * Basically, the smaller mipmap levels sum to 0.333 the size of the - * level 0 map. The total size is therefore the size of the map - * multipled by 1.333. The +2 is there to round up. - */ - - texels = (texels * 4 * faces + 2) / 3; - } - - return texels; -} - - - - -struct maps_per_heap { - unsigned c[32]; -}; - -static void -fill_in_maximums( driTexHeap * const * heaps, unsigned nr_heaps, - unsigned max_bytes_per_texel, unsigned max_size, - unsigned mipmaps_at_once, unsigned dimensions, - unsigned faces, struct maps_per_heap * max_textures ) -{ - unsigned heap; - unsigned log2_size; - unsigned mask; - - - /* Determine how many textures of each size can be stored in each - * texture heap. - */ - - for ( heap = 0 ; heap < nr_heaps ; heap++ ) { - if ( heaps[ heap ] == NULL ) { - (void) memset( max_textures[ heap ].c, 0, - sizeof( max_textures[ heap ].c ) ); - continue; - } - - mask = (1U << heaps[ heap ]->logGranularity) - 1; - - if ( 0 ) { - fprintf( stderr, "[%s:%d] heap[%u] = %u bytes, mask = 0x%08x\n", - __FILE__, __LINE__, - heap, heaps[ heap ]->size, mask ); - } - - for ( log2_size = max_size ; log2_size > 0 ; log2_size-- ) { - unsigned total; - - - /* Determine the total number of bytes required by a texture of - * size log2_size. - */ - - total = texels_this_map_size( log2_size, dimensions, faces ) - - texels_this_map_size( log2_size - mipmaps_at_once, - dimensions, faces ); - total *= max_bytes_per_texel; - total = (total + mask) & ~mask; - - /* The number of textures of a given size that will fit in a heap - * is equal to the size of the heap divided by the size of the - * texture. - */ - - max_textures[ heap ].c[ log2_size ] = heaps[ heap ]->size / total; - - if ( 0 ) { - fprintf( stderr, "[%s:%d] max_textures[%u].c[%02u] " - "= 0x%08x / 0x%08x " - "= %u (%u)\n", - __FILE__, __LINE__, - heap, log2_size, - heaps[ heap ]->size, total, - heaps[ heap ]->size / total, - max_textures[ heap ].c[ log2_size ] ); - } - } - } -} - - -static unsigned -get_max_size( unsigned nr_heaps, - unsigned texture_units, - unsigned max_size, - int all_textures_one_heap, - struct maps_per_heap * max_textures ) -{ - unsigned heap; - unsigned log2_size; - - - /* Determine the largest texture size such that a texture of that size - * can be bound to each texture unit at the same time. Some hardware - * may require that all textures be in the same texture heap for - * multitexturing. - */ - - for ( log2_size = max_size ; log2_size > 0 ; log2_size-- ) { - unsigned total = 0; - - for ( heap = 0 ; heap < nr_heaps ; heap++ ) - { - total += max_textures[ heap ].c[ log2_size ]; - - if ( 0 ) { - fprintf( stderr, "[%s:%d] max_textures[%u].c[%02u] = %u, " - "total = %u\n", __FILE__, __LINE__, heap, log2_size, - max_textures[ heap ].c[ log2_size ], total ); - } - - if ( (max_textures[ heap ].c[ log2_size ] >= texture_units) - || (!all_textures_one_heap && (total >= texture_units)) ) { - /* The number of mipmap levels is the log-base-2 of the - * maximum texture size plus 1. If the maximum texture size - * is 1x1, the log-base-2 is 0 and 1 mipmap level (the base - * level) is available. - */ - - return log2_size + 1; - } - } - } - - /* This should NEVER happen. It should always be possible to have at - * *least* a 1x1 texture in memory! - */ - assert( log2_size != 0 ); - return 0; -} - -#define SET_MAX(f,v) \ - do { if ( max_sizes[v] != 0 ) { limits-> f = max_sizes[v]; } } while( 0 ) - -#define SET_MAX_RECT(f,v) \ - do { if ( max_sizes[v] != 0 ) { limits-> f = 1 << (max_sizes[v] - 1); } } while( 0 ) - - -/** - * Given the amount of texture memory, the number of texture units, and the - * maximum size of a texel, calculate the maximum texture size the driver can - * advertise. - * - * \param heaps Texture heaps for this card - * \param nr_heap Number of texture heaps - * \param limits OpenGL contants. MaxTextureUnits must be set. - * \param max_bytes_per_texel Maximum size of a single texel, in bytes - * \param max_2D_size \f$\log_2\f$ of the maximum 2D texture size (i.e., - * 1024x1024 textures, this would be 10) - * \param max_3D_size \f$\log_2\f$ of the maximum 3D texture size (i.e., - * 1024x1024x1024 textures, this would be 10) - * \param max_cube_size \f$\log_2\f$ of the maximum cube texture size (i.e., - * 1024x1024 textures, this would be 10) - * \param max_rect_size \f$\log_2\f$ of the maximum texture rectangle size - * (i.e., 1024x1024 textures, this would be 10). This is a power-of-2 - * even though texture rectangles need not be a power-of-2. - * \param mipmaps_at_once Total number of mipmaps that can be used - * at one time. For most hardware this will be \f$\c max_size + 1\f$. - * For hardware that does not support mipmapping, this will be 1. - * \param all_textures_one_heap True if the hardware requires that all - * textures be in a single texture heap for multitexturing. - * \param allow_larger_textures 0 conservative, 1 calculate limits - * so at least one worst-case texture can fit, 2 just use hw limits. - */ - -void -driCalculateMaxTextureLevels( driTexHeap * const * heaps, - unsigned nr_heaps, - struct gl_constants * limits, - unsigned max_bytes_per_texel, - unsigned max_2D_size, - unsigned max_3D_size, - unsigned max_cube_size, - unsigned max_rect_size, - unsigned mipmaps_at_once, - int all_textures_one_heap, - int allow_larger_textures ) -{ - struct maps_per_heap max_textures[8]; - unsigned i; - const unsigned dimensions[4] = { 2, 3, 2, 2 }; - const unsigned faces[4] = { 1, 1, 6, 1 }; - unsigned max_sizes[4]; - unsigned mipmaps[4]; - - - max_sizes[0] = max_2D_size; - max_sizes[1] = max_3D_size; - max_sizes[2] = max_cube_size; - max_sizes[3] = max_rect_size; - - mipmaps[0] = mipmaps_at_once; - mipmaps[1] = mipmaps_at_once; - mipmaps[2] = mipmaps_at_once; - mipmaps[3] = 1; - - - /* Calculate the maximum number of texture levels in two passes. The - * first pass determines how many textures of each power-of-two size - * (including all mipmap levels for that size) can fit in each texture - * heap. The second pass finds the largest texture size that allows - * a texture of that size to be bound to every texture unit. - */ - - for ( i = 0 ; i < 4 ; i++ ) { - if ( (allow_larger_textures != 2) && (max_sizes[ i ] != 0) ) { - fill_in_maximums( heaps, nr_heaps, max_bytes_per_texel, - max_sizes[ i ], mipmaps[ i ], - dimensions[ i ], faces[ i ], - max_textures ); - - max_sizes[ i ] = get_max_size( nr_heaps, - allow_larger_textures == 1 ? - 1 : limits->MaxTextureUnits, - max_sizes[ i ], - all_textures_one_heap, - max_textures ); - } - else if (max_sizes[ i ] != 0) { - max_sizes[ i ] += 1; - } - } - - SET_MAX( MaxTextureLevels, 0 ); - SET_MAX( Max3DTextureLevels, 1 ); - SET_MAX( MaxCubeTextureLevels, 2 ); - SET_MAX_RECT( MaxTextureRectSize, 3 ); -} - - - - -/** - * Perform initial binding of default textures objects on a per unit, per - * texture target basis. - * - * \param ctx Current OpenGL context - * \param swapped List of swapped-out textures - * \param targets Bit-mask of value texture targets - */ - -void driInitTextureObjects( struct gl_context *ctx, driTextureObject * swapped, - GLuint targets ) -{ - struct gl_texture_object *texObj; - GLuint tmp = ctx->Texture.CurrentUnit; - unsigned i; - - - for ( i = 0 ; i < ctx->Const.MaxTextureUnits ; i++ ) { - ctx->Texture.CurrentUnit = i; - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_1D) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_1D_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_1D, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_2D) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_2D_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_2D, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_3D) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_3D_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_3D, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_CUBE) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_CUBE_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_CUBE_MAP_ARB, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - - if ( (targets & DRI_TEXMGR_DO_TEXTURE_RECT) != 0 ) { - texObj = ctx->Texture.Unit[i].CurrentTex[TEXTURE_RECT_INDEX]; - ctx->Driver.BindTexture( ctx, GL_TEXTURE_RECTANGLE_NV, texObj ); - move_to_tail( swapped, (driTextureObject *) texObj->DriverData ); - } - } - - ctx->Texture.CurrentUnit = tmp; -} - - - - -/** - * Verify that the specified texture is in the specificed heap. - * - * \param tex Texture to be tested. - * \param heap Texture memory heap to be tested. - * \return True if the texture is in the heap, false otherwise. - */ - -static GLboolean -check_in_heap( const driTextureObject * tex, const driTexHeap * heap ) -{ -#if 1 - return tex->heap == heap; -#else - driTextureObject * curr; - - foreach( curr, & heap->texture_objects ) { - if ( curr == tex ) { - break; - } - } - - return curr == tex; -#endif -} - - - -/****************************************************************************/ -/** - * Validate the consistency of a set of texture heaps. - * Original version by Keith Whitwell in r200/r200_sanity.c. - */ - -GLboolean -driValidateTextureHeaps( driTexHeap * const * texture_heaps, - unsigned nr_heaps, const driTextureObject * swapped ) -{ - driTextureObject *t; - unsigned i; - - for ( i = 0 ; i < nr_heaps ; i++ ) { - int last_end = 0; - unsigned textures_in_heap = 0; - unsigned blocks_in_mempool = 0; - const driTexHeap * heap = texture_heaps[i]; - const struct mem_block *p = heap->memory_heap; - - /* Check each texture object has a MemBlock, and is linked into - * the correct heap. - * - * Check the texobj base address corresponds to the MemBlock - * range. Check the texobj size (recalculate?) fits within - * the MemBlock. - * - * Count the number of texobj's using this heap. - */ - - foreach ( t, &heap->texture_objects ) { - if ( !check_in_heap( t, heap ) ) { - fprintf( stderr, "%s memory block for texture object @ %p not " - "found in heap #%d\n", - __FUNCTION__, (void *)t, i ); - return GL_FALSE; - } - - - if ( t->totalSize > t->memBlock->size ) { - fprintf( stderr, "%s: Memory block for texture object @ %p is " - "only %u bytes, but %u are required\n", - __FUNCTION__, (void *)t, t->totalSize, t->memBlock->size ); - return GL_FALSE; - } - - textures_in_heap++; - } - - /* Validate the contents of the heap: - * - Ordering - * - Overlaps - * - Bounds - */ - - while ( p != NULL ) { - if (p->reserved) { - fprintf( stderr, "%s: Block (%08x,%x), is reserved?!\n", - __FUNCTION__, p->ofs, p->size ); - return GL_FALSE; - } - - if (p->ofs != last_end) { - fprintf( stderr, "%s: blocks_in_mempool = %d, last_end = %d, p->ofs = %d\n", - __FUNCTION__, blocks_in_mempool, last_end, p->ofs ); - return GL_FALSE; - } - - if (!p->reserved && !p->free) { - blocks_in_mempool++; - } - - last_end = p->ofs + p->size; - p = p->next; - } - - if (textures_in_heap != blocks_in_mempool) { - fprintf( stderr, "%s: Different number of textures objects (%u) and " - "inuse memory blocks (%u)\n", - __FUNCTION__, textures_in_heap, blocks_in_mempool ); - return GL_FALSE; - } - -#if 0 - fprintf( stderr, "%s: textures_in_heap = %u\n", - __FUNCTION__, textures_in_heap ); -#endif - } - - - /* Check swapped texobj's have zero memblocks - */ - i = 0; - foreach ( t, swapped ) { - if ( t->memBlock != NULL ) { - fprintf( stderr, "%s: Swapped texobj %p has non-NULL memblock %p\n", - __FUNCTION__, (void *)t, (void *)t->memBlock ); - return GL_FALSE; - } - i++; - } - -#if 0 - fprintf( stderr, "%s: swapped texture count = %u\n", __FUNCTION__, i ); -#endif - - return GL_TRUE; -} - - - - -/****************************************************************************/ -/** - * Compute which mipmap levels that really need to be sent to the hardware. - * This depends on the base image size, GL_TEXTURE_MIN_LOD, - * GL_TEXTURE_MAX_LOD, GL_TEXTURE_BASE_LEVEL, and GL_TEXTURE_MAX_LEVEL. - */ - -void -driCalculateTextureFirstLastLevel( driTextureObject * t ) -{ - struct gl_texture_object * const tObj = t->tObj; - const struct gl_texture_image * const baseImage = - tObj->Image[0][tObj->BaseLevel]; - - /* These must be signed values. MinLod and MaxLod can be negative numbers, - * and having firstLevel and lastLevel as signed prevents the need for - * extra sign checks. - */ - int firstLevel; - int lastLevel; - - /* Yes, this looks overly complicated, but it's all needed. - */ - - switch (tObj->Target) { - case GL_TEXTURE_1D: - case GL_TEXTURE_2D: - case GL_TEXTURE_3D: - case GL_TEXTURE_CUBE_MAP: - if (tObj->Sampler.MinFilter == GL_NEAREST || - tObj->Sampler.MinFilter == GL_LINEAR) { - /* GL_NEAREST and GL_LINEAR only care about GL_TEXTURE_BASE_LEVEL. - */ - - firstLevel = lastLevel = tObj->BaseLevel; - } - else { - firstLevel = tObj->BaseLevel + (GLint)(tObj->Sampler.MinLod + 0.5); - firstLevel = MAX2(firstLevel, tObj->BaseLevel); - firstLevel = MIN2(firstLevel, tObj->BaseLevel + baseImage->MaxLog2); - lastLevel = tObj->BaseLevel + (GLint)(tObj->Sampler.MaxLod + 0.5); - lastLevel = MAX2(lastLevel, t->tObj->BaseLevel); - lastLevel = MIN2(lastLevel, t->tObj->BaseLevel + baseImage->MaxLog2); - lastLevel = MIN2(lastLevel, t->tObj->MaxLevel); - lastLevel = MAX2(firstLevel, lastLevel); /* need at least one level */ - } - break; - case GL_TEXTURE_RECTANGLE_NV: - case GL_TEXTURE_4D_SGIS: - firstLevel = lastLevel = 0; - break; - default: - return; - } - - /* save these values */ - t->firstLevel = firstLevel; - t->lastLevel = lastLevel; -} - - - - -/** - * \name DRI texture formats. These vars are initialized to either the - * big- or little-endian Mesa formats. - */ -/*@{*/ -gl_format _dri_texformat_rgba8888 = MESA_FORMAT_NONE; -gl_format _dri_texformat_argb8888 = MESA_FORMAT_NONE; -gl_format _dri_texformat_rgb565 = MESA_FORMAT_NONE; -gl_format _dri_texformat_argb4444 = MESA_FORMAT_NONE; -gl_format _dri_texformat_argb1555 = MESA_FORMAT_NONE; -gl_format _dri_texformat_al88 = MESA_FORMAT_NONE; -gl_format _dri_texformat_a8 = MESA_FORMAT_A8; -gl_format _dri_texformat_i8 = MESA_FORMAT_I8; -gl_format _dri_texformat_l8 = MESA_FORMAT_L8; -/*@}*/ - - -/** - * Initialize _dri_texformat_* vars according to whether we're on - * a big or little endian system. - */ -void -driInitTextureFormats(void) -{ - if (_mesa_little_endian()) { - _dri_texformat_rgba8888 = MESA_FORMAT_RGBA8888; - _dri_texformat_argb8888 = MESA_FORMAT_ARGB8888; - _dri_texformat_rgb565 = MESA_FORMAT_RGB565; - _dri_texformat_argb4444 = MESA_FORMAT_ARGB4444; - _dri_texformat_argb1555 = MESA_FORMAT_ARGB1555; - _dri_texformat_al88 = MESA_FORMAT_AL88; - } - else { - _dri_texformat_rgba8888 = MESA_FORMAT_RGBA8888_REV; - _dri_texformat_argb8888 = MESA_FORMAT_ARGB8888_REV; - _dri_texformat_rgb565 = MESA_FORMAT_RGB565_REV; - _dri_texformat_argb4444 = MESA_FORMAT_ARGB4444_REV; - _dri_texformat_argb1555 = MESA_FORMAT_ARGB1555_REV; - _dri_texformat_al88 = MESA_FORMAT_AL88_REV; - } -} diff --git a/mesalib/src/mesa/drivers/dri/common/texmem.h b/mesalib/src/mesa/drivers/dri/common/texmem.h deleted file mode 100644 index 3815c4107..000000000 --- a/mesalib/src/mesa/drivers/dri/common/texmem.h +++ /dev/null @@ -1,334 +0,0 @@ -/*
- * Copyright 2000-2001 VA Linux Systems, Inc.
- * (c) Copyright IBM Corporation 2002
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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:
- * Ian Romanick <idr@us.ibm.com>
- * Keith Whitwell <keithw@tungstengraphics.com>
- * Kevin E. Martin <kem@users.sourceforge.net>
- * Gareth Hughes <gareth@nvidia.com>
- */
-
-/** \file texmem.h
- * Public interface to the DRI texture memory management routines.
- *
- * \sa texmem.c
- */
-
-#ifndef DRI_TEXMEM_H
-#define DRI_TEXMEM_H
-
-#include "main/mtypes.h"
-#include "main/formats.h"
-#include "main/mm.h"
-#include "xf86drm.h"
-
-struct dri_tex_heap;
-typedef struct dri_tex_heap driTexHeap;
-
-struct dri_texture_object;
-typedef struct dri_texture_object driTextureObject;
-
-
-/**
- * Base texture object type. Each driver will extend this type with its own
- * private data members.
- */
-
-struct dri_texture_object {
- struct dri_texture_object * next;
- struct dri_texture_object * prev;
-
- driTexHeap * heap; /**< Texture heap currently stored in */
- struct gl_texture_object * tObj;/**< Pointer to Mesa texture object
- * If NULL, this texture object is a
- * "placeholder" object representing
- * texture memory in use by another context.
- * A placeholder should have a heap and a memBlock.
- */
- struct mem_block *memBlock; /**< Memory block containing texture */
-
- unsigned reserved; /**< Cannot be swapped out by user contexts. */
-
- unsigned bound; /**< Bitmask indicating which tex units
- * this texture object is bound to.
- * Bit 0 = unit 0, Bit 1 = unit 1, etc
- */
-
- unsigned totalSize; /**< Total size of the texture,
- * including all mipmap levels
- */
-
- unsigned dirty_images[6]; /**< Flags for whether or not images
- * need to be uploaded to local or
- * AGP texture space. One flag set
- * for each cube face for cubic
- * textures. Bit zero corresponds to
- * the base-level, which may or may
- * not be the level zero mipmap.
- */
-
- unsigned timestamp; /**< Timestamp used to
- * synchronize with 3d engine
- * in hardware where textures
- * are uploaded directly to
- * the framebuffer.
- */
-
- unsigned firstLevel; /**< Image in \c tObj->Image[0] that
- * corresponds to the base-level of
- * this texture object.
- */
-
- unsigned lastLevel; /**< Last image in \c tObj->Image[0]
- * used by the
- * current LOD settings of
- * this texture object. This
- * value must be greater than
- * or equal to \c firstLevel.
- */
-};
-
-
-typedef void (destroy_texture_object_t)( void * driverContext,
- driTextureObject * t );
-
-/**
- * Client-private representation of texture memory state.
- *
- * Clients will place one or more of these structs in their driver
- * context struct to manage one or more global texture heaps.
- */
-
-struct dri_tex_heap {
-
- /** Client-supplied heap identifier
- */
- unsigned heapId;
-
- /** Pointer to the client's private context
- */
- void *driverContext;
-
- /** Total size of the heap, in bytes
- */
- unsigned size;
-
- /** \brief \f$log_2\f$ of size of single heap region
- *
- * Each context takes memory from the global texture heap in
- * \f$2^{logGranularity}\f$ byte blocks. The value of
- * \a logGranularity is based on the amount of memory represented
- * by the heap and the maximum number of regions in the SAREA. Given
- * \a b bytes of texture memory an \a n regions in the SAREA,
- * \a logGranularity will be \f$\lfloor\log_2( b / n )\rfloor\f$.
- */
- unsigned logGranularity;
-
- /** \brief Required alignment of allocations in this heap
- *
- * The alignment shift is supplied to \a mmAllocMem when memory is
- * allocated from this heap. The value of \a alignmentShift will
- * typically reflect some require of the hardware. This value has
- * \b no \b relation to \a logGranularity. \a alignmentShift is a
- * per-context value.
- *
- * \sa mmAllocMem
- */
- unsigned alignmentShift;
-
- /** Number of elements in global list (the SAREA).
- */
- unsigned nrRegions;
-
- /** Pointer to SAREA \a driTexRegion array
- */
- drmTextureRegionPtr global_regions;
-
- /** Pointer to the texture state age (generation number) in the SAREA
- */
- unsigned * global_age;
-
- /** Local age (generation number) of texture state
- */
- unsigned local_age;
-
- /** Memory heap used to manage texture memory represented by
- * this texture heap.
- */
- struct mem_block * memory_heap;
-
- /** List of objects that we currently believe to be in texture
- * memory.
- */
- driTextureObject texture_objects;
-
- /** Pointer to the list of texture objects that are not in
- * texture memory.
- */
- driTextureObject * swapped_objects;
-
- /** Size of the driver-speicific texture object.
- */
- unsigned texture_object_size;
-
-
- /**
- * \brief Function to destroy driver-specific texture object data.
- *
- * This function is supplied by the driver so that the texture manager
- * can release all resources associated with a texture object. This
- * function should only release driver-specific data. That is,
- * \a driDestroyTextureObject will release the texture memory
- * associated with the texture object, it will release the memory
- * for the texture object itself, and it will unlink the texture
- * object from the texture object lists.
- *
- * \param driverContext Pointer to the driver supplied context
- * \param t Texture object that is to be destroyed
- * \sa driDestroyTextureObject
- */
-
- destroy_texture_object_t * destroy_texture_object;
-
-
- /**
- */
- unsigned * texture_swaps;
-
- /**
- * Timestamp used to synchronize with 3d engine in hardware
- * where textures are uploaded directly to the
- * framebuffer.
- */
- unsigned timestamp;
-
- /** \brief Kick/upload weight
- *
- * When not enough free space is available this weight
- * influences the choice of the heap from which textures are
- * kicked. By default the weight is equal to the heap size.
- */
- double weight;
-
- /** \brief Kick/upload duty
- *
- * The heap with the highest duty will be chosen for kicking
- * textures if not enough free space is available. The duty is
- * reduced by the amount of data kicked. Rebalancing of
- * negative duties takes the weights into account.
- */
- int duty;
-};
-
-
-
-
-/**
- * Called by the client on lock contention to determine whether textures have
- * been stolen. If another client has modified a region in which we have
- * textures, then we need to figure out which of our textures have been
- * removed and update our global LRU.
- *
- * \param heap Texture heap to be updated
- * \hideinitializer
- */
-
-#define DRI_AGE_TEXTURES( heap ) \
- do { \
- if ( ((heap) != NULL) \
- && ((heap)->local_age != (heap)->global_age[0]) ) \
- driAgeTextures( heap ); \
- } while( 0 )
-
-
-
-
-/* This should be called whenever there has been contention on the hardware
- * lock. driAgeTextures should not be called directly. Instead, clients
- * should use DRI_AGE_TEXTURES, above.
- */
-
-void driAgeTextures( driTexHeap * heap );
-
-void driUpdateTextureLRU( driTextureObject * t );
-void driSwapOutTextureObject( driTextureObject * t );
-void driDestroyTextureObject( driTextureObject * t );
-int driAllocateTexture( driTexHeap * const * heap_array, unsigned nr_heaps,
- driTextureObject * t );
-
-GLboolean driIsTextureResident( struct gl_context * ctx,
- struct gl_texture_object * texObj );
-
-driTexHeap * driCreateTextureHeap( unsigned heap_id, void * context,
- unsigned size, unsigned alignmentShift, unsigned nr_regions,
- drmTextureRegionPtr global_regions, unsigned * global_age,
- driTextureObject * swapped_objects, unsigned texture_object_size,
- destroy_texture_object_t * destroy_tex_obj );
-void driDestroyTextureHeap( driTexHeap * heap );
-
-void
-driCalculateMaxTextureLevels( driTexHeap * const * heaps,
- unsigned nr_heaps,
- struct gl_constants * limits,
- unsigned max_bytes_per_texel,
- unsigned max_2D_size,
- unsigned max_3D_size,
- unsigned max_cube_size,
- unsigned max_rect_size,
- unsigned mipmaps_at_once,
- int all_textures_one_heap,
- int allow_larger_textures );
-
-void
-driSetTextureSwapCounterLocation( driTexHeap * heap, unsigned * counter );
-
-#define DRI_TEXMGR_DO_TEXTURE_1D 0x0001
-#define DRI_TEXMGR_DO_TEXTURE_2D 0x0002
-#define DRI_TEXMGR_DO_TEXTURE_3D 0x0004
-#define DRI_TEXMGR_DO_TEXTURE_CUBE 0x0008
-#define DRI_TEXMGR_DO_TEXTURE_RECT 0x0010
-
-void driInitTextureObjects( struct gl_context *ctx, driTextureObject * swapped,
- GLuint targets );
-
-GLboolean driValidateTextureHeaps( driTexHeap * const * texture_heaps,
- unsigned nr_heaps, const driTextureObject * swapped );
-
-extern void driCalculateTextureFirstLastLevel( driTextureObject * t );
-
-
-extern gl_format _dri_texformat_rgba8888;
-extern gl_format _dri_texformat_argb8888;
-extern gl_format _dri_texformat_rgb565;
-extern gl_format _dri_texformat_argb4444;
-extern gl_format _dri_texformat_argb1555;
-extern gl_format _dri_texformat_al88;
-extern gl_format _dri_texformat_a8;
-extern gl_format _dri_texformat_ci8;
-extern gl_format _dri_texformat_i8;
-extern gl_format _dri_texformat_l8;
-
-extern void driInitTextureFormats( void );
-
-#endif /* DRI_TEXMEM_H */
diff --git a/mesalib/src/mesa/drivers/dri/common/utils.c b/mesalib/src/mesa/drivers/dri/common/utils.c index 54156d34a..d8656a784 100644 --- a/mesalib/src/mesa/drivers/dri/common/utils.c +++ b/mesalib/src/mesa/drivers/dri/common/utils.c @@ -138,124 +138,6 @@ driGetRendererString( char * buffer, const char * hardware_name, /** - * Utility function used by drivers to test the verions of other components. - * - * \param driver_name Name of the driver. Used in error messages. - * \param driActual Actual DRI version supplied __driCreateNewScreen. - * \param driExpected Minimum DRI version required by the driver. - * \param ddxActual Actual DDX version supplied __driCreateNewScreen. - * \param ddxExpected Minimum DDX minor and range of DDX major version required by the driver. - * \param drmActual Actual DRM version supplied __driCreateNewScreen. - * \param drmExpected Minimum DRM version required by the driver. - * - * \returns \c GL_TRUE if all version requirements are met. Otherwise, - * \c GL_FALSE is returned. - * - * \sa __driCreateNewScreen, driCheckDriDdxDrmVersions2 - * - * \todo - * Now that the old \c driCheckDriDdxDrmVersions function is gone, this - * function and \c driCheckDriDdxDrmVersions2 should be renamed. - */ -GLboolean -driCheckDriDdxDrmVersions3(const char * driver_name, - const __DRIversion * driActual, - const __DRIversion * driExpected, - const __DRIversion * ddxActual, - const __DRIutilversion2 * ddxExpected, - const __DRIversion * drmActual, - const __DRIversion * drmExpected) -{ - static const char format[] = "%s DRI driver expected %s version %d.%d.x " - "but got version %d.%d.%d\n"; - static const char format2[] = "%s DRI driver expected %s version %d-%d.%d.x " - "but got version %d.%d.%d\n"; - - - /* Check the DRI version */ - if ( (driActual->major != driExpected->major) - || (driActual->minor < driExpected->minor) ) { - fprintf(stderr, format, driver_name, "DRI", - driExpected->major, driExpected->minor, - driActual->major, driActual->minor, driActual->patch); - return GL_FALSE; - } - - /* Check that the DDX driver version is compatible */ - if ( (ddxActual->major < ddxExpected->major_min) - || (ddxActual->major > ddxExpected->major_max) - || (ddxActual->minor < ddxExpected->minor) ) { - fprintf(stderr, format2, driver_name, "DDX", - ddxExpected->major_min, ddxExpected->major_max, ddxExpected->minor, - ddxActual->major, ddxActual->minor, ddxActual->patch); - return GL_FALSE; - } - - /* Check that the DRM driver version is compatible */ - if ( (drmActual->major != drmExpected->major) - || (drmActual->minor < drmExpected->minor) ) { - fprintf(stderr, format, driver_name, "DRM", - drmExpected->major, drmExpected->minor, - drmActual->major, drmActual->minor, drmActual->patch); - return GL_FALSE; - } - - return GL_TRUE; -} - -GLboolean -driCheckDriDdxDrmVersions2(const char * driver_name, - const __DRIversion * driActual, - const __DRIversion * driExpected, - const __DRIversion * ddxActual, - const __DRIversion * ddxExpected, - const __DRIversion * drmActual, - const __DRIversion * drmExpected) -{ - __DRIutilversion2 ddx_expected; - ddx_expected.major_min = ddxExpected->major; - ddx_expected.major_max = ddxExpected->major; - ddx_expected.minor = ddxExpected->minor; - ddx_expected.patch = ddxExpected->patch; - return driCheckDriDdxDrmVersions3(driver_name, driActual, - driExpected, ddxActual, & ddx_expected, - drmActual, drmExpected); -} - -GLboolean driClipRectToFramebuffer( const struct gl_framebuffer *buffer, - GLint *x, GLint *y, - GLsizei *width, GLsizei *height ) -{ - /* left clipping */ - if (*x < buffer->_Xmin) { - *width -= (buffer->_Xmin - *x); - *x = buffer->_Xmin; - } - - /* right clipping */ - if (*x + *width > buffer->_Xmax) - *width -= (*x + *width - buffer->_Xmax - 1); - - if (*width <= 0) - return GL_FALSE; - - /* bottom clipping */ - if (*y < buffer->_Ymin) { - *height -= (buffer->_Ymin - *y); - *y = buffer->_Ymin; - } - - /* top clipping */ - if (*y + *height > buffer->_Ymax) - *height -= (*y + *height - buffer->_Ymax - 1); - - if (*height <= 0) - return GL_FALSE; - - return GL_TRUE; -} - -/** * Creates a set of \c struct gl_config that a driver will expose. * * A set of \c struct gl_config will be created based on the supplied diff --git a/mesalib/src/mesa/drivers/dri/common/utils.h b/mesalib/src/mesa/drivers/dri/common/utils.h index 100d0dd51..c2302de5d 100644 --- a/mesalib/src/mesa/drivers/dri/common/utils.h +++ b/mesalib/src/mesa/drivers/dri/common/utils.h @@ -39,17 +39,6 @@ struct dri_debug_control { unsigned flag; }; -/** - * Used to store a version which includes a major range instead of a single - * major version number. - */ -struct __DRIutilversionRec2 { - int major_min; /** min allowed Major version number. */ - int major_max; /** max allowed Major version number. */ - int minor; /**< Minor version number. */ - int patch; /**< Patch-level. */ -}; - extern void __driUtilMessage(const char *f, ...); @@ -59,20 +48,6 @@ extern unsigned driParseDebugString( const char * debug, extern unsigned driGetRendererString( char * buffer, const char * hardware_name, GLuint agp_mode ); -extern GLboolean driCheckDriDdxDrmVersions2(const char * driver_name, - const __DRIversion * driActual, const __DRIversion * driExpected, - const __DRIversion * ddxActual, const __DRIversion * ddxExpected, - const __DRIversion * drmActual, const __DRIversion * drmExpected); - -extern GLboolean driCheckDriDdxDrmVersions3(const char * driver_name, - const __DRIversion * driActual, const __DRIversion * driExpected, - const __DRIversion * ddxActual, const __DRIutilversion2 * ddxExpected, - const __DRIversion * drmActual, const __DRIversion * drmExpected); - -extern GLboolean driClipRectToFramebuffer( const struct gl_framebuffer *buffer, - GLint *x, GLint *y, - GLsizei *width, GLsizei *height ); - struct __DRIconfigRec { struct gl_config modes; }; diff --git a/mesalib/src/mesa/drivers/dri/common/vblank.c b/mesalib/src/mesa/drivers/dri/common/vblank.c deleted file mode 100644 index 3b8136844..000000000 --- a/mesalib/src/mesa/drivers/dri/common/vblank.c +++ /dev/null @@ -1,434 +0,0 @@ -/* -*- mode: c; c-basic-offset: 3 -*- */
-/*
- * (c) Copyright IBM Corporation 2002
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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:
- * Ian Romanick <idr@us.ibm.com>
- */
-
-#include "main/glheader.h"
-#include "xf86drm.h"
-#include "main/mtypes.h"
-#include "main/macros.h"
-#include "main/dd.h"
-#include "vblank.h"
-#include "xmlpool.h"
-
-static unsigned int msc_to_vblank(__DRIdrawable * dPriv, int64_t msc)
-{
- return (unsigned int)(msc - dPriv->msc_base + dPriv->vblank_base);
-}
-
-static int64_t vblank_to_msc(__DRIdrawable * dPriv, unsigned int vblank)
-{
- return (int64_t)(vblank - dPriv->vblank_base + dPriv->msc_base);
-}
-
-
-/****************************************************************************/
-/**
- * Get the current MSC refresh counter.
- *
- * Stores the 64-bit count of vertical refreshes since some (arbitrary)
- * point in time in \c count. Unless the value wraps around, which it
- * may, it will never decrease for a given drawable.
- *
- * \warning This function is called from \c glXGetVideoSyncSGI, which expects
- * a \c count of type \c unsigned (32-bit), and \c glXGetSyncValuesOML, which
- * expects a \c count of type \c int64_t (signed 64-bit). The kernel ioctl
- * currently always returns a \c sequence of type \c unsigned.
- *
- * \param priv Pointer to the DRI screen private struct.
- * \param dPriv Pointer to the DRI drawable private struct
- * \param count Storage to hold MSC counter.
- * \return Zero is returned on success. A negative errno value
- * is returned on failure.
- */
-int driDrawableGetMSC32( __DRIscreen * priv,
- __DRIdrawable * dPriv,
- int64_t * count)
-{
- drmVBlank vbl;
- int ret;
-
- /* Don't wait for anything. Just get the current refresh count. */
-
- vbl.request.type = DRM_VBLANK_RELATIVE;
- vbl.request.sequence = 0;
- if ( dPriv && dPriv->vblFlags & VBLANK_FLAG_SECONDARY )
- vbl.request.type |= DRM_VBLANK_SECONDARY;
-
- ret = drmWaitVBlank( priv->fd, &vbl );
-
- if (dPriv) {
- *count = vblank_to_msc(dPriv, vbl.reply.sequence);
- } else {
- /* Old driver (no knowledge of drawable MSC callback) */
- *count = vbl.reply.sequence;
- }
-
- return ret;
-}
-
-/****************************************************************************/
-/**
- * Wait for a specified refresh count. This implements most of the
- * functionality of \c glXWaitForMscOML from the GLX_OML_sync_control spec.
- * Waits for the \c target_msc refresh. If that has already passed, it
- * waits until \f$(MSC \bmod divisor)\f$ is equal to \c remainder. If
- * \c target_msc is 0, use the behavior of glXWaitVideoSyncSGI(), which
- * omits the initial check against a target MSC value.
- *
- * This function is actually something of a hack. The problem is that, at
- * the time of this writing, none of the existing DRM modules support an
- * ioctl that returns a 64-bit count (at least not on 32-bit platforms).
- * However, this function exists to support a GLX function that requires
- * the use of 64-bit counts. As such, there is a little bit of ugly
- * hackery at the end of this function to make the 32-bit count act like
- * a 64-bit count. There are still some cases where this will break, but
- * I believe it catches the most common cases.
- *
- * The real solution is to provide an ioctl that uses a 64-bit count.
- *
- * \param dpy Pointer to the \c Display.
- * \param priv Pointer to the DRI drawable private.
- * \param target_msc Desired refresh count to wait for. A value of 0
- * means to use the glXWaitVideoSyncSGI() behavior.
- * \param divisor MSC divisor if \c target_msc is already reached.
- * \param remainder Desired MSC remainder if \c target_msc is already
- * reached.
- * \param msc Buffer to hold MSC when done waiting.
- *
- * \return Zero on success or \c GLX_BAD_CONTEXT on failure.
- */
-
-int driWaitForMSC32( __DRIdrawable *priv,
- int64_t target_msc, int64_t divisor, int64_t remainder,
- int64_t * msc )
-{
- drmVBlank vbl;
-
-
- if ( divisor != 0 ) {
- int64_t next = target_msc;
- int64_t r;
- int dont_wait = (target_msc == 0);
-
- do {
- /* dont_wait means we're using the glXWaitVideoSyncSGI() behavior.
- * The first time around, just get the current count and proceed
- * to the test for (MSC % divisor) == remainder.
- */
- vbl.request.type = dont_wait ? DRM_VBLANK_RELATIVE :
- DRM_VBLANK_ABSOLUTE;
- vbl.request.sequence = next ? msc_to_vblank(priv, next) : 0;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY )
- vbl.request.type |= DRM_VBLANK_SECONDARY;
-
- if ( drmWaitVBlank( priv->driScreenPriv->fd, &vbl ) != 0 ) {
- /* FIXME: This doesn't seem like the right thing to return here.
- */
- return GLX_BAD_CONTEXT;
- }
-
- *msc = vblank_to_msc(priv, vbl.reply.sequence);
-
- if (!dont_wait && *msc == next)
- break;
- dont_wait = 0;
-
- /* Assuming the wait-done test fails, the next refresh to wait for
- * will be one that satisfies (MSC % divisor) == remainder. The
- * value (MSC - (MSC % divisor) + remainder) is the refresh value
- * closest to the current value that would satisfy the equation.
- * If this refresh has already happened, we add divisor to obtain
- * the next refresh after the current one that will satisfy it.
- */
- r = ((uint64_t)*msc % divisor);
- next = (*msc - r + remainder);
- if (next <= *msc)
- next += divisor;
-
- } while (r != remainder);
- }
- else {
- /* If the \c divisor is zero, just wait until the MSC is greater
- * than or equal to \c target_msc.
- */
-
- vbl.request.type = DRM_VBLANK_ABSOLUTE;
- vbl.request.sequence = target_msc ? msc_to_vblank(priv, target_msc) : 0;
-
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY )
- vbl.request.type |= DRM_VBLANK_SECONDARY;
-
- if ( drmWaitVBlank( priv->driScreenPriv->fd, &vbl ) != 0 ) {
- /* FIXME: This doesn't seem like the right thing to return here.
- */
- return GLX_BAD_CONTEXT;
- }
- }
-
- *msc = vblank_to_msc(priv, vbl.reply.sequence);
-
- if ( *msc < target_msc ) {
- *msc += 0x0000000100000000LL;
- }
-
- return 0;
-}
-
-
-/****************************************************************************/
-/**
- * Gets a set of default vertical-blank-wait flags based on the internal GLX
- * API version and several configuration options.
- */
-
-GLuint driGetDefaultVBlankFlags( const driOptionCache *optionCache )
-{
- GLuint flags = VBLANK_FLAG_INTERVAL;
- int vblank_mode;
-
-
- if ( driCheckOption( optionCache, "vblank_mode", DRI_ENUM ) )
- vblank_mode = driQueryOptioni( optionCache, "vblank_mode" );
- else
- vblank_mode = DRI_CONF_VBLANK_DEF_INTERVAL_1;
-
- switch (vblank_mode) {
- case DRI_CONF_VBLANK_NEVER:
- flags = 0;
- break;
- case DRI_CONF_VBLANK_DEF_INTERVAL_0:
- break;
- case DRI_CONF_VBLANK_DEF_INTERVAL_1:
- flags |= VBLANK_FLAG_THROTTLE;
- break;
- case DRI_CONF_VBLANK_ALWAYS_SYNC:
- flags |= VBLANK_FLAG_SYNC;
- break;
- }
-
- return flags;
-}
-
-
-/****************************************************************************/
-/**
- * Wrapper to call \c drmWaitVBlank. The main purpose of this function is to
- * wrap the error message logging. The error message should only be logged
- * the first time the \c drmWaitVBlank fails. If \c drmWaitVBlank is
- * successful, \c vbl_seq will be set the sequence value in the reply.
- *
- * \param vbl Pointer to drmVBlank packet describing how to wait.
- * \param vbl_seq Location to store the current refresh counter.
- * \param fd File descriptor use to call into the DRM.
- * \return Zero on success or -1 on failure.
- */
-
-static int do_wait( drmVBlank * vbl, GLuint * vbl_seq, int fd )
-{
- int ret;
-
-
- ret = drmWaitVBlank( fd, vbl );
- if ( ret != 0 ) {
- static GLboolean first_time = GL_TRUE;
-
- if ( first_time ) {
- fprintf(stderr,
- "%s: drmWaitVBlank returned %d, IRQs don't seem to be"
- " working correctly.\nTry adjusting the vblank_mode"
- " configuration parameter.\n", __FUNCTION__, ret);
- first_time = GL_FALSE;
- }
-
- return -1;
- }
-
- *vbl_seq = vbl->reply.sequence;
- return 0;
-}
-
-
-/****************************************************************************/
-/**
- * Returns the default swap interval of the given drawable.
- */
-
-static unsigned
-driGetDefaultVBlankInterval( const __DRIdrawable *priv )
-{
- if ( (priv->vblFlags & (VBLANK_FLAG_THROTTLE | VBLANK_FLAG_SYNC)) != 0 ) {
- return 1;
- }
- else {
- return 0;
- }
-}
-
-
-/****************************************************************************/
-/**
- * Sets the default swap interval when the drawable is first bound to a
- * direct rendering context.
- */
-
-void driDrawableInitVBlank( __DRIdrawable *priv )
-{
- if ( priv->swap_interval == (unsigned)-1 &&
- !( priv->vblFlags & VBLANK_FLAG_NO_IRQ ) ) {
- /* Get current vertical blank sequence */
- drmVBlank vbl;
-
- vbl.request.type = DRM_VBLANK_RELATIVE;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY )
- vbl.request.type |= DRM_VBLANK_SECONDARY;
- vbl.request.sequence = 0;
- do_wait( &vbl, &priv->vblSeq, priv->driScreenPriv->fd );
- priv->vblank_base = priv->vblSeq;
-
- priv->swap_interval = driGetDefaultVBlankInterval( priv );
- }
-}
-
-
-/****************************************************************************/
-/**
- * Returns the current swap interval of the given drawable.
- */
-
-unsigned
-driGetVBlankInterval( const __DRIdrawable *priv )
-{
- if ( (priv->vblFlags & VBLANK_FLAG_INTERVAL) != 0 ) {
- /* this must have been initialized when the drawable was first bound
- * to a direct rendering context. */
- assert ( priv->swap_interval != (unsigned)-1 );
-
- return priv->swap_interval;
- }
- else
- return driGetDefaultVBlankInterval( priv );
-}
-
-
-/****************************************************************************/
-/**
- * Returns the current vertical blank sequence number of the given drawable.
- */
-
-void
-driGetCurrentVBlank( __DRIdrawable *priv )
-{
- drmVBlank vbl;
-
- vbl.request.type = DRM_VBLANK_RELATIVE;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY ) {
- vbl.request.type |= DRM_VBLANK_SECONDARY;
- }
- vbl.request.sequence = 0;
-
- (void) do_wait( &vbl, &priv->vblSeq, priv->driScreenPriv->fd );
-}
-
-
-/****************************************************************************/
-/**
- * Waits for the vertical blank for use with glXSwapBuffers.
- *
- * \param missed_deadline Set to \c GL_TRUE if the MSC after waiting is later
- * than the "target" based on \c priv->vblFlags. The idea is
- * that if \c missed_deadline is set, then the application is
- * not achieving its desired framerate.
- * \return Zero on success, -1 on error.
- */
-
-int
-driWaitForVBlank( __DRIdrawable *priv, GLboolean * missed_deadline )
-{
- drmVBlank vbl;
- unsigned original_seq;
- unsigned deadline;
- unsigned interval;
- unsigned diff;
-
- *missed_deadline = GL_FALSE;
- if ( (priv->vblFlags & (VBLANK_FLAG_INTERVAL |
- VBLANK_FLAG_THROTTLE |
- VBLANK_FLAG_SYNC)) == 0 ||
- (priv->vblFlags & VBLANK_FLAG_NO_IRQ) != 0 ) {
- return 0;
- }
-
-
- /* VBLANK_FLAG_SYNC means to wait for at least one vertical blank. If
- * that flag is not set, do a fake wait for zero vertical blanking
- * periods so that we can get the current MSC.
- *
- * VBLANK_FLAG_INTERVAL and VBLANK_FLAG_THROTTLE mean to wait for at
- * least one vertical blank since the last wait. Since do_wait modifies
- * priv->vblSeq, we have to save the original value of priv->vblSeq for the
- * VBLANK_FLAG_INTERVAL / VBLANK_FLAG_THROTTLE calculation later.
- */
-
- original_seq = priv->vblSeq;
- interval = driGetVBlankInterval(priv);
- deadline = original_seq + interval;
-
- vbl.request.type = DRM_VBLANK_RELATIVE;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY ) {
- vbl.request.type |= DRM_VBLANK_SECONDARY;
- }
- vbl.request.sequence = ((priv->vblFlags & VBLANK_FLAG_SYNC) != 0) ? 1 : 0;
-
- if ( do_wait( & vbl, &priv->vblSeq, priv->driScreenPriv->fd ) != 0 ) {
- return -1;
- }
-
- diff = priv->vblSeq - deadline;
-
- /* No need to wait again if we've already reached the target */
- if (diff <= (1 << 23)) {
- *missed_deadline = (priv->vblFlags & VBLANK_FLAG_SYNC) ? (diff > 0) :
- GL_TRUE;
- return 0;
- }
-
- /* Wait until the target vertical blank. */
- vbl.request.type = DRM_VBLANK_ABSOLUTE;
- if ( priv->vblFlags & VBLANK_FLAG_SECONDARY ) {
- vbl.request.type |= DRM_VBLANK_SECONDARY;
- }
- vbl.request.sequence = deadline;
-
- if ( do_wait( & vbl, &priv->vblSeq, priv->driScreenPriv->fd ) != 0 ) {
- return -1;
- }
-
- diff = priv->vblSeq - deadline;
- *missed_deadline = diff > 0 && diff <= (1 << 23);
-
- return 0;
-}
diff --git a/mesalib/src/mesa/drivers/dri/common/vblank.h b/mesalib/src/mesa/drivers/dri/common/vblank.h deleted file mode 100644 index c46f4ccc3..000000000 --- a/mesalib/src/mesa/drivers/dri/common/vblank.h +++ /dev/null @@ -1,71 +0,0 @@ -/* -*- mode: c; c-basic-offset: 3 -*- */
-/*
- * (c) Copyright IBM Corporation 2002
- * 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
- * on the rights to use, copy, modify, merge, publish, distribute, sub
- * license, 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 (including the next
- * paragraph) 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 NON-INFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEM, IBM AND/OR THEIR SUPPLIERS 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:
- * Ian Romanick <idr@us.ibm.com>
- */
-
-#ifndef DRI_VBLANK_H
-#define DRI_VBLANK_H
-
-#include "main/context.h"
-#include "dri_util.h"
-#include "xmlconfig.h"
-
-#define VBLANK_FLAG_INTERVAL (1U << 0) /* Respect the swap_interval setting
- */
-#define VBLANK_FLAG_THROTTLE (1U << 1) /* Wait 1 refresh since last call.
- */
-#define VBLANK_FLAG_SYNC (1U << 2) /* Sync to the next refresh.
- */
-#define VBLANK_FLAG_NO_IRQ (1U << 7) /* DRM has no IRQ to wait on.
- */
-#define VBLANK_FLAG_SECONDARY (1U << 8) /* Wait for secondary vblank.
- */
-
-extern int driGetMSC32( __DRIscreen * priv, int64_t * count );
-extern int driDrawableGetMSC32( __DRIscreen * priv,
- __DRIdrawable * drawablePrivate,
- int64_t * count);
-extern int driWaitForMSC32( __DRIdrawable *priv,
- int64_t target_msc, int64_t divisor, int64_t remainder, int64_t * msc );
-extern GLuint driGetDefaultVBlankFlags( const driOptionCache *optionCache );
-extern void driDrawableInitVBlank ( __DRIdrawable *priv );
-extern unsigned driGetVBlankInterval( const __DRIdrawable *priv );
-extern void driGetCurrentVBlank( __DRIdrawable *priv );
-extern int driWaitForVBlank( __DRIdrawable *priv,
- GLboolean * missed_deadline );
-
-#undef usleep
-#include <unistd.h> /* for usleep() */
-#include <sched.h> /* for sched_yield() */
-
-#define DO_USLEEP(nr) \
- do { \
- if (0) fprintf(stderr, "%s: usleep for %u\n", __FUNCTION__, nr ); \
- if (1) usleep( nr ); \
- sched_yield(); \
- } while( 0 )
-
-#endif /* DRI_VBLANK_H */
diff --git a/mesalib/src/mesa/drivers/dri/common/xmlpool/de.po b/mesalib/src/mesa/drivers/dri/common/xmlpool/de.po index 4ea82f901..933a05c04 100644 --- a/mesalib/src/mesa/drivers/dri/common/xmlpool/de.po +++ b/mesalib/src/mesa/drivers/dri/common/xmlpool/de.po @@ -7,10 +7,11 @@ msgid "" msgstr "" "Project-Id-Version: Mesa 6.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2005-04-11 23:19+0200\n" +"POT-Creation-Date: 2011-08-30 11:40+0200\n" "PO-Revision-Date: 2005-04-11 01:34+0200\n" "Last-Translator: Felix Kuehling <fxkuehl@gmx.de>\n" "Language-Team: German <de@li.org>\n" +"Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" @@ -32,148 +33,148 @@ msgstr "Zeige Performanceboxen" msgid "Image Quality" msgstr "Bildqualität" -#: t_options.h:77 +#: t_options.h:82 msgid "Texture color depth" msgstr "Texturfarbtiefe" -#: t_options.h:78 +#: t_options.h:83 msgid "Prefer frame buffer color depth" msgstr "Bevorzuge Farbtiefe des Framebuffers" -#: t_options.h:79 +#: t_options.h:84 msgid "Prefer 32 bits per texel" msgstr "Bevorzuge 32 bits pro Texel" -#: t_options.h:80 +#: t_options.h:85 msgid "Prefer 16 bits per texel" msgstr "Bevorzuge 16 bits pro Texel" -#: t_options.h:81 +#: t_options.h:86 msgid "Force 16 bits per texel" msgstr "Erzwinge 16 bits pro Texel" -#: t_options.h:87 +#: t_options.h:92 msgid "Initial maximum value for anisotropic texture filtering" msgstr "Initialer Maximalwert für anisotropische Texturfilterung" -#: t_options.h:92 +#: t_options.h:97 msgid "Forbid negative texture LOD bias" msgstr "Verbiete negative Textur-Detailgradverschiebung" -#: t_options.h:97 +#: t_options.h:102 msgid "" "Enable S3TC texture compression even if software support is not available" msgstr "" "Aktiviere S3TC Texturkomprimierung auch wenn die nötige " "Softwareunterstützung fehlt" -#: t_options.h:104 +#: t_options.h:109 msgid "Initial color reduction method" msgstr "Initiale Farbreduktionsmethode" -#: t_options.h:105 +#: t_options.h:110 msgid "Round colors" msgstr "Farben runden" -#: t_options.h:106 +#: t_options.h:111 msgid "Dither colors" msgstr "Farben rastern" -#: t_options.h:114 +#: t_options.h:119 msgid "Color rounding method" msgstr "Farbrundungsmethode" -#: t_options.h:115 +#: t_options.h:120 msgid "Round color components downward" msgstr "Farbkomponenten abrunden" -#: t_options.h:116 +#: t_options.h:121 msgid "Round to nearest color" msgstr "Zur ähnlichsten Farbe runden" -#: t_options.h:125 +#: t_options.h:130 msgid "Color dithering method" msgstr "Farbrasterungsmethode" -#: t_options.h:126 +#: t_options.h:131 msgid "Horizontal error diffusion" msgstr "Horizontale Fehlerstreuung" -#: t_options.h:127 +#: t_options.h:132 msgid "Horizontal error diffusion, reset error at line start" msgstr "Horizontale Fehlerstreuung, Fehler am Zeilenanfang zurücksetzen" -#: t_options.h:128 +#: t_options.h:133 msgid "Ordered 2D color dithering" msgstr "Geordnete 2D Farbrasterung" -#: t_options.h:134 +#: t_options.h:139 msgid "Floating point depth buffer" msgstr "Fließkomma z-Puffer" -#: t_options.h:140 +#: t_options.h:145 msgid "Performance" msgstr "Leistung" -#: t_options.h:148 +#: t_options.h:153 msgid "TCL mode (Transformation, Clipping, Lighting)" msgstr "TCL-Modus (Transformation, Clipping, Licht)" -#: t_options.h:149 +#: t_options.h:154 msgid "Use software TCL pipeline" msgstr "Benutze die Software-TCL-Pipeline" -#: t_options.h:150 +#: t_options.h:155 msgid "Use hardware TCL as first TCL pipeline stage" msgstr "Benutze Hardware TCL als erste Stufe der TCL-Pipeline" -#: t_options.h:151 +#: t_options.h:156 msgid "Bypass the TCL pipeline" msgstr "Umgehe die TCL-Pipeline" -#: t_options.h:152 +#: t_options.h:157 msgid "" "Bypass the TCL pipeline with state-based machine code generated on-the-fly" msgstr "" "Umgehe die TCL-Pipeline mit zur Laufzeit erzeugtem, zustandsbasiertem " "Maschinencode" -#: t_options.h:161 +#: t_options.h:166 msgid "Method to limit rendering latency" msgstr "Methode zur Begrenzung der Bildverzögerung" -#: t_options.h:162 +#: t_options.h:167 msgid "Busy waiting for the graphics hardware" msgstr "Aktives Warten auf die Grafikhardware" -#: t_options.h:163 +#: t_options.h:168 msgid "Sleep for brief intervals while waiting for the graphics hardware" msgstr "Kurze Schlafintervalle beim Warten auf die Grafikhardware" -#: t_options.h:164 +#: t_options.h:169 msgid "Let the graphics hardware emit a software interrupt and sleep" msgstr "" "Die Grafikhardware eine Softwareunterbrechnung erzeugen lassen und schlafen" -#: t_options.h:174 +#: t_options.h:179 msgid "Synchronization with vertical refresh (swap intervals)" msgstr "Synchronisation mit der vertikalen Bildwiederholung" -#: t_options.h:175 +#: t_options.h:180 msgid "Never synchronize with vertical refresh, ignore application's choice" msgstr "" "Niemals mit der Bildwiederholung synchronisieren, Anweisungen der Anwendung " "ignorieren" -#: t_options.h:176 +#: t_options.h:181 msgid "Initial swap interval 0, obey application's choice" msgstr "Initiales Bildinterval 0, Anweisungen der Anwendung gehorchen" -#: t_options.h:177 +#: t_options.h:182 msgid "Initial swap interval 1, obey application's choice" msgstr "Initiales Bildinterval 1, Anweisungen der Anwendung gehorchen" -#: t_options.h:178 +#: t_options.h:183 msgid "" "Always synchronize with vertical refresh, application chooses the minimum " "swap interval" @@ -181,60 +182,100 @@ msgstr "" "Immer mit der Bildwiederholung synchronisieren, Anwendung wählt das minimale " "Bildintervall" -#: t_options.h:186 +#: t_options.h:191 msgid "Use HyperZ to boost performance" msgstr "HyperZ zur Leistungssteigerung verwenden" -#: t_options.h:191 +#: t_options.h:196 +msgid "A post-processing filter to cel-shade the output" +msgstr "Nachbearbeitungsfilter für Cell Shading" + +#: t_options.h:201 +msgid "A post-processing filter to remove the red channel" +msgstr "Nachbearbeitungsfilter zum Entfernen des Rotkanals" + +#: t_options.h:206 +msgid "A post-processing filter to remove the green channel" +msgstr "Nachbearbeitungsfilter zum Entfernen des Grünkanals" + +#: t_options.h:211 +msgid "A post-processing filter to remove the blue channel" +msgstr "Nachbearbeitungsfilter zum Entfernen des Blaukanals" + +#: t_options.h:216 +msgid "" +"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " +"default quality" +msgstr "Morphologische Kantenglättung (Anti-Aliasing) basierend auf " +"Jimenez\' MLAA. 0 für deaktiviert, 8 für Standardqualität" + +#: t_options.h:221 +msgid "" +"Morphological anti-aliasing based on Jimenez\\' MLAA. 0 to disable, 8 for " +"default quality. Color version, usable with 2d GL apps" +msgstr "Morphologische Kantenglättung (Anti-Aliasing) basierend auf " +"Jimenez\' MLAA. 0 für deaktiviert, 8 für Standardqualität. " +"Farbversion, für 2D-Anwendungen" + +#: t_options.h:226 msgid "Number of texture units used" msgstr "Anzahl der benutzten Textureinheiten" -#: t_options.h:196 +#: t_options.h:231 msgid "Support larger textures not guaranteed to fit into graphics memory" -msgstr "Unterstütze grosse Texturen die evtl. nicht in den Grafikspeicher passen" +msgstr "" +"Unterstütze grosse Texturen die evtl. nicht in den Grafikspeicher passen" -#: t_options.h:197 +#: t_options.h:232 msgid "No" msgstr "Nein" -#: t_options.h:198 +#: t_options.h:233 msgid "At least 1 texture must fit under worst-case assumptions" msgstr "Mindestens 1 Textur muss auch im schlechtesten Fall Platz haben" -#: t_options.h:199 +#: t_options.h:234 msgid "Announce hardware limits" msgstr "Benutze Hardware-Limits" -#: t_options.h:205 +#: t_options.h:240 msgid "Texture filtering quality vs. speed, AKA “brilinear” texture filtering" msgstr "" "Texturfilterqualität versus -geschwindigkeit, auch bekannt als „brilineare“ " "Texturfilterung" -#: t_options.h:213 +#: t_options.h:248 msgid "Used types of texture memory" msgstr "Benutzte Arten von Texturspeicher" -#: t_options.h:214 +#: t_options.h:249 msgid "All available memory" msgstr "Aller verfügbarer Speicher" -#: t_options.h:215 +#: t_options.h:250 msgid "Only card memory (if available)" msgstr "Nur Grafikspeicher (falls verfügbar)" -#: t_options.h:216 +#: t_options.h:251 msgid "Only GART (AGP/PCIE) memory (if available)" msgstr "Nur GART-Speicher (AGP/PCIE) (falls verfügbar)" -#: t_options.h:224 +#: t_options.h:259 msgid "Features that are not hardware-accelerated" msgstr "Funktionalität, die nicht hardwarebeschleunigt ist" -#: t_options.h:228 +#: t_options.h:263 msgid "Enable extension GL_ARB_vertex_program" msgstr "Erweiterung GL_ARB_vertex_program aktivieren" -#: t_options.h:233 +#: t_options.h:268 msgid "Enable extension GL_NV_vertex_program" msgstr "Erweiterung GL_NV_vertex_program aktivieren" + +#: t_options.h:273 +msgid "Enable flushing batchbuffer after each draw call" +msgstr "Aktiviere sofortige Leerung des Stapelpuffers nach jedem Zeichenaufruf" + +#: t_options.h:278 +msgid "Enable flushing GPU caches with each draw call" +msgstr "Aktiviere sofortige Leerung der GPU-Zwischenspeicher mit jedem Zeichenaufruf" diff --git a/mesalib/src/mesa/drivers/dri/swrast/swrast.c b/mesalib/src/mesa/drivers/dri/swrast/swrast.c index 75d25253e..bc115e8cf 100644 --- a/mesalib/src/mesa/drivers/dri/swrast/swrast.c +++ b/mesalib/src/mesa/drivers/dri/swrast/swrast.c @@ -291,7 +291,7 @@ swrast_alloc_front_storage(struct gl_context *ctx, struct gl_renderbuffer *rb, rb->Data = NULL; rb->Width = width; rb->Height = height; - + rb->RowStride = width; xrb->pitch = bytes_per_line(width * xrb->bpp, 32); return GL_TRUE; @@ -315,7 +315,8 @@ swrast_alloc_back_storage(struct gl_context *ctx, struct gl_renderbuffer *rb, } static struct swrast_renderbuffer * -swrast_new_renderbuffer(const struct gl_config *visual, GLboolean front) +swrast_new_renderbuffer(const struct gl_config *visual, __DRIdrawable *dPriv, + GLboolean front) { struct swrast_renderbuffer *xrb = calloc(1, sizeof *xrb); GLuint pixel_format; @@ -329,6 +330,7 @@ swrast_new_renderbuffer(const struct gl_config *visual, GLboolean front) pixel_format = choose_pixel_format(visual); + xrb->dPriv = dPriv; xrb->Base.Delete = swrast_delete_renderbuffer; if (front) { xrb->Base.AllocStorage = swrast_alloc_front_storage; @@ -375,6 +377,78 @@ swrast_new_renderbuffer(const struct gl_config *visual, GLboolean front) return xrb; } +static void +swrast_map_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb, + GLuint x, GLuint y, GLuint w, GLuint h, + GLbitfield mode, + GLubyte **out_map, + GLint *out_stride) +{ + struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb); + GLubyte *map = rb->Data; + int cpp = _mesa_get_format_bytes(rb->Format); + int stride = rb->RowStride * cpp; + + if (rb->AllocStorage == swrast_alloc_front_storage) { + __DRIdrawable *dPriv = xrb->dPriv; + __DRIscreen *sPriv = dPriv->driScreenPriv; + + xrb->map_mode = mode; + xrb->map_x = x; + xrb->map_y = y; + xrb->map_w = w; + xrb->map_h = h; + + stride = w * cpp; + rb->Data = malloc(h * stride); + + sPriv->swrast_loader->getImage(dPriv, x, y, w, h, + (char *)rb->Data, + dPriv->loaderPrivate); + + *out_map = rb->Data; + *out_stride = stride; + return; + } + + ASSERT(rb->Data); + + if (rb->AllocStorage == swrast_alloc_back_storage) { + map += (rb->Height - 1) * stride; + stride = -stride; + } + + map += y * stride; + map += x * cpp; + + *out_map = map; + *out_stride = stride; +} + +static void +swrast_unmap_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb) +{ + struct swrast_renderbuffer *xrb = swrast_renderbuffer(rb); + + if (rb->AllocStorage == swrast_alloc_front_storage) { + __DRIdrawable *dPriv = xrb->dPriv; + __DRIscreen *sPriv = dPriv->driScreenPriv; + + if (xrb->map_mode & GL_MAP_WRITE_BIT) { + sPriv->swrast_loader->putImage(dPriv, __DRI_SWRAST_IMAGE_OP_DRAW, + xrb->map_x, xrb->map_y, + xrb->map_w, xrb->map_h, + rb->Data, + dPriv->loaderPrivate); + } + + free(rb->Data); + rb->Data = NULL; + } +} + static GLboolean dri_create_buffer(__DRIscreen * sPriv, __DRIdrawable * dPriv, @@ -406,12 +480,12 @@ dri_create_buffer(__DRIscreen * sPriv, _mesa_initialize_window_framebuffer(fb, visual); /* add front renderbuffer */ - frontrb = swrast_new_renderbuffer(visual, GL_TRUE); + frontrb = swrast_new_renderbuffer(visual, dPriv, GL_TRUE); _mesa_add_renderbuffer(fb, BUFFER_FRONT_LEFT, &frontrb->Base); /* add back renderbuffer */ if (visual->doubleBufferMode) { - backrb = swrast_new_renderbuffer(visual, GL_FALSE); + backrb = swrast_new_renderbuffer(visual, dPriv, GL_FALSE); _mesa_add_renderbuffer(fb, BUFFER_BACK_LEFT, &backrb->Base); } @@ -576,6 +650,8 @@ swrast_init_driver_functions(struct dd_function_table *driver) driver->GetBufferSize = NULL; driver->Viewport = viewport; driver->ChooseTextureFormat = swrastChooseTextureFormat; + driver->MapRenderbuffer = swrast_map_renderbuffer; + driver->UnmapRenderbuffer = swrast_unmap_renderbuffer; } static const char *es2_extensions[] = { diff --git a/mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h b/mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h index 4c3c9830f..50e6a83d5 100644 --- a/mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h +++ b/mesalib/src/mesa/drivers/dri/swrast/swrast_priv.h @@ -1,138 +1,143 @@ -/*
- * Mesa 3-D graphics library
- * Version: 7.1
- *
- * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
- * Copyright 2008, 2010 George Sapountzis <gsapountzis@gmail.com>
- *
- * 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.
- */
-
-
-#ifndef _SWRAST_PRIV_H
-#define _SWRAST_PRIV_H
-
-#include <GL/gl.h>
-#include <GL/internal/dri_interface.h>
-#include "main/mtypes.h"
-#include "drisw_util.h"
-
-
-/**
- * Debugging
- */
-#define DEBUG_CORE 0
-#define DEBUG_SPAN 0
-
-#if DEBUG_CORE
-#define TRACE printf("--> %s\n", __FUNCTION__)
-#else
-#define TRACE
-#endif
-
-#if DEBUG_SPAN
-#define TRACE_SPAN printf("--> %s\n", __FUNCTION__)
-#else
-#define TRACE_SPAN
-#endif
-
-
-/**
- * Data types
- */
-struct dri_context
-{
- /* mesa, base class, must be first */
- struct gl_context Base;
-
- /* dri */
- __DRIcontext *cPriv;
-};
-
-static INLINE struct dri_context *
-dri_context(__DRIcontext * driContextPriv)
-{
- return (struct dri_context *)driContextPriv->driverPrivate;
-}
-
-static INLINE struct dri_context *
-swrast_context(struct gl_context *ctx)
-{
- return (struct dri_context *) ctx;
-}
-
-struct dri_drawable
-{
- /* mesa, base class, must be first */
- struct gl_framebuffer Base;
-
- /* dri */
- __DRIdrawable *dPriv;
-
- /* scratch row for optimized front-buffer rendering */
- char *row;
-};
-
-static INLINE struct dri_drawable *
-dri_drawable(__DRIdrawable * driDrawPriv)
-{
- return (struct dri_drawable *)driDrawPriv->driverPrivate;
-}
-
-static INLINE struct dri_drawable *
-swrast_drawable(struct gl_framebuffer *fb)
-{
- return (struct dri_drawable *) fb;
-}
-
-struct swrast_renderbuffer {
- struct gl_renderbuffer Base;
-
- /* renderbuffer pitch (in bytes) */
- GLuint pitch;
- /* bits per pixel of storage */
- GLuint bpp;
-};
-
-static INLINE struct swrast_renderbuffer *
-swrast_renderbuffer(struct gl_renderbuffer *rb)
-{
- return (struct swrast_renderbuffer *) rb;
-}
-
-
-/**
- * Pixel formats we support
- */
-#define PF_A8R8G8B8 1 /**< 32bpp TrueColor: 8-A, 8-R, 8-G, 8-B bits */
-#define PF_R5G6B5 2 /**< 16bpp TrueColor: 5-R, 6-G, 5-B bits */
-#define PF_R3G3B2 3 /**< 8bpp TrueColor: 3-R, 3-G, 2-B bits */
-#define PF_X8R8G8B8 4 /**< 32bpp TrueColor: 8-R, 8-G, 8-B bits */
-
-
-/* swrast_span.c */
-
-extern void
-swrast_set_span_funcs_back(struct swrast_renderbuffer *xrb,
- GLuint pixel_format);
-
-extern void
-swrast_set_span_funcs_front(struct swrast_renderbuffer *xrb,
- GLuint pixel_format);
-
-#endif /* _SWRAST_PRIV_H_ */
+/* + * Mesa 3-D graphics library + * Version: 7.1 + * + * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. + * Copyright 2008, 2010 George Sapountzis <gsapountzis@gmail.com> + * + * 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. + */ + + +#ifndef _SWRAST_PRIV_H +#define _SWRAST_PRIV_H + +#include <GL/gl.h> +#include <GL/internal/dri_interface.h> +#include "main/mtypes.h" +#include "drisw_util.h" + + +/** + * Debugging + */ +#define DEBUG_CORE 0 +#define DEBUG_SPAN 0 + +#if DEBUG_CORE +#define TRACE printf("--> %s\n", __FUNCTION__) +#else +#define TRACE +#endif + +#if DEBUG_SPAN +#define TRACE_SPAN printf("--> %s\n", __FUNCTION__) +#else +#define TRACE_SPAN +#endif + + +/** + * Data types + */ +struct dri_context +{ + /* mesa, base class, must be first */ + struct gl_context Base; + + /* dri */ + __DRIcontext *cPriv; +}; + +static INLINE struct dri_context * +dri_context(__DRIcontext * driContextPriv) +{ + return (struct dri_context *)driContextPriv->driverPrivate; +} + +static INLINE struct dri_context * +swrast_context(struct gl_context *ctx) +{ + return (struct dri_context *) ctx; +} + +struct dri_drawable +{ + /* mesa, base class, must be first */ + struct gl_framebuffer Base; + + /* dri */ + __DRIdrawable *dPriv; + + /* scratch row for optimized front-buffer rendering */ + char *row; +}; + +static INLINE struct dri_drawable * +dri_drawable(__DRIdrawable * driDrawPriv) +{ + return (struct dri_drawable *)driDrawPriv->driverPrivate; +} + +static INLINE struct dri_drawable * +swrast_drawable(struct gl_framebuffer *fb) +{ + return (struct dri_drawable *) fb; +} + +struct swrast_renderbuffer { + struct gl_renderbuffer Base; + __DRIdrawable *dPriv; + + /* GL_MAP_*_BIT, used for mapping of front buffer. */ + GLbitfield map_mode; + int map_x, map_y, map_w, map_h; + + /* renderbuffer pitch (in bytes) */ + GLuint pitch; + /* bits per pixel of storage */ + GLuint bpp; +}; + +static INLINE struct swrast_renderbuffer * +swrast_renderbuffer(struct gl_renderbuffer *rb) +{ + return (struct swrast_renderbuffer *) rb; +} + + +/** + * Pixel formats we support + */ +#define PF_A8R8G8B8 1 /**< 32bpp TrueColor: 8-A, 8-R, 8-G, 8-B bits */ +#define PF_R5G6B5 2 /**< 16bpp TrueColor: 5-R, 6-G, 5-B bits */ +#define PF_R3G3B2 3 /**< 8bpp TrueColor: 3-R, 3-G, 2-B bits */ +#define PF_X8R8G8B8 4 /**< 32bpp TrueColor: 8-R, 8-G, 8-B bits */ + + +/* swrast_span.c */ + +extern void +swrast_set_span_funcs_back(struct swrast_renderbuffer *xrb, + GLuint pixel_format); + +extern void +swrast_set_span_funcs_front(struct swrast_renderbuffer *xrb, + GLuint pixel_format); + +#endif /* _SWRAST_PRIV_H_ */ diff --git a/mesalib/src/mesa/drivers/windows/gdi/wgl.c b/mesalib/src/mesa/drivers/windows/gdi/wgl.c index 33baabee6..61850c26f 100644 --- a/mesalib/src/mesa/drivers/windows/gdi/wgl.c +++ b/mesalib/src/mesa/drivers/windows/gdi/wgl.c @@ -335,9 +335,13 @@ WINGDIAPI BOOL GLAPIENTRY wglSetPixelFormat(HDC hdc,int iPixelFormat, const PIXELFORMATDESCRIPTOR *ppfd) { (void) hdc; - - if(iPixelFormat < 1 || iPixelFormat > npfd || - ppfd->nSize != sizeof(PIXELFORMATDESCRIPTOR)) { + + /* SetPixelFormat (hence wglSetPixelFormat) must not touch ppfd, per + * http://msdn.microsoft.com/en-us/library/dd369049(v=vs.85).aspx + */ + (void) ppfd; + + if(iPixelFormat < 1 || iPixelFormat > npfd) { SetLastError(0); return(FALSE); } diff --git a/mesalib/src/mesa/main/APIspec.xml b/mesalib/src/mesa/main/APIspec.xml index a92bb437c..99c726c83 100644 --- a/mesalib/src/mesa/main/APIspec.xml +++ b/mesalib/src/mesa/main/APIspec.xml @@ -288,6 +288,7 @@ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="pname"> @@ -827,6 +828,7 @@ <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="cap" category="GLES2.0"> @@ -884,6 +886,7 @@ <value name="GL_MATRIX_PALETTE_OES" category="OES_matrix_palette"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_GEN_STR_OES" category="OES_texture_cube_map"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="cap" category="GLES2.0"> @@ -1477,6 +1480,7 @@ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="pname"> @@ -1544,6 +1548,7 @@ <value name="GL_MATRIX_INDEX_ARRAY_OES" category="OES_matrix_palette"/> <value name="GL_WEIGHT_ARRAY_OES" category="OES_matrix_palette"/> <value name="GL_POINT_SIZE_ARRAY_OES" category="OES_point_size_array"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> <desc name="cap" category="GLES2.0"> @@ -2071,6 +2076,7 @@ <value name="GL_TEXTURE_CUBE_MAP" category="GLES2.0"/> <value name="GL_TEXTURE_CUBE_MAP_OES" category="OES_texture_cube_map"/> <value name="GL_TEXTURE_3D_OES" category="OES_texture_3D"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> </template> @@ -3493,6 +3499,7 @@ <desc name="target"> <value name="GL_TEXTURE_2D"/> + <value name="GL_TEXTURE_EXTERNAL_OES" category="OES_EGL_image_external"/> </desc> </template> @@ -3830,6 +3837,7 @@ <category name="EXT_blend_minmax"/> <category name="EXT_multi_draw_arrays"/> <category name="OES_EGL_image"/> + <category name="OES_EGL_image_external"/> <category name="OES_matrix_palette"/> @@ -4118,6 +4126,7 @@ <category name="EXT_blend_minmax"/> <category name="EXT_multi_draw_arrays"/> <category name="OES_EGL_image"/> + <category name="OES_EGL_image_external"/> <category name="NV_draw_buffers"/> <function name="DrawBuffersNV" template="DrawBuffers"/> diff --git a/mesalib/src/mesa/main/api_exec.c b/mesalib/src/mesa/main/api_exec.c index 1bc39db55..26fd37e63 100644 --- a/mesalib/src/mesa/main/api_exec.c +++ b/mesalib/src/mesa/main/api_exec.c @@ -90,6 +90,7 @@ #include "texobj.h" #include "texparam.h" #include "texstate.h" +#include "texstorage.h" #include "texturebarrier.h" #include "transformfeedback.h" #include "mtypes.h" @@ -742,6 +743,14 @@ _mesa_create_exec_table(void) /* GL_ARB_texture_buffer_object */ SET_TexBufferARB(exec, _mesa_TexBuffer); + /* GL_ARB_texture_storage */ + SET_TexStorage1D(exec, _mesa_TexStorage1D); + SET_TexStorage2D(exec, _mesa_TexStorage2D); + SET_TexStorage3D(exec, _mesa_TexStorage3D); + SET_TextureStorage1DEXT(exec, _mesa_TextureStorage1DEXT); + SET_TextureStorage2DEXT(exec, _mesa_TextureStorage2DEXT); + SET_TextureStorage3DEXT(exec, _mesa_TextureStorage3DEXT); + #if FEATURE_ARB_sampler_objects _mesa_init_sampler_object_dispatch(exec); #endif diff --git a/mesalib/src/mesa/main/arrayobj.c b/mesalib/src/mesa/main/arrayobj.c index 78f56ab00..1283940f7 100644 --- a/mesalib/src/mesa/main/arrayobj.c +++ b/mesalib/src/mesa/main/arrayobj.c @@ -208,6 +208,7 @@ init_array(struct gl_context *ctx, array->Ptr = NULL; array->Enabled = GL_FALSE; array->Normalized = GL_FALSE; + array->Integer = GL_FALSE; array->_ElementSize = size * _mesa_sizeof_type(type); #if FEATURE_ARB_vertex_buffer_object /* Vertex array buffers */ diff --git a/mesalib/src/mesa/main/attrib.c b/mesalib/src/mesa/main/attrib.c index 1dc1c1b97..f368eecc1 100644 --- a/mesalib/src/mesa/main/attrib.c +++ b/mesalib/src/mesa/main/attrib.c @@ -764,6 +764,8 @@ pop_texture_group(struct gl_context *ctx, struct texture_state *texstate) } else if (obj->Target == GL_TEXTURE_BUFFER) continue; + else if (obj->Target == GL_TEXTURE_EXTERNAL_OES) + continue; target = obj->Target; diff --git a/mesalib/src/mesa/main/dd.h b/mesalib/src/mesa/main/dd.h index 8607008de..9842540da 100644 --- a/mesalib/src/mesa/main/dd.h +++ b/mesalib/src/mesa/main/dd.h @@ -514,6 +514,24 @@ struct dd_function_table { /** Unmap texture images from user space */ void (*UnmapTexture)( struct gl_context *ctx, struct gl_texture_object *tObj ); + /** For GL_ARB_texture_storage. Allocate memory for whole mipmap stack. + * All the gl_texture_images in the texture object will have their + * dimensions, format, etc. initialized already. + */ + GLboolean (*AllocTextureStorage)(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLsizei levels, GLsizei width, + GLsizei height, GLsizei depth); + + void (*MapRenderbuffer)(struct gl_context *ctx, + struct gl_renderbuffer *rb, + GLuint x, GLuint y, GLuint w, GLuint h, + GLbitfield mode, + GLubyte **mapOut, GLint *rowStrideOut); + + void (*UnmapRenderbuffer)(struct gl_context *ctx, + struct gl_renderbuffer *rb); + /** * Note: no context argument. This function doesn't initially look * like it belongs here, except that the driver is the only entity diff --git a/mesalib/src/mesa/main/debug.c b/mesalib/src/mesa/main/debug.c index 6e695d147..72aa8cb4f 100644 --- a/mesalib/src/mesa/main/debug.c +++ b/mesalib/src/mesa/main/debug.c @@ -50,7 +50,8 @@ tex_target_name(GLenum tgt) { GL_TEXTURE_CUBE_MAP, "GL_TEXTURE_CUBE_MAP" }, { GL_TEXTURE_RECTANGLE, "GL_TEXTURE_RECTANGLE" }, { GL_TEXTURE_1D_ARRAY_EXT, "GL_TEXTURE_1D_ARRAY" }, - { GL_TEXTURE_2D_ARRAY_EXT, "GL_TEXTURE_2D_ARRAY" } + { GL_TEXTURE_2D_ARRAY_EXT, "GL_TEXTURE_2D_ARRAY" }, + { GL_TEXTURE_EXTERNAL_OES, "GL_TEXTURE_EXTERNAL_OES" } }; GLuint i; for (i = 0; i < Elements(tex_targets); i++) { diff --git a/mesalib/src/mesa/main/dispatch.h b/mesalib/src/mesa/main/dispatch.h index d5e05daa5..4e21b2d6e 100644 --- a/mesalib/src/mesa/main/dispatch.h +++ b/mesalib/src/mesa/main/dispatch.h @@ -59,7 +59,7 @@ } while(0) /* total number of offsets below */ -#define _gloffset_COUNT 967 +#define _gloffset_COUNT 973 #define _gloffset_NewList 0 #define _gloffset_EndList 1 @@ -749,292 +749,298 @@ #define _gloffset_GetnUniformivARB 682 #define _gloffset_GetnUniformuivARB 683 #define _gloffset_ReadnPixelsARB 684 -#define _gloffset_PolygonOffsetEXT 685 -#define _gloffset_GetPixelTexGenParameterfvSGIS 686 -#define _gloffset_GetPixelTexGenParameterivSGIS 687 -#define _gloffset_PixelTexGenParameterfSGIS 688 -#define _gloffset_PixelTexGenParameterfvSGIS 689 -#define _gloffset_PixelTexGenParameteriSGIS 690 -#define _gloffset_PixelTexGenParameterivSGIS 691 -#define _gloffset_SampleMaskSGIS 692 -#define _gloffset_SamplePatternSGIS 693 -#define _gloffset_ColorPointerEXT 694 -#define _gloffset_EdgeFlagPointerEXT 695 -#define _gloffset_IndexPointerEXT 696 -#define _gloffset_NormalPointerEXT 697 -#define _gloffset_TexCoordPointerEXT 698 -#define _gloffset_VertexPointerEXT 699 -#define _gloffset_PointParameterfEXT 700 -#define _gloffset_PointParameterfvEXT 701 -#define _gloffset_LockArraysEXT 702 -#define _gloffset_UnlockArraysEXT 703 -#define _gloffset_SecondaryColor3bEXT 704 -#define _gloffset_SecondaryColor3bvEXT 705 -#define _gloffset_SecondaryColor3dEXT 706 -#define _gloffset_SecondaryColor3dvEXT 707 -#define _gloffset_SecondaryColor3fEXT 708 -#define _gloffset_SecondaryColor3fvEXT 709 -#define _gloffset_SecondaryColor3iEXT 710 -#define _gloffset_SecondaryColor3ivEXT 711 -#define _gloffset_SecondaryColor3sEXT 712 -#define _gloffset_SecondaryColor3svEXT 713 -#define _gloffset_SecondaryColor3ubEXT 714 -#define _gloffset_SecondaryColor3ubvEXT 715 -#define _gloffset_SecondaryColor3uiEXT 716 -#define _gloffset_SecondaryColor3uivEXT 717 -#define _gloffset_SecondaryColor3usEXT 718 -#define _gloffset_SecondaryColor3usvEXT 719 -#define _gloffset_SecondaryColorPointerEXT 720 -#define _gloffset_MultiDrawArraysEXT 721 -#define _gloffset_MultiDrawElementsEXT 722 -#define _gloffset_FogCoordPointerEXT 723 -#define _gloffset_FogCoorddEXT 724 -#define _gloffset_FogCoorddvEXT 725 -#define _gloffset_FogCoordfEXT 726 -#define _gloffset_FogCoordfvEXT 727 -#define _gloffset_PixelTexGenSGIX 728 -#define _gloffset_BlendFuncSeparateEXT 729 -#define _gloffset_FlushVertexArrayRangeNV 730 -#define _gloffset_VertexArrayRangeNV 731 -#define _gloffset_CombinerInputNV 732 -#define _gloffset_CombinerOutputNV 733 -#define _gloffset_CombinerParameterfNV 734 -#define _gloffset_CombinerParameterfvNV 735 -#define _gloffset_CombinerParameteriNV 736 -#define _gloffset_CombinerParameterivNV 737 -#define _gloffset_FinalCombinerInputNV 738 -#define _gloffset_GetCombinerInputParameterfvNV 739 -#define _gloffset_GetCombinerInputParameterivNV 740 -#define _gloffset_GetCombinerOutputParameterfvNV 741 -#define _gloffset_GetCombinerOutputParameterivNV 742 -#define _gloffset_GetFinalCombinerInputParameterfvNV 743 -#define _gloffset_GetFinalCombinerInputParameterivNV 744 -#define _gloffset_ResizeBuffersMESA 745 -#define _gloffset_WindowPos2dMESA 746 -#define _gloffset_WindowPos2dvMESA 747 -#define _gloffset_WindowPos2fMESA 748 -#define _gloffset_WindowPos2fvMESA 749 -#define _gloffset_WindowPos2iMESA 750 -#define _gloffset_WindowPos2ivMESA 751 -#define _gloffset_WindowPos2sMESA 752 -#define _gloffset_WindowPos2svMESA 753 -#define _gloffset_WindowPos3dMESA 754 -#define _gloffset_WindowPos3dvMESA 755 -#define _gloffset_WindowPos3fMESA 756 -#define _gloffset_WindowPos3fvMESA 757 -#define _gloffset_WindowPos3iMESA 758 -#define _gloffset_WindowPos3ivMESA 759 -#define _gloffset_WindowPos3sMESA 760 -#define _gloffset_WindowPos3svMESA 761 -#define _gloffset_WindowPos4dMESA 762 -#define _gloffset_WindowPos4dvMESA 763 -#define _gloffset_WindowPos4fMESA 764 -#define _gloffset_WindowPos4fvMESA 765 -#define _gloffset_WindowPos4iMESA 766 -#define _gloffset_WindowPos4ivMESA 767 -#define _gloffset_WindowPos4sMESA 768 -#define _gloffset_WindowPos4svMESA 769 -#define _gloffset_MultiModeDrawArraysIBM 770 -#define _gloffset_MultiModeDrawElementsIBM 771 -#define _gloffset_DeleteFencesNV 772 -#define _gloffset_FinishFenceNV 773 -#define _gloffset_GenFencesNV 774 -#define _gloffset_GetFenceivNV 775 -#define _gloffset_IsFenceNV 776 -#define _gloffset_SetFenceNV 777 -#define _gloffset_TestFenceNV 778 -#define _gloffset_AreProgramsResidentNV 779 -#define _gloffset_BindProgramNV 780 -#define _gloffset_DeleteProgramsNV 781 -#define _gloffset_ExecuteProgramNV 782 -#define _gloffset_GenProgramsNV 783 -#define _gloffset_GetProgramParameterdvNV 784 -#define _gloffset_GetProgramParameterfvNV 785 -#define _gloffset_GetProgramStringNV 786 -#define _gloffset_GetProgramivNV 787 -#define _gloffset_GetTrackMatrixivNV 788 -#define _gloffset_GetVertexAttribPointervNV 789 -#define _gloffset_GetVertexAttribdvNV 790 -#define _gloffset_GetVertexAttribfvNV 791 -#define _gloffset_GetVertexAttribivNV 792 -#define _gloffset_IsProgramNV 793 -#define _gloffset_LoadProgramNV 794 -#define _gloffset_ProgramParameters4dvNV 795 -#define _gloffset_ProgramParameters4fvNV 796 -#define _gloffset_RequestResidentProgramsNV 797 -#define _gloffset_TrackMatrixNV 798 -#define _gloffset_VertexAttrib1dNV 799 -#define _gloffset_VertexAttrib1dvNV 800 -#define _gloffset_VertexAttrib1fNV 801 -#define _gloffset_VertexAttrib1fvNV 802 -#define _gloffset_VertexAttrib1sNV 803 -#define _gloffset_VertexAttrib1svNV 804 -#define _gloffset_VertexAttrib2dNV 805 -#define _gloffset_VertexAttrib2dvNV 806 -#define _gloffset_VertexAttrib2fNV 807 -#define _gloffset_VertexAttrib2fvNV 808 -#define _gloffset_VertexAttrib2sNV 809 -#define _gloffset_VertexAttrib2svNV 810 -#define _gloffset_VertexAttrib3dNV 811 -#define _gloffset_VertexAttrib3dvNV 812 -#define _gloffset_VertexAttrib3fNV 813 -#define _gloffset_VertexAttrib3fvNV 814 -#define _gloffset_VertexAttrib3sNV 815 -#define _gloffset_VertexAttrib3svNV 816 -#define _gloffset_VertexAttrib4dNV 817 -#define _gloffset_VertexAttrib4dvNV 818 -#define _gloffset_VertexAttrib4fNV 819 -#define _gloffset_VertexAttrib4fvNV 820 -#define _gloffset_VertexAttrib4sNV 821 -#define _gloffset_VertexAttrib4svNV 822 -#define _gloffset_VertexAttrib4ubNV 823 -#define _gloffset_VertexAttrib4ubvNV 824 -#define _gloffset_VertexAttribPointerNV 825 -#define _gloffset_VertexAttribs1dvNV 826 -#define _gloffset_VertexAttribs1fvNV 827 -#define _gloffset_VertexAttribs1svNV 828 -#define _gloffset_VertexAttribs2dvNV 829 -#define _gloffset_VertexAttribs2fvNV 830 -#define _gloffset_VertexAttribs2svNV 831 -#define _gloffset_VertexAttribs3dvNV 832 -#define _gloffset_VertexAttribs3fvNV 833 -#define _gloffset_VertexAttribs3svNV 834 -#define _gloffset_VertexAttribs4dvNV 835 -#define _gloffset_VertexAttribs4fvNV 836 -#define _gloffset_VertexAttribs4svNV 837 -#define _gloffset_VertexAttribs4ubvNV 838 -#define _gloffset_GetTexBumpParameterfvATI 839 -#define _gloffset_GetTexBumpParameterivATI 840 -#define _gloffset_TexBumpParameterfvATI 841 -#define _gloffset_TexBumpParameterivATI 842 -#define _gloffset_AlphaFragmentOp1ATI 843 -#define _gloffset_AlphaFragmentOp2ATI 844 -#define _gloffset_AlphaFragmentOp3ATI 845 -#define _gloffset_BeginFragmentShaderATI 846 -#define _gloffset_BindFragmentShaderATI 847 -#define _gloffset_ColorFragmentOp1ATI 848 -#define _gloffset_ColorFragmentOp2ATI 849 -#define _gloffset_ColorFragmentOp3ATI 850 -#define _gloffset_DeleteFragmentShaderATI 851 -#define _gloffset_EndFragmentShaderATI 852 -#define _gloffset_GenFragmentShadersATI 853 -#define _gloffset_PassTexCoordATI 854 -#define _gloffset_SampleMapATI 855 -#define _gloffset_SetFragmentShaderConstantATI 856 -#define _gloffset_PointParameteriNV 857 -#define _gloffset_PointParameterivNV 858 -#define _gloffset_ActiveStencilFaceEXT 859 -#define _gloffset_BindVertexArrayAPPLE 860 -#define _gloffset_DeleteVertexArraysAPPLE 861 -#define _gloffset_GenVertexArraysAPPLE 862 -#define _gloffset_IsVertexArrayAPPLE 863 -#define _gloffset_GetProgramNamedParameterdvNV 864 -#define _gloffset_GetProgramNamedParameterfvNV 865 -#define _gloffset_ProgramNamedParameter4dNV 866 -#define _gloffset_ProgramNamedParameter4dvNV 867 -#define _gloffset_ProgramNamedParameter4fNV 868 -#define _gloffset_ProgramNamedParameter4fvNV 869 -#define _gloffset_PrimitiveRestartIndexNV 870 -#define _gloffset_PrimitiveRestartNV 871 -#define _gloffset_DepthBoundsEXT 872 -#define _gloffset_BlendEquationSeparateEXT 873 -#define _gloffset_BindFramebufferEXT 874 -#define _gloffset_BindRenderbufferEXT 875 -#define _gloffset_CheckFramebufferStatusEXT 876 -#define _gloffset_DeleteFramebuffersEXT 877 -#define _gloffset_DeleteRenderbuffersEXT 878 -#define _gloffset_FramebufferRenderbufferEXT 879 -#define _gloffset_FramebufferTexture1DEXT 880 -#define _gloffset_FramebufferTexture2DEXT 881 -#define _gloffset_FramebufferTexture3DEXT 882 -#define _gloffset_GenFramebuffersEXT 883 -#define _gloffset_GenRenderbuffersEXT 884 -#define _gloffset_GenerateMipmapEXT 885 -#define _gloffset_GetFramebufferAttachmentParameterivEXT 886 -#define _gloffset_GetRenderbufferParameterivEXT 887 -#define _gloffset_IsFramebufferEXT 888 -#define _gloffset_IsRenderbufferEXT 889 -#define _gloffset_RenderbufferStorageEXT 890 -#define _gloffset_BlitFramebufferEXT 891 -#define _gloffset_BufferParameteriAPPLE 892 -#define _gloffset_FlushMappedBufferRangeAPPLE 893 -#define _gloffset_BindFragDataLocationEXT 894 -#define _gloffset_GetFragDataLocationEXT 895 -#define _gloffset_GetUniformuivEXT 896 -#define _gloffset_GetVertexAttribIivEXT 897 -#define _gloffset_GetVertexAttribIuivEXT 898 -#define _gloffset_Uniform1uiEXT 899 -#define _gloffset_Uniform1uivEXT 900 -#define _gloffset_Uniform2uiEXT 901 -#define _gloffset_Uniform2uivEXT 902 -#define _gloffset_Uniform3uiEXT 903 -#define _gloffset_Uniform3uivEXT 904 -#define _gloffset_Uniform4uiEXT 905 -#define _gloffset_Uniform4uivEXT 906 -#define _gloffset_VertexAttribI1iEXT 907 -#define _gloffset_VertexAttribI1ivEXT 908 -#define _gloffset_VertexAttribI1uiEXT 909 -#define _gloffset_VertexAttribI1uivEXT 910 -#define _gloffset_VertexAttribI2iEXT 911 -#define _gloffset_VertexAttribI2ivEXT 912 -#define _gloffset_VertexAttribI2uiEXT 913 -#define _gloffset_VertexAttribI2uivEXT 914 -#define _gloffset_VertexAttribI3iEXT 915 -#define _gloffset_VertexAttribI3ivEXT 916 -#define _gloffset_VertexAttribI3uiEXT 917 -#define _gloffset_VertexAttribI3uivEXT 918 -#define _gloffset_VertexAttribI4bvEXT 919 -#define _gloffset_VertexAttribI4iEXT 920 -#define _gloffset_VertexAttribI4ivEXT 921 -#define _gloffset_VertexAttribI4svEXT 922 -#define _gloffset_VertexAttribI4ubvEXT 923 -#define _gloffset_VertexAttribI4uiEXT 924 -#define _gloffset_VertexAttribI4uivEXT 925 -#define _gloffset_VertexAttribI4usvEXT 926 -#define _gloffset_VertexAttribIPointerEXT 927 -#define _gloffset_FramebufferTextureLayerEXT 928 -#define _gloffset_ColorMaskIndexedEXT 929 -#define _gloffset_DisableIndexedEXT 930 -#define _gloffset_EnableIndexedEXT 931 -#define _gloffset_GetBooleanIndexedvEXT 932 -#define _gloffset_GetIntegerIndexedvEXT 933 -#define _gloffset_IsEnabledIndexedEXT 934 -#define _gloffset_ClearColorIiEXT 935 -#define _gloffset_ClearColorIuiEXT 936 -#define _gloffset_GetTexParameterIivEXT 937 -#define _gloffset_GetTexParameterIuivEXT 938 -#define _gloffset_TexParameterIivEXT 939 -#define _gloffset_TexParameterIuivEXT 940 -#define _gloffset_BeginConditionalRenderNV 941 -#define _gloffset_EndConditionalRenderNV 942 -#define _gloffset_BeginTransformFeedbackEXT 943 -#define _gloffset_BindBufferBaseEXT 944 -#define _gloffset_BindBufferOffsetEXT 945 -#define _gloffset_BindBufferRangeEXT 946 -#define _gloffset_EndTransformFeedbackEXT 947 -#define _gloffset_GetTransformFeedbackVaryingEXT 948 -#define _gloffset_TransformFeedbackVaryingsEXT 949 -#define _gloffset_ProvokingVertexEXT 950 -#define _gloffset_GetTexParameterPointervAPPLE 951 -#define _gloffset_TextureRangeAPPLE 952 -#define _gloffset_GetObjectParameterivAPPLE 953 -#define _gloffset_ObjectPurgeableAPPLE 954 -#define _gloffset_ObjectUnpurgeableAPPLE 955 -#define _gloffset_ActiveProgramEXT 956 -#define _gloffset_CreateShaderProgramEXT 957 -#define _gloffset_UseShaderProgramEXT 958 -#define _gloffset_TextureBarrierNV 959 -#define _gloffset_StencilFuncSeparateATI 960 -#define _gloffset_ProgramEnvParameters4fvEXT 961 -#define _gloffset_ProgramLocalParameters4fvEXT 962 -#define _gloffset_GetQueryObjecti64vEXT 963 -#define _gloffset_GetQueryObjectui64vEXT 964 -#define _gloffset_EGLImageTargetRenderbufferStorageOES 965 -#define _gloffset_EGLImageTargetTexture2DOES 966 +#define _gloffset_TexStorage1D 685 +#define _gloffset_TexStorage2D 686 +#define _gloffset_TexStorage3D 687 +#define _gloffset_TextureStorage1DEXT 688 +#define _gloffset_TextureStorage2DEXT 689 +#define _gloffset_TextureStorage3DEXT 690 +#define _gloffset_PolygonOffsetEXT 691 +#define _gloffset_GetPixelTexGenParameterfvSGIS 692 +#define _gloffset_GetPixelTexGenParameterivSGIS 693 +#define _gloffset_PixelTexGenParameterfSGIS 694 +#define _gloffset_PixelTexGenParameterfvSGIS 695 +#define _gloffset_PixelTexGenParameteriSGIS 696 +#define _gloffset_PixelTexGenParameterivSGIS 697 +#define _gloffset_SampleMaskSGIS 698 +#define _gloffset_SamplePatternSGIS 699 +#define _gloffset_ColorPointerEXT 700 +#define _gloffset_EdgeFlagPointerEXT 701 +#define _gloffset_IndexPointerEXT 702 +#define _gloffset_NormalPointerEXT 703 +#define _gloffset_TexCoordPointerEXT 704 +#define _gloffset_VertexPointerEXT 705 +#define _gloffset_PointParameterfEXT 706 +#define _gloffset_PointParameterfvEXT 707 +#define _gloffset_LockArraysEXT 708 +#define _gloffset_UnlockArraysEXT 709 +#define _gloffset_SecondaryColor3bEXT 710 +#define _gloffset_SecondaryColor3bvEXT 711 +#define _gloffset_SecondaryColor3dEXT 712 +#define _gloffset_SecondaryColor3dvEXT 713 +#define _gloffset_SecondaryColor3fEXT 714 +#define _gloffset_SecondaryColor3fvEXT 715 +#define _gloffset_SecondaryColor3iEXT 716 +#define _gloffset_SecondaryColor3ivEXT 717 +#define _gloffset_SecondaryColor3sEXT 718 +#define _gloffset_SecondaryColor3svEXT 719 +#define _gloffset_SecondaryColor3ubEXT 720 +#define _gloffset_SecondaryColor3ubvEXT 721 +#define _gloffset_SecondaryColor3uiEXT 722 +#define _gloffset_SecondaryColor3uivEXT 723 +#define _gloffset_SecondaryColor3usEXT 724 +#define _gloffset_SecondaryColor3usvEXT 725 +#define _gloffset_SecondaryColorPointerEXT 726 +#define _gloffset_MultiDrawArraysEXT 727 +#define _gloffset_MultiDrawElementsEXT 728 +#define _gloffset_FogCoordPointerEXT 729 +#define _gloffset_FogCoorddEXT 730 +#define _gloffset_FogCoorddvEXT 731 +#define _gloffset_FogCoordfEXT 732 +#define _gloffset_FogCoordfvEXT 733 +#define _gloffset_PixelTexGenSGIX 734 +#define _gloffset_BlendFuncSeparateEXT 735 +#define _gloffset_FlushVertexArrayRangeNV 736 +#define _gloffset_VertexArrayRangeNV 737 +#define _gloffset_CombinerInputNV 738 +#define _gloffset_CombinerOutputNV 739 +#define _gloffset_CombinerParameterfNV 740 +#define _gloffset_CombinerParameterfvNV 741 +#define _gloffset_CombinerParameteriNV 742 +#define _gloffset_CombinerParameterivNV 743 +#define _gloffset_FinalCombinerInputNV 744 +#define _gloffset_GetCombinerInputParameterfvNV 745 +#define _gloffset_GetCombinerInputParameterivNV 746 +#define _gloffset_GetCombinerOutputParameterfvNV 747 +#define _gloffset_GetCombinerOutputParameterivNV 748 +#define _gloffset_GetFinalCombinerInputParameterfvNV 749 +#define _gloffset_GetFinalCombinerInputParameterivNV 750 +#define _gloffset_ResizeBuffersMESA 751 +#define _gloffset_WindowPos2dMESA 752 +#define _gloffset_WindowPos2dvMESA 753 +#define _gloffset_WindowPos2fMESA 754 +#define _gloffset_WindowPos2fvMESA 755 +#define _gloffset_WindowPos2iMESA 756 +#define _gloffset_WindowPos2ivMESA 757 +#define _gloffset_WindowPos2sMESA 758 +#define _gloffset_WindowPos2svMESA 759 +#define _gloffset_WindowPos3dMESA 760 +#define _gloffset_WindowPos3dvMESA 761 +#define _gloffset_WindowPos3fMESA 762 +#define _gloffset_WindowPos3fvMESA 763 +#define _gloffset_WindowPos3iMESA 764 +#define _gloffset_WindowPos3ivMESA 765 +#define _gloffset_WindowPos3sMESA 766 +#define _gloffset_WindowPos3svMESA 767 +#define _gloffset_WindowPos4dMESA 768 +#define _gloffset_WindowPos4dvMESA 769 +#define _gloffset_WindowPos4fMESA 770 +#define _gloffset_WindowPos4fvMESA 771 +#define _gloffset_WindowPos4iMESA 772 +#define _gloffset_WindowPos4ivMESA 773 +#define _gloffset_WindowPos4sMESA 774 +#define _gloffset_WindowPos4svMESA 775 +#define _gloffset_MultiModeDrawArraysIBM 776 +#define _gloffset_MultiModeDrawElementsIBM 777 +#define _gloffset_DeleteFencesNV 778 +#define _gloffset_FinishFenceNV 779 +#define _gloffset_GenFencesNV 780 +#define _gloffset_GetFenceivNV 781 +#define _gloffset_IsFenceNV 782 +#define _gloffset_SetFenceNV 783 +#define _gloffset_TestFenceNV 784 +#define _gloffset_AreProgramsResidentNV 785 +#define _gloffset_BindProgramNV 786 +#define _gloffset_DeleteProgramsNV 787 +#define _gloffset_ExecuteProgramNV 788 +#define _gloffset_GenProgramsNV 789 +#define _gloffset_GetProgramParameterdvNV 790 +#define _gloffset_GetProgramParameterfvNV 791 +#define _gloffset_GetProgramStringNV 792 +#define _gloffset_GetProgramivNV 793 +#define _gloffset_GetTrackMatrixivNV 794 +#define _gloffset_GetVertexAttribPointervNV 795 +#define _gloffset_GetVertexAttribdvNV 796 +#define _gloffset_GetVertexAttribfvNV 797 +#define _gloffset_GetVertexAttribivNV 798 +#define _gloffset_IsProgramNV 799 +#define _gloffset_LoadProgramNV 800 +#define _gloffset_ProgramParameters4dvNV 801 +#define _gloffset_ProgramParameters4fvNV 802 +#define _gloffset_RequestResidentProgramsNV 803 +#define _gloffset_TrackMatrixNV 804 +#define _gloffset_VertexAttrib1dNV 805 +#define _gloffset_VertexAttrib1dvNV 806 +#define _gloffset_VertexAttrib1fNV 807 +#define _gloffset_VertexAttrib1fvNV 808 +#define _gloffset_VertexAttrib1sNV 809 +#define _gloffset_VertexAttrib1svNV 810 +#define _gloffset_VertexAttrib2dNV 811 +#define _gloffset_VertexAttrib2dvNV 812 +#define _gloffset_VertexAttrib2fNV 813 +#define _gloffset_VertexAttrib2fvNV 814 +#define _gloffset_VertexAttrib2sNV 815 +#define _gloffset_VertexAttrib2svNV 816 +#define _gloffset_VertexAttrib3dNV 817 +#define _gloffset_VertexAttrib3dvNV 818 +#define _gloffset_VertexAttrib3fNV 819 +#define _gloffset_VertexAttrib3fvNV 820 +#define _gloffset_VertexAttrib3sNV 821 +#define _gloffset_VertexAttrib3svNV 822 +#define _gloffset_VertexAttrib4dNV 823 +#define _gloffset_VertexAttrib4dvNV 824 +#define _gloffset_VertexAttrib4fNV 825 +#define _gloffset_VertexAttrib4fvNV 826 +#define _gloffset_VertexAttrib4sNV 827 +#define _gloffset_VertexAttrib4svNV 828 +#define _gloffset_VertexAttrib4ubNV 829 +#define _gloffset_VertexAttrib4ubvNV 830 +#define _gloffset_VertexAttribPointerNV 831 +#define _gloffset_VertexAttribs1dvNV 832 +#define _gloffset_VertexAttribs1fvNV 833 +#define _gloffset_VertexAttribs1svNV 834 +#define _gloffset_VertexAttribs2dvNV 835 +#define _gloffset_VertexAttribs2fvNV 836 +#define _gloffset_VertexAttribs2svNV 837 +#define _gloffset_VertexAttribs3dvNV 838 +#define _gloffset_VertexAttribs3fvNV 839 +#define _gloffset_VertexAttribs3svNV 840 +#define _gloffset_VertexAttribs4dvNV 841 +#define _gloffset_VertexAttribs4fvNV 842 +#define _gloffset_VertexAttribs4svNV 843 +#define _gloffset_VertexAttribs4ubvNV 844 +#define _gloffset_GetTexBumpParameterfvATI 845 +#define _gloffset_GetTexBumpParameterivATI 846 +#define _gloffset_TexBumpParameterfvATI 847 +#define _gloffset_TexBumpParameterivATI 848 +#define _gloffset_AlphaFragmentOp1ATI 849 +#define _gloffset_AlphaFragmentOp2ATI 850 +#define _gloffset_AlphaFragmentOp3ATI 851 +#define _gloffset_BeginFragmentShaderATI 852 +#define _gloffset_BindFragmentShaderATI 853 +#define _gloffset_ColorFragmentOp1ATI 854 +#define _gloffset_ColorFragmentOp2ATI 855 +#define _gloffset_ColorFragmentOp3ATI 856 +#define _gloffset_DeleteFragmentShaderATI 857 +#define _gloffset_EndFragmentShaderATI 858 +#define _gloffset_GenFragmentShadersATI 859 +#define _gloffset_PassTexCoordATI 860 +#define _gloffset_SampleMapATI 861 +#define _gloffset_SetFragmentShaderConstantATI 862 +#define _gloffset_PointParameteriNV 863 +#define _gloffset_PointParameterivNV 864 +#define _gloffset_ActiveStencilFaceEXT 865 +#define _gloffset_BindVertexArrayAPPLE 866 +#define _gloffset_DeleteVertexArraysAPPLE 867 +#define _gloffset_GenVertexArraysAPPLE 868 +#define _gloffset_IsVertexArrayAPPLE 869 +#define _gloffset_GetProgramNamedParameterdvNV 870 +#define _gloffset_GetProgramNamedParameterfvNV 871 +#define _gloffset_ProgramNamedParameter4dNV 872 +#define _gloffset_ProgramNamedParameter4dvNV 873 +#define _gloffset_ProgramNamedParameter4fNV 874 +#define _gloffset_ProgramNamedParameter4fvNV 875 +#define _gloffset_PrimitiveRestartIndexNV 876 +#define _gloffset_PrimitiveRestartNV 877 +#define _gloffset_DepthBoundsEXT 878 +#define _gloffset_BlendEquationSeparateEXT 879 +#define _gloffset_BindFramebufferEXT 880 +#define _gloffset_BindRenderbufferEXT 881 +#define _gloffset_CheckFramebufferStatusEXT 882 +#define _gloffset_DeleteFramebuffersEXT 883 +#define _gloffset_DeleteRenderbuffersEXT 884 +#define _gloffset_FramebufferRenderbufferEXT 885 +#define _gloffset_FramebufferTexture1DEXT 886 +#define _gloffset_FramebufferTexture2DEXT 887 +#define _gloffset_FramebufferTexture3DEXT 888 +#define _gloffset_GenFramebuffersEXT 889 +#define _gloffset_GenRenderbuffersEXT 890 +#define _gloffset_GenerateMipmapEXT 891 +#define _gloffset_GetFramebufferAttachmentParameterivEXT 892 +#define _gloffset_GetRenderbufferParameterivEXT 893 +#define _gloffset_IsFramebufferEXT 894 +#define _gloffset_IsRenderbufferEXT 895 +#define _gloffset_RenderbufferStorageEXT 896 +#define _gloffset_BlitFramebufferEXT 897 +#define _gloffset_BufferParameteriAPPLE 898 +#define _gloffset_FlushMappedBufferRangeAPPLE 899 +#define _gloffset_BindFragDataLocationEXT 900 +#define _gloffset_GetFragDataLocationEXT 901 +#define _gloffset_GetUniformuivEXT 902 +#define _gloffset_GetVertexAttribIivEXT 903 +#define _gloffset_GetVertexAttribIuivEXT 904 +#define _gloffset_Uniform1uiEXT 905 +#define _gloffset_Uniform1uivEXT 906 +#define _gloffset_Uniform2uiEXT 907 +#define _gloffset_Uniform2uivEXT 908 +#define _gloffset_Uniform3uiEXT 909 +#define _gloffset_Uniform3uivEXT 910 +#define _gloffset_Uniform4uiEXT 911 +#define _gloffset_Uniform4uivEXT 912 +#define _gloffset_VertexAttribI1iEXT 913 +#define _gloffset_VertexAttribI1ivEXT 914 +#define _gloffset_VertexAttribI1uiEXT 915 +#define _gloffset_VertexAttribI1uivEXT 916 +#define _gloffset_VertexAttribI2iEXT 917 +#define _gloffset_VertexAttribI2ivEXT 918 +#define _gloffset_VertexAttribI2uiEXT 919 +#define _gloffset_VertexAttribI2uivEXT 920 +#define _gloffset_VertexAttribI3iEXT 921 +#define _gloffset_VertexAttribI3ivEXT 922 +#define _gloffset_VertexAttribI3uiEXT 923 +#define _gloffset_VertexAttribI3uivEXT 924 +#define _gloffset_VertexAttribI4bvEXT 925 +#define _gloffset_VertexAttribI4iEXT 926 +#define _gloffset_VertexAttribI4ivEXT 927 +#define _gloffset_VertexAttribI4svEXT 928 +#define _gloffset_VertexAttribI4ubvEXT 929 +#define _gloffset_VertexAttribI4uiEXT 930 +#define _gloffset_VertexAttribI4uivEXT 931 +#define _gloffset_VertexAttribI4usvEXT 932 +#define _gloffset_VertexAttribIPointerEXT 933 +#define _gloffset_FramebufferTextureLayerEXT 934 +#define _gloffset_ColorMaskIndexedEXT 935 +#define _gloffset_DisableIndexedEXT 936 +#define _gloffset_EnableIndexedEXT 937 +#define _gloffset_GetBooleanIndexedvEXT 938 +#define _gloffset_GetIntegerIndexedvEXT 939 +#define _gloffset_IsEnabledIndexedEXT 940 +#define _gloffset_ClearColorIiEXT 941 +#define _gloffset_ClearColorIuiEXT 942 +#define _gloffset_GetTexParameterIivEXT 943 +#define _gloffset_GetTexParameterIuivEXT 944 +#define _gloffset_TexParameterIivEXT 945 +#define _gloffset_TexParameterIuivEXT 946 +#define _gloffset_BeginConditionalRenderNV 947 +#define _gloffset_EndConditionalRenderNV 948 +#define _gloffset_BeginTransformFeedbackEXT 949 +#define _gloffset_BindBufferBaseEXT 950 +#define _gloffset_BindBufferOffsetEXT 951 +#define _gloffset_BindBufferRangeEXT 952 +#define _gloffset_EndTransformFeedbackEXT 953 +#define _gloffset_GetTransformFeedbackVaryingEXT 954 +#define _gloffset_TransformFeedbackVaryingsEXT 955 +#define _gloffset_ProvokingVertexEXT 956 +#define _gloffset_GetTexParameterPointervAPPLE 957 +#define _gloffset_TextureRangeAPPLE 958 +#define _gloffset_GetObjectParameterivAPPLE 959 +#define _gloffset_ObjectPurgeableAPPLE 960 +#define _gloffset_ObjectUnpurgeableAPPLE 961 +#define _gloffset_ActiveProgramEXT 962 +#define _gloffset_CreateShaderProgramEXT 963 +#define _gloffset_UseShaderProgramEXT 964 +#define _gloffset_TextureBarrierNV 965 +#define _gloffset_StencilFuncSeparateATI 966 +#define _gloffset_ProgramEnvParameters4fvEXT 967 +#define _gloffset_ProgramLocalParameters4fvEXT 968 +#define _gloffset_GetQueryObjecti64vEXT 969 +#define _gloffset_GetQueryObjectui64vEXT 970 +#define _gloffset_EGLImageTargetRenderbufferStorageOES 971 +#define _gloffset_EGLImageTargetTexture2DOES 972 #else /* !FEATURE_remap_table */ -#define driDispatchRemapTable_size 559 +#define driDispatchRemapTable_size 565 extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define AttachShader_remap_index 0 @@ -1314,288 +1320,294 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define GetnUniformivARB_remap_index 274 #define GetnUniformuivARB_remap_index 275 #define ReadnPixelsARB_remap_index 276 -#define PolygonOffsetEXT_remap_index 277 -#define GetPixelTexGenParameterfvSGIS_remap_index 278 -#define GetPixelTexGenParameterivSGIS_remap_index 279 -#define PixelTexGenParameterfSGIS_remap_index 280 -#define PixelTexGenParameterfvSGIS_remap_index 281 -#define PixelTexGenParameteriSGIS_remap_index 282 -#define PixelTexGenParameterivSGIS_remap_index 283 -#define SampleMaskSGIS_remap_index 284 -#define SamplePatternSGIS_remap_index 285 -#define ColorPointerEXT_remap_index 286 -#define EdgeFlagPointerEXT_remap_index 287 -#define IndexPointerEXT_remap_index 288 -#define NormalPointerEXT_remap_index 289 -#define TexCoordPointerEXT_remap_index 290 -#define VertexPointerEXT_remap_index 291 -#define PointParameterfEXT_remap_index 292 -#define PointParameterfvEXT_remap_index 293 -#define LockArraysEXT_remap_index 294 -#define UnlockArraysEXT_remap_index 295 -#define SecondaryColor3bEXT_remap_index 296 -#define SecondaryColor3bvEXT_remap_index 297 -#define SecondaryColor3dEXT_remap_index 298 -#define SecondaryColor3dvEXT_remap_index 299 -#define SecondaryColor3fEXT_remap_index 300 -#define SecondaryColor3fvEXT_remap_index 301 -#define SecondaryColor3iEXT_remap_index 302 -#define SecondaryColor3ivEXT_remap_index 303 -#define SecondaryColor3sEXT_remap_index 304 -#define SecondaryColor3svEXT_remap_index 305 -#define SecondaryColor3ubEXT_remap_index 306 -#define SecondaryColor3ubvEXT_remap_index 307 -#define SecondaryColor3uiEXT_remap_index 308 -#define SecondaryColor3uivEXT_remap_index 309 -#define SecondaryColor3usEXT_remap_index 310 -#define SecondaryColor3usvEXT_remap_index 311 -#define SecondaryColorPointerEXT_remap_index 312 -#define MultiDrawArraysEXT_remap_index 313 -#define MultiDrawElementsEXT_remap_index 314 -#define FogCoordPointerEXT_remap_index 315 -#define FogCoorddEXT_remap_index 316 -#define FogCoorddvEXT_remap_index 317 -#define FogCoordfEXT_remap_index 318 -#define FogCoordfvEXT_remap_index 319 -#define PixelTexGenSGIX_remap_index 320 -#define BlendFuncSeparateEXT_remap_index 321 -#define FlushVertexArrayRangeNV_remap_index 322 -#define VertexArrayRangeNV_remap_index 323 -#define CombinerInputNV_remap_index 324 -#define CombinerOutputNV_remap_index 325 -#define CombinerParameterfNV_remap_index 326 -#define CombinerParameterfvNV_remap_index 327 -#define CombinerParameteriNV_remap_index 328 -#define CombinerParameterivNV_remap_index 329 -#define FinalCombinerInputNV_remap_index 330 -#define GetCombinerInputParameterfvNV_remap_index 331 -#define GetCombinerInputParameterivNV_remap_index 332 -#define GetCombinerOutputParameterfvNV_remap_index 333 -#define GetCombinerOutputParameterivNV_remap_index 334 -#define GetFinalCombinerInputParameterfvNV_remap_index 335 -#define GetFinalCombinerInputParameterivNV_remap_index 336 -#define ResizeBuffersMESA_remap_index 337 -#define WindowPos2dMESA_remap_index 338 -#define WindowPos2dvMESA_remap_index 339 -#define WindowPos2fMESA_remap_index 340 -#define WindowPos2fvMESA_remap_index 341 -#define WindowPos2iMESA_remap_index 342 -#define WindowPos2ivMESA_remap_index 343 -#define WindowPos2sMESA_remap_index 344 -#define WindowPos2svMESA_remap_index 345 -#define WindowPos3dMESA_remap_index 346 -#define WindowPos3dvMESA_remap_index 347 -#define WindowPos3fMESA_remap_index 348 -#define WindowPos3fvMESA_remap_index 349 -#define WindowPos3iMESA_remap_index 350 -#define WindowPos3ivMESA_remap_index 351 -#define WindowPos3sMESA_remap_index 352 -#define WindowPos3svMESA_remap_index 353 -#define WindowPos4dMESA_remap_index 354 -#define WindowPos4dvMESA_remap_index 355 -#define WindowPos4fMESA_remap_index 356 -#define WindowPos4fvMESA_remap_index 357 -#define WindowPos4iMESA_remap_index 358 -#define WindowPos4ivMESA_remap_index 359 -#define WindowPos4sMESA_remap_index 360 -#define WindowPos4svMESA_remap_index 361 -#define MultiModeDrawArraysIBM_remap_index 362 -#define MultiModeDrawElementsIBM_remap_index 363 -#define DeleteFencesNV_remap_index 364 -#define FinishFenceNV_remap_index 365 -#define GenFencesNV_remap_index 366 -#define GetFenceivNV_remap_index 367 -#define IsFenceNV_remap_index 368 -#define SetFenceNV_remap_index 369 -#define TestFenceNV_remap_index 370 -#define AreProgramsResidentNV_remap_index 371 -#define BindProgramNV_remap_index 372 -#define DeleteProgramsNV_remap_index 373 -#define ExecuteProgramNV_remap_index 374 -#define GenProgramsNV_remap_index 375 -#define GetProgramParameterdvNV_remap_index 376 -#define GetProgramParameterfvNV_remap_index 377 -#define GetProgramStringNV_remap_index 378 -#define GetProgramivNV_remap_index 379 -#define GetTrackMatrixivNV_remap_index 380 -#define GetVertexAttribPointervNV_remap_index 381 -#define GetVertexAttribdvNV_remap_index 382 -#define GetVertexAttribfvNV_remap_index 383 -#define GetVertexAttribivNV_remap_index 384 -#define IsProgramNV_remap_index 385 -#define LoadProgramNV_remap_index 386 -#define ProgramParameters4dvNV_remap_index 387 -#define ProgramParameters4fvNV_remap_index 388 -#define RequestResidentProgramsNV_remap_index 389 -#define TrackMatrixNV_remap_index 390 -#define VertexAttrib1dNV_remap_index 391 -#define VertexAttrib1dvNV_remap_index 392 -#define VertexAttrib1fNV_remap_index 393 -#define VertexAttrib1fvNV_remap_index 394 -#define VertexAttrib1sNV_remap_index 395 -#define VertexAttrib1svNV_remap_index 396 -#define VertexAttrib2dNV_remap_index 397 -#define VertexAttrib2dvNV_remap_index 398 -#define VertexAttrib2fNV_remap_index 399 -#define VertexAttrib2fvNV_remap_index 400 -#define VertexAttrib2sNV_remap_index 401 -#define VertexAttrib2svNV_remap_index 402 -#define VertexAttrib3dNV_remap_index 403 -#define VertexAttrib3dvNV_remap_index 404 -#define VertexAttrib3fNV_remap_index 405 -#define VertexAttrib3fvNV_remap_index 406 -#define VertexAttrib3sNV_remap_index 407 -#define VertexAttrib3svNV_remap_index 408 -#define VertexAttrib4dNV_remap_index 409 -#define VertexAttrib4dvNV_remap_index 410 -#define VertexAttrib4fNV_remap_index 411 -#define VertexAttrib4fvNV_remap_index 412 -#define VertexAttrib4sNV_remap_index 413 -#define VertexAttrib4svNV_remap_index 414 -#define VertexAttrib4ubNV_remap_index 415 -#define VertexAttrib4ubvNV_remap_index 416 -#define VertexAttribPointerNV_remap_index 417 -#define VertexAttribs1dvNV_remap_index 418 -#define VertexAttribs1fvNV_remap_index 419 -#define VertexAttribs1svNV_remap_index 420 -#define VertexAttribs2dvNV_remap_index 421 -#define VertexAttribs2fvNV_remap_index 422 -#define VertexAttribs2svNV_remap_index 423 -#define VertexAttribs3dvNV_remap_index 424 -#define VertexAttribs3fvNV_remap_index 425 -#define VertexAttribs3svNV_remap_index 426 -#define VertexAttribs4dvNV_remap_index 427 -#define VertexAttribs4fvNV_remap_index 428 -#define VertexAttribs4svNV_remap_index 429 -#define VertexAttribs4ubvNV_remap_index 430 -#define GetTexBumpParameterfvATI_remap_index 431 -#define GetTexBumpParameterivATI_remap_index 432 -#define TexBumpParameterfvATI_remap_index 433 -#define TexBumpParameterivATI_remap_index 434 -#define AlphaFragmentOp1ATI_remap_index 435 -#define AlphaFragmentOp2ATI_remap_index 436 -#define AlphaFragmentOp3ATI_remap_index 437 -#define BeginFragmentShaderATI_remap_index 438 -#define BindFragmentShaderATI_remap_index 439 -#define ColorFragmentOp1ATI_remap_index 440 -#define ColorFragmentOp2ATI_remap_index 441 -#define ColorFragmentOp3ATI_remap_index 442 -#define DeleteFragmentShaderATI_remap_index 443 -#define EndFragmentShaderATI_remap_index 444 -#define GenFragmentShadersATI_remap_index 445 -#define PassTexCoordATI_remap_index 446 -#define SampleMapATI_remap_index 447 -#define SetFragmentShaderConstantATI_remap_index 448 -#define PointParameteriNV_remap_index 449 -#define PointParameterivNV_remap_index 450 -#define ActiveStencilFaceEXT_remap_index 451 -#define BindVertexArrayAPPLE_remap_index 452 -#define DeleteVertexArraysAPPLE_remap_index 453 -#define GenVertexArraysAPPLE_remap_index 454 -#define IsVertexArrayAPPLE_remap_index 455 -#define GetProgramNamedParameterdvNV_remap_index 456 -#define GetProgramNamedParameterfvNV_remap_index 457 -#define ProgramNamedParameter4dNV_remap_index 458 -#define ProgramNamedParameter4dvNV_remap_index 459 -#define ProgramNamedParameter4fNV_remap_index 460 -#define ProgramNamedParameter4fvNV_remap_index 461 -#define PrimitiveRestartIndexNV_remap_index 462 -#define PrimitiveRestartNV_remap_index 463 -#define DepthBoundsEXT_remap_index 464 -#define BlendEquationSeparateEXT_remap_index 465 -#define BindFramebufferEXT_remap_index 466 -#define BindRenderbufferEXT_remap_index 467 -#define CheckFramebufferStatusEXT_remap_index 468 -#define DeleteFramebuffersEXT_remap_index 469 -#define DeleteRenderbuffersEXT_remap_index 470 -#define FramebufferRenderbufferEXT_remap_index 471 -#define FramebufferTexture1DEXT_remap_index 472 -#define FramebufferTexture2DEXT_remap_index 473 -#define FramebufferTexture3DEXT_remap_index 474 -#define GenFramebuffersEXT_remap_index 475 -#define GenRenderbuffersEXT_remap_index 476 -#define GenerateMipmapEXT_remap_index 477 -#define GetFramebufferAttachmentParameterivEXT_remap_index 478 -#define GetRenderbufferParameterivEXT_remap_index 479 -#define IsFramebufferEXT_remap_index 480 -#define IsRenderbufferEXT_remap_index 481 -#define RenderbufferStorageEXT_remap_index 482 -#define BlitFramebufferEXT_remap_index 483 -#define BufferParameteriAPPLE_remap_index 484 -#define FlushMappedBufferRangeAPPLE_remap_index 485 -#define BindFragDataLocationEXT_remap_index 486 -#define GetFragDataLocationEXT_remap_index 487 -#define GetUniformuivEXT_remap_index 488 -#define GetVertexAttribIivEXT_remap_index 489 -#define GetVertexAttribIuivEXT_remap_index 490 -#define Uniform1uiEXT_remap_index 491 -#define Uniform1uivEXT_remap_index 492 -#define Uniform2uiEXT_remap_index 493 -#define Uniform2uivEXT_remap_index 494 -#define Uniform3uiEXT_remap_index 495 -#define Uniform3uivEXT_remap_index 496 -#define Uniform4uiEXT_remap_index 497 -#define Uniform4uivEXT_remap_index 498 -#define VertexAttribI1iEXT_remap_index 499 -#define VertexAttribI1ivEXT_remap_index 500 -#define VertexAttribI1uiEXT_remap_index 501 -#define VertexAttribI1uivEXT_remap_index 502 -#define VertexAttribI2iEXT_remap_index 503 -#define VertexAttribI2ivEXT_remap_index 504 -#define VertexAttribI2uiEXT_remap_index 505 -#define VertexAttribI2uivEXT_remap_index 506 -#define VertexAttribI3iEXT_remap_index 507 -#define VertexAttribI3ivEXT_remap_index 508 -#define VertexAttribI3uiEXT_remap_index 509 -#define VertexAttribI3uivEXT_remap_index 510 -#define VertexAttribI4bvEXT_remap_index 511 -#define VertexAttribI4iEXT_remap_index 512 -#define VertexAttribI4ivEXT_remap_index 513 -#define VertexAttribI4svEXT_remap_index 514 -#define VertexAttribI4ubvEXT_remap_index 515 -#define VertexAttribI4uiEXT_remap_index 516 -#define VertexAttribI4uivEXT_remap_index 517 -#define VertexAttribI4usvEXT_remap_index 518 -#define VertexAttribIPointerEXT_remap_index 519 -#define FramebufferTextureLayerEXT_remap_index 520 -#define ColorMaskIndexedEXT_remap_index 521 -#define DisableIndexedEXT_remap_index 522 -#define EnableIndexedEXT_remap_index 523 -#define GetBooleanIndexedvEXT_remap_index 524 -#define GetIntegerIndexedvEXT_remap_index 525 -#define IsEnabledIndexedEXT_remap_index 526 -#define ClearColorIiEXT_remap_index 527 -#define ClearColorIuiEXT_remap_index 528 -#define GetTexParameterIivEXT_remap_index 529 -#define GetTexParameterIuivEXT_remap_index 530 -#define TexParameterIivEXT_remap_index 531 -#define TexParameterIuivEXT_remap_index 532 -#define BeginConditionalRenderNV_remap_index 533 -#define EndConditionalRenderNV_remap_index 534 -#define BeginTransformFeedbackEXT_remap_index 535 -#define BindBufferBaseEXT_remap_index 536 -#define BindBufferOffsetEXT_remap_index 537 -#define BindBufferRangeEXT_remap_index 538 -#define EndTransformFeedbackEXT_remap_index 539 -#define GetTransformFeedbackVaryingEXT_remap_index 540 -#define TransformFeedbackVaryingsEXT_remap_index 541 -#define ProvokingVertexEXT_remap_index 542 -#define GetTexParameterPointervAPPLE_remap_index 543 -#define TextureRangeAPPLE_remap_index 544 -#define GetObjectParameterivAPPLE_remap_index 545 -#define ObjectPurgeableAPPLE_remap_index 546 -#define ObjectUnpurgeableAPPLE_remap_index 547 -#define ActiveProgramEXT_remap_index 548 -#define CreateShaderProgramEXT_remap_index 549 -#define UseShaderProgramEXT_remap_index 550 -#define TextureBarrierNV_remap_index 551 -#define StencilFuncSeparateATI_remap_index 552 -#define ProgramEnvParameters4fvEXT_remap_index 553 -#define ProgramLocalParameters4fvEXT_remap_index 554 -#define GetQueryObjecti64vEXT_remap_index 555 -#define GetQueryObjectui64vEXT_remap_index 556 -#define EGLImageTargetRenderbufferStorageOES_remap_index 557 -#define EGLImageTargetTexture2DOES_remap_index 558 +#define TexStorage1D_remap_index 277 +#define TexStorage2D_remap_index 278 +#define TexStorage3D_remap_index 279 +#define TextureStorage1DEXT_remap_index 280 +#define TextureStorage2DEXT_remap_index 281 +#define TextureStorage3DEXT_remap_index 282 +#define PolygonOffsetEXT_remap_index 283 +#define GetPixelTexGenParameterfvSGIS_remap_index 284 +#define GetPixelTexGenParameterivSGIS_remap_index 285 +#define PixelTexGenParameterfSGIS_remap_index 286 +#define PixelTexGenParameterfvSGIS_remap_index 287 +#define PixelTexGenParameteriSGIS_remap_index 288 +#define PixelTexGenParameterivSGIS_remap_index 289 +#define SampleMaskSGIS_remap_index 290 +#define SamplePatternSGIS_remap_index 291 +#define ColorPointerEXT_remap_index 292 +#define EdgeFlagPointerEXT_remap_index 293 +#define IndexPointerEXT_remap_index 294 +#define NormalPointerEXT_remap_index 295 +#define TexCoordPointerEXT_remap_index 296 +#define VertexPointerEXT_remap_index 297 +#define PointParameterfEXT_remap_index 298 +#define PointParameterfvEXT_remap_index 299 +#define LockArraysEXT_remap_index 300 +#define UnlockArraysEXT_remap_index 301 +#define SecondaryColor3bEXT_remap_index 302 +#define SecondaryColor3bvEXT_remap_index 303 +#define SecondaryColor3dEXT_remap_index 304 +#define SecondaryColor3dvEXT_remap_index 305 +#define SecondaryColor3fEXT_remap_index 306 +#define SecondaryColor3fvEXT_remap_index 307 +#define SecondaryColor3iEXT_remap_index 308 +#define SecondaryColor3ivEXT_remap_index 309 +#define SecondaryColor3sEXT_remap_index 310 +#define SecondaryColor3svEXT_remap_index 311 +#define SecondaryColor3ubEXT_remap_index 312 +#define SecondaryColor3ubvEXT_remap_index 313 +#define SecondaryColor3uiEXT_remap_index 314 +#define SecondaryColor3uivEXT_remap_index 315 +#define SecondaryColor3usEXT_remap_index 316 +#define SecondaryColor3usvEXT_remap_index 317 +#define SecondaryColorPointerEXT_remap_index 318 +#define MultiDrawArraysEXT_remap_index 319 +#define MultiDrawElementsEXT_remap_index 320 +#define FogCoordPointerEXT_remap_index 321 +#define FogCoorddEXT_remap_index 322 +#define FogCoorddvEXT_remap_index 323 +#define FogCoordfEXT_remap_index 324 +#define FogCoordfvEXT_remap_index 325 +#define PixelTexGenSGIX_remap_index 326 +#define BlendFuncSeparateEXT_remap_index 327 +#define FlushVertexArrayRangeNV_remap_index 328 +#define VertexArrayRangeNV_remap_index 329 +#define CombinerInputNV_remap_index 330 +#define CombinerOutputNV_remap_index 331 +#define CombinerParameterfNV_remap_index 332 +#define CombinerParameterfvNV_remap_index 333 +#define CombinerParameteriNV_remap_index 334 +#define CombinerParameterivNV_remap_index 335 +#define FinalCombinerInputNV_remap_index 336 +#define GetCombinerInputParameterfvNV_remap_index 337 +#define GetCombinerInputParameterivNV_remap_index 338 +#define GetCombinerOutputParameterfvNV_remap_index 339 +#define GetCombinerOutputParameterivNV_remap_index 340 +#define GetFinalCombinerInputParameterfvNV_remap_index 341 +#define GetFinalCombinerInputParameterivNV_remap_index 342 +#define ResizeBuffersMESA_remap_index 343 +#define WindowPos2dMESA_remap_index 344 +#define WindowPos2dvMESA_remap_index 345 +#define WindowPos2fMESA_remap_index 346 +#define WindowPos2fvMESA_remap_index 347 +#define WindowPos2iMESA_remap_index 348 +#define WindowPos2ivMESA_remap_index 349 +#define WindowPos2sMESA_remap_index 350 +#define WindowPos2svMESA_remap_index 351 +#define WindowPos3dMESA_remap_index 352 +#define WindowPos3dvMESA_remap_index 353 +#define WindowPos3fMESA_remap_index 354 +#define WindowPos3fvMESA_remap_index 355 +#define WindowPos3iMESA_remap_index 356 +#define WindowPos3ivMESA_remap_index 357 +#define WindowPos3sMESA_remap_index 358 +#define WindowPos3svMESA_remap_index 359 +#define WindowPos4dMESA_remap_index 360 +#define WindowPos4dvMESA_remap_index 361 +#define WindowPos4fMESA_remap_index 362 +#define WindowPos4fvMESA_remap_index 363 +#define WindowPos4iMESA_remap_index 364 +#define WindowPos4ivMESA_remap_index 365 +#define WindowPos4sMESA_remap_index 366 +#define WindowPos4svMESA_remap_index 367 +#define MultiModeDrawArraysIBM_remap_index 368 +#define MultiModeDrawElementsIBM_remap_index 369 +#define DeleteFencesNV_remap_index 370 +#define FinishFenceNV_remap_index 371 +#define GenFencesNV_remap_index 372 +#define GetFenceivNV_remap_index 373 +#define IsFenceNV_remap_index 374 +#define SetFenceNV_remap_index 375 +#define TestFenceNV_remap_index 376 +#define AreProgramsResidentNV_remap_index 377 +#define BindProgramNV_remap_index 378 +#define DeleteProgramsNV_remap_index 379 +#define ExecuteProgramNV_remap_index 380 +#define GenProgramsNV_remap_index 381 +#define GetProgramParameterdvNV_remap_index 382 +#define GetProgramParameterfvNV_remap_index 383 +#define GetProgramStringNV_remap_index 384 +#define GetProgramivNV_remap_index 385 +#define GetTrackMatrixivNV_remap_index 386 +#define GetVertexAttribPointervNV_remap_index 387 +#define GetVertexAttribdvNV_remap_index 388 +#define GetVertexAttribfvNV_remap_index 389 +#define GetVertexAttribivNV_remap_index 390 +#define IsProgramNV_remap_index 391 +#define LoadProgramNV_remap_index 392 +#define ProgramParameters4dvNV_remap_index 393 +#define ProgramParameters4fvNV_remap_index 394 +#define RequestResidentProgramsNV_remap_index 395 +#define TrackMatrixNV_remap_index 396 +#define VertexAttrib1dNV_remap_index 397 +#define VertexAttrib1dvNV_remap_index 398 +#define VertexAttrib1fNV_remap_index 399 +#define VertexAttrib1fvNV_remap_index 400 +#define VertexAttrib1sNV_remap_index 401 +#define VertexAttrib1svNV_remap_index 402 +#define VertexAttrib2dNV_remap_index 403 +#define VertexAttrib2dvNV_remap_index 404 +#define VertexAttrib2fNV_remap_index 405 +#define VertexAttrib2fvNV_remap_index 406 +#define VertexAttrib2sNV_remap_index 407 +#define VertexAttrib2svNV_remap_index 408 +#define VertexAttrib3dNV_remap_index 409 +#define VertexAttrib3dvNV_remap_index 410 +#define VertexAttrib3fNV_remap_index 411 +#define VertexAttrib3fvNV_remap_index 412 +#define VertexAttrib3sNV_remap_index 413 +#define VertexAttrib3svNV_remap_index 414 +#define VertexAttrib4dNV_remap_index 415 +#define VertexAttrib4dvNV_remap_index 416 +#define VertexAttrib4fNV_remap_index 417 +#define VertexAttrib4fvNV_remap_index 418 +#define VertexAttrib4sNV_remap_index 419 +#define VertexAttrib4svNV_remap_index 420 +#define VertexAttrib4ubNV_remap_index 421 +#define VertexAttrib4ubvNV_remap_index 422 +#define VertexAttribPointerNV_remap_index 423 +#define VertexAttribs1dvNV_remap_index 424 +#define VertexAttribs1fvNV_remap_index 425 +#define VertexAttribs1svNV_remap_index 426 +#define VertexAttribs2dvNV_remap_index 427 +#define VertexAttribs2fvNV_remap_index 428 +#define VertexAttribs2svNV_remap_index 429 +#define VertexAttribs3dvNV_remap_index 430 +#define VertexAttribs3fvNV_remap_index 431 +#define VertexAttribs3svNV_remap_index 432 +#define VertexAttribs4dvNV_remap_index 433 +#define VertexAttribs4fvNV_remap_index 434 +#define VertexAttribs4svNV_remap_index 435 +#define VertexAttribs4ubvNV_remap_index 436 +#define GetTexBumpParameterfvATI_remap_index 437 +#define GetTexBumpParameterivATI_remap_index 438 +#define TexBumpParameterfvATI_remap_index 439 +#define TexBumpParameterivATI_remap_index 440 +#define AlphaFragmentOp1ATI_remap_index 441 +#define AlphaFragmentOp2ATI_remap_index 442 +#define AlphaFragmentOp3ATI_remap_index 443 +#define BeginFragmentShaderATI_remap_index 444 +#define BindFragmentShaderATI_remap_index 445 +#define ColorFragmentOp1ATI_remap_index 446 +#define ColorFragmentOp2ATI_remap_index 447 +#define ColorFragmentOp3ATI_remap_index 448 +#define DeleteFragmentShaderATI_remap_index 449 +#define EndFragmentShaderATI_remap_index 450 +#define GenFragmentShadersATI_remap_index 451 +#define PassTexCoordATI_remap_index 452 +#define SampleMapATI_remap_index 453 +#define SetFragmentShaderConstantATI_remap_index 454 +#define PointParameteriNV_remap_index 455 +#define PointParameterivNV_remap_index 456 +#define ActiveStencilFaceEXT_remap_index 457 +#define BindVertexArrayAPPLE_remap_index 458 +#define DeleteVertexArraysAPPLE_remap_index 459 +#define GenVertexArraysAPPLE_remap_index 460 +#define IsVertexArrayAPPLE_remap_index 461 +#define GetProgramNamedParameterdvNV_remap_index 462 +#define GetProgramNamedParameterfvNV_remap_index 463 +#define ProgramNamedParameter4dNV_remap_index 464 +#define ProgramNamedParameter4dvNV_remap_index 465 +#define ProgramNamedParameter4fNV_remap_index 466 +#define ProgramNamedParameter4fvNV_remap_index 467 +#define PrimitiveRestartIndexNV_remap_index 468 +#define PrimitiveRestartNV_remap_index 469 +#define DepthBoundsEXT_remap_index 470 +#define BlendEquationSeparateEXT_remap_index 471 +#define BindFramebufferEXT_remap_index 472 +#define BindRenderbufferEXT_remap_index 473 +#define CheckFramebufferStatusEXT_remap_index 474 +#define DeleteFramebuffersEXT_remap_index 475 +#define DeleteRenderbuffersEXT_remap_index 476 +#define FramebufferRenderbufferEXT_remap_index 477 +#define FramebufferTexture1DEXT_remap_index 478 +#define FramebufferTexture2DEXT_remap_index 479 +#define FramebufferTexture3DEXT_remap_index 480 +#define GenFramebuffersEXT_remap_index 481 +#define GenRenderbuffersEXT_remap_index 482 +#define GenerateMipmapEXT_remap_index 483 +#define GetFramebufferAttachmentParameterivEXT_remap_index 484 +#define GetRenderbufferParameterivEXT_remap_index 485 +#define IsFramebufferEXT_remap_index 486 +#define IsRenderbufferEXT_remap_index 487 +#define RenderbufferStorageEXT_remap_index 488 +#define BlitFramebufferEXT_remap_index 489 +#define BufferParameteriAPPLE_remap_index 490 +#define FlushMappedBufferRangeAPPLE_remap_index 491 +#define BindFragDataLocationEXT_remap_index 492 +#define GetFragDataLocationEXT_remap_index 493 +#define GetUniformuivEXT_remap_index 494 +#define GetVertexAttribIivEXT_remap_index 495 +#define GetVertexAttribIuivEXT_remap_index 496 +#define Uniform1uiEXT_remap_index 497 +#define Uniform1uivEXT_remap_index 498 +#define Uniform2uiEXT_remap_index 499 +#define Uniform2uivEXT_remap_index 500 +#define Uniform3uiEXT_remap_index 501 +#define Uniform3uivEXT_remap_index 502 +#define Uniform4uiEXT_remap_index 503 +#define Uniform4uivEXT_remap_index 504 +#define VertexAttribI1iEXT_remap_index 505 +#define VertexAttribI1ivEXT_remap_index 506 +#define VertexAttribI1uiEXT_remap_index 507 +#define VertexAttribI1uivEXT_remap_index 508 +#define VertexAttribI2iEXT_remap_index 509 +#define VertexAttribI2ivEXT_remap_index 510 +#define VertexAttribI2uiEXT_remap_index 511 +#define VertexAttribI2uivEXT_remap_index 512 +#define VertexAttribI3iEXT_remap_index 513 +#define VertexAttribI3ivEXT_remap_index 514 +#define VertexAttribI3uiEXT_remap_index 515 +#define VertexAttribI3uivEXT_remap_index 516 +#define VertexAttribI4bvEXT_remap_index 517 +#define VertexAttribI4iEXT_remap_index 518 +#define VertexAttribI4ivEXT_remap_index 519 +#define VertexAttribI4svEXT_remap_index 520 +#define VertexAttribI4ubvEXT_remap_index 521 +#define VertexAttribI4uiEXT_remap_index 522 +#define VertexAttribI4uivEXT_remap_index 523 +#define VertexAttribI4usvEXT_remap_index 524 +#define VertexAttribIPointerEXT_remap_index 525 +#define FramebufferTextureLayerEXT_remap_index 526 +#define ColorMaskIndexedEXT_remap_index 527 +#define DisableIndexedEXT_remap_index 528 +#define EnableIndexedEXT_remap_index 529 +#define GetBooleanIndexedvEXT_remap_index 530 +#define GetIntegerIndexedvEXT_remap_index 531 +#define IsEnabledIndexedEXT_remap_index 532 +#define ClearColorIiEXT_remap_index 533 +#define ClearColorIuiEXT_remap_index 534 +#define GetTexParameterIivEXT_remap_index 535 +#define GetTexParameterIuivEXT_remap_index 536 +#define TexParameterIivEXT_remap_index 537 +#define TexParameterIuivEXT_remap_index 538 +#define BeginConditionalRenderNV_remap_index 539 +#define EndConditionalRenderNV_remap_index 540 +#define BeginTransformFeedbackEXT_remap_index 541 +#define BindBufferBaseEXT_remap_index 542 +#define BindBufferOffsetEXT_remap_index 543 +#define BindBufferRangeEXT_remap_index 544 +#define EndTransformFeedbackEXT_remap_index 545 +#define GetTransformFeedbackVaryingEXT_remap_index 546 +#define TransformFeedbackVaryingsEXT_remap_index 547 +#define ProvokingVertexEXT_remap_index 548 +#define GetTexParameterPointervAPPLE_remap_index 549 +#define TextureRangeAPPLE_remap_index 550 +#define GetObjectParameterivAPPLE_remap_index 551 +#define ObjectPurgeableAPPLE_remap_index 552 +#define ObjectUnpurgeableAPPLE_remap_index 553 +#define ActiveProgramEXT_remap_index 554 +#define CreateShaderProgramEXT_remap_index 555 +#define UseShaderProgramEXT_remap_index 556 +#define TextureBarrierNV_remap_index 557 +#define StencilFuncSeparateATI_remap_index 558 +#define ProgramEnvParameters4fvEXT_remap_index 559 +#define ProgramLocalParameters4fvEXT_remap_index 560 +#define GetQueryObjecti64vEXT_remap_index 561 +#define GetQueryObjectui64vEXT_remap_index 562 +#define EGLImageTargetRenderbufferStorageOES_remap_index 563 +#define EGLImageTargetTexture2DOES_remap_index 564 #define _gloffset_AttachShader driDispatchRemapTable[AttachShader_remap_index] #define _gloffset_CreateProgram driDispatchRemapTable[CreateProgram_remap_index] @@ -1874,6 +1886,12 @@ extern int driDispatchRemapTable[ driDispatchRemapTable_size ]; #define _gloffset_GetnUniformivARB driDispatchRemapTable[GetnUniformivARB_remap_index] #define _gloffset_GetnUniformuivARB driDispatchRemapTable[GetnUniformuivARB_remap_index] #define _gloffset_ReadnPixelsARB driDispatchRemapTable[ReadnPixelsARB_remap_index] +#define _gloffset_TexStorage1D driDispatchRemapTable[TexStorage1D_remap_index] +#define _gloffset_TexStorage2D driDispatchRemapTable[TexStorage2D_remap_index] +#define _gloffset_TexStorage3D driDispatchRemapTable[TexStorage3D_remap_index] +#define _gloffset_TextureStorage1DEXT driDispatchRemapTable[TextureStorage1DEXT_remap_index] +#define _gloffset_TextureStorage2DEXT driDispatchRemapTable[TextureStorage2DEXT_remap_index] +#define _gloffset_TextureStorage3DEXT driDispatchRemapTable[TextureStorage3DEXT_remap_index] #define _gloffset_PolygonOffsetEXT driDispatchRemapTable[PolygonOffsetEXT_remap_index] #define _gloffset_GetPixelTexGenParameterfvSGIS driDispatchRemapTable[GetPixelTexGenParameterfvSGIS_remap_index] #define _gloffset_GetPixelTexGenParameterivSGIS driDispatchRemapTable[GetPixelTexGenParameterivSGIS_remap_index] @@ -9694,6 +9712,72 @@ static INLINE void SET_ReadnPixelsARB(struct _glapi_table *disp, void (GLAPIENTR SET_by_offset(disp, _gloffset_ReadnPixelsARB, fn); } +typedef void (GLAPIENTRYP _glptr_TexStorage1D)(GLenum, GLsizei, GLenum, GLsizei); +#define CALL_TexStorage1D(disp, parameters) \ + (* GET_TexStorage1D(disp)) parameters +static INLINE _glptr_TexStorage1D GET_TexStorage1D(struct _glapi_table *disp) { + return (_glptr_TexStorage1D) (GET_by_offset(disp, _gloffset_TexStorage1D)); +} + +static INLINE void SET_TexStorage1D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei)) { + SET_by_offset(disp, _gloffset_TexStorage1D, fn); +} + +typedef void (GLAPIENTRYP _glptr_TexStorage2D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei); +#define CALL_TexStorage2D(disp, parameters) \ + (* GET_TexStorage2D(disp)) parameters +static INLINE _glptr_TexStorage2D GET_TexStorage2D(struct _glapi_table *disp) { + return (_glptr_TexStorage2D) (GET_by_offset(disp, _gloffset_TexStorage2D)); +} + +static INLINE void SET_TexStorage2D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei, GLsizei)) { + SET_by_offset(disp, _gloffset_TexStorage2D, fn); +} + +typedef void (GLAPIENTRYP _glptr_TexStorage3D)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +#define CALL_TexStorage3D(disp, parameters) \ + (* GET_TexStorage3D(disp)) parameters +static INLINE _glptr_TexStorage3D GET_TexStorage3D(struct _glapi_table *disp) { + return (_glptr_TexStorage3D) (GET_by_offset(disp, _gloffset_TexStorage3D)); +} + +static INLINE void SET_TexStorage3D(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei)) { + SET_by_offset(disp, _gloffset_TexStorage3D, fn); +} + +typedef void (GLAPIENTRYP _glptr_TextureStorage1DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei); +#define CALL_TextureStorage1DEXT(disp, parameters) \ + (* GET_TextureStorage1DEXT(disp)) parameters +static INLINE _glptr_TextureStorage1DEXT GET_TextureStorage1DEXT(struct _glapi_table *disp) { + return (_glptr_TextureStorage1DEXT) (GET_by_offset(disp, _gloffset_TextureStorage1DEXT)); +} + +static INLINE void SET_TextureStorage1DEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLsizei, GLenum, GLsizei)) { + SET_by_offset(disp, _gloffset_TextureStorage1DEXT, fn); +} + +typedef void (GLAPIENTRYP _glptr_TextureStorage2DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei); +#define CALL_TextureStorage2DEXT(disp, parameters) \ + (* GET_TextureStorage2DEXT(disp)) parameters +static INLINE _glptr_TextureStorage2DEXT GET_TextureStorage2DEXT(struct _glapi_table *disp) { + return (_glptr_TextureStorage2DEXT) (GET_by_offset(disp, _gloffset_TextureStorage2DEXT)); +} + +static INLINE void SET_TextureStorage2DEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei)) { + SET_by_offset(disp, _gloffset_TextureStorage2DEXT, fn); +} + +typedef void (GLAPIENTRYP _glptr_TextureStorage3DEXT)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei); +#define CALL_TextureStorage3DEXT(disp, parameters) \ + (* GET_TextureStorage3DEXT(disp)) parameters +static INLINE _glptr_TextureStorage3DEXT GET_TextureStorage3DEXT(struct _glapi_table *disp) { + return (_glptr_TextureStorage3DEXT) (GET_by_offset(disp, _gloffset_TextureStorage3DEXT)); +} + +static INLINE void SET_TextureStorage3DEXT(struct _glapi_table *disp, void (GLAPIENTRYP fn)(GLuint, GLenum, GLsizei, GLenum, GLsizei, GLsizei, GLsizei)) { + SET_by_offset(disp, _gloffset_TextureStorage3DEXT, fn); +} + typedef void (GLAPIENTRYP _glptr_PolygonOffsetEXT)(GLfloat, GLfloat); #define CALL_PolygonOffsetEXT(disp, parameters) \ (* GET_PolygonOffsetEXT(disp)) parameters diff --git a/mesalib/src/mesa/main/dlist.c b/mesalib/src/mesa/main/dlist.c index 52548fdc1..e1acc8028 100644 --- a/mesalib/src/mesa/main/dlist.c +++ b/mesalib/src/mesa/main/dlist.c @@ -61,6 +61,7 @@ #include "shaderapi.h" #include "syncobj.h" #include "teximage.h" +#include "texstorage.h" #include "mtypes.h" #include "varray.h" #if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program @@ -7363,7 +7364,7 @@ save_BeginConditionalRender(GLuint queryId, GLenum mode) } static void GLAPIENTRY -save_EndConditionalRender() +save_EndConditionalRender(void) { GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_SAVE_BEGIN_END_AND_FLUSH(ctx); @@ -10364,6 +10365,14 @@ _mesa_create_save_table(void) _mesa_init_sync_dispatch(table); SET_WaitSync(table, save_WaitSync); + /* GL_ARB_texture_storage (no dlist support) */ + SET_TexStorage1D(table, _mesa_TexStorage1D); + SET_TexStorage2D(table, _mesa_TexStorage2D); + SET_TexStorage3D(table, _mesa_TexStorage3D); + SET_TextureStorage1DEXT(table, _mesa_TextureStorage1DEXT); + SET_TextureStorage2DEXT(table, _mesa_TextureStorage2DEXT); + SET_TextureStorage3DEXT(table, _mesa_TextureStorage3DEXT); + return table; } diff --git a/mesalib/src/mesa/main/enable.c b/mesalib/src/mesa/main/enable.c index 689dc8a99..b2c77243b 100644 --- a/mesalib/src/mesa/main/enable.c +++ b/mesalib/src/mesa/main/enable.c @@ -916,6 +916,14 @@ _mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state) ctx->Color.sRGBEnabled = state; break; + /* GL_OES_EGL_image_external */ + case GL_TEXTURE_EXTERNAL_OES: + CHECK_EXTENSION(OES_EGL_image_external, cap); + if (!enable_texture(ctx, state, TEXTURE_EXTERNAL_BIT)) { + return; + } + break; + default: goto invalid_enum_error; } @@ -1417,6 +1425,11 @@ _mesa_IsEnabled( GLenum cap ) CHECK_EXTENSION(EXT_framebuffer_sRGB); return ctx->Color.sRGBEnabled; + /* GL_OES_EGL_image_external */ + case GL_TEXTURE_EXTERNAL_OES: + CHECK_EXTENSION(OES_EGL_image_external); + return is_texture_enabled(ctx, TEXTURE_EXTERNAL_BIT); + default: goto invalid_enum_error; } diff --git a/mesalib/src/mesa/main/enums.c b/mesalib/src/mesa/main/enums.c index fb5ed2922..a75831db3 100644 --- a/mesalib/src/mesa/main/enums.c +++ b/mesalib/src/mesa/main/enums.c @@ -749,6 +749,7 @@ LONGSTRING static const char enum_string_table[] = "GL_GEOMETRY_VERTICES_OUT\0" "GL_GEOMETRY_VERTICES_OUT_ARB\0" "GL_GEQUAL\0" + "GL_GL_TEXTURE_IMMUTABLE_FORMAT\0" "GL_GREATER\0" "GL_GREEN\0" "GL_GREEN_BIAS\0" @@ -1662,6 +1663,7 @@ LONGSTRING static const char enum_string_table[] = "GL_REPLACE\0" "GL_REPLACE_EXT\0" "GL_REPLICATE_BORDER_HP\0" + "GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES\0" "GL_RESCALE_NORMAL\0" "GL_RESCALE_NORMAL_EXT\0" "GL_RESET_NOTIFICATION_STRATEGY_ARB\0" @@ -1780,6 +1782,7 @@ LONGSTRING static const char enum_string_table[] = "GL_SAMPLER_CUBE\0" "GL_SAMPLER_CUBE_SHADOW\0" "GL_SAMPLER_CUBE_SHADOW_EXT\0" + "GL_SAMPLER_EXTERNAL_OES\0" "GL_SAMPLES\0" "GL_SAMPLES_3DFX\0" "GL_SAMPLES_ARB\0" @@ -2046,6 +2049,7 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_BINDING_CUBE_MAP\0" "GL_TEXTURE_BINDING_CUBE_MAP_ARB\0" "GL_TEXTURE_BINDING_CUBE_MAP_OES\0" + "GL_TEXTURE_BINDING_EXTERNAL_OES\0" "GL_TEXTURE_BINDING_RECTANGLE\0" "GL_TEXTURE_BINDING_RECTANGLE_ARB\0" "GL_TEXTURE_BINDING_RECTANGLE_NV\0" @@ -2119,6 +2123,7 @@ LONGSTRING static const char enum_string_table[] = "GL_TEXTURE_ENV\0" "GL_TEXTURE_ENV_COLOR\0" "GL_TEXTURE_ENV_MODE\0" + "GL_TEXTURE_EXTERNAL_OES\0" "GL_TEXTURE_FILTER_CONTROL\0" "GL_TEXTURE_FILTER_CONTROL_EXT\0" "GL_TEXTURE_GEN_MODE\0" @@ -2374,7 +2379,7 @@ LONGSTRING static const char enum_string_table[] = "GL_ZOOM_Y\0" ; -static const enum_elt all_enums[2335] = +static const enum_elt all_enums[2340] = { { 0, 0x00000600 }, /* GL_2D */ { 6, 0x00001407 }, /* GL_2_BYTES */ @@ -3088,1712 +3093,1717 @@ static const enum_elt all_enums[2335] = { 15474, 0x00008916 }, /* GL_GEOMETRY_VERTICES_OUT */ { 15499, 0x00008DDA }, /* GL_GEOMETRY_VERTICES_OUT_ARB */ { 15528, 0x00000206 }, /* GL_GEQUAL */ - { 15538, 0x00000204 }, /* GL_GREATER */ - { 15549, 0x00001904 }, /* GL_GREEN */ - { 15558, 0x00000D19 }, /* GL_GREEN_BIAS */ - { 15572, 0x00000D53 }, /* GL_GREEN_BITS */ - { 15586, 0x00008D95 }, /* GL_GREEN_INTEGER */ - { 15603, 0x00008D95 }, /* GL_GREEN_INTEGER_EXT */ - { 15624, 0x00000D18 }, /* GL_GREEN_SCALE */ - { 15639, 0x00008253 }, /* GL_GUILTY_CONTEXT_RESET_ARB */ - { 15667, 0x0000140B }, /* GL_HALF_FLOAT */ - { 15681, 0x00008D61 }, /* GL_HALF_FLOAT_OES */ - { 15699, 0x00008DF2 }, /* GL_HIGH_FLOAT */ - { 15713, 0x00008DF5 }, /* GL_HIGH_INT */ - { 15725, 0x00008000 }, /* GL_HINT_BIT */ - { 15737, 0x00008024 }, /* GL_HISTOGRAM */ - { 15750, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ - { 15774, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ - { 15802, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ - { 15825, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ - { 15852, 0x00008024 }, /* GL_HISTOGRAM_EXT */ - { 15869, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ - { 15889, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ - { 15913, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ - { 15937, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ - { 15965, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - { 15993, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ - { 16025, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ - { 16047, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ - { 16073, 0x0000802D }, /* GL_HISTOGRAM_SINK */ - { 16091, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ - { 16113, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ - { 16132, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ - { 16155, 0x0000862A }, /* GL_IDENTITY_NV */ - { 16170, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ - { 16190, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ - { 16226, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ - { 16266, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ - { 16300, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ - { 16338, 0x00001E02 }, /* GL_INCR */ - { 16346, 0x00008507 }, /* GL_INCR_WRAP */ - { 16359, 0x00008507 }, /* GL_INCR_WRAP_EXT */ - { 16376, 0x00008222 }, /* GL_INDEX */ - { 16385, 0x00008077 }, /* GL_INDEX_ARRAY */ - { 16400, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - { 16430, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ - { 16464, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ - { 16487, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ - { 16509, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ - { 16529, 0x00000D51 }, /* GL_INDEX_BITS */ - { 16543, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ - { 16564, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ - { 16582, 0x00000C30 }, /* GL_INDEX_MODE */ - { 16596, 0x00000D13 }, /* GL_INDEX_OFFSET */ - { 16612, 0x00000D12 }, /* GL_INDEX_SHIFT */ - { 16627, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ - { 16646, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ - { 16665, 0x00008254 }, /* GL_INNOCENT_CONTEXT_RESET_ARB */ - { 16695, 0x00001404 }, /* GL_INT */ - { 16702, 0x00008049 }, /* GL_INTENSITY */ - { 16715, 0x0000804C }, /* GL_INTENSITY12 */ - { 16730, 0x0000804C }, /* GL_INTENSITY12_EXT */ - { 16749, 0x0000804D }, /* GL_INTENSITY16 */ - { 16764, 0x00008D8B }, /* GL_INTENSITY16I_EXT */ - { 16784, 0x00008D79 }, /* GL_INTENSITY16UI_EXT */ - { 16805, 0x0000804D }, /* GL_INTENSITY16_EXT */ - { 16824, 0x00008D85 }, /* GL_INTENSITY32I_EXT */ - { 16844, 0x00008D73 }, /* GL_INTENSITY32UI_EXT */ - { 16865, 0x0000804A }, /* GL_INTENSITY4 */ - { 16879, 0x0000804A }, /* GL_INTENSITY4_EXT */ - { 16897, 0x0000804B }, /* GL_INTENSITY8 */ - { 16911, 0x00008D91 }, /* GL_INTENSITY8I_EXT */ - { 16930, 0x00008D7F }, /* GL_INTENSITY8UI_EXT */ - { 16950, 0x0000804B }, /* GL_INTENSITY8_EXT */ - { 16968, 0x00008049 }, /* GL_INTENSITY_EXT */ - { 16985, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS */ - { 17008, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */ - { 17035, 0x00008575 }, /* GL_INTERPOLATE */ - { 17050, 0x00008575 }, /* GL_INTERPOLATE_ARB */ - { 17069, 0x00008575 }, /* GL_INTERPOLATE_EXT */ - { 17088, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */ - { 17110, 0x00008D9F }, /* GL_INT_2_10_10_10_REV */ - { 17132, 0x00008DC9 }, /* GL_INT_SAMPLER_1D */ - { 17150, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY */ - { 17174, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY_EXT */ - { 17202, 0x00008DC9 }, /* GL_INT_SAMPLER_1D_EXT */ - { 17224, 0x00008DCA }, /* GL_INT_SAMPLER_2D */ - { 17242, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY */ - { 17266, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY_EXT */ - { 17294, 0x00008DCA }, /* GL_INT_SAMPLER_2D_EXT */ - { 17316, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT */ - { 17339, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT_EXT */ - { 17366, 0x00008DCB }, /* GL_INT_SAMPLER_3D */ - { 17384, 0x00008DCB }, /* GL_INT_SAMPLER_3D_EXT */ - { 17406, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER */ - { 17428, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER_EXT */ - { 17454, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE */ - { 17474, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE_EXT */ - { 17498, 0x00008B53 }, /* GL_INT_VEC2 */ - { 17510, 0x00008B53 }, /* GL_INT_VEC2_ARB */ - { 17526, 0x00008B54 }, /* GL_INT_VEC3 */ - { 17538, 0x00008B54 }, /* GL_INT_VEC3_ARB */ - { 17554, 0x00008B55 }, /* GL_INT_VEC4 */ - { 17566, 0x00008B55 }, /* GL_INT_VEC4_ARB */ - { 17582, 0x00000500 }, /* GL_INVALID_ENUM */ - { 17598, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ - { 17631, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ - { 17668, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ - { 17705, 0x00000502 }, /* GL_INVALID_OPERATION */ - { 17726, 0x00000501 }, /* GL_INVALID_VALUE */ - { 17743, 0x0000862B }, /* GL_INVERSE_NV */ - { 17757, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ - { 17781, 0x0000150A }, /* GL_INVERT */ - { 17791, 0x00001E00 }, /* GL_KEEP */ - { 17799, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ - { 17825, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ - { 17855, 0x00000406 }, /* GL_LEFT */ - { 17863, 0x00000203 }, /* GL_LEQUAL */ - { 17873, 0x00000201 }, /* GL_LESS */ - { 17881, 0x00004000 }, /* GL_LIGHT0 */ - { 17891, 0x00004001 }, /* GL_LIGHT1 */ - { 17901, 0x00004002 }, /* GL_LIGHT2 */ - { 17911, 0x00004003 }, /* GL_LIGHT3 */ - { 17921, 0x00004004 }, /* GL_LIGHT4 */ - { 17931, 0x00004005 }, /* GL_LIGHT5 */ - { 17941, 0x00004006 }, /* GL_LIGHT6 */ - { 17951, 0x00004007 }, /* GL_LIGHT7 */ - { 17961, 0x00000B50 }, /* GL_LIGHTING */ - { 17973, 0x00000040 }, /* GL_LIGHTING_BIT */ - { 17989, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ - { 18012, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - { 18041, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ - { 18074, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - { 18102, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ - { 18126, 0x00001B01 }, /* GL_LINE */ - { 18134, 0x00002601 }, /* GL_LINEAR */ - { 18144, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ - { 18166, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - { 18196, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ - { 18227, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ - { 18251, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ - { 18276, 0x00000001 }, /* GL_LINES */ - { 18285, 0x0000000A }, /* GL_LINES_ADJACENCY */ - { 18304, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */ - { 18327, 0x00000004 }, /* GL_LINE_BIT */ - { 18339, 0x00000002 }, /* GL_LINE_LOOP */ - { 18352, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ - { 18372, 0x00000B20 }, /* GL_LINE_SMOOTH */ - { 18387, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ - { 18407, 0x00000B24 }, /* GL_LINE_STIPPLE */ - { 18423, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ - { 18447, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ - { 18470, 0x00000003 }, /* GL_LINE_STRIP */ - { 18484, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY */ - { 18508, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */ - { 18536, 0x00000702 }, /* GL_LINE_TOKEN */ - { 18550, 0x00000B21 }, /* GL_LINE_WIDTH */ - { 18564, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ - { 18590, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ - { 18610, 0x00008B82 }, /* GL_LINK_STATUS */ - { 18625, 0x00000B32 }, /* GL_LIST_BASE */ - { 18638, 0x00020000 }, /* GL_LIST_BIT */ - { 18650, 0x00000B33 }, /* GL_LIST_INDEX */ - { 18664, 0x00000B30 }, /* GL_LIST_MODE */ - { 18677, 0x00000101 }, /* GL_LOAD */ - { 18685, 0x00000BF1 }, /* GL_LOGIC_OP */ - { 18697, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ - { 18714, 0x00008252 }, /* GL_LOSE_CONTEXT_ON_RESET_ARB */ - { 18743, 0x00008CA1 }, /* GL_LOWER_LEFT */ - { 18757, 0x00008DF0 }, /* GL_LOW_FLOAT */ - { 18770, 0x00008DF3 }, /* GL_LOW_INT */ - { 18781, 0x00001909 }, /* GL_LUMINANCE */ - { 18794, 0x00008041 }, /* GL_LUMINANCE12 */ - { 18809, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ - { 18832, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ - { 18859, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ - { 18881, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ - { 18907, 0x00008041 }, /* GL_LUMINANCE12_EXT */ - { 18926, 0x00008042 }, /* GL_LUMINANCE16 */ - { 18941, 0x00008D8C }, /* GL_LUMINANCE16I_EXT */ - { 18961, 0x00008D7A }, /* GL_LUMINANCE16UI_EXT */ - { 18982, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ - { 19005, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ - { 19032, 0x00008042 }, /* GL_LUMINANCE16_EXT */ - { 19051, 0x00008D86 }, /* GL_LUMINANCE32I_EXT */ - { 19071, 0x00008D74 }, /* GL_LUMINANCE32UI_EXT */ - { 19092, 0x0000803F }, /* GL_LUMINANCE4 */ - { 19106, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ - { 19127, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ - { 19152, 0x0000803F }, /* GL_LUMINANCE4_EXT */ - { 19170, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ - { 19191, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ - { 19216, 0x00008040 }, /* GL_LUMINANCE8 */ - { 19230, 0x00008D92 }, /* GL_LUMINANCE8I_EXT */ - { 19249, 0x00008D80 }, /* GL_LUMINANCE8UI_EXT */ - { 19269, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ - { 19290, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ - { 19315, 0x00008040 }, /* GL_LUMINANCE8_EXT */ - { 19333, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ - { 19352, 0x00008D8D }, /* GL_LUMINANCE_ALPHA16I_EXT */ - { 19378, 0x00008D7B }, /* GL_LUMINANCE_ALPHA16UI_EXT */ - { 19405, 0x00008D87 }, /* GL_LUMINANCE_ALPHA32I_EXT */ - { 19431, 0x00008D75 }, /* GL_LUMINANCE_ALPHA32UI_EXT */ - { 19458, 0x00008D93 }, /* GL_LUMINANCE_ALPHA8I_EXT */ - { 19483, 0x00008D81 }, /* GL_LUMINANCE_ALPHA8UI_EXT */ - { 19509, 0x00008D9D }, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ - { 19540, 0x00008D9C }, /* GL_LUMINANCE_INTEGER_EXT */ - { 19565, 0x0000821B }, /* GL_MAJOR_VERSION */ - { 19582, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ - { 19598, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ - { 19618, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ - { 19640, 0x00000D91 }, /* GL_MAP1_INDEX */ - { 19654, 0x00000D92 }, /* GL_MAP1_NORMAL */ - { 19669, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ - { 19693, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ - { 19717, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ - { 19741, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ - { 19765, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ - { 19782, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ - { 19799, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - { 19827, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - { 19856, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - { 19885, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - { 19914, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - { 19943, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - { 19972, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - { 20001, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - { 20029, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - { 20057, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - { 20085, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - { 20113, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - { 20141, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - { 20169, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - { 20197, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - { 20225, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - { 20253, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ - { 20269, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ - { 20289, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ - { 20311, 0x00000DB1 }, /* GL_MAP2_INDEX */ - { 20325, 0x00000DB2 }, /* GL_MAP2_NORMAL */ - { 20340, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ - { 20364, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ - { 20388, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ - { 20412, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ - { 20436, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ - { 20453, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ - { 20470, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - { 20498, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - { 20527, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - { 20556, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - { 20585, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - { 20614, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - { 20643, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - { 20672, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - { 20700, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - { 20728, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - { 20756, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - { 20784, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - { 20812, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - { 20840, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ - { 20868, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - { 20896, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - { 20924, 0x00000D10 }, /* GL_MAP_COLOR */ - { 20937, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ - { 20963, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ - { 20992, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ - { 21020, 0x00000001 }, /* GL_MAP_READ_BIT */ - { 21036, 0x00000D11 }, /* GL_MAP_STENCIL */ - { 21051, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ - { 21077, 0x00000002 }, /* GL_MAP_WRITE_BIT */ - { 21094, 0x000088C0 }, /* GL_MATRIX0_ARB */ - { 21109, 0x00008630 }, /* GL_MATRIX0_NV */ - { 21123, 0x000088CA }, /* GL_MATRIX10_ARB */ - { 21139, 0x000088CB }, /* GL_MATRIX11_ARB */ - { 21155, 0x000088CC }, /* GL_MATRIX12_ARB */ - { 21171, 0x000088CD }, /* GL_MATRIX13_ARB */ - { 21187, 0x000088CE }, /* GL_MATRIX14_ARB */ - { 21203, 0x000088CF }, /* GL_MATRIX15_ARB */ - { 21219, 0x000088D0 }, /* GL_MATRIX16_ARB */ - { 21235, 0x000088D1 }, /* GL_MATRIX17_ARB */ - { 21251, 0x000088D2 }, /* GL_MATRIX18_ARB */ - { 21267, 0x000088D3 }, /* GL_MATRIX19_ARB */ - { 21283, 0x000088C1 }, /* GL_MATRIX1_ARB */ - { 21298, 0x00008631 }, /* GL_MATRIX1_NV */ - { 21312, 0x000088D4 }, /* GL_MATRIX20_ARB */ - { 21328, 0x000088D5 }, /* GL_MATRIX21_ARB */ - { 21344, 0x000088D6 }, /* GL_MATRIX22_ARB */ - { 21360, 0x000088D7 }, /* GL_MATRIX23_ARB */ - { 21376, 0x000088D8 }, /* GL_MATRIX24_ARB */ - { 21392, 0x000088D9 }, /* GL_MATRIX25_ARB */ - { 21408, 0x000088DA }, /* GL_MATRIX26_ARB */ - { 21424, 0x000088DB }, /* GL_MATRIX27_ARB */ - { 21440, 0x000088DC }, /* GL_MATRIX28_ARB */ - { 21456, 0x000088DD }, /* GL_MATRIX29_ARB */ - { 21472, 0x000088C2 }, /* GL_MATRIX2_ARB */ - { 21487, 0x00008632 }, /* GL_MATRIX2_NV */ - { 21501, 0x000088DE }, /* GL_MATRIX30_ARB */ - { 21517, 0x000088DF }, /* GL_MATRIX31_ARB */ - { 21533, 0x000088C3 }, /* GL_MATRIX3_ARB */ - { 21548, 0x00008633 }, /* GL_MATRIX3_NV */ - { 21562, 0x000088C4 }, /* GL_MATRIX4_ARB */ - { 21577, 0x00008634 }, /* GL_MATRIX4_NV */ - { 21591, 0x000088C5 }, /* GL_MATRIX5_ARB */ - { 21606, 0x00008635 }, /* GL_MATRIX5_NV */ - { 21620, 0x000088C6 }, /* GL_MATRIX6_ARB */ - { 21635, 0x00008636 }, /* GL_MATRIX6_NV */ - { 21649, 0x000088C7 }, /* GL_MATRIX7_ARB */ - { 21664, 0x00008637 }, /* GL_MATRIX7_NV */ - { 21678, 0x000088C8 }, /* GL_MATRIX8_ARB */ - { 21693, 0x000088C9 }, /* GL_MATRIX9_ARB */ - { 21708, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ - { 21734, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ - { 21775, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ - { 21801, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - { 21835, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ - { 21869, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - { 21900, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ - { 21931, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - { 21964, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ - { 21997, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - { 22028, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ - { 22059, 0x00000BA0 }, /* GL_MATRIX_MODE */ - { 22074, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ - { 22096, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ - { 22118, 0x00008008 }, /* GL_MAX */ - { 22125, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ - { 22148, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ - { 22175, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ - { 22203, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ - { 22235, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ - { 22261, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - { 22294, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - { 22320, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 22354, 0x00000D32 }, /* GL_MAX_CLIP_DISTANCES */ - { 22376, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ - { 22395, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ - { 22420, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ - { 22449, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - { 22481, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ - { 22517, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - { 22553, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ - { 22593, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ - { 22619, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ - { 22649, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ - { 22674, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ - { 22703, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - { 22732, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ - { 22765, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ - { 22798, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ - { 22818, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ - { 22842, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ - { 22866, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_NV */ - { 22889, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ - { 22913, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ - { 22938, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ - { 22956, 0x00008008 }, /* GL_MAX_EXT */ - { 22967, 0x00009125 }, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ - { 23000, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - { 23035, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ - { 23074, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ - { 23106, 0x00009123 }, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ - { 23139, 0x00009124 }, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ - { 23173, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ - { 23205, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ - { 23241, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ - { 23277, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ - { 23317, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ - { 23357, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ - { 23401, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ - { 23436, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ - { 23475, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ - { 23514, 0x00000D31 }, /* GL_MAX_LIGHTS */ - { 23528, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ - { 23548, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - { 23586, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - { 23615, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ - { 23639, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ - { 23667, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ - { 23695, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ - { 23718, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 23755, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 23791, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - { 23818, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - { 23847, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - { 23881, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ - { 23917, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - { 23944, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - { 23976, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - { 24012, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - { 24041, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - { 24070, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ - { 24098, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - { 24136, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 24180, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 24223, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 24257, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 24296, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 24333, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 24371, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 24414, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 24457, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - { 24487, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - { 24518, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ - { 24546, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET_EXT */ - { 24578, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 24614, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 24650, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ - { 24680, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ - { 24710, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ - { 24744, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ - { 24777, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ - { 24802, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ - { 24831, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ - { 24860, 0x00008D57 }, /* GL_MAX_SAMPLES */ - { 24875, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ - { 24894, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - { 24921, 0x00008504 }, /* GL_MAX_SHININESS_NV */ - { 24941, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ - { 24965, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE */ - { 24992, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE_ARB */ - { 25023, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ - { 25045, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ - { 25071, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - { 25098, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ - { 25129, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ - { 25153, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ - { 25181, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - { 25215, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ - { 25235, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ - { 25262, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ - { 25283, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ - { 25308, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ - { 25333, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ - { 25368, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ - { 25417, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ - { 25470, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ - { 25513, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ - { 25560, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ - { 25606, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ - { 25656, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */ - { 25682, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ - { 25704, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ - { 25730, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ - { 25753, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ - { 25775, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ - { 25801, 0x00009122 }, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ - { 25833, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - { 25867, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ - { 25905, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - { 25938, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ - { 25975, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ - { 26005, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ - { 26029, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ - { 26053, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ - { 26090, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ - { 26111, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ - { 26127, 0x00008DF4 }, /* GL_MEDIUM_INT */ - { 26141, 0x00008007 }, /* GL_MIN */ - { 26148, 0x0000802E }, /* GL_MINMAX */ - { 26158, 0x0000802E }, /* GL_MINMAX_EXT */ - { 26172, 0x0000802F }, /* GL_MINMAX_FORMAT */ - { 26189, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ - { 26210, 0x00008030 }, /* GL_MINMAX_SINK */ - { 26225, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ - { 26244, 0x0000821C }, /* GL_MINOR_VERSION */ - { 26261, 0x00008007 }, /* GL_MIN_EXT */ - { 26272, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ - { 26300, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET_EXT */ - { 26332, 0x00008370 }, /* GL_MIRRORED_REPEAT */ - { 26351, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ - { 26374, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ - { 26397, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ - { 26417, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ - { 26437, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - { 26467, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ - { 26495, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - { 26523, 0x00001700 }, /* GL_MODELVIEW */ - { 26536, 0x00001700 }, /* GL_MODELVIEW0_ARB */ - { 26554, 0x0000872A }, /* GL_MODELVIEW10_ARB */ - { 26573, 0x0000872B }, /* GL_MODELVIEW11_ARB */ - { 26592, 0x0000872C }, /* GL_MODELVIEW12_ARB */ - { 26611, 0x0000872D }, /* GL_MODELVIEW13_ARB */ - { 26630, 0x0000872E }, /* GL_MODELVIEW14_ARB */ - { 26649, 0x0000872F }, /* GL_MODELVIEW15_ARB */ - { 26668, 0x00008730 }, /* GL_MODELVIEW16_ARB */ - { 26687, 0x00008731 }, /* GL_MODELVIEW17_ARB */ - { 26706, 0x00008732 }, /* GL_MODELVIEW18_ARB */ - { 26725, 0x00008733 }, /* GL_MODELVIEW19_ARB */ - { 26744, 0x0000850A }, /* GL_MODELVIEW1_ARB */ - { 26762, 0x00008734 }, /* GL_MODELVIEW20_ARB */ - { 26781, 0x00008735 }, /* GL_MODELVIEW21_ARB */ - { 26800, 0x00008736 }, /* GL_MODELVIEW22_ARB */ - { 26819, 0x00008737 }, /* GL_MODELVIEW23_ARB */ - { 26838, 0x00008738 }, /* GL_MODELVIEW24_ARB */ - { 26857, 0x00008739 }, /* GL_MODELVIEW25_ARB */ - { 26876, 0x0000873A }, /* GL_MODELVIEW26_ARB */ - { 26895, 0x0000873B }, /* GL_MODELVIEW27_ARB */ - { 26914, 0x0000873C }, /* GL_MODELVIEW28_ARB */ - { 26933, 0x0000873D }, /* GL_MODELVIEW29_ARB */ - { 26952, 0x00008722 }, /* GL_MODELVIEW2_ARB */ - { 26970, 0x0000873E }, /* GL_MODELVIEW30_ARB */ - { 26989, 0x0000873F }, /* GL_MODELVIEW31_ARB */ - { 27008, 0x00008723 }, /* GL_MODELVIEW3_ARB */ - { 27026, 0x00008724 }, /* GL_MODELVIEW4_ARB */ - { 27044, 0x00008725 }, /* GL_MODELVIEW5_ARB */ - { 27062, 0x00008726 }, /* GL_MODELVIEW6_ARB */ - { 27080, 0x00008727 }, /* GL_MODELVIEW7_ARB */ - { 27098, 0x00008728 }, /* GL_MODELVIEW8_ARB */ - { 27116, 0x00008729 }, /* GL_MODELVIEW9_ARB */ - { 27134, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ - { 27154, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 27196, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ - { 27223, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ - { 27248, 0x00002100 }, /* GL_MODULATE */ - { 27260, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ - { 27280, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ - { 27307, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ - { 27332, 0x00000103 }, /* GL_MULT */ - { 27340, 0x0000809D }, /* GL_MULTISAMPLE */ - { 27355, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ - { 27375, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ - { 27394, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ - { 27413, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ - { 27437, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ - { 27460, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - { 27490, 0x00002A25 }, /* GL_N3F_V3F */ - { 27501, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ - { 27521, 0x0000150E }, /* GL_NAND */ - { 27529, 0x00002600 }, /* GL_NEAREST */ - { 27540, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - { 27571, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - { 27603, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ - { 27628, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ - { 27654, 0x00000200 }, /* GL_NEVER */ - { 27663, 0x00001102 }, /* GL_NICEST */ - { 27673, 0x00000000 }, /* GL_NONE */ - { 27681, 0x00000000 }, /* GL_NONE_OES */ - { 27693, 0x00001505 }, /* GL_NOOP */ - { 27701, 0x00001508 }, /* GL_NOR */ - { 27708, 0x00000BA1 }, /* GL_NORMALIZE */ - { 27721, 0x00008075 }, /* GL_NORMAL_ARRAY */ - { 27737, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ - { 27768, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ - { 27803, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ - { 27827, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ - { 27850, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ - { 27871, 0x00008511 }, /* GL_NORMAL_MAP */ - { 27885, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ - { 27903, 0x00008511 }, /* GL_NORMAL_MAP_NV */ - { 27920, 0x00008511 }, /* GL_NORMAL_MAP_OES */ - { 27938, 0x00000205 }, /* GL_NOTEQUAL */ - { 27950, 0x00000000 }, /* GL_NO_ERROR */ - { 27962, 0x00008261 }, /* GL_NO_RESET_NOTIFICATION_ARB */ - { 27991, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ - { 28025, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ - { 28063, 0x0000821D }, /* GL_NUM_EXTENSIONS */ - { 28081, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS */ - { 28111, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ - { 28145, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ - { 28174, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ - { 28206, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ - { 28248, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ - { 28278, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ - { 28318, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ - { 28349, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ - { 28378, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ - { 28406, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ - { 28436, 0x00002401 }, /* GL_OBJECT_LINEAR */ - { 28453, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ - { 28479, 0x00002501 }, /* GL_OBJECT_PLANE */ - { 28495, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ - { 28530, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ - { 28552, 0x00009112 }, /* GL_OBJECT_TYPE */ - { 28567, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ - { 28586, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ - { 28616, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ - { 28637, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ - { 28665, 0x00000001 }, /* GL_ONE */ - { 28672, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ - { 28700, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ - { 28732, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ - { 28760, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ - { 28792, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ - { 28815, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ - { 28838, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ - { 28861, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ - { 28884, 0x00008598 }, /* GL_OPERAND0_ALPHA */ - { 28902, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ - { 28924, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ - { 28946, 0x00008590 }, /* GL_OPERAND0_RGB */ - { 28962, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ - { 28982, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ - { 29002, 0x00008599 }, /* GL_OPERAND1_ALPHA */ - { 29020, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ - { 29042, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ - { 29064, 0x00008591 }, /* GL_OPERAND1_RGB */ - { 29080, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ - { 29100, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ - { 29120, 0x0000859A }, /* GL_OPERAND2_ALPHA */ - { 29138, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ - { 29160, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ - { 29182, 0x00008592 }, /* GL_OPERAND2_RGB */ - { 29198, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ - { 29218, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ - { 29238, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ - { 29259, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ - { 29278, 0x00001507 }, /* GL_OR */ - { 29284, 0x00000A01 }, /* GL_ORDER */ - { 29293, 0x0000150D }, /* GL_OR_INVERTED */ - { 29308, 0x0000150B }, /* GL_OR_REVERSE */ - { 29322, 0x00000505 }, /* GL_OUT_OF_MEMORY */ - { 29339, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ - { 29357, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ - { 29378, 0x00008758 }, /* GL_PACK_INVERT_MESA */ - { 29398, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ - { 29416, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ - { 29435, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ - { 29455, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ - { 29475, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ - { 29493, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ - { 29512, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ - { 29537, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ - { 29561, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ - { 29582, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ - { 29604, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ - { 29626, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ - { 29651, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ - { 29675, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ - { 29696, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ - { 29718, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ - { 29740, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ - { 29762, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ - { 29793, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ - { 29813, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - { 29838, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ - { 29858, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - { 29883, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ - { 29903, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - { 29928, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ - { 29948, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - { 29973, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ - { 29993, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - { 30018, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ - { 30038, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - { 30063, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ - { 30083, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - { 30108, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ - { 30128, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - { 30153, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ - { 30173, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - { 30198, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ - { 30218, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - { 30243, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ - { 30261, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ - { 30282, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ - { 30311, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ - { 30344, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ - { 30369, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ - { 30392, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ - { 30423, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ - { 30458, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ - { 30485, 0x00001B00 }, /* GL_POINT */ - { 30494, 0x00000000 }, /* GL_POINTS */ - { 30504, 0x00000002 }, /* GL_POINT_BIT */ - { 30517, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ - { 30547, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ - { 30581, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ - { 30615, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ - { 30650, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ - { 30679, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ - { 30712, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ - { 30745, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ - { 30779, 0x00000B11 }, /* GL_POINT_SIZE */ - { 30793, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ - { 30832, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ - { 30856, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ - { 30888, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ - { 30919, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ - { 30948, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ - { 30974, 0x00008127 }, /* GL_POINT_SIZE_MAX */ - { 30992, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ - { 31014, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ - { 31036, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ - { 31059, 0x00008126 }, /* GL_POINT_SIZE_MIN */ - { 31077, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ - { 31099, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ - { 31121, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ - { 31144, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ - { 31164, 0x00000B10 }, /* GL_POINT_SMOOTH */ - { 31180, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ - { 31201, 0x00008861 }, /* GL_POINT_SPRITE */ - { 31217, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ - { 31237, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ - { 31266, 0x00008861 }, /* GL_POINT_SPRITE_NV */ - { 31285, 0x00008861 }, /* GL_POINT_SPRITE_OES */ - { 31305, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ - { 31331, 0x00000701 }, /* GL_POINT_TOKEN */ - { 31346, 0x00000009 }, /* GL_POLYGON */ - { 31357, 0x00000008 }, /* GL_POLYGON_BIT */ - { 31372, 0x00000B40 }, /* GL_POLYGON_MODE */ - { 31388, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ - { 31411, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ - { 31436, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ - { 31459, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ - { 31482, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ - { 31506, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ - { 31530, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ - { 31548, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ - { 31571, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ - { 31590, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ - { 31613, 0x00000703 }, /* GL_POLYGON_TOKEN */ - { 31630, 0x00001203 }, /* GL_POSITION */ - { 31642, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - { 31674, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ - { 31710, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - { 31743, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ - { 31780, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - { 31811, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ - { 31846, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - { 31878, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ - { 31914, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - { 31947, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - { 31979, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ - { 32015, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - { 32048, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ - { 32085, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - { 32115, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ - { 32149, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - { 32180, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ - { 32215, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - { 32246, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ - { 32281, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - { 32313, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ - { 32349, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - { 32379, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ - { 32413, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - { 32444, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ - { 32479, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - { 32511, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - { 32542, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ - { 32577, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - { 32609, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ - { 32645, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ - { 32674, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ - { 32707, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ - { 32737, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ - { 32771, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - { 32810, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - { 32843, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - { 32883, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - { 32917, 0x00008578 }, /* GL_PREVIOUS */ - { 32929, 0x00008578 }, /* GL_PREVIOUS_ARB */ - { 32945, 0x00008578 }, /* GL_PREVIOUS_EXT */ - { 32961, 0x00008577 }, /* GL_PRIMARY_COLOR */ - { 32978, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ - { 32999, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ - { 33020, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED */ - { 33044, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ - { 33072, 0x00008F9D }, /* GL_PRIMITIVE_RESTART */ - { 33093, 0x00008F9E }, /* GL_PRIMITIVE_RESTART_INDEX */ - { 33120, 0x00008559 }, /* GL_PRIMITIVE_RESTART_INDEX_NV */ - { 33150, 0x00008558 }, /* GL_PRIMITIVE_RESTART_NV */ - { 33174, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - { 33207, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - { 33239, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ - { 33262, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS */ - { 33288, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ - { 33318, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH */ - { 33343, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ - { 33372, 0x00008257 }, /* GL_PROGRAM_BINARY_RETRIEVABLE_HINT */ - { 33407, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ - { 33430, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ - { 33460, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ - { 33489, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ - { 33517, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ - { 33539, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - { 33567, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - { 33595, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ - { 33617, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ - { 33638, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - { 33678, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - { 33717, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - { 33747, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - { 33782, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - { 33815, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - { 33849, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - { 33888, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - { 33927, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ - { 33949, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ - { 33975, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ - { 33999, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE */ - { 34021, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */ - { 34047, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ - { 34070, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ - { 34092, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ - { 34113, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ - { 34134, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ - { 34161, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - { 34193, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - { 34225, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - { 34260, 0x00001701 }, /* GL_PROJECTION */ - { 34274, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ - { 34295, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 34338, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ - { 34364, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ - { 34384, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ - { 34408, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ - { 34429, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ - { 34448, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ - { 34471, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ - { 34510, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - { 34548, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ - { 34568, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY */ - { 34594, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ - { 34624, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ - { 34648, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ - { 34668, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY */ - { 34694, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ - { 34724, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ - { 34748, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ - { 34768, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - { 34801, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ - { 34827, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ - { 34857, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE */ - { 34884, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ - { 34915, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ - { 34945, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ - { 34964, 0x00002003 }, /* GL_Q */ - { 34969, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ - { 34994, 0x00000007 }, /* GL_QUADS */ - { 35003, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ - { 35047, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ - { 35095, 0x00008614 }, /* GL_QUAD_MESH_SUN */ - { 35112, 0x00000008 }, /* GL_QUAD_STRIP */ - { 35126, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT */ - { 35153, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ - { 35183, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT */ - { 35207, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ - { 35234, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ - { 35256, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ - { 35282, 0x00008E14 }, /* GL_QUERY_NO_WAIT */ - { 35299, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ - { 35319, 0x00008866 }, /* GL_QUERY_RESULT */ - { 35335, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ - { 35355, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ - { 35381, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ - { 35411, 0x00008E13 }, /* GL_QUERY_WAIT */ - { 35425, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ - { 35442, 0x00002002 }, /* GL_R */ - { 35447, 0x00008C3A }, /* GL_R11F_G11F_B10F */ - { 35465, 0x00008F98 }, /* GL_R16_SNORM */ - { 35478, 0x00002A10 }, /* GL_R3_G3_B2 */ - { 35490, 0x00008F94 }, /* GL_R8_SNORM */ - { 35502, 0x00008C89 }, /* GL_RASTERIZER_DISCARD */ - { 35524, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ - { 35550, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - { 35583, 0x00000C02 }, /* GL_READ_BUFFER */ - { 35598, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ - { 35618, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ - { 35646, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ - { 35678, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ - { 35702, 0x000088B8 }, /* GL_READ_ONLY */ - { 35715, 0x000088B8 }, /* GL_READ_ONLY_ARB */ - { 35732, 0x000088BA }, /* GL_READ_WRITE */ - { 35746, 0x000088BA }, /* GL_READ_WRITE_ARB */ - { 35764, 0x00001903 }, /* GL_RED */ - { 35771, 0x00008016 }, /* GL_REDUCE */ - { 35781, 0x00008016 }, /* GL_REDUCE_EXT */ - { 35795, 0x00000D15 }, /* GL_RED_BIAS */ - { 35807, 0x00000D52 }, /* GL_RED_BITS */ - { 35819, 0x00008D94 }, /* GL_RED_INTEGER */ - { 35834, 0x00008D94 }, /* GL_RED_INTEGER_EXT */ - { 35853, 0x00000D14 }, /* GL_RED_SCALE */ - { 35866, 0x00008F90 }, /* GL_RED_SNORM */ - { 35879, 0x00008512 }, /* GL_REFLECTION_MAP */ - { 35897, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ - { 35919, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ - { 35940, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ - { 35962, 0x00008A19 }, /* GL_RELEASED_APPLE */ - { 35980, 0x00001C00 }, /* GL_RENDER */ - { 35990, 0x00008D41 }, /* GL_RENDERBUFFER */ - { 36006, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ - { 36033, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ - { 36064, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ - { 36088, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ - { 36116, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ - { 36144, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ - { 36170, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ - { 36200, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ - { 36227, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ - { 36258, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ - { 36278, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ - { 36305, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ - { 36336, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ - { 36359, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ - { 36386, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ - { 36413, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - { 36445, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ - { 36481, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ - { 36517, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ - { 36537, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ - { 36562, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ - { 36591, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ - { 36615, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ - { 36643, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ - { 36672, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ - { 36705, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ - { 36727, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ - { 36753, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ - { 36779, 0x00001F01 }, /* GL_RENDERER */ - { 36791, 0x00000C40 }, /* GL_RENDER_MODE */ - { 36806, 0x00002901 }, /* GL_REPEAT */ - { 36816, 0x00001E01 }, /* GL_REPLACE */ - { 36827, 0x00008062 }, /* GL_REPLACE_EXT */ - { 36842, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ - { 36865, 0x0000803A }, /* GL_RESCALE_NORMAL */ - { 36883, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ - { 36905, 0x00008256 }, /* GL_RESET_NOTIFICATION_STRATEGY_ARB */ - { 36940, 0x00008A1B }, /* GL_RETAINED_APPLE */ - { 36958, 0x00000102 }, /* GL_RETURN */ - { 36968, 0x00008F99 }, /* GL_RG16_SNORM */ - { 36982, 0x00008F95 }, /* GL_RG8_SNORM */ - { 36995, 0x00001907 }, /* GL_RGB */ - { 37002, 0x00008052 }, /* GL_RGB10 */ - { 37011, 0x00008059 }, /* GL_RGB10_A2 */ - { 37023, 0x00008059 }, /* GL_RGB10_A2_EXT */ - { 37039, 0x00008052 }, /* GL_RGB10_EXT */ - { 37052, 0x00008053 }, /* GL_RGB12 */ - { 37061, 0x00008053 }, /* GL_RGB12_EXT */ - { 37074, 0x00008054 }, /* GL_RGB16 */ - { 37083, 0x0000881B }, /* GL_RGB16F */ - { 37093, 0x00008D89 }, /* GL_RGB16I */ - { 37103, 0x00008D89 }, /* GL_RGB16I_EXT */ - { 37117, 0x00008D77 }, /* GL_RGB16UI */ - { 37128, 0x00008D77 }, /* GL_RGB16UI_EXT */ - { 37143, 0x00008054 }, /* GL_RGB16_EXT */ - { 37156, 0x00008F9A }, /* GL_RGB16_SNORM */ - { 37171, 0x0000804E }, /* GL_RGB2_EXT */ - { 37183, 0x00008815 }, /* GL_RGB32F */ - { 37193, 0x00008D83 }, /* GL_RGB32I */ - { 37203, 0x00008D83 }, /* GL_RGB32I_EXT */ - { 37217, 0x00008D71 }, /* GL_RGB32UI */ - { 37228, 0x00008D71 }, /* GL_RGB32UI_EXT */ - { 37243, 0x0000804F }, /* GL_RGB4 */ - { 37251, 0x0000804F }, /* GL_RGB4_EXT */ - { 37263, 0x000083A1 }, /* GL_RGB4_S3TC */ - { 37276, 0x00008050 }, /* GL_RGB5 */ - { 37284, 0x00008D62 }, /* GL_RGB565 */ - { 37294, 0x00008D62 }, /* GL_RGB565_OES */ - { 37308, 0x00008057 }, /* GL_RGB5_A1 */ - { 37319, 0x00008057 }, /* GL_RGB5_A1_EXT */ - { 37334, 0x00008057 }, /* GL_RGB5_A1_OES */ - { 37349, 0x00008050 }, /* GL_RGB5_EXT */ - { 37361, 0x00008051 }, /* GL_RGB8 */ - { 37369, 0x00008D8F }, /* GL_RGB8I */ - { 37378, 0x00008D8F }, /* GL_RGB8I_EXT */ - { 37391, 0x00008D7D }, /* GL_RGB8UI */ - { 37401, 0x00008D7D }, /* GL_RGB8UI_EXT */ - { 37415, 0x00008051 }, /* GL_RGB8_EXT */ - { 37427, 0x00008051 }, /* GL_RGB8_OES */ - { 37439, 0x00008F96 }, /* GL_RGB8_SNORM */ - { 37453, 0x00008C3D }, /* GL_RGB9_E5 */ - { 37464, 0x00001908 }, /* GL_RGBA */ - { 37472, 0x0000805A }, /* GL_RGBA12 */ - { 37482, 0x0000805A }, /* GL_RGBA12_EXT */ - { 37496, 0x0000805B }, /* GL_RGBA16 */ - { 37506, 0x0000881A }, /* GL_RGBA16F */ - { 37517, 0x00008D88 }, /* GL_RGBA16I */ - { 37528, 0x00008D88 }, /* GL_RGBA16I_EXT */ - { 37543, 0x00008D76 }, /* GL_RGBA16UI */ - { 37555, 0x00008D76 }, /* GL_RGBA16UI_EXT */ - { 37571, 0x0000805B }, /* GL_RGBA16_EXT */ - { 37585, 0x00008F9B }, /* GL_RGBA16_SNORM */ - { 37601, 0x00008055 }, /* GL_RGBA2 */ - { 37610, 0x00008055 }, /* GL_RGBA2_EXT */ - { 37623, 0x00008814 }, /* GL_RGBA32F */ - { 37634, 0x00008D82 }, /* GL_RGBA32I */ - { 37645, 0x00008D82 }, /* GL_RGBA32I_EXT */ - { 37660, 0x00008D70 }, /* GL_RGBA32UI */ - { 37672, 0x00008D70 }, /* GL_RGBA32UI_EXT */ - { 37688, 0x00008056 }, /* GL_RGBA4 */ - { 37697, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ - { 37716, 0x00008056 }, /* GL_RGBA4_EXT */ - { 37729, 0x00008056 }, /* GL_RGBA4_OES */ - { 37742, 0x000083A3 }, /* GL_RGBA4_S3TC */ - { 37756, 0x00008058 }, /* GL_RGBA8 */ - { 37765, 0x00008D8E }, /* GL_RGBA8I */ - { 37775, 0x00008D8E }, /* GL_RGBA8I_EXT */ - { 37789, 0x00008D7C }, /* GL_RGBA8UI */ - { 37800, 0x00008D7C }, /* GL_RGBA8UI_EXT */ - { 37815, 0x00008058 }, /* GL_RGBA8_EXT */ - { 37828, 0x00008058 }, /* GL_RGBA8_OES */ - { 37841, 0x00008F97 }, /* GL_RGBA8_SNORM */ - { 37856, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ - { 37874, 0x00008820 }, /* GL_RGBA_FLOAT_MODE_ARB */ - { 37897, 0x00008D99 }, /* GL_RGBA_INTEGER */ - { 37913, 0x00008D99 }, /* GL_RGBA_INTEGER_EXT */ - { 37933, 0x00008D9E }, /* GL_RGBA_INTEGER_MODE_EXT */ - { 37958, 0x00000C31 }, /* GL_RGBA_MODE */ - { 37971, 0x000083A2 }, /* GL_RGBA_S3TC */ - { 37984, 0x00008F93 }, /* GL_RGBA_SNORM */ - { 37998, 0x00008D98 }, /* GL_RGB_INTEGER */ - { 38013, 0x00008D98 }, /* GL_RGB_INTEGER_EXT */ - { 38032, 0x000083A0 }, /* GL_RGB_S3TC */ - { 38044, 0x00008573 }, /* GL_RGB_SCALE */ - { 38057, 0x00008573 }, /* GL_RGB_SCALE_ARB */ - { 38074, 0x00008573 }, /* GL_RGB_SCALE_EXT */ - { 38091, 0x00008F92 }, /* GL_RGB_SNORM */ - { 38104, 0x00008F91 }, /* GL_RG_SNORM */ - { 38116, 0x00000407 }, /* GL_RIGHT */ - { 38125, 0x00002000 }, /* GL_S */ - { 38130, 0x00008B5D }, /* GL_SAMPLER_1D */ - { 38144, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY */ - { 38164, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY_EXT */ - { 38188, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW */ - { 38215, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW_EXT */ - { 38246, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ - { 38267, 0x00008B5E }, /* GL_SAMPLER_2D */ - { 38281, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY */ - { 38301, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY_EXT */ - { 38325, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW */ - { 38352, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW_EXT */ - { 38383, 0x00008B63 }, /* GL_SAMPLER_2D_RECT */ - { 38402, 0x00008B64 }, /* GL_SAMPLER_2D_RECT_SHADOW */ - { 38428, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ - { 38449, 0x00008B5F }, /* GL_SAMPLER_3D */ - { 38463, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ - { 38481, 0x00008919 }, /* GL_SAMPLER_BINDING */ - { 38500, 0x00008DC2 }, /* GL_SAMPLER_BUFFER */ - { 38518, 0x00008DC2 }, /* GL_SAMPLER_BUFFER_EXT */ - { 38540, 0x00008B60 }, /* GL_SAMPLER_CUBE */ - { 38556, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW */ - { 38579, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW_EXT */ - { 38606, 0x000080A9 }, /* GL_SAMPLES */ - { 38617, 0x000086B4 }, /* GL_SAMPLES_3DFX */ - { 38633, 0x000080A9 }, /* GL_SAMPLES_ARB */ - { 38648, 0x00008914 }, /* GL_SAMPLES_PASSED */ - { 38666, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ - { 38688, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - { 38716, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ - { 38748, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ - { 38771, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ - { 38798, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ - { 38816, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ - { 38839, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ - { 38861, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ - { 38880, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ - { 38903, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ - { 38929, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ - { 38959, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ - { 38984, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ - { 39013, 0x00080000 }, /* GL_SCISSOR_BIT */ - { 39028, 0x00000C10 }, /* GL_SCISSOR_BOX */ - { 39043, 0x00000C11 }, /* GL_SCISSOR_TEST */ - { 39059, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ - { 39084, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ - { 39124, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ - { 39168, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - { 39201, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - { 39231, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - { 39263, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - { 39293, 0x00001C02 }, /* GL_SELECT */ - { 39303, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ - { 39331, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ - { 39356, 0x00008012 }, /* GL_SEPARABLE_2D */ - { 39372, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS */ - { 39392, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ - { 39416, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ - { 39443, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ - { 39474, 0x0000150F }, /* GL_SET */ - { 39481, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ - { 39506, 0x00008DFA }, /* GL_SHADER_COMPILER */ - { 39525, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ - { 39546, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ - { 39570, 0x00008B4F }, /* GL_SHADER_TYPE */ - { 39585, 0x00000B54 }, /* GL_SHADE_MODEL */ - { 39600, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ - { 39628, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ - { 39651, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ - { 39681, 0x00001601 }, /* GL_SHININESS */ - { 39694, 0x00001402 }, /* GL_SHORT */ - { 39703, 0x00009119 }, /* GL_SIGNALED */ - { 39715, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ - { 39736, 0x000081F9 }, /* GL_SINGLE_COLOR */ - { 39752, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ - { 39772, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ - { 39791, 0x00008C46 }, /* GL_SLUMINANCE */ - { 39805, 0x00008C47 }, /* GL_SLUMINANCE8 */ - { 39820, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ - { 39842, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ - { 39862, 0x00001D01 }, /* GL_SMOOTH */ - { 39872, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ - { 39905, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ - { 39932, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ - { 39965, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ - { 39992, 0x00008588 }, /* GL_SOURCE0_ALPHA */ - { 40009, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ - { 40030, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ - { 40051, 0x00008580 }, /* GL_SOURCE0_RGB */ - { 40066, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ - { 40085, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ - { 40104, 0x00008589 }, /* GL_SOURCE1_ALPHA */ - { 40121, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ - { 40142, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ - { 40163, 0x00008581 }, /* GL_SOURCE1_RGB */ - { 40178, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ - { 40197, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ - { 40216, 0x0000858A }, /* GL_SOURCE2_ALPHA */ - { 40233, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ - { 40254, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ - { 40275, 0x00008582 }, /* GL_SOURCE2_RGB */ - { 40290, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ - { 40309, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ - { 40328, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ - { 40348, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ - { 40366, 0x00001202 }, /* GL_SPECULAR */ - { 40378, 0x00002402 }, /* GL_SPHERE_MAP */ - { 40392, 0x00001206 }, /* GL_SPOT_CUTOFF */ - { 40407, 0x00001204 }, /* GL_SPOT_DIRECTION */ - { 40425, 0x00001205 }, /* GL_SPOT_EXPONENT */ - { 40442, 0x00008588 }, /* GL_SRC0_ALPHA */ - { 40456, 0x00008580 }, /* GL_SRC0_RGB */ - { 40468, 0x00008589 }, /* GL_SRC1_ALPHA */ - { 40482, 0x00008581 }, /* GL_SRC1_RGB */ - { 40494, 0x0000858A }, /* GL_SRC2_ALPHA */ - { 40508, 0x00008582 }, /* GL_SRC2_RGB */ - { 40520, 0x00000302 }, /* GL_SRC_ALPHA */ - { 40533, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ - { 40555, 0x00000300 }, /* GL_SRC_COLOR */ - { 40568, 0x00008C40 }, /* GL_SRGB */ - { 40576, 0x00008C41 }, /* GL_SRGB8 */ - { 40585, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ - { 40601, 0x00008C42 }, /* GL_SRGB_ALPHA */ - { 40615, 0x00000503 }, /* GL_STACK_OVERFLOW */ - { 40633, 0x00000504 }, /* GL_STACK_UNDERFLOW */ - { 40652, 0x000088E6 }, /* GL_STATIC_COPY */ - { 40667, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ - { 40686, 0x000088E4 }, /* GL_STATIC_DRAW */ - { 40701, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ - { 40720, 0x000088E5 }, /* GL_STATIC_READ */ - { 40735, 0x000088E5 }, /* GL_STATIC_READ_ARB */ - { 40754, 0x00001802 }, /* GL_STENCIL */ - { 40765, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ - { 40787, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ - { 40813, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ - { 40839, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ - { 40860, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ - { 40885, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ - { 40906, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ - { 40931, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - { 40963, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ - { 40999, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ - { 41031, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ - { 41067, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ - { 41087, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ - { 41114, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ - { 41140, 0x00000D57 }, /* GL_STENCIL_BITS */ - { 41156, 0x00008224 }, /* GL_STENCIL_BUFFER */ - { 41174, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ - { 41196, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ - { 41219, 0x00000B94 }, /* GL_STENCIL_FAIL */ - { 41235, 0x00000B92 }, /* GL_STENCIL_FUNC */ - { 41251, 0x00001901 }, /* GL_STENCIL_INDEX */ - { 41268, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ - { 41286, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ - { 41305, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ - { 41328, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ - { 41350, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ - { 41372, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ - { 41390, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ - { 41412, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ - { 41434, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ - { 41452, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ - { 41474, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ - { 41496, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ - { 41517, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ - { 41544, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ - { 41571, 0x00000B97 }, /* GL_STENCIL_REF */ - { 41586, 0x00000B90 }, /* GL_STENCIL_TEST */ - { 41602, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ - { 41631, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ - { 41653, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ - { 41674, 0x00000C33 }, /* GL_STEREO */ - { 41684, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ - { 41708, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ - { 41733, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ - { 41757, 0x000088E2 }, /* GL_STREAM_COPY */ - { 41772, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ - { 41791, 0x000088E0 }, /* GL_STREAM_DRAW */ - { 41806, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ - { 41825, 0x000088E1 }, /* GL_STREAM_READ */ - { 41840, 0x000088E1 }, /* GL_STREAM_READ_ARB */ - { 41859, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ - { 41876, 0x000084E7 }, /* GL_SUBTRACT */ - { 41888, 0x000084E7 }, /* GL_SUBTRACT_ARB */ - { 41904, 0x00009113 }, /* GL_SYNC_CONDITION */ - { 41922, 0x00009116 }, /* GL_SYNC_FENCE */ - { 41936, 0x00009115 }, /* GL_SYNC_FLAGS */ - { 41950, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ - { 41977, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - { 42007, 0x00009114 }, /* GL_SYNC_STATUS */ - { 42022, 0x00002001 }, /* GL_T */ - { 42027, 0x00002A2A }, /* GL_T2F_C3F_V3F */ - { 42042, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ - { 42061, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ - { 42077, 0x00002A2B }, /* GL_T2F_N3F_V3F */ - { 42092, 0x00002A27 }, /* GL_T2F_V3F */ - { 42103, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ - { 42122, 0x00002A28 }, /* GL_T4F_V4F */ - { 42133, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ - { 42156, 0x00001702 }, /* GL_TEXTURE */ - { 42167, 0x000084C0 }, /* GL_TEXTURE0 */ - { 42179, 0x000084C0 }, /* GL_TEXTURE0_ARB */ - { 42195, 0x000084C1 }, /* GL_TEXTURE1 */ - { 42207, 0x000084CA }, /* GL_TEXTURE10 */ - { 42220, 0x000084CA }, /* GL_TEXTURE10_ARB */ - { 42237, 0x000084CB }, /* GL_TEXTURE11 */ - { 42250, 0x000084CB }, /* GL_TEXTURE11_ARB */ - { 42267, 0x000084CC }, /* GL_TEXTURE12 */ - { 42280, 0x000084CC }, /* GL_TEXTURE12_ARB */ - { 42297, 0x000084CD }, /* GL_TEXTURE13 */ - { 42310, 0x000084CD }, /* GL_TEXTURE13_ARB */ - { 42327, 0x000084CE }, /* GL_TEXTURE14 */ - { 42340, 0x000084CE }, /* GL_TEXTURE14_ARB */ - { 42357, 0x000084CF }, /* GL_TEXTURE15 */ - { 42370, 0x000084CF }, /* GL_TEXTURE15_ARB */ - { 42387, 0x000084D0 }, /* GL_TEXTURE16 */ - { 42400, 0x000084D0 }, /* GL_TEXTURE16_ARB */ - { 42417, 0x000084D1 }, /* GL_TEXTURE17 */ - { 42430, 0x000084D1 }, /* GL_TEXTURE17_ARB */ - { 42447, 0x000084D2 }, /* GL_TEXTURE18 */ - { 42460, 0x000084D2 }, /* GL_TEXTURE18_ARB */ - { 42477, 0x000084D3 }, /* GL_TEXTURE19 */ - { 42490, 0x000084D3 }, /* GL_TEXTURE19_ARB */ - { 42507, 0x000084C1 }, /* GL_TEXTURE1_ARB */ - { 42523, 0x000084C2 }, /* GL_TEXTURE2 */ - { 42535, 0x000084D4 }, /* GL_TEXTURE20 */ - { 42548, 0x000084D4 }, /* GL_TEXTURE20_ARB */ - { 42565, 0x000084D5 }, /* GL_TEXTURE21 */ - { 42578, 0x000084D5 }, /* GL_TEXTURE21_ARB */ - { 42595, 0x000084D6 }, /* GL_TEXTURE22 */ - { 42608, 0x000084D6 }, /* GL_TEXTURE22_ARB */ - { 42625, 0x000084D7 }, /* GL_TEXTURE23 */ - { 42638, 0x000084D7 }, /* GL_TEXTURE23_ARB */ - { 42655, 0x000084D8 }, /* GL_TEXTURE24 */ - { 42668, 0x000084D8 }, /* GL_TEXTURE24_ARB */ - { 42685, 0x000084D9 }, /* GL_TEXTURE25 */ - { 42698, 0x000084D9 }, /* GL_TEXTURE25_ARB */ - { 42715, 0x000084DA }, /* GL_TEXTURE26 */ - { 42728, 0x000084DA }, /* GL_TEXTURE26_ARB */ - { 42745, 0x000084DB }, /* GL_TEXTURE27 */ - { 42758, 0x000084DB }, /* GL_TEXTURE27_ARB */ - { 42775, 0x000084DC }, /* GL_TEXTURE28 */ - { 42788, 0x000084DC }, /* GL_TEXTURE28_ARB */ - { 42805, 0x000084DD }, /* GL_TEXTURE29 */ - { 42818, 0x000084DD }, /* GL_TEXTURE29_ARB */ - { 42835, 0x000084C2 }, /* GL_TEXTURE2_ARB */ - { 42851, 0x000084C3 }, /* GL_TEXTURE3 */ - { 42863, 0x000084DE }, /* GL_TEXTURE30 */ - { 42876, 0x000084DE }, /* GL_TEXTURE30_ARB */ - { 42893, 0x000084DF }, /* GL_TEXTURE31 */ - { 42906, 0x000084DF }, /* GL_TEXTURE31_ARB */ - { 42923, 0x000084C3 }, /* GL_TEXTURE3_ARB */ - { 42939, 0x000084C4 }, /* GL_TEXTURE4 */ - { 42951, 0x000084C4 }, /* GL_TEXTURE4_ARB */ - { 42967, 0x000084C5 }, /* GL_TEXTURE5 */ - { 42979, 0x000084C5 }, /* GL_TEXTURE5_ARB */ - { 42995, 0x000084C6 }, /* GL_TEXTURE6 */ - { 43007, 0x000084C6 }, /* GL_TEXTURE6_ARB */ - { 43023, 0x000084C7 }, /* GL_TEXTURE7 */ - { 43035, 0x000084C7 }, /* GL_TEXTURE7_ARB */ - { 43051, 0x000084C8 }, /* GL_TEXTURE8 */ - { 43063, 0x000084C8 }, /* GL_TEXTURE8_ARB */ - { 43079, 0x000084C9 }, /* GL_TEXTURE9 */ - { 43091, 0x000084C9 }, /* GL_TEXTURE9_ARB */ - { 43107, 0x00000DE0 }, /* GL_TEXTURE_1D */ - { 43121, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY */ - { 43141, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ - { 43165, 0x00000DE1 }, /* GL_TEXTURE_2D */ - { 43179, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY */ - { 43199, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ - { 43223, 0x0000806F }, /* GL_TEXTURE_3D */ - { 43237, 0x0000806F }, /* GL_TEXTURE_3D_OES */ - { 43255, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ - { 43277, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ - { 43303, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ - { 43325, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ - { 43347, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY */ - { 43375, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ - { 43407, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ - { 43429, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY */ - { 43457, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ - { 43489, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ - { 43511, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ - { 43537, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER */ - { 43563, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER_ARB */ - { 43593, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ - { 43621, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ - { 43653, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ - { 43685, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE */ - { 43714, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ - { 43747, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ - { 43779, 0x00040000 }, /* GL_TEXTURE_BIT */ - { 43794, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ - { 43815, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ - { 43840, 0x00001005 }, /* GL_TEXTURE_BORDER */ - { 43858, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ - { 43882, 0x00008C2A }, /* GL_TEXTURE_BUFFER */ - { 43900, 0x00008C2A }, /* GL_TEXTURE_BUFFER_ARB */ - { 43922, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ - { 43959, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB */ - { 44000, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT */ - { 44025, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT_ARB */ - { 44054, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - { 44085, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - { 44115, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - { 44145, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - { 44180, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - { 44211, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - { 44249, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ - { 44276, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - { 44308, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ - { 44342, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ - { 44366, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ - { 44394, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ - { 44418, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ - { 44446, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - { 44479, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ - { 44503, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ - { 44525, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ - { 44547, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ - { 44573, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ - { 44607, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - { 44640, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ - { 44677, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ - { 44705, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ - { 44737, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ - { 44760, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ - { 44798, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ - { 44840, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ - { 44871, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - { 44899, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ - { 44929, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - { 44957, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ - { 44982, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ - { 45002, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ - { 45026, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - { 45057, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ - { 45092, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ - { 45127, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - { 45158, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ - { 45193, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ - { 45228, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - { 45259, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ - { 45294, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ - { 45329, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ - { 45353, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - { 45384, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ - { 45419, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ - { 45454, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - { 45485, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ - { 45520, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ - { 45555, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - { 45586, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ - { 45621, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ - { 45656, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - { 45685, 0x00008071 }, /* GL_TEXTURE_DEPTH */ - { 45702, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ - { 45724, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ - { 45750, 0x00002300 }, /* GL_TEXTURE_ENV */ - { 45765, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ - { 45786, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ - { 45806, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ - { 45832, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ - { 45862, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ - { 45882, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ - { 45906, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ - { 45923, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ - { 45940, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ - { 45957, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ - { 45980, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ - { 45997, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ - { 46022, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ - { 46044, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ - { 46070, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ - { 46088, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ - { 46114, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ - { 46140, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ - { 46170, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ - { 46197, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ - { 46222, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ - { 46242, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ - { 46266, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ - { 46293, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - { 46320, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - { 46347, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ - { 46373, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ - { 46403, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ - { 46425, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ - { 46443, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ - { 46483, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - { 46513, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - { 46541, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - { 46569, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - { 46597, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ - { 46618, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ - { 46637, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ - { 46659, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ - { 46678, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ - { 46698, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - { 46728, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - { 46759, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE */ - { 46780, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ - { 46805, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ - { 46829, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ - { 46849, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ - { 46873, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ - { 46893, 0x00008C3F }, /* GL_TEXTURE_SHARED_SIZE */ - { 46916, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ - { 46939, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ - { 46963, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ - { 46991, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - { 47021, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ - { 47046, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ - { 47080, 0x00001000 }, /* GL_TEXTURE_WIDTH */ - { 47097, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ - { 47115, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ - { 47137, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ - { 47155, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ - { 47173, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ - { 47192, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ - { 47212, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ - { 47231, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - { 47260, 0x00001000 }, /* GL_TRANSFORM_BIT */ - { 47277, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */ - { 47299, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */ - { 47329, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER */ - { 47358, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ - { 47394, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ - { 47431, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ - { 47472, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ - { 47505, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ - { 47539, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ - { 47577, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ - { 47613, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ - { 47647, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ - { 47685, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ - { 47720, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ - { 47759, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ - { 47800, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ - { 47845, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ - { 47876, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ - { 47911, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ - { 47952, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ - { 47997, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ - { 48023, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ - { 48053, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - { 48085, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - { 48115, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ - { 48149, 0x0000862C }, /* GL_TRANSPOSE_NV */ - { 48165, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - { 48196, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ - { 48231, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - { 48259, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ - { 48291, 0x00000004 }, /* GL_TRIANGLES */ - { 48304, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY */ - { 48327, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */ - { 48354, 0x00000006 }, /* GL_TRIANGLE_FAN */ - { 48370, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ - { 48391, 0x00000005 }, /* GL_TRIANGLE_STRIP */ - { 48409, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY */ - { 48437, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ - { 48469, 0x00000001 }, /* GL_TRUE */ - { 48477, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ - { 48496, 0x00008255 }, /* GL_UNKNOWN_CONTEXT_RESET_ARB */ - { 48525, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ - { 48545, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ - { 48568, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ - { 48588, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ - { 48609, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ - { 48631, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ - { 48653, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ - { 48673, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ - { 48694, 0x00009118 }, /* GL_UNSIGNALED */ - { 48708, 0x00001401 }, /* GL_UNSIGNED_BYTE */ - { 48725, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - { 48752, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ - { 48775, 0x00001405 }, /* GL_UNSIGNED_INT */ - { 48791, 0x00008C3B }, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ - { 48823, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ - { 48850, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ - { 48881, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ - { 48902, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ - { 48927, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ - { 48951, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ - { 48976, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - { 49007, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ - { 49042, 0x00008C3E }, /* GL_UNSIGNED_INT_5_9_9_9_REV */ - { 49070, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ - { 49094, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - { 49122, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D */ - { 49149, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ - { 49182, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT */ - { 49219, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D_EXT */ - { 49250, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D */ - { 49277, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ - { 49310, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT */ - { 49347, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D_EXT */ - { 49378, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ - { 49410, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT */ - { 49446, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D */ - { 49473, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D_EXT */ - { 49504, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ - { 49535, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT */ - { 49570, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ - { 49599, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE_EXT */ - { 49632, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2 */ - { 49653, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2_EXT */ - { 49678, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3 */ - { 49699, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3_EXT */ - { 49724, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4 */ - { 49745, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4_EXT */ - { 49770, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ - { 49793, 0x00001403 }, /* GL_UNSIGNED_SHORT */ - { 49811, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - { 49841, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ - { 49875, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - { 49901, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - { 49931, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ - { 49965, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - { 49991, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ - { 50015, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - { 50043, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - { 50071, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ - { 50098, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - { 50130, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ - { 50161, 0x00008CA2 }, /* GL_UPPER_LEFT */ - { 50175, 0x00002A20 }, /* GL_V2F */ - { 50182, 0x00002A21 }, /* GL_V3F */ - { 50189, 0x00008B83 }, /* GL_VALIDATE_STATUS */ - { 50208, 0x00001F00 }, /* GL_VENDOR */ - { 50218, 0x00001F02 }, /* GL_VERSION */ - { 50229, 0x00008074 }, /* GL_VERTEX_ARRAY */ - { 50245, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ - { 50269, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ - { 50299, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - { 50330, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ - { 50365, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ - { 50389, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ - { 50410, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ - { 50433, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ - { 50454, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - { 50481, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - { 50509, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - { 50537, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - { 50565, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - { 50593, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - { 50621, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - { 50649, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - { 50676, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - { 50703, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - { 50730, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - { 50757, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - { 50784, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - { 50811, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - { 50838, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - { 50865, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - { 50892, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - { 50930, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ - { 50972, 0x000088FE }, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ - { 51007, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - { 51038, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ - { 51073, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ - { 51104, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */ - { 51139, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ - { 51173, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ - { 51211, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - { 51242, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ - { 51277, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - { 51305, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ - { 51337, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - { 51367, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ - { 51401, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ - { 51429, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ - { 51461, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ - { 51481, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ - { 51503, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ - { 51532, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ - { 51553, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ - { 51582, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ - { 51615, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ - { 51647, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - { 51674, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ - { 51705, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ - { 51735, 0x00008B31 }, /* GL_VERTEX_SHADER */ - { 51752, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ - { 51773, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ - { 51800, 0x00000BA2 }, /* GL_VIEWPORT */ - { 51812, 0x00000800 }, /* GL_VIEWPORT_BIT */ - { 51828, 0x00008A1A }, /* GL_VOLATILE_APPLE */ - { 51846, 0x0000911D }, /* GL_WAIT_FAILED */ - { 51861, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ - { 51881, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - { 51912, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ - { 51947, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ - { 51982, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ - { 52002, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - { 52030, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ - { 52058, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - { 52083, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ - { 52108, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - { 52135, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ - { 52162, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - { 52187, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ - { 52212, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ - { 52236, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ - { 52255, 0x000088B9 }, /* GL_WRITE_ONLY */ - { 52269, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ - { 52287, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ - { 52305, 0x00001506 }, /* GL_XOR */ - { 52312, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ - { 52331, 0x00008757 }, /* GL_YCBCR_MESA */ - { 52345, 0x00000000 }, /* GL_ZERO */ - { 52353, 0x00000D16 }, /* GL_ZOOM_X */ - { 52363, 0x00000D17 }, /* GL_ZOOM_Y */ + { 15538, 0x0000912F }, /* GL_GL_TEXTURE_IMMUTABLE_FORMAT */ + { 15569, 0x00000204 }, /* GL_GREATER */ + { 15580, 0x00001904 }, /* GL_GREEN */ + { 15589, 0x00000D19 }, /* GL_GREEN_BIAS */ + { 15603, 0x00000D53 }, /* GL_GREEN_BITS */ + { 15617, 0x00008D95 }, /* GL_GREEN_INTEGER */ + { 15634, 0x00008D95 }, /* GL_GREEN_INTEGER_EXT */ + { 15655, 0x00000D18 }, /* GL_GREEN_SCALE */ + { 15670, 0x00008253 }, /* GL_GUILTY_CONTEXT_RESET_ARB */ + { 15698, 0x0000140B }, /* GL_HALF_FLOAT */ + { 15712, 0x00008D61 }, /* GL_HALF_FLOAT_OES */ + { 15730, 0x00008DF2 }, /* GL_HIGH_FLOAT */ + { 15744, 0x00008DF5 }, /* GL_HIGH_INT */ + { 15756, 0x00008000 }, /* GL_HINT_BIT */ + { 15768, 0x00008024 }, /* GL_HISTOGRAM */ + { 15781, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE */ + { 15805, 0x0000802B }, /* GL_HISTOGRAM_ALPHA_SIZE_EXT */ + { 15833, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE */ + { 15856, 0x0000802A }, /* GL_HISTOGRAM_BLUE_SIZE_EXT */ + { 15883, 0x00008024 }, /* GL_HISTOGRAM_EXT */ + { 15900, 0x00008027 }, /* GL_HISTOGRAM_FORMAT */ + { 15920, 0x00008027 }, /* GL_HISTOGRAM_FORMAT_EXT */ + { 15944, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE */ + { 15968, 0x00008029 }, /* GL_HISTOGRAM_GREEN_SIZE_EXT */ + { 15996, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + { 16024, 0x0000802C }, /* GL_HISTOGRAM_LUMINANCE_SIZE_EXT */ + { 16056, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE */ + { 16078, 0x00008028 }, /* GL_HISTOGRAM_RED_SIZE_EXT */ + { 16104, 0x0000802D }, /* GL_HISTOGRAM_SINK */ + { 16122, 0x0000802D }, /* GL_HISTOGRAM_SINK_EXT */ + { 16144, 0x00008026 }, /* GL_HISTOGRAM_WIDTH */ + { 16163, 0x00008026 }, /* GL_HISTOGRAM_WIDTH_EXT */ + { 16186, 0x0000862A }, /* GL_IDENTITY_NV */ + { 16201, 0x00008150 }, /* GL_IGNORE_BORDER_HP */ + { 16221, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ + { 16257, 0x00008B9B }, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT_OES */ + { 16297, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ + { 16331, 0x00008B9A }, /* GL_IMPLEMENTATION_COLOR_READ_TYPE_OES */ + { 16369, 0x00001E02 }, /* GL_INCR */ + { 16377, 0x00008507 }, /* GL_INCR_WRAP */ + { 16390, 0x00008507 }, /* GL_INCR_WRAP_EXT */ + { 16407, 0x00008222 }, /* GL_INDEX */ + { 16416, 0x00008077 }, /* GL_INDEX_ARRAY */ + { 16431, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + { 16461, 0x00008899 }, /* GL_INDEX_ARRAY_BUFFER_BINDING_ARB */ + { 16495, 0x00008091 }, /* GL_INDEX_ARRAY_POINTER */ + { 16518, 0x00008086 }, /* GL_INDEX_ARRAY_STRIDE */ + { 16540, 0x00008085 }, /* GL_INDEX_ARRAY_TYPE */ + { 16560, 0x00000D51 }, /* GL_INDEX_BITS */ + { 16574, 0x00000C20 }, /* GL_INDEX_CLEAR_VALUE */ + { 16595, 0x00000BF1 }, /* GL_INDEX_LOGIC_OP */ + { 16613, 0x00000C30 }, /* GL_INDEX_MODE */ + { 16627, 0x00000D13 }, /* GL_INDEX_OFFSET */ + { 16643, 0x00000D12 }, /* GL_INDEX_SHIFT */ + { 16658, 0x00000C21 }, /* GL_INDEX_WRITEMASK */ + { 16677, 0x00008B84 }, /* GL_INFO_LOG_LENGTH */ + { 16696, 0x00008254 }, /* GL_INNOCENT_CONTEXT_RESET_ARB */ + { 16726, 0x00001404 }, /* GL_INT */ + { 16733, 0x00008049 }, /* GL_INTENSITY */ + { 16746, 0x0000804C }, /* GL_INTENSITY12 */ + { 16761, 0x0000804C }, /* GL_INTENSITY12_EXT */ + { 16780, 0x0000804D }, /* GL_INTENSITY16 */ + { 16795, 0x00008D8B }, /* GL_INTENSITY16I_EXT */ + { 16815, 0x00008D79 }, /* GL_INTENSITY16UI_EXT */ + { 16836, 0x0000804D }, /* GL_INTENSITY16_EXT */ + { 16855, 0x00008D85 }, /* GL_INTENSITY32I_EXT */ + { 16875, 0x00008D73 }, /* GL_INTENSITY32UI_EXT */ + { 16896, 0x0000804A }, /* GL_INTENSITY4 */ + { 16910, 0x0000804A }, /* GL_INTENSITY4_EXT */ + { 16928, 0x0000804B }, /* GL_INTENSITY8 */ + { 16942, 0x00008D91 }, /* GL_INTENSITY8I_EXT */ + { 16961, 0x00008D7F }, /* GL_INTENSITY8UI_EXT */ + { 16981, 0x0000804B }, /* GL_INTENSITY8_EXT */ + { 16999, 0x00008049 }, /* GL_INTENSITY_EXT */ + { 17016, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS */ + { 17039, 0x00008C8C }, /* GL_INTERLEAVED_ATTRIBS_EXT */ + { 17066, 0x00008575 }, /* GL_INTERPOLATE */ + { 17081, 0x00008575 }, /* GL_INTERPOLATE_ARB */ + { 17100, 0x00008575 }, /* GL_INTERPOLATE_EXT */ + { 17119, 0x00008DF7 }, /* GL_INT_10_10_10_2_OES */ + { 17141, 0x00008D9F }, /* GL_INT_2_10_10_10_REV */ + { 17163, 0x00008DC9 }, /* GL_INT_SAMPLER_1D */ + { 17181, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY */ + { 17205, 0x00008DCE }, /* GL_INT_SAMPLER_1D_ARRAY_EXT */ + { 17233, 0x00008DC9 }, /* GL_INT_SAMPLER_1D_EXT */ + { 17255, 0x00008DCA }, /* GL_INT_SAMPLER_2D */ + { 17273, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY */ + { 17297, 0x00008DCF }, /* GL_INT_SAMPLER_2D_ARRAY_EXT */ + { 17325, 0x00008DCA }, /* GL_INT_SAMPLER_2D_EXT */ + { 17347, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT */ + { 17370, 0x00008DCD }, /* GL_INT_SAMPLER_2D_RECT_EXT */ + { 17397, 0x00008DCB }, /* GL_INT_SAMPLER_3D */ + { 17415, 0x00008DCB }, /* GL_INT_SAMPLER_3D_EXT */ + { 17437, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER */ + { 17459, 0x00008DD0 }, /* GL_INT_SAMPLER_BUFFER_EXT */ + { 17485, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE */ + { 17505, 0x00008DCC }, /* GL_INT_SAMPLER_CUBE_EXT */ + { 17529, 0x00008B53 }, /* GL_INT_VEC2 */ + { 17541, 0x00008B53 }, /* GL_INT_VEC2_ARB */ + { 17557, 0x00008B54 }, /* GL_INT_VEC3 */ + { 17569, 0x00008B54 }, /* GL_INT_VEC3_ARB */ + { 17585, 0x00008B55 }, /* GL_INT_VEC4 */ + { 17597, 0x00008B55 }, /* GL_INT_VEC4_ARB */ + { 17613, 0x00000500 }, /* GL_INVALID_ENUM */ + { 17629, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + { 17662, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_EXT */ + { 17699, 0x00000506 }, /* GL_INVALID_FRAMEBUFFER_OPERATION_OES */ + { 17736, 0x00000502 }, /* GL_INVALID_OPERATION */ + { 17757, 0x00000501 }, /* GL_INVALID_VALUE */ + { 17774, 0x0000862B }, /* GL_INVERSE_NV */ + { 17788, 0x0000862D }, /* GL_INVERSE_TRANSPOSE_NV */ + { 17812, 0x0000150A }, /* GL_INVERT */ + { 17822, 0x00001E00 }, /* GL_KEEP */ + { 17830, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION */ + { 17856, 0x00008E4E }, /* GL_LAST_VERTEX_CONVENTION_EXT */ + { 17886, 0x00000406 }, /* GL_LEFT */ + { 17894, 0x00000203 }, /* GL_LEQUAL */ + { 17904, 0x00000201 }, /* GL_LESS */ + { 17912, 0x00004000 }, /* GL_LIGHT0 */ + { 17922, 0x00004001 }, /* GL_LIGHT1 */ + { 17932, 0x00004002 }, /* GL_LIGHT2 */ + { 17942, 0x00004003 }, /* GL_LIGHT3 */ + { 17952, 0x00004004 }, /* GL_LIGHT4 */ + { 17962, 0x00004005 }, /* GL_LIGHT5 */ + { 17972, 0x00004006 }, /* GL_LIGHT6 */ + { 17982, 0x00004007 }, /* GL_LIGHT7 */ + { 17992, 0x00000B50 }, /* GL_LIGHTING */ + { 18004, 0x00000040 }, /* GL_LIGHTING_BIT */ + { 18020, 0x00000B53 }, /* GL_LIGHT_MODEL_AMBIENT */ + { 18043, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + { 18072, 0x000081F8 }, /* GL_LIGHT_MODEL_COLOR_CONTROL_EXT */ + { 18105, 0x00000B51 }, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + { 18133, 0x00000B52 }, /* GL_LIGHT_MODEL_TWO_SIDE */ + { 18157, 0x00001B01 }, /* GL_LINE */ + { 18165, 0x00002601 }, /* GL_LINEAR */ + { 18175, 0x00001208 }, /* GL_LINEAR_ATTENUATION */ + { 18197, 0x00008170 }, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + { 18227, 0x0000844F }, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + { 18258, 0x00002703 }, /* GL_LINEAR_MIPMAP_LINEAR */ + { 18282, 0x00002701 }, /* GL_LINEAR_MIPMAP_NEAREST */ + { 18307, 0x00000001 }, /* GL_LINES */ + { 18316, 0x0000000A }, /* GL_LINES_ADJACENCY */ + { 18335, 0x0000000A }, /* GL_LINES_ADJACENCY_ARB */ + { 18358, 0x00000004 }, /* GL_LINE_BIT */ + { 18370, 0x00000002 }, /* GL_LINE_LOOP */ + { 18383, 0x00000707 }, /* GL_LINE_RESET_TOKEN */ + { 18403, 0x00000B20 }, /* GL_LINE_SMOOTH */ + { 18418, 0x00000C52 }, /* GL_LINE_SMOOTH_HINT */ + { 18438, 0x00000B24 }, /* GL_LINE_STIPPLE */ + { 18454, 0x00000B25 }, /* GL_LINE_STIPPLE_PATTERN */ + { 18478, 0x00000B26 }, /* GL_LINE_STIPPLE_REPEAT */ + { 18501, 0x00000003 }, /* GL_LINE_STRIP */ + { 18515, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY */ + { 18539, 0x0000000B }, /* GL_LINE_STRIP_ADJACENCY_ARB */ + { 18567, 0x00000702 }, /* GL_LINE_TOKEN */ + { 18581, 0x00000B21 }, /* GL_LINE_WIDTH */ + { 18595, 0x00000B23 }, /* GL_LINE_WIDTH_GRANULARITY */ + { 18621, 0x00000B22 }, /* GL_LINE_WIDTH_RANGE */ + { 18641, 0x00008B82 }, /* GL_LINK_STATUS */ + { 18656, 0x00000B32 }, /* GL_LIST_BASE */ + { 18669, 0x00020000 }, /* GL_LIST_BIT */ + { 18681, 0x00000B33 }, /* GL_LIST_INDEX */ + { 18695, 0x00000B30 }, /* GL_LIST_MODE */ + { 18708, 0x00000101 }, /* GL_LOAD */ + { 18716, 0x00000BF1 }, /* GL_LOGIC_OP */ + { 18728, 0x00000BF0 }, /* GL_LOGIC_OP_MODE */ + { 18745, 0x00008252 }, /* GL_LOSE_CONTEXT_ON_RESET_ARB */ + { 18774, 0x00008CA1 }, /* GL_LOWER_LEFT */ + { 18788, 0x00008DF0 }, /* GL_LOW_FLOAT */ + { 18801, 0x00008DF3 }, /* GL_LOW_INT */ + { 18812, 0x00001909 }, /* GL_LUMINANCE */ + { 18825, 0x00008041 }, /* GL_LUMINANCE12 */ + { 18840, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12 */ + { 18863, 0x00008047 }, /* GL_LUMINANCE12_ALPHA12_EXT */ + { 18890, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4 */ + { 18912, 0x00008046 }, /* GL_LUMINANCE12_ALPHA4_EXT */ + { 18938, 0x00008041 }, /* GL_LUMINANCE12_EXT */ + { 18957, 0x00008042 }, /* GL_LUMINANCE16 */ + { 18972, 0x00008D8C }, /* GL_LUMINANCE16I_EXT */ + { 18992, 0x00008D7A }, /* GL_LUMINANCE16UI_EXT */ + { 19013, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16 */ + { 19036, 0x00008048 }, /* GL_LUMINANCE16_ALPHA16_EXT */ + { 19063, 0x00008042 }, /* GL_LUMINANCE16_EXT */ + { 19082, 0x00008D86 }, /* GL_LUMINANCE32I_EXT */ + { 19102, 0x00008D74 }, /* GL_LUMINANCE32UI_EXT */ + { 19123, 0x0000803F }, /* GL_LUMINANCE4 */ + { 19137, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4 */ + { 19158, 0x00008043 }, /* GL_LUMINANCE4_ALPHA4_EXT */ + { 19183, 0x0000803F }, /* GL_LUMINANCE4_EXT */ + { 19201, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2 */ + { 19222, 0x00008044 }, /* GL_LUMINANCE6_ALPHA2_EXT */ + { 19247, 0x00008040 }, /* GL_LUMINANCE8 */ + { 19261, 0x00008D92 }, /* GL_LUMINANCE8I_EXT */ + { 19280, 0x00008D80 }, /* GL_LUMINANCE8UI_EXT */ + { 19300, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8 */ + { 19321, 0x00008045 }, /* GL_LUMINANCE8_ALPHA8_EXT */ + { 19346, 0x00008040 }, /* GL_LUMINANCE8_EXT */ + { 19364, 0x0000190A }, /* GL_LUMINANCE_ALPHA */ + { 19383, 0x00008D8D }, /* GL_LUMINANCE_ALPHA16I_EXT */ + { 19409, 0x00008D7B }, /* GL_LUMINANCE_ALPHA16UI_EXT */ + { 19436, 0x00008D87 }, /* GL_LUMINANCE_ALPHA32I_EXT */ + { 19462, 0x00008D75 }, /* GL_LUMINANCE_ALPHA32UI_EXT */ + { 19489, 0x00008D93 }, /* GL_LUMINANCE_ALPHA8I_EXT */ + { 19514, 0x00008D81 }, /* GL_LUMINANCE_ALPHA8UI_EXT */ + { 19540, 0x00008D9D }, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ + { 19571, 0x00008D9C }, /* GL_LUMINANCE_INTEGER_EXT */ + { 19596, 0x0000821B }, /* GL_MAJOR_VERSION */ + { 19613, 0x00000D90 }, /* GL_MAP1_COLOR_4 */ + { 19629, 0x00000DD0 }, /* GL_MAP1_GRID_DOMAIN */ + { 19649, 0x00000DD1 }, /* GL_MAP1_GRID_SEGMENTS */ + { 19671, 0x00000D91 }, /* GL_MAP1_INDEX */ + { 19685, 0x00000D92 }, /* GL_MAP1_NORMAL */ + { 19700, 0x00000D93 }, /* GL_MAP1_TEXTURE_COORD_1 */ + { 19724, 0x00000D94 }, /* GL_MAP1_TEXTURE_COORD_2 */ + { 19748, 0x00000D95 }, /* GL_MAP1_TEXTURE_COORD_3 */ + { 19772, 0x00000D96 }, /* GL_MAP1_TEXTURE_COORD_4 */ + { 19796, 0x00000D97 }, /* GL_MAP1_VERTEX_3 */ + { 19813, 0x00000D98 }, /* GL_MAP1_VERTEX_4 */ + { 19830, 0x00008660 }, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + { 19858, 0x0000866A }, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + { 19887, 0x0000866B }, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + { 19916, 0x0000866C }, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + { 19945, 0x0000866D }, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + { 19974, 0x0000866E }, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + { 20003, 0x0000866F }, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + { 20032, 0x00008661 }, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + { 20060, 0x00008662 }, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + { 20088, 0x00008663 }, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + { 20116, 0x00008664 }, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + { 20144, 0x00008665 }, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + { 20172, 0x00008666 }, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + { 20200, 0x00008667 }, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + { 20228, 0x00008668 }, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + { 20256, 0x00008669 }, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + { 20284, 0x00000DB0 }, /* GL_MAP2_COLOR_4 */ + { 20300, 0x00000DD2 }, /* GL_MAP2_GRID_DOMAIN */ + { 20320, 0x00000DD3 }, /* GL_MAP2_GRID_SEGMENTS */ + { 20342, 0x00000DB1 }, /* GL_MAP2_INDEX */ + { 20356, 0x00000DB2 }, /* GL_MAP2_NORMAL */ + { 20371, 0x00000DB3 }, /* GL_MAP2_TEXTURE_COORD_1 */ + { 20395, 0x00000DB4 }, /* GL_MAP2_TEXTURE_COORD_2 */ + { 20419, 0x00000DB5 }, /* GL_MAP2_TEXTURE_COORD_3 */ + { 20443, 0x00000DB6 }, /* GL_MAP2_TEXTURE_COORD_4 */ + { 20467, 0x00000DB7 }, /* GL_MAP2_VERTEX_3 */ + { 20484, 0x00000DB8 }, /* GL_MAP2_VERTEX_4 */ + { 20501, 0x00008670 }, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + { 20529, 0x0000867A }, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + { 20558, 0x0000867B }, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + { 20587, 0x0000867C }, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + { 20616, 0x0000867D }, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + { 20645, 0x0000867E }, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + { 20674, 0x0000867F }, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + { 20703, 0x00008671 }, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + { 20731, 0x00008672 }, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + { 20759, 0x00008673 }, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + { 20787, 0x00008674 }, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + { 20815, 0x00008675 }, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + { 20843, 0x00008676 }, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + { 20871, 0x00008677 }, /* GL_MAP2_VERTEX_ATTRIB7_4_NV */ + { 20899, 0x00008678 }, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + { 20927, 0x00008679 }, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + { 20955, 0x00000D10 }, /* GL_MAP_COLOR */ + { 20968, 0x00000010 }, /* GL_MAP_FLUSH_EXPLICIT_BIT */ + { 20994, 0x00000008 }, /* GL_MAP_INVALIDATE_BUFFER_BIT */ + { 21023, 0x00000004 }, /* GL_MAP_INVALIDATE_RANGE_BIT */ + { 21051, 0x00000001 }, /* GL_MAP_READ_BIT */ + { 21067, 0x00000D11 }, /* GL_MAP_STENCIL */ + { 21082, 0x00000020 }, /* GL_MAP_UNSYNCHRONIZED_BIT */ + { 21108, 0x00000002 }, /* GL_MAP_WRITE_BIT */ + { 21125, 0x000088C0 }, /* GL_MATRIX0_ARB */ + { 21140, 0x00008630 }, /* GL_MATRIX0_NV */ + { 21154, 0x000088CA }, /* GL_MATRIX10_ARB */ + { 21170, 0x000088CB }, /* GL_MATRIX11_ARB */ + { 21186, 0x000088CC }, /* GL_MATRIX12_ARB */ + { 21202, 0x000088CD }, /* GL_MATRIX13_ARB */ + { 21218, 0x000088CE }, /* GL_MATRIX14_ARB */ + { 21234, 0x000088CF }, /* GL_MATRIX15_ARB */ + { 21250, 0x000088D0 }, /* GL_MATRIX16_ARB */ + { 21266, 0x000088D1 }, /* GL_MATRIX17_ARB */ + { 21282, 0x000088D2 }, /* GL_MATRIX18_ARB */ + { 21298, 0x000088D3 }, /* GL_MATRIX19_ARB */ + { 21314, 0x000088C1 }, /* GL_MATRIX1_ARB */ + { 21329, 0x00008631 }, /* GL_MATRIX1_NV */ + { 21343, 0x000088D4 }, /* GL_MATRIX20_ARB */ + { 21359, 0x000088D5 }, /* GL_MATRIX21_ARB */ + { 21375, 0x000088D6 }, /* GL_MATRIX22_ARB */ + { 21391, 0x000088D7 }, /* GL_MATRIX23_ARB */ + { 21407, 0x000088D8 }, /* GL_MATRIX24_ARB */ + { 21423, 0x000088D9 }, /* GL_MATRIX25_ARB */ + { 21439, 0x000088DA }, /* GL_MATRIX26_ARB */ + { 21455, 0x000088DB }, /* GL_MATRIX27_ARB */ + { 21471, 0x000088DC }, /* GL_MATRIX28_ARB */ + { 21487, 0x000088DD }, /* GL_MATRIX29_ARB */ + { 21503, 0x000088C2 }, /* GL_MATRIX2_ARB */ + { 21518, 0x00008632 }, /* GL_MATRIX2_NV */ + { 21532, 0x000088DE }, /* GL_MATRIX30_ARB */ + { 21548, 0x000088DF }, /* GL_MATRIX31_ARB */ + { 21564, 0x000088C3 }, /* GL_MATRIX3_ARB */ + { 21579, 0x00008633 }, /* GL_MATRIX3_NV */ + { 21593, 0x000088C4 }, /* GL_MATRIX4_ARB */ + { 21608, 0x00008634 }, /* GL_MATRIX4_NV */ + { 21622, 0x000088C5 }, /* GL_MATRIX5_ARB */ + { 21637, 0x00008635 }, /* GL_MATRIX5_NV */ + { 21651, 0x000088C6 }, /* GL_MATRIX6_ARB */ + { 21666, 0x00008636 }, /* GL_MATRIX6_NV */ + { 21680, 0x000088C7 }, /* GL_MATRIX7_ARB */ + { 21695, 0x00008637 }, /* GL_MATRIX7_NV */ + { 21709, 0x000088C8 }, /* GL_MATRIX8_ARB */ + { 21724, 0x000088C9 }, /* GL_MATRIX9_ARB */ + { 21739, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_ARB */ + { 21765, 0x00008B9E }, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + { 21806, 0x00008844 }, /* GL_MATRIX_INDEX_ARRAY_OES */ + { 21832, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + { 21866, 0x00008849 }, /* GL_MATRIX_INDEX_ARRAY_POINTER_OES */ + { 21900, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + { 21931, 0x00008846 }, /* GL_MATRIX_INDEX_ARRAY_SIZE_OES */ + { 21962, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + { 21995, 0x00008848 }, /* GL_MATRIX_INDEX_ARRAY_STRIDE_OES */ + { 22028, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + { 22059, 0x00008847 }, /* GL_MATRIX_INDEX_ARRAY_TYPE_OES */ + { 22090, 0x00000BA0 }, /* GL_MATRIX_MODE */ + { 22105, 0x00008840 }, /* GL_MATRIX_PALETTE_ARB */ + { 22127, 0x00008840 }, /* GL_MATRIX_PALETTE_OES */ + { 22149, 0x00008008 }, /* GL_MAX */ + { 22156, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE */ + { 22179, 0x00008073 }, /* GL_MAX_3D_TEXTURE_SIZE_OES */ + { 22206, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ + { 22234, 0x000088FF }, /* GL_MAX_ARRAY_TEXTURE_LAYERS_EXT */ + { 22266, 0x00000D35 }, /* GL_MAX_ATTRIB_STACK_DEPTH */ + { 22292, 0x00000D3B }, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + { 22325, 0x00008177 }, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + { 22351, 0x00008178 }, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 22385, 0x00000D32 }, /* GL_MAX_CLIP_DISTANCES */ + { 22407, 0x00000D32 }, /* GL_MAX_CLIP_PLANES */ + { 22426, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS */ + { 22451, 0x00008CDF }, /* GL_MAX_COLOR_ATTACHMENTS_EXT */ + { 22480, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + { 22512, 0x000080B3 }, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH_SGI */ + { 22548, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + { 22584, 0x00008B4D }, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB */ + { 22624, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT */ + { 22650, 0x0000801B }, /* GL_MAX_CONVOLUTION_HEIGHT_EXT */ + { 22680, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH */ + { 22705, 0x0000801A }, /* GL_MAX_CONVOLUTION_WIDTH_EXT */ + { 22734, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + { 22763, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB */ + { 22796, 0x0000851C }, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE_OES */ + { 22829, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS */ + { 22849, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ARB */ + { 22873, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_ATI */ + { 22897, 0x00008824 }, /* GL_MAX_DRAW_BUFFERS_NV */ + { 22920, 0x000080E9 }, /* GL_MAX_ELEMENTS_INDICES */ + { 22944, 0x000080E8 }, /* GL_MAX_ELEMENTS_VERTICES */ + { 22969, 0x00000D30 }, /* GL_MAX_EVAL_ORDER */ + { 22987, 0x00008008 }, /* GL_MAX_EXT */ + { 22998, 0x00009125 }, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ + { 23031, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + { 23066, 0x00008B49 }, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB */ + { 23105, 0x00008DFD }, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + { 23137, 0x00009123 }, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ + { 23170, 0x00009124 }, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ + { 23204, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ + { 23236, 0x00008DE0 }, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB */ + { 23272, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ + { 23308, 0x00008C29 }, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB */ + { 23348, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ + { 23388, 0x00008DE1 }, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB */ + { 23432, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ + { 23467, 0x00008DDF }, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_ARB */ + { 23506, 0x00008DDD }, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + { 23545, 0x00000D31 }, /* GL_MAX_LIGHTS */ + { 23559, 0x00000B31 }, /* GL_MAX_LIST_NESTING */ + { 23579, 0x00008841 }, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + { 23617, 0x00000D36 }, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + { 23646, 0x00000D37 }, /* GL_MAX_NAME_STACK_DEPTH */ + { 23670, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_ARB */ + { 23698, 0x00008842 }, /* GL_MAX_PALETTE_MATRICES_OES */ + { 23726, 0x00000D34 }, /* GL_MAX_PIXEL_MAP_TABLE */ + { 23749, 0x000088B1 }, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 23786, 0x0000880B }, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 23822, 0x000088AD }, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + { 23849, 0x000088F5 }, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + { 23878, 0x000088B5 }, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + { 23912, 0x000088F4 }, /* GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV */ + { 23948, 0x000088F6 }, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + { 23975, 0x000088A1 }, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + { 24007, 0x000088B4 }, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + { 24043, 0x000088F8 }, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + { 24072, 0x000088F7 }, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + { 24101, 0x0000862F }, /* GL_MAX_PROGRAM_MATRICES_ARB */ + { 24129, 0x0000862E }, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + { 24167, 0x000088B3 }, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 24211, 0x0000880E }, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 24254, 0x000088AF }, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 24288, 0x000088A3 }, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 24327, 0x000088AB }, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 24364, 0x000088A7 }, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 24402, 0x00008810 }, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 24445, 0x0000880F }, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 24488, 0x000088A9 }, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + { 24518, 0x000088A5 }, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + { 24549, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ + { 24577, 0x00008905 }, /* GL_MAX_PROGRAM_TEXEL_OFFSET_EXT */ + { 24609, 0x0000880D }, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 24645, 0x0000880C }, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 24681, 0x00000D38 }, /* GL_MAX_PROJECTION_STACK_DEPTH */ + { 24711, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ + { 24741, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_ARB */ + { 24775, 0x000084F8 }, /* GL_MAX_RECTANGLE_TEXTURE_SIZE_NV */ + { 24808, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE */ + { 24833, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_EXT */ + { 24862, 0x000084E8 }, /* GL_MAX_RENDERBUFFER_SIZE_OES */ + { 24891, 0x00008D57 }, /* GL_MAX_SAMPLES */ + { 24906, 0x00008D57 }, /* GL_MAX_SAMPLES_EXT */ + { 24925, 0x00009111 }, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + { 24952, 0x00008504 }, /* GL_MAX_SHININESS_NV */ + { 24972, 0x00008505 }, /* GL_MAX_SPOT_EXPONENT_NV */ + { 24996, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE */ + { 25023, 0x00008C2B }, /* GL_MAX_TEXTURE_BUFFER_SIZE_ARB */ + { 25054, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS */ + { 25076, 0x00008871 }, /* GL_MAX_TEXTURE_COORDS_ARB */ + { 25102, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + { 25129, 0x00008872 }, /* GL_MAX_TEXTURE_IMAGE_UNITS_ARB */ + { 25160, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS */ + { 25184, 0x000084FD }, /* GL_MAX_TEXTURE_LOD_BIAS_EXT */ + { 25212, 0x000084FF }, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + { 25246, 0x00000D33 }, /* GL_MAX_TEXTURE_SIZE */ + { 25266, 0x00000D39 }, /* GL_MAX_TEXTURE_STACK_DEPTH */ + { 25293, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS */ + { 25314, 0x000084E2 }, /* GL_MAX_TEXTURE_UNITS_ARB */ + { 25339, 0x0000862F }, /* GL_MAX_TRACK_MATRICES_NV */ + { 25364, 0x0000862E }, /* GL_MAX_TRACK_MATRIX_STACK_DEPTH_NV */ + { 25399, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ + { 25448, 0x00008C8A }, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS_EXT */ + { 25501, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ + { 25544, 0x00008C8B }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS_EXT */ + { 25591, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ + { 25637, 0x00008C80 }, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS_EXT */ + { 25687, 0x00008B4B }, /* GL_MAX_VARYING_COMPONENTS */ + { 25713, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS */ + { 25735, 0x00008B4B }, /* GL_MAX_VARYING_FLOATS_ARB */ + { 25761, 0x00008DFC }, /* GL_MAX_VARYING_VECTORS */ + { 25784, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS */ + { 25806, 0x00008869 }, /* GL_MAX_VERTEX_ATTRIBS_ARB */ + { 25832, 0x00009122 }, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ + { 25864, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + { 25898, 0x00008B4C }, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB */ + { 25936, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + { 25969, 0x00008B4A }, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB */ + { 26006, 0x00008DFB }, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + { 26036, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_ARB */ + { 26060, 0x000086A4 }, /* GL_MAX_VERTEX_UNITS_OES */ + { 26084, 0x00008DDE }, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + { 26121, 0x00000D3A }, /* GL_MAX_VIEWPORT_DIMS */ + { 26142, 0x00008DF1 }, /* GL_MEDIUM_FLOAT */ + { 26158, 0x00008DF4 }, /* GL_MEDIUM_INT */ + { 26172, 0x00008007 }, /* GL_MIN */ + { 26179, 0x0000802E }, /* GL_MINMAX */ + { 26189, 0x0000802E }, /* GL_MINMAX_EXT */ + { 26203, 0x0000802F }, /* GL_MINMAX_FORMAT */ + { 26220, 0x0000802F }, /* GL_MINMAX_FORMAT_EXT */ + { 26241, 0x00008030 }, /* GL_MINMAX_SINK */ + { 26256, 0x00008030 }, /* GL_MINMAX_SINK_EXT */ + { 26275, 0x0000821C }, /* GL_MINOR_VERSION */ + { 26292, 0x00008007 }, /* GL_MIN_EXT */ + { 26303, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ + { 26331, 0x00008904 }, /* GL_MIN_PROGRAM_TEXEL_OFFSET_EXT */ + { 26363, 0x00008370 }, /* GL_MIRRORED_REPEAT */ + { 26382, 0x00008370 }, /* GL_MIRRORED_REPEAT_ARB */ + { 26405, 0x00008370 }, /* GL_MIRRORED_REPEAT_IBM */ + { 26428, 0x00008742 }, /* GL_MIRROR_CLAMP_ATI */ + { 26448, 0x00008742 }, /* GL_MIRROR_CLAMP_EXT */ + { 26468, 0x00008912 }, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + { 26498, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_ATI */ + { 26526, 0x00008743 }, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + { 26554, 0x00001700 }, /* GL_MODELVIEW */ + { 26567, 0x00001700 }, /* GL_MODELVIEW0_ARB */ + { 26585, 0x0000872A }, /* GL_MODELVIEW10_ARB */ + { 26604, 0x0000872B }, /* GL_MODELVIEW11_ARB */ + { 26623, 0x0000872C }, /* GL_MODELVIEW12_ARB */ + { 26642, 0x0000872D }, /* GL_MODELVIEW13_ARB */ + { 26661, 0x0000872E }, /* GL_MODELVIEW14_ARB */ + { 26680, 0x0000872F }, /* GL_MODELVIEW15_ARB */ + { 26699, 0x00008730 }, /* GL_MODELVIEW16_ARB */ + { 26718, 0x00008731 }, /* GL_MODELVIEW17_ARB */ + { 26737, 0x00008732 }, /* GL_MODELVIEW18_ARB */ + { 26756, 0x00008733 }, /* GL_MODELVIEW19_ARB */ + { 26775, 0x0000850A }, /* GL_MODELVIEW1_ARB */ + { 26793, 0x00008734 }, /* GL_MODELVIEW20_ARB */ + { 26812, 0x00008735 }, /* GL_MODELVIEW21_ARB */ + { 26831, 0x00008736 }, /* GL_MODELVIEW22_ARB */ + { 26850, 0x00008737 }, /* GL_MODELVIEW23_ARB */ + { 26869, 0x00008738 }, /* GL_MODELVIEW24_ARB */ + { 26888, 0x00008739 }, /* GL_MODELVIEW25_ARB */ + { 26907, 0x0000873A }, /* GL_MODELVIEW26_ARB */ + { 26926, 0x0000873B }, /* GL_MODELVIEW27_ARB */ + { 26945, 0x0000873C }, /* GL_MODELVIEW28_ARB */ + { 26964, 0x0000873D }, /* GL_MODELVIEW29_ARB */ + { 26983, 0x00008722 }, /* GL_MODELVIEW2_ARB */ + { 27001, 0x0000873E }, /* GL_MODELVIEW30_ARB */ + { 27020, 0x0000873F }, /* GL_MODELVIEW31_ARB */ + { 27039, 0x00008723 }, /* GL_MODELVIEW3_ARB */ + { 27057, 0x00008724 }, /* GL_MODELVIEW4_ARB */ + { 27075, 0x00008725 }, /* GL_MODELVIEW5_ARB */ + { 27093, 0x00008726 }, /* GL_MODELVIEW6_ARB */ + { 27111, 0x00008727 }, /* GL_MODELVIEW7_ARB */ + { 27129, 0x00008728 }, /* GL_MODELVIEW8_ARB */ + { 27147, 0x00008729 }, /* GL_MODELVIEW9_ARB */ + { 27165, 0x00000BA6 }, /* GL_MODELVIEW_MATRIX */ + { 27185, 0x0000898D }, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 27227, 0x00008629 }, /* GL_MODELVIEW_PROJECTION_NV */ + { 27254, 0x00000BA3 }, /* GL_MODELVIEW_STACK_DEPTH */ + { 27279, 0x00002100 }, /* GL_MODULATE */ + { 27291, 0x00008744 }, /* GL_MODULATE_ADD_ATI */ + { 27311, 0x00008745 }, /* GL_MODULATE_SIGNED_ADD_ATI */ + { 27338, 0x00008746 }, /* GL_MODULATE_SUBTRACT_ATI */ + { 27363, 0x00000103 }, /* GL_MULT */ + { 27371, 0x0000809D }, /* GL_MULTISAMPLE */ + { 27386, 0x000086B2 }, /* GL_MULTISAMPLE_3DFX */ + { 27406, 0x0000809D }, /* GL_MULTISAMPLE_ARB */ + { 27425, 0x20000000 }, /* GL_MULTISAMPLE_BIT */ + { 27444, 0x20000000 }, /* GL_MULTISAMPLE_BIT_3DFX */ + { 27468, 0x20000000 }, /* GL_MULTISAMPLE_BIT_ARB */ + { 27491, 0x00008534 }, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + { 27521, 0x00002A25 }, /* GL_N3F_V3F */ + { 27532, 0x00000D70 }, /* GL_NAME_STACK_DEPTH */ + { 27552, 0x0000150E }, /* GL_NAND */ + { 27560, 0x00002600 }, /* GL_NEAREST */ + { 27571, 0x0000844E }, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + { 27602, 0x0000844D }, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + { 27634, 0x00002702 }, /* GL_NEAREST_MIPMAP_LINEAR */ + { 27659, 0x00002700 }, /* GL_NEAREST_MIPMAP_NEAREST */ + { 27685, 0x00000200 }, /* GL_NEVER */ + { 27694, 0x00001102 }, /* GL_NICEST */ + { 27704, 0x00000000 }, /* GL_NONE */ + { 27712, 0x00000000 }, /* GL_NONE_OES */ + { 27724, 0x00001505 }, /* GL_NOOP */ + { 27732, 0x00001508 }, /* GL_NOR */ + { 27739, 0x00000BA1 }, /* GL_NORMALIZE */ + { 27752, 0x00008075 }, /* GL_NORMAL_ARRAY */ + { 27768, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + { 27799, 0x00008897 }, /* GL_NORMAL_ARRAY_BUFFER_BINDING_ARB */ + { 27834, 0x0000808F }, /* GL_NORMAL_ARRAY_POINTER */ + { 27858, 0x0000807F }, /* GL_NORMAL_ARRAY_STRIDE */ + { 27881, 0x0000807E }, /* GL_NORMAL_ARRAY_TYPE */ + { 27902, 0x00008511 }, /* GL_NORMAL_MAP */ + { 27916, 0x00008511 }, /* GL_NORMAL_MAP_ARB */ + { 27934, 0x00008511 }, /* GL_NORMAL_MAP_NV */ + { 27951, 0x00008511 }, /* GL_NORMAL_MAP_OES */ + { 27969, 0x00000205 }, /* GL_NOTEQUAL */ + { 27981, 0x00000000 }, /* GL_NO_ERROR */ + { 27993, 0x00008261 }, /* GL_NO_RESET_NOTIFICATION_ARB */ + { 28022, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + { 28056, 0x000086A2 }, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS_ARB */ + { 28094, 0x0000821D }, /* GL_NUM_EXTENSIONS */ + { 28112, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS */ + { 28142, 0x000087FE }, /* GL_NUM_PROGRAM_BINARY_FORMATS_OES */ + { 28176, 0x00008DF9 }, /* GL_NUM_SHADER_BINARY_FORMATS */ + { 28205, 0x00008B89 }, /* GL_OBJECT_ACTIVE_ATTRIBUTES_ARB */ + { 28237, 0x00008B8A }, /* GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB */ + { 28279, 0x00008B86 }, /* GL_OBJECT_ACTIVE_UNIFORMS_ARB */ + { 28309, 0x00008B87 }, /* GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB */ + { 28349, 0x00008B85 }, /* GL_OBJECT_ATTACHED_OBJECTS_ARB */ + { 28380, 0x00008B81 }, /* GL_OBJECT_COMPILE_STATUS_ARB */ + { 28409, 0x00008B80 }, /* GL_OBJECT_DELETE_STATUS_ARB */ + { 28437, 0x00008B84 }, /* GL_OBJECT_INFO_LOG_LENGTH_ARB */ + { 28467, 0x00002401 }, /* GL_OBJECT_LINEAR */ + { 28484, 0x00008B82 }, /* GL_OBJECT_LINK_STATUS_ARB */ + { 28510, 0x00002501 }, /* GL_OBJECT_PLANE */ + { 28526, 0x00008B88 }, /* GL_OBJECT_SHADER_SOURCE_LENGTH_ARB */ + { 28561, 0x00008B4F }, /* GL_OBJECT_SUBTYPE_ARB */ + { 28583, 0x00009112 }, /* GL_OBJECT_TYPE */ + { 28598, 0x00008B4E }, /* GL_OBJECT_TYPE_ARB */ + { 28617, 0x00008B83 }, /* GL_OBJECT_VALIDATE_STATUS_ARB */ + { 28647, 0x00008165 }, /* GL_OCCLUSION_TEST_HP */ + { 28668, 0x00008166 }, /* GL_OCCLUSION_TEST_RESULT_HP */ + { 28696, 0x00000001 }, /* GL_ONE */ + { 28703, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + { 28731, 0x00008004 }, /* GL_ONE_MINUS_CONSTANT_ALPHA_EXT */ + { 28763, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR */ + { 28791, 0x00008002 }, /* GL_ONE_MINUS_CONSTANT_COLOR_EXT */ + { 28823, 0x00000305 }, /* GL_ONE_MINUS_DST_ALPHA */ + { 28846, 0x00000307 }, /* GL_ONE_MINUS_DST_COLOR */ + { 28869, 0x00000303 }, /* GL_ONE_MINUS_SRC_ALPHA */ + { 28892, 0x00000301 }, /* GL_ONE_MINUS_SRC_COLOR */ + { 28915, 0x00008598 }, /* GL_OPERAND0_ALPHA */ + { 28933, 0x00008598 }, /* GL_OPERAND0_ALPHA_ARB */ + { 28955, 0x00008598 }, /* GL_OPERAND0_ALPHA_EXT */ + { 28977, 0x00008590 }, /* GL_OPERAND0_RGB */ + { 28993, 0x00008590 }, /* GL_OPERAND0_RGB_ARB */ + { 29013, 0x00008590 }, /* GL_OPERAND0_RGB_EXT */ + { 29033, 0x00008599 }, /* GL_OPERAND1_ALPHA */ + { 29051, 0x00008599 }, /* GL_OPERAND1_ALPHA_ARB */ + { 29073, 0x00008599 }, /* GL_OPERAND1_ALPHA_EXT */ + { 29095, 0x00008591 }, /* GL_OPERAND1_RGB */ + { 29111, 0x00008591 }, /* GL_OPERAND1_RGB_ARB */ + { 29131, 0x00008591 }, /* GL_OPERAND1_RGB_EXT */ + { 29151, 0x0000859A }, /* GL_OPERAND2_ALPHA */ + { 29169, 0x0000859A }, /* GL_OPERAND2_ALPHA_ARB */ + { 29191, 0x0000859A }, /* GL_OPERAND2_ALPHA_EXT */ + { 29213, 0x00008592 }, /* GL_OPERAND2_RGB */ + { 29229, 0x00008592 }, /* GL_OPERAND2_RGB_ARB */ + { 29249, 0x00008592 }, /* GL_OPERAND2_RGB_EXT */ + { 29269, 0x0000859B }, /* GL_OPERAND3_ALPHA_NV */ + { 29290, 0x00008593 }, /* GL_OPERAND3_RGB_NV */ + { 29309, 0x00001507 }, /* GL_OR */ + { 29315, 0x00000A01 }, /* GL_ORDER */ + { 29324, 0x0000150D }, /* GL_OR_INVERTED */ + { 29339, 0x0000150B }, /* GL_OR_REVERSE */ + { 29353, 0x00000505 }, /* GL_OUT_OF_MEMORY */ + { 29370, 0x00000D05 }, /* GL_PACK_ALIGNMENT */ + { 29388, 0x0000806C }, /* GL_PACK_IMAGE_HEIGHT */ + { 29409, 0x00008758 }, /* GL_PACK_INVERT_MESA */ + { 29429, 0x00000D01 }, /* GL_PACK_LSB_FIRST */ + { 29447, 0x00000D02 }, /* GL_PACK_ROW_LENGTH */ + { 29466, 0x0000806B }, /* GL_PACK_SKIP_IMAGES */ + { 29486, 0x00000D04 }, /* GL_PACK_SKIP_PIXELS */ + { 29506, 0x00000D03 }, /* GL_PACK_SKIP_ROWS */ + { 29524, 0x00000D00 }, /* GL_PACK_SWAP_BYTES */ + { 29543, 0x00008B92 }, /* GL_PALETTE4_R5_G6_B5_OES */ + { 29568, 0x00008B94 }, /* GL_PALETTE4_RGB5_A1_OES */ + { 29592, 0x00008B90 }, /* GL_PALETTE4_RGB8_OES */ + { 29613, 0x00008B93 }, /* GL_PALETTE4_RGBA4_OES */ + { 29635, 0x00008B91 }, /* GL_PALETTE4_RGBA8_OES */ + { 29657, 0x00008B97 }, /* GL_PALETTE8_R5_G6_B5_OES */ + { 29682, 0x00008B99 }, /* GL_PALETTE8_RGB5_A1_OES */ + { 29706, 0x00008B95 }, /* GL_PALETTE8_RGB8_OES */ + { 29727, 0x00008B98 }, /* GL_PALETTE8_RGBA4_OES */ + { 29749, 0x00008B96 }, /* GL_PALETTE8_RGBA8_OES */ + { 29771, 0x00000700 }, /* GL_PASS_THROUGH_TOKEN */ + { 29793, 0x00000C50 }, /* GL_PERSPECTIVE_CORRECTION_HINT */ + { 29824, 0x00000C79 }, /* GL_PIXEL_MAP_A_TO_A */ + { 29844, 0x00000CB9 }, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + { 29869, 0x00000C78 }, /* GL_PIXEL_MAP_B_TO_B */ + { 29889, 0x00000CB8 }, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + { 29914, 0x00000C77 }, /* GL_PIXEL_MAP_G_TO_G */ + { 29934, 0x00000CB7 }, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + { 29959, 0x00000C75 }, /* GL_PIXEL_MAP_I_TO_A */ + { 29979, 0x00000CB5 }, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + { 30004, 0x00000C74 }, /* GL_PIXEL_MAP_I_TO_B */ + { 30024, 0x00000CB4 }, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + { 30049, 0x00000C73 }, /* GL_PIXEL_MAP_I_TO_G */ + { 30069, 0x00000CB3 }, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + { 30094, 0x00000C70 }, /* GL_PIXEL_MAP_I_TO_I */ + { 30114, 0x00000CB0 }, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + { 30139, 0x00000C72 }, /* GL_PIXEL_MAP_I_TO_R */ + { 30159, 0x00000CB2 }, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + { 30184, 0x00000C76 }, /* GL_PIXEL_MAP_R_TO_R */ + { 30204, 0x00000CB6 }, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + { 30229, 0x00000C71 }, /* GL_PIXEL_MAP_S_TO_S */ + { 30249, 0x00000CB1 }, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + { 30274, 0x00000020 }, /* GL_PIXEL_MODE_BIT */ + { 30292, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER */ + { 30313, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING */ + { 30342, 0x000088ED }, /* GL_PIXEL_PACK_BUFFER_BINDING_EXT */ + { 30375, 0x000088EB }, /* GL_PIXEL_PACK_BUFFER_EXT */ + { 30400, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER */ + { 30423, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + { 30454, 0x000088EF }, /* GL_PIXEL_UNPACK_BUFFER_BINDING_EXT */ + { 30489, 0x000088EC }, /* GL_PIXEL_UNPACK_BUFFER_EXT */ + { 30516, 0x00001B00 }, /* GL_POINT */ + { 30525, 0x00000000 }, /* GL_POINTS */ + { 30535, 0x00000002 }, /* GL_POINT_BIT */ + { 30548, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION */ + { 30578, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_ARB */ + { 30612, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_EXT */ + { 30646, 0x00008129 }, /* GL_POINT_DISTANCE_ATTENUATION_SGIS */ + { 30681, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE */ + { 30710, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_ARB */ + { 30743, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_EXT */ + { 30776, 0x00008128 }, /* GL_POINT_FADE_THRESHOLD_SIZE_SGIS */ + { 30810, 0x00000B11 }, /* GL_POINT_SIZE */ + { 30824, 0x00008B9F }, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + { 30863, 0x00008B9C }, /* GL_POINT_SIZE_ARRAY_OES */ + { 30887, 0x0000898C }, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + { 30919, 0x0000898B }, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + { 30950, 0x0000898A }, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + { 30979, 0x00000B13 }, /* GL_POINT_SIZE_GRANULARITY */ + { 31005, 0x00008127 }, /* GL_POINT_SIZE_MAX */ + { 31023, 0x00008127 }, /* GL_POINT_SIZE_MAX_ARB */ + { 31045, 0x00008127 }, /* GL_POINT_SIZE_MAX_EXT */ + { 31067, 0x00008127 }, /* GL_POINT_SIZE_MAX_SGIS */ + { 31090, 0x00008126 }, /* GL_POINT_SIZE_MIN */ + { 31108, 0x00008126 }, /* GL_POINT_SIZE_MIN_ARB */ + { 31130, 0x00008126 }, /* GL_POINT_SIZE_MIN_EXT */ + { 31152, 0x00008126 }, /* GL_POINT_SIZE_MIN_SGIS */ + { 31175, 0x00000B12 }, /* GL_POINT_SIZE_RANGE */ + { 31195, 0x00000B10 }, /* GL_POINT_SMOOTH */ + { 31211, 0x00000C51 }, /* GL_POINT_SMOOTH_HINT */ + { 31232, 0x00008861 }, /* GL_POINT_SPRITE */ + { 31248, 0x00008861 }, /* GL_POINT_SPRITE_ARB */ + { 31268, 0x00008CA0 }, /* GL_POINT_SPRITE_COORD_ORIGIN */ + { 31297, 0x00008861 }, /* GL_POINT_SPRITE_NV */ + { 31316, 0x00008861 }, /* GL_POINT_SPRITE_OES */ + { 31336, 0x00008863 }, /* GL_POINT_SPRITE_R_MODE_NV */ + { 31362, 0x00000701 }, /* GL_POINT_TOKEN */ + { 31377, 0x00000009 }, /* GL_POLYGON */ + { 31388, 0x00000008 }, /* GL_POLYGON_BIT */ + { 31403, 0x00000B40 }, /* GL_POLYGON_MODE */ + { 31419, 0x00008039 }, /* GL_POLYGON_OFFSET_BIAS */ + { 31442, 0x00008038 }, /* GL_POLYGON_OFFSET_FACTOR */ + { 31467, 0x00008037 }, /* GL_POLYGON_OFFSET_FILL */ + { 31490, 0x00002A02 }, /* GL_POLYGON_OFFSET_LINE */ + { 31513, 0x00002A01 }, /* GL_POLYGON_OFFSET_POINT */ + { 31537, 0x00002A00 }, /* GL_POLYGON_OFFSET_UNITS */ + { 31561, 0x00000B41 }, /* GL_POLYGON_SMOOTH */ + { 31579, 0x00000C53 }, /* GL_POLYGON_SMOOTH_HINT */ + { 31602, 0x00000B42 }, /* GL_POLYGON_STIPPLE */ + { 31621, 0x00000010 }, /* GL_POLYGON_STIPPLE_BIT */ + { 31644, 0x00000703 }, /* GL_POLYGON_TOKEN */ + { 31661, 0x00001203 }, /* GL_POSITION */ + { 31673, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + { 31705, 0x000080BB }, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS_SGI */ + { 31741, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + { 31774, 0x000080B7 }, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE_SGI */ + { 31811, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + { 31842, 0x000080BA }, /* GL_POST_COLOR_MATRIX_BLUE_BIAS_SGI */ + { 31877, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + { 31909, 0x000080B6 }, /* GL_POST_COLOR_MATRIX_BLUE_SCALE_SGI */ + { 31945, 0x000080D2 }, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + { 31978, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + { 32010, 0x000080B9 }, /* GL_POST_COLOR_MATRIX_GREEN_BIAS_SGI */ + { 32046, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + { 32079, 0x000080B5 }, /* GL_POST_COLOR_MATRIX_GREEN_SCALE_SGI */ + { 32116, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + { 32146, 0x000080B8 }, /* GL_POST_COLOR_MATRIX_RED_BIAS_SGI */ + { 32180, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + { 32211, 0x000080B4 }, /* GL_POST_COLOR_MATRIX_RED_SCALE_SGI */ + { 32246, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + { 32277, 0x00008023 }, /* GL_POST_CONVOLUTION_ALPHA_BIAS_EXT */ + { 32312, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + { 32344, 0x0000801F }, /* GL_POST_CONVOLUTION_ALPHA_SCALE_EXT */ + { 32380, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + { 32410, 0x00008022 }, /* GL_POST_CONVOLUTION_BLUE_BIAS_EXT */ + { 32444, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + { 32475, 0x0000801E }, /* GL_POST_CONVOLUTION_BLUE_SCALE_EXT */ + { 32510, 0x000080D1 }, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + { 32542, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + { 32573, 0x00008021 }, /* GL_POST_CONVOLUTION_GREEN_BIAS_EXT */ + { 32608, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + { 32640, 0x0000801D }, /* GL_POST_CONVOLUTION_GREEN_SCALE_EXT */ + { 32676, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS */ + { 32705, 0x00008020 }, /* GL_POST_CONVOLUTION_RED_BIAS_EXT */ + { 32738, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE */ + { 32768, 0x0000801C }, /* GL_POST_CONVOLUTION_RED_SCALE_EXT */ + { 32802, 0x0000817B }, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + { 32841, 0x00008179 }, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + { 32874, 0x0000817C }, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + { 32914, 0x0000817A }, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + { 32948, 0x00008578 }, /* GL_PREVIOUS */ + { 32960, 0x00008578 }, /* GL_PREVIOUS_ARB */ + { 32976, 0x00008578 }, /* GL_PREVIOUS_EXT */ + { 32992, 0x00008577 }, /* GL_PRIMARY_COLOR */ + { 33009, 0x00008577 }, /* GL_PRIMARY_COLOR_ARB */ + { 33030, 0x00008577 }, /* GL_PRIMARY_COLOR_EXT */ + { 33051, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED */ + { 33075, 0x00008C87 }, /* GL_PRIMITIVES_GENERATED_EXT */ + { 33103, 0x00008F9D }, /* GL_PRIMITIVE_RESTART */ + { 33124, 0x00008F9E }, /* GL_PRIMITIVE_RESTART_INDEX */ + { 33151, 0x00008559 }, /* GL_PRIMITIVE_RESTART_INDEX_NV */ + { 33181, 0x00008558 }, /* GL_PRIMITIVE_RESTART_NV */ + { 33205, 0x000088B0 }, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + { 33238, 0x00008805 }, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + { 33270, 0x000088AC }, /* GL_PROGRAM_ATTRIBS_ARB */ + { 33293, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS */ + { 33319, 0x000087FF }, /* GL_PROGRAM_BINARY_FORMATS_OES */ + { 33349, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH */ + { 33374, 0x00008741 }, /* GL_PROGRAM_BINARY_LENGTH_OES */ + { 33403, 0x00008257 }, /* GL_PROGRAM_BINARY_RETRIEVABLE_HINT */ + { 33438, 0x00008677 }, /* GL_PROGRAM_BINDING_ARB */ + { 33461, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_ARB */ + { 33491, 0x0000864B }, /* GL_PROGRAM_ERROR_POSITION_NV */ + { 33520, 0x00008874 }, /* GL_PROGRAM_ERROR_STRING_ARB */ + { 33548, 0x00008876 }, /* GL_PROGRAM_FORMAT_ARB */ + { 33570, 0x00008875 }, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + { 33598, 0x000088A0 }, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + { 33626, 0x00008627 }, /* GL_PROGRAM_LENGTH_ARB */ + { 33648, 0x00008627 }, /* GL_PROGRAM_LENGTH_NV */ + { 33669, 0x000088B2 }, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + { 33709, 0x00008808 }, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + { 33748, 0x000088AE }, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + { 33778, 0x000088A2 }, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + { 33813, 0x000088AA }, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + { 33846, 0x000088A6 }, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + { 33880, 0x0000880A }, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + { 33919, 0x00008809 }, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + { 33958, 0x00008B40 }, /* GL_PROGRAM_OBJECT_ARB */ + { 33980, 0x000088A8 }, /* GL_PROGRAM_PARAMETERS_ARB */ + { 34006, 0x00008644 }, /* GL_PROGRAM_PARAMETER_NV */ + { 34030, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE */ + { 34052, 0x00008642 }, /* GL_PROGRAM_POINT_SIZE_ARB */ + { 34078, 0x00008647 }, /* GL_PROGRAM_RESIDENT_NV */ + { 34101, 0x00008628 }, /* GL_PROGRAM_STRING_ARB */ + { 34123, 0x00008628 }, /* GL_PROGRAM_STRING_NV */ + { 34144, 0x00008646 }, /* GL_PROGRAM_TARGET_NV */ + { 34165, 0x000088A4 }, /* GL_PROGRAM_TEMPORARIES_ARB */ + { 34192, 0x00008807 }, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + { 34224, 0x00008806 }, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + { 34256, 0x000088B6 }, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + { 34291, 0x00001701 }, /* GL_PROJECTION */ + { 34305, 0x00000BA7 }, /* GL_PROJECTION_MATRIX */ + { 34326, 0x0000898E }, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 34369, 0x00000BA4 }, /* GL_PROJECTION_STACK_DEPTH */ + { 34395, 0x00008E4F }, /* GL_PROVOKING_VERTEX */ + { 34415, 0x00008E4F }, /* GL_PROVOKING_VERTEX_EXT */ + { 34439, 0x000080D3 }, /* GL_PROXY_COLOR_TABLE */ + { 34460, 0x00008025 }, /* GL_PROXY_HISTOGRAM */ + { 34479, 0x00008025 }, /* GL_PROXY_HISTOGRAM_EXT */ + { 34502, 0x000080D5 }, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + { 34541, 0x000080D4 }, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + { 34579, 0x00008063 }, /* GL_PROXY_TEXTURE_1D */ + { 34599, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY */ + { 34625, 0x00008C19 }, /* GL_PROXY_TEXTURE_1D_ARRAY_EXT */ + { 34655, 0x00008063 }, /* GL_PROXY_TEXTURE_1D_EXT */ + { 34679, 0x00008064 }, /* GL_PROXY_TEXTURE_2D */ + { 34699, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY */ + { 34725, 0x00008C1B }, /* GL_PROXY_TEXTURE_2D_ARRAY_EXT */ + { 34755, 0x00008064 }, /* GL_PROXY_TEXTURE_2D_EXT */ + { 34779, 0x00008070 }, /* GL_PROXY_TEXTURE_3D */ + { 34799, 0x000080BD }, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + { 34832, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP */ + { 34858, 0x0000851B }, /* GL_PROXY_TEXTURE_CUBE_MAP_ARB */ + { 34888, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE */ + { 34915, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_ARB */ + { 34946, 0x000084F7 }, /* GL_PROXY_TEXTURE_RECTANGLE_NV */ + { 34976, 0x00008A1D }, /* GL_PURGEABLE_APPLE */ + { 34995, 0x00002003 }, /* GL_Q */ + { 35000, 0x00001209 }, /* GL_QUADRATIC_ATTENUATION */ + { 35025, 0x00000007 }, /* GL_QUADS */ + { 35034, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + { 35078, 0x00008E4C }, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT */ + { 35126, 0x00008614 }, /* GL_QUAD_MESH_SUN */ + { 35143, 0x00000008 }, /* GL_QUAD_STRIP */ + { 35157, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT */ + { 35184, 0x00008E16 }, /* GL_QUERY_BY_REGION_NO_WAIT_NV */ + { 35214, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT */ + { 35238, 0x00008E15 }, /* GL_QUERY_BY_REGION_WAIT_NV */ + { 35265, 0x00008864 }, /* GL_QUERY_COUNTER_BITS */ + { 35287, 0x00008864 }, /* GL_QUERY_COUNTER_BITS_ARB */ + { 35313, 0x00008E14 }, /* GL_QUERY_NO_WAIT */ + { 35330, 0x00008E14 }, /* GL_QUERY_NO_WAIT_NV */ + { 35350, 0x00008866 }, /* GL_QUERY_RESULT */ + { 35366, 0x00008866 }, /* GL_QUERY_RESULT_ARB */ + { 35386, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE */ + { 35412, 0x00008867 }, /* GL_QUERY_RESULT_AVAILABLE_ARB */ + { 35442, 0x00008E13 }, /* GL_QUERY_WAIT */ + { 35456, 0x00008E13 }, /* GL_QUERY_WAIT_NV */ + { 35473, 0x00002002 }, /* GL_R */ + { 35478, 0x00008C3A }, /* GL_R11F_G11F_B10F */ + { 35496, 0x00008F98 }, /* GL_R16_SNORM */ + { 35509, 0x00002A10 }, /* GL_R3_G3_B2 */ + { 35521, 0x00008F94 }, /* GL_R8_SNORM */ + { 35533, 0x00008C89 }, /* GL_RASTERIZER_DISCARD */ + { 35555, 0x00008C89 }, /* GL_RASTERIZER_DISCARD_EXT */ + { 35581, 0x00019262 }, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + { 35614, 0x00000C02 }, /* GL_READ_BUFFER */ + { 35629, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER */ + { 35649, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING */ + { 35677, 0x00008CAA }, /* GL_READ_FRAMEBUFFER_BINDING_EXT */ + { 35709, 0x00008CA8 }, /* GL_READ_FRAMEBUFFER_EXT */ + { 35733, 0x000088B8 }, /* GL_READ_ONLY */ + { 35746, 0x000088B8 }, /* GL_READ_ONLY_ARB */ + { 35763, 0x000088BA }, /* GL_READ_WRITE */ + { 35777, 0x000088BA }, /* GL_READ_WRITE_ARB */ + { 35795, 0x00001903 }, /* GL_RED */ + { 35802, 0x00008016 }, /* GL_REDUCE */ + { 35812, 0x00008016 }, /* GL_REDUCE_EXT */ + { 35826, 0x00000D15 }, /* GL_RED_BIAS */ + { 35838, 0x00000D52 }, /* GL_RED_BITS */ + { 35850, 0x00008D94 }, /* GL_RED_INTEGER */ + { 35865, 0x00008D94 }, /* GL_RED_INTEGER_EXT */ + { 35884, 0x00000D14 }, /* GL_RED_SCALE */ + { 35897, 0x00008F90 }, /* GL_RED_SNORM */ + { 35910, 0x00008512 }, /* GL_REFLECTION_MAP */ + { 35928, 0x00008512 }, /* GL_REFLECTION_MAP_ARB */ + { 35950, 0x00008512 }, /* GL_REFLECTION_MAP_NV */ + { 35971, 0x00008512 }, /* GL_REFLECTION_MAP_OES */ + { 35993, 0x00008A19 }, /* GL_RELEASED_APPLE */ + { 36011, 0x00001C00 }, /* GL_RENDER */ + { 36021, 0x00008D41 }, /* GL_RENDERBUFFER */ + { 36037, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE */ + { 36064, 0x00008D53 }, /* GL_RENDERBUFFER_ALPHA_SIZE_OES */ + { 36095, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING */ + { 36119, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_EXT */ + { 36147, 0x00008CA7 }, /* GL_RENDERBUFFER_BINDING_OES */ + { 36175, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE */ + { 36201, 0x00008D52 }, /* GL_RENDERBUFFER_BLUE_SIZE_OES */ + { 36231, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE */ + { 36258, 0x00008D54 }, /* GL_RENDERBUFFER_DEPTH_SIZE_OES */ + { 36289, 0x00008D41 }, /* GL_RENDERBUFFER_EXT */ + { 36309, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE */ + { 36336, 0x00008D51 }, /* GL_RENDERBUFFER_GREEN_SIZE_OES */ + { 36367, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT */ + { 36390, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_EXT */ + { 36417, 0x00008D43 }, /* GL_RENDERBUFFER_HEIGHT_OES */ + { 36444, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + { 36476, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_EXT */ + { 36512, 0x00008D44 }, /* GL_RENDERBUFFER_INTERNAL_FORMAT_OES */ + { 36548, 0x00008D41 }, /* GL_RENDERBUFFER_OES */ + { 36568, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE */ + { 36593, 0x00008D50 }, /* GL_RENDERBUFFER_RED_SIZE_OES */ + { 36622, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES */ + { 36646, 0x00008CAB }, /* GL_RENDERBUFFER_SAMPLES_EXT */ + { 36674, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE */ + { 36703, 0x00008D55 }, /* GL_RENDERBUFFER_STENCIL_SIZE_OES */ + { 36736, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH */ + { 36758, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_EXT */ + { 36784, 0x00008D42 }, /* GL_RENDERBUFFER_WIDTH_OES */ + { 36810, 0x00001F01 }, /* GL_RENDERER */ + { 36822, 0x00000C40 }, /* GL_RENDER_MODE */ + { 36837, 0x00002901 }, /* GL_REPEAT */ + { 36847, 0x00001E01 }, /* GL_REPLACE */ + { 36858, 0x00008062 }, /* GL_REPLACE_EXT */ + { 36873, 0x00008153 }, /* GL_REPLICATE_BORDER_HP */ + { 36896, 0x00008D68 }, /* GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES */ + { 36932, 0x0000803A }, /* GL_RESCALE_NORMAL */ + { 36950, 0x0000803A }, /* GL_RESCALE_NORMAL_EXT */ + { 36972, 0x00008256 }, /* GL_RESET_NOTIFICATION_STRATEGY_ARB */ + { 37007, 0x00008A1B }, /* GL_RETAINED_APPLE */ + { 37025, 0x00000102 }, /* GL_RETURN */ + { 37035, 0x00008F99 }, /* GL_RG16_SNORM */ + { 37049, 0x00008F95 }, /* GL_RG8_SNORM */ + { 37062, 0x00001907 }, /* GL_RGB */ + { 37069, 0x00008052 }, /* GL_RGB10 */ + { 37078, 0x00008059 }, /* GL_RGB10_A2 */ + { 37090, 0x00008059 }, /* GL_RGB10_A2_EXT */ + { 37106, 0x00008052 }, /* GL_RGB10_EXT */ + { 37119, 0x00008053 }, /* GL_RGB12 */ + { 37128, 0x00008053 }, /* GL_RGB12_EXT */ + { 37141, 0x00008054 }, /* GL_RGB16 */ + { 37150, 0x0000881B }, /* GL_RGB16F */ + { 37160, 0x00008D89 }, /* GL_RGB16I */ + { 37170, 0x00008D89 }, /* GL_RGB16I_EXT */ + { 37184, 0x00008D77 }, /* GL_RGB16UI */ + { 37195, 0x00008D77 }, /* GL_RGB16UI_EXT */ + { 37210, 0x00008054 }, /* GL_RGB16_EXT */ + { 37223, 0x00008F9A }, /* GL_RGB16_SNORM */ + { 37238, 0x0000804E }, /* GL_RGB2_EXT */ + { 37250, 0x00008815 }, /* GL_RGB32F */ + { 37260, 0x00008D83 }, /* GL_RGB32I */ + { 37270, 0x00008D83 }, /* GL_RGB32I_EXT */ + { 37284, 0x00008D71 }, /* GL_RGB32UI */ + { 37295, 0x00008D71 }, /* GL_RGB32UI_EXT */ + { 37310, 0x0000804F }, /* GL_RGB4 */ + { 37318, 0x0000804F }, /* GL_RGB4_EXT */ + { 37330, 0x000083A1 }, /* GL_RGB4_S3TC */ + { 37343, 0x00008050 }, /* GL_RGB5 */ + { 37351, 0x00008D62 }, /* GL_RGB565 */ + { 37361, 0x00008D62 }, /* GL_RGB565_OES */ + { 37375, 0x00008057 }, /* GL_RGB5_A1 */ + { 37386, 0x00008057 }, /* GL_RGB5_A1_EXT */ + { 37401, 0x00008057 }, /* GL_RGB5_A1_OES */ + { 37416, 0x00008050 }, /* GL_RGB5_EXT */ + { 37428, 0x00008051 }, /* GL_RGB8 */ + { 37436, 0x00008D8F }, /* GL_RGB8I */ + { 37445, 0x00008D8F }, /* GL_RGB8I_EXT */ + { 37458, 0x00008D7D }, /* GL_RGB8UI */ + { 37468, 0x00008D7D }, /* GL_RGB8UI_EXT */ + { 37482, 0x00008051 }, /* GL_RGB8_EXT */ + { 37494, 0x00008051 }, /* GL_RGB8_OES */ + { 37506, 0x00008F96 }, /* GL_RGB8_SNORM */ + { 37520, 0x00008C3D }, /* GL_RGB9_E5 */ + { 37531, 0x00001908 }, /* GL_RGBA */ + { 37539, 0x0000805A }, /* GL_RGBA12 */ + { 37549, 0x0000805A }, /* GL_RGBA12_EXT */ + { 37563, 0x0000805B }, /* GL_RGBA16 */ + { 37573, 0x0000881A }, /* GL_RGBA16F */ + { 37584, 0x00008D88 }, /* GL_RGBA16I */ + { 37595, 0x00008D88 }, /* GL_RGBA16I_EXT */ + { 37610, 0x00008D76 }, /* GL_RGBA16UI */ + { 37622, 0x00008D76 }, /* GL_RGBA16UI_EXT */ + { 37638, 0x0000805B }, /* GL_RGBA16_EXT */ + { 37652, 0x00008F9B }, /* GL_RGBA16_SNORM */ + { 37668, 0x00008055 }, /* GL_RGBA2 */ + { 37677, 0x00008055 }, /* GL_RGBA2_EXT */ + { 37690, 0x00008814 }, /* GL_RGBA32F */ + { 37701, 0x00008D82 }, /* GL_RGBA32I */ + { 37712, 0x00008D82 }, /* GL_RGBA32I_EXT */ + { 37727, 0x00008D70 }, /* GL_RGBA32UI */ + { 37739, 0x00008D70 }, /* GL_RGBA32UI_EXT */ + { 37755, 0x00008056 }, /* GL_RGBA4 */ + { 37764, 0x000083A5 }, /* GL_RGBA4_DXT5_S3TC */ + { 37783, 0x00008056 }, /* GL_RGBA4_EXT */ + { 37796, 0x00008056 }, /* GL_RGBA4_OES */ + { 37809, 0x000083A3 }, /* GL_RGBA4_S3TC */ + { 37823, 0x00008058 }, /* GL_RGBA8 */ + { 37832, 0x00008D8E }, /* GL_RGBA8I */ + { 37842, 0x00008D8E }, /* GL_RGBA8I_EXT */ + { 37856, 0x00008D7C }, /* GL_RGBA8UI */ + { 37867, 0x00008D7C }, /* GL_RGBA8UI_EXT */ + { 37882, 0x00008058 }, /* GL_RGBA8_EXT */ + { 37895, 0x00008058 }, /* GL_RGBA8_OES */ + { 37908, 0x00008F97 }, /* GL_RGBA8_SNORM */ + { 37923, 0x000083A4 }, /* GL_RGBA_DXT5_S3TC */ + { 37941, 0x00008820 }, /* GL_RGBA_FLOAT_MODE_ARB */ + { 37964, 0x00008D99 }, /* GL_RGBA_INTEGER */ + { 37980, 0x00008D99 }, /* GL_RGBA_INTEGER_EXT */ + { 38000, 0x00008D9E }, /* GL_RGBA_INTEGER_MODE_EXT */ + { 38025, 0x00000C31 }, /* GL_RGBA_MODE */ + { 38038, 0x000083A2 }, /* GL_RGBA_S3TC */ + { 38051, 0x00008F93 }, /* GL_RGBA_SNORM */ + { 38065, 0x00008D98 }, /* GL_RGB_INTEGER */ + { 38080, 0x00008D98 }, /* GL_RGB_INTEGER_EXT */ + { 38099, 0x000083A0 }, /* GL_RGB_S3TC */ + { 38111, 0x00008573 }, /* GL_RGB_SCALE */ + { 38124, 0x00008573 }, /* GL_RGB_SCALE_ARB */ + { 38141, 0x00008573 }, /* GL_RGB_SCALE_EXT */ + { 38158, 0x00008F92 }, /* GL_RGB_SNORM */ + { 38171, 0x00008F91 }, /* GL_RG_SNORM */ + { 38183, 0x00000407 }, /* GL_RIGHT */ + { 38192, 0x00002000 }, /* GL_S */ + { 38197, 0x00008B5D }, /* GL_SAMPLER_1D */ + { 38211, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY */ + { 38231, 0x00008DC0 }, /* GL_SAMPLER_1D_ARRAY_EXT */ + { 38255, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW */ + { 38282, 0x00008DC3 }, /* GL_SAMPLER_1D_ARRAY_SHADOW_EXT */ + { 38313, 0x00008B61 }, /* GL_SAMPLER_1D_SHADOW */ + { 38334, 0x00008B5E }, /* GL_SAMPLER_2D */ + { 38348, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY */ + { 38368, 0x00008DC1 }, /* GL_SAMPLER_2D_ARRAY_EXT */ + { 38392, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW */ + { 38419, 0x00008DC4 }, /* GL_SAMPLER_2D_ARRAY_SHADOW_EXT */ + { 38450, 0x00008B63 }, /* GL_SAMPLER_2D_RECT */ + { 38469, 0x00008B64 }, /* GL_SAMPLER_2D_RECT_SHADOW */ + { 38495, 0x00008B62 }, /* GL_SAMPLER_2D_SHADOW */ + { 38516, 0x00008B5F }, /* GL_SAMPLER_3D */ + { 38530, 0x00008B5F }, /* GL_SAMPLER_3D_OES */ + { 38548, 0x00008919 }, /* GL_SAMPLER_BINDING */ + { 38567, 0x00008DC2 }, /* GL_SAMPLER_BUFFER */ + { 38585, 0x00008DC2 }, /* GL_SAMPLER_BUFFER_EXT */ + { 38607, 0x00008B60 }, /* GL_SAMPLER_CUBE */ + { 38623, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW */ + { 38646, 0x00008DC5 }, /* GL_SAMPLER_CUBE_SHADOW_EXT */ + { 38673, 0x00008D66 }, /* GL_SAMPLER_EXTERNAL_OES */ + { 38697, 0x000080A9 }, /* GL_SAMPLES */ + { 38708, 0x000086B4 }, /* GL_SAMPLES_3DFX */ + { 38724, 0x000080A9 }, /* GL_SAMPLES_ARB */ + { 38739, 0x00008914 }, /* GL_SAMPLES_PASSED */ + { 38757, 0x00008914 }, /* GL_SAMPLES_PASSED_ARB */ + { 38779, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + { 38807, 0x0000809E }, /* GL_SAMPLE_ALPHA_TO_COVERAGE_ARB */ + { 38839, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE */ + { 38862, 0x0000809F }, /* GL_SAMPLE_ALPHA_TO_ONE_ARB */ + { 38889, 0x000080A8 }, /* GL_SAMPLE_BUFFERS */ + { 38907, 0x000086B3 }, /* GL_SAMPLE_BUFFERS_3DFX */ + { 38930, 0x000080A8 }, /* GL_SAMPLE_BUFFERS_ARB */ + { 38952, 0x000080A0 }, /* GL_SAMPLE_COVERAGE */ + { 38971, 0x000080A0 }, /* GL_SAMPLE_COVERAGE_ARB */ + { 38994, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT */ + { 39020, 0x000080AB }, /* GL_SAMPLE_COVERAGE_INVERT_ARB */ + { 39050, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE */ + { 39075, 0x000080AA }, /* GL_SAMPLE_COVERAGE_VALUE_ARB */ + { 39104, 0x00080000 }, /* GL_SCISSOR_BIT */ + { 39119, 0x00000C10 }, /* GL_SCISSOR_BOX */ + { 39134, 0x00000C11 }, /* GL_SCISSOR_TEST */ + { 39150, 0x0000845E }, /* GL_SECONDARY_COLOR_ARRAY */ + { 39175, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + { 39215, 0x0000889C }, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING_ARB */ + { 39259, 0x0000845D }, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + { 39292, 0x0000845A }, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + { 39322, 0x0000845C }, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + { 39354, 0x0000845B }, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + { 39384, 0x00001C02 }, /* GL_SELECT */ + { 39394, 0x00000DF3 }, /* GL_SELECTION_BUFFER_POINTER */ + { 39422, 0x00000DF4 }, /* GL_SELECTION_BUFFER_SIZE */ + { 39447, 0x00008012 }, /* GL_SEPARABLE_2D */ + { 39463, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS */ + { 39483, 0x00008C8D }, /* GL_SEPARATE_ATTRIBS_EXT */ + { 39507, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR */ + { 39534, 0x000081FA }, /* GL_SEPARATE_SPECULAR_COLOR_EXT */ + { 39565, 0x0000150F }, /* GL_SET */ + { 39572, 0x00008DF8 }, /* GL_SHADER_BINARY_FORMATS */ + { 39597, 0x00008DFA }, /* GL_SHADER_COMPILER */ + { 39616, 0x00008B48 }, /* GL_SHADER_OBJECT_ARB */ + { 39637, 0x00008B88 }, /* GL_SHADER_SOURCE_LENGTH */ + { 39661, 0x00008B4F }, /* GL_SHADER_TYPE */ + { 39676, 0x00000B54 }, /* GL_SHADE_MODEL */ + { 39691, 0x00008B8C }, /* GL_SHADING_LANGUAGE_VERSION */ + { 39719, 0x000080BF }, /* GL_SHADOW_AMBIENT_SGIX */ + { 39742, 0x000081FB }, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + { 39772, 0x00001601 }, /* GL_SHININESS */ + { 39785, 0x00001402 }, /* GL_SHORT */ + { 39794, 0x00009119 }, /* GL_SIGNALED */ + { 39806, 0x00008F9C }, /* GL_SIGNED_NORMALIZED */ + { 39827, 0x000081F9 }, /* GL_SINGLE_COLOR */ + { 39843, 0x000081F9 }, /* GL_SINGLE_COLOR_EXT */ + { 39863, 0x000085CC }, /* GL_SLICE_ACCUM_SUN */ + { 39882, 0x00008C46 }, /* GL_SLUMINANCE */ + { 39896, 0x00008C47 }, /* GL_SLUMINANCE8 */ + { 39911, 0x00008C45 }, /* GL_SLUMINANCE8_ALPHA8 */ + { 39933, 0x00008C44 }, /* GL_SLUMINANCE_ALPHA */ + { 39953, 0x00001D01 }, /* GL_SMOOTH */ + { 39963, 0x00000B23 }, /* GL_SMOOTH_LINE_WIDTH_GRANULARITY */ + { 39996, 0x00000B22 }, /* GL_SMOOTH_LINE_WIDTH_RANGE */ + { 40023, 0x00000B13 }, /* GL_SMOOTH_POINT_SIZE_GRANULARITY */ + { 40056, 0x00000B12 }, /* GL_SMOOTH_POINT_SIZE_RANGE */ + { 40083, 0x00008588 }, /* GL_SOURCE0_ALPHA */ + { 40100, 0x00008588 }, /* GL_SOURCE0_ALPHA_ARB */ + { 40121, 0x00008588 }, /* GL_SOURCE0_ALPHA_EXT */ + { 40142, 0x00008580 }, /* GL_SOURCE0_RGB */ + { 40157, 0x00008580 }, /* GL_SOURCE0_RGB_ARB */ + { 40176, 0x00008580 }, /* GL_SOURCE0_RGB_EXT */ + { 40195, 0x00008589 }, /* GL_SOURCE1_ALPHA */ + { 40212, 0x00008589 }, /* GL_SOURCE1_ALPHA_ARB */ + { 40233, 0x00008589 }, /* GL_SOURCE1_ALPHA_EXT */ + { 40254, 0x00008581 }, /* GL_SOURCE1_RGB */ + { 40269, 0x00008581 }, /* GL_SOURCE1_RGB_ARB */ + { 40288, 0x00008581 }, /* GL_SOURCE1_RGB_EXT */ + { 40307, 0x0000858A }, /* GL_SOURCE2_ALPHA */ + { 40324, 0x0000858A }, /* GL_SOURCE2_ALPHA_ARB */ + { 40345, 0x0000858A }, /* GL_SOURCE2_ALPHA_EXT */ + { 40366, 0x00008582 }, /* GL_SOURCE2_RGB */ + { 40381, 0x00008582 }, /* GL_SOURCE2_RGB_ARB */ + { 40400, 0x00008582 }, /* GL_SOURCE2_RGB_EXT */ + { 40419, 0x0000858B }, /* GL_SOURCE3_ALPHA_NV */ + { 40439, 0x00008583 }, /* GL_SOURCE3_RGB_NV */ + { 40457, 0x00001202 }, /* GL_SPECULAR */ + { 40469, 0x00002402 }, /* GL_SPHERE_MAP */ + { 40483, 0x00001206 }, /* GL_SPOT_CUTOFF */ + { 40498, 0x00001204 }, /* GL_SPOT_DIRECTION */ + { 40516, 0x00001205 }, /* GL_SPOT_EXPONENT */ + { 40533, 0x00008588 }, /* GL_SRC0_ALPHA */ + { 40547, 0x00008580 }, /* GL_SRC0_RGB */ + { 40559, 0x00008589 }, /* GL_SRC1_ALPHA */ + { 40573, 0x00008581 }, /* GL_SRC1_RGB */ + { 40585, 0x0000858A }, /* GL_SRC2_ALPHA */ + { 40599, 0x00008582 }, /* GL_SRC2_RGB */ + { 40611, 0x00000302 }, /* GL_SRC_ALPHA */ + { 40624, 0x00000308 }, /* GL_SRC_ALPHA_SATURATE */ + { 40646, 0x00000300 }, /* GL_SRC_COLOR */ + { 40659, 0x00008C40 }, /* GL_SRGB */ + { 40667, 0x00008C41 }, /* GL_SRGB8 */ + { 40676, 0x00008C43 }, /* GL_SRGB8_ALPHA8 */ + { 40692, 0x00008C42 }, /* GL_SRGB_ALPHA */ + { 40706, 0x00000503 }, /* GL_STACK_OVERFLOW */ + { 40724, 0x00000504 }, /* GL_STACK_UNDERFLOW */ + { 40743, 0x000088E6 }, /* GL_STATIC_COPY */ + { 40758, 0x000088E6 }, /* GL_STATIC_COPY_ARB */ + { 40777, 0x000088E4 }, /* GL_STATIC_DRAW */ + { 40792, 0x000088E4 }, /* GL_STATIC_DRAW_ARB */ + { 40811, 0x000088E5 }, /* GL_STATIC_READ */ + { 40826, 0x000088E5 }, /* GL_STATIC_READ_ARB */ + { 40845, 0x00001802 }, /* GL_STENCIL */ + { 40856, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT */ + { 40878, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_EXT */ + { 40904, 0x00008D20 }, /* GL_STENCIL_ATTACHMENT_OES */ + { 40930, 0x00008801 }, /* GL_STENCIL_BACK_FAIL */ + { 40951, 0x00008801 }, /* GL_STENCIL_BACK_FAIL_ATI */ + { 40976, 0x00008800 }, /* GL_STENCIL_BACK_FUNC */ + { 40997, 0x00008800 }, /* GL_STENCIL_BACK_FUNC_ATI */ + { 41022, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + { 41054, 0x00008802 }, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI */ + { 41090, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + { 41122, 0x00008803 }, /* GL_STENCIL_BACK_PASS_DEPTH_PASS_ATI */ + { 41158, 0x00008CA3 }, /* GL_STENCIL_BACK_REF */ + { 41178, 0x00008CA4 }, /* GL_STENCIL_BACK_VALUE_MASK */ + { 41205, 0x00008CA5 }, /* GL_STENCIL_BACK_WRITEMASK */ + { 41231, 0x00000D57 }, /* GL_STENCIL_BITS */ + { 41247, 0x00008224 }, /* GL_STENCIL_BUFFER */ + { 41265, 0x00000400 }, /* GL_STENCIL_BUFFER_BIT */ + { 41287, 0x00000B91 }, /* GL_STENCIL_CLEAR_VALUE */ + { 41310, 0x00000B94 }, /* GL_STENCIL_FAIL */ + { 41326, 0x00000B92 }, /* GL_STENCIL_FUNC */ + { 41342, 0x00001901 }, /* GL_STENCIL_INDEX */ + { 41359, 0x00008D46 }, /* GL_STENCIL_INDEX1 */ + { 41377, 0x00008D49 }, /* GL_STENCIL_INDEX16 */ + { 41396, 0x00008D49 }, /* GL_STENCIL_INDEX16_EXT */ + { 41419, 0x00008D46 }, /* GL_STENCIL_INDEX1_EXT */ + { 41441, 0x00008D46 }, /* GL_STENCIL_INDEX1_OES */ + { 41463, 0x00008D47 }, /* GL_STENCIL_INDEX4 */ + { 41481, 0x00008D47 }, /* GL_STENCIL_INDEX4_EXT */ + { 41503, 0x00008D47 }, /* GL_STENCIL_INDEX4_OES */ + { 41525, 0x00008D48 }, /* GL_STENCIL_INDEX8 */ + { 41543, 0x00008D48 }, /* GL_STENCIL_INDEX8_EXT */ + { 41565, 0x00008D48 }, /* GL_STENCIL_INDEX8_OES */ + { 41587, 0x00008D45 }, /* GL_STENCIL_INDEX_EXT */ + { 41608, 0x00000B95 }, /* GL_STENCIL_PASS_DEPTH_FAIL */ + { 41635, 0x00000B96 }, /* GL_STENCIL_PASS_DEPTH_PASS */ + { 41662, 0x00000B97 }, /* GL_STENCIL_REF */ + { 41677, 0x00000B90 }, /* GL_STENCIL_TEST */ + { 41693, 0x00008910 }, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + { 41722, 0x00000B93 }, /* GL_STENCIL_VALUE_MASK */ + { 41744, 0x00000B98 }, /* GL_STENCIL_WRITEMASK */ + { 41765, 0x00000C33 }, /* GL_STEREO */ + { 41775, 0x000085BE }, /* GL_STORAGE_CACHED_APPLE */ + { 41799, 0x000085BD }, /* GL_STORAGE_PRIVATE_APPLE */ + { 41824, 0x000085BF }, /* GL_STORAGE_SHARED_APPLE */ + { 41848, 0x000088E2 }, /* GL_STREAM_COPY */ + { 41863, 0x000088E2 }, /* GL_STREAM_COPY_ARB */ + { 41882, 0x000088E0 }, /* GL_STREAM_DRAW */ + { 41897, 0x000088E0 }, /* GL_STREAM_DRAW_ARB */ + { 41916, 0x000088E1 }, /* GL_STREAM_READ */ + { 41931, 0x000088E1 }, /* GL_STREAM_READ_ARB */ + { 41950, 0x00000D50 }, /* GL_SUBPIXEL_BITS */ + { 41967, 0x000084E7 }, /* GL_SUBTRACT */ + { 41979, 0x000084E7 }, /* GL_SUBTRACT_ARB */ + { 41995, 0x00009113 }, /* GL_SYNC_CONDITION */ + { 42013, 0x00009116 }, /* GL_SYNC_FENCE */ + { 42027, 0x00009115 }, /* GL_SYNC_FLAGS */ + { 42041, 0x00000001 }, /* GL_SYNC_FLUSH_COMMANDS_BIT */ + { 42068, 0x00009117 }, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + { 42098, 0x00009114 }, /* GL_SYNC_STATUS */ + { 42113, 0x00002001 }, /* GL_T */ + { 42118, 0x00002A2A }, /* GL_T2F_C3F_V3F */ + { 42133, 0x00002A2C }, /* GL_T2F_C4F_N3F_V3F */ + { 42152, 0x00002A29 }, /* GL_T2F_C4UB_V3F */ + { 42168, 0x00002A2B }, /* GL_T2F_N3F_V3F */ + { 42183, 0x00002A27 }, /* GL_T2F_V3F */ + { 42194, 0x00002A2D }, /* GL_T4F_C4F_N3F_V4F */ + { 42213, 0x00002A28 }, /* GL_T4F_V4F */ + { 42224, 0x00008031 }, /* GL_TABLE_TOO_LARGE_EXT */ + { 42247, 0x00001702 }, /* GL_TEXTURE */ + { 42258, 0x000084C0 }, /* GL_TEXTURE0 */ + { 42270, 0x000084C0 }, /* GL_TEXTURE0_ARB */ + { 42286, 0x000084C1 }, /* GL_TEXTURE1 */ + { 42298, 0x000084CA }, /* GL_TEXTURE10 */ + { 42311, 0x000084CA }, /* GL_TEXTURE10_ARB */ + { 42328, 0x000084CB }, /* GL_TEXTURE11 */ + { 42341, 0x000084CB }, /* GL_TEXTURE11_ARB */ + { 42358, 0x000084CC }, /* GL_TEXTURE12 */ + { 42371, 0x000084CC }, /* GL_TEXTURE12_ARB */ + { 42388, 0x000084CD }, /* GL_TEXTURE13 */ + { 42401, 0x000084CD }, /* GL_TEXTURE13_ARB */ + { 42418, 0x000084CE }, /* GL_TEXTURE14 */ + { 42431, 0x000084CE }, /* GL_TEXTURE14_ARB */ + { 42448, 0x000084CF }, /* GL_TEXTURE15 */ + { 42461, 0x000084CF }, /* GL_TEXTURE15_ARB */ + { 42478, 0x000084D0 }, /* GL_TEXTURE16 */ + { 42491, 0x000084D0 }, /* GL_TEXTURE16_ARB */ + { 42508, 0x000084D1 }, /* GL_TEXTURE17 */ + { 42521, 0x000084D1 }, /* GL_TEXTURE17_ARB */ + { 42538, 0x000084D2 }, /* GL_TEXTURE18 */ + { 42551, 0x000084D2 }, /* GL_TEXTURE18_ARB */ + { 42568, 0x000084D3 }, /* GL_TEXTURE19 */ + { 42581, 0x000084D3 }, /* GL_TEXTURE19_ARB */ + { 42598, 0x000084C1 }, /* GL_TEXTURE1_ARB */ + { 42614, 0x000084C2 }, /* GL_TEXTURE2 */ + { 42626, 0x000084D4 }, /* GL_TEXTURE20 */ + { 42639, 0x000084D4 }, /* GL_TEXTURE20_ARB */ + { 42656, 0x000084D5 }, /* GL_TEXTURE21 */ + { 42669, 0x000084D5 }, /* GL_TEXTURE21_ARB */ + { 42686, 0x000084D6 }, /* GL_TEXTURE22 */ + { 42699, 0x000084D6 }, /* GL_TEXTURE22_ARB */ + { 42716, 0x000084D7 }, /* GL_TEXTURE23 */ + { 42729, 0x000084D7 }, /* GL_TEXTURE23_ARB */ + { 42746, 0x000084D8 }, /* GL_TEXTURE24 */ + { 42759, 0x000084D8 }, /* GL_TEXTURE24_ARB */ + { 42776, 0x000084D9 }, /* GL_TEXTURE25 */ + { 42789, 0x000084D9 }, /* GL_TEXTURE25_ARB */ + { 42806, 0x000084DA }, /* GL_TEXTURE26 */ + { 42819, 0x000084DA }, /* GL_TEXTURE26_ARB */ + { 42836, 0x000084DB }, /* GL_TEXTURE27 */ + { 42849, 0x000084DB }, /* GL_TEXTURE27_ARB */ + { 42866, 0x000084DC }, /* GL_TEXTURE28 */ + { 42879, 0x000084DC }, /* GL_TEXTURE28_ARB */ + { 42896, 0x000084DD }, /* GL_TEXTURE29 */ + { 42909, 0x000084DD }, /* GL_TEXTURE29_ARB */ + { 42926, 0x000084C2 }, /* GL_TEXTURE2_ARB */ + { 42942, 0x000084C3 }, /* GL_TEXTURE3 */ + { 42954, 0x000084DE }, /* GL_TEXTURE30 */ + { 42967, 0x000084DE }, /* GL_TEXTURE30_ARB */ + { 42984, 0x000084DF }, /* GL_TEXTURE31 */ + { 42997, 0x000084DF }, /* GL_TEXTURE31_ARB */ + { 43014, 0x000084C3 }, /* GL_TEXTURE3_ARB */ + { 43030, 0x000084C4 }, /* GL_TEXTURE4 */ + { 43042, 0x000084C4 }, /* GL_TEXTURE4_ARB */ + { 43058, 0x000084C5 }, /* GL_TEXTURE5 */ + { 43070, 0x000084C5 }, /* GL_TEXTURE5_ARB */ + { 43086, 0x000084C6 }, /* GL_TEXTURE6 */ + { 43098, 0x000084C6 }, /* GL_TEXTURE6_ARB */ + { 43114, 0x000084C7 }, /* GL_TEXTURE7 */ + { 43126, 0x000084C7 }, /* GL_TEXTURE7_ARB */ + { 43142, 0x000084C8 }, /* GL_TEXTURE8 */ + { 43154, 0x000084C8 }, /* GL_TEXTURE8_ARB */ + { 43170, 0x000084C9 }, /* GL_TEXTURE9 */ + { 43182, 0x000084C9 }, /* GL_TEXTURE9_ARB */ + { 43198, 0x00000DE0 }, /* GL_TEXTURE_1D */ + { 43212, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY */ + { 43232, 0x00008C18 }, /* GL_TEXTURE_1D_ARRAY_EXT */ + { 43256, 0x00000DE1 }, /* GL_TEXTURE_2D */ + { 43270, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY */ + { 43290, 0x00008C1A }, /* GL_TEXTURE_2D_ARRAY_EXT */ + { 43314, 0x0000806F }, /* GL_TEXTURE_3D */ + { 43328, 0x0000806F }, /* GL_TEXTURE_3D_OES */ + { 43346, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE */ + { 43368, 0x0000805F }, /* GL_TEXTURE_ALPHA_SIZE_EXT */ + { 43394, 0x0000813C }, /* GL_TEXTURE_BASE_LEVEL */ + { 43416, 0x00008068 }, /* GL_TEXTURE_BINDING_1D */ + { 43438, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY */ + { 43466, 0x00008C1C }, /* GL_TEXTURE_BINDING_1D_ARRAY_EXT */ + { 43498, 0x00008069 }, /* GL_TEXTURE_BINDING_2D */ + { 43520, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY */ + { 43548, 0x00008C1D }, /* GL_TEXTURE_BINDING_2D_ARRAY_EXT */ + { 43580, 0x0000806A }, /* GL_TEXTURE_BINDING_3D */ + { 43602, 0x0000806A }, /* GL_TEXTURE_BINDING_3D_OES */ + { 43628, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER */ + { 43654, 0x00008C2C }, /* GL_TEXTURE_BINDING_BUFFER_ARB */ + { 43684, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP */ + { 43712, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_ARB */ + { 43744, 0x00008514 }, /* GL_TEXTURE_BINDING_CUBE_MAP_OES */ + { 43776, 0x00008D67 }, /* GL_TEXTURE_BINDING_EXTERNAL_OES */ + { 43808, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE */ + { 43837, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_ARB */ + { 43870, 0x000084F6 }, /* GL_TEXTURE_BINDING_RECTANGLE_NV */ + { 43902, 0x00040000 }, /* GL_TEXTURE_BIT */ + { 43917, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE */ + { 43938, 0x0000805E }, /* GL_TEXTURE_BLUE_SIZE_EXT */ + { 43963, 0x00001005 }, /* GL_TEXTURE_BORDER */ + { 43981, 0x00001004 }, /* GL_TEXTURE_BORDER_COLOR */ + { 44005, 0x00008C2A }, /* GL_TEXTURE_BUFFER */ + { 44023, 0x00008C2A }, /* GL_TEXTURE_BUFFER_ARB */ + { 44045, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ + { 44082, 0x00008C2D }, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING_ARB */ + { 44123, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT */ + { 44148, 0x00008C2E }, /* GL_TEXTURE_BUFFER_FORMAT_ARB */ + { 44177, 0x00008171 }, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + { 44208, 0x00008176 }, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + { 44238, 0x00008172 }, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + { 44268, 0x00008175 }, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + { 44303, 0x00008173 }, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + { 44334, 0x00008174 }, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + { 44372, 0x000080BC }, /* GL_TEXTURE_COLOR_TABLE_SGI */ + { 44399, 0x000081EF }, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + { 44431, 0x000080BF }, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + { 44465, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC */ + { 44489, 0x0000884D }, /* GL_TEXTURE_COMPARE_FUNC_ARB */ + { 44517, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE */ + { 44541, 0x0000884C }, /* GL_TEXTURE_COMPARE_MODE_ARB */ + { 44569, 0x0000819B }, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + { 44602, 0x0000819A }, /* GL_TEXTURE_COMPARE_SGIX */ + { 44626, 0x00001003 }, /* GL_TEXTURE_COMPONENTS */ + { 44648, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED */ + { 44670, 0x000086A1 }, /* GL_TEXTURE_COMPRESSED_ARB */ + { 44696, 0x000086A3 }, /* GL_TEXTURE_COMPRESSED_FORMATS_ARB */ + { 44730, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + { 44763, 0x000086A0 }, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE_ARB */ + { 44800, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT */ + { 44828, 0x000084EF }, /* GL_TEXTURE_COMPRESSION_HINT_ARB */ + { 44860, 0x00008078 }, /* GL_TEXTURE_COORD_ARRAY */ + { 44883, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + { 44921, 0x0000889A }, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING_ARB */ + { 44963, 0x00008092 }, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + { 44994, 0x00008088 }, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + { 45022, 0x0000808A }, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + { 45052, 0x00008089 }, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + { 45080, 0x00008B9D }, /* GL_TEXTURE_CROP_RECT_OES */ + { 45105, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP */ + { 45125, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_ARB */ + { 45149, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + { 45180, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB */ + { 45215, 0x00008516 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X_OES */ + { 45250, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + { 45281, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB */ + { 45316, 0x00008518 }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_OES */ + { 45351, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + { 45382, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB */ + { 45417, 0x0000851A }, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_OES */ + { 45452, 0x00008513 }, /* GL_TEXTURE_CUBE_MAP_OES */ + { 45476, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + { 45507, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB */ + { 45542, 0x00008515 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X_OES */ + { 45577, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + { 45608, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB */ + { 45643, 0x00008517 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y_OES */ + { 45678, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + { 45709, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB */ + { 45744, 0x00008519 }, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z_OES */ + { 45779, 0x000088F4 }, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + { 45808, 0x00008071 }, /* GL_TEXTURE_DEPTH */ + { 45825, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE */ + { 45847, 0x0000884A }, /* GL_TEXTURE_DEPTH_SIZE_ARB */ + { 45873, 0x00002300 }, /* GL_TEXTURE_ENV */ + { 45888, 0x00002201 }, /* GL_TEXTURE_ENV_COLOR */ + { 45909, 0x00002200 }, /* GL_TEXTURE_ENV_MODE */ + { 45929, 0x00008D65 }, /* GL_TEXTURE_EXTERNAL_OES */ + { 45953, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL */ + { 45979, 0x00008500 }, /* GL_TEXTURE_FILTER_CONTROL_EXT */ + { 46009, 0x00002500 }, /* GL_TEXTURE_GEN_MODE */ + { 46029, 0x00002500 }, /* GL_TEXTURE_GEN_MODE_OES */ + { 46053, 0x00000C63 }, /* GL_TEXTURE_GEN_Q */ + { 46070, 0x00000C62 }, /* GL_TEXTURE_GEN_R */ + { 46087, 0x00000C60 }, /* GL_TEXTURE_GEN_S */ + { 46104, 0x00008D60 }, /* GL_TEXTURE_GEN_STR_OES */ + { 46127, 0x00000C61 }, /* GL_TEXTURE_GEN_T */ + { 46144, 0x0000819D }, /* GL_TEXTURE_GEQUAL_R_SGIX */ + { 46169, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE */ + { 46191, 0x0000805D }, /* GL_TEXTURE_GREEN_SIZE_EXT */ + { 46217, 0x00001001 }, /* GL_TEXTURE_HEIGHT */ + { 46235, 0x000080ED }, /* GL_TEXTURE_INDEX_SIZE_EXT */ + { 46261, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE */ + { 46287, 0x00008061 }, /* GL_TEXTURE_INTENSITY_SIZE_EXT */ + { 46317, 0x00001003 }, /* GL_TEXTURE_INTERNAL_FORMAT */ + { 46344, 0x0000819C }, /* GL_TEXTURE_LEQUAL_R_SGIX */ + { 46369, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS */ + { 46389, 0x00008501 }, /* GL_TEXTURE_LOD_BIAS_EXT */ + { 46413, 0x00008190 }, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + { 46440, 0x0000818E }, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + { 46467, 0x0000818F }, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + { 46494, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE */ + { 46520, 0x00008060 }, /* GL_TEXTURE_LUMINANCE_SIZE_EXT */ + { 46550, 0x00002800 }, /* GL_TEXTURE_MAG_FILTER */ + { 46572, 0x00000BA8 }, /* GL_TEXTURE_MATRIX */ + { 46590, 0x0000898F }, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + { 46630, 0x000084FE }, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + { 46660, 0x0000836B }, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + { 46688, 0x00008369 }, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + { 46716, 0x0000836A }, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + { 46744, 0x0000813D }, /* GL_TEXTURE_MAX_LEVEL */ + { 46765, 0x0000813B }, /* GL_TEXTURE_MAX_LOD */ + { 46784, 0x00002801 }, /* GL_TEXTURE_MIN_FILTER */ + { 46806, 0x0000813A }, /* GL_TEXTURE_MIN_LOD */ + { 46825, 0x00008066 }, /* GL_TEXTURE_PRIORITY */ + { 46845, 0x000085B7 }, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + { 46875, 0x000085B8 }, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + { 46906, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE */ + { 46927, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_ARB */ + { 46952, 0x000084F5 }, /* GL_TEXTURE_RECTANGLE_NV */ + { 46976, 0x0000805C }, /* GL_TEXTURE_RED_SIZE */ + { 46996, 0x0000805C }, /* GL_TEXTURE_RED_SIZE_EXT */ + { 47020, 0x00008067 }, /* GL_TEXTURE_RESIDENT */ + { 47040, 0x00008C3F }, /* GL_TEXTURE_SHARED_SIZE */ + { 47063, 0x00000BA5 }, /* GL_TEXTURE_STACK_DEPTH */ + { 47086, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE */ + { 47110, 0x000088F1 }, /* GL_TEXTURE_STENCIL_SIZE_EXT */ + { 47138, 0x000085BC }, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + { 47168, 0x00008065 }, /* GL_TEXTURE_TOO_LARGE_EXT */ + { 47193, 0x0000888F }, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + { 47227, 0x00001000 }, /* GL_TEXTURE_WIDTH */ + { 47244, 0x00008072 }, /* GL_TEXTURE_WRAP_R */ + { 47262, 0x00008072 }, /* GL_TEXTURE_WRAP_R_OES */ + { 47284, 0x00002802 }, /* GL_TEXTURE_WRAP_S */ + { 47302, 0x00002803 }, /* GL_TEXTURE_WRAP_T */ + { 47320, 0x0000911B }, /* GL_TIMEOUT_EXPIRED */ + { 47339, 0x000088BF }, /* GL_TIME_ELAPSED_EXT */ + { 47359, 0x00008648 }, /* GL_TRACK_MATRIX_NV */ + { 47378, 0x00008649 }, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + { 47407, 0x00001000 }, /* GL_TRANSFORM_BIT */ + { 47424, 0x00008E22 }, /* GL_TRANSFORM_FEEDBACK */ + { 47446, 0x00008E25 }, /* GL_TRANSFORM_FEEDBACK_BINDING */ + { 47476, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER */ + { 47505, 0x00008E24 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + { 47541, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ + { 47578, 0x00008C8F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING_EXT */ + { 47619, 0x00008C8E }, /* GL_TRANSFORM_FEEDBACK_BUFFER_EXT */ + { 47652, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ + { 47686, 0x00008C7F }, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE_EXT */ + { 47724, 0x00008E23 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + { 47760, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ + { 47794, 0x00008C85 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE_EXT */ + { 47832, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ + { 47867, 0x00008C84 }, /* GL_TRANSFORM_FEEDBACK_BUFFER_START_EXT */ + { 47906, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ + { 47947, 0x00008C88 }, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN_EXT */ + { 47992, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ + { 48023, 0x00008C83 }, /* GL_TRANSFORM_FEEDBACK_VARYINGS_EXT */ + { 48058, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ + { 48099, 0x00008C76 }, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH_EXT */ + { 48144, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX */ + { 48170, 0x000084E6 }, /* GL_TRANSPOSE_COLOR_MATRIX_ARB */ + { 48200, 0x000088B7 }, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + { 48232, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + { 48262, 0x000084E3 }, /* GL_TRANSPOSE_MODELVIEW_MATRIX_ARB */ + { 48296, 0x0000862C }, /* GL_TRANSPOSE_NV */ + { 48312, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + { 48343, 0x000084E4 }, /* GL_TRANSPOSE_PROJECTION_MATRIX_ARB */ + { 48378, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + { 48406, 0x000084E5 }, /* GL_TRANSPOSE_TEXTURE_MATRIX_ARB */ + { 48438, 0x00000004 }, /* GL_TRIANGLES */ + { 48451, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY */ + { 48474, 0x0000000C }, /* GL_TRIANGLES_ADJACENCY_ARB */ + { 48501, 0x00000006 }, /* GL_TRIANGLE_FAN */ + { 48517, 0x00008615 }, /* GL_TRIANGLE_MESH_SUN */ + { 48538, 0x00000005 }, /* GL_TRIANGLE_STRIP */ + { 48556, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY */ + { 48584, 0x0000000D }, /* GL_TRIANGLE_STRIP_ADJACENCY_ARB */ + { 48616, 0x00000001 }, /* GL_TRUE */ + { 48624, 0x00008A1C }, /* GL_UNDEFINED_APPLE */ + { 48643, 0x00008255 }, /* GL_UNKNOWN_CONTEXT_RESET_ARB */ + { 48672, 0x00000CF5 }, /* GL_UNPACK_ALIGNMENT */ + { 48692, 0x0000806E }, /* GL_UNPACK_IMAGE_HEIGHT */ + { 48715, 0x00000CF1 }, /* GL_UNPACK_LSB_FIRST */ + { 48735, 0x00000CF2 }, /* GL_UNPACK_ROW_LENGTH */ + { 48756, 0x0000806D }, /* GL_UNPACK_SKIP_IMAGES */ + { 48778, 0x00000CF4 }, /* GL_UNPACK_SKIP_PIXELS */ + { 48800, 0x00000CF3 }, /* GL_UNPACK_SKIP_ROWS */ + { 48820, 0x00000CF0 }, /* GL_UNPACK_SWAP_BYTES */ + { 48841, 0x00009118 }, /* GL_UNSIGNALED */ + { 48855, 0x00001401 }, /* GL_UNSIGNED_BYTE */ + { 48872, 0x00008362 }, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + { 48899, 0x00008032 }, /* GL_UNSIGNED_BYTE_3_3_2 */ + { 48922, 0x00001405 }, /* GL_UNSIGNED_INT */ + { 48938, 0x00008C3B }, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ + { 48970, 0x00008036 }, /* GL_UNSIGNED_INT_10_10_10_2 */ + { 48997, 0x00008DF6 }, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + { 49028, 0x000084FA }, /* GL_UNSIGNED_INT_24_8 */ + { 49049, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_EXT */ + { 49074, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_NV */ + { 49098, 0x000084FA }, /* GL_UNSIGNED_INT_24_8_OES */ + { 49123, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + { 49154, 0x00008368 }, /* GL_UNSIGNED_INT_2_10_10_10_REV_EXT */ + { 49189, 0x00008C3E }, /* GL_UNSIGNED_INT_5_9_9_9_REV */ + { 49217, 0x00008035 }, /* GL_UNSIGNED_INT_8_8_8_8 */ + { 49241, 0x00008367 }, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + { 49269, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D */ + { 49296, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ + { 49329, 0x00008DD6 }, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY_EXT */ + { 49366, 0x00008DD1 }, /* GL_UNSIGNED_INT_SAMPLER_1D_EXT */ + { 49397, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D */ + { 49424, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ + { 49457, 0x00008DD7 }, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY_EXT */ + { 49494, 0x00008DD2 }, /* GL_UNSIGNED_INT_SAMPLER_2D_EXT */ + { 49525, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ + { 49557, 0x00008DD5 }, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT_EXT */ + { 49593, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D */ + { 49620, 0x00008DD3 }, /* GL_UNSIGNED_INT_SAMPLER_3D_EXT */ + { 49651, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ + { 49682, 0x00008DD8 }, /* GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT */ + { 49717, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ + { 49746, 0x00008DD4 }, /* GL_UNSIGNED_INT_SAMPLER_CUBE_EXT */ + { 49779, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2 */ + { 49800, 0x00008DC6 }, /* GL_UNSIGNED_INT_VEC2_EXT */ + { 49825, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3 */ + { 49846, 0x00008DC7 }, /* GL_UNSIGNED_INT_VEC3_EXT */ + { 49871, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4 */ + { 49892, 0x00008DC8 }, /* GL_UNSIGNED_INT_VEC4_EXT */ + { 49917, 0x00008C17 }, /* GL_UNSIGNED_NORMALIZED */ + { 49940, 0x00001403 }, /* GL_UNSIGNED_SHORT */ + { 49958, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + { 49988, 0x00008366 }, /* GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT */ + { 50022, 0x00008033 }, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + { 50048, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + { 50078, 0x00008365 }, /* GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT */ + { 50112, 0x00008034 }, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + { 50138, 0x00008363 }, /* GL_UNSIGNED_SHORT_5_6_5 */ + { 50162, 0x00008364 }, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + { 50190, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + { 50218, 0x000085BA }, /* GL_UNSIGNED_SHORT_8_8_MESA */ + { 50245, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + { 50277, 0x000085BB }, /* GL_UNSIGNED_SHORT_8_8_REV_MESA */ + { 50308, 0x00008CA2 }, /* GL_UPPER_LEFT */ + { 50322, 0x00002A20 }, /* GL_V2F */ + { 50329, 0x00002A21 }, /* GL_V3F */ + { 50336, 0x00008B83 }, /* GL_VALIDATE_STATUS */ + { 50355, 0x00001F00 }, /* GL_VENDOR */ + { 50365, 0x00001F02 }, /* GL_VERSION */ + { 50376, 0x00008074 }, /* GL_VERTEX_ARRAY */ + { 50392, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING */ + { 50416, 0x000085B5 }, /* GL_VERTEX_ARRAY_BINDING_APPLE */ + { 50446, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + { 50477, 0x00008896 }, /* GL_VERTEX_ARRAY_BUFFER_BINDING_ARB */ + { 50512, 0x0000808E }, /* GL_VERTEX_ARRAY_POINTER */ + { 50536, 0x0000807A }, /* GL_VERTEX_ARRAY_SIZE */ + { 50557, 0x0000807C }, /* GL_VERTEX_ARRAY_STRIDE */ + { 50580, 0x0000807B }, /* GL_VERTEX_ARRAY_TYPE */ + { 50601, 0x00008650 }, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + { 50628, 0x0000865A }, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + { 50656, 0x0000865B }, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + { 50684, 0x0000865C }, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + { 50712, 0x0000865D }, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + { 50740, 0x0000865E }, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + { 50768, 0x0000865F }, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + { 50796, 0x00008651 }, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + { 50823, 0x00008652 }, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + { 50850, 0x00008653 }, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + { 50877, 0x00008654 }, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + { 50904, 0x00008655 }, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + { 50931, 0x00008656 }, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + { 50958, 0x00008657 }, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + { 50985, 0x00008658 }, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + { 51012, 0x00008659 }, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + { 51039, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + { 51077, 0x0000889F }, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING_ARB */ + { 51119, 0x000088FE }, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ + { 51154, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + { 51185, 0x00008622 }, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED_ARB */ + { 51220, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ + { 51251, 0x000088FD }, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT */ + { 51286, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + { 51320, 0x0000886A }, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED_ARB */ + { 51358, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + { 51389, 0x00008645 }, /* GL_VERTEX_ATTRIB_ARRAY_POINTER_ARB */ + { 51424, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + { 51452, 0x00008623 }, /* GL_VERTEX_ATTRIB_ARRAY_SIZE_ARB */ + { 51484, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + { 51514, 0x00008624 }, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE_ARB */ + { 51548, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + { 51576, 0x00008625 }, /* GL_VERTEX_ATTRIB_ARRAY_TYPE_ARB */ + { 51608, 0x000086A7 }, /* GL_VERTEX_BLEND_ARB */ + { 51628, 0x00008620 }, /* GL_VERTEX_PROGRAM_ARB */ + { 51650, 0x0000864A }, /* GL_VERTEX_PROGRAM_BINDING_NV */ + { 51679, 0x00008620 }, /* GL_VERTEX_PROGRAM_NV */ + { 51700, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE */ + { 51729, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_ARB */ + { 51762, 0x00008642 }, /* GL_VERTEX_PROGRAM_POINT_SIZE_NV */ + { 51794, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + { 51821, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_ARB */ + { 51852, 0x00008643 }, /* GL_VERTEX_PROGRAM_TWO_SIDE_NV */ + { 51882, 0x00008B31 }, /* GL_VERTEX_SHADER */ + { 51899, 0x00008B31 }, /* GL_VERTEX_SHADER_ARB */ + { 51920, 0x00008621 }, /* GL_VERTEX_STATE_PROGRAM_NV */ + { 51947, 0x00000BA2 }, /* GL_VIEWPORT */ + { 51959, 0x00000800 }, /* GL_VIEWPORT_BIT */ + { 51975, 0x00008A1A }, /* GL_VOLATILE_APPLE */ + { 51993, 0x0000911D }, /* GL_WAIT_FAILED */ + { 52008, 0x000086AD }, /* GL_WEIGHT_ARRAY_ARB */ + { 52028, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + { 52059, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_ARB */ + { 52094, 0x0000889E }, /* GL_WEIGHT_ARRAY_BUFFER_BINDING_OES */ + { 52129, 0x000086AD }, /* GL_WEIGHT_ARRAY_OES */ + { 52149, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + { 52177, 0x000086AC }, /* GL_WEIGHT_ARRAY_POINTER_OES */ + { 52205, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + { 52230, 0x000086AB }, /* GL_WEIGHT_ARRAY_SIZE_OES */ + { 52255, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + { 52282, 0x000086AA }, /* GL_WEIGHT_ARRAY_STRIDE_OES */ + { 52309, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + { 52334, 0x000086A9 }, /* GL_WEIGHT_ARRAY_TYPE_OES */ + { 52359, 0x000086A6 }, /* GL_WEIGHT_SUM_UNITY_ARB */ + { 52383, 0x000081D4 }, /* GL_WRAP_BORDER_SUN */ + { 52402, 0x000088B9 }, /* GL_WRITE_ONLY */ + { 52416, 0x000088B9 }, /* GL_WRITE_ONLY_ARB */ + { 52434, 0x000088B9 }, /* GL_WRITE_ONLY_OES */ + { 52452, 0x00001506 }, /* GL_XOR */ + { 52459, 0x000085B9 }, /* GL_YCBCR_422_APPLE */ + { 52478, 0x00008757 }, /* GL_YCBCR_MESA */ + { 52492, 0x00000000 }, /* GL_ZERO */ + { 52500, 0x00000D16 }, /* GL_ZOOM_X */ + { 52510, 0x00000D17 }, /* GL_ZOOM_Y */ }; -static const unsigned reduced_enums[1564] = +static const unsigned reduced_enums[1569] = { 555, /* GL_FALSE */ - 851, /* GL_LINES */ - 855, /* GL_LINE_LOOP */ - 862, /* GL_LINE_STRIP */ - 2174, /* GL_TRIANGLES */ - 2179, /* GL_TRIANGLE_STRIP */ - 2177, /* GL_TRIANGLE_FAN */ - 1539, /* GL_QUADS */ - 1543, /* GL_QUAD_STRIP */ - 1407, /* GL_POLYGON */ - 852, /* GL_LINES_ADJACENCY */ - 863, /* GL_LINE_STRIP_ADJACENCY */ - 2175, /* GL_TRIANGLES_ADJACENCY */ - 2180, /* GL_TRIANGLE_STRIP_ADJACENCY */ - 1419, /* GL_POLYGON_STIPPLE_BIT */ - 1362, /* GL_PIXEL_MODE_BIT */ - 838, /* GL_LIGHTING_BIT */ + 852, /* GL_LINES */ + 856, /* GL_LINE_LOOP */ + 863, /* GL_LINE_STRIP */ + 2179, /* GL_TRIANGLES */ + 2184, /* GL_TRIANGLE_STRIP */ + 2182, /* GL_TRIANGLE_FAN */ + 1540, /* GL_QUADS */ + 1544, /* GL_QUAD_STRIP */ + 1408, /* GL_POLYGON */ + 853, /* GL_LINES_ADJACENCY */ + 864, /* GL_LINE_STRIP_ADJACENCY */ + 2180, /* GL_TRIANGLES_ADJACENCY */ + 2185, /* GL_TRIANGLE_STRIP_ADJACENCY */ + 1420, /* GL_POLYGON_STIPPLE_BIT */ + 1363, /* GL_PIXEL_MODE_BIT */ + 839, /* GL_LIGHTING_BIT */ 589, /* GL_FOG_BIT */ 8, /* GL_ACCUM */ - 874, /* GL_LOAD */ - 1629, /* GL_RETURN */ - 1227, /* GL_MULT */ + 875, /* GL_LOAD */ + 1631, /* GL_RETURN */ + 1228, /* GL_MULT */ 24, /* GL_ADD */ - 1243, /* GL_NEVER */ - 828, /* GL_LESS */ + 1244, /* GL_NEVER */ + 829, /* GL_LESS */ 545, /* GL_EQUAL */ - 827, /* GL_LEQUAL */ - 712, /* GL_GREATER */ - 1260, /* GL_NOTEQUAL */ + 828, /* GL_LEQUAL */ + 713, /* GL_GREATER */ + 1261, /* GL_NOTEQUAL */ 711, /* GL_GEQUAL */ 55, /* GL_ALWAYS */ - 1838, /* GL_SRC_COLOR */ - 1295, /* GL_ONE_MINUS_SRC_COLOR */ - 1836, /* GL_SRC_ALPHA */ - 1294, /* GL_ONE_MINUS_SRC_ALPHA */ + 1841, /* GL_SRC_COLOR */ + 1296, /* GL_ONE_MINUS_SRC_COLOR */ + 1839, /* GL_SRC_ALPHA */ + 1295, /* GL_ONE_MINUS_SRC_ALPHA */ 524, /* GL_DST_ALPHA */ - 1292, /* GL_ONE_MINUS_DST_ALPHA */ + 1293, /* GL_ONE_MINUS_DST_ALPHA */ 525, /* GL_DST_COLOR */ - 1293, /* GL_ONE_MINUS_DST_COLOR */ - 1837, /* GL_SRC_ALPHA_SATURATE */ + 1294, /* GL_ONE_MINUS_DST_COLOR */ + 1840, /* GL_SRC_ALPHA_SATURATE */ 688, /* GL_FRONT_LEFT */ 689, /* GL_FRONT_RIGHT */ 77, /* GL_BACK_LEFT */ 78, /* GL_BACK_RIGHT */ 685, /* GL_FRONT */ 76, /* GL_BACK */ - 826, /* GL_LEFT */ - 1719, /* GL_RIGHT */ + 827, /* GL_LEFT */ + 1721, /* GL_RIGHT */ 686, /* GL_FRONT_AND_BACK */ 71, /* GL_AUX0 */ 72, /* GL_AUX1 */ 73, /* GL_AUX2 */ 74, /* GL_AUX3 */ - 814, /* GL_INVALID_ENUM */ - 819, /* GL_INVALID_VALUE */ - 818, /* GL_INVALID_OPERATION */ - 1843, /* GL_STACK_OVERFLOW */ - 1844, /* GL_STACK_UNDERFLOW */ - 1320, /* GL_OUT_OF_MEMORY */ - 815, /* GL_INVALID_FRAMEBUFFER_OPERATION */ + 815, /* GL_INVALID_ENUM */ + 820, /* GL_INVALID_VALUE */ + 819, /* GL_INVALID_OPERATION */ + 1846, /* GL_STACK_OVERFLOW */ + 1847, /* GL_STACK_UNDERFLOW */ + 1321, /* GL_OUT_OF_MEMORY */ + 816, /* GL_INVALID_FRAMEBUFFER_OPERATION */ 0, /* GL_2D */ 2, /* GL_3D */ 3, /* GL_3D_COLOR */ 4, /* GL_3D_COLOR_TEXTURE */ 6, /* GL_4D_COLOR_TEXTURE */ - 1340, /* GL_PASS_THROUGH_TOKEN */ - 1406, /* GL_POINT_TOKEN */ - 865, /* GL_LINE_TOKEN */ - 1420, /* GL_POLYGON_TOKEN */ + 1341, /* GL_PASS_THROUGH_TOKEN */ + 1407, /* GL_POINT_TOKEN */ + 866, /* GL_LINE_TOKEN */ + 1421, /* GL_POLYGON_TOKEN */ 87, /* GL_BITMAP_TOKEN */ 523, /* GL_DRAW_PIXEL_TOKEN */ 353, /* GL_COPY_PIXEL_TOKEN */ - 856, /* GL_LINE_RESET_TOKEN */ + 857, /* GL_LINE_RESET_TOKEN */ 548, /* GL_EXP */ 549, /* GL_EXP2 */ 390, /* GL_CW */ 154, /* GL_CCW */ 187, /* GL_COEFF */ - 1317, /* GL_ORDER */ + 1318, /* GL_ORDER */ 444, /* GL_DOMAIN */ 363, /* GL_CURRENT_COLOR */ 366, /* GL_CURRENT_INDEX */ @@ -4805,33 +4815,33 @@ static const unsigned reduced_enums[1564] = 381, /* GL_CURRENT_RASTER_POSITION */ 382, /* GL_CURRENT_RASTER_POSITION_VALID */ 379, /* GL_CURRENT_RASTER_DISTANCE */ - 1398, /* GL_POINT_SMOOTH */ - 1382, /* GL_POINT_SIZE */ - 1397, /* GL_POINT_SIZE_RANGE */ - 1388, /* GL_POINT_SIZE_GRANULARITY */ - 857, /* GL_LINE_SMOOTH */ - 866, /* GL_LINE_WIDTH */ - 868, /* GL_LINE_WIDTH_RANGE */ - 867, /* GL_LINE_WIDTH_GRANULARITY */ - 859, /* GL_LINE_STIPPLE */ - 860, /* GL_LINE_STIPPLE_PATTERN */ - 861, /* GL_LINE_STIPPLE_REPEAT */ - 873, /* GL_LIST_MODE */ - 1082, /* GL_MAX_LIST_NESTING */ - 870, /* GL_LIST_BASE */ - 872, /* GL_LIST_INDEX */ - 1409, /* GL_POLYGON_MODE */ - 1416, /* GL_POLYGON_SMOOTH */ - 1418, /* GL_POLYGON_STIPPLE */ + 1399, /* GL_POINT_SMOOTH */ + 1383, /* GL_POINT_SIZE */ + 1398, /* GL_POINT_SIZE_RANGE */ + 1389, /* GL_POINT_SIZE_GRANULARITY */ + 858, /* GL_LINE_SMOOTH */ + 867, /* GL_LINE_WIDTH */ + 869, /* GL_LINE_WIDTH_RANGE */ + 868, /* GL_LINE_WIDTH_GRANULARITY */ + 860, /* GL_LINE_STIPPLE */ + 861, /* GL_LINE_STIPPLE_PATTERN */ + 862, /* GL_LINE_STIPPLE_REPEAT */ + 874, /* GL_LIST_MODE */ + 1083, /* GL_MAX_LIST_NESTING */ + 871, /* GL_LIST_BASE */ + 873, /* GL_LIST_INDEX */ + 1410, /* GL_POLYGON_MODE */ + 1417, /* GL_POLYGON_SMOOTH */ + 1419, /* GL_POLYGON_STIPPLE */ 534, /* GL_EDGE_FLAG */ 356, /* GL_CULL_FACE */ 357, /* GL_CULL_FACE_MODE */ 687, /* GL_FRONT_FACE */ - 837, /* GL_LIGHTING */ - 842, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ - 843, /* GL_LIGHT_MODEL_TWO_SIDE */ - 839, /* GL_LIGHT_MODEL_AMBIENT */ - 1785, /* GL_SHADE_MODEL */ + 838, /* GL_LIGHTING */ + 843, /* GL_LIGHT_MODEL_LOCAL_VIEWER */ + 844, /* GL_LIGHT_MODEL_TWO_SIDE */ + 840, /* GL_LIGHT_MODEL_AMBIENT */ + 1788, /* GL_SHADE_MODEL */ 235, /* GL_COLOR_MATERIAL_FACE */ 236, /* GL_COLOR_MATERIAL_PARAMETER */ 234, /* GL_COLOR_MATERIAL */ @@ -4848,24 +4858,24 @@ static const unsigned reduced_enums[1564] = 414, /* GL_DEPTH_CLEAR_VALUE */ 428, /* GL_DEPTH_FUNC */ 12, /* GL_ACCUM_CLEAR_VALUE */ - 1888, /* GL_STENCIL_TEST */ - 1869, /* GL_STENCIL_CLEAR_VALUE */ - 1871, /* GL_STENCIL_FUNC */ - 1890, /* GL_STENCIL_VALUE_MASK */ - 1870, /* GL_STENCIL_FAIL */ - 1885, /* GL_STENCIL_PASS_DEPTH_FAIL */ - 1886, /* GL_STENCIL_PASS_DEPTH_PASS */ - 1887, /* GL_STENCIL_REF */ - 1891, /* GL_STENCIL_WRITEMASK */ - 1031, /* GL_MATRIX_MODE */ - 1249, /* GL_NORMALIZE */ - 2307, /* GL_VIEWPORT */ - 1222, /* GL_MODELVIEW_STACK_DEPTH */ - 1513, /* GL_PROJECTION_STACK_DEPTH */ - 2128, /* GL_TEXTURE_STACK_DEPTH */ - 1219, /* GL_MODELVIEW_MATRIX */ - 1511, /* GL_PROJECTION_MATRIX */ - 2108, /* GL_TEXTURE_MATRIX */ + 1891, /* GL_STENCIL_TEST */ + 1872, /* GL_STENCIL_CLEAR_VALUE */ + 1874, /* GL_STENCIL_FUNC */ + 1893, /* GL_STENCIL_VALUE_MASK */ + 1873, /* GL_STENCIL_FAIL */ + 1888, /* GL_STENCIL_PASS_DEPTH_FAIL */ + 1889, /* GL_STENCIL_PASS_DEPTH_PASS */ + 1890, /* GL_STENCIL_REF */ + 1894, /* GL_STENCIL_WRITEMASK */ + 1032, /* GL_MATRIX_MODE */ + 1250, /* GL_NORMALIZE */ + 2312, /* GL_VIEWPORT */ + 1223, /* GL_MODELVIEW_STACK_DEPTH */ + 1514, /* GL_PROJECTION_STACK_DEPTH */ + 2133, /* GL_TEXTURE_STACK_DEPTH */ + 1220, /* GL_MODELVIEW_MATRIX */ + 1512, /* GL_PROJECTION_MATRIX */ + 2113, /* GL_TEXTURE_MATRIX */ 69, /* GL_ATTRIB_STACK_DEPTH */ 169, /* GL_CLIENT_ATTRIB_STACK_DEPTH */ 51, /* GL_ALPHA_TEST */ @@ -4875,267 +4885,267 @@ static const unsigned reduced_enums[1564] = 91, /* GL_BLEND_DST */ 105, /* GL_BLEND_SRC */ 88, /* GL_BLEND */ - 876, /* GL_LOGIC_OP_MODE */ - 761, /* GL_INDEX_LOGIC_OP */ + 877, /* GL_LOGIC_OP_MODE */ + 762, /* GL_INDEX_LOGIC_OP */ 233, /* GL_COLOR_LOGIC_OP */ 75, /* GL_AUX_BUFFERS */ 454, /* GL_DRAW_BUFFER */ - 1566, /* GL_READ_BUFFER */ - 1762, /* GL_SCISSOR_BOX */ - 1763, /* GL_SCISSOR_TEST */ - 760, /* GL_INDEX_CLEAR_VALUE */ - 765, /* GL_INDEX_WRITEMASK */ + 1567, /* GL_READ_BUFFER */ + 1765, /* GL_SCISSOR_BOX */ + 1766, /* GL_SCISSOR_TEST */ + 761, /* GL_INDEX_CLEAR_VALUE */ + 766, /* GL_INDEX_WRITEMASK */ 230, /* GL_COLOR_CLEAR_VALUE */ 272, /* GL_COLOR_WRITEMASK */ - 762, /* GL_INDEX_MODE */ - 1708, /* GL_RGBA_MODE */ + 763, /* GL_INDEX_MODE */ + 1710, /* GL_RGBA_MODE */ 453, /* GL_DOUBLEBUFFER */ - 1892, /* GL_STEREO */ - 1620, /* GL_RENDER_MODE */ - 1341, /* GL_PERSPECTIVE_CORRECTION_HINT */ - 1399, /* GL_POINT_SMOOTH_HINT */ - 858, /* GL_LINE_SMOOTH_HINT */ - 1417, /* GL_POLYGON_SMOOTH_HINT */ + 1895, /* GL_STEREO */ + 1621, /* GL_RENDER_MODE */ + 1342, /* GL_PERSPECTIVE_CORRECTION_HINT */ + 1400, /* GL_POINT_SMOOTH_HINT */ + 859, /* GL_LINE_SMOOTH_HINT */ + 1418, /* GL_POLYGON_SMOOTH_HINT */ 609, /* GL_FOG_HINT */ - 2088, /* GL_TEXTURE_GEN_S */ - 2090, /* GL_TEXTURE_GEN_T */ - 2087, /* GL_TEXTURE_GEN_R */ - 2086, /* GL_TEXTURE_GEN_Q */ - 1354, /* GL_PIXEL_MAP_I_TO_I */ - 1360, /* GL_PIXEL_MAP_S_TO_S */ - 1356, /* GL_PIXEL_MAP_I_TO_R */ - 1352, /* GL_PIXEL_MAP_I_TO_G */ - 1350, /* GL_PIXEL_MAP_I_TO_B */ - 1348, /* GL_PIXEL_MAP_I_TO_A */ - 1358, /* GL_PIXEL_MAP_R_TO_R */ - 1346, /* GL_PIXEL_MAP_G_TO_G */ - 1344, /* GL_PIXEL_MAP_B_TO_B */ - 1342, /* GL_PIXEL_MAP_A_TO_A */ - 1355, /* GL_PIXEL_MAP_I_TO_I_SIZE */ - 1361, /* GL_PIXEL_MAP_S_TO_S_SIZE */ - 1357, /* GL_PIXEL_MAP_I_TO_R_SIZE */ - 1353, /* GL_PIXEL_MAP_I_TO_G_SIZE */ - 1351, /* GL_PIXEL_MAP_I_TO_B_SIZE */ - 1349, /* GL_PIXEL_MAP_I_TO_A_SIZE */ - 1359, /* GL_PIXEL_MAP_R_TO_R_SIZE */ - 1347, /* GL_PIXEL_MAP_G_TO_G_SIZE */ - 1345, /* GL_PIXEL_MAP_B_TO_B_SIZE */ - 1343, /* GL_PIXEL_MAP_A_TO_A_SIZE */ - 2192, /* GL_UNPACK_SWAP_BYTES */ - 2187, /* GL_UNPACK_LSB_FIRST */ - 2188, /* GL_UNPACK_ROW_LENGTH */ - 2191, /* GL_UNPACK_SKIP_ROWS */ - 2190, /* GL_UNPACK_SKIP_PIXELS */ - 2185, /* GL_UNPACK_ALIGNMENT */ - 1329, /* GL_PACK_SWAP_BYTES */ - 1324, /* GL_PACK_LSB_FIRST */ - 1325, /* GL_PACK_ROW_LENGTH */ - 1328, /* GL_PACK_SKIP_ROWS */ - 1327, /* GL_PACK_SKIP_PIXELS */ - 1321, /* GL_PACK_ALIGNMENT */ - 972, /* GL_MAP_COLOR */ - 977, /* GL_MAP_STENCIL */ - 764, /* GL_INDEX_SHIFT */ - 763, /* GL_INDEX_OFFSET */ - 1582, /* GL_RED_SCALE */ - 1578, /* GL_RED_BIAS */ - 2333, /* GL_ZOOM_X */ - 2334, /* GL_ZOOM_Y */ - 718, /* GL_GREEN_SCALE */ - 714, /* GL_GREEN_BIAS */ + 2093, /* GL_TEXTURE_GEN_S */ + 2095, /* GL_TEXTURE_GEN_T */ + 2092, /* GL_TEXTURE_GEN_R */ + 2091, /* GL_TEXTURE_GEN_Q */ + 1355, /* GL_PIXEL_MAP_I_TO_I */ + 1361, /* GL_PIXEL_MAP_S_TO_S */ + 1357, /* GL_PIXEL_MAP_I_TO_R */ + 1353, /* GL_PIXEL_MAP_I_TO_G */ + 1351, /* GL_PIXEL_MAP_I_TO_B */ + 1349, /* GL_PIXEL_MAP_I_TO_A */ + 1359, /* GL_PIXEL_MAP_R_TO_R */ + 1347, /* GL_PIXEL_MAP_G_TO_G */ + 1345, /* GL_PIXEL_MAP_B_TO_B */ + 1343, /* GL_PIXEL_MAP_A_TO_A */ + 1356, /* GL_PIXEL_MAP_I_TO_I_SIZE */ + 1362, /* GL_PIXEL_MAP_S_TO_S_SIZE */ + 1358, /* GL_PIXEL_MAP_I_TO_R_SIZE */ + 1354, /* GL_PIXEL_MAP_I_TO_G_SIZE */ + 1352, /* GL_PIXEL_MAP_I_TO_B_SIZE */ + 1350, /* GL_PIXEL_MAP_I_TO_A_SIZE */ + 1360, /* GL_PIXEL_MAP_R_TO_R_SIZE */ + 1348, /* GL_PIXEL_MAP_G_TO_G_SIZE */ + 1346, /* GL_PIXEL_MAP_B_TO_B_SIZE */ + 1344, /* GL_PIXEL_MAP_A_TO_A_SIZE */ + 2197, /* GL_UNPACK_SWAP_BYTES */ + 2192, /* GL_UNPACK_LSB_FIRST */ + 2193, /* GL_UNPACK_ROW_LENGTH */ + 2196, /* GL_UNPACK_SKIP_ROWS */ + 2195, /* GL_UNPACK_SKIP_PIXELS */ + 2190, /* GL_UNPACK_ALIGNMENT */ + 1330, /* GL_PACK_SWAP_BYTES */ + 1325, /* GL_PACK_LSB_FIRST */ + 1326, /* GL_PACK_ROW_LENGTH */ + 1329, /* GL_PACK_SKIP_ROWS */ + 1328, /* GL_PACK_SKIP_PIXELS */ + 1322, /* GL_PACK_ALIGNMENT */ + 973, /* GL_MAP_COLOR */ + 978, /* GL_MAP_STENCIL */ + 765, /* GL_INDEX_SHIFT */ + 764, /* GL_INDEX_OFFSET */ + 1583, /* GL_RED_SCALE */ + 1579, /* GL_RED_BIAS */ + 2338, /* GL_ZOOM_X */ + 2339, /* GL_ZOOM_Y */ + 719, /* GL_GREEN_SCALE */ + 715, /* GL_GREEN_BIAS */ 115, /* GL_BLUE_SCALE */ 111, /* GL_BLUE_BIAS */ 50, /* GL_ALPHA_SCALE */ 47, /* GL_ALPHA_BIAS */ 430, /* GL_DEPTH_SCALE */ 406, /* GL_DEPTH_BIAS */ - 1064, /* GL_MAX_EVAL_ORDER */ - 1081, /* GL_MAX_LIGHTS */ - 1043, /* GL_MAX_CLIP_DISTANCES */ - 1137, /* GL_MAX_TEXTURE_SIZE */ - 1088, /* GL_MAX_PIXEL_MAP_TABLE */ - 1039, /* GL_MAX_ATTRIB_STACK_DEPTH */ - 1084, /* GL_MAX_MODELVIEW_STACK_DEPTH */ - 1085, /* GL_MAX_NAME_STACK_DEPTH */ - 1116, /* GL_MAX_PROJECTION_STACK_DEPTH */ - 1138, /* GL_MAX_TEXTURE_STACK_DEPTH */ - 1164, /* GL_MAX_VIEWPORT_DIMS */ - 1040, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ - 1902, /* GL_SUBPIXEL_BITS */ - 759, /* GL_INDEX_BITS */ - 1579, /* GL_RED_BITS */ - 715, /* GL_GREEN_BITS */ + 1065, /* GL_MAX_EVAL_ORDER */ + 1082, /* GL_MAX_LIGHTS */ + 1044, /* GL_MAX_CLIP_DISTANCES */ + 1138, /* GL_MAX_TEXTURE_SIZE */ + 1089, /* GL_MAX_PIXEL_MAP_TABLE */ + 1040, /* GL_MAX_ATTRIB_STACK_DEPTH */ + 1085, /* GL_MAX_MODELVIEW_STACK_DEPTH */ + 1086, /* GL_MAX_NAME_STACK_DEPTH */ + 1117, /* GL_MAX_PROJECTION_STACK_DEPTH */ + 1139, /* GL_MAX_TEXTURE_STACK_DEPTH */ + 1165, /* GL_MAX_VIEWPORT_DIMS */ + 1041, /* GL_MAX_CLIENT_ATTRIB_STACK_DEPTH */ + 1905, /* GL_SUBPIXEL_BITS */ + 760, /* GL_INDEX_BITS */ + 1580, /* GL_RED_BITS */ + 716, /* GL_GREEN_BITS */ 112, /* GL_BLUE_BITS */ 48, /* GL_ALPHA_BITS */ 407, /* GL_DEPTH_BITS */ - 1866, /* GL_STENCIL_BITS */ + 1869, /* GL_STENCIL_BITS */ 14, /* GL_ACCUM_RED_BITS */ 13, /* GL_ACCUM_GREEN_BITS */ 10, /* GL_ACCUM_BLUE_BITS */ 9, /* GL_ACCUM_ALPHA_BITS */ - 1236, /* GL_NAME_STACK_DEPTH */ + 1237, /* GL_NAME_STACK_DEPTH */ 70, /* GL_AUTO_NORMAL */ - 918, /* GL_MAP1_COLOR_4 */ - 921, /* GL_MAP1_INDEX */ - 922, /* GL_MAP1_NORMAL */ - 923, /* GL_MAP1_TEXTURE_COORD_1 */ - 924, /* GL_MAP1_TEXTURE_COORD_2 */ - 925, /* GL_MAP1_TEXTURE_COORD_3 */ - 926, /* GL_MAP1_TEXTURE_COORD_4 */ - 927, /* GL_MAP1_VERTEX_3 */ - 928, /* GL_MAP1_VERTEX_4 */ - 945, /* GL_MAP2_COLOR_4 */ - 948, /* GL_MAP2_INDEX */ - 949, /* GL_MAP2_NORMAL */ - 950, /* GL_MAP2_TEXTURE_COORD_1 */ - 951, /* GL_MAP2_TEXTURE_COORD_2 */ - 952, /* GL_MAP2_TEXTURE_COORD_3 */ - 953, /* GL_MAP2_TEXTURE_COORD_4 */ - 954, /* GL_MAP2_VERTEX_3 */ - 955, /* GL_MAP2_VERTEX_4 */ - 919, /* GL_MAP1_GRID_DOMAIN */ - 920, /* GL_MAP1_GRID_SEGMENTS */ - 946, /* GL_MAP2_GRID_DOMAIN */ - 947, /* GL_MAP2_GRID_SEGMENTS */ - 1985, /* GL_TEXTURE_1D */ - 1988, /* GL_TEXTURE_2D */ + 919, /* GL_MAP1_COLOR_4 */ + 922, /* GL_MAP1_INDEX */ + 923, /* GL_MAP1_NORMAL */ + 924, /* GL_MAP1_TEXTURE_COORD_1 */ + 925, /* GL_MAP1_TEXTURE_COORD_2 */ + 926, /* GL_MAP1_TEXTURE_COORD_3 */ + 927, /* GL_MAP1_TEXTURE_COORD_4 */ + 928, /* GL_MAP1_VERTEX_3 */ + 929, /* GL_MAP1_VERTEX_4 */ + 946, /* GL_MAP2_COLOR_4 */ + 949, /* GL_MAP2_INDEX */ + 950, /* GL_MAP2_NORMAL */ + 951, /* GL_MAP2_TEXTURE_COORD_1 */ + 952, /* GL_MAP2_TEXTURE_COORD_2 */ + 953, /* GL_MAP2_TEXTURE_COORD_3 */ + 954, /* GL_MAP2_TEXTURE_COORD_4 */ + 955, /* GL_MAP2_VERTEX_3 */ + 956, /* GL_MAP2_VERTEX_4 */ + 920, /* GL_MAP1_GRID_DOMAIN */ + 921, /* GL_MAP1_GRID_SEGMENTS */ + 947, /* GL_MAP2_GRID_DOMAIN */ + 948, /* GL_MAP2_GRID_SEGMENTS */ + 1988, /* GL_TEXTURE_1D */ + 1991, /* GL_TEXTURE_2D */ 558, /* GL_FEEDBACK_BUFFER_POINTER */ 559, /* GL_FEEDBACK_BUFFER_SIZE */ 560, /* GL_FEEDBACK_BUFFER_TYPE */ - 1772, /* GL_SELECTION_BUFFER_POINTER */ - 1773, /* GL_SELECTION_BUFFER_SIZE */ - 2134, /* GL_TEXTURE_WIDTH */ - 2094, /* GL_TEXTURE_HEIGHT */ - 2038, /* GL_TEXTURE_COMPONENTS */ - 2016, /* GL_TEXTURE_BORDER_COLOR */ - 2015, /* GL_TEXTURE_BORDER */ + 1775, /* GL_SELECTION_BUFFER_POINTER */ + 1776, /* GL_SELECTION_BUFFER_SIZE */ + 2139, /* GL_TEXTURE_WIDTH */ + 2099, /* GL_TEXTURE_HEIGHT */ + 2042, /* GL_TEXTURE_COMPONENTS */ + 2020, /* GL_TEXTURE_BORDER_COLOR */ + 2019, /* GL_TEXTURE_BORDER */ 445, /* GL_DONT_CARE */ 556, /* GL_FASTEST */ - 1244, /* GL_NICEST */ + 1245, /* GL_NICEST */ 56, /* GL_AMBIENT */ 442, /* GL_DIFFUSE */ - 1825, /* GL_SPECULAR */ - 1421, /* GL_POSITION */ - 1828, /* GL_SPOT_DIRECTION */ - 1829, /* GL_SPOT_EXPONENT */ - 1827, /* GL_SPOT_CUTOFF */ + 1828, /* GL_SPECULAR */ + 1422, /* GL_POSITION */ + 1831, /* GL_SPOT_DIRECTION */ + 1832, /* GL_SPOT_EXPONENT */ + 1830, /* GL_SPOT_CUTOFF */ 320, /* GL_CONSTANT_ATTENUATION */ - 846, /* GL_LINEAR_ATTENUATION */ - 1538, /* GL_QUADRATIC_ATTENUATION */ + 847, /* GL_LINEAR_ATTENUATION */ + 1539, /* GL_QUADRATIC_ATTENUATION */ 287, /* GL_COMPILE */ 288, /* GL_COMPILE_AND_EXECUTE */ 149, /* GL_BYTE */ - 2194, /* GL_UNSIGNED_BYTE */ - 1790, /* GL_SHORT */ - 2233, /* GL_UNSIGNED_SHORT */ - 768, /* GL_INT */ - 2197, /* GL_UNSIGNED_INT */ + 2199, /* GL_UNSIGNED_BYTE */ + 1793, /* GL_SHORT */ + 2238, /* GL_UNSIGNED_SHORT */ + 769, /* GL_INT */ + 2202, /* GL_UNSIGNED_INT */ 569, /* GL_FLOAT */ 1, /* GL_2_BYTES */ 5, /* GL_3_BYTES */ 7, /* GL_4_BYTES */ 452, /* GL_DOUBLE */ - 720, /* GL_HALF_FLOAT */ + 721, /* GL_HALF_FLOAT */ 564, /* GL_FIXED */ 165, /* GL_CLEAR */ 58, /* GL_AND */ 60, /* GL_AND_REVERSE */ 351, /* GL_COPY */ 59, /* GL_AND_INVERTED */ - 1247, /* GL_NOOP */ - 2329, /* GL_XOR */ - 1316, /* GL_OR */ - 1248, /* GL_NOR */ + 1248, /* GL_NOOP */ + 2334, /* GL_XOR */ + 1317, /* GL_OR */ + 1249, /* GL_NOR */ 546, /* GL_EQUIV */ - 822, /* GL_INVERT */ - 1319, /* GL_OR_REVERSE */ + 823, /* GL_INVERT */ + 1320, /* GL_OR_REVERSE */ 352, /* GL_COPY_INVERTED */ - 1318, /* GL_OR_INVERTED */ - 1237, /* GL_NAND */ - 1779, /* GL_SET */ + 1319, /* GL_OR_INVERTED */ + 1238, /* GL_NAND */ + 1782, /* GL_SET */ 543, /* GL_EMISSION */ - 1789, /* GL_SHININESS */ + 1792, /* GL_SHININESS */ 57, /* GL_AMBIENT_AND_DIFFUSE */ 232, /* GL_COLOR_INDEXES */ - 1186, /* GL_MODELVIEW */ - 1510, /* GL_PROJECTION */ - 1920, /* GL_TEXTURE */ + 1187, /* GL_MODELVIEW */ + 1511, /* GL_PROJECTION */ + 1923, /* GL_TEXTURE */ 188, /* GL_COLOR */ 399, /* GL_DEPTH */ - 1851, /* GL_STENCIL */ + 1854, /* GL_STENCIL */ 231, /* GL_COLOR_INDEX */ - 1872, /* GL_STENCIL_INDEX */ + 1875, /* GL_STENCIL_INDEX */ 415, /* GL_DEPTH_COMPONENT */ - 1575, /* GL_RED */ - 713, /* GL_GREEN */ + 1576, /* GL_RED */ + 714, /* GL_GREEN */ 110, /* GL_BLUE */ 32, /* GL_ALPHA */ - 1632, /* GL_RGB */ - 1672, /* GL_RGBA */ - 881, /* GL_LUMINANCE */ - 908, /* GL_LUMINANCE_ALPHA */ + 1634, /* GL_RGB */ + 1674, /* GL_RGBA */ + 882, /* GL_LUMINANCE */ + 909, /* GL_LUMINANCE_ALPHA */ 86, /* GL_BITMAP */ - 1371, /* GL_POINT */ - 844, /* GL_LINE */ + 1372, /* GL_POINT */ + 845, /* GL_LINE */ 561, /* GL_FILL */ - 1589, /* GL_RENDER */ + 1590, /* GL_RENDER */ 557, /* GL_FEEDBACK */ - 1771, /* GL_SELECT */ + 1774, /* GL_SELECT */ 568, /* GL_FLAT */ - 1800, /* GL_SMOOTH */ - 823, /* GL_KEEP */ - 1622, /* GL_REPLACE */ - 749, /* GL_INCR */ + 1803, /* GL_SMOOTH */ + 824, /* GL_KEEP */ + 1623, /* GL_REPLACE */ + 750, /* GL_INCR */ 395, /* GL_DECR */ - 2250, /* GL_VENDOR */ - 1619, /* GL_RENDERER */ - 2251, /* GL_VERSION */ + 2255, /* GL_VENDOR */ + 1620, /* GL_RENDERER */ + 2256, /* GL_VERSION */ 550, /* GL_EXTENSIONS */ - 1720, /* GL_S */ - 1911, /* GL_T */ - 1558, /* GL_R */ - 1537, /* GL_Q */ - 1223, /* GL_MODULATE */ + 1722, /* GL_S */ + 1914, /* GL_T */ + 1559, /* GL_R */ + 1538, /* GL_Q */ + 1224, /* GL_MODULATE */ 394, /* GL_DECAL */ - 2081, /* GL_TEXTURE_ENV_MODE */ - 2080, /* GL_TEXTURE_ENV_COLOR */ - 2079, /* GL_TEXTURE_ENV */ + 2085, /* GL_TEXTURE_ENV_MODE */ + 2084, /* GL_TEXTURE_ENV_COLOR */ + 2083, /* GL_TEXTURE_ENV */ 551, /* GL_EYE_LINEAR */ - 1277, /* GL_OBJECT_LINEAR */ - 1826, /* GL_SPHERE_MAP */ - 2084, /* GL_TEXTURE_GEN_MODE */ - 1279, /* GL_OBJECT_PLANE */ + 1278, /* GL_OBJECT_LINEAR */ + 1829, /* GL_SPHERE_MAP */ + 2089, /* GL_TEXTURE_GEN_MODE */ + 1280, /* GL_OBJECT_PLANE */ 552, /* GL_EYE_PLANE */ - 1238, /* GL_NEAREST */ - 845, /* GL_LINEAR */ - 1242, /* GL_NEAREST_MIPMAP_NEAREST */ - 850, /* GL_LINEAR_MIPMAP_NEAREST */ - 1241, /* GL_NEAREST_MIPMAP_LINEAR */ - 849, /* GL_LINEAR_MIPMAP_LINEAR */ - 2107, /* GL_TEXTURE_MAG_FILTER */ - 2116, /* GL_TEXTURE_MIN_FILTER */ - 2137, /* GL_TEXTURE_WRAP_S */ - 2138, /* GL_TEXTURE_WRAP_T */ + 1239, /* GL_NEAREST */ + 846, /* GL_LINEAR */ + 1243, /* GL_NEAREST_MIPMAP_NEAREST */ + 851, /* GL_LINEAR_MIPMAP_NEAREST */ + 1242, /* GL_NEAREST_MIPMAP_LINEAR */ + 850, /* GL_LINEAR_MIPMAP_LINEAR */ + 2112, /* GL_TEXTURE_MAG_FILTER */ + 2121, /* GL_TEXTURE_MIN_FILTER */ + 2142, /* GL_TEXTURE_WRAP_S */ + 2143, /* GL_TEXTURE_WRAP_T */ 155, /* GL_CLAMP */ - 1621, /* GL_REPEAT */ - 1415, /* GL_POLYGON_OFFSET_UNITS */ - 1414, /* GL_POLYGON_OFFSET_POINT */ - 1413, /* GL_POLYGON_OFFSET_LINE */ - 1561, /* GL_R3_G3_B2 */ - 2247, /* GL_V2F */ - 2248, /* GL_V3F */ + 1622, /* GL_REPEAT */ + 1416, /* GL_POLYGON_OFFSET_UNITS */ + 1415, /* GL_POLYGON_OFFSET_POINT */ + 1414, /* GL_POLYGON_OFFSET_LINE */ + 1562, /* GL_R3_G3_B2 */ + 2252, /* GL_V2F */ + 2253, /* GL_V3F */ 152, /* GL_C4UB_V2F */ 153, /* GL_C4UB_V3F */ 150, /* GL_C3F_V3F */ - 1235, /* GL_N3F_V3F */ + 1236, /* GL_N3F_V3F */ 151, /* GL_C4F_N3F_V3F */ - 1916, /* GL_T2F_V3F */ - 1918, /* GL_T4F_V4F */ - 1914, /* GL_T2F_C4UB_V3F */ - 1912, /* GL_T2F_C3F_V3F */ - 1915, /* GL_T2F_N3F_V3F */ - 1913, /* GL_T2F_C4F_N3F_V3F */ - 1917, /* GL_T4F_C4F_N3F_V4F */ + 1919, /* GL_T2F_V3F */ + 1921, /* GL_T4F_V4F */ + 1917, /* GL_T2F_C4UB_V3F */ + 1915, /* GL_T2F_C3F_V3F */ + 1918, /* GL_T2F_N3F_V3F */ + 1916, /* GL_T2F_C4F_N3F_V3F */ + 1920, /* GL_T4F_C4F_N3F_V4F */ 172, /* GL_CLIP_DISTANCE0 */ 173, /* GL_CLIP_DISTANCE1 */ 174, /* GL_CLIP_DISTANCE2 */ @@ -5144,184 +5154,184 @@ static const unsigned reduced_enums[1564] = 177, /* GL_CLIP_DISTANCE5 */ 178, /* GL_CLIP_DISTANCE6 */ 179, /* GL_CLIP_DISTANCE7 */ - 829, /* GL_LIGHT0 */ - 830, /* GL_LIGHT1 */ - 831, /* GL_LIGHT2 */ - 832, /* GL_LIGHT3 */ - 833, /* GL_LIGHT4 */ - 834, /* GL_LIGHT5 */ - 835, /* GL_LIGHT6 */ - 836, /* GL_LIGHT7 */ - 724, /* GL_HINT_BIT */ + 830, /* GL_LIGHT0 */ + 831, /* GL_LIGHT1 */ + 832, /* GL_LIGHT2 */ + 833, /* GL_LIGHT3 */ + 834, /* GL_LIGHT4 */ + 835, /* GL_LIGHT5 */ + 836, /* GL_LIGHT6 */ + 837, /* GL_LIGHT7 */ + 725, /* GL_HINT_BIT */ 322, /* GL_CONSTANT_COLOR */ - 1290, /* GL_ONE_MINUS_CONSTANT_COLOR */ + 1291, /* GL_ONE_MINUS_CONSTANT_COLOR */ 317, /* GL_CONSTANT_ALPHA */ - 1288, /* GL_ONE_MINUS_CONSTANT_ALPHA */ + 1289, /* GL_ONE_MINUS_CONSTANT_ALPHA */ 89, /* GL_BLEND_COLOR */ 690, /* GL_FUNC_ADD */ - 1167, /* GL_MIN */ - 1034, /* GL_MAX */ + 1168, /* GL_MIN */ + 1035, /* GL_MAX */ 96, /* GL_BLEND_EQUATION */ 696, /* GL_FUNC_SUBTRACT */ 693, /* GL_FUNC_REVERSE_SUBTRACT */ 331, /* GL_CONVOLUTION_1D */ 332, /* GL_CONVOLUTION_2D */ - 1774, /* GL_SEPARABLE_2D */ + 1777, /* GL_SEPARABLE_2D */ 335, /* GL_CONVOLUTION_BORDER_MODE */ 339, /* GL_CONVOLUTION_FILTER_SCALE */ 337, /* GL_CONVOLUTION_FILTER_BIAS */ - 1576, /* GL_REDUCE */ + 1577, /* GL_REDUCE */ 341, /* GL_CONVOLUTION_FORMAT */ 345, /* GL_CONVOLUTION_WIDTH */ 343, /* GL_CONVOLUTION_HEIGHT */ - 1053, /* GL_MAX_CONVOLUTION_WIDTH */ - 1051, /* GL_MAX_CONVOLUTION_HEIGHT */ - 1454, /* GL_POST_CONVOLUTION_RED_SCALE */ - 1450, /* GL_POST_CONVOLUTION_GREEN_SCALE */ - 1445, /* GL_POST_CONVOLUTION_BLUE_SCALE */ - 1441, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ - 1452, /* GL_POST_CONVOLUTION_RED_BIAS */ - 1448, /* GL_POST_CONVOLUTION_GREEN_BIAS */ - 1443, /* GL_POST_CONVOLUTION_BLUE_BIAS */ - 1439, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ - 725, /* GL_HISTOGRAM */ - 1517, /* GL_PROXY_HISTOGRAM */ - 741, /* GL_HISTOGRAM_WIDTH */ - 731, /* GL_HISTOGRAM_FORMAT */ - 737, /* GL_HISTOGRAM_RED_SIZE */ - 733, /* GL_HISTOGRAM_GREEN_SIZE */ - 728, /* GL_HISTOGRAM_BLUE_SIZE */ - 726, /* GL_HISTOGRAM_ALPHA_SIZE */ - 735, /* GL_HISTOGRAM_LUMINANCE_SIZE */ - 739, /* GL_HISTOGRAM_SINK */ - 1168, /* GL_MINMAX */ - 1170, /* GL_MINMAX_FORMAT */ - 1172, /* GL_MINMAX_SINK */ - 1919, /* GL_TABLE_TOO_LARGE_EXT */ - 2196, /* GL_UNSIGNED_BYTE_3_3_2 */ - 2236, /* GL_UNSIGNED_SHORT_4_4_4_4 */ - 2239, /* GL_UNSIGNED_SHORT_5_5_5_1 */ - 2208, /* GL_UNSIGNED_INT_8_8_8_8 */ - 2199, /* GL_UNSIGNED_INT_10_10_10_2 */ - 1412, /* GL_POLYGON_OFFSET_FILL */ - 1411, /* GL_POLYGON_OFFSET_FACTOR */ - 1410, /* GL_POLYGON_OFFSET_BIAS */ - 1625, /* GL_RESCALE_NORMAL */ + 1054, /* GL_MAX_CONVOLUTION_WIDTH */ + 1052, /* GL_MAX_CONVOLUTION_HEIGHT */ + 1455, /* GL_POST_CONVOLUTION_RED_SCALE */ + 1451, /* GL_POST_CONVOLUTION_GREEN_SCALE */ + 1446, /* GL_POST_CONVOLUTION_BLUE_SCALE */ + 1442, /* GL_POST_CONVOLUTION_ALPHA_SCALE */ + 1453, /* GL_POST_CONVOLUTION_RED_BIAS */ + 1449, /* GL_POST_CONVOLUTION_GREEN_BIAS */ + 1444, /* GL_POST_CONVOLUTION_BLUE_BIAS */ + 1440, /* GL_POST_CONVOLUTION_ALPHA_BIAS */ + 726, /* GL_HISTOGRAM */ + 1518, /* GL_PROXY_HISTOGRAM */ + 742, /* GL_HISTOGRAM_WIDTH */ + 732, /* GL_HISTOGRAM_FORMAT */ + 738, /* GL_HISTOGRAM_RED_SIZE */ + 734, /* GL_HISTOGRAM_GREEN_SIZE */ + 729, /* GL_HISTOGRAM_BLUE_SIZE */ + 727, /* GL_HISTOGRAM_ALPHA_SIZE */ + 736, /* GL_HISTOGRAM_LUMINANCE_SIZE */ + 740, /* GL_HISTOGRAM_SINK */ + 1169, /* GL_MINMAX */ + 1171, /* GL_MINMAX_FORMAT */ + 1173, /* GL_MINMAX_SINK */ + 1922, /* GL_TABLE_TOO_LARGE_EXT */ + 2201, /* GL_UNSIGNED_BYTE_3_3_2 */ + 2241, /* GL_UNSIGNED_SHORT_4_4_4_4 */ + 2244, /* GL_UNSIGNED_SHORT_5_5_5_1 */ + 2213, /* GL_UNSIGNED_INT_8_8_8_8 */ + 2204, /* GL_UNSIGNED_INT_10_10_10_2 */ + 1413, /* GL_POLYGON_OFFSET_FILL */ + 1412, /* GL_POLYGON_OFFSET_FACTOR */ + 1411, /* GL_POLYGON_OFFSET_BIAS */ + 1627, /* GL_RESCALE_NORMAL */ 41, /* GL_ALPHA4 */ 43, /* GL_ALPHA8 */ 33, /* GL_ALPHA12 */ 35, /* GL_ALPHA16 */ - 896, /* GL_LUMINANCE4 */ - 902, /* GL_LUMINANCE8 */ - 882, /* GL_LUMINANCE12 */ - 888, /* GL_LUMINANCE16 */ - 897, /* GL_LUMINANCE4_ALPHA4 */ - 900, /* GL_LUMINANCE6_ALPHA2 */ - 905, /* GL_LUMINANCE8_ALPHA8 */ - 885, /* GL_LUMINANCE12_ALPHA4 */ - 883, /* GL_LUMINANCE12_ALPHA12 */ - 891, /* GL_LUMINANCE16_ALPHA16 */ - 769, /* GL_INTENSITY */ - 778, /* GL_INTENSITY4 */ - 780, /* GL_INTENSITY8 */ - 770, /* GL_INTENSITY12 */ - 772, /* GL_INTENSITY16 */ - 1647, /* GL_RGB2_EXT */ - 1653, /* GL_RGB4 */ - 1656, /* GL_RGB5 */ - 1663, /* GL_RGB8 */ - 1633, /* GL_RGB10 */ - 1637, /* GL_RGB12 */ - 1639, /* GL_RGB16 */ - 1683, /* GL_RGBA2 */ - 1690, /* GL_RGBA4 */ - 1659, /* GL_RGB5_A1 */ - 1695, /* GL_RGBA8 */ - 1634, /* GL_RGB10_A2 */ - 1673, /* GL_RGBA12 */ - 1675, /* GL_RGBA16 */ - 2124, /* GL_TEXTURE_RED_SIZE */ - 2092, /* GL_TEXTURE_GREEN_SIZE */ - 2013, /* GL_TEXTURE_BLUE_SIZE */ - 1993, /* GL_TEXTURE_ALPHA_SIZE */ - 2105, /* GL_TEXTURE_LUMINANCE_SIZE */ - 2096, /* GL_TEXTURE_INTENSITY_SIZE */ - 1623, /* GL_REPLACE_EXT */ - 1521, /* GL_PROXY_TEXTURE_1D */ - 1525, /* GL_PROXY_TEXTURE_2D */ - 2132, /* GL_TEXTURE_TOO_LARGE_EXT */ - 2118, /* GL_TEXTURE_PRIORITY */ - 2126, /* GL_TEXTURE_RESIDENT */ - 1996, /* GL_TEXTURE_BINDING_1D */ - 1999, /* GL_TEXTURE_BINDING_2D */ - 2002, /* GL_TEXTURE_BINDING_3D */ - 1326, /* GL_PACK_SKIP_IMAGES */ - 1322, /* GL_PACK_IMAGE_HEIGHT */ - 2189, /* GL_UNPACK_SKIP_IMAGES */ - 2186, /* GL_UNPACK_IMAGE_HEIGHT */ - 1991, /* GL_TEXTURE_3D */ - 1529, /* GL_PROXY_TEXTURE_3D */ - 2076, /* GL_TEXTURE_DEPTH */ - 2135, /* GL_TEXTURE_WRAP_R */ - 1035, /* GL_MAX_3D_TEXTURE_SIZE */ - 2252, /* GL_VERTEX_ARRAY */ - 1250, /* GL_NORMAL_ARRAY */ + 897, /* GL_LUMINANCE4 */ + 903, /* GL_LUMINANCE8 */ + 883, /* GL_LUMINANCE12 */ + 889, /* GL_LUMINANCE16 */ + 898, /* GL_LUMINANCE4_ALPHA4 */ + 901, /* GL_LUMINANCE6_ALPHA2 */ + 906, /* GL_LUMINANCE8_ALPHA8 */ + 886, /* GL_LUMINANCE12_ALPHA4 */ + 884, /* GL_LUMINANCE12_ALPHA12 */ + 892, /* GL_LUMINANCE16_ALPHA16 */ + 770, /* GL_INTENSITY */ + 779, /* GL_INTENSITY4 */ + 781, /* GL_INTENSITY8 */ + 771, /* GL_INTENSITY12 */ + 773, /* GL_INTENSITY16 */ + 1649, /* GL_RGB2_EXT */ + 1655, /* GL_RGB4 */ + 1658, /* GL_RGB5 */ + 1665, /* GL_RGB8 */ + 1635, /* GL_RGB10 */ + 1639, /* GL_RGB12 */ + 1641, /* GL_RGB16 */ + 1685, /* GL_RGBA2 */ + 1692, /* GL_RGBA4 */ + 1661, /* GL_RGB5_A1 */ + 1697, /* GL_RGBA8 */ + 1636, /* GL_RGB10_A2 */ + 1675, /* GL_RGBA12 */ + 1677, /* GL_RGBA16 */ + 2129, /* GL_TEXTURE_RED_SIZE */ + 2097, /* GL_TEXTURE_GREEN_SIZE */ + 2017, /* GL_TEXTURE_BLUE_SIZE */ + 1996, /* GL_TEXTURE_ALPHA_SIZE */ + 2110, /* GL_TEXTURE_LUMINANCE_SIZE */ + 2101, /* GL_TEXTURE_INTENSITY_SIZE */ + 1624, /* GL_REPLACE_EXT */ + 1522, /* GL_PROXY_TEXTURE_1D */ + 1526, /* GL_PROXY_TEXTURE_2D */ + 2137, /* GL_TEXTURE_TOO_LARGE_EXT */ + 2123, /* GL_TEXTURE_PRIORITY */ + 2131, /* GL_TEXTURE_RESIDENT */ + 1999, /* GL_TEXTURE_BINDING_1D */ + 2002, /* GL_TEXTURE_BINDING_2D */ + 2005, /* GL_TEXTURE_BINDING_3D */ + 1327, /* GL_PACK_SKIP_IMAGES */ + 1323, /* GL_PACK_IMAGE_HEIGHT */ + 2194, /* GL_UNPACK_SKIP_IMAGES */ + 2191, /* GL_UNPACK_IMAGE_HEIGHT */ + 1994, /* GL_TEXTURE_3D */ + 1530, /* GL_PROXY_TEXTURE_3D */ + 2080, /* GL_TEXTURE_DEPTH */ + 2140, /* GL_TEXTURE_WRAP_R */ + 1036, /* GL_MAX_3D_TEXTURE_SIZE */ + 2257, /* GL_VERTEX_ARRAY */ + 1251, /* GL_NORMAL_ARRAY */ 189, /* GL_COLOR_ARRAY */ - 753, /* GL_INDEX_ARRAY */ - 2046, /* GL_TEXTURE_COORD_ARRAY */ + 754, /* GL_INDEX_ARRAY */ + 2050, /* GL_TEXTURE_COORD_ARRAY */ 535, /* GL_EDGE_FLAG_ARRAY */ - 2258, /* GL_VERTEX_ARRAY_SIZE */ - 2260, /* GL_VERTEX_ARRAY_TYPE */ - 2259, /* GL_VERTEX_ARRAY_STRIDE */ - 1255, /* GL_NORMAL_ARRAY_TYPE */ - 1254, /* GL_NORMAL_ARRAY_STRIDE */ + 2263, /* GL_VERTEX_ARRAY_SIZE */ + 2265, /* GL_VERTEX_ARRAY_TYPE */ + 2264, /* GL_VERTEX_ARRAY_STRIDE */ + 1256, /* GL_NORMAL_ARRAY_TYPE */ + 1255, /* GL_NORMAL_ARRAY_STRIDE */ 193, /* GL_COLOR_ARRAY_SIZE */ 195, /* GL_COLOR_ARRAY_TYPE */ 194, /* GL_COLOR_ARRAY_STRIDE */ - 758, /* GL_INDEX_ARRAY_TYPE */ - 757, /* GL_INDEX_ARRAY_STRIDE */ - 2050, /* GL_TEXTURE_COORD_ARRAY_SIZE */ - 2052, /* GL_TEXTURE_COORD_ARRAY_TYPE */ - 2051, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ + 759, /* GL_INDEX_ARRAY_TYPE */ + 758, /* GL_INDEX_ARRAY_STRIDE */ + 2054, /* GL_TEXTURE_COORD_ARRAY_SIZE */ + 2056, /* GL_TEXTURE_COORD_ARRAY_TYPE */ + 2055, /* GL_TEXTURE_COORD_ARRAY_STRIDE */ 539, /* GL_EDGE_FLAG_ARRAY_STRIDE */ - 2257, /* GL_VERTEX_ARRAY_POINTER */ - 1253, /* GL_NORMAL_ARRAY_POINTER */ + 2262, /* GL_VERTEX_ARRAY_POINTER */ + 1254, /* GL_NORMAL_ARRAY_POINTER */ 192, /* GL_COLOR_ARRAY_POINTER */ - 756, /* GL_INDEX_ARRAY_POINTER */ - 2049, /* GL_TEXTURE_COORD_ARRAY_POINTER */ + 757, /* GL_INDEX_ARRAY_POINTER */ + 2053, /* GL_TEXTURE_COORD_ARRAY_POINTER */ 538, /* GL_EDGE_FLAG_ARRAY_POINTER */ - 1228, /* GL_MULTISAMPLE */ - 1748, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ - 1750, /* GL_SAMPLE_ALPHA_TO_ONE */ - 1755, /* GL_SAMPLE_COVERAGE */ - 1752, /* GL_SAMPLE_BUFFERS */ - 1743, /* GL_SAMPLES */ - 1759, /* GL_SAMPLE_COVERAGE_VALUE */ - 1757, /* GL_SAMPLE_COVERAGE_INVERT */ + 1229, /* GL_MULTISAMPLE */ + 1751, /* GL_SAMPLE_ALPHA_TO_COVERAGE */ + 1753, /* GL_SAMPLE_ALPHA_TO_ONE */ + 1758, /* GL_SAMPLE_COVERAGE */ + 1755, /* GL_SAMPLE_BUFFERS */ + 1746, /* GL_SAMPLES */ + 1762, /* GL_SAMPLE_COVERAGE_VALUE */ + 1760, /* GL_SAMPLE_COVERAGE_INVERT */ 237, /* GL_COLOR_MATRIX */ 239, /* GL_COLOR_MATRIX_STACK_DEPTH */ - 1047, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ - 1437, /* GL_POST_COLOR_MATRIX_RED_SCALE */ - 1433, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ - 1428, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ - 1424, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ - 1435, /* GL_POST_COLOR_MATRIX_RED_BIAS */ - 1431, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ - 1426, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ - 1422, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ - 2029, /* GL_TEXTURE_COLOR_TABLE_SGI */ - 1530, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ - 2031, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ + 1048, /* GL_MAX_COLOR_MATRIX_STACK_DEPTH */ + 1438, /* GL_POST_COLOR_MATRIX_RED_SCALE */ + 1434, /* GL_POST_COLOR_MATRIX_GREEN_SCALE */ + 1429, /* GL_POST_COLOR_MATRIX_BLUE_SCALE */ + 1425, /* GL_POST_COLOR_MATRIX_ALPHA_SCALE */ + 1436, /* GL_POST_COLOR_MATRIX_RED_BIAS */ + 1432, /* GL_POST_COLOR_MATRIX_GREEN_BIAS */ + 1427, /* GL_POST_COLOR_MATRIX_BLUE_BIAS */ + 1423, /* GL_POST_COLOR_MATRIX_ALPHA_BIAS */ + 2033, /* GL_TEXTURE_COLOR_TABLE_SGI */ + 1531, /* GL_PROXY_TEXTURE_COLOR_TABLE_SGI */ + 2035, /* GL_TEXTURE_COMPARE_FAIL_VALUE_ARB */ 94, /* GL_BLEND_DST_RGB */ 108, /* GL_BLEND_SRC_RGB */ 92, /* GL_BLEND_DST_ALPHA */ 106, /* GL_BLEND_SRC_ALPHA */ 243, /* GL_COLOR_TABLE */ - 1447, /* GL_POST_CONVOLUTION_COLOR_TABLE */ - 1430, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ - 1516, /* GL_PROXY_COLOR_TABLE */ - 1520, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ - 1519, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ + 1448, /* GL_POST_CONVOLUTION_COLOR_TABLE */ + 1431, /* GL_POST_COLOR_MATRIX_COLOR_TABLE */ + 1517, /* GL_PROXY_COLOR_TABLE */ + 1521, /* GL_PROXY_POST_CONVOLUTION_COLOR_TABLE */ + 1520, /* GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE */ 267, /* GL_COLOR_TABLE_SCALE */ 247, /* GL_COLOR_TABLE_BIAS */ 252, /* GL_COLOR_TABLE_FORMAT */ @@ -5334,62 +5344,62 @@ static const unsigned reduced_enums[1564] = 258, /* GL_COLOR_TABLE_INTENSITY_SIZE */ 79, /* GL_BGR */ 80, /* GL_BGRA */ - 1063, /* GL_MAX_ELEMENTS_VERTICES */ - 1062, /* GL_MAX_ELEMENTS_INDICES */ - 2095, /* GL_TEXTURE_INDEX_SIZE_EXT */ + 1064, /* GL_MAX_ELEMENTS_VERTICES */ + 1063, /* GL_MAX_ELEMENTS_INDICES */ + 2100, /* GL_TEXTURE_INDEX_SIZE_EXT */ 186, /* GL_CLIP_VOLUME_CLIPPING_HINT_EXT */ - 1393, /* GL_POINT_SIZE_MIN */ - 1389, /* GL_POINT_SIZE_MAX */ - 1378, /* GL_POINT_FADE_THRESHOLD_SIZE */ - 1374, /* GL_POINT_DISTANCE_ATTENUATION */ + 1394, /* GL_POINT_SIZE_MIN */ + 1390, /* GL_POINT_SIZE_MAX */ + 1379, /* GL_POINT_FADE_THRESHOLD_SIZE */ + 1375, /* GL_POINT_DISTANCE_ATTENUATION */ 159, /* GL_CLAMP_TO_BORDER */ 162, /* GL_CLAMP_TO_EDGE */ - 2117, /* GL_TEXTURE_MIN_LOD */ - 2115, /* GL_TEXTURE_MAX_LOD */ - 1995, /* GL_TEXTURE_BASE_LEVEL */ - 2114, /* GL_TEXTURE_MAX_LEVEL */ - 744, /* GL_IGNORE_BORDER_HP */ + 2122, /* GL_TEXTURE_MIN_LOD */ + 2120, /* GL_TEXTURE_MAX_LOD */ + 1998, /* GL_TEXTURE_BASE_LEVEL */ + 2119, /* GL_TEXTURE_MAX_LEVEL */ + 745, /* GL_IGNORE_BORDER_HP */ 321, /* GL_CONSTANT_BORDER_HP */ - 1624, /* GL_REPLICATE_BORDER_HP */ + 1625, /* GL_REPLICATE_BORDER_HP */ 333, /* GL_CONVOLUTION_BORDER_COLOR */ - 1285, /* GL_OCCLUSION_TEST_HP */ - 1286, /* GL_OCCLUSION_TEST_RESULT_HP */ - 847, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ - 2023, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ - 2025, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ - 2027, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ - 2028, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 2026, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ - 2024, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ - 1041, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ - 1042, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ - 1457, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ - 1459, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ - 1456, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ - 1458, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ - 2103, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ - 2104, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ - 2102, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ + 1286, /* GL_OCCLUSION_TEST_HP */ + 1287, /* GL_OCCLUSION_TEST_RESULT_HP */ + 848, /* GL_LINEAR_CLIPMAP_LINEAR_SGIX */ + 2027, /* GL_TEXTURE_CLIPMAP_CENTER_SGIX */ + 2029, /* GL_TEXTURE_CLIPMAP_FRAME_SGIX */ + 2031, /* GL_TEXTURE_CLIPMAP_OFFSET_SGIX */ + 2032, /* GL_TEXTURE_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 2030, /* GL_TEXTURE_CLIPMAP_LOD_OFFSET_SGIX */ + 2028, /* GL_TEXTURE_CLIPMAP_DEPTH_SGIX */ + 1042, /* GL_MAX_CLIPMAP_DEPTH_SGIX */ + 1043, /* GL_MAX_CLIPMAP_VIRTUAL_DEPTH_SGIX */ + 1458, /* GL_POST_TEXTURE_FILTER_BIAS_SGIX */ + 1460, /* GL_POST_TEXTURE_FILTER_SCALE_SGIX */ + 1457, /* GL_POST_TEXTURE_FILTER_BIAS_RANGE_SGIX */ + 1459, /* GL_POST_TEXTURE_FILTER_SCALE_RANGE_SGIX */ + 2108, /* GL_TEXTURE_LOD_BIAS_S_SGIX */ + 2109, /* GL_TEXTURE_LOD_BIAS_T_SGIX */ + 2107, /* GL_TEXTURE_LOD_BIAS_R_SGIX */ 699, /* GL_GENERATE_MIPMAP */ 700, /* GL_GENERATE_MIPMAP_HINT */ 612, /* GL_FOG_OFFSET_SGIX */ 613, /* GL_FOG_OFFSET_VALUE_SGIX */ - 2037, /* GL_TEXTURE_COMPARE_SGIX */ - 2036, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ - 2099, /* GL_TEXTURE_LEQUAL_R_SGIX */ - 2091, /* GL_TEXTURE_GEQUAL_R_SGIX */ + 2041, /* GL_TEXTURE_COMPARE_SGIX */ + 2040, /* GL_TEXTURE_COMPARE_OPERATOR_SGIX */ + 2104, /* GL_TEXTURE_LEQUAL_R_SGIX */ + 2096, /* GL_TEXTURE_GEQUAL_R_SGIX */ 416, /* GL_DEPTH_COMPONENT16 */ 420, /* GL_DEPTH_COMPONENT24 */ 424, /* GL_DEPTH_COMPONENT32 */ 358, /* GL_CULL_VERTEX_EXT */ 360, /* GL_CULL_VERTEX_OBJECT_POSITION_EXT */ 359, /* GL_CULL_VERTEX_EYE_POSITION_EXT */ - 2325, /* GL_WRAP_BORDER_SUN */ - 2030, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ - 840, /* GL_LIGHT_MODEL_COLOR_CONTROL */ - 1793, /* GL_SINGLE_COLOR */ - 1777, /* GL_SEPARATE_SPECULAR_COLOR */ - 1788, /* GL_SHARED_TEXTURE_PALETTE_EXT */ + 2330, /* GL_WRAP_BORDER_SUN */ + 2034, /* GL_TEXTURE_COLOR_WRITEMASK_SGIS */ + 841, /* GL_LIGHT_MODEL_COLOR_CONTROL */ + 1796, /* GL_SINGLE_COLOR */ + 1780, /* GL_SEPARATE_SPECULAR_COLOR */ + 1791, /* GL_SHARED_TEXTURE_PALETTE_EXT */ 624, /* GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING */ 625, /* GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE */ 636, /* GL_FRAMEBUFFER_ATTACHMENT_RED_SIZE */ @@ -5401,46 +5411,46 @@ static const unsigned reduced_enums[1564] = 654, /* GL_FRAMEBUFFER_DEFAULT */ 681, /* GL_FRAMEBUFFER_UNDEFINED */ 432, /* GL_DEPTH_STENCIL_ATTACHMENT */ - 917, /* GL_MAJOR_VERSION */ - 1174, /* GL_MINOR_VERSION */ - 1265, /* GL_NUM_EXTENSIONS */ + 918, /* GL_MAJOR_VERSION */ + 1175, /* GL_MINOR_VERSION */ + 1266, /* GL_NUM_EXTENSIONS */ 327, /* GL_CONTEXT_FLAGS */ - 752, /* GL_INDEX */ + 753, /* GL_INDEX */ 410, /* GL_DEPTH_BUFFER */ - 1867, /* GL_STENCIL_BUFFER */ + 1870, /* GL_STENCIL_BUFFER */ 298, /* GL_COMPRESSED_RED */ 299, /* GL_COMPRESSED_RG */ - 877, /* GL_LOSE_CONTEXT_ON_RESET_ARB */ - 719, /* GL_GUILTY_CONTEXT_RESET_ARB */ - 767, /* GL_INNOCENT_CONTEXT_RESET_ARB */ - 2184, /* GL_UNKNOWN_CONTEXT_RESET_ARB */ - 1627, /* GL_RESET_NOTIFICATION_STRATEGY_ARB */ - 1479, /* GL_PROGRAM_BINARY_RETRIEVABLE_HINT */ - 1262, /* GL_NO_RESET_NOTIFICATION_ARB */ - 2195, /* GL_UNSIGNED_BYTE_2_3_3_REV */ - 2240, /* GL_UNSIGNED_SHORT_5_6_5 */ - 2241, /* GL_UNSIGNED_SHORT_5_6_5_REV */ - 2237, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ - 2234, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ - 2209, /* GL_UNSIGNED_INT_8_8_8_8_REV */ - 2205, /* GL_UNSIGNED_INT_2_10_10_10_REV */ - 2112, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ - 2113, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ - 2111, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ - 1178, /* GL_MIRRORED_REPEAT */ - 1713, /* GL_RGB_S3TC */ - 1655, /* GL_RGB4_S3TC */ - 1709, /* GL_RGBA_S3TC */ - 1694, /* GL_RGBA4_S3TC */ - 1703, /* GL_RGBA_DXT5_S3TC */ - 1691, /* GL_RGBA4_DXT5_S3TC */ + 878, /* GL_LOSE_CONTEXT_ON_RESET_ARB */ + 720, /* GL_GUILTY_CONTEXT_RESET_ARB */ + 768, /* GL_INNOCENT_CONTEXT_RESET_ARB */ + 2189, /* GL_UNKNOWN_CONTEXT_RESET_ARB */ + 1629, /* GL_RESET_NOTIFICATION_STRATEGY_ARB */ + 1480, /* GL_PROGRAM_BINARY_RETRIEVABLE_HINT */ + 1263, /* GL_NO_RESET_NOTIFICATION_ARB */ + 2200, /* GL_UNSIGNED_BYTE_2_3_3_REV */ + 2245, /* GL_UNSIGNED_SHORT_5_6_5 */ + 2246, /* GL_UNSIGNED_SHORT_5_6_5_REV */ + 2242, /* GL_UNSIGNED_SHORT_4_4_4_4_REV */ + 2239, /* GL_UNSIGNED_SHORT_1_5_5_5_REV */ + 2214, /* GL_UNSIGNED_INT_8_8_8_8_REV */ + 2210, /* GL_UNSIGNED_INT_2_10_10_10_REV */ + 2117, /* GL_TEXTURE_MAX_CLAMP_S_SGIX */ + 2118, /* GL_TEXTURE_MAX_CLAMP_T_SGIX */ + 2116, /* GL_TEXTURE_MAX_CLAMP_R_SGIX */ + 1179, /* GL_MIRRORED_REPEAT */ + 1715, /* GL_RGB_S3TC */ + 1657, /* GL_RGB4_S3TC */ + 1711, /* GL_RGBA_S3TC */ + 1696, /* GL_RGBA4_S3TC */ + 1705, /* GL_RGBA_DXT5_S3TC */ + 1693, /* GL_RGBA4_DXT5_S3TC */ 309, /* GL_COMPRESSED_RGB_S3TC_DXT1_EXT */ 304, /* GL_COMPRESSED_RGBA_S3TC_DXT1_EXT */ 305, /* GL_COMPRESSED_RGBA_S3TC_DXT3_EXT */ 306, /* GL_COMPRESSED_RGBA_S3TC_DXT5_EXT */ - 1240, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ - 1239, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ - 848, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ + 1241, /* GL_NEAREST_CLIPMAP_NEAREST_SGIX */ + 1240, /* GL_NEAREST_CLIPMAP_LINEAR_SGIX */ + 849, /* GL_LINEAR_CLIPMAP_NEAREST_SGIX */ 599, /* GL_FOG_COORDINATE_SOURCE */ 591, /* GL_FOG_COORD */ 615, /* GL_FRAGMENT_DEPTH */ @@ -5451,281 +5461,281 @@ static const unsigned reduced_enums[1564] = 593, /* GL_FOG_COORDINATE_ARRAY */ 241, /* GL_COLOR_SUM */ 385, /* GL_CURRENT_SECONDARY_COLOR */ - 1768, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ - 1770, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ - 1769, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ - 1767, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ - 1764, /* GL_SECONDARY_COLOR_ARRAY */ + 1771, /* GL_SECONDARY_COLOR_ARRAY_SIZE */ + 1773, /* GL_SECONDARY_COLOR_ARRAY_TYPE */ + 1772, /* GL_SECONDARY_COLOR_ARRAY_STRIDE */ + 1770, /* GL_SECONDARY_COLOR_ARRAY_POINTER */ + 1767, /* GL_SECONDARY_COLOR_ARRAY */ 383, /* GL_CURRENT_RASTER_SECONDARY_COLOR */ 29, /* GL_ALIASED_POINT_SIZE_RANGE */ 28, /* GL_ALIASED_LINE_WIDTH_RANGE */ - 1921, /* GL_TEXTURE0 */ - 1923, /* GL_TEXTURE1 */ - 1945, /* GL_TEXTURE2 */ - 1967, /* GL_TEXTURE3 */ - 1973, /* GL_TEXTURE4 */ - 1975, /* GL_TEXTURE5 */ - 1977, /* GL_TEXTURE6 */ - 1979, /* GL_TEXTURE7 */ - 1981, /* GL_TEXTURE8 */ - 1983, /* GL_TEXTURE9 */ - 1924, /* GL_TEXTURE10 */ - 1926, /* GL_TEXTURE11 */ - 1928, /* GL_TEXTURE12 */ - 1930, /* GL_TEXTURE13 */ - 1932, /* GL_TEXTURE14 */ - 1934, /* GL_TEXTURE15 */ - 1936, /* GL_TEXTURE16 */ - 1938, /* GL_TEXTURE17 */ - 1940, /* GL_TEXTURE18 */ - 1942, /* GL_TEXTURE19 */ - 1946, /* GL_TEXTURE20 */ - 1948, /* GL_TEXTURE21 */ - 1950, /* GL_TEXTURE22 */ - 1952, /* GL_TEXTURE23 */ - 1954, /* GL_TEXTURE24 */ - 1956, /* GL_TEXTURE25 */ - 1958, /* GL_TEXTURE26 */ - 1960, /* GL_TEXTURE27 */ - 1962, /* GL_TEXTURE28 */ - 1964, /* GL_TEXTURE29 */ - 1968, /* GL_TEXTURE30 */ - 1970, /* GL_TEXTURE31 */ + 1924, /* GL_TEXTURE0 */ + 1926, /* GL_TEXTURE1 */ + 1948, /* GL_TEXTURE2 */ + 1970, /* GL_TEXTURE3 */ + 1976, /* GL_TEXTURE4 */ + 1978, /* GL_TEXTURE5 */ + 1980, /* GL_TEXTURE6 */ + 1982, /* GL_TEXTURE7 */ + 1984, /* GL_TEXTURE8 */ + 1986, /* GL_TEXTURE9 */ + 1927, /* GL_TEXTURE10 */ + 1929, /* GL_TEXTURE11 */ + 1931, /* GL_TEXTURE12 */ + 1933, /* GL_TEXTURE13 */ + 1935, /* GL_TEXTURE14 */ + 1937, /* GL_TEXTURE15 */ + 1939, /* GL_TEXTURE16 */ + 1941, /* GL_TEXTURE17 */ + 1943, /* GL_TEXTURE18 */ + 1945, /* GL_TEXTURE19 */ + 1949, /* GL_TEXTURE20 */ + 1951, /* GL_TEXTURE21 */ + 1953, /* GL_TEXTURE22 */ + 1955, /* GL_TEXTURE23 */ + 1957, /* GL_TEXTURE24 */ + 1959, /* GL_TEXTURE25 */ + 1961, /* GL_TEXTURE26 */ + 1963, /* GL_TEXTURE27 */ + 1965, /* GL_TEXTURE28 */ + 1967, /* GL_TEXTURE29 */ + 1971, /* GL_TEXTURE30 */ + 1973, /* GL_TEXTURE31 */ 19, /* GL_ACTIVE_TEXTURE */ 166, /* GL_CLIENT_ACTIVE_TEXTURE */ - 1139, /* GL_MAX_TEXTURE_UNITS */ - 2167, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ - 2170, /* GL_TRANSPOSE_PROJECTION_MATRIX */ - 2172, /* GL_TRANSPOSE_TEXTURE_MATRIX */ - 2164, /* GL_TRANSPOSE_COLOR_MATRIX */ - 1903, /* GL_SUBTRACT */ - 1120, /* GL_MAX_RENDERBUFFER_SIZE */ + 1140, /* GL_MAX_TEXTURE_UNITS */ + 2172, /* GL_TRANSPOSE_MODELVIEW_MATRIX */ + 2175, /* GL_TRANSPOSE_PROJECTION_MATRIX */ + 2177, /* GL_TRANSPOSE_TEXTURE_MATRIX */ + 2169, /* GL_TRANSPOSE_COLOR_MATRIX */ + 1906, /* GL_SUBTRACT */ + 1121, /* GL_MAX_RENDERBUFFER_SIZE */ 290, /* GL_COMPRESSED_ALPHA */ 294, /* GL_COMPRESSED_LUMINANCE */ 295, /* GL_COMPRESSED_LUMINANCE_ALPHA */ 292, /* GL_COMPRESSED_INTENSITY */ 300, /* GL_COMPRESSED_RGB */ 301, /* GL_COMPRESSED_RGBA */ - 2044, /* GL_TEXTURE_COMPRESSION_HINT */ - 2121, /* GL_TEXTURE_RECTANGLE */ - 2009, /* GL_TEXTURE_BINDING_RECTANGLE */ - 1533, /* GL_PROXY_TEXTURE_RECTANGLE */ - 1117, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ + 2048, /* GL_TEXTURE_COMPRESSION_HINT */ + 2126, /* GL_TEXTURE_RECTANGLE */ + 2013, /* GL_TEXTURE_BINDING_RECTANGLE */ + 1534, /* GL_PROXY_TEXTURE_RECTANGLE */ + 1118, /* GL_MAX_RECTANGLE_TEXTURE_SIZE */ 431, /* GL_DEPTH_STENCIL */ - 2201, /* GL_UNSIGNED_INT_24_8 */ - 1134, /* GL_MAX_TEXTURE_LOD_BIAS */ - 2110, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ - 1136, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ - 2082, /* GL_TEXTURE_FILTER_CONTROL */ - 2100, /* GL_TEXTURE_LOD_BIAS */ + 2206, /* GL_UNSIGNED_INT_24_8 */ + 1135, /* GL_MAX_TEXTURE_LOD_BIAS */ + 2115, /* GL_TEXTURE_MAX_ANISOTROPY_EXT */ + 1137, /* GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT */ + 2087, /* GL_TEXTURE_FILTER_CONTROL */ + 2105, /* GL_TEXTURE_LOD_BIAS */ 274, /* GL_COMBINE4 */ - 1126, /* GL_MAX_SHININESS_NV */ - 1127, /* GL_MAX_SPOT_EXPONENT_NV */ - 750, /* GL_INCR_WRAP */ + 1127, /* GL_MAX_SHININESS_NV */ + 1128, /* GL_MAX_SPOT_EXPONENT_NV */ + 751, /* GL_INCR_WRAP */ 396, /* GL_DECR_WRAP */ - 1198, /* GL_MODELVIEW1_ARB */ - 1256, /* GL_NORMAL_MAP */ - 1584, /* GL_REFLECTION_MAP */ - 2054, /* GL_TEXTURE_CUBE_MAP */ - 2006, /* GL_TEXTURE_BINDING_CUBE_MAP */ - 2066, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ - 2056, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ - 2069, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ - 2059, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ - 2072, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ - 2062, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ - 1531, /* GL_PROXY_TEXTURE_CUBE_MAP */ - 1055, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ - 1234, /* GL_MULTISAMPLE_FILTER_HINT_NV */ - 1471, /* GL_PRIMITIVE_RESTART_NV */ - 1470, /* GL_PRIMITIVE_RESTART_INDEX_NV */ + 1199, /* GL_MODELVIEW1_ARB */ + 1257, /* GL_NORMAL_MAP */ + 1585, /* GL_REFLECTION_MAP */ + 2058, /* GL_TEXTURE_CUBE_MAP */ + 2009, /* GL_TEXTURE_BINDING_CUBE_MAP */ + 2070, /* GL_TEXTURE_CUBE_MAP_POSITIVE_X */ + 2060, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_X */ + 2073, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Y */ + 2063, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Y */ + 2076, /* GL_TEXTURE_CUBE_MAP_POSITIVE_Z */ + 2066, /* GL_TEXTURE_CUBE_MAP_NEGATIVE_Z */ + 1532, /* GL_PROXY_TEXTURE_CUBE_MAP */ + 1056, /* GL_MAX_CUBE_MAP_TEXTURE_SIZE */ + 1235, /* GL_MULTISAMPLE_FILTER_HINT_NV */ + 1472, /* GL_PRIMITIVE_RESTART_NV */ + 1471, /* GL_PRIMITIVE_RESTART_INDEX_NV */ 607, /* GL_FOG_DISTANCE_MODE_NV */ 554, /* GL_EYE_RADIAL_NV */ 553, /* GL_EYE_PLANE_ABSOLUTE_NV */ 273, /* GL_COMBINE */ 280, /* GL_COMBINE_RGB */ 275, /* GL_COMBINE_ALPHA */ - 1714, /* GL_RGB_SCALE */ + 1716, /* GL_RGB_SCALE */ 25, /* GL_ADD_SIGNED */ - 787, /* GL_INTERPOLATE */ + 788, /* GL_INTERPOLATE */ 316, /* GL_CONSTANT */ - 1463, /* GL_PRIMARY_COLOR */ - 1460, /* GL_PREVIOUS */ - 1808, /* GL_SOURCE0_RGB */ - 1814, /* GL_SOURCE1_RGB */ - 1820, /* GL_SOURCE2_RGB */ - 1824, /* GL_SOURCE3_RGB_NV */ - 1805, /* GL_SOURCE0_ALPHA */ - 1811, /* GL_SOURCE1_ALPHA */ - 1817, /* GL_SOURCE2_ALPHA */ - 1823, /* GL_SOURCE3_ALPHA_NV */ - 1299, /* GL_OPERAND0_RGB */ - 1305, /* GL_OPERAND1_RGB */ - 1311, /* GL_OPERAND2_RGB */ - 1315, /* GL_OPERAND3_RGB_NV */ - 1296, /* GL_OPERAND0_ALPHA */ - 1302, /* GL_OPERAND1_ALPHA */ - 1308, /* GL_OPERAND2_ALPHA */ - 1314, /* GL_OPERAND3_ALPHA_NV */ + 1464, /* GL_PRIMARY_COLOR */ + 1461, /* GL_PREVIOUS */ + 1811, /* GL_SOURCE0_RGB */ + 1817, /* GL_SOURCE1_RGB */ + 1823, /* GL_SOURCE2_RGB */ + 1827, /* GL_SOURCE3_RGB_NV */ + 1808, /* GL_SOURCE0_ALPHA */ + 1814, /* GL_SOURCE1_ALPHA */ + 1820, /* GL_SOURCE2_ALPHA */ + 1826, /* GL_SOURCE3_ALPHA_NV */ + 1300, /* GL_OPERAND0_RGB */ + 1306, /* GL_OPERAND1_RGB */ + 1312, /* GL_OPERAND2_RGB */ + 1316, /* GL_OPERAND3_RGB_NV */ + 1297, /* GL_OPERAND0_ALPHA */ + 1303, /* GL_OPERAND1_ALPHA */ + 1309, /* GL_OPERAND2_ALPHA */ + 1315, /* GL_OPERAND3_ALPHA_NV */ 137, /* GL_BUFFER_OBJECT_APPLE */ - 2253, /* GL_VERTEX_ARRAY_BINDING */ - 2119, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ - 2120, /* GL_TEXTURE_RANGE_POINTER_APPLE */ - 2330, /* GL_YCBCR_422_APPLE */ - 2242, /* GL_UNSIGNED_SHORT_8_8_APPLE */ - 2244, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ - 2131, /* GL_TEXTURE_STORAGE_HINT_APPLE */ - 1894, /* GL_STORAGE_PRIVATE_APPLE */ - 1893, /* GL_STORAGE_CACHED_APPLE */ - 1895, /* GL_STORAGE_SHARED_APPLE */ - 1795, /* GL_SLICE_ACCUM_SUN */ - 1542, /* GL_QUAD_MESH_SUN */ - 2178, /* GL_TRIANGLE_MESH_SUN */ - 2295, /* GL_VERTEX_PROGRAM_ARB */ - 2306, /* GL_VERTEX_STATE_PROGRAM_NV */ - 2280, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ - 2288, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ - 2290, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ - 2292, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ + 2258, /* GL_VERTEX_ARRAY_BINDING */ + 2124, /* GL_TEXTURE_RANGE_LENGTH_APPLE */ + 2125, /* GL_TEXTURE_RANGE_POINTER_APPLE */ + 2335, /* GL_YCBCR_422_APPLE */ + 2247, /* GL_UNSIGNED_SHORT_8_8_APPLE */ + 2249, /* GL_UNSIGNED_SHORT_8_8_REV_APPLE */ + 2136, /* GL_TEXTURE_STORAGE_HINT_APPLE */ + 1897, /* GL_STORAGE_PRIVATE_APPLE */ + 1896, /* GL_STORAGE_CACHED_APPLE */ + 1898, /* GL_STORAGE_SHARED_APPLE */ + 1798, /* GL_SLICE_ACCUM_SUN */ + 1543, /* GL_QUAD_MESH_SUN */ + 2183, /* GL_TRIANGLE_MESH_SUN */ + 2300, /* GL_VERTEX_PROGRAM_ARB */ + 2311, /* GL_VERTEX_STATE_PROGRAM_NV */ + 2285, /* GL_VERTEX_ATTRIB_ARRAY_ENABLED */ + 2293, /* GL_VERTEX_ATTRIB_ARRAY_SIZE */ + 2295, /* GL_VERTEX_ATTRIB_ARRAY_STRIDE */ + 2297, /* GL_VERTEX_ATTRIB_ARRAY_TYPE */ 387, /* GL_CURRENT_VERTEX_ATTRIB */ - 1487, /* GL_PROGRAM_LENGTH_ARB */ - 1503, /* GL_PROGRAM_STRING_ARB */ - 1221, /* GL_MODELVIEW_PROJECTION_NV */ - 743, /* GL_IDENTITY_NV */ - 820, /* GL_INVERSE_NV */ - 2169, /* GL_TRANSPOSE_NV */ - 821, /* GL_INVERSE_TRANSPOSE_NV */ - 1101, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ - 1100, /* GL_MAX_PROGRAM_MATRICES_ARB */ - 981, /* GL_MATRIX0_NV */ - 993, /* GL_MATRIX1_NV */ - 1005, /* GL_MATRIX2_NV */ - 1009, /* GL_MATRIX3_NV */ - 1011, /* GL_MATRIX4_NV */ - 1013, /* GL_MATRIX5_NV */ - 1015, /* GL_MATRIX6_NV */ - 1017, /* GL_MATRIX7_NV */ + 1488, /* GL_PROGRAM_LENGTH_ARB */ + 1504, /* GL_PROGRAM_STRING_ARB */ + 1222, /* GL_MODELVIEW_PROJECTION_NV */ + 744, /* GL_IDENTITY_NV */ + 821, /* GL_INVERSE_NV */ + 2174, /* GL_TRANSPOSE_NV */ + 822, /* GL_INVERSE_TRANSPOSE_NV */ + 1102, /* GL_MAX_PROGRAM_MATRIX_STACK_DEPTH_ARB */ + 1101, /* GL_MAX_PROGRAM_MATRICES_ARB */ + 982, /* GL_MATRIX0_NV */ + 994, /* GL_MATRIX1_NV */ + 1006, /* GL_MATRIX2_NV */ + 1010, /* GL_MATRIX3_NV */ + 1012, /* GL_MATRIX4_NV */ + 1014, /* GL_MATRIX5_NV */ + 1016, /* GL_MATRIX6_NV */ + 1018, /* GL_MATRIX7_NV */ 370, /* GL_CURRENT_MATRIX_STACK_DEPTH_ARB */ 367, /* GL_CURRENT_MATRIX_ARB */ - 1500, /* GL_PROGRAM_POINT_SIZE */ - 2301, /* GL_VERTEX_PROGRAM_TWO_SIDE */ - 1499, /* GL_PROGRAM_PARAMETER_NV */ - 2286, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ - 1505, /* GL_PROGRAM_TARGET_NV */ - 1502, /* GL_PROGRAM_RESIDENT_NV */ - 2141, /* GL_TRACK_MATRIX_NV */ - 2142, /* GL_TRACK_MATRIX_TRANSFORM_NV */ - 2296, /* GL_VERTEX_PROGRAM_BINDING_NV */ - 1481, /* GL_PROGRAM_ERROR_POSITION_ARB */ + 1501, /* GL_PROGRAM_POINT_SIZE */ + 2306, /* GL_VERTEX_PROGRAM_TWO_SIDE */ + 1500, /* GL_PROGRAM_PARAMETER_NV */ + 2291, /* GL_VERTEX_ATTRIB_ARRAY_POINTER */ + 1506, /* GL_PROGRAM_TARGET_NV */ + 1503, /* GL_PROGRAM_RESIDENT_NV */ + 2146, /* GL_TRACK_MATRIX_NV */ + 2147, /* GL_TRACK_MATRIX_TRANSFORM_NV */ + 2301, /* GL_VERTEX_PROGRAM_BINDING_NV */ + 1482, /* GL_PROGRAM_ERROR_POSITION_ARB */ 412, /* GL_DEPTH_CLAMP */ - 2261, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ - 2268, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ - 2269, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ - 2270, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ - 2271, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ - 2272, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ - 2273, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ - 2274, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ - 2275, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ - 2276, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ - 2262, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ - 2263, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ - 2264, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ - 2265, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ - 2266, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ - 2267, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ - 929, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ - 936, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ - 937, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ - 938, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ - 939, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ - 940, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ - 941, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ - 942, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ - 943, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ - 944, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ - 930, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ - 931, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ - 932, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ - 933, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ - 934, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ - 935, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ - 956, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ - 963, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ - 964, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ - 965, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ - 966, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ - 967, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ - 968, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ - 1480, /* GL_PROGRAM_BINDING_ARB */ - 970, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ - 971, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ - 957, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ - 958, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ - 959, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ - 960, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ - 961, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ - 962, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ - 2042, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ - 2039, /* GL_TEXTURE_COMPRESSED */ - 1263, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ + 2266, /* GL_VERTEX_ATTRIB_ARRAY0_NV */ + 2273, /* GL_VERTEX_ATTRIB_ARRAY1_NV */ + 2274, /* GL_VERTEX_ATTRIB_ARRAY2_NV */ + 2275, /* GL_VERTEX_ATTRIB_ARRAY3_NV */ + 2276, /* GL_VERTEX_ATTRIB_ARRAY4_NV */ + 2277, /* GL_VERTEX_ATTRIB_ARRAY5_NV */ + 2278, /* GL_VERTEX_ATTRIB_ARRAY6_NV */ + 2279, /* GL_VERTEX_ATTRIB_ARRAY7_NV */ + 2280, /* GL_VERTEX_ATTRIB_ARRAY8_NV */ + 2281, /* GL_VERTEX_ATTRIB_ARRAY9_NV */ + 2267, /* GL_VERTEX_ATTRIB_ARRAY10_NV */ + 2268, /* GL_VERTEX_ATTRIB_ARRAY11_NV */ + 2269, /* GL_VERTEX_ATTRIB_ARRAY12_NV */ + 2270, /* GL_VERTEX_ATTRIB_ARRAY13_NV */ + 2271, /* GL_VERTEX_ATTRIB_ARRAY14_NV */ + 2272, /* GL_VERTEX_ATTRIB_ARRAY15_NV */ + 930, /* GL_MAP1_VERTEX_ATTRIB0_4_NV */ + 937, /* GL_MAP1_VERTEX_ATTRIB1_4_NV */ + 938, /* GL_MAP1_VERTEX_ATTRIB2_4_NV */ + 939, /* GL_MAP1_VERTEX_ATTRIB3_4_NV */ + 940, /* GL_MAP1_VERTEX_ATTRIB4_4_NV */ + 941, /* GL_MAP1_VERTEX_ATTRIB5_4_NV */ + 942, /* GL_MAP1_VERTEX_ATTRIB6_4_NV */ + 943, /* GL_MAP1_VERTEX_ATTRIB7_4_NV */ + 944, /* GL_MAP1_VERTEX_ATTRIB8_4_NV */ + 945, /* GL_MAP1_VERTEX_ATTRIB9_4_NV */ + 931, /* GL_MAP1_VERTEX_ATTRIB10_4_NV */ + 932, /* GL_MAP1_VERTEX_ATTRIB11_4_NV */ + 933, /* GL_MAP1_VERTEX_ATTRIB12_4_NV */ + 934, /* GL_MAP1_VERTEX_ATTRIB13_4_NV */ + 935, /* GL_MAP1_VERTEX_ATTRIB14_4_NV */ + 936, /* GL_MAP1_VERTEX_ATTRIB15_4_NV */ + 957, /* GL_MAP2_VERTEX_ATTRIB0_4_NV */ + 964, /* GL_MAP2_VERTEX_ATTRIB1_4_NV */ + 965, /* GL_MAP2_VERTEX_ATTRIB2_4_NV */ + 966, /* GL_MAP2_VERTEX_ATTRIB3_4_NV */ + 967, /* GL_MAP2_VERTEX_ATTRIB4_4_NV */ + 968, /* GL_MAP2_VERTEX_ATTRIB5_4_NV */ + 969, /* GL_MAP2_VERTEX_ATTRIB6_4_NV */ + 1481, /* GL_PROGRAM_BINDING_ARB */ + 971, /* GL_MAP2_VERTEX_ATTRIB8_4_NV */ + 972, /* GL_MAP2_VERTEX_ATTRIB9_4_NV */ + 958, /* GL_MAP2_VERTEX_ATTRIB10_4_NV */ + 959, /* GL_MAP2_VERTEX_ATTRIB11_4_NV */ + 960, /* GL_MAP2_VERTEX_ATTRIB12_4_NV */ + 961, /* GL_MAP2_VERTEX_ATTRIB13_4_NV */ + 962, /* GL_MAP2_VERTEX_ATTRIB14_4_NV */ + 963, /* GL_MAP2_VERTEX_ATTRIB15_4_NV */ + 2046, /* GL_TEXTURE_COMPRESSED_IMAGE_SIZE */ + 2043, /* GL_TEXTURE_COMPRESSED */ + 1264, /* GL_NUM_COMPRESSED_TEXTURE_FORMATS */ 314, /* GL_COMPRESSED_TEXTURE_FORMATS */ - 1161, /* GL_MAX_VERTEX_UNITS_ARB */ + 1162, /* GL_MAX_VERTEX_UNITS_ARB */ 23, /* GL_ACTIVE_VERTEX_UNITS_ARB */ - 2324, /* GL_WEIGHT_SUM_UNITY_ARB */ - 2294, /* GL_VERTEX_BLEND_ARB */ + 2329, /* GL_WEIGHT_SUM_UNITY_ARB */ + 2299, /* GL_VERTEX_BLEND_ARB */ 389, /* GL_CURRENT_WEIGHT_ARB */ - 2322, /* GL_WEIGHT_ARRAY_TYPE_ARB */ - 2320, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ - 2318, /* GL_WEIGHT_ARRAY_SIZE_ARB */ - 2316, /* GL_WEIGHT_ARRAY_POINTER_ARB */ - 2311, /* GL_WEIGHT_ARRAY_ARB */ + 2327, /* GL_WEIGHT_ARRAY_TYPE_ARB */ + 2325, /* GL_WEIGHT_ARRAY_STRIDE_ARB */ + 2323, /* GL_WEIGHT_ARRAY_SIZE_ARB */ + 2321, /* GL_WEIGHT_ARRAY_POINTER_ARB */ + 2316, /* GL_WEIGHT_ARRAY_ARB */ 446, /* GL_DOT3_RGB */ 447, /* GL_DOT3_RGBA */ 308, /* GL_COMPRESSED_RGB_FXT1_3DFX */ 303, /* GL_COMPRESSED_RGBA_FXT1_3DFX */ - 1229, /* GL_MULTISAMPLE_3DFX */ - 1753, /* GL_SAMPLE_BUFFERS_3DFX */ - 1744, /* GL_SAMPLES_3DFX */ - 1209, /* GL_MODELVIEW2_ARB */ - 1212, /* GL_MODELVIEW3_ARB */ - 1213, /* GL_MODELVIEW4_ARB */ - 1214, /* GL_MODELVIEW5_ARB */ - 1215, /* GL_MODELVIEW6_ARB */ - 1216, /* GL_MODELVIEW7_ARB */ - 1217, /* GL_MODELVIEW8_ARB */ - 1218, /* GL_MODELVIEW9_ARB */ - 1188, /* GL_MODELVIEW10_ARB */ - 1189, /* GL_MODELVIEW11_ARB */ - 1190, /* GL_MODELVIEW12_ARB */ - 1191, /* GL_MODELVIEW13_ARB */ - 1192, /* GL_MODELVIEW14_ARB */ - 1193, /* GL_MODELVIEW15_ARB */ - 1194, /* GL_MODELVIEW16_ARB */ - 1195, /* GL_MODELVIEW17_ARB */ - 1196, /* GL_MODELVIEW18_ARB */ - 1197, /* GL_MODELVIEW19_ARB */ - 1199, /* GL_MODELVIEW20_ARB */ - 1200, /* GL_MODELVIEW21_ARB */ - 1201, /* GL_MODELVIEW22_ARB */ - 1202, /* GL_MODELVIEW23_ARB */ - 1203, /* GL_MODELVIEW24_ARB */ - 1204, /* GL_MODELVIEW25_ARB */ - 1205, /* GL_MODELVIEW26_ARB */ - 1206, /* GL_MODELVIEW27_ARB */ - 1207, /* GL_MODELVIEW28_ARB */ - 1208, /* GL_MODELVIEW29_ARB */ - 1210, /* GL_MODELVIEW30_ARB */ - 1211, /* GL_MODELVIEW31_ARB */ + 1230, /* GL_MULTISAMPLE_3DFX */ + 1756, /* GL_SAMPLE_BUFFERS_3DFX */ + 1747, /* GL_SAMPLES_3DFX */ + 1210, /* GL_MODELVIEW2_ARB */ + 1213, /* GL_MODELVIEW3_ARB */ + 1214, /* GL_MODELVIEW4_ARB */ + 1215, /* GL_MODELVIEW5_ARB */ + 1216, /* GL_MODELVIEW6_ARB */ + 1217, /* GL_MODELVIEW7_ARB */ + 1218, /* GL_MODELVIEW8_ARB */ + 1219, /* GL_MODELVIEW9_ARB */ + 1189, /* GL_MODELVIEW10_ARB */ + 1190, /* GL_MODELVIEW11_ARB */ + 1191, /* GL_MODELVIEW12_ARB */ + 1192, /* GL_MODELVIEW13_ARB */ + 1193, /* GL_MODELVIEW14_ARB */ + 1194, /* GL_MODELVIEW15_ARB */ + 1195, /* GL_MODELVIEW16_ARB */ + 1196, /* GL_MODELVIEW17_ARB */ + 1197, /* GL_MODELVIEW18_ARB */ + 1198, /* GL_MODELVIEW19_ARB */ + 1200, /* GL_MODELVIEW20_ARB */ + 1201, /* GL_MODELVIEW21_ARB */ + 1202, /* GL_MODELVIEW22_ARB */ + 1203, /* GL_MODELVIEW23_ARB */ + 1204, /* GL_MODELVIEW24_ARB */ + 1205, /* GL_MODELVIEW25_ARB */ + 1206, /* GL_MODELVIEW26_ARB */ + 1207, /* GL_MODELVIEW27_ARB */ + 1208, /* GL_MODELVIEW28_ARB */ + 1209, /* GL_MODELVIEW29_ARB */ + 1211, /* GL_MODELVIEW30_ARB */ + 1212, /* GL_MODELVIEW31_ARB */ 451, /* GL_DOT3_RGB_EXT */ - 1477, /* GL_PROGRAM_BINARY_LENGTH */ - 1182, /* GL_MIRROR_CLAMP_EXT */ - 1185, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ - 1224, /* GL_MODULATE_ADD_ATI */ - 1225, /* GL_MODULATE_SIGNED_ADD_ATI */ - 1226, /* GL_MODULATE_SUBTRACT_ATI */ - 2331, /* GL_YCBCR_MESA */ - 1323, /* GL_PACK_INVERT_MESA */ + 1478, /* GL_PROGRAM_BINARY_LENGTH */ + 1183, /* GL_MIRROR_CLAMP_EXT */ + 1186, /* GL_MIRROR_CLAMP_TO_EDGE_EXT */ + 1225, /* GL_MODULATE_ADD_ATI */ + 1226, /* GL_MODULATE_SIGNED_ADD_ATI */ + 1227, /* GL_MODULATE_SUBTRACT_ATI */ + 2336, /* GL_YCBCR_MESA */ + 1324, /* GL_PACK_INVERT_MESA */ 392, /* GL_DEBUG_OBJECT_MESA */ 393, /* GL_DEBUG_PRINT_MESA */ 391, /* GL_DEBUG_ASSERT_MESA */ @@ -5739,31 +5749,31 @@ static const unsigned reduced_enums[1564] = 526, /* GL_DU8DV8_ATI */ 143, /* GL_BUMP_ENVMAP_ATI */ 147, /* GL_BUMP_TARGET_ATI */ - 1266, /* GL_NUM_PROGRAM_BINARY_FORMATS */ - 1475, /* GL_PROGRAM_BINARY_FORMATS */ - 1857, /* GL_STENCIL_BACK_FUNC */ - 1855, /* GL_STENCIL_BACK_FAIL */ - 1859, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ - 1861, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ + 1267, /* GL_NUM_PROGRAM_BINARY_FORMATS */ + 1476, /* GL_PROGRAM_BINARY_FORMATS */ + 1860, /* GL_STENCIL_BACK_FUNC */ + 1858, /* GL_STENCIL_BACK_FAIL */ + 1862, /* GL_STENCIL_BACK_PASS_DEPTH_FAIL */ + 1864, /* GL_STENCIL_BACK_PASS_DEPTH_PASS */ 616, /* GL_FRAGMENT_PROGRAM_ARB */ - 1473, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1508, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1507, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1490, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1496, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1495, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 1090, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ - 1115, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ - 1114, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ - 1103, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ - 1109, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ - 1108, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ - 1685, /* GL_RGBA32F */ - 1648, /* GL_RGB32F */ - 1676, /* GL_RGBA16F */ - 1640, /* GL_RGB16F */ - 1704, /* GL_RGBA_FLOAT_MODE_ARB */ - 1058, /* GL_MAX_DRAW_BUFFERS */ + 1474, /* GL_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1509, /* GL_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1508, /* GL_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1491, /* GL_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1497, /* GL_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1496, /* GL_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 1091, /* GL_MAX_PROGRAM_ALU_INSTRUCTIONS_ARB */ + 1116, /* GL_MAX_PROGRAM_TEX_INSTRUCTIONS_ARB */ + 1115, /* GL_MAX_PROGRAM_TEX_INDIRECTIONS_ARB */ + 1104, /* GL_MAX_PROGRAM_NATIVE_ALU_INSTRUCTIONS_ARB */ + 1110, /* GL_MAX_PROGRAM_NATIVE_TEX_INSTRUCTIONS_ARB */ + 1109, /* GL_MAX_PROGRAM_NATIVE_TEX_INDIRECTIONS_ARB */ + 1687, /* GL_RGBA32F */ + 1650, /* GL_RGB32F */ + 1678, /* GL_RGBA16F */ + 1642, /* GL_RGB16F */ + 1706, /* GL_RGBA_FLOAT_MODE_ARB */ + 1059, /* GL_MAX_DRAW_BUFFERS */ 455, /* GL_DRAW_BUFFER0 */ 459, /* GL_DRAW_BUFFER1 */ 487, /* GL_DRAW_BUFFER2 */ @@ -5781,184 +5791,184 @@ static const unsigned reduced_enums[1564] = 476, /* GL_DRAW_BUFFER14 */ 480, /* GL_DRAW_BUFFER15 */ 97, /* GL_BLEND_EQUATION_ALPHA */ - 1032, /* GL_MATRIX_PALETTE_ARB */ - 1083, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ - 1086, /* GL_MAX_PALETTE_MATRICES_ARB */ + 1033, /* GL_MATRIX_PALETTE_ARB */ + 1084, /* GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB */ + 1087, /* GL_MAX_PALETTE_MATRICES_ARB */ 373, /* GL_CURRENT_PALETTE_MATRIX_ARB */ - 1020, /* GL_MATRIX_INDEX_ARRAY_ARB */ + 1021, /* GL_MATRIX_INDEX_ARRAY_ARB */ 368, /* GL_CURRENT_MATRIX_INDEX_ARB */ - 1025, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ - 1029, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ - 1027, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ - 1023, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ - 2077, /* GL_TEXTURE_DEPTH_SIZE */ + 1026, /* GL_MATRIX_INDEX_ARRAY_SIZE_ARB */ + 1030, /* GL_MATRIX_INDEX_ARRAY_TYPE_ARB */ + 1028, /* GL_MATRIX_INDEX_ARRAY_STRIDE_ARB */ + 1024, /* GL_MATRIX_INDEX_ARRAY_POINTER_ARB */ + 2081, /* GL_TEXTURE_DEPTH_SIZE */ 439, /* GL_DEPTH_TEXTURE_MODE */ - 2034, /* GL_TEXTURE_COMPARE_MODE */ - 2032, /* GL_TEXTURE_COMPARE_FUNC */ + 2038, /* GL_TEXTURE_COMPARE_MODE */ + 2036, /* GL_TEXTURE_COMPARE_FUNC */ 284, /* GL_COMPARE_REF_TO_TEXTURE */ - 1400, /* GL_POINT_SPRITE */ + 1401, /* GL_POINT_SPRITE */ 347, /* GL_COORD_REPLACE */ - 1405, /* GL_POINT_SPRITE_R_MODE_NV */ - 1548, /* GL_QUERY_COUNTER_BITS */ + 1406, /* GL_POINT_SPRITE_R_MODE_NV */ + 1549, /* GL_QUERY_COUNTER_BITS */ 376, /* GL_CURRENT_QUERY */ - 1552, /* GL_QUERY_RESULT */ - 1554, /* GL_QUERY_RESULT_AVAILABLE */ - 1153, /* GL_MAX_VERTEX_ATTRIBS */ - 2284, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ + 1553, /* GL_QUERY_RESULT */ + 1555, /* GL_QUERY_RESULT_AVAILABLE */ + 1154, /* GL_MAX_VERTEX_ATTRIBS */ + 2289, /* GL_VERTEX_ATTRIB_ARRAY_NORMALIZED */ 437, /* GL_DEPTH_STENCIL_TO_RGBA_NV */ 436, /* GL_DEPTH_STENCIL_TO_BGRA_NV */ - 1130, /* GL_MAX_TEXTURE_COORDS */ - 1132, /* GL_MAX_TEXTURE_IMAGE_UNITS */ - 1483, /* GL_PROGRAM_ERROR_STRING_ARB */ - 1485, /* GL_PROGRAM_FORMAT_ASCII_ARB */ - 1484, /* GL_PROGRAM_FORMAT_ARB */ - 2133, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ + 1131, /* GL_MAX_TEXTURE_COORDS */ + 1133, /* GL_MAX_TEXTURE_IMAGE_UNITS */ + 1484, /* GL_PROGRAM_ERROR_STRING_ARB */ + 1486, /* GL_PROGRAM_FORMAT_ASCII_ARB */ + 1485, /* GL_PROGRAM_FORMAT_ARB */ + 2138, /* GL_TEXTURE_UNSIGNED_REMAP_MODE_NV */ 409, /* GL_DEPTH_BOUNDS_TEST_EXT */ 408, /* GL_DEPTH_BOUNDS_EXT */ 61, /* GL_ARRAY_BUFFER */ 540, /* GL_ELEMENT_ARRAY_BUFFER */ 62, /* GL_ARRAY_BUFFER_BINDING */ 541, /* GL_ELEMENT_ARRAY_BUFFER_BINDING */ - 2255, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ - 1251, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ + 2260, /* GL_VERTEX_ARRAY_BUFFER_BINDING */ + 1252, /* GL_NORMAL_ARRAY_BUFFER_BINDING */ 190, /* GL_COLOR_ARRAY_BUFFER_BINDING */ - 754, /* GL_INDEX_ARRAY_BUFFER_BINDING */ - 2047, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ + 755, /* GL_INDEX_ARRAY_BUFFER_BINDING */ + 2051, /* GL_TEXTURE_COORD_ARRAY_BUFFER_BINDING */ 536, /* GL_EDGE_FLAG_ARRAY_BUFFER_BINDING */ - 1765, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ + 1768, /* GL_SECONDARY_COLOR_ARRAY_BUFFER_BINDING */ 594, /* GL_FOG_COORDINATE_ARRAY_BUFFER_BINDING */ - 2312, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ - 2277, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ - 1486, /* GL_PROGRAM_INSTRUCTIONS_ARB */ - 1096, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ - 1492, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1105, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ - 1506, /* GL_PROGRAM_TEMPORARIES_ARB */ - 1111, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ - 1494, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1107, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ - 1498, /* GL_PROGRAM_PARAMETERS_ARB */ - 1110, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ - 1493, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1106, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ - 1474, /* GL_PROGRAM_ATTRIBS_ARB */ - 1091, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ - 1491, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1104, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ - 1472, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1089, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ - 1489, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 1102, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ - 1097, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ - 1093, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ - 1509, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ - 2166, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ - 1571, /* GL_READ_ONLY */ - 2326, /* GL_WRITE_ONLY */ - 1573, /* GL_READ_WRITE */ + 2317, /* GL_WEIGHT_ARRAY_BUFFER_BINDING */ + 2282, /* GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING */ + 1487, /* GL_PROGRAM_INSTRUCTIONS_ARB */ + 1097, /* GL_MAX_PROGRAM_INSTRUCTIONS_ARB */ + 1493, /* GL_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1106, /* GL_MAX_PROGRAM_NATIVE_INSTRUCTIONS_ARB */ + 1507, /* GL_PROGRAM_TEMPORARIES_ARB */ + 1112, /* GL_MAX_PROGRAM_TEMPORARIES_ARB */ + 1495, /* GL_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1108, /* GL_MAX_PROGRAM_NATIVE_TEMPORARIES_ARB */ + 1499, /* GL_PROGRAM_PARAMETERS_ARB */ + 1111, /* GL_MAX_PROGRAM_PARAMETERS_ARB */ + 1494, /* GL_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1107, /* GL_MAX_PROGRAM_NATIVE_PARAMETERS_ARB */ + 1475, /* GL_PROGRAM_ATTRIBS_ARB */ + 1092, /* GL_MAX_PROGRAM_ATTRIBS_ARB */ + 1492, /* GL_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1105, /* GL_MAX_PROGRAM_NATIVE_ATTRIBS_ARB */ + 1473, /* GL_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1090, /* GL_MAX_PROGRAM_ADDRESS_REGISTERS_ARB */ + 1490, /* GL_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 1103, /* GL_MAX_PROGRAM_NATIVE_ADDRESS_REGISTERS_ARB */ + 1098, /* GL_MAX_PROGRAM_LOCAL_PARAMETERS_ARB */ + 1094, /* GL_MAX_PROGRAM_ENV_PARAMETERS_ARB */ + 1510, /* GL_PROGRAM_UNDER_NATIVE_LIMITS_ARB */ + 2171, /* GL_TRANSPOSE_CURRENT_MATRIX_ARB */ + 1572, /* GL_READ_ONLY */ + 2331, /* GL_WRITE_ONLY */ + 1574, /* GL_READ_WRITE */ 124, /* GL_BUFFER_ACCESS */ 129, /* GL_BUFFER_MAPPED */ 134, /* GL_BUFFER_MAP_POINTER */ - 2140, /* GL_TIME_ELAPSED_EXT */ - 980, /* GL_MATRIX0_ARB */ - 992, /* GL_MATRIX1_ARB */ - 1004, /* GL_MATRIX2_ARB */ - 1008, /* GL_MATRIX3_ARB */ - 1010, /* GL_MATRIX4_ARB */ - 1012, /* GL_MATRIX5_ARB */ - 1014, /* GL_MATRIX6_ARB */ - 1016, /* GL_MATRIX7_ARB */ - 1018, /* GL_MATRIX8_ARB */ - 1019, /* GL_MATRIX9_ARB */ - 982, /* GL_MATRIX10_ARB */ - 983, /* GL_MATRIX11_ARB */ - 984, /* GL_MATRIX12_ARB */ - 985, /* GL_MATRIX13_ARB */ - 986, /* GL_MATRIX14_ARB */ - 987, /* GL_MATRIX15_ARB */ - 988, /* GL_MATRIX16_ARB */ - 989, /* GL_MATRIX17_ARB */ - 990, /* GL_MATRIX18_ARB */ - 991, /* GL_MATRIX19_ARB */ - 994, /* GL_MATRIX20_ARB */ - 995, /* GL_MATRIX21_ARB */ - 996, /* GL_MATRIX22_ARB */ - 997, /* GL_MATRIX23_ARB */ - 998, /* GL_MATRIX24_ARB */ - 999, /* GL_MATRIX25_ARB */ - 1000, /* GL_MATRIX26_ARB */ - 1001, /* GL_MATRIX27_ARB */ - 1002, /* GL_MATRIX28_ARB */ - 1003, /* GL_MATRIX29_ARB */ - 1006, /* GL_MATRIX30_ARB */ - 1007, /* GL_MATRIX31_ARB */ - 1898, /* GL_STREAM_DRAW */ - 1900, /* GL_STREAM_READ */ - 1896, /* GL_STREAM_COPY */ - 1847, /* GL_STATIC_DRAW */ - 1849, /* GL_STATIC_READ */ - 1845, /* GL_STATIC_COPY */ + 2145, /* GL_TIME_ELAPSED_EXT */ + 981, /* GL_MATRIX0_ARB */ + 993, /* GL_MATRIX1_ARB */ + 1005, /* GL_MATRIX2_ARB */ + 1009, /* GL_MATRIX3_ARB */ + 1011, /* GL_MATRIX4_ARB */ + 1013, /* GL_MATRIX5_ARB */ + 1015, /* GL_MATRIX6_ARB */ + 1017, /* GL_MATRIX7_ARB */ + 1019, /* GL_MATRIX8_ARB */ + 1020, /* GL_MATRIX9_ARB */ + 983, /* GL_MATRIX10_ARB */ + 984, /* GL_MATRIX11_ARB */ + 985, /* GL_MATRIX12_ARB */ + 986, /* GL_MATRIX13_ARB */ + 987, /* GL_MATRIX14_ARB */ + 988, /* GL_MATRIX15_ARB */ + 989, /* GL_MATRIX16_ARB */ + 990, /* GL_MATRIX17_ARB */ + 991, /* GL_MATRIX18_ARB */ + 992, /* GL_MATRIX19_ARB */ + 995, /* GL_MATRIX20_ARB */ + 996, /* GL_MATRIX21_ARB */ + 997, /* GL_MATRIX22_ARB */ + 998, /* GL_MATRIX23_ARB */ + 999, /* GL_MATRIX24_ARB */ + 1000, /* GL_MATRIX25_ARB */ + 1001, /* GL_MATRIX26_ARB */ + 1002, /* GL_MATRIX27_ARB */ + 1003, /* GL_MATRIX28_ARB */ + 1004, /* GL_MATRIX29_ARB */ + 1007, /* GL_MATRIX30_ARB */ + 1008, /* GL_MATRIX31_ARB */ + 1901, /* GL_STREAM_DRAW */ + 1903, /* GL_STREAM_READ */ + 1899, /* GL_STREAM_COPY */ + 1850, /* GL_STATIC_DRAW */ + 1852, /* GL_STATIC_READ */ + 1848, /* GL_STATIC_COPY */ 530, /* GL_DYNAMIC_DRAW */ 532, /* GL_DYNAMIC_READ */ 528, /* GL_DYNAMIC_COPY */ - 1363, /* GL_PIXEL_PACK_BUFFER */ - 1367, /* GL_PIXEL_UNPACK_BUFFER */ - 1364, /* GL_PIXEL_PACK_BUFFER_BINDING */ - 1368, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ + 1364, /* GL_PIXEL_PACK_BUFFER */ + 1368, /* GL_PIXEL_UNPACK_BUFFER */ + 1365, /* GL_PIXEL_PACK_BUFFER_BINDING */ + 1369, /* GL_PIXEL_UNPACK_BUFFER_BINDING */ 400, /* GL_DEPTH24_STENCIL8 */ - 2129, /* GL_TEXTURE_STENCIL_SIZE */ - 2075, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ - 1092, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ - 1095, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ - 1099, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ - 1098, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ - 2282, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ - 2279, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ - 1037, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ - 1176, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ - 1112, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ - 1889, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ + 2134, /* GL_TEXTURE_STENCIL_SIZE */ + 2079, /* GL_TEXTURE_CUBE_MAP_SEAMLESS */ + 1093, /* GL_MAX_PROGRAM_CALL_DEPTH_NV */ + 1096, /* GL_MAX_PROGRAM_IF_DEPTH_NV */ + 1100, /* GL_MAX_PROGRAM_LOOP_DEPTH_NV */ + 1099, /* GL_MAX_PROGRAM_LOOP_COUNT_NV */ + 2287, /* GL_VERTEX_ATTRIB_ARRAY_INTEGER */ + 2284, /* GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB */ + 1038, /* GL_MAX_ARRAY_TEXTURE_LAYERS */ + 1177, /* GL_MIN_PROGRAM_TEXEL_OFFSET */ + 1113, /* GL_MAX_PROGRAM_TEXEL_OFFSET */ + 1892, /* GL_STENCIL_TEST_TWO_SIDE_EXT */ 18, /* GL_ACTIVE_STENCIL_FACE_EXT */ - 1183, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ - 1746, /* GL_SAMPLES_PASSED */ + 1184, /* GL_MIRROR_CLAMP_TO_BORDER_EXT */ + 1749, /* GL_SAMPLES_PASSED */ 709, /* GL_GEOMETRY_VERTICES_OUT */ 703, /* GL_GEOMETRY_INPUT_TYPE */ 705, /* GL_GEOMETRY_OUTPUT_TYPE */ - 1737, /* GL_SAMPLER_BINDING */ + 1739, /* GL_SAMPLER_BINDING */ 164, /* GL_CLAMP_VERTEX_COLOR_ARB */ 156, /* GL_CLAMP_FRAGMENT_COLOR_ARB */ 157, /* GL_CLAMP_READ_COLOR */ 566, /* GL_FIXED_ONLY */ - 1387, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ - 1386, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ - 1385, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ - 1220, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ - 1512, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ - 2109, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1388, /* GL_POINT_SIZE_ARRAY_TYPE_OES */ + 1387, /* GL_POINT_SIZE_ARRAY_STRIDE_OES */ + 1386, /* GL_POINT_SIZE_ARRAY_POINTER_OES */ + 1221, /* GL_MODELVIEW_MATRIX_FLOAT_AS_INT_BITS_OES */ + 1513, /* GL_PROJECTION_MATRIX_FLOAT_AS_INT_BITS_OES */ + 2114, /* GL_TEXTURE_MATRIX_FLOAT_AS_INT_BITS_OES */ 138, /* GL_BUFFER_SERIALIZED_MODIFY_APPLE */ 128, /* GL_BUFFER_FLUSHING_UNMAP_APPLE */ - 1588, /* GL_RELEASED_APPLE */ - 2309, /* GL_VOLATILE_APPLE */ - 1628, /* GL_RETAINED_APPLE */ - 2183, /* GL_UNDEFINED_APPLE */ - 1536, /* GL_PURGEABLE_APPLE */ + 1589, /* GL_RELEASED_APPLE */ + 2314, /* GL_VOLATILE_APPLE */ + 1630, /* GL_RETAINED_APPLE */ + 2188, /* GL_UNDEFINED_APPLE */ + 1537, /* GL_PURGEABLE_APPLE */ 617, /* GL_FRAGMENT_SHADER */ - 2304, /* GL_VERTEX_SHADER */ - 1497, /* GL_PROGRAM_OBJECT_ARB */ - 1782, /* GL_SHADER_OBJECT_ARB */ - 1067, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ - 1158, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ - 1149, /* GL_MAX_VARYING_COMPONENTS */ - 1156, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ - 1049, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ - 1283, /* GL_OBJECT_TYPE_ARB */ - 1784, /* GL_SHADER_TYPE */ + 2309, /* GL_VERTEX_SHADER */ + 1498, /* GL_PROGRAM_OBJECT_ARB */ + 1785, /* GL_SHADER_OBJECT_ARB */ + 1068, /* GL_MAX_FRAGMENT_UNIFORM_COMPONENTS */ + 1159, /* GL_MAX_VERTEX_UNIFORM_COMPONENTS */ + 1150, /* GL_MAX_VARYING_COMPONENTS */ + 1157, /* GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS */ + 1050, /* GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS */ + 1284, /* GL_OBJECT_TYPE_ARB */ + 1787, /* GL_SHADER_TYPE */ 582, /* GL_FLOAT_VEC2 */ 584, /* GL_FLOAT_VEC3 */ 586, /* GL_FLOAT_VEC4 */ - 808, /* GL_INT_VEC2 */ - 810, /* GL_INT_VEC3 */ - 812, /* GL_INT_VEC4 */ + 809, /* GL_INT_VEC2 */ + 811, /* GL_INT_VEC3 */ + 813, /* GL_INT_VEC4 */ 116, /* GL_BOOL */ 118, /* GL_BOOL_VEC2 */ 120, /* GL_BOOL_VEC3 */ @@ -5966,14 +5976,14 @@ static const unsigned reduced_enums[1564] = 570, /* GL_FLOAT_MAT2 */ 574, /* GL_FLOAT_MAT3 */ 578, /* GL_FLOAT_MAT4 */ - 1721, /* GL_SAMPLER_1D */ - 1727, /* GL_SAMPLER_2D */ - 1735, /* GL_SAMPLER_3D */ - 1740, /* GL_SAMPLER_CUBE */ - 1726, /* GL_SAMPLER_1D_SHADOW */ - 1734, /* GL_SAMPLER_2D_SHADOW */ - 1732, /* GL_SAMPLER_2D_RECT */ - 1733, /* GL_SAMPLER_2D_RECT_SHADOW */ + 1723, /* GL_SAMPLER_1D */ + 1729, /* GL_SAMPLER_2D */ + 1737, /* GL_SAMPLER_3D */ + 1742, /* GL_SAMPLER_CUBE */ + 1728, /* GL_SAMPLER_1D_SHADOW */ + 1736, /* GL_SAMPLER_2D_SHADOW */ + 1734, /* GL_SAMPLER_2D_RECT */ + 1735, /* GL_SAMPLER_2D_RECT_SHADOW */ 572, /* GL_FLOAT_MAT2x3 */ 573, /* GL_FLOAT_MAT2x4 */ 576, /* GL_FLOAT_MAT3x2 */ @@ -5982,91 +5992,91 @@ static const unsigned reduced_enums[1564] = 581, /* GL_FLOAT_MAT4x3 */ 398, /* GL_DELETE_STATUS */ 289, /* GL_COMPILE_STATUS */ - 869, /* GL_LINK_STATUS */ - 2249, /* GL_VALIDATE_STATUS */ - 766, /* GL_INFO_LOG_LENGTH */ + 870, /* GL_LINK_STATUS */ + 2254, /* GL_VALIDATE_STATUS */ + 767, /* GL_INFO_LOG_LENGTH */ 64, /* GL_ATTACHED_SHADERS */ 21, /* GL_ACTIVE_UNIFORMS */ 22, /* GL_ACTIVE_UNIFORM_MAX_LENGTH */ - 1783, /* GL_SHADER_SOURCE_LENGTH */ + 1786, /* GL_SHADER_SOURCE_LENGTH */ 15, /* GL_ACTIVE_ATTRIBUTES */ 16, /* GL_ACTIVE_ATTRIBUTE_MAX_LENGTH */ 619, /* GL_FRAGMENT_SHADER_DERIVATIVE_HINT */ - 1786, /* GL_SHADING_LANGUAGE_VERSION */ + 1789, /* GL_SHADING_LANGUAGE_VERSION */ 375, /* GL_CURRENT_PROGRAM */ - 1332, /* GL_PALETTE4_RGB8_OES */ - 1334, /* GL_PALETTE4_RGBA8_OES */ - 1330, /* GL_PALETTE4_R5_G6_B5_OES */ - 1333, /* GL_PALETTE4_RGBA4_OES */ - 1331, /* GL_PALETTE4_RGB5_A1_OES */ - 1337, /* GL_PALETTE8_RGB8_OES */ - 1339, /* GL_PALETTE8_RGBA8_OES */ - 1335, /* GL_PALETTE8_R5_G6_B5_OES */ - 1338, /* GL_PALETTE8_RGBA4_OES */ - 1336, /* GL_PALETTE8_RGB5_A1_OES */ - 747, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ - 745, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ - 1384, /* GL_POINT_SIZE_ARRAY_OES */ - 2053, /* GL_TEXTURE_CROP_RECT_OES */ - 1021, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ - 1383, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ - 2232, /* GL_UNSIGNED_NORMALIZED */ - 1986, /* GL_TEXTURE_1D_ARRAY */ - 1522, /* GL_PROXY_TEXTURE_1D_ARRAY */ - 1989, /* GL_TEXTURE_2D_ARRAY */ - 1526, /* GL_PROXY_TEXTURE_2D_ARRAY */ - 1997, /* GL_TEXTURE_BINDING_1D_ARRAY */ - 2000, /* GL_TEXTURE_BINDING_2D_ARRAY */ - 1074, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ - 2017, /* GL_TEXTURE_BUFFER */ - 1128, /* GL_MAX_TEXTURE_BUFFER_SIZE */ - 2004, /* GL_TEXTURE_BINDING_BUFFER */ - 2019, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ - 2021, /* GL_TEXTURE_BUFFER_FORMAT */ - 1559, /* GL_R11F_G11F_B10F */ - 2198, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ - 1671, /* GL_RGB9_E5 */ - 2207, /* GL_UNSIGNED_INT_5_9_9_9_REV */ - 2127, /* GL_TEXTURE_SHARED_SIZE */ - 1839, /* GL_SRGB */ - 1840, /* GL_SRGB8 */ - 1842, /* GL_SRGB_ALPHA */ - 1841, /* GL_SRGB8_ALPHA8 */ - 1799, /* GL_SLUMINANCE_ALPHA */ - 1798, /* GL_SLUMINANCE8_ALPHA8 */ - 1796, /* GL_SLUMINANCE */ - 1797, /* GL_SLUMINANCE8 */ + 1333, /* GL_PALETTE4_RGB8_OES */ + 1335, /* GL_PALETTE4_RGBA8_OES */ + 1331, /* GL_PALETTE4_R5_G6_B5_OES */ + 1334, /* GL_PALETTE4_RGBA4_OES */ + 1332, /* GL_PALETTE4_RGB5_A1_OES */ + 1338, /* GL_PALETTE8_RGB8_OES */ + 1340, /* GL_PALETTE8_RGBA8_OES */ + 1336, /* GL_PALETTE8_R5_G6_B5_OES */ + 1339, /* GL_PALETTE8_RGBA4_OES */ + 1337, /* GL_PALETTE8_RGB5_A1_OES */ + 748, /* GL_IMPLEMENTATION_COLOR_READ_TYPE */ + 746, /* GL_IMPLEMENTATION_COLOR_READ_FORMAT */ + 1385, /* GL_POINT_SIZE_ARRAY_OES */ + 2057, /* GL_TEXTURE_CROP_RECT_OES */ + 1022, /* GL_MATRIX_INDEX_ARRAY_BUFFER_BINDING_OES */ + 1384, /* GL_POINT_SIZE_ARRAY_BUFFER_BINDING_OES */ + 2237, /* GL_UNSIGNED_NORMALIZED */ + 1989, /* GL_TEXTURE_1D_ARRAY */ + 1523, /* GL_PROXY_TEXTURE_1D_ARRAY */ + 1992, /* GL_TEXTURE_2D_ARRAY */ + 1527, /* GL_PROXY_TEXTURE_2D_ARRAY */ + 2000, /* GL_TEXTURE_BINDING_1D_ARRAY */ + 2003, /* GL_TEXTURE_BINDING_2D_ARRAY */ + 1075, /* GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS */ + 2021, /* GL_TEXTURE_BUFFER */ + 1129, /* GL_MAX_TEXTURE_BUFFER_SIZE */ + 2007, /* GL_TEXTURE_BINDING_BUFFER */ + 2023, /* GL_TEXTURE_BUFFER_DATA_STORE_BINDING */ + 2025, /* GL_TEXTURE_BUFFER_FORMAT */ + 1560, /* GL_R11F_G11F_B10F */ + 2203, /* GL_UNSIGNED_INT_10F_11F_11F_REV */ + 1673, /* GL_RGB9_E5 */ + 2212, /* GL_UNSIGNED_INT_5_9_9_9_REV */ + 2132, /* GL_TEXTURE_SHARED_SIZE */ + 1842, /* GL_SRGB */ + 1843, /* GL_SRGB8 */ + 1845, /* GL_SRGB_ALPHA */ + 1844, /* GL_SRGB8_ALPHA8 */ + 1802, /* GL_SLUMINANCE_ALPHA */ + 1801, /* GL_SLUMINANCE8_ALPHA8 */ + 1799, /* GL_SLUMINANCE */ + 1800, /* GL_SLUMINANCE8 */ 312, /* GL_COMPRESSED_SRGB */ 313, /* GL_COMPRESSED_SRGB_ALPHA */ 310, /* GL_COMPRESSED_SLUMINANCE */ 311, /* GL_COMPRESSED_SLUMINANCE_ALPHA */ - 2162, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ - 2151, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ - 1147, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ - 2160, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ - 2156, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ - 2154, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ - 1466, /* GL_PRIMITIVES_GENERATED */ - 2158, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ - 1563, /* GL_RASTERIZER_DISCARD */ - 1143, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ - 1145, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ - 785, /* GL_INTERLEAVED_ATTRIBS */ - 1775, /* GL_SEPARATE_ATTRIBS */ - 2146, /* GL_TRANSFORM_FEEDBACK_BUFFER */ - 2148, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ - 1402, /* GL_POINT_SPRITE_COORD_ORIGIN */ - 878, /* GL_LOWER_LEFT */ - 2246, /* GL_UPPER_LEFT */ - 1863, /* GL_STENCIL_BACK_REF */ - 1864, /* GL_STENCIL_BACK_VALUE_MASK */ - 1865, /* GL_STENCIL_BACK_WRITEMASK */ + 2167, /* GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH */ + 2156, /* GL_TRANSFORM_FEEDBACK_BUFFER_MODE */ + 1148, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS */ + 2165, /* GL_TRANSFORM_FEEDBACK_VARYINGS */ + 2161, /* GL_TRANSFORM_FEEDBACK_BUFFER_START */ + 2159, /* GL_TRANSFORM_FEEDBACK_BUFFER_SIZE */ + 1467, /* GL_PRIMITIVES_GENERATED */ + 2163, /* GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN */ + 1564, /* GL_RASTERIZER_DISCARD */ + 1144, /* GL_MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS */ + 1146, /* GL_MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS */ + 786, /* GL_INTERLEAVED_ATTRIBS */ + 1778, /* GL_SEPARATE_ATTRIBS */ + 2151, /* GL_TRANSFORM_FEEDBACK_BUFFER */ + 2153, /* GL_TRANSFORM_FEEDBACK_BUFFER_BINDING */ + 1403, /* GL_POINT_SPRITE_COORD_ORIGIN */ + 879, /* GL_LOWER_LEFT */ + 2251, /* GL_UPPER_LEFT */ + 1866, /* GL_STENCIL_BACK_REF */ + 1867, /* GL_STENCIL_BACK_VALUE_MASK */ + 1868, /* GL_STENCIL_BACK_WRITEMASK */ 520, /* GL_DRAW_FRAMEBUFFER_BINDING */ - 1593, /* GL_RENDERBUFFER_BINDING */ - 1567, /* GL_READ_FRAMEBUFFER */ + 1594, /* GL_RENDERBUFFER_BINDING */ + 1568, /* GL_READ_FRAMEBUFFER */ 519, /* GL_DRAW_FRAMEBUFFER */ - 1568, /* GL_READ_FRAMEBUFFER_BINDING */ - 1612, /* GL_RENDERBUFFER_SAMPLES */ + 1569, /* GL_READ_FRAMEBUFFER_BINDING */ + 1613, /* GL_RENDERBUFFER_SAMPLES */ 633, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE */ 630, /* GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME */ 645, /* GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL */ @@ -6082,7 +6092,7 @@ static const unsigned reduced_enums[1564] = 676, /* GL_FRAMEBUFFER_INCOMPLETE_READ_BUFFER */ 682, /* GL_FRAMEBUFFER_UNSUPPORTED */ 680, /* GL_FRAMEBUFFER_STATUS_ERROR_EXT */ - 1045, /* GL_MAX_COLOR_ATTACHMENTS */ + 1046, /* GL_MAX_COLOR_ATTACHMENTS */ 196, /* GL_COLOR_ATTACHMENT0 */ 199, /* GL_COLOR_ATTACHMENT1 */ 213, /* GL_COLOR_ATTACHMENT2 */ @@ -6100,184 +6110,189 @@ static const unsigned reduced_enums[1564] = 208, /* GL_COLOR_ATTACHMENT14 */ 210, /* GL_COLOR_ATTACHMENT15 */ 403, /* GL_DEPTH_ATTACHMENT */ - 1852, /* GL_STENCIL_ATTACHMENT */ + 1855, /* GL_STENCIL_ATTACHMENT */ 621, /* GL_FRAMEBUFFER */ - 1590, /* GL_RENDERBUFFER */ - 1616, /* GL_RENDERBUFFER_WIDTH */ - 1603, /* GL_RENDERBUFFER_HEIGHT */ - 1606, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ - 1884, /* GL_STENCIL_INDEX_EXT */ - 1873, /* GL_STENCIL_INDEX1 */ - 1878, /* GL_STENCIL_INDEX4 */ - 1881, /* GL_STENCIL_INDEX8 */ - 1874, /* GL_STENCIL_INDEX16 */ - 1610, /* GL_RENDERBUFFER_RED_SIZE */ - 1601, /* GL_RENDERBUFFER_GREEN_SIZE */ - 1596, /* GL_RENDERBUFFER_BLUE_SIZE */ - 1591, /* GL_RENDERBUFFER_ALPHA_SIZE */ - 1598, /* GL_RENDERBUFFER_DEPTH_SIZE */ - 1614, /* GL_RENDERBUFFER_STENCIL_SIZE */ + 1591, /* GL_RENDERBUFFER */ + 1617, /* GL_RENDERBUFFER_WIDTH */ + 1604, /* GL_RENDERBUFFER_HEIGHT */ + 1607, /* GL_RENDERBUFFER_INTERNAL_FORMAT */ + 1887, /* GL_STENCIL_INDEX_EXT */ + 1876, /* GL_STENCIL_INDEX1 */ + 1881, /* GL_STENCIL_INDEX4 */ + 1884, /* GL_STENCIL_INDEX8 */ + 1877, /* GL_STENCIL_INDEX16 */ + 1611, /* GL_RENDERBUFFER_RED_SIZE */ + 1602, /* GL_RENDERBUFFER_GREEN_SIZE */ + 1597, /* GL_RENDERBUFFER_BLUE_SIZE */ + 1592, /* GL_RENDERBUFFER_ALPHA_SIZE */ + 1599, /* GL_RENDERBUFFER_DEPTH_SIZE */ + 1615, /* GL_RENDERBUFFER_STENCIL_SIZE */ 674, /* GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE */ - 1123, /* GL_MAX_SAMPLES */ - 2089, /* GL_TEXTURE_GEN_STR_OES */ - 721, /* GL_HALF_FLOAT_OES */ - 1657, /* GL_RGB565 */ - 1688, /* GL_RGBA32UI */ - 1651, /* GL_RGB32UI */ + 1124, /* GL_MAX_SAMPLES */ + 2094, /* GL_TEXTURE_GEN_STR_OES */ + 722, /* GL_HALF_FLOAT_OES */ + 1659, /* GL_RGB565 */ + 2086, /* GL_TEXTURE_EXTERNAL_OES */ + 1745, /* GL_SAMPLER_EXTERNAL_OES */ + 2012, /* GL_TEXTURE_BINDING_EXTERNAL_OES */ + 1626, /* GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES */ + 1690, /* GL_RGBA32UI */ + 1653, /* GL_RGB32UI */ 40, /* GL_ALPHA32UI_EXT */ - 777, /* GL_INTENSITY32UI_EXT */ - 895, /* GL_LUMINANCE32UI_EXT */ - 912, /* GL_LUMINANCE_ALPHA32UI_EXT */ - 1679, /* GL_RGBA16UI */ - 1643, /* GL_RGB16UI */ + 778, /* GL_INTENSITY32UI_EXT */ + 896, /* GL_LUMINANCE32UI_EXT */ + 913, /* GL_LUMINANCE_ALPHA32UI_EXT */ + 1681, /* GL_RGBA16UI */ + 1645, /* GL_RGB16UI */ 37, /* GL_ALPHA16UI_EXT */ - 774, /* GL_INTENSITY16UI_EXT */ - 890, /* GL_LUMINANCE16UI_EXT */ - 910, /* GL_LUMINANCE_ALPHA16UI_EXT */ - 1698, /* GL_RGBA8UI */ - 1666, /* GL_RGB8UI */ + 775, /* GL_INTENSITY16UI_EXT */ + 891, /* GL_LUMINANCE16UI_EXT */ + 911, /* GL_LUMINANCE_ALPHA16UI_EXT */ + 1700, /* GL_RGBA8UI */ + 1668, /* GL_RGB8UI */ 45, /* GL_ALPHA8UI_EXT */ - 782, /* GL_INTENSITY8UI_EXT */ - 904, /* GL_LUMINANCE8UI_EXT */ - 914, /* GL_LUMINANCE_ALPHA8UI_EXT */ - 1686, /* GL_RGBA32I */ - 1649, /* GL_RGB32I */ + 783, /* GL_INTENSITY8UI_EXT */ + 905, /* GL_LUMINANCE8UI_EXT */ + 915, /* GL_LUMINANCE_ALPHA8UI_EXT */ + 1688, /* GL_RGBA32I */ + 1651, /* GL_RGB32I */ 39, /* GL_ALPHA32I_EXT */ - 776, /* GL_INTENSITY32I_EXT */ - 894, /* GL_LUMINANCE32I_EXT */ - 911, /* GL_LUMINANCE_ALPHA32I_EXT */ - 1677, /* GL_RGBA16I */ - 1641, /* GL_RGB16I */ + 777, /* GL_INTENSITY32I_EXT */ + 895, /* GL_LUMINANCE32I_EXT */ + 912, /* GL_LUMINANCE_ALPHA32I_EXT */ + 1679, /* GL_RGBA16I */ + 1643, /* GL_RGB16I */ 36, /* GL_ALPHA16I_EXT */ - 773, /* GL_INTENSITY16I_EXT */ - 889, /* GL_LUMINANCE16I_EXT */ - 909, /* GL_LUMINANCE_ALPHA16I_EXT */ - 1696, /* GL_RGBA8I */ - 1664, /* GL_RGB8I */ + 774, /* GL_INTENSITY16I_EXT */ + 890, /* GL_LUMINANCE16I_EXT */ + 910, /* GL_LUMINANCE_ALPHA16I_EXT */ + 1698, /* GL_RGBA8I */ + 1666, /* GL_RGB8I */ 44, /* GL_ALPHA8I_EXT */ - 781, /* GL_INTENSITY8I_EXT */ - 903, /* GL_LUMINANCE8I_EXT */ - 913, /* GL_LUMINANCE_ALPHA8I_EXT */ - 1580, /* GL_RED_INTEGER */ - 716, /* GL_GREEN_INTEGER */ + 782, /* GL_INTENSITY8I_EXT */ + 904, /* GL_LUMINANCE8I_EXT */ + 914, /* GL_LUMINANCE_ALPHA8I_EXT */ + 1581, /* GL_RED_INTEGER */ + 717, /* GL_GREEN_INTEGER */ 113, /* GL_BLUE_INTEGER */ 49, /* GL_ALPHA_INTEGER_EXT */ - 1711, /* GL_RGB_INTEGER */ - 1705, /* GL_RGBA_INTEGER */ + 1713, /* GL_RGB_INTEGER */ + 1707, /* GL_RGBA_INTEGER */ 84, /* GL_BGR_INTEGER */ 82, /* GL_BGRA_INTEGER */ - 916, /* GL_LUMINANCE_INTEGER_EXT */ - 915, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ - 1707, /* GL_RGBA_INTEGER_MODE_EXT */ - 791, /* GL_INT_2_10_10_10_REV */ + 917, /* GL_LUMINANCE_INTEGER_EXT */ + 916, /* GL_LUMINANCE_ALPHA_INTEGER_EXT */ + 1709, /* GL_RGBA_INTEGER_MODE_EXT */ + 792, /* GL_INT_2_10_10_10_REV */ 628, /* GL_FRAMEBUFFER_ATTACHMENT_LAYERED */ 669, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS */ 668, /* GL_FRAMEBUFFER_INCOMPLETE_LAYER_COUNT_ARB */ - 1722, /* GL_SAMPLER_1D_ARRAY */ - 1728, /* GL_SAMPLER_2D_ARRAY */ - 1738, /* GL_SAMPLER_BUFFER */ - 1724, /* GL_SAMPLER_1D_ARRAY_SHADOW */ - 1730, /* GL_SAMPLER_2D_ARRAY_SHADOW */ - 1741, /* GL_SAMPLER_CUBE_SHADOW */ - 2226, /* GL_UNSIGNED_INT_VEC2 */ - 2228, /* GL_UNSIGNED_INT_VEC3 */ - 2230, /* GL_UNSIGNED_INT_VEC4 */ - 792, /* GL_INT_SAMPLER_1D */ - 796, /* GL_INT_SAMPLER_2D */ - 802, /* GL_INT_SAMPLER_3D */ - 806, /* GL_INT_SAMPLER_CUBE */ - 800, /* GL_INT_SAMPLER_2D_RECT */ - 793, /* GL_INT_SAMPLER_1D_ARRAY */ - 797, /* GL_INT_SAMPLER_2D_ARRAY */ - 804, /* GL_INT_SAMPLER_BUFFER */ - 2210, /* GL_UNSIGNED_INT_SAMPLER_1D */ - 2214, /* GL_UNSIGNED_INT_SAMPLER_2D */ - 2220, /* GL_UNSIGNED_INT_SAMPLER_3D */ - 2224, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ - 2218, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ - 2211, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ - 2215, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ - 2222, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ + 1724, /* GL_SAMPLER_1D_ARRAY */ + 1730, /* GL_SAMPLER_2D_ARRAY */ + 1740, /* GL_SAMPLER_BUFFER */ + 1726, /* GL_SAMPLER_1D_ARRAY_SHADOW */ + 1732, /* GL_SAMPLER_2D_ARRAY_SHADOW */ + 1743, /* GL_SAMPLER_CUBE_SHADOW */ + 2231, /* GL_UNSIGNED_INT_VEC2 */ + 2233, /* GL_UNSIGNED_INT_VEC3 */ + 2235, /* GL_UNSIGNED_INT_VEC4 */ + 793, /* GL_INT_SAMPLER_1D */ + 797, /* GL_INT_SAMPLER_2D */ + 803, /* GL_INT_SAMPLER_3D */ + 807, /* GL_INT_SAMPLER_CUBE */ + 801, /* GL_INT_SAMPLER_2D_RECT */ + 794, /* GL_INT_SAMPLER_1D_ARRAY */ + 798, /* GL_INT_SAMPLER_2D_ARRAY */ + 805, /* GL_INT_SAMPLER_BUFFER */ + 2215, /* GL_UNSIGNED_INT_SAMPLER_1D */ + 2219, /* GL_UNSIGNED_INT_SAMPLER_2D */ + 2225, /* GL_UNSIGNED_INT_SAMPLER_3D */ + 2229, /* GL_UNSIGNED_INT_SAMPLER_CUBE */ + 2223, /* GL_UNSIGNED_INT_SAMPLER_2D_RECT */ + 2216, /* GL_UNSIGNED_INT_SAMPLER_1D_ARRAY */ + 2220, /* GL_UNSIGNED_INT_SAMPLER_2D_ARRAY */ + 2227, /* GL_UNSIGNED_INT_SAMPLER_BUFFER */ 707, /* GL_GEOMETRY_SHADER */ 710, /* GL_GEOMETRY_VERTICES_OUT_ARB */ 704, /* GL_GEOMETRY_INPUT_TYPE_ARB */ 706, /* GL_GEOMETRY_OUTPUT_TYPE_ARB */ - 1080, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ - 1163, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ - 1078, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ - 1072, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ - 1076, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ - 879, /* GL_LOW_FLOAT */ - 1165, /* GL_MEDIUM_FLOAT */ - 722, /* GL_HIGH_FLOAT */ - 880, /* GL_LOW_INT */ - 1166, /* GL_MEDIUM_INT */ - 723, /* GL_HIGH_INT */ - 2200, /* GL_UNSIGNED_INT_10_10_10_2_OES */ - 790, /* GL_INT_10_10_10_2_OES */ - 1780, /* GL_SHADER_BINARY_FORMATS */ - 1268, /* GL_NUM_SHADER_BINARY_FORMATS */ - 1781, /* GL_SHADER_COMPILER */ - 1160, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ - 1152, /* GL_MAX_VARYING_VECTORS */ - 1069, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ - 1556, /* GL_QUERY_WAIT */ - 1550, /* GL_QUERY_NO_WAIT */ - 1546, /* GL_QUERY_BY_REGION_WAIT */ - 1544, /* GL_QUERY_BY_REGION_NO_WAIT */ - 2144, /* GL_TRANSFORM_FEEDBACK */ - 2153, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ - 2147, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ - 2145, /* GL_TRANSFORM_FEEDBACK_BINDING */ - 1540, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ + 1081, /* GL_MAX_GEOMETRY_VARYING_COMPONENTS_ARB */ + 1164, /* GL_MAX_VERTEX_VARYING_COMPONENTS_ARB */ + 1079, /* GL_MAX_GEOMETRY_UNIFORM_COMPONENTS */ + 1073, /* GL_MAX_GEOMETRY_OUTPUT_VERTICES */ + 1077, /* GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS */ + 880, /* GL_LOW_FLOAT */ + 1166, /* GL_MEDIUM_FLOAT */ + 723, /* GL_HIGH_FLOAT */ + 881, /* GL_LOW_INT */ + 1167, /* GL_MEDIUM_INT */ + 724, /* GL_HIGH_INT */ + 2205, /* GL_UNSIGNED_INT_10_10_10_2_OES */ + 791, /* GL_INT_10_10_10_2_OES */ + 1783, /* GL_SHADER_BINARY_FORMATS */ + 1269, /* GL_NUM_SHADER_BINARY_FORMATS */ + 1784, /* GL_SHADER_COMPILER */ + 1161, /* GL_MAX_VERTEX_UNIFORM_VECTORS */ + 1153, /* GL_MAX_VARYING_VECTORS */ + 1070, /* GL_MAX_FRAGMENT_UNIFORM_VECTORS */ + 1557, /* GL_QUERY_WAIT */ + 1551, /* GL_QUERY_NO_WAIT */ + 1547, /* GL_QUERY_BY_REGION_WAIT */ + 1545, /* GL_QUERY_BY_REGION_NO_WAIT */ + 2149, /* GL_TRANSFORM_FEEDBACK */ + 2158, /* GL_TRANSFORM_FEEDBACK_BUFFER_PAUSED */ + 2152, /* GL_TRANSFORM_FEEDBACK_BUFFER_ACTIVE */ + 2150, /* GL_TRANSFORM_FEEDBACK_BINDING */ + 1541, /* GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION */ 562, /* GL_FIRST_VERTEX_CONVENTION */ - 824, /* GL_LAST_VERTEX_CONVENTION */ - 1514, /* GL_PROVOKING_VERTEX */ + 825, /* GL_LAST_VERTEX_CONVENTION */ + 1515, /* GL_PROVOKING_VERTEX */ 354, /* GL_COPY_READ_BUFFER */ 355, /* GL_COPY_WRITE_BUFFER */ - 1583, /* GL_RED_SNORM */ - 1718, /* GL_RG_SNORM */ - 1717, /* GL_RGB_SNORM */ - 1710, /* GL_RGBA_SNORM */ - 1562, /* GL_R8_SNORM */ - 1631, /* GL_RG8_SNORM */ - 1670, /* GL_RGB8_SNORM */ - 1702, /* GL_RGBA8_SNORM */ - 1560, /* GL_R16_SNORM */ - 1630, /* GL_RG16_SNORM */ - 1646, /* GL_RGB16_SNORM */ - 1682, /* GL_RGBA16_SNORM */ - 1792, /* GL_SIGNED_NORMALIZED */ - 1468, /* GL_PRIMITIVE_RESTART */ - 1469, /* GL_PRIMITIVE_RESTART_INDEX */ - 1125, /* GL_MAX_SERVER_WAIT_TIMEOUT */ - 1282, /* GL_OBJECT_TYPE */ - 1905, /* GL_SYNC_CONDITION */ - 1910, /* GL_SYNC_STATUS */ - 1907, /* GL_SYNC_FLAGS */ - 1906, /* GL_SYNC_FENCE */ - 1909, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ - 2193, /* GL_UNSIGNALED */ - 1791, /* GL_SIGNALED */ + 1584, /* GL_RED_SNORM */ + 1720, /* GL_RG_SNORM */ + 1719, /* GL_RGB_SNORM */ + 1712, /* GL_RGBA_SNORM */ + 1563, /* GL_R8_SNORM */ + 1633, /* GL_RG8_SNORM */ + 1672, /* GL_RGB8_SNORM */ + 1704, /* GL_RGBA8_SNORM */ + 1561, /* GL_R16_SNORM */ + 1632, /* GL_RG16_SNORM */ + 1648, /* GL_RGB16_SNORM */ + 1684, /* GL_RGBA16_SNORM */ + 1795, /* GL_SIGNED_NORMALIZED */ + 1469, /* GL_PRIMITIVE_RESTART */ + 1470, /* GL_PRIMITIVE_RESTART_INDEX */ + 1126, /* GL_MAX_SERVER_WAIT_TIMEOUT */ + 1283, /* GL_OBJECT_TYPE */ + 1908, /* GL_SYNC_CONDITION */ + 1913, /* GL_SYNC_STATUS */ + 1910, /* GL_SYNC_FLAGS */ + 1909, /* GL_SYNC_FENCE */ + 1912, /* GL_SYNC_GPU_COMMANDS_COMPLETE */ + 2198, /* GL_UNSIGNALED */ + 1794, /* GL_SIGNALED */ 54, /* GL_ALREADY_SIGNALED */ - 2139, /* GL_TIMEOUT_EXPIRED */ + 2144, /* GL_TIMEOUT_EXPIRED */ 315, /* GL_CONDITION_SATISFIED */ - 2310, /* GL_WAIT_FAILED */ + 2315, /* GL_WAIT_FAILED */ 126, /* GL_BUFFER_ACCESS_FLAGS */ 132, /* GL_BUFFER_MAP_LENGTH */ 133, /* GL_BUFFER_MAP_OFFSET */ - 1155, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ - 1070, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ - 1071, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ - 1066, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ + 1156, /* GL_MAX_VERTEX_OUTPUT_COMPONENTS */ + 1071, /* GL_MAX_GEOMETRY_INPUT_COMPONENTS */ + 1072, /* GL_MAX_GEOMETRY_OUTPUT_COMPONENTS */ + 1067, /* GL_MAX_FRAGMENT_INPUT_COMPONENTS */ 330, /* GL_CONTEXT_PROFILE_MASK */ + 712, /* GL_GL_TEXTURE_IMMUTABLE_FORMAT */ 547, /* GL_EVAL_BIT */ - 1565, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ - 871, /* GL_LIST_BIT */ - 2012, /* GL_TEXTURE_BIT */ - 1761, /* GL_SCISSOR_BIT */ + 1566, /* GL_RASTER_POSITION_UNCLIPPED_IBM */ + 872, /* GL_LIST_BIT */ + 2016, /* GL_TEXTURE_BIT */ + 1764, /* GL_SCISSOR_BIT */ 30, /* GL_ALL_ATTRIB_BITS */ - 1231, /* GL_MULTISAMPLE_BIT */ + 1232, /* GL_MULTISAMPLE_BIT */ 31, /* GL_ALL_CLIENT_ATTRIB_BITS */ }; diff --git a/mesalib/src/mesa/main/extensions.c b/mesalib/src/mesa/main/extensions.c index 52b928e41..d5a891435 100644 --- a/mesalib/src/mesa/main/extensions.c +++ b/mesalib/src/mesa/main/extensions.c @@ -134,6 +134,7 @@ static const struct extension extension_table[] = { { "GL_ARB_texture_rectangle", o(NV_texture_rectangle), GL, 2004 }, { "GL_ARB_texture_rgb10_a2ui", o(ARB_texture_rgb10_a2ui), GL, 2009 }, { "GL_ARB_texture_rg", o(ARB_texture_rg), GL, 2008 }, + { "GL_ARB_texture_storage", o(ARB_texture_storage), GL, 2011 }, { "GL_ARB_texture_swizzle", o(EXT_texture_swizzle), GL, 2008 }, { "GL_ARB_transform_feedback2", o(ARB_transform_feedback2), GL, 2010 }, { "GL_ARB_transpose_matrix", o(ARB_transpose_matrix), GL, 1999 }, @@ -228,6 +229,7 @@ static const struct extension extension_table[] = { #if FEATURE_OES_EGL_image /* FIXME: Mesa expects GL_OES_EGL_image to be available in OpenGL contexts. */ { "GL_OES_EGL_image", o(OES_EGL_image), GL | ES1 | ES2, 2006 }, + { "GL_OES_EGL_image_external", o(OES_EGL_image_external), ES1 | ES2, 2010 }, #endif { "GL_OES_element_index_uint", o(dummy_true), ES1 | ES2, 2005 }, { "GL_OES_fbo_render_mipmap", o(EXT_framebuffer_object), ES1 | ES2, 2005 }, @@ -286,6 +288,7 @@ static const struct extension extension_table[] = { { "GL_NV_depth_clamp", o(ARB_depth_clamp), GL, 2001 }, { "GL_NV_draw_buffers", o(dummy_true), ES2, 2011 }, { "GL_NV_fbo_color_attachments", o(EXT_framebuffer_object), ES2, 2010 }, + { "GL_NV_fog_distance", o(NV_fog_distance), GL, 2001 }, { "GL_NV_fragment_program", o(NV_fragment_program), GL, 2001 }, { "GL_NV_fragment_program_option", o(NV_fragment_program_option), GL, 2005 }, { "GL_NV_light_max_exponent", o(NV_light_max_exponent), GL, 1999 }, @@ -421,6 +424,7 @@ _mesa_enable_sw_extensions(struct gl_context *ctx) ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE; ctx->Extensions.ARB_texture_rg = GL_TRUE; ctx->Extensions.ARB_texture_compression_rgtc = GL_TRUE; + ctx->Extensions.ARB_texture_storage = GL_TRUE; ctx->Extensions.ARB_vertex_array_object = GL_TRUE; #if FEATURE_ARB_vertex_program ctx->Extensions.ARB_vertex_program = GL_TRUE; diff --git a/mesalib/src/mesa/main/fbobject.c b/mesalib/src/mesa/main/fbobject.c index c56062ac6..bcebf1240 100644 --- a/mesalib/src/mesa/main/fbobject.c +++ b/mesalib/src/mesa/main/fbobject.c @@ -1370,12 +1370,12 @@ renderbuffer_storage(GLenum target, GLenum internalFormat, return; } - if (width < 1 || width > (GLsizei) ctx->Const.MaxRenderbufferSize) { + if (width < 0 || width > (GLsizei) ctx->Const.MaxRenderbufferSize) { _mesa_error(ctx, GL_INVALID_VALUE, "%s(width)", func); return; } - if (height < 1 || height > (GLsizei) ctx->Const.MaxRenderbufferSize) { + if (height < 0 || height > (GLsizei) ctx->Const.MaxRenderbufferSize) { _mesa_error(ctx, GL_INVALID_VALUE, "%s(height)", func); return; } @@ -2125,7 +2125,7 @@ _mesa_FramebufferTexture2DEXT(GLenum target, GLenum attachment, error = !ctx->Extensions.EXT_texture_array; break; default: - error = GL_FALSE; + error = GL_TRUE; } if (error) { diff --git a/mesalib/src/mesa/main/ff_fragment_shader.cpp b/mesalib/src/mesa/main/ff_fragment_shader.cpp index b5500714b..2ce81fef6 100644 --- a/mesalib/src/mesa/main/ff_fragment_shader.cpp +++ b/mesalib/src/mesa/main/ff_fragment_shader.cpp @@ -108,7 +108,7 @@ struct state_key { /* NOTE: This array of structs must be last! (see "keySize" below) */ struct { GLuint enabled:1; - GLuint source_index:3; /**< TEXTURE_x_INDEX */ + GLuint source_index:4; /**< TEXTURE_x_INDEX */ GLuint shadow:1; GLuint ScaleShiftRGB:2; GLuint ScaleShiftA:2; @@ -1041,6 +1041,11 @@ static void load_texture( struct texenv_fragment_program *p, GLuint unit ) sampler_type = p->shader->symbols->get_type("samplerCube"); coords = 3; break; + case TEXTURE_EXTERNAL_INDEX: + assert(!p->state->unit[unit].shadow); + sampler_type = p->shader->symbols->get_type("samplerExternalOES"); + coords = 2; + break; } p->src_texture[unit] = new(p->mem_ctx) ir_variable(glsl_type::vec4_type, @@ -1437,6 +1442,8 @@ create_new_program(struct gl_context *ctx, struct state_key *key) p.shader_program->InternalSeparateShader = GL_TRUE; state->language_version = 130; + if (ctx->Extensions.OES_EGL_image_external) + state->OES_EGL_image_external_enable = true; _mesa_glsl_initialize_types(state); _mesa_glsl_initialize_variables(p.instructions, state); diff --git a/mesalib/src/mesa/main/ffvertex_prog.c b/mesalib/src/mesa/main/ffvertex_prog.c index 2d2485c9e..846907842 100644 --- a/mesalib/src/mesa/main/ffvertex_prog.c +++ b/mesalib/src/mesa/main/ffvertex_prog.c @@ -61,6 +61,7 @@ struct state_key { unsigned rescale_normals:1; unsigned fog_source_is_depth:1; + unsigned fog_distance_mode:2; unsigned separate_specular:1; unsigned point_attenuated:1; unsigned point_array:1; @@ -108,7 +109,22 @@ static GLuint translate_texgen( GLboolean enabled, GLenum mode ) } } +#define FDM_EYE_RADIAL 0 +#define FDM_EYE_PLANE 1 +#define FDM_EYE_PLANE_ABS 2 +static GLuint translate_fog_distance_mode( GLenum mode ) +{ + switch (mode) { + case GL_EYE_RADIAL_NV: + return FDM_EYE_RADIAL; + case GL_EYE_PLANE: + return FDM_EYE_PLANE; + default: /* shouldn't happen; fall through to a sensible default */ + case GL_EYE_PLANE_ABSOLUTE_NV: + return FDM_EYE_PLANE_ABS; + } +} static GLboolean check_active_shininess( struct gl_context *ctx, const struct state_key *key, @@ -205,8 +221,10 @@ static void make_state_key( struct gl_context *ctx, struct state_key *key ) if (ctx->Transform.RescaleNormals) key->rescale_normals = 1; - if (ctx->Fog.FogCoordinateSource == GL_FRAGMENT_DEPTH_EXT) + if (ctx->Fog.FogCoordinateSource == GL_FRAGMENT_DEPTH_EXT) { key->fog_source_is_depth = 1; + key->fog_distance_mode = translate_fog_distance_mode(ctx->Fog.FogDistanceMode); + } if (ctx->Point._Attenuated) key->point_attenuated = 1; @@ -1308,14 +1326,31 @@ static void build_fog( struct tnl_program *p ) struct ureg input; if (p->state->fog_source_is_depth) { - input = get_eye_position_z(p); + + switch (p->state->fog_distance_mode) { + case FDM_EYE_RADIAL: /* Z = sqrt(Xe*Xe + Ye*Ye + Ze*Ze) */ + input = get_eye_position(p); + emit_op2(p, OPCODE_DP3, fog, WRITEMASK_X, input, input); + emit_op1(p, OPCODE_RSQ, fog, WRITEMASK_X, fog); + emit_op1(p, OPCODE_RCP, fog, WRITEMASK_X, fog); + break; + case FDM_EYE_PLANE: /* Z = Ze */ + input = get_eye_position_z(p); + emit_op1(p, OPCODE_MOV, fog, WRITEMASK_X, input); + break; + case FDM_EYE_PLANE_ABS: /* Z = abs(Ze) */ + input = get_eye_position_z(p); + emit_op1(p, OPCODE_ABS, fog, WRITEMASK_X, input); + break; + default: assert(0); break; /* can't happen */ + } + } else { input = swizzle1(register_input(p, VERT_ATTRIB_FOG), X); + emit_op1(p, OPCODE_ABS, fog, WRITEMASK_X, input); } - /* result.fog = {abs(f),0,0,1}; */ - emit_op1(p, OPCODE_ABS, fog, WRITEMASK_X, input); emit_op1(p, OPCODE_MOV, fog, WRITEMASK_YZW, get_identity_param(p)); } diff --git a/mesalib/src/mesa/main/fog.c b/mesalib/src/mesa/main/fog.c index 88aa31a7f..d65add930 100644 --- a/mesalib/src/mesa/main/fog.c +++ b/mesalib/src/mesa/main/fog.c @@ -172,6 +172,19 @@ _mesa_Fogfv( GLenum pname, const GLfloat *params ) ctx->Fog.FogCoordinateSource = p; break; } + case GL_FOG_DISTANCE_MODE_NV: { + GLenum p = (GLenum) (GLint) *params; + if (!ctx->Extensions.NV_fog_distance || + (p != GL_EYE_RADIAL_NV && p != GL_EYE_PLANE && p != GL_EYE_PLANE_ABSOLUTE_NV)) { + _mesa_error(ctx, GL_INVALID_ENUM, "glFog"); + return; + } + if (ctx->Fog.FogDistanceMode == p) + return; + FLUSH_VERTICES(ctx, _NEW_FOG); + ctx->Fog.FogDistanceMode = p; + break; + } default: _mesa_error( ctx, GL_INVALID_ENUM, "glFog" ); return; @@ -201,4 +214,5 @@ void _mesa_init_fog( struct gl_context * ctx ) ctx->Fog.ColorSumEnabled = GL_FALSE; ctx->Fog.FogCoordinateSource = GL_FRAGMENT_DEPTH_EXT; ctx->Fog._Scale = 1.0f; + ctx->Fog.FogDistanceMode = GL_EYE_PLANE_ABSOLUTE_NV; } diff --git a/mesalib/src/mesa/main/format_unpack.c b/mesalib/src/mesa/main/format_unpack.c index 2051f68fb..eaa33dfdb 100644 --- a/mesalib/src/mesa/main/format_unpack.c +++ b/mesalib/src/mesa/main/format_unpack.c @@ -1415,37 +1415,26 @@ _mesa_unpack_float_z_row(gl_format format, GLuint n, typedef void (*unpack_uint_z_func)(const void *src, GLuint *dst); static void -unpack_uint_z_Z24_S8(const void *src, GLuint *dst) +unpack_uint_z_Z24_X8(const void *src, GLuint *dst) { /* only return Z, not stencil data */ const GLuint s = *((const GLuint *) src); - *dst = (s >> 8); + *dst = (s & 0xffffff00) | (s >> 24); } static void -unpack_uint_z_S8_Z24(const void *src, GLuint *dst) +unpack_uint_z_X8_Z24(const void *src, GLuint *dst) { /* only return Z, not stencil data */ const GLuint s = *((const GLuint *) src); - *dst = s & 0x00ffffff; + *dst = (s << 8) | ((s >> 16) & 0xff); } static void unpack_uint_z_Z16(const void *src, GLuint *dst) { - *dst = *((const GLushort *) src); -} - -static void -unpack_uint_z_X8_Z24(const void *src, GLuint *dst) -{ - unpack_uint_z_S8_Z24(src, dst); -} - -static void -unpack_uint_z_Z24_X8(const void *src, GLuint *dst) -{ - unpack_uint_z_Z24_S8(src, dst); + const GLushort s = *((const GLushort *)src); + *dst = (s << 16) | s; } static void @@ -1466,19 +1455,15 @@ _mesa_unpack_uint_z_row(gl_format format, GLuint n, switch (format) { case MESA_FORMAT_Z24_S8: - unpack = unpack_uint_z_Z24_S8; + case MESA_FORMAT_Z24_X8: + unpack = unpack_uint_z_Z24_X8; break; case MESA_FORMAT_S8_Z24: - unpack = unpack_uint_z_S8_Z24; - break; - case MESA_FORMAT_Z16: - unpack = unpack_uint_z_Z16; - break; case MESA_FORMAT_X8_Z24: unpack = unpack_uint_z_X8_Z24; break; - case MESA_FORMAT_Z24_X8: - unpack = unpack_uint_z_Z24_X8; + case MESA_FORMAT_Z16: + unpack = unpack_uint_z_Z16; break; case MESA_FORMAT_Z32: unpack = unpack_uint_z_Z32; @@ -1495,4 +1480,97 @@ _mesa_unpack_uint_z_row(gl_format format, GLuint n, } } +static void +unpack_ubyte_s_S8(const void *src, GLubyte *dst, GLuint n) +{ + memcpy(dst, src, n); +} +static void +unpack_ubyte_s_Z24_S8(const void *src, GLubyte *dst, GLuint n) +{ + GLuint i; + const GLuint *src32 = src; + + for (i = 0; i < n; i++) + dst[i] = src32[i] & 0xff; +} + +static void +unpack_ubyte_s_S8_Z24(const void *src, GLubyte *dst, GLuint n) +{ + GLuint i; + const GLuint *src32 = src; + + for (i = 0; i < n; i++) + dst[i] = src32[i] >> 24; +} + +static void +unpack_ubyte_s_Z32_FLOAT_X24S8(const void *src, GLubyte *dst, GLuint n) +{ + GLuint i; + const GLuint *src32 = src; + + for (i = 0; i < n; i++) + dst[i] = src32[i * 2 + 1] & 0xff; +} + +void +_mesa_unpack_ubyte_stencil_row(gl_format format, GLuint n, + const void *src, GLubyte *dst) +{ + switch (format) { + case MESA_FORMAT_S8: + unpack_ubyte_s_S8(src, dst, n); + break; + case MESA_FORMAT_Z24_S8: + unpack_ubyte_s_Z24_S8(src, dst, n); + break; + case MESA_FORMAT_S8_Z24: + unpack_ubyte_s_S8_Z24(src, dst, n); + break; + case MESA_FORMAT_Z32_FLOAT_X24S8: + unpack_ubyte_s_Z32_FLOAT_X24S8(src, dst, n); + break; + default: + _mesa_problem(NULL, "bad format %s in _mesa_unpack_ubyte_s_row", + _mesa_get_format_name(format)); + return; + } +} + +static void +unpack_uint_24_8_depth_stencil_S8_Z24(const GLuint *src, GLuint *dst, GLuint n) +{ + GLuint i; + + for (i = 0; i < n; i++) { + GLuint val = src[i]; + dst[i] = val >> 24 | val << 8; + } +} + +static void +unpack_uint_24_8_depth_stencil_Z24_S8(const GLuint *src, GLuint *dst, GLuint n) +{ + memcpy(dst, src, n * 4); +} + +void +_mesa_unpack_uint_24_8_depth_stencil_row(gl_format format, GLuint n, + const void *src, GLuint *dst) +{ + switch (format) { + case MESA_FORMAT_Z24_S8: + unpack_uint_24_8_depth_stencil_Z24_S8(src, dst, n); + break; + case MESA_FORMAT_S8_Z24: + unpack_uint_24_8_depth_stencil_S8_Z24(src, dst, n); + break; + default: + _mesa_problem(NULL, "bad format %s in _mesa_unpack_ubyte_s_row", + _mesa_get_format_name(format)); + return; + } +} diff --git a/mesalib/src/mesa/main/format_unpack.h b/mesalib/src/mesa/main/format_unpack.h index c37727d91..a8a829c88 100644 --- a/mesalib/src/mesa/main/format_unpack.h +++ b/mesalib/src/mesa/main/format_unpack.h @@ -45,5 +45,13 @@ void _mesa_unpack_uint_z_row(gl_format format, GLuint n, const void *src, GLuint *dst); +void +_mesa_unpack_ubyte_stencil_row(gl_format format, GLuint n, + const void *src, GLubyte *dst); + +void +_mesa_unpack_uint_24_8_depth_stencil_row(gl_format format, GLuint n, + const void *src, GLuint *dst); + #endif /* FORMAT_UNPACK_H */ diff --git a/mesalib/src/mesa/main/formats.c b/mesalib/src/mesa/main/formats.c index 6307f8e4d..c6febb0e5 100644 --- a/mesalib/src/mesa/main/formats.c +++ b/mesalib/src/mesa/main/formats.c @@ -2444,3 +2444,321 @@ _mesa_format_to_type_and_comps(gl_format format, *comps = 1; } } + +/** + * Returns a MESA_FORMAT describing pixels with the given format/type if + * available, or MESA_FORMAT_NONE. + * + * If a format is returned, it should be suitable to memcpy + * _mesa_get_format_bytes() at a time to move the pixel data. + */ +GLboolean +_mesa_format_matches_format_and_type(gl_format gl_format, + GLenum format, GLenum type) +{ + const GLboolean littleEndian = _mesa_little_endian(); + + /* Note: When reading a GL format/type combination, the format lists channel + * assignments from most significant channel in the type to least + * significant. A type with _REV indicates that the assignments are swapped, + * so they are listed from least significant to most significant. + * + * For sanity, please keep this switch statement ordered the same as the enum + * in formats.h. + * + * This matching assumes that GL_PACK/UNPACK_SWAP_BYTES is unset. + */ + + switch (gl_format) { + + case MESA_FORMAT_NONE: + case MESA_FORMAT_COUNT: + return GL_FALSE; + + case MESA_FORMAT_RGBA8888: + return ((format == GL_RGBA && (type == GL_UNSIGNED_INT_8_8_8_8 || + (type == GL_UNSIGNED_BYTE && !littleEndian))) || + (format == GL_ABGR_EXT && (type == GL_UNSIGNED_INT_8_8_8_8_REV || + (type == GL_UNSIGNED_BYTE && littleEndian)))); + + case MESA_FORMAT_RGBA8888_REV: + return ((format == GL_RGBA && type == GL_UNSIGNED_INT_8_8_8_8_REV)); + + case MESA_FORMAT_ARGB8888: + return ((format == GL_BGRA && (type == GL_UNSIGNED_INT_8_8_8_8_REV || + (type == GL_UNSIGNED_BYTE && littleEndian)))); + + case MESA_FORMAT_ARGB8888_REV: + return ((format == GL_BGRA && (type == GL_UNSIGNED_INT_8_8_8_8 || + (type == GL_UNSIGNED_BYTE && !littleEndian)))); + + case MESA_FORMAT_XRGB8888: + case MESA_FORMAT_XRGB8888_REV: + return GL_FALSE; + + case MESA_FORMAT_RGB888: + return format == GL_RGB && type == GL_UNSIGNED_BYTE && littleEndian; + + case MESA_FORMAT_BGR888: + return GL_FALSE; + + case MESA_FORMAT_RGB565: + return format == GL_RGB && type == GL_UNSIGNED_SHORT_5_6_5; + case MESA_FORMAT_RGB565_REV: + /* Some of the 16-bit MESA_FORMATs that would seem to correspond to + * GL_UNSIGNED_SHORT_* are byte-swapped instead of channel-reversed, + * according to formats.h, so they can't be matched. + */ + return GL_FALSE; + + case MESA_FORMAT_ARGB4444: + return format == GL_BGRA && type == GL_UNSIGNED_SHORT_4_4_4_4_REV; + case MESA_FORMAT_ARGB4444_REV: + return GL_FALSE; + + case MESA_FORMAT_RGBA5551: + return format == GL_RGBA && type == GL_UNSIGNED_SHORT_5_5_5_1; + + case MESA_FORMAT_ARGB1555: + return format == GL_BGRA && type == GL_UNSIGNED_SHORT_1_5_5_5_REV; + case MESA_FORMAT_ARGB1555_REV: + return GL_FALSE; + + case MESA_FORMAT_AL44: + return GL_FALSE; + case MESA_FORMAT_AL88: + return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_BYTE && littleEndian; + case MESA_FORMAT_AL88_REV: + return GL_FALSE; + + case MESA_FORMAT_AL1616: + return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_AL1616_REV: + return GL_FALSE; + + case MESA_FORMAT_RGB332: + return format == GL_RGB && type == GL_UNSIGNED_BYTE_3_3_2; + + case MESA_FORMAT_A8: + return format == GL_ALPHA && type == GL_UNSIGNED_BYTE; + case MESA_FORMAT_A16: + return format == GL_ALPHA && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_L8: + return format == GL_LUMINANCE && type == GL_UNSIGNED_BYTE; + case MESA_FORMAT_L16: + return format == GL_LUMINANCE && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_I8: + return format == GL_INTENSITY && type == GL_UNSIGNED_BYTE; + case MESA_FORMAT_I16: + return format == GL_INTENSITY && type == GL_UNSIGNED_SHORT && littleEndian; + + case MESA_FORMAT_YCBCR: + case MESA_FORMAT_YCBCR_REV: + return GL_FALSE; + + case MESA_FORMAT_R8: + return format == GL_RED && type == GL_UNSIGNED_BYTE; + case MESA_FORMAT_RG88: + return format == GL_LUMINANCE_ALPHA && type == GL_UNSIGNED_BYTE && littleEndian; + case MESA_FORMAT_RG88_REV: + return GL_FALSE; + + case MESA_FORMAT_R16: + return format == GL_RED && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_RG1616: + return format == GL_RG && type == GL_UNSIGNED_SHORT && littleEndian; + case MESA_FORMAT_RG1616_REV: + return GL_FALSE; + + case MESA_FORMAT_ARGB2101010: + return format == GL_BGRA && type == GL_UNSIGNED_INT_2_10_10_10_REV; + + case MESA_FORMAT_Z24_S8: + return format == GL_DEPTH_STENCIL && type == GL_UNSIGNED_INT_24_8; + case MESA_FORMAT_Z24_X8: + case MESA_FORMAT_S8_Z24: + return GL_FALSE; + + case MESA_FORMAT_Z16: + return format == GL_DEPTH_COMPONENT && type == GL_UNSIGNED_SHORT; + + case MESA_FORMAT_X8_Z24: + return GL_FALSE; + + case MESA_FORMAT_Z32: + return format == GL_DEPTH_COMPONENT && type == GL_UNSIGNED_INT; + + case MESA_FORMAT_S8: + return GL_FALSE; + + case MESA_FORMAT_SRGB8: + case MESA_FORMAT_SRGBA8: + case MESA_FORMAT_SARGB8: + case MESA_FORMAT_SL8: + case MESA_FORMAT_SLA8: + case MESA_FORMAT_SRGB_DXT1: + case MESA_FORMAT_SRGBA_DXT1: + case MESA_FORMAT_SRGBA_DXT3: + case MESA_FORMAT_SRGBA_DXT5: + return GL_FALSE; + + case MESA_FORMAT_RGB_FXT1: + case MESA_FORMAT_RGBA_FXT1: + case MESA_FORMAT_RGB_DXT1: + case MESA_FORMAT_RGBA_DXT1: + case MESA_FORMAT_RGBA_DXT3: + case MESA_FORMAT_RGBA_DXT5: + return GL_FALSE; + + case MESA_FORMAT_RGBA_FLOAT32: + return format == GL_RGBA && type == GL_FLOAT; + case MESA_FORMAT_RGBA_FLOAT16: + return format == GL_RGBA && type == GL_HALF_FLOAT; + + case MESA_FORMAT_RGB_FLOAT32: + return format == GL_RGB && type == GL_FLOAT; + case MESA_FORMAT_RGB_FLOAT16: + return format == GL_RGB && type == GL_HALF_FLOAT; + + case MESA_FORMAT_ALPHA_FLOAT32: + return format == GL_ALPHA && type == GL_FLOAT; + case MESA_FORMAT_ALPHA_FLOAT16: + return format == GL_ALPHA && type == GL_HALF_FLOAT; + + case MESA_FORMAT_LUMINANCE_FLOAT32: + return format == GL_LUMINANCE && type == GL_FLOAT; + case MESA_FORMAT_LUMINANCE_FLOAT16: + return format == GL_LUMINANCE && type == GL_HALF_FLOAT; + + case MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32: + return format == GL_LUMINANCE_ALPHA && type == GL_FLOAT; + case MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16: + return format == GL_LUMINANCE_ALPHA && type == GL_HALF_FLOAT; + + case MESA_FORMAT_INTENSITY_FLOAT32: + return format == GL_INTENSITY && type == GL_FLOAT; + case MESA_FORMAT_INTENSITY_FLOAT16: + return format == GL_INTENSITY && type == GL_HALF_FLOAT; + + case MESA_FORMAT_R_FLOAT32: + return format == GL_RED && type == GL_FLOAT; + case MESA_FORMAT_R_FLOAT16: + return format == GL_RED && type == GL_HALF_FLOAT; + + case MESA_FORMAT_RG_FLOAT32: + return format == GL_RG && type == GL_FLOAT; + case MESA_FORMAT_RG_FLOAT16: + return format == GL_RG && type == GL_HALF_FLOAT; + + /* FINISHME: What do we want to do for GL_EXT_texture_integer? */ + case MESA_FORMAT_ALPHA_UINT8: + case MESA_FORMAT_ALPHA_UINT16: + case MESA_FORMAT_ALPHA_UINT32: + case MESA_FORMAT_ALPHA_INT8: + case MESA_FORMAT_ALPHA_INT16: + case MESA_FORMAT_ALPHA_INT32: + return GL_FALSE; + + case MESA_FORMAT_INTENSITY_UINT8: + case MESA_FORMAT_INTENSITY_UINT16: + case MESA_FORMAT_INTENSITY_UINT32: + case MESA_FORMAT_INTENSITY_INT8: + case MESA_FORMAT_INTENSITY_INT16: + case MESA_FORMAT_INTENSITY_INT32: + return GL_FALSE; + + case MESA_FORMAT_LUMINANCE_UINT8: + case MESA_FORMAT_LUMINANCE_UINT16: + case MESA_FORMAT_LUMINANCE_UINT32: + case MESA_FORMAT_LUMINANCE_INT8: + case MESA_FORMAT_LUMINANCE_INT16: + case MESA_FORMAT_LUMINANCE_INT32: + return GL_FALSE; + + case MESA_FORMAT_LUMINANCE_ALPHA_UINT8: + case MESA_FORMAT_LUMINANCE_ALPHA_UINT16: + case MESA_FORMAT_LUMINANCE_ALPHA_UINT32: + case MESA_FORMAT_LUMINANCE_ALPHA_INT8: + case MESA_FORMAT_LUMINANCE_ALPHA_INT16: + case MESA_FORMAT_LUMINANCE_ALPHA_INT32: + return GL_FALSE; + + case MESA_FORMAT_R_INT8: + case MESA_FORMAT_RG_INT8: + case MESA_FORMAT_RGB_INT8: + case MESA_FORMAT_RGBA_INT8: + case MESA_FORMAT_R_INT16: + case MESA_FORMAT_RG_INT16: + case MESA_FORMAT_RGB_INT16: + case MESA_FORMAT_RGBA_INT16: + case MESA_FORMAT_R_INT32: + case MESA_FORMAT_RG_INT32: + case MESA_FORMAT_RGB_INT32: + case MESA_FORMAT_RGBA_INT32: + return GL_FALSE; + + case MESA_FORMAT_R_UINT8: + case MESA_FORMAT_RG_UINT8: + case MESA_FORMAT_RGB_UINT8: + case MESA_FORMAT_RGBA_UINT8: + case MESA_FORMAT_R_UINT16: + case MESA_FORMAT_RG_UINT16: + case MESA_FORMAT_RGB_UINT16: + case MESA_FORMAT_RGBA_UINT16: + case MESA_FORMAT_R_UINT32: + case MESA_FORMAT_RG_UINT32: + case MESA_FORMAT_RGB_UINT32: + case MESA_FORMAT_RGBA_UINT32: + return GL_FALSE; + + case MESA_FORMAT_DUDV8: + case MESA_FORMAT_SIGNED_R8: + case MESA_FORMAT_SIGNED_RG88_REV: + case MESA_FORMAT_SIGNED_RGBX8888: + case MESA_FORMAT_SIGNED_RGBA8888: + case MESA_FORMAT_SIGNED_RGBA8888_REV: + case MESA_FORMAT_SIGNED_R16: + case MESA_FORMAT_SIGNED_GR1616: + case MESA_FORMAT_SIGNED_RGB_16: + case MESA_FORMAT_SIGNED_RGBA_16: + case MESA_FORMAT_RGBA_16: + /* FINISHME: SNORM */ + return GL_FALSE; + + case MESA_FORMAT_RED_RGTC1: + case MESA_FORMAT_SIGNED_RED_RGTC1: + case MESA_FORMAT_RG_RGTC2: + case MESA_FORMAT_SIGNED_RG_RGTC2: + return GL_FALSE; + + case MESA_FORMAT_L_LATC1: + case MESA_FORMAT_SIGNED_L_LATC1: + case MESA_FORMAT_LA_LATC2: + case MESA_FORMAT_SIGNED_LA_LATC2: + return GL_FALSE; + + case MESA_FORMAT_SIGNED_A8: + case MESA_FORMAT_SIGNED_L8: + case MESA_FORMAT_SIGNED_AL88: + case MESA_FORMAT_SIGNED_I8: + case MESA_FORMAT_SIGNED_A16: + case MESA_FORMAT_SIGNED_L16: + case MESA_FORMAT_SIGNED_AL1616: + case MESA_FORMAT_SIGNED_I16: + /* FINISHME: SNORM */ + return GL_FALSE; + + case MESA_FORMAT_RGB9_E5_FLOAT: + return format == GL_RGB && type == GL_UNSIGNED_INT_5_9_9_9_REV; + case MESA_FORMAT_R11_G11_B10_FLOAT: + return format == GL_RGB && type == GL_UNSIGNED_INT_10F_11F_11F_REV; + + case MESA_FORMAT_Z32_FLOAT: + return format == GL_DEPTH_COMPONENT && type == GL_FLOAT; + + case MESA_FORMAT_Z32_FLOAT_X24S8: + return GL_FALSE; + } + + return GL_FALSE; +} diff --git a/mesalib/src/mesa/main/formats.h b/mesalib/src/mesa/main/formats.h index 12758f03e..f24d52548 100644 --- a/mesalib/src/mesa/main/formats.h +++ b/mesalib/src/mesa/main/formats.h @@ -318,5 +318,8 @@ _mesa_get_uncompressed_format(gl_format format); extern GLuint _mesa_format_num_components(gl_format format); +GLboolean +_mesa_format_matches_format_and_type(gl_format gl_format, + GLenum format, GLenum type); #endif /* FORMATS_H */ diff --git a/mesalib/src/mesa/main/get.c b/mesalib/src/mesa/main/get.c index 3c388e56e..d8a063876 100644 --- a/mesalib/src/mesa/main/get.c +++ b/mesalib/src/mesa/main/get.c @@ -295,6 +295,7 @@ EXTRA_EXT(MESA_texture_array); EXTRA_EXT2(EXT_secondary_color, ARB_vertex_program); EXTRA_EXT(EXT_secondary_color); EXTRA_EXT(EXT_fog_coord); +EXTRA_EXT(NV_fog_distance); EXTRA_EXT(EXT_texture_filter_anisotropic); EXTRA_EXT(IBM_rasterpos_clip); EXTRA_EXT(NV_point_sprite); @@ -331,6 +332,7 @@ EXTRA_EXT(ARB_color_buffer_float); EXTRA_EXT(ARB_copy_buffer); EXTRA_EXT(EXT_framebuffer_sRGB); EXTRA_EXT(ARB_texture_buffer_object); +EXTRA_EXT(OES_EGL_image_external); static const int extra_ARB_vertex_program_ARB_fragment_program_NV_vertex_program[] = { @@ -761,6 +763,12 @@ static const struct value_desc values[] = { { GL_SHADER_BINARY_FORMATS, CONST(0), NO_EXTRA }, #endif /* FEATURE_ES2 */ + /* GL_OES_EGL_image_external */ + { GL_TEXTURE_BINDING_EXTERNAL_OES, LOC_CUSTOM, + TYPE_INT, TEXTURE_EXTERNAL_INDEX, extra_OES_EGL_image_external }, + { GL_TEXTURE_EXTERNAL_OES, LOC_CUSTOM, + TYPE_BOOLEAN, 0, extra_OES_EGL_image_external }, + #if FEATURE_GL /* Remaining enums are only in OpenGL */ { 0, 0, TYPE_API_MASK, API_OPENGL_BIT, NO_EXTRA }, @@ -972,6 +980,10 @@ static const struct value_desc values[] = { { GL_FOG_COORDINATE_SOURCE_EXT, CONTEXT_ENUM(Fog.FogCoordinateSource), extra_EXT_fog_coord }, + /* GL_NV_fog_distance */ + { GL_FOG_DISTANCE_MODE_NV, CONTEXT_ENUM(Fog.FogDistanceMode), + extra_NV_fog_distance }, + /* GL_IBM_rasterpos_clip */ { GL_RASTER_POSITION_UNCLIPPED_IBM, CONTEXT_BOOL(Transform.RasterPositionUnclipped), @@ -1414,6 +1426,7 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu case GL_TEXTURE_2D_ARRAY_EXT: case GL_TEXTURE_CUBE_MAP_ARB: case GL_TEXTURE_RECTANGLE_NV: + case GL_TEXTURE_EXTERNAL_OES: v->value_bool = _mesa_IsEnabled(d->pname); break; @@ -1591,6 +1604,7 @@ find_custom_value(struct gl_context *ctx, const struct value_desc *d, union valu case GL_TEXTURE_BINDING_2D_ARRAY_EXT: case GL_TEXTURE_BINDING_CUBE_MAP_ARB: case GL_TEXTURE_BINDING_RECTANGLE_NV: + case GL_TEXTURE_BINDING_EXTERNAL_OES: unit = ctx->Texture.CurrentUnit; v->value_int = ctx->Texture.Unit[unit].CurrentTex[d->offset]->Name; diff --git a/mesalib/src/mesa/main/glheader.h b/mesalib/src/mesa/main/glheader.h index 0df811986..c4fb1570d 100644 --- a/mesalib/src/mesa/main/glheader.h +++ b/mesalib/src/mesa/main/glheader.h @@ -66,6 +66,14 @@ typedef void *GLeglImageOES; #endif +#ifndef GL_OES_EGL_image_external +#define GL_TEXTURE_EXTERNAL_OES 0x8D65 +#define GL_SAMPLER_EXTERNAL_OES 0x8D66 +#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 +#endif + + #ifndef GL_OES_point_size_array #define GL_POINT_SIZE_ARRAY_OES 0x8B9C #define GL_POINT_SIZE_ARRAY_TYPE_OES 0x898A diff --git a/mesalib/src/mesa/main/mipmap.c b/mesalib/src/mesa/main/mipmap.c index 46d71bb22..461de9d1b 100644 --- a/mesalib/src/mesa/main/mipmap.c +++ b/mesalib/src/mesa/main/mipmap.c @@ -1751,6 +1751,7 @@ _mesa_generate_mipmap_level(GLenum target, } break; case GL_TEXTURE_RECTANGLE_NV: + case GL_TEXTURE_EXTERNAL_OES: /* no mipmaps, do nothing */ break; default: diff --git a/mesalib/src/mesa/main/mtypes.h b/mesalib/src/mesa/main/mtypes.h index aa3fa6aec..61909727d 100644 --- a/mesalib/src/mesa/main/mtypes.h +++ b/mesalib/src/mesa/main/mtypes.h @@ -884,6 +884,7 @@ struct gl_fog_attrib GLboolean ColorSumEnabled; GLenum FogCoordinateSource; /**< GL_EXT_fog_coord */ GLfloat _Scale; /**< (End == Start) ? 1.0 : 1.0 / (End - Start) */ + GLenum FogDistanceMode; /**< GL_NV_fog_distance */ }; @@ -1165,6 +1166,7 @@ typedef enum TEXTURE_BUFFER_INDEX, TEXTURE_2D_ARRAY_INDEX, TEXTURE_1D_ARRAY_INDEX, + TEXTURE_EXTERNAL_INDEX, TEXTURE_CUBE_INDEX, TEXTURE_3D_INDEX, TEXTURE_RECT_INDEX, @@ -1182,6 +1184,7 @@ typedef enum #define TEXTURE_BUFFER_BIT (1 << TEXTURE_BUFFER_INDEX) #define TEXTURE_2D_ARRAY_BIT (1 << TEXTURE_2D_ARRAY_INDEX) #define TEXTURE_1D_ARRAY_BIT (1 << TEXTURE_1D_ARRAY_INDEX) +#define TEXTURE_EXTERNAL_BIT (1 << TEXTURE_EXTERNAL_INDEX) #define TEXTURE_CUBE_BIT (1 << TEXTURE_CUBE_INDEX) #define TEXTURE_3D_BIT (1 << TEXTURE_3D_INDEX) #define TEXTURE_RECT_BIT (1 << TEXTURE_RECT_INDEX) @@ -1334,6 +1337,7 @@ struct gl_texture_object GLboolean _Complete; /**< Is texture object complete? */ GLboolean _RenderToTexture; /**< Any rendering to this texture? */ GLboolean Purgeable; /**< Is the buffer purgeable under memory pressure? */ + GLboolean Immutable; /**< GL_ARB_texture_storage */ /** Actual texture images, indexed by [cube face] and [mipmap level] */ struct gl_texture_image *Image[MAX_FACES][MAX_TEXTURE_LEVELS]; @@ -1342,6 +1346,9 @@ struct gl_texture_object struct gl_buffer_object *BufferObject; GLenum BufferObjectFormat; + /** GL_OES_EGL_image_external */ + GLint RequiredTextureImageUnits; + /** * \name For device driver. * Note: instead of attaching driver data to this pointer, it's preferable @@ -2826,6 +2833,7 @@ struct gl_extensions GLboolean ARB_texture_non_power_of_two; GLboolean ARB_texture_rg; GLboolean ARB_texture_rgb10_a2ui; + GLboolean ARB_texture_storage; GLboolean ARB_timer_query; GLboolean ARB_transform_feedback2; GLboolean ARB_transpose_matrix; @@ -2900,6 +2908,7 @@ struct gl_extensions GLboolean MESA_texture_array; GLboolean NV_blend_square; GLboolean NV_conditional_render; + GLboolean NV_fog_distance; GLboolean NV_fragment_program; GLboolean NV_fragment_program_option; GLboolean NV_light_max_exponent; @@ -2916,6 +2925,7 @@ struct gl_extensions GLboolean S3_s3tc; GLboolean OES_EGL_image; GLboolean OES_draw_texture; + GLboolean OES_EGL_image_external; GLboolean extension_sentinel; /** The extension string */ const GLubyte *String; diff --git a/mesalib/src/mesa/main/pack.c b/mesalib/src/mesa/main/pack.c index ecdeaf5dc..539a06c9a 100644 --- a/mesalib/src/mesa/main/pack.c +++ b/mesalib/src/mesa/main/pack.c @@ -1983,6 +1983,7 @@ _mesa_pack_rgba_span_float(struct gl_context *ctx, GLuint n, GLfloat rgba[][4], break; default: _mesa_problem(ctx, "bad type in _mesa_pack_rgba_span_float"); + free(luminance); return; } diff --git a/mesalib/src/mesa/main/remap_helper.h b/mesalib/src/mesa/main/remap_helper.h index 5ea2bb62c..db13fb985 100644 --- a/mesalib/src/mesa/main/remap_helper.h +++ b/mesalib/src/mesa/main/remap_helper.h @@ -220,4865 +220,4889 @@ static const char _mesa_function_pool[] = "iif\0" "glListParameterfSGIX\0" "\0" - /* _mesa_function_pool[1272]: SecondaryColor3bEXT (will be remapped) */ + /* _mesa_function_pool[1272]: TexStorage1D (will be remapped) */ + "iiii\0" + "glTexStorage1D\0" + "\0" + /* _mesa_function_pool[1293]: SecondaryColor3bEXT (will be remapped) */ "iii\0" "glSecondaryColor3b\0" "glSecondaryColor3bEXT\0" "\0" - /* _mesa_function_pool[1318]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[1339]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */ "pppp\0" "glTexCoord4fColor4fNormal3fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[1364]: GetnPolygonStippleARB (will be remapped) */ + /* _mesa_function_pool[1385]: GetnPolygonStippleARB (will be remapped) */ "ip\0" "glGetnPolygonStippleARB\0" "\0" - /* _mesa_function_pool[1392]: GetPixelMapfv (offset 271) */ + /* _mesa_function_pool[1413]: GetPixelMapfv (offset 271) */ "ip\0" "glGetPixelMapfv\0" "\0" - /* _mesa_function_pool[1412]: Color3uiv (offset 22) */ + /* _mesa_function_pool[1433]: Color3uiv (offset 22) */ "p\0" "glColor3uiv\0" "\0" - /* _mesa_function_pool[1427]: IsEnabled (offset 286) */ + /* _mesa_function_pool[1448]: IsEnabled (offset 286) */ "i\0" "glIsEnabled\0" "\0" - /* _mesa_function_pool[1442]: VertexAttrib4svNV (will be remapped) */ + /* _mesa_function_pool[1463]: VertexAttrib4svNV (will be remapped) */ "ip\0" "glVertexAttrib4svNV\0" "\0" - /* _mesa_function_pool[1466]: EvalCoord2fv (offset 235) */ + /* _mesa_function_pool[1487]: EvalCoord2fv (offset 235) */ "p\0" "glEvalCoord2fv\0" "\0" - /* _mesa_function_pool[1484]: GetBufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1505]: GetBufferSubDataARB (will be remapped) */ "iiip\0" "glGetBufferSubData\0" "glGetBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1531]: BufferSubDataARB (will be remapped) */ + /* _mesa_function_pool[1552]: BufferSubDataARB (will be remapped) */ "iiip\0" "glBufferSubData\0" "glBufferSubDataARB\0" "\0" - /* _mesa_function_pool[1572]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[1593]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[1610]: AttachShader (will be remapped) */ + /* _mesa_function_pool[1631]: AttachShader (will be remapped) */ "ii\0" "glAttachShader\0" "\0" - /* _mesa_function_pool[1629]: GetCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[1650]: GetCombinerInputParameterfvNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[1668]: MultiTexCoordP2ui (will be remapped) */ + /* _mesa_function_pool[1689]: MultiTexCoordP2ui (will be remapped) */ "iii\0" "glMultiTexCoordP2ui\0" "\0" - /* _mesa_function_pool[1693]: VertexAttrib2fARB (will be remapped) */ + /* _mesa_function_pool[1714]: VertexAttrib2fARB (will be remapped) */ "iff\0" "glVertexAttrib2f\0" "glVertexAttrib2fARB\0" "\0" - /* _mesa_function_pool[1735]: GetDebugLogLengthMESA (dynamic) */ + /* _mesa_function_pool[1756]: GetDebugLogLengthMESA (dynamic) */ "iii\0" "glGetDebugLogLengthMESA\0" "\0" - /* _mesa_function_pool[1764]: GetMapiv (offset 268) */ + /* _mesa_function_pool[1785]: GetMapiv (offset 268) */ "iip\0" "glGetMapiv\0" "\0" - /* _mesa_function_pool[1780]: VertexAttrib3fARB (will be remapped) */ + /* _mesa_function_pool[1801]: VertexAttrib3fARB (will be remapped) */ "ifff\0" "glVertexAttrib3f\0" "glVertexAttrib3fARB\0" "\0" - /* _mesa_function_pool[1823]: Indexubv (offset 316) */ + /* _mesa_function_pool[1844]: Indexubv (offset 316) */ "p\0" "glIndexubv\0" "\0" - /* _mesa_function_pool[1837]: GetQueryivARB (will be remapped) */ + /* _mesa_function_pool[1858]: GetQueryivARB (will be remapped) */ "iip\0" "glGetQueryiv\0" "glGetQueryivARB\0" "\0" - /* _mesa_function_pool[1871]: TexImage3D (offset 371) */ + /* _mesa_function_pool[1892]: TexImage3D (offset 371) */ "iiiiiiiiip\0" "glTexImage3D\0" "glTexImage3DEXT\0" "\0" - /* _mesa_function_pool[1912]: BindFragDataLocationEXT (will be remapped) */ + /* _mesa_function_pool[1933]: BindFragDataLocationEXT (will be remapped) */ "iip\0" "glBindFragDataLocationEXT\0" "glBindFragDataLocation\0" "\0" - /* _mesa_function_pool[1966]: TexCoordP4ui (will be remapped) */ + /* _mesa_function_pool[1987]: TexCoordP4ui (will be remapped) */ "ii\0" "glTexCoordP4ui\0" "\0" - /* _mesa_function_pool[1985]: ReplacementCodeuiVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[2006]: ReplacementCodeuiVertex3fvSUN (dynamic) */ "pp\0" "glReplacementCodeuiVertex3fvSUN\0" "\0" - /* _mesa_function_pool[2021]: EdgeFlagPointer (offset 312) */ + /* _mesa_function_pool[2042]: EdgeFlagPointer (offset 312) */ "ip\0" "glEdgeFlagPointer\0" "\0" - /* _mesa_function_pool[2043]: Color3ubv (offset 20) */ + /* _mesa_function_pool[2064]: Color3ubv (offset 20) */ "p\0" "glColor3ubv\0" "\0" - /* _mesa_function_pool[2058]: GetQueryObjectivARB (will be remapped) */ + /* _mesa_function_pool[2079]: GetQueryObjectivARB (will be remapped) */ "iip\0" "glGetQueryObjectiv\0" "glGetQueryObjectivARB\0" "\0" - /* _mesa_function_pool[2104]: Vertex3dv (offset 135) */ + /* _mesa_function_pool[2125]: Vertex3dv (offset 135) */ "p\0" "glVertex3dv\0" "\0" - /* _mesa_function_pool[2119]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[2140]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[2166]: CompressedTexSubImage2DARB (will be remapped) */ + /* _mesa_function_pool[2187]: CompressedTexSubImage2DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexSubImage2D\0" "glCompressedTexSubImage2DARB\0" "\0" - /* _mesa_function_pool[2232]: CombinerOutputNV (will be remapped) */ + /* _mesa_function_pool[2253]: CombinerOutputNV (will be remapped) */ "iiiiiiiiii\0" "glCombinerOutputNV\0" "\0" - /* _mesa_function_pool[2263]: VertexAttribs3fvNV (will be remapped) */ + /* _mesa_function_pool[2284]: VertexAttribs3fvNV (will be remapped) */ "iip\0" "glVertexAttribs3fvNV\0" "\0" - /* _mesa_function_pool[2289]: GetnMapivARB (will be remapped) */ + /* _mesa_function_pool[2310]: GetnMapivARB (will be remapped) */ "iiip\0" "glGetnMapivARB\0" "\0" - /* _mesa_function_pool[2310]: Uniform2fARB (will be remapped) */ + /* _mesa_function_pool[2331]: Uniform2fARB (will be remapped) */ "iff\0" "glUniform2f\0" "glUniform2fARB\0" "\0" - /* _mesa_function_pool[2342]: LightModeliv (offset 166) */ + /* _mesa_function_pool[2363]: LightModeliv (offset 166) */ "ip\0" "glLightModeliv\0" "\0" - /* _mesa_function_pool[2361]: VertexAttrib1svARB (will be remapped) */ + /* _mesa_function_pool[2382]: VertexAttrib1svARB (will be remapped) */ "ip\0" "glVertexAttrib1sv\0" "glVertexAttrib1svARB\0" "\0" - /* _mesa_function_pool[2404]: VertexAttribs1dvNV (will be remapped) */ + /* _mesa_function_pool[2425]: VertexAttribs1dvNV (will be remapped) */ "iip\0" "glVertexAttribs1dvNV\0" "\0" - /* _mesa_function_pool[2430]: VertexP3ui (will be remapped) */ + /* _mesa_function_pool[2451]: VertexP3ui (will be remapped) */ "ii\0" "glVertexP3ui\0" "\0" - /* _mesa_function_pool[2447]: Uniform2ivARB (will be remapped) */ + /* _mesa_function_pool[2468]: Uniform2ivARB (will be remapped) */ "iip\0" "glUniform2iv\0" "glUniform2ivARB\0" "\0" - /* _mesa_function_pool[2481]: GetImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[2502]: GetImageTransformParameterfvHP (dynamic) */ "iip\0" "glGetImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[2519]: Normal3bv (offset 53) */ + /* _mesa_function_pool[2540]: Normal3bv (offset 53) */ "p\0" "glNormal3bv\0" "\0" - /* _mesa_function_pool[2534]: TexGeniv (offset 193) */ + /* _mesa_function_pool[2555]: TexGeniv (offset 193) */ "iip\0" "glTexGeniv\0" "\0" - /* _mesa_function_pool[2550]: TexCoordP1uiv (will be remapped) */ + /* _mesa_function_pool[2571]: TexCoordP1uiv (will be remapped) */ "ip\0" "glTexCoordP1uiv\0" "\0" - /* _mesa_function_pool[2570]: WeightubvARB (dynamic) */ + /* _mesa_function_pool[2591]: WeightubvARB (dynamic) */ "ip\0" "glWeightubvARB\0" "\0" - /* _mesa_function_pool[2589]: VertexAttrib1fvNV (will be remapped) */ + /* _mesa_function_pool[2610]: VertexAttrib1fvNV (will be remapped) */ "ip\0" "glVertexAttrib1fvNV\0" "\0" - /* _mesa_function_pool[2613]: Vertex3iv (offset 139) */ + /* _mesa_function_pool[2634]: Vertex3iv (offset 139) */ "p\0" "glVertex3iv\0" "\0" - /* _mesa_function_pool[2628]: CopyConvolutionFilter1D (offset 354) */ + /* _mesa_function_pool[2649]: CopyConvolutionFilter1D (offset 354) */ "iiiii\0" "glCopyConvolutionFilter1D\0" "glCopyConvolutionFilter1DEXT\0" "\0" - /* _mesa_function_pool[2690]: VertexAttribI1uiEXT (will be remapped) */ + /* _mesa_function_pool[2711]: VertexAttribI1uiEXT (will be remapped) */ "ii\0" "glVertexAttribI1uiEXT\0" "glVertexAttribI1ui\0" "\0" - /* _mesa_function_pool[2735]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[2756]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[2783]: TexCoordP1ui (will be remapped) */ + /* _mesa_function_pool[2804]: TexCoordP1ui (will be remapped) */ "ii\0" "glTexCoordP1ui\0" "\0" - /* _mesa_function_pool[2802]: DeleteSync (will be remapped) */ + /* _mesa_function_pool[2823]: DeleteSync (will be remapped) */ "i\0" "glDeleteSync\0" "\0" - /* _mesa_function_pool[2818]: FragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[2839]: FragmentMaterialfvSGIX (dynamic) */ "iip\0" "glFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[2848]: BlendColor (offset 336) */ + /* _mesa_function_pool[2869]: BlendColor (offset 336) */ "ffff\0" "glBlendColor\0" "glBlendColorEXT\0" "\0" - /* _mesa_function_pool[2883]: UniformMatrix4fvARB (will be remapped) */ + /* _mesa_function_pool[2904]: UniformMatrix4fvARB (will be remapped) */ "iiip\0" "glUniformMatrix4fv\0" "glUniformMatrix4fvARB\0" "\0" - /* _mesa_function_pool[2930]: DeleteVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[2951]: DeleteVertexArraysAPPLE (will be remapped) */ "ip\0" "glDeleteVertexArrays\0" "glDeleteVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[2981]: TexBuffer (will be remapped) */ + /* _mesa_function_pool[3002]: TexBuffer (will be remapped) */ "iii\0" "glTexBuffer\0" "\0" - /* _mesa_function_pool[2998]: ReadInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[3019]: ReadInstrumentsSGIX (dynamic) */ "i\0" "glReadInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[3023]: CallLists (offset 3) */ + /* _mesa_function_pool[3044]: CallLists (offset 3) */ "iip\0" "glCallLists\0" "\0" - /* _mesa_function_pool[3040]: UniformMatrix2x4fv (will be remapped) */ + /* _mesa_function_pool[3061]: UniformMatrix2x4fv (will be remapped) */ "iiip\0" "glUniformMatrix2x4fv\0" "\0" - /* _mesa_function_pool[3067]: ReadnPixelsARB (will be remapped) */ + /* _mesa_function_pool[3088]: ReadnPixelsARB (will be remapped) */ "iiiiiiip\0" "glReadnPixelsARB\0" "\0" - /* _mesa_function_pool[3094]: Color4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[3115]: Color4ubVertex3fvSUN (dynamic) */ "pp\0" "glColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[3121]: Normal3iv (offset 59) */ + /* _mesa_function_pool[3142]: Normal3iv (offset 59) */ "p\0" "glNormal3iv\0" "\0" - /* _mesa_function_pool[3136]: PassThrough (offset 199) */ + /* _mesa_function_pool[3157]: PassThrough (offset 199) */ "f\0" "glPassThrough\0" "\0" - /* _mesa_function_pool[3153]: GetnPixelMapusvARB (will be remapped) */ + /* _mesa_function_pool[3174]: GetnPixelMapusvARB (will be remapped) */ "iip\0" "glGetnPixelMapusvARB\0" "\0" - /* _mesa_function_pool[3179]: TexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[3200]: TexParameterIivEXT (will be remapped) */ "iip\0" "glTexParameterIivEXT\0" "glTexParameterIiv\0" "\0" - /* _mesa_function_pool[3223]: FramebufferTextureLayerEXT (will be remapped) */ + /* _mesa_function_pool[3244]: FramebufferTextureLayerEXT (will be remapped) */ "iiiii\0" "glFramebufferTextureLayer\0" "glFramebufferTextureLayerARB\0" "glFramebufferTextureLayerEXT\0" "\0" - /* _mesa_function_pool[3314]: GetListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[3335]: GetListParameterfvSGIX (dynamic) */ "iip\0" "glGetListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[3344]: Viewport (offset 305) */ + /* _mesa_function_pool[3365]: Viewport (offset 305) */ "iiii\0" "glViewport\0" "\0" - /* _mesa_function_pool[3361]: VertexAttrib4NusvARB (will be remapped) */ + /* _mesa_function_pool[3382]: VertexAttrib4NusvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nusv\0" "glVertexAttrib4NusvARB\0" "\0" - /* _mesa_function_pool[3408]: VertexP4uiv (will be remapped) */ + /* _mesa_function_pool[3429]: VertexP4uiv (will be remapped) */ "ip\0" "glVertexP4uiv\0" "\0" - /* _mesa_function_pool[3426]: VertexAttribP3ui (will be remapped) */ + /* _mesa_function_pool[3447]: VertexAttribP3ui (will be remapped) */ "iiii\0" "glVertexAttribP3ui\0" "\0" - /* _mesa_function_pool[3451]: WindowPos4svMESA (will be remapped) */ + /* _mesa_function_pool[3472]: WindowPos4svMESA (will be remapped) */ "p\0" "glWindowPos4svMESA\0" "\0" - /* _mesa_function_pool[3473]: CreateProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[3494]: CreateProgramObjectARB (will be remapped) */ "\0" "glCreateProgramObjectARB\0" "\0" - /* _mesa_function_pool[3500]: DeleteTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[3521]: DeleteTransformFeedbacks (will be remapped) */ "ip\0" "glDeleteTransformFeedbacks\0" "\0" - /* _mesa_function_pool[3531]: UniformMatrix4x3fv (will be remapped) */ + /* _mesa_function_pool[3552]: UniformMatrix4x3fv (will be remapped) */ "iiip\0" "glUniformMatrix4x3fv\0" "\0" - /* _mesa_function_pool[3558]: PrioritizeTextures (offset 331) */ + /* _mesa_function_pool[3579]: PrioritizeTextures (offset 331) */ "ipp\0" "glPrioritizeTextures\0" "glPrioritizeTexturesEXT\0" "\0" - /* _mesa_function_pool[3608]: VertexAttribI3uiEXT (will be remapped) */ + /* _mesa_function_pool[3629]: VertexAttribI3uiEXT (will be remapped) */ "iiii\0" "glVertexAttribI3uiEXT\0" "glVertexAttribI3ui\0" "\0" - /* _mesa_function_pool[3655]: AsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[3676]: AsyncMarkerSGIX (dynamic) */ "i\0" "glAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[3676]: GlobalAlphaFactorubSUN (dynamic) */ + /* _mesa_function_pool[3697]: GlobalAlphaFactorubSUN (dynamic) */ "i\0" "glGlobalAlphaFactorubSUN\0" "\0" - /* _mesa_function_pool[3704]: ClearColorIuiEXT (will be remapped) */ + /* _mesa_function_pool[3725]: ClearColorIuiEXT (will be remapped) */ "iiii\0" "glClearColorIuiEXT\0" "\0" - /* _mesa_function_pool[3729]: ClearDebugLogMESA (dynamic) */ + /* _mesa_function_pool[3750]: ClearDebugLogMESA (dynamic) */ "iii\0" "glClearDebugLogMESA\0" "\0" - /* _mesa_function_pool[3754]: Uniform4uiEXT (will be remapped) */ + /* _mesa_function_pool[3775]: Uniform4uiEXT (will be remapped) */ "iiiii\0" "glUniform4uiEXT\0" "glUniform4ui\0" "\0" - /* _mesa_function_pool[3790]: ResetHistogram (offset 369) */ + /* _mesa_function_pool[3811]: ResetHistogram (offset 369) */ "i\0" "glResetHistogram\0" "glResetHistogramEXT\0" "\0" - /* _mesa_function_pool[3830]: GetProgramNamedParameterfvNV (will be remapped) */ + /* _mesa_function_pool[3851]: GetProgramNamedParameterfvNV (will be remapped) */ "iipp\0" "glGetProgramNamedParameterfvNV\0" "\0" - /* _mesa_function_pool[3867]: PointParameterfEXT (will be remapped) */ + /* _mesa_function_pool[3888]: PointParameterfEXT (will be remapped) */ "if\0" "glPointParameterf\0" "glPointParameterfARB\0" "glPointParameterfEXT\0" "glPointParameterfSGIS\0" "\0" - /* _mesa_function_pool[3953]: MultiTexCoordP4uiv (will be remapped) */ + /* _mesa_function_pool[3974]: MultiTexCoordP4uiv (will be remapped) */ "iip\0" "glMultiTexCoordP4uiv\0" "\0" - /* _mesa_function_pool[3979]: LoadIdentityDeformationMapSGIX (dynamic) */ + /* _mesa_function_pool[4000]: LoadIdentityDeformationMapSGIX (dynamic) */ "i\0" "glLoadIdentityDeformationMapSGIX\0" "\0" - /* _mesa_function_pool[4015]: GenFencesNV (will be remapped) */ + /* _mesa_function_pool[4036]: GenFencesNV (will be remapped) */ "ip\0" "glGenFencesNV\0" "\0" - /* _mesa_function_pool[4033]: ImageTransformParameterfHP (dynamic) */ + /* _mesa_function_pool[4054]: ImageTransformParameterfHP (dynamic) */ "iif\0" "glImageTransformParameterfHP\0" "\0" - /* _mesa_function_pool[4067]: MatrixIndexusvARB (dynamic) */ + /* _mesa_function_pool[4088]: MatrixIndexusvARB (dynamic) */ "ip\0" "glMatrixIndexusvARB\0" "\0" - /* _mesa_function_pool[4091]: DrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[4112]: DrawElementsBaseVertex (will be remapped) */ "iiipi\0" "glDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[4123]: DisableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[4144]: DisableVertexAttribArrayARB (will be remapped) */ "i\0" "glDisableVertexAttribArray\0" "glDisableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[4183]: GetnConvolutionFilterARB (will be remapped) */ + /* _mesa_function_pool[4204]: GetnConvolutionFilterARB (will be remapped) */ "iiiip\0" "glGetnConvolutionFilterARB\0" "\0" - /* _mesa_function_pool[4217]: TexCoord2sv (offset 109) */ + /* _mesa_function_pool[4238]: TexCoord2sv (offset 109) */ "p\0" "glTexCoord2sv\0" "\0" - /* _mesa_function_pool[4234]: ColorP4uiv (will be remapped) */ + /* _mesa_function_pool[4255]: ColorP4uiv (will be remapped) */ "ip\0" "glColorP4uiv\0" "\0" - /* _mesa_function_pool[4251]: Vertex4dv (offset 143) */ + /* _mesa_function_pool[4272]: Vertex4dv (offset 143) */ "p\0" "glVertex4dv\0" "\0" - /* _mesa_function_pool[4266]: StencilMaskSeparate (will be remapped) */ + /* _mesa_function_pool[4287]: StencilMaskSeparate (will be remapped) */ "ii\0" "glStencilMaskSeparate\0" "\0" - /* _mesa_function_pool[4292]: ProgramLocalParameter4dARB (will be remapped) */ + /* _mesa_function_pool[4313]: ProgramLocalParameter4dARB (will be remapped) */ "iidddd\0" "glProgramLocalParameter4dARB\0" "\0" - /* _mesa_function_pool[4329]: CompressedTexImage3DARB (will be remapped) */ + /* _mesa_function_pool[4350]: CompressedTexImage3DARB (will be remapped) */ "iiiiiiiip\0" "glCompressedTexImage3D\0" "glCompressedTexImage3DARB\0" "\0" - /* _mesa_function_pool[4389]: Color3sv (offset 18) */ + /* _mesa_function_pool[4410]: Color3sv (offset 18) */ "p\0" "glColor3sv\0" "\0" - /* _mesa_function_pool[4403]: GetConvolutionParameteriv (offset 358) */ + /* _mesa_function_pool[4424]: GetConvolutionParameteriv (offset 358) */ "iip\0" "glGetConvolutionParameteriv\0" "glGetConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[4467]: DeleteSamplers (will be remapped) */ + /* _mesa_function_pool[4488]: DeleteSamplers (will be remapped) */ "ip\0" "glDeleteSamplers\0" "\0" - /* _mesa_function_pool[4488]: VertexAttrib1fARB (will be remapped) */ + /* _mesa_function_pool[4509]: VertexAttrib1fARB (will be remapped) */ "if\0" "glVertexAttrib1f\0" "glVertexAttrib1fARB\0" "\0" - /* _mesa_function_pool[4529]: Vertex2dv (offset 127) */ + /* _mesa_function_pool[4550]: Vertex2dv (offset 127) */ "p\0" "glVertex2dv\0" "\0" - /* _mesa_function_pool[4544]: TestFenceNV (will be remapped) */ + /* _mesa_function_pool[4565]: TestFenceNV (will be remapped) */ "i\0" "glTestFenceNV\0" "\0" - /* _mesa_function_pool[4561]: GetVertexAttribIuivEXT (will be remapped) */ + /* _mesa_function_pool[4582]: GetVertexAttribIuivEXT (will be remapped) */ "iip\0" "glGetVertexAttribIuivEXT\0" "glGetVertexAttribIuiv\0" "\0" - /* _mesa_function_pool[4613]: MultiTexCoord1fvARB (offset 379) */ + /* _mesa_function_pool[4634]: MultiTexCoord1fvARB (offset 379) */ "ip\0" "glMultiTexCoord1fv\0" "glMultiTexCoord1fvARB\0" "\0" - /* _mesa_function_pool[4658]: TexCoord3iv (offset 115) */ + /* _mesa_function_pool[4679]: TexCoord3iv (offset 115) */ "p\0" "glTexCoord3iv\0" "\0" - /* _mesa_function_pool[4675]: Uniform2uivEXT (will be remapped) */ + /* _mesa_function_pool[4696]: Uniform2uivEXT (will be remapped) */ "iip\0" "glUniform2uivEXT\0" "glUniform2uiv\0" "\0" - /* _mesa_function_pool[4711]: ColorFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[4732]: ColorFragmentOp2ATI (will be remapped) */ "iiiiiiiiii\0" "glColorFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[4745]: SecondaryColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[4766]: TexStorage2D (will be remapped) */ + "iiiii\0" + "glTexStorage2D\0" + "\0" + /* _mesa_function_pool[4788]: SecondaryColorPointerListIBM (dynamic) */ "iiipi\0" "glSecondaryColorPointerListIBM\0" "\0" - /* _mesa_function_pool[4783]: GetPixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[4826]: GetPixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[4819]: Color3fv (offset 14) */ + /* _mesa_function_pool[4862]: Color3fv (offset 14) */ "p\0" "glColor3fv\0" "\0" - /* _mesa_function_pool[4833]: GetnPixelMapfvARB (will be remapped) */ + /* _mesa_function_pool[4876]: GetnPixelMapfvARB (will be remapped) */ "iip\0" "glGetnPixelMapfvARB\0" "\0" - /* _mesa_function_pool[4858]: ReplacementCodeubSUN (dynamic) */ + /* _mesa_function_pool[4901]: TextureStorage1DEXT (will be remapped) */ + "iiiii\0" + "glTextureStorage1DEXT\0" + "\0" + /* _mesa_function_pool[4930]: ReplacementCodeubSUN (dynamic) */ "i\0" "glReplacementCodeubSUN\0" "\0" - /* _mesa_function_pool[4884]: FinishAsyncSGIX (dynamic) */ + /* _mesa_function_pool[4956]: FinishAsyncSGIX (dynamic) */ "p\0" "glFinishAsyncSGIX\0" "\0" - /* _mesa_function_pool[4905]: GetnUniformfvARB (will be remapped) */ + /* _mesa_function_pool[4977]: GetnUniformfvARB (will be remapped) */ "iiip\0" "glGetnUniformfvARB\0" "\0" - /* _mesa_function_pool[4930]: GetDebugLogMESA (dynamic) */ + /* _mesa_function_pool[5002]: GetDebugLogMESA (dynamic) */ "iiiipp\0" "glGetDebugLogMESA\0" "\0" - /* _mesa_function_pool[4956]: FogCoorddEXT (will be remapped) */ + /* _mesa_function_pool[5028]: FogCoorddEXT (will be remapped) */ "d\0" "glFogCoordd\0" "glFogCoorddEXT\0" "\0" - /* _mesa_function_pool[4986]: BeginConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[5058]: BeginConditionalRenderNV (will be remapped) */ "ii\0" "glBeginConditionalRenderNV\0" "glBeginConditionalRender\0" "\0" - /* _mesa_function_pool[5042]: Color4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5114]: Color4ubVertex3fSUN (dynamic) */ "iiiifff\0" "glColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[5073]: FogCoordfEXT (will be remapped) */ + /* _mesa_function_pool[5145]: FogCoordfEXT (will be remapped) */ "f\0" "glFogCoordf\0" "glFogCoordfEXT\0" "\0" - /* _mesa_function_pool[5103]: PointSize (offset 173) */ + /* _mesa_function_pool[5175]: PointSize (offset 173) */ "f\0" "glPointSize\0" "\0" - /* _mesa_function_pool[5118]: VertexAttribI2uivEXT (will be remapped) */ + /* _mesa_function_pool[5190]: VertexAttribI2uivEXT (will be remapped) */ "ip\0" "glVertexAttribI2uivEXT\0" "glVertexAttribI2uiv\0" "\0" - /* _mesa_function_pool[5165]: TexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5237]: TexCoord2fVertex3fSUN (dynamic) */ "fffff\0" "glTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[5196]: PopName (offset 200) */ + /* _mesa_function_pool[5268]: PopName (offset 200) */ "\0" "glPopName\0" "\0" - /* _mesa_function_pool[5208]: GetSamplerParameterfv (will be remapped) */ + /* _mesa_function_pool[5280]: GetSamplerParameterfv (will be remapped) */ "iip\0" "glGetSamplerParameterfv\0" "\0" - /* _mesa_function_pool[5237]: GlobalAlphaFactoriSUN (dynamic) */ + /* _mesa_function_pool[5309]: GlobalAlphaFactoriSUN (dynamic) */ "i\0" "glGlobalAlphaFactoriSUN\0" "\0" - /* _mesa_function_pool[5264]: VertexAttrib2dNV (will be remapped) */ + /* _mesa_function_pool[5336]: VertexAttrib2dNV (will be remapped) */ "idd\0" "glVertexAttrib2dNV\0" "\0" - /* _mesa_function_pool[5288]: GetProgramInfoLog (will be remapped) */ + /* _mesa_function_pool[5360]: GetProgramInfoLog (will be remapped) */ "iipp\0" "glGetProgramInfoLog\0" "\0" - /* _mesa_function_pool[5314]: VertexP2ui (will be remapped) */ + /* _mesa_function_pool[5386]: VertexP2ui (will be remapped) */ "ii\0" "glVertexP2ui\0" "\0" - /* _mesa_function_pool[5331]: VertexAttrib4NbvARB (will be remapped) */ + /* _mesa_function_pool[5403]: VertexAttrib4NbvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nbv\0" "glVertexAttrib4NbvARB\0" "\0" - /* _mesa_function_pool[5376]: GetActiveAttribARB (will be remapped) */ + /* _mesa_function_pool[5448]: GetActiveAttribARB (will be remapped) */ "iiipppp\0" "glGetActiveAttrib\0" "glGetActiveAttribARB\0" "\0" - /* _mesa_function_pool[5424]: Vertex4sv (offset 149) */ + /* _mesa_function_pool[5496]: Vertex4sv (offset 149) */ "p\0" "glVertex4sv\0" "\0" - /* _mesa_function_pool[5439]: VertexAttrib4ubNV (will be remapped) */ + /* _mesa_function_pool[5511]: VertexAttrib4ubNV (will be remapped) */ "iiiii\0" "glVertexAttrib4ubNV\0" "\0" - /* _mesa_function_pool[5466]: VertexAttribI1ivEXT (will be remapped) */ + /* _mesa_function_pool[5538]: VertexAttribI1ivEXT (will be remapped) */ "ip\0" "glVertexAttribI1ivEXT\0" "glVertexAttribI1iv\0" "\0" - /* _mesa_function_pool[5511]: ClampColor (will be remapped) */ + /* _mesa_function_pool[5583]: ClampColor (will be remapped) */ "ii\0" "glClampColor\0" "\0" - /* _mesa_function_pool[5528]: TextureRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[5600]: TextureRangeAPPLE (will be remapped) */ "iip\0" "glTextureRangeAPPLE\0" "\0" - /* _mesa_function_pool[5553]: GetTexEnvfv (offset 276) */ + /* _mesa_function_pool[5625]: GetTexEnvfv (offset 276) */ "iip\0" "glGetTexEnvfv\0" "\0" - /* _mesa_function_pool[5572]: VertexAttribP2uiv (will be remapped) */ + /* _mesa_function_pool[5644]: VertexAttribP2uiv (will be remapped) */ "iiip\0" "glVertexAttribP2uiv\0" "\0" - /* _mesa_function_pool[5598]: BindTransformFeedback (will be remapped) */ + /* _mesa_function_pool[5670]: BindTransformFeedback (will be remapped) */ "ii\0" "glBindTransformFeedback\0" "\0" - /* _mesa_function_pool[5626]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[5698]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "ffffffffffff\0" "glTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[5679]: Indexub (offset 315) */ + /* _mesa_function_pool[5751]: Indexub (offset 315) */ "i\0" "glIndexub\0" "\0" - /* _mesa_function_pool[5692]: VertexAttrib4fNV (will be remapped) */ + /* _mesa_function_pool[5764]: VertexAttrib4fNV (will be remapped) */ "iffff\0" "glVertexAttrib4fNV\0" "\0" - /* _mesa_function_pool[5718]: TexEnvi (offset 186) */ + /* _mesa_function_pool[5790]: TexEnvi (offset 186) */ "iii\0" "glTexEnvi\0" "\0" - /* _mesa_function_pool[5733]: GetClipPlane (offset 259) */ + /* _mesa_function_pool[5805]: GetClipPlane (offset 259) */ "ip\0" "glGetClipPlane\0" "\0" - /* _mesa_function_pool[5752]: CombinerParameterfvNV (will be remapped) */ + /* _mesa_function_pool[5824]: CombinerParameterfvNV (will be remapped) */ "ip\0" "glCombinerParameterfvNV\0" "\0" - /* _mesa_function_pool[5780]: TexCoordP4uiv (will be remapped) */ + /* _mesa_function_pool[5852]: TexCoordP4uiv (will be remapped) */ "ip\0" "glTexCoordP4uiv\0" "\0" - /* _mesa_function_pool[5800]: VertexAttribs3dvNV (will be remapped) */ + /* _mesa_function_pool[5872]: VertexAttribs3dvNV (will be remapped) */ "iip\0" "glVertexAttribs3dvNV\0" "\0" - /* _mesa_function_pool[5826]: VertexAttribI2uiEXT (will be remapped) */ + /* _mesa_function_pool[5898]: VertexAttribI2uiEXT (will be remapped) */ "iii\0" "glVertexAttribI2uiEXT\0" "glVertexAttribI2ui\0" "\0" - /* _mesa_function_pool[5872]: VertexAttribs4fvNV (will be remapped) */ + /* _mesa_function_pool[5944]: VertexAttribs4fvNV (will be remapped) */ "iip\0" "glVertexAttribs4fvNV\0" "\0" - /* _mesa_function_pool[5898]: VertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[5970]: VertexArrayRangeNV (will be remapped) */ "ip\0" "glVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[5923]: FragmentLightiSGIX (dynamic) */ + /* _mesa_function_pool[5995]: FragmentLightiSGIX (dynamic) */ "iii\0" "glFragmentLightiSGIX\0" "\0" - /* _mesa_function_pool[5949]: PolygonOffsetEXT (will be remapped) */ + /* _mesa_function_pool[6021]: PolygonOffsetEXT (will be remapped) */ "ff\0" "glPolygonOffsetEXT\0" "\0" - /* _mesa_function_pool[5972]: VertexAttribI4uivEXT (will be remapped) */ + /* _mesa_function_pool[6044]: VertexAttribI4uivEXT (will be remapped) */ "ip\0" "glVertexAttribI4uivEXT\0" "glVertexAttribI4uiv\0" "\0" - /* _mesa_function_pool[6019]: PollAsyncSGIX (dynamic) */ + /* _mesa_function_pool[6091]: PollAsyncSGIX (dynamic) */ "p\0" "glPollAsyncSGIX\0" "\0" - /* _mesa_function_pool[6038]: DeleteFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[6110]: DeleteFragmentShaderATI (will be remapped) */ "i\0" "glDeleteFragmentShaderATI\0" "\0" - /* _mesa_function_pool[6067]: Scaled (offset 301) */ + /* _mesa_function_pool[6139]: Scaled (offset 301) */ "ddd\0" "glScaled\0" "\0" - /* _mesa_function_pool[6081]: ResumeTransformFeedback (will be remapped) */ + /* _mesa_function_pool[6153]: ResumeTransformFeedback (will be remapped) */ "\0" "glResumeTransformFeedback\0" "\0" - /* _mesa_function_pool[6109]: Scalef (offset 302) */ + /* _mesa_function_pool[6181]: Scalef (offset 302) */ "fff\0" "glScalef\0" "\0" - /* _mesa_function_pool[6123]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[6195]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[6161]: ProgramEnvParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[6233]: ProgramEnvParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramEnvParameters4fvEXT\0" "\0" - /* _mesa_function_pool[6196]: MultTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[6268]: MultTransposeMatrixdARB (will be remapped) */ "p\0" "glMultTransposeMatrixd\0" "glMultTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[6248]: ColorMaskIndexedEXT (will be remapped) */ + /* _mesa_function_pool[6320]: ColorMaskIndexedEXT (will be remapped) */ "iiiii\0" "glColorMaskIndexedEXT\0" "glColorMaski\0" "\0" - /* _mesa_function_pool[6290]: ObjectUnpurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[6362]: ObjectUnpurgeableAPPLE (will be remapped) */ "iii\0" "glObjectUnpurgeableAPPLE\0" "\0" - /* _mesa_function_pool[6320]: TexCoordP3ui (will be remapped) */ + /* _mesa_function_pool[6392]: TexCoordP3ui (will be remapped) */ "ii\0" "glTexCoordP3ui\0" "\0" - /* _mesa_function_pool[6339]: AlphaFunc (offset 240) */ + /* _mesa_function_pool[6411]: AlphaFunc (offset 240) */ "if\0" "glAlphaFunc\0" "\0" - /* _mesa_function_pool[6355]: WindowPos2svMESA (will be remapped) */ + /* _mesa_function_pool[6427]: WindowPos2svMESA (will be remapped) */ "p\0" "glWindowPos2sv\0" "glWindowPos2svARB\0" "glWindowPos2svMESA\0" "\0" - /* _mesa_function_pool[6410]: EdgeFlag (offset 41) */ + /* _mesa_function_pool[6482]: EdgeFlag (offset 41) */ "i\0" "glEdgeFlag\0" "\0" - /* _mesa_function_pool[6424]: TexCoord2iv (offset 107) */ + /* _mesa_function_pool[6496]: TexCoord2iv (offset 107) */ "p\0" "glTexCoord2iv\0" "\0" - /* _mesa_function_pool[6441]: CompressedTexImage1DARB (will be remapped) */ + /* _mesa_function_pool[6513]: CompressedTexImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexImage1D\0" "glCompressedTexImage1DARB\0" "\0" - /* _mesa_function_pool[6499]: Rotated (offset 299) */ + /* _mesa_function_pool[6571]: Rotated (offset 299) */ "dddd\0" "glRotated\0" "\0" - /* _mesa_function_pool[6515]: GetTexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[6587]: GetTexParameterIuivEXT (will be remapped) */ "iip\0" "glGetTexParameterIuivEXT\0" "glGetTexParameterIuiv\0" "\0" - /* _mesa_function_pool[6567]: VertexAttrib2sNV (will be remapped) */ + /* _mesa_function_pool[6639]: VertexAttrib2sNV (will be remapped) */ "iii\0" "glVertexAttrib2sNV\0" "\0" - /* _mesa_function_pool[6591]: ReadPixels (offset 256) */ + /* _mesa_function_pool[6663]: ReadPixels (offset 256) */ "iiiiiip\0" "glReadPixels\0" "\0" - /* _mesa_function_pool[6613]: VertexAttribDivisorARB (will be remapped) */ + /* _mesa_function_pool[6685]: VertexAttribDivisorARB (will be remapped) */ "ii\0" "glVertexAttribDivisorARB\0" "\0" - /* _mesa_function_pool[6642]: EdgeFlagv (offset 42) */ + /* _mesa_function_pool[6714]: EdgeFlagv (offset 42) */ "p\0" "glEdgeFlagv\0" "\0" - /* _mesa_function_pool[6657]: NormalPointerListIBM (dynamic) */ + /* _mesa_function_pool[6729]: NormalPointerListIBM (dynamic) */ "iipi\0" "glNormalPointerListIBM\0" "\0" - /* _mesa_function_pool[6686]: IndexPointerEXT (will be remapped) */ + /* _mesa_function_pool[6758]: IndexPointerEXT (will be remapped) */ "iiip\0" "glIndexPointerEXT\0" "\0" - /* _mesa_function_pool[6710]: Color4iv (offset 32) */ + /* _mesa_function_pool[6782]: Color4iv (offset 32) */ "p\0" "glColor4iv\0" "\0" - /* _mesa_function_pool[6724]: TexParameterf (offset 178) */ + /* _mesa_function_pool[6796]: TexParameterf (offset 178) */ "iif\0" "glTexParameterf\0" "\0" - /* _mesa_function_pool[6745]: TexParameteri (offset 180) */ + /* _mesa_function_pool[6817]: TexParameteri (offset 180) */ "iii\0" "glTexParameteri\0" "\0" - /* _mesa_function_pool[6766]: NormalPointerEXT (will be remapped) */ + /* _mesa_function_pool[6838]: NormalPointerEXT (will be remapped) */ "iiip\0" "glNormalPointerEXT\0" "\0" - /* _mesa_function_pool[6791]: MultiTexCoord3dARB (offset 392) */ + /* _mesa_function_pool[6863]: MultiTexCoord3dARB (offset 392) */ "iddd\0" "glMultiTexCoord3d\0" "glMultiTexCoord3dARB\0" "\0" - /* _mesa_function_pool[6836]: MultiTexCoord2iARB (offset 388) */ + /* _mesa_function_pool[6908]: MultiTexCoord2iARB (offset 388) */ "iii\0" "glMultiTexCoord2i\0" "glMultiTexCoord2iARB\0" "\0" - /* _mesa_function_pool[6880]: DrawPixels (offset 257) */ + /* _mesa_function_pool[6952]: DrawPixels (offset 257) */ "iiiip\0" "glDrawPixels\0" "\0" - /* _mesa_function_pool[6900]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[6972]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */ "iffffffff\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[6960]: MultiTexCoord2svARB (offset 391) */ + /* _mesa_function_pool[7032]: MultiTexCoord2svARB (offset 391) */ "ip\0" "glMultiTexCoord2sv\0" "glMultiTexCoord2svARB\0" "\0" - /* _mesa_function_pool[7005]: ReplacementCodeubvSUN (dynamic) */ + /* _mesa_function_pool[7077]: ReplacementCodeubvSUN (dynamic) */ "p\0" "glReplacementCodeubvSUN\0" "\0" - /* _mesa_function_pool[7032]: Uniform3iARB (will be remapped) */ + /* _mesa_function_pool[7104]: Uniform3iARB (will be remapped) */ "iiii\0" "glUniform3i\0" "glUniform3iARB\0" "\0" - /* _mesa_function_pool[7065]: DrawTransformFeedback (will be remapped) */ + /* _mesa_function_pool[7137]: DrawTransformFeedback (will be remapped) */ "ii\0" "glDrawTransformFeedback\0" "\0" - /* _mesa_function_pool[7093]: DrawElementsInstancedARB (will be remapped) */ + /* _mesa_function_pool[7165]: DrawElementsInstancedARB (will be remapped) */ "iiipi\0" "glDrawElementsInstancedARB\0" "glDrawElementsInstancedEXT\0" "glDrawElementsInstanced\0" "\0" - /* _mesa_function_pool[7178]: GetShaderInfoLog (will be remapped) */ + /* _mesa_function_pool[7250]: GetShaderInfoLog (will be remapped) */ "iipp\0" "glGetShaderInfoLog\0" "\0" - /* _mesa_function_pool[7203]: WeightivARB (dynamic) */ + /* _mesa_function_pool[7275]: WeightivARB (dynamic) */ "ip\0" "glWeightivARB\0" "\0" - /* _mesa_function_pool[7221]: PollInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[7293]: PollInstrumentsSGIX (dynamic) */ "p\0" "glPollInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[7246]: GlobalAlphaFactordSUN (dynamic) */ + /* _mesa_function_pool[7318]: GlobalAlphaFactordSUN (dynamic) */ "d\0" "glGlobalAlphaFactordSUN\0" "\0" - /* _mesa_function_pool[7273]: GetFinalCombinerInputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[7345]: GetFinalCombinerInputParameterfvNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterfvNV\0" "\0" - /* _mesa_function_pool[7315]: GenerateMipmapEXT (will be remapped) */ + /* _mesa_function_pool[7387]: GenerateMipmapEXT (will be remapped) */ "i\0" "glGenerateMipmap\0" "glGenerateMipmapEXT\0" "\0" - /* _mesa_function_pool[7355]: GenLists (offset 5) */ + /* _mesa_function_pool[7427]: GenLists (offset 5) */ "i\0" "glGenLists\0" "\0" - /* _mesa_function_pool[7369]: DepthRangef (will be remapped) */ + /* _mesa_function_pool[7441]: DepthRangef (will be remapped) */ "ff\0" "glDepthRangef\0" "\0" - /* _mesa_function_pool[7387]: GetMapAttribParameterivNV (dynamic) */ + /* _mesa_function_pool[7459]: GetMapAttribParameterivNV (dynamic) */ "iiip\0" "glGetMapAttribParameterivNV\0" "\0" - /* _mesa_function_pool[7421]: CreateShaderObjectARB (will be remapped) */ + /* _mesa_function_pool[7493]: CreateShaderObjectARB (will be remapped) */ "i\0" "glCreateShaderObjectARB\0" "\0" - /* _mesa_function_pool[7448]: GetSharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[7520]: GetSharpenTexFuncSGIS (dynamic) */ "ip\0" "glGetSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[7476]: BufferDataARB (will be remapped) */ + /* _mesa_function_pool[7548]: BufferDataARB (will be remapped) */ "iipi\0" "glBufferData\0" "glBufferDataARB\0" "\0" - /* _mesa_function_pool[7511]: FlushVertexArrayRangeNV (will be remapped) */ + /* _mesa_function_pool[7583]: FlushVertexArrayRangeNV (will be remapped) */ "\0" "glFlushVertexArrayRangeNV\0" "\0" - /* _mesa_function_pool[7539]: MapGrid2d (offset 226) */ + /* _mesa_function_pool[7611]: MapGrid2d (offset 226) */ "iddidd\0" "glMapGrid2d\0" "\0" - /* _mesa_function_pool[7559]: MapGrid2f (offset 227) */ + /* _mesa_function_pool[7631]: MapGrid2f (offset 227) */ "iffiff\0" "glMapGrid2f\0" "\0" - /* _mesa_function_pool[7579]: SampleMapATI (will be remapped) */ + /* _mesa_function_pool[7651]: SampleMapATI (will be remapped) */ "iii\0" "glSampleMapATI\0" "\0" - /* _mesa_function_pool[7599]: VertexPointerEXT (will be remapped) */ + /* _mesa_function_pool[7671]: VertexPointerEXT (will be remapped) */ "iiiip\0" "glVertexPointerEXT\0" "\0" - /* _mesa_function_pool[7625]: GetTexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[7697]: GetTexFilterFuncSGIS (dynamic) */ "iip\0" "glGetTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[7653]: Scissor (offset 176) */ + /* _mesa_function_pool[7725]: Scissor (offset 176) */ "iiii\0" "glScissor\0" "\0" - /* _mesa_function_pool[7669]: Fogf (offset 153) */ + /* _mesa_function_pool[7741]: Fogf (offset 153) */ "if\0" "glFogf\0" "\0" - /* _mesa_function_pool[7680]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[7752]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiColor4ubVertex3fvSUN\0" "\0" - /* _mesa_function_pool[7725]: TexSubImage1D (offset 332) */ + /* _mesa_function_pool[7797]: TexSubImage1D (offset 332) */ "iiiiiip\0" "glTexSubImage1D\0" "glTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[7769]: VertexAttrib1sARB (will be remapped) */ + /* _mesa_function_pool[7841]: VertexAttrib1sARB (will be remapped) */ "ii\0" "glVertexAttrib1s\0" "glVertexAttrib1sARB\0" "\0" - /* _mesa_function_pool[7810]: FenceSync (will be remapped) */ + /* _mesa_function_pool[7882]: FenceSync (will be remapped) */ "ii\0" "glFenceSync\0" "\0" - /* _mesa_function_pool[7826]: Color4usv (offset 40) */ + /* _mesa_function_pool[7898]: Color4usv (offset 40) */ "p\0" "glColor4usv\0" "\0" - /* _mesa_function_pool[7841]: Fogi (offset 155) */ + /* _mesa_function_pool[7913]: Fogi (offset 155) */ "ii\0" "glFogi\0" "\0" - /* _mesa_function_pool[7852]: DepthRange (offset 288) */ + /* _mesa_function_pool[7924]: DepthRange (offset 288) */ "dd\0" "glDepthRange\0" "\0" - /* _mesa_function_pool[7869]: RasterPos3iv (offset 75) */ + /* _mesa_function_pool[7941]: RasterPos3iv (offset 75) */ "p\0" "glRasterPos3iv\0" "\0" - /* _mesa_function_pool[7887]: FinalCombinerInputNV (will be remapped) */ + /* _mesa_function_pool[7959]: FinalCombinerInputNV (will be remapped) */ "iiii\0" "glFinalCombinerInputNV\0" "\0" - /* _mesa_function_pool[7916]: TexCoord2i (offset 106) */ + /* _mesa_function_pool[7988]: TexCoord2i (offset 106) */ "ii\0" "glTexCoord2i\0" "\0" - /* _mesa_function_pool[7933]: PixelMapfv (offset 251) */ + /* _mesa_function_pool[8005]: PixelMapfv (offset 251) */ "iip\0" "glPixelMapfv\0" "\0" - /* _mesa_function_pool[7951]: Color4ui (offset 37) */ + /* _mesa_function_pool[8023]: Color4ui (offset 37) */ "iiii\0" "glColor4ui\0" "\0" - /* _mesa_function_pool[7968]: RasterPos3s (offset 76) */ + /* _mesa_function_pool[8040]: RasterPos3s (offset 76) */ "iii\0" "glRasterPos3s\0" "\0" - /* _mesa_function_pool[7987]: Color3usv (offset 24) */ + /* _mesa_function_pool[8059]: Color3usv (offset 24) */ "p\0" "glColor3usv\0" "\0" - /* _mesa_function_pool[8002]: FlushRasterSGIX (dynamic) */ + /* _mesa_function_pool[8074]: FlushRasterSGIX (dynamic) */ "\0" "glFlushRasterSGIX\0" "\0" - /* _mesa_function_pool[8022]: TexCoord2f (offset 104) */ + /* _mesa_function_pool[8094]: TexCoord2f (offset 104) */ "ff\0" "glTexCoord2f\0" "\0" - /* _mesa_function_pool[8039]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[8111]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */ "ifffff\0" "glReplacementCodeuiTexCoord2fVertex3fSUN\0" "\0" - /* _mesa_function_pool[8088]: TexCoord2d (offset 102) */ + /* _mesa_function_pool[8160]: TexCoord2d (offset 102) */ "dd\0" "glTexCoord2d\0" "\0" - /* _mesa_function_pool[8105]: RasterPos3d (offset 70) */ + /* _mesa_function_pool[8177]: RasterPos3d (offset 70) */ "ddd\0" "glRasterPos3d\0" "\0" - /* _mesa_function_pool[8124]: RasterPos3f (offset 72) */ + /* _mesa_function_pool[8196]: RasterPos3f (offset 72) */ "fff\0" "glRasterPos3f\0" "\0" - /* _mesa_function_pool[8143]: Uniform1fARB (will be remapped) */ + /* _mesa_function_pool[8215]: Uniform1fARB (will be remapped) */ "if\0" "glUniform1f\0" "glUniform1fARB\0" "\0" - /* _mesa_function_pool[8174]: AreTexturesResident (offset 322) */ + /* _mesa_function_pool[8246]: AreTexturesResident (offset 322) */ "ipp\0" "glAreTexturesResident\0" "glAreTexturesResidentEXT\0" "\0" - /* _mesa_function_pool[8226]: TexCoord2s (offset 108) */ + /* _mesa_function_pool[8298]: TexCoord2s (offset 108) */ "ii\0" "glTexCoord2s\0" "\0" - /* _mesa_function_pool[8243]: StencilOpSeparate (will be remapped) */ + /* _mesa_function_pool[8315]: StencilOpSeparate (will be remapped) */ "iiii\0" "glStencilOpSeparate\0" "glStencilOpSeparateATI\0" "\0" - /* _mesa_function_pool[8292]: ColorTableParameteriv (offset 341) */ + /* _mesa_function_pool[8364]: ColorTableParameteriv (offset 341) */ "iip\0" "glColorTableParameteriv\0" "glColorTableParameterivSGI\0" "\0" - /* _mesa_function_pool[8348]: FogCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[8420]: FogCoordPointerListIBM (dynamic) */ "iipi\0" "glFogCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[8379]: WindowPos3dMESA (will be remapped) */ + /* _mesa_function_pool[8451]: WindowPos3dMESA (will be remapped) */ "ddd\0" "glWindowPos3d\0" "glWindowPos3dARB\0" "glWindowPos3dMESA\0" "\0" - /* _mesa_function_pool[8433]: Color4us (offset 39) */ + /* _mesa_function_pool[8505]: Color4us (offset 39) */ "iiii\0" "glColor4us\0" "\0" - /* _mesa_function_pool[8450]: PointParameterfvEXT (will be remapped) */ + /* _mesa_function_pool[8522]: PointParameterfvEXT (will be remapped) */ "ip\0" "glPointParameterfv\0" "glPointParameterfvARB\0" "glPointParameterfvEXT\0" "glPointParameterfvSGIS\0" "\0" - /* _mesa_function_pool[8540]: Color3bv (offset 10) */ + /* _mesa_function_pool[8612]: Color3bv (offset 10) */ "p\0" "glColor3bv\0" "\0" - /* _mesa_function_pool[8554]: GetnCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[8626]: GetnCompressedTexImageARB (will be remapped) */ "iiip\0" "glGetnCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[8588]: WindowPos2fvMESA (will be remapped) */ + /* _mesa_function_pool[8660]: WindowPos2fvMESA (will be remapped) */ "p\0" "glWindowPos2fv\0" "glWindowPos2fvARB\0" "glWindowPos2fvMESA\0" "\0" - /* _mesa_function_pool[8643]: SecondaryColor3bvEXT (will be remapped) */ + /* _mesa_function_pool[8715]: SecondaryColor3bvEXT (will be remapped) */ "p\0" "glSecondaryColor3bv\0" "glSecondaryColor3bvEXT\0" "\0" - /* _mesa_function_pool[8689]: VertexPointerListIBM (dynamic) */ + /* _mesa_function_pool[8761]: VertexPointerListIBM (dynamic) */ "iiipi\0" "glVertexPointerListIBM\0" "\0" - /* _mesa_function_pool[8719]: GetProgramLocalParameterfvARB (will be remapped) */ + /* _mesa_function_pool[8791]: GetProgramLocalParameterfvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterfvARB\0" "\0" - /* _mesa_function_pool[8756]: FragmentMaterialfSGIX (dynamic) */ + /* _mesa_function_pool[8828]: FragmentMaterialfSGIX (dynamic) */ "iif\0" "glFragmentMaterialfSGIX\0" "\0" - /* _mesa_function_pool[8785]: BindSampler (will be remapped) */ + /* _mesa_function_pool[8857]: BindSampler (will be remapped) */ "ii\0" "glBindSampler\0" "\0" - /* _mesa_function_pool[8803]: RenderbufferStorageEXT (will be remapped) */ + /* _mesa_function_pool[8875]: RenderbufferStorageEXT (will be remapped) */ "iiii\0" "glRenderbufferStorage\0" "glRenderbufferStorageEXT\0" "\0" - /* _mesa_function_pool[8856]: IsFenceNV (will be remapped) */ + /* _mesa_function_pool[8928]: IsFenceNV (will be remapped) */ "i\0" "glIsFenceNV\0" "\0" - /* _mesa_function_pool[8871]: AttachObjectARB (will be remapped) */ + /* _mesa_function_pool[8943]: AttachObjectARB (will be remapped) */ "ii\0" "glAttachObjectARB\0" "\0" - /* _mesa_function_pool[8893]: GetFragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[8965]: GetFragmentLightivSGIX (dynamic) */ "iip\0" "glGetFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[8923]: UniformMatrix2fvARB (will be remapped) */ + /* _mesa_function_pool[8995]: UniformMatrix2fvARB (will be remapped) */ "iiip\0" "glUniformMatrix2fv\0" "glUniformMatrix2fvARB\0" "\0" - /* _mesa_function_pool[8970]: MultiTexCoord2fARB (offset 386) */ + /* _mesa_function_pool[9042]: MultiTexCoord2fARB (offset 386) */ "iff\0" "glMultiTexCoord2f\0" "glMultiTexCoord2fARB\0" "\0" - /* _mesa_function_pool[9014]: ColorTable (offset 339) */ + /* _mesa_function_pool[9086]: ColorTable (offset 339) */ "iiiiip\0" "glColorTable\0" "glColorTableSGI\0" "glColorTableEXT\0" "\0" - /* _mesa_function_pool[9067]: IndexPointer (offset 314) */ + /* _mesa_function_pool[9139]: IndexPointer (offset 314) */ "iip\0" "glIndexPointer\0" "\0" - /* _mesa_function_pool[9087]: Accum (offset 213) */ + /* _mesa_function_pool[9159]: Accum (offset 213) */ "if\0" "glAccum\0" "\0" - /* _mesa_function_pool[9099]: GetTexImage (offset 281) */ + /* _mesa_function_pool[9171]: GetTexImage (offset 281) */ "iiiip\0" "glGetTexImage\0" "\0" - /* _mesa_function_pool[9120]: MapControlPointsNV (dynamic) */ + /* _mesa_function_pool[9192]: MapControlPointsNV (dynamic) */ "iiiiiiiip\0" "glMapControlPointsNV\0" "\0" - /* _mesa_function_pool[9152]: ConvolutionFilter2D (offset 349) */ + /* _mesa_function_pool[9224]: ConvolutionFilter2D (offset 349) */ "iiiiiip\0" "glConvolutionFilter2D\0" "glConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[9208]: Finish (offset 216) */ + /* _mesa_function_pool[9280]: Finish (offset 216) */ "\0" "glFinish\0" "\0" - /* _mesa_function_pool[9219]: MapParameterfvNV (dynamic) */ + /* _mesa_function_pool[9291]: MapParameterfvNV (dynamic) */ "iip\0" "glMapParameterfvNV\0" "\0" - /* _mesa_function_pool[9243]: ClearStencil (offset 207) */ + /* _mesa_function_pool[9315]: ClearStencil (offset 207) */ "i\0" "glClearStencil\0" "\0" - /* _mesa_function_pool[9261]: VertexAttrib3dvARB (will be remapped) */ + /* _mesa_function_pool[9333]: VertexAttrib3dvARB (will be remapped) */ "ip\0" "glVertexAttrib3dv\0" "glVertexAttrib3dvARB\0" "\0" - /* _mesa_function_pool[9304]: Uniform4uivEXT (will be remapped) */ + /* _mesa_function_pool[9376]: Uniform4uivEXT (will be remapped) */ "iip\0" "glUniform4uivEXT\0" "glUniform4uiv\0" "\0" - /* _mesa_function_pool[9340]: HintPGI (dynamic) */ + /* _mesa_function_pool[9412]: HintPGI (dynamic) */ "ii\0" "glHintPGI\0" "\0" - /* _mesa_function_pool[9354]: ConvolutionParameteriv (offset 353) */ + /* _mesa_function_pool[9426]: ConvolutionParameteriv (offset 353) */ "iip\0" "glConvolutionParameteriv\0" "glConvolutionParameterivEXT\0" "\0" - /* _mesa_function_pool[9412]: Color4s (offset 33) */ + /* _mesa_function_pool[9484]: Color4s (offset 33) */ "iiii\0" "glColor4s\0" "\0" - /* _mesa_function_pool[9428]: InterleavedArrays (offset 317) */ + /* _mesa_function_pool[9500]: InterleavedArrays (offset 317) */ "iip\0" "glInterleavedArrays\0" "\0" - /* _mesa_function_pool[9453]: RasterPos2fv (offset 65) */ + /* _mesa_function_pool[9525]: RasterPos2fv (offset 65) */ "p\0" "glRasterPos2fv\0" "\0" - /* _mesa_function_pool[9471]: TexCoord1fv (offset 97) */ + /* _mesa_function_pool[9543]: TexCoord1fv (offset 97) */ "p\0" "glTexCoord1fv\0" "\0" - /* _mesa_function_pool[9488]: Vertex2d (offset 126) */ + /* _mesa_function_pool[9560]: Vertex2d (offset 126) */ "dd\0" "glVertex2d\0" "\0" - /* _mesa_function_pool[9503]: CullParameterdvEXT (dynamic) */ + /* _mesa_function_pool[9575]: CullParameterdvEXT (dynamic) */ "ip\0" "glCullParameterdvEXT\0" "\0" - /* _mesa_function_pool[9528]: ProgramNamedParameter4fNV (will be remapped) */ + /* _mesa_function_pool[9600]: ProgramNamedParameter4fNV (will be remapped) */ "iipffff\0" "glProgramNamedParameter4fNV\0" "\0" - /* _mesa_function_pool[9565]: Color3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[9637]: Color3fVertex3fSUN (dynamic) */ "ffffff\0" "glColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[9594]: ProgramEnvParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[9666]: ProgramEnvParameter4fvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4fvARB\0" "glProgramParameter4fvNV\0" "\0" - /* _mesa_function_pool[9651]: Color4i (offset 31) */ + /* _mesa_function_pool[9723]: Color4i (offset 31) */ "iiii\0" "glColor4i\0" "\0" - /* _mesa_function_pool[9667]: Color4f (offset 29) */ + /* _mesa_function_pool[9739]: Color4f (offset 29) */ "ffff\0" "glColor4f\0" "\0" - /* _mesa_function_pool[9683]: RasterPos4fv (offset 81) */ + /* _mesa_function_pool[9755]: RasterPos4fv (offset 81) */ "p\0" "glRasterPos4fv\0" "\0" - /* _mesa_function_pool[9701]: Color4d (offset 27) */ + /* _mesa_function_pool[9773]: Color4d (offset 27) */ "dddd\0" "glColor4d\0" "\0" - /* _mesa_function_pool[9717]: ClearIndex (offset 205) */ + /* _mesa_function_pool[9789]: ClearIndex (offset 205) */ "f\0" "glClearIndex\0" "\0" - /* _mesa_function_pool[9733]: Color4b (offset 25) */ + /* _mesa_function_pool[9805]: Color4b (offset 25) */ "iiii\0" "glColor4b\0" "\0" - /* _mesa_function_pool[9749]: LoadMatrixd (offset 292) */ + /* _mesa_function_pool[9821]: LoadMatrixd (offset 292) */ "p\0" "glLoadMatrixd\0" "\0" - /* _mesa_function_pool[9766]: FragmentLightModeliSGIX (dynamic) */ + /* _mesa_function_pool[9838]: FragmentLightModeliSGIX (dynamic) */ "ii\0" "glFragmentLightModeliSGIX\0" "\0" - /* _mesa_function_pool[9796]: RasterPos2dv (offset 63) */ + /* _mesa_function_pool[9868]: RasterPos2dv (offset 63) */ "p\0" "glRasterPos2dv\0" "\0" - /* _mesa_function_pool[9814]: ConvolutionParameterfv (offset 351) */ + /* _mesa_function_pool[9886]: ConvolutionParameterfv (offset 351) */ "iip\0" "glConvolutionParameterfv\0" "glConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[9872]: TbufferMask3DFX (dynamic) */ + /* _mesa_function_pool[9944]: TbufferMask3DFX (dynamic) */ "i\0" "glTbufferMask3DFX\0" "\0" - /* _mesa_function_pool[9893]: GetTexGendv (offset 278) */ + /* _mesa_function_pool[9965]: GetTexGendv (offset 278) */ "iip\0" "glGetTexGendv\0" "\0" - /* _mesa_function_pool[9912]: GetVertexAttribfvNV (will be remapped) */ + /* _mesa_function_pool[9984]: GetVertexAttribfvNV (will be remapped) */ "iip\0" "glGetVertexAttribfvNV\0" "\0" - /* _mesa_function_pool[9939]: BeginTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[10011]: BeginTransformFeedbackEXT (will be remapped) */ "i\0" "glBeginTransformFeedbackEXT\0" "glBeginTransformFeedback\0" "\0" - /* _mesa_function_pool[9995]: LoadProgramNV (will be remapped) */ + /* _mesa_function_pool[10067]: LoadProgramNV (will be remapped) */ "iiip\0" "glLoadProgramNV\0" "\0" - /* _mesa_function_pool[10017]: WaitSync (will be remapped) */ + /* _mesa_function_pool[10089]: WaitSync (will be remapped) */ "iii\0" "glWaitSync\0" "\0" - /* _mesa_function_pool[10033]: EndList (offset 1) */ + /* _mesa_function_pool[10105]: EndList (offset 1) */ "\0" "glEndList\0" "\0" - /* _mesa_function_pool[10045]: VertexP4ui (will be remapped) */ + /* _mesa_function_pool[10117]: VertexP4ui (will be remapped) */ "ii\0" "glVertexP4ui\0" "\0" - /* _mesa_function_pool[10062]: VertexAttrib4fvNV (will be remapped) */ + /* _mesa_function_pool[10134]: VertexAttrib4fvNV (will be remapped) */ "ip\0" "glVertexAttrib4fvNV\0" "\0" - /* _mesa_function_pool[10086]: GetAttachedObjectsARB (will be remapped) */ + /* _mesa_function_pool[10158]: GetAttachedObjectsARB (will be remapped) */ "iipp\0" "glGetAttachedObjectsARB\0" "\0" - /* _mesa_function_pool[10116]: Uniform3fvARB (will be remapped) */ + /* _mesa_function_pool[10188]: Uniform3fvARB (will be remapped) */ "iip\0" "glUniform3fv\0" "glUniform3fvARB\0" "\0" - /* _mesa_function_pool[10150]: EvalCoord1fv (offset 231) */ + /* _mesa_function_pool[10222]: EvalCoord1fv (offset 231) */ "p\0" "glEvalCoord1fv\0" "\0" - /* _mesa_function_pool[10168]: DrawRangeElements (offset 338) */ + /* _mesa_function_pool[10240]: DrawRangeElements (offset 338) */ "iiiiip\0" "glDrawRangeElements\0" "glDrawRangeElementsEXT\0" "\0" - /* _mesa_function_pool[10219]: EvalMesh2 (offset 238) */ + /* _mesa_function_pool[10291]: EvalMesh2 (offset 238) */ "iiiii\0" "glEvalMesh2\0" "\0" - /* _mesa_function_pool[10238]: Vertex4fv (offset 145) */ + /* _mesa_function_pool[10310]: Vertex4fv (offset 145) */ "p\0" "glVertex4fv\0" "\0" - /* _mesa_function_pool[10253]: GenTransformFeedbacks (will be remapped) */ + /* _mesa_function_pool[10325]: GenTransformFeedbacks (will be remapped) */ "ip\0" "glGenTransformFeedbacks\0" "\0" - /* _mesa_function_pool[10281]: SpriteParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[10353]: SpriteParameterfvSGIX (dynamic) */ "ip\0" "glSpriteParameterfvSGIX\0" "\0" - /* _mesa_function_pool[10309]: CheckFramebufferStatusEXT (will be remapped) */ + /* _mesa_function_pool[10381]: CheckFramebufferStatusEXT (will be remapped) */ "i\0" "glCheckFramebufferStatus\0" "glCheckFramebufferStatusEXT\0" "\0" - /* _mesa_function_pool[10365]: GlobalAlphaFactoruiSUN (dynamic) */ + /* _mesa_function_pool[10437]: GlobalAlphaFactoruiSUN (dynamic) */ "i\0" "glGlobalAlphaFactoruiSUN\0" "\0" - /* _mesa_function_pool[10393]: GetHandleARB (will be remapped) */ + /* _mesa_function_pool[10465]: GetHandleARB (will be remapped) */ "i\0" "glGetHandleARB\0" "\0" - /* _mesa_function_pool[10411]: GetVertexAttribivARB (will be remapped) */ + /* _mesa_function_pool[10483]: GetVertexAttribivARB (will be remapped) */ "iip\0" "glGetVertexAttribiv\0" "glGetVertexAttribivARB\0" "\0" - /* _mesa_function_pool[10459]: BlendFunciARB (will be remapped) */ + /* _mesa_function_pool[10531]: BlendFunciARB (will be remapped) */ "iii\0" "glBlendFunciARB\0" "glBlendFuncIndexedAMD\0" "\0" - /* _mesa_function_pool[10502]: VertexAttribP1ui (will be remapped) */ + /* _mesa_function_pool[10574]: VertexAttribP1ui (will be remapped) */ "iiii\0" "glVertexAttribP1ui\0" "\0" - /* _mesa_function_pool[10527]: GetnUniformivARB (will be remapped) */ + /* _mesa_function_pool[10599]: GetnUniformivARB (will be remapped) */ "iiip\0" "glGetnUniformivARB\0" "\0" - /* _mesa_function_pool[10552]: GetTexParameterIivEXT (will be remapped) */ + /* _mesa_function_pool[10624]: GetTexParameterIivEXT (will be remapped) */ "iip\0" "glGetTexParameterIivEXT\0" "glGetTexParameterIiv\0" "\0" - /* _mesa_function_pool[10602]: CreateProgram (will be remapped) */ + /* _mesa_function_pool[10674]: CreateProgram (will be remapped) */ "\0" "glCreateProgram\0" "\0" - /* _mesa_function_pool[10620]: LoadTransposeMatrixdARB (will be remapped) */ + /* _mesa_function_pool[10692]: LoadTransposeMatrixdARB (will be remapped) */ "p\0" "glLoadTransposeMatrixd\0" "glLoadTransposeMatrixdARB\0" "\0" - /* _mesa_function_pool[10672]: ReleaseShaderCompiler (will be remapped) */ + /* _mesa_function_pool[10744]: ReleaseShaderCompiler (will be remapped) */ "\0" "glReleaseShaderCompiler\0" "\0" - /* _mesa_function_pool[10698]: GetMinmax (offset 364) */ + /* _mesa_function_pool[10770]: GetMinmax (offset 364) */ "iiiip\0" "glGetMinmax\0" "glGetMinmaxEXT\0" "\0" - /* _mesa_function_pool[10732]: StencilFuncSeparate (will be remapped) */ + /* _mesa_function_pool[10804]: StencilFuncSeparate (will be remapped) */ "iiii\0" "glStencilFuncSeparate\0" "\0" - /* _mesa_function_pool[10760]: SecondaryColor3sEXT (will be remapped) */ + /* _mesa_function_pool[10832]: SecondaryColor3sEXT (will be remapped) */ "iii\0" "glSecondaryColor3s\0" "glSecondaryColor3sEXT\0" "\0" - /* _mesa_function_pool[10806]: Color3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[10878]: Color3fVertex3fvSUN (dynamic) */ "pp\0" "glColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[10832]: GetInteger64i_v (will be remapped) */ + /* _mesa_function_pool[10904]: GetInteger64i_v (will be remapped) */ "iip\0" "glGetInteger64i_v\0" "\0" - /* _mesa_function_pool[10855]: GetVertexAttribdvNV (will be remapped) */ + /* _mesa_function_pool[10927]: GetVertexAttribdvNV (will be remapped) */ "iip\0" "glGetVertexAttribdvNV\0" "\0" - /* _mesa_function_pool[10882]: Normal3fv (offset 57) */ + /* _mesa_function_pool[10954]: Normal3fv (offset 57) */ "p\0" "glNormal3fv\0" "\0" - /* _mesa_function_pool[10897]: GlobalAlphaFactorbSUN (dynamic) */ + /* _mesa_function_pool[10969]: GlobalAlphaFactorbSUN (dynamic) */ "i\0" "glGlobalAlphaFactorbSUN\0" "\0" - /* _mesa_function_pool[10924]: Color3us (offset 23) */ + /* _mesa_function_pool[10996]: Color3us (offset 23) */ "iii\0" "glColor3us\0" "\0" - /* _mesa_function_pool[10940]: ImageTransformParameterfvHP (dynamic) */ + /* _mesa_function_pool[11012]: ImageTransformParameterfvHP (dynamic) */ "iip\0" "glImageTransformParameterfvHP\0" "\0" - /* _mesa_function_pool[10975]: VertexAttrib4ivARB (will be remapped) */ + /* _mesa_function_pool[11047]: VertexAttrib4ivARB (will be remapped) */ "ip\0" "glVertexAttrib4iv\0" "glVertexAttrib4ivARB\0" "\0" - /* _mesa_function_pool[11018]: End (offset 43) */ + /* _mesa_function_pool[11090]: End (offset 43) */ "\0" "glEnd\0" "\0" - /* _mesa_function_pool[11026]: VertexAttrib3fNV (will be remapped) */ + /* _mesa_function_pool[11098]: VertexAttrib3fNV (will be remapped) */ "ifff\0" "glVertexAttrib3fNV\0" "\0" - /* _mesa_function_pool[11051]: MultiTexCoordP3uiv (will be remapped) */ + /* _mesa_function_pool[11123]: MultiTexCoordP3uiv (will be remapped) */ "iip\0" "glMultiTexCoordP3uiv\0" "\0" - /* _mesa_function_pool[11077]: VertexAttribs2dvNV (will be remapped) */ + /* _mesa_function_pool[11149]: VertexAttribs2dvNV (will be remapped) */ "iip\0" "glVertexAttribs2dvNV\0" "\0" - /* _mesa_function_pool[11103]: GetQueryObjectui64vEXT (will be remapped) */ + /* _mesa_function_pool[11175]: GetQueryObjectui64vEXT (will be remapped) */ "iip\0" "glGetQueryObjectui64vEXT\0" "\0" - /* _mesa_function_pool[11133]: MultiTexCoord3fvARB (offset 395) */ + /* _mesa_function_pool[11205]: MultiTexCoord3fvARB (offset 395) */ "ip\0" "glMultiTexCoord3fv\0" "glMultiTexCoord3fvARB\0" "\0" - /* _mesa_function_pool[11178]: SecondaryColor3dEXT (will be remapped) */ + /* _mesa_function_pool[11250]: SecondaryColor3dEXT (will be remapped) */ "ddd\0" "glSecondaryColor3d\0" "glSecondaryColor3dEXT\0" "\0" - /* _mesa_function_pool[11224]: Color3ub (offset 19) */ + /* _mesa_function_pool[11296]: Color3ub (offset 19) */ "iii\0" "glColor3ub\0" "\0" - /* _mesa_function_pool[11240]: GetProgramParameterfvNV (will be remapped) */ + /* _mesa_function_pool[11312]: GetProgramParameterfvNV (will be remapped) */ "iiip\0" "glGetProgramParameterfvNV\0" "\0" - /* _mesa_function_pool[11272]: TangentPointerEXT (dynamic) */ + /* _mesa_function_pool[11344]: TangentPointerEXT (dynamic) */ "iip\0" "glTangentPointerEXT\0" "\0" - /* _mesa_function_pool[11297]: Color4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[11369]: Color4fNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[11332]: GetInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[11404]: GetInstrumentsSGIX (dynamic) */ "\0" "glGetInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[11355]: GetUniformuivEXT (will be remapped) */ + /* _mesa_function_pool[11427]: GetUniformuivEXT (will be remapped) */ "iip\0" "glGetUniformuivEXT\0" "glGetUniformuiv\0" "\0" - /* _mesa_function_pool[11395]: Color3ui (offset 21) */ + /* _mesa_function_pool[11467]: Color3ui (offset 21) */ "iii\0" "glColor3ui\0" "\0" - /* _mesa_function_pool[11411]: EvalMapsNV (dynamic) */ + /* _mesa_function_pool[11483]: EvalMapsNV (dynamic) */ "ii\0" "glEvalMapsNV\0" "\0" - /* _mesa_function_pool[11428]: TexSubImage2D (offset 333) */ + /* _mesa_function_pool[11500]: TexSubImage2D (offset 333) */ "iiiiiiiip\0" "glTexSubImage2D\0" "glTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[11474]: FragmentLightivSGIX (dynamic) */ + /* _mesa_function_pool[11546]: FragmentLightivSGIX (dynamic) */ "iip\0" "glFragmentLightivSGIX\0" "\0" - /* _mesa_function_pool[11501]: GetTexParameterPointervAPPLE (will be remapped) */ + /* _mesa_function_pool[11573]: GetTexParameterPointervAPPLE (will be remapped) */ "iip\0" "glGetTexParameterPointervAPPLE\0" "\0" - /* _mesa_function_pool[11537]: TexGenfv (offset 191) */ + /* _mesa_function_pool[11609]: TexGenfv (offset 191) */ "iip\0" "glTexGenfv\0" "\0" - /* _mesa_function_pool[11553]: GetTransformFeedbackVaryingEXT (will be remapped) */ + /* _mesa_function_pool[11625]: GetTransformFeedbackVaryingEXT (will be remapped) */ "iiipppp\0" "glGetTransformFeedbackVaryingEXT\0" "glGetTransformFeedbackVarying\0" "\0" - /* _mesa_function_pool[11625]: VertexAttrib4bvARB (will be remapped) */ + /* _mesa_function_pool[11697]: VertexAttrib4bvARB (will be remapped) */ "ip\0" "glVertexAttrib4bv\0" "glVertexAttrib4bvARB\0" "\0" - /* _mesa_function_pool[11668]: ShaderBinary (will be remapped) */ + /* _mesa_function_pool[11740]: ShaderBinary (will be remapped) */ "ipipi\0" "glShaderBinary\0" "\0" - /* _mesa_function_pool[11690]: GetIntegerIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[11762]: GetIntegerIndexedvEXT (will be remapped) */ "iip\0" "glGetIntegerIndexedvEXT\0" "glGetIntegeri_v\0" "\0" - /* _mesa_function_pool[11735]: MultiTexCoord4sARB (offset 406) */ + /* _mesa_function_pool[11807]: MultiTexCoord4sARB (offset 406) */ "iiiii\0" "glMultiTexCoord4s\0" "glMultiTexCoord4sARB\0" "\0" - /* _mesa_function_pool[11781]: GetFragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[11853]: GetFragmentMaterialivSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[11814]: WindowPos4dMESA (will be remapped) */ + /* _mesa_function_pool[11886]: WindowPos4dMESA (will be remapped) */ "dddd\0" "glWindowPos4dMESA\0" "\0" - /* _mesa_function_pool[11838]: WeightPointerARB (dynamic) */ + /* _mesa_function_pool[11910]: WeightPointerARB (dynamic) */ "iiip\0" "glWeightPointerARB\0" "\0" - /* _mesa_function_pool[11863]: WindowPos2dMESA (will be remapped) */ + /* _mesa_function_pool[11935]: WindowPos2dMESA (will be remapped) */ "dd\0" "glWindowPos2d\0" "glWindowPos2dARB\0" "glWindowPos2dMESA\0" "\0" - /* _mesa_function_pool[11916]: FramebufferTexture3DEXT (will be remapped) */ + /* _mesa_function_pool[11988]: FramebufferTexture3DEXT (will be remapped) */ "iiiiii\0" "glFramebufferTexture3D\0" "glFramebufferTexture3DEXT\0" "\0" - /* _mesa_function_pool[11973]: BlendEquation (offset 337) */ + /* _mesa_function_pool[12045]: BlendEquation (offset 337) */ "i\0" "glBlendEquation\0" "glBlendEquationEXT\0" "\0" - /* _mesa_function_pool[12011]: VertexAttrib3dNV (will be remapped) */ + /* _mesa_function_pool[12083]: VertexAttrib3dNV (will be remapped) */ "iddd\0" "glVertexAttrib3dNV\0" "\0" - /* _mesa_function_pool[12036]: VertexAttrib3dARB (will be remapped) */ + /* _mesa_function_pool[12108]: VertexAttrib3dARB (will be remapped) */ "iddd\0" "glVertexAttrib3d\0" "glVertexAttrib3dARB\0" "\0" - /* _mesa_function_pool[12079]: VertexAttribI4usvEXT (will be remapped) */ + /* _mesa_function_pool[12151]: VertexAttribI4usvEXT (will be remapped) */ "ip\0" "glVertexAttribI4usvEXT\0" "glVertexAttribI4usv\0" "\0" - /* _mesa_function_pool[12126]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[12198]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "ppppp\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[12190]: VertexAttrib4fARB (will be remapped) */ + /* _mesa_function_pool[12262]: VertexAttrib4fARB (will be remapped) */ "iffff\0" "glVertexAttrib4f\0" "glVertexAttrib4fARB\0" "\0" - /* _mesa_function_pool[12234]: GetError (offset 261) */ + /* _mesa_function_pool[12306]: GetError (offset 261) */ "\0" "glGetError\0" "\0" - /* _mesa_function_pool[12247]: IndexFuncEXT (dynamic) */ + /* _mesa_function_pool[12319]: IndexFuncEXT (dynamic) */ "if\0" "glIndexFuncEXT\0" "\0" - /* _mesa_function_pool[12266]: TexCoord3dv (offset 111) */ + /* _mesa_function_pool[12338]: TexCoord3dv (offset 111) */ "p\0" "glTexCoord3dv\0" "\0" - /* _mesa_function_pool[12283]: Indexdv (offset 45) */ + /* _mesa_function_pool[12355]: Indexdv (offset 45) */ "p\0" "glIndexdv\0" "\0" - /* _mesa_function_pool[12296]: FramebufferTexture2DEXT (will be remapped) */ + /* _mesa_function_pool[12368]: FramebufferTexture2DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture2D\0" "glFramebufferTexture2DEXT\0" "\0" - /* _mesa_function_pool[12352]: Normal3s (offset 60) */ + /* _mesa_function_pool[12424]: Normal3s (offset 60) */ "iii\0" "glNormal3s\0" "\0" - /* _mesa_function_pool[12368]: GetObjectParameterivAPPLE (will be remapped) */ + /* _mesa_function_pool[12440]: GetObjectParameterivAPPLE (will be remapped) */ "iiip\0" "glGetObjectParameterivAPPLE\0" "\0" - /* _mesa_function_pool[12402]: PushName (offset 201) */ + /* _mesa_function_pool[12474]: PushName (offset 201) */ "i\0" "glPushName\0" "\0" - /* _mesa_function_pool[12416]: MultiTexCoord2dvARB (offset 385) */ + /* _mesa_function_pool[12488]: MultiTexCoord2dvARB (offset 385) */ "ip\0" "glMultiTexCoord2dv\0" "glMultiTexCoord2dvARB\0" "\0" - /* _mesa_function_pool[12461]: CullParameterfvEXT (dynamic) */ + /* _mesa_function_pool[12533]: CullParameterfvEXT (dynamic) */ "ip\0" "glCullParameterfvEXT\0" "\0" - /* _mesa_function_pool[12486]: Normal3i (offset 58) */ + /* _mesa_function_pool[12558]: Normal3i (offset 58) */ "iii\0" "glNormal3i\0" "\0" - /* _mesa_function_pool[12502]: ProgramNamedParameter4fvNV (will be remapped) */ + /* _mesa_function_pool[12574]: ProgramNamedParameter4fvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4fvNV\0" "\0" - /* _mesa_function_pool[12537]: SecondaryColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[12609]: SecondaryColorPointerEXT (will be remapped) */ "iiip\0" "glSecondaryColorPointer\0" "glSecondaryColorPointerEXT\0" "\0" - /* _mesa_function_pool[12594]: VertexAttrib4fvARB (will be remapped) */ + /* _mesa_function_pool[12666]: VertexAttrib4fvARB (will be remapped) */ "ip\0" "glVertexAttrib4fv\0" "glVertexAttrib4fvARB\0" "\0" - /* _mesa_function_pool[12637]: PixelTexGenSGIX (will be remapped) */ + /* _mesa_function_pool[12709]: PixelTexGenSGIX (will be remapped) */ "i\0" "glPixelTexGenSGIX\0" "\0" - /* _mesa_function_pool[12658]: GetActiveUniformARB (will be remapped) */ + /* _mesa_function_pool[12730]: GetActiveUniformARB (will be remapped) */ "iiipppp\0" "glGetActiveUniform\0" "glGetActiveUniformARB\0" "\0" - /* _mesa_function_pool[12708]: ImageTransformParameteriHP (dynamic) */ + /* _mesa_function_pool[12780]: ImageTransformParameteriHP (dynamic) */ "iii\0" "glImageTransformParameteriHP\0" "\0" - /* _mesa_function_pool[12742]: Normal3b (offset 52) */ + /* _mesa_function_pool[12814]: Normal3b (offset 52) */ "iii\0" "glNormal3b\0" "\0" - /* _mesa_function_pool[12758]: Normal3d (offset 54) */ + /* _mesa_function_pool[12830]: Normal3d (offset 54) */ "ddd\0" "glNormal3d\0" "\0" - /* _mesa_function_pool[12774]: Uniform1uiEXT (will be remapped) */ + /* _mesa_function_pool[12846]: Uniform1uiEXT (will be remapped) */ "ii\0" "glUniform1uiEXT\0" "glUniform1ui\0" "\0" - /* _mesa_function_pool[12807]: Normal3f (offset 56) */ + /* _mesa_function_pool[12879]: Normal3f (offset 56) */ "fff\0" "glNormal3f\0" "\0" - /* _mesa_function_pool[12823]: MultiTexCoord1svARB (offset 383) */ + /* _mesa_function_pool[12895]: MultiTexCoord1svARB (offset 383) */ "ip\0" "glMultiTexCoord1sv\0" "glMultiTexCoord1svARB\0" "\0" - /* _mesa_function_pool[12868]: Indexi (offset 48) */ + /* _mesa_function_pool[12940]: Indexi (offset 48) */ "i\0" "glIndexi\0" "\0" - /* _mesa_function_pool[12880]: EGLImageTargetTexture2DOES (will be remapped) */ + /* _mesa_function_pool[12952]: EGLImageTargetTexture2DOES (will be remapped) */ "ip\0" "glEGLImageTargetTexture2DOES\0" "\0" - /* _mesa_function_pool[12913]: EndQueryARB (will be remapped) */ + /* _mesa_function_pool[12985]: EndQueryARB (will be remapped) */ "i\0" "glEndQuery\0" "glEndQueryARB\0" "\0" - /* _mesa_function_pool[12941]: DeleteFencesNV (will be remapped) */ + /* _mesa_function_pool[13013]: DeleteFencesNV (will be remapped) */ "ip\0" "glDeleteFencesNV\0" "\0" - /* _mesa_function_pool[12962]: ColorPointerListIBM (dynamic) */ + /* _mesa_function_pool[13034]: ColorPointerListIBM (dynamic) */ "iiipi\0" "glColorPointerListIBM\0" "\0" - /* _mesa_function_pool[12991]: BindBufferRangeEXT (will be remapped) */ + /* _mesa_function_pool[13063]: BindBufferRangeEXT (will be remapped) */ "iiiii\0" "glBindBufferRangeEXT\0" "glBindBufferRange\0" "\0" - /* _mesa_function_pool[13037]: DepthMask (offset 211) */ + /* _mesa_function_pool[13109]: DepthMask (offset 211) */ "i\0" "glDepthMask\0" "\0" - /* _mesa_function_pool[13052]: IsShader (will be remapped) */ + /* _mesa_function_pool[13124]: IsShader (will be remapped) */ "i\0" "glIsShader\0" "\0" - /* _mesa_function_pool[13066]: Indexf (offset 46) */ + /* _mesa_function_pool[13138]: Indexf (offset 46) */ "f\0" "glIndexf\0" "\0" - /* _mesa_function_pool[13078]: GetImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[13150]: GetImageTransformParameterivHP (dynamic) */ "iip\0" "glGetImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[13116]: Indexd (offset 44) */ + /* _mesa_function_pool[13188]: Indexd (offset 44) */ "d\0" "glIndexd\0" "\0" - /* _mesa_function_pool[13128]: GetMaterialiv (offset 270) */ + /* _mesa_function_pool[13200]: GetMaterialiv (offset 270) */ "iip\0" "glGetMaterialiv\0" "\0" - /* _mesa_function_pool[13149]: StencilOp (offset 244) */ + /* _mesa_function_pool[13221]: StencilOp (offset 244) */ "iii\0" "glStencilOp\0" "\0" - /* _mesa_function_pool[13166]: WindowPos4ivMESA (will be remapped) */ + /* _mesa_function_pool[13238]: WindowPos4ivMESA (will be remapped) */ "p\0" "glWindowPos4ivMESA\0" "\0" - /* _mesa_function_pool[13188]: MultiTexCoord3svARB (offset 399) */ + /* _mesa_function_pool[13260]: MultiTexCoord3svARB (offset 399) */ "ip\0" "glMultiTexCoord3sv\0" "glMultiTexCoord3svARB\0" "\0" - /* _mesa_function_pool[13233]: TexEnvfv (offset 185) */ + /* _mesa_function_pool[13305]: TexEnvfv (offset 185) */ "iip\0" "glTexEnvfv\0" "\0" - /* _mesa_function_pool[13249]: MultiTexCoord4iARB (offset 404) */ + /* _mesa_function_pool[13321]: MultiTexCoord4iARB (offset 404) */ "iiiii\0" "glMultiTexCoord4i\0" "glMultiTexCoord4iARB\0" "\0" - /* _mesa_function_pool[13295]: Indexs (offset 50) */ + /* _mesa_function_pool[13367]: Indexs (offset 50) */ "i\0" "glIndexs\0" "\0" - /* _mesa_function_pool[13307]: Binormal3ivEXT (dynamic) */ + /* _mesa_function_pool[13379]: Binormal3ivEXT (dynamic) */ "p\0" "glBinormal3ivEXT\0" "\0" - /* _mesa_function_pool[13327]: ResizeBuffersMESA (will be remapped) */ + /* _mesa_function_pool[13399]: ResizeBuffersMESA (will be remapped) */ "\0" "glResizeBuffersMESA\0" "\0" - /* _mesa_function_pool[13349]: MultiTexCoordP1uiv (will be remapped) */ + /* _mesa_function_pool[13421]: MultiTexCoordP1uiv (will be remapped) */ "iip\0" "glMultiTexCoordP1uiv\0" "\0" - /* _mesa_function_pool[13375]: BlendFuncSeparateiARB (will be remapped) */ + /* _mesa_function_pool[13447]: BlendFuncSeparateiARB (will be remapped) */ "iiiii\0" "glBlendFuncSeparateiARB\0" "glBlendFuncSeparateIndexedAMD\0" "\0" - /* _mesa_function_pool[13436]: GetUniformivARB (will be remapped) */ + /* _mesa_function_pool[13508]: GetUniformivARB (will be remapped) */ "iip\0" "glGetUniformiv\0" "glGetUniformivARB\0" "\0" - /* _mesa_function_pool[13474]: PixelTexGenParameteriSGIS (will be remapped) */ + /* _mesa_function_pool[13546]: PixelTexGenParameteriSGIS (will be remapped) */ "ii\0" "glPixelTexGenParameteriSGIS\0" "\0" - /* _mesa_function_pool[13506]: VertexPointervINTEL (dynamic) */ + /* _mesa_function_pool[13578]: VertexPointervINTEL (dynamic) */ "iip\0" "glVertexPointervINTEL\0" "\0" - /* _mesa_function_pool[13533]: Vertex2i (offset 130) */ + /* _mesa_function_pool[13605]: Vertex2i (offset 130) */ "ii\0" "glVertex2i\0" "\0" - /* _mesa_function_pool[13548]: LoadMatrixf (offset 291) */ + /* _mesa_function_pool[13620]: LoadMatrixf (offset 291) */ "p\0" "glLoadMatrixf\0" "\0" - /* _mesa_function_pool[13565]: VertexAttribI1uivEXT (will be remapped) */ + /* _mesa_function_pool[13637]: VertexAttribI1uivEXT (will be remapped) */ "ip\0" "glVertexAttribI1uivEXT\0" "glVertexAttribI1uiv\0" "\0" - /* _mesa_function_pool[13612]: Vertex2f (offset 128) */ + /* _mesa_function_pool[13684]: Vertex2f (offset 128) */ "ff\0" "glVertex2f\0" "\0" - /* _mesa_function_pool[13627]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[13699]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[13680]: Color4bv (offset 26) */ + /* _mesa_function_pool[13752]: Color4bv (offset 26) */ "p\0" "glColor4bv\0" "\0" - /* _mesa_function_pool[13694]: VertexPointer (offset 321) */ + /* _mesa_function_pool[13766]: VertexPointer (offset 321) */ "iiip\0" "glVertexPointer\0" "\0" - /* _mesa_function_pool[13716]: SecondaryColor3uiEXT (will be remapped) */ + /* _mesa_function_pool[13788]: SecondaryColor3uiEXT (will be remapped) */ "iii\0" "glSecondaryColor3ui\0" "glSecondaryColor3uiEXT\0" "\0" - /* _mesa_function_pool[13764]: StartInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[13836]: StartInstrumentsSGIX (dynamic) */ "\0" "glStartInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[13789]: SecondaryColor3usvEXT (will be remapped) */ + /* _mesa_function_pool[13861]: SecondaryColor3usvEXT (will be remapped) */ "p\0" "glSecondaryColor3usv\0" "glSecondaryColor3usvEXT\0" "\0" - /* _mesa_function_pool[13837]: VertexAttrib2fvNV (will be remapped) */ + /* _mesa_function_pool[13909]: VertexAttrib2fvNV (will be remapped) */ "ip\0" "glVertexAttrib2fvNV\0" "\0" - /* _mesa_function_pool[13861]: ProgramLocalParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[13933]: ProgramLocalParameter4dvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4dvARB\0" "\0" - /* _mesa_function_pool[13896]: DeleteLists (offset 4) */ + /* _mesa_function_pool[13968]: DeleteLists (offset 4) */ "ii\0" "glDeleteLists\0" "\0" - /* _mesa_function_pool[13914]: LogicOp (offset 242) */ + /* _mesa_function_pool[13986]: LogicOp (offset 242) */ "i\0" "glLogicOp\0" "\0" - /* _mesa_function_pool[13927]: MatrixIndexuivARB (dynamic) */ + /* _mesa_function_pool[13999]: MatrixIndexuivARB (dynamic) */ "ip\0" "glMatrixIndexuivARB\0" "\0" - /* _mesa_function_pool[13951]: Vertex2s (offset 132) */ + /* _mesa_function_pool[14023]: Vertex2s (offset 132) */ "ii\0" "glVertex2s\0" "\0" - /* _mesa_function_pool[13966]: RenderbufferStorageMultisample (will be remapped) */ + /* _mesa_function_pool[14038]: RenderbufferStorageMultisample (will be remapped) */ "iiiii\0" "glRenderbufferStorageMultisample\0" "glRenderbufferStorageMultisampleEXT\0" "\0" - /* _mesa_function_pool[14042]: TexCoord4fv (offset 121) */ + /* _mesa_function_pool[14114]: TexCoord4fv (offset 121) */ "p\0" "glTexCoord4fv\0" "\0" - /* _mesa_function_pool[14059]: Tangent3sEXT (dynamic) */ + /* _mesa_function_pool[14131]: Tangent3sEXT (dynamic) */ "iii\0" "glTangent3sEXT\0" "\0" - /* _mesa_function_pool[14079]: GlobalAlphaFactorfSUN (dynamic) */ + /* _mesa_function_pool[14151]: GlobalAlphaFactorfSUN (dynamic) */ "f\0" "glGlobalAlphaFactorfSUN\0" "\0" - /* _mesa_function_pool[14106]: MultiTexCoord3iARB (offset 396) */ + /* _mesa_function_pool[14178]: MultiTexCoord3iARB (offset 396) */ "iiii\0" "glMultiTexCoord3i\0" "glMultiTexCoord3iARB\0" "\0" - /* _mesa_function_pool[14151]: IsProgram (will be remapped) */ + /* _mesa_function_pool[14223]: IsProgram (will be remapped) */ "i\0" "glIsProgram\0" "\0" - /* _mesa_function_pool[14166]: TexCoordPointerListIBM (dynamic) */ + /* _mesa_function_pool[14238]: TexCoordPointerListIBM (dynamic) */ "iiipi\0" "glTexCoordPointerListIBM\0" "\0" - /* _mesa_function_pool[14198]: VertexAttribI4svEXT (will be remapped) */ + /* _mesa_function_pool[14270]: VertexAttribI4svEXT (will be remapped) */ "ip\0" "glVertexAttribI4svEXT\0" "glVertexAttribI4sv\0" "\0" - /* _mesa_function_pool[14243]: GlobalAlphaFactorusSUN (dynamic) */ + /* _mesa_function_pool[14315]: GlobalAlphaFactorusSUN (dynamic) */ "i\0" "glGlobalAlphaFactorusSUN\0" "\0" - /* _mesa_function_pool[14271]: VertexAttrib2dvNV (will be remapped) */ + /* _mesa_function_pool[14343]: VertexAttrib2dvNV (will be remapped) */ "ip\0" "glVertexAttrib2dvNV\0" "\0" - /* _mesa_function_pool[14295]: FramebufferRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[14367]: FramebufferRenderbufferEXT (will be remapped) */ "iiii\0" "glFramebufferRenderbuffer\0" "glFramebufferRenderbufferEXT\0" "\0" - /* _mesa_function_pool[14356]: ClearBufferuiv (will be remapped) */ + /* _mesa_function_pool[14428]: ClearBufferuiv (will be remapped) */ "iip\0" "glClearBufferuiv\0" "\0" - /* _mesa_function_pool[14378]: VertexAttrib1dvNV (will be remapped) */ + /* _mesa_function_pool[14450]: VertexAttrib1dvNV (will be remapped) */ "ip\0" "glVertexAttrib1dvNV\0" "\0" - /* _mesa_function_pool[14402]: GenTextures (offset 328) */ + /* _mesa_function_pool[14474]: GenTextures (offset 328) */ "ip\0" "glGenTextures\0" "glGenTexturesEXT\0" "\0" - /* _mesa_function_pool[14437]: FramebufferTextureARB (will be remapped) */ + /* _mesa_function_pool[14509]: FramebufferTextureARB (will be remapped) */ "iiii\0" "glFramebufferTextureARB\0" "\0" - /* _mesa_function_pool[14467]: SetFenceNV (will be remapped) */ + /* _mesa_function_pool[14539]: SetFenceNV (will be remapped) */ "ii\0" "glSetFenceNV\0" "\0" - /* _mesa_function_pool[14484]: FramebufferTexture1DEXT (will be remapped) */ + /* _mesa_function_pool[14556]: FramebufferTexture1DEXT (will be remapped) */ "iiiii\0" "glFramebufferTexture1D\0" "glFramebufferTexture1DEXT\0" "\0" - /* _mesa_function_pool[14540]: GetCombinerOutputParameterivNV (will be remapped) */ + /* _mesa_function_pool[14612]: GetCombinerOutputParameterivNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterivNV\0" "\0" - /* _mesa_function_pool[14579]: MultiModeDrawArraysIBM (will be remapped) */ + /* _mesa_function_pool[14651]: MultiModeDrawArraysIBM (will be remapped) */ "pppii\0" "glMultiModeDrawArraysIBM\0" "\0" - /* _mesa_function_pool[14611]: PixelTexGenParameterivSGIS (will be remapped) */ + /* _mesa_function_pool[14683]: PixelTexGenParameterivSGIS (will be remapped) */ "ip\0" "glPixelTexGenParameterivSGIS\0" "\0" - /* _mesa_function_pool[14644]: TextureNormalEXT (dynamic) */ + /* _mesa_function_pool[14716]: TextureNormalEXT (dynamic) */ "i\0" "glTextureNormalEXT\0" "\0" - /* _mesa_function_pool[14666]: IndexPointerListIBM (dynamic) */ + /* _mesa_function_pool[14738]: IndexPointerListIBM (dynamic) */ "iipi\0" "glIndexPointerListIBM\0" "\0" - /* _mesa_function_pool[14694]: WeightfvARB (dynamic) */ + /* _mesa_function_pool[14766]: WeightfvARB (dynamic) */ "ip\0" "glWeightfvARB\0" "\0" - /* _mesa_function_pool[14712]: GetCombinerOutputParameterfvNV (will be remapped) */ + /* _mesa_function_pool[14784]: GetCombinerOutputParameterfvNV (will be remapped) */ "iiip\0" "glGetCombinerOutputParameterfvNV\0" "\0" - /* _mesa_function_pool[14751]: MultiTexCoordP3ui (will be remapped) */ + /* _mesa_function_pool[14823]: MultiTexCoordP3ui (will be remapped) */ "iii\0" "glMultiTexCoordP3ui\0" "\0" - /* _mesa_function_pool[14776]: RasterPos2sv (offset 69) */ + /* _mesa_function_pool[14848]: RasterPos2sv (offset 69) */ "p\0" "glRasterPos2sv\0" "\0" - /* _mesa_function_pool[14794]: Color4ubv (offset 36) */ + /* _mesa_function_pool[14866]: Color4ubv (offset 36) */ "p\0" "glColor4ubv\0" "\0" - /* _mesa_function_pool[14809]: DrawBuffer (offset 202) */ + /* _mesa_function_pool[14881]: DrawBuffer (offset 202) */ "i\0" "glDrawBuffer\0" "\0" - /* _mesa_function_pool[14825]: TexCoord2fv (offset 105) */ + /* _mesa_function_pool[14897]: TexCoord2fv (offset 105) */ "p\0" "glTexCoord2fv\0" "\0" - /* _mesa_function_pool[14842]: WindowPos4fMESA (will be remapped) */ + /* _mesa_function_pool[14914]: WindowPos4fMESA (will be remapped) */ "ffff\0" "glWindowPos4fMESA\0" "\0" - /* _mesa_function_pool[14866]: TexCoord1sv (offset 101) */ + /* _mesa_function_pool[14938]: TexCoord1sv (offset 101) */ "p\0" "glTexCoord1sv\0" "\0" - /* _mesa_function_pool[14883]: WindowPos3dvMESA (will be remapped) */ + /* _mesa_function_pool[14955]: WindowPos3dvMESA (will be remapped) */ "p\0" "glWindowPos3dv\0" "glWindowPos3dvARB\0" "glWindowPos3dvMESA\0" "\0" - /* _mesa_function_pool[14938]: VertexAttribP1uiv (will be remapped) */ + /* _mesa_function_pool[15010]: VertexAttribP1uiv (will be remapped) */ "iiip\0" "glVertexAttribP1uiv\0" "\0" - /* _mesa_function_pool[14964]: VertexAttribP4ui (will be remapped) */ + /* _mesa_function_pool[15036]: VertexAttribP4ui (will be remapped) */ "iiii\0" "glVertexAttribP4ui\0" "\0" - /* _mesa_function_pool[14989]: DepthFunc (offset 245) */ + /* _mesa_function_pool[15061]: DepthFunc (offset 245) */ "i\0" "glDepthFunc\0" "\0" - /* _mesa_function_pool[15004]: PixelMapusv (offset 253) */ + /* _mesa_function_pool[15076]: PixelMapusv (offset 253) */ "iip\0" "glPixelMapusv\0" "\0" - /* _mesa_function_pool[15023]: GetQueryObjecti64vEXT (will be remapped) */ + /* _mesa_function_pool[15095]: GetQueryObjecti64vEXT (will be remapped) */ "iip\0" "glGetQueryObjecti64vEXT\0" "\0" - /* _mesa_function_pool[15052]: MultiTexCoord1dARB (offset 376) */ + /* _mesa_function_pool[15124]: MultiTexCoord1dARB (offset 376) */ "id\0" "glMultiTexCoord1d\0" "glMultiTexCoord1dARB\0" "\0" - /* _mesa_function_pool[15095]: PointParameterivNV (will be remapped) */ + /* _mesa_function_pool[15167]: PointParameterivNV (will be remapped) */ "ip\0" "glPointParameteriv\0" "glPointParameterivNV\0" "\0" - /* _mesa_function_pool[15139]: IsSampler (will be remapped) */ + /* _mesa_function_pool[15211]: IsSampler (will be remapped) */ "i\0" "glIsSampler\0" "\0" - /* _mesa_function_pool[15154]: BlendFunc (offset 241) */ + /* _mesa_function_pool[15226]: BlendFunc (offset 241) */ "ii\0" "glBlendFunc\0" "\0" - /* _mesa_function_pool[15170]: EndTransformFeedbackEXT (will be remapped) */ + /* _mesa_function_pool[15242]: EndTransformFeedbackEXT (will be remapped) */ "\0" "glEndTransformFeedbackEXT\0" "glEndTransformFeedback\0" "\0" - /* _mesa_function_pool[15221]: Uniform2fvARB (will be remapped) */ + /* _mesa_function_pool[15293]: Uniform2fvARB (will be remapped) */ "iip\0" "glUniform2fv\0" "glUniform2fvARB\0" "\0" - /* _mesa_function_pool[15255]: BufferParameteriAPPLE (will be remapped) */ + /* _mesa_function_pool[15327]: BufferParameteriAPPLE (will be remapped) */ "iii\0" "glBufferParameteriAPPLE\0" "\0" - /* _mesa_function_pool[15284]: MultiTexCoord3dvARB (offset 393) */ + /* _mesa_function_pool[15356]: MultiTexCoord3dvARB (offset 393) */ "ip\0" "glMultiTexCoord3dv\0" "glMultiTexCoord3dvARB\0" "\0" - /* _mesa_function_pool[15329]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[15401]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[15385]: DeleteObjectARB (will be remapped) */ + /* _mesa_function_pool[15457]: DeleteObjectARB (will be remapped) */ "i\0" "glDeleteObjectARB\0" "\0" - /* _mesa_function_pool[15406]: GetShaderPrecisionFormat (will be remapped) */ + /* _mesa_function_pool[15478]: GetShaderPrecisionFormat (will be remapped) */ "iipp\0" "glGetShaderPrecisionFormat\0" "\0" - /* _mesa_function_pool[15439]: MatrixIndexPointerARB (dynamic) */ + /* _mesa_function_pool[15511]: MatrixIndexPointerARB (dynamic) */ "iiip\0" "glMatrixIndexPointerARB\0" "\0" - /* _mesa_function_pool[15469]: ProgramNamedParameter4dvNV (will be remapped) */ + /* _mesa_function_pool[15541]: ProgramNamedParameter4dvNV (will be remapped) */ "iipp\0" "glProgramNamedParameter4dvNV\0" "\0" - /* _mesa_function_pool[15504]: Tangent3fvEXT (dynamic) */ + /* _mesa_function_pool[15576]: Tangent3fvEXT (dynamic) */ "p\0" "glTangent3fvEXT\0" "\0" - /* _mesa_function_pool[15523]: Flush (offset 217) */ + /* _mesa_function_pool[15595]: Flush (offset 217) */ "\0" "glFlush\0" "\0" - /* _mesa_function_pool[15533]: Color4uiv (offset 38) */ + /* _mesa_function_pool[15605]: Color4uiv (offset 38) */ "p\0" "glColor4uiv\0" "\0" - /* _mesa_function_pool[15548]: VertexAttribI4iEXT (will be remapped) */ + /* _mesa_function_pool[15620]: VertexAttribI4iEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4iEXT\0" "glVertexAttribI4i\0" "\0" - /* _mesa_function_pool[15594]: GenVertexArrays (will be remapped) */ + /* _mesa_function_pool[15666]: GenVertexArrays (will be remapped) */ "ip\0" "glGenVertexArrays\0" "\0" - /* _mesa_function_pool[15616]: Uniform3uivEXT (will be remapped) */ + /* _mesa_function_pool[15688]: Uniform3uivEXT (will be remapped) */ "iip\0" "glUniform3uivEXT\0" "glUniform3uiv\0" "\0" - /* _mesa_function_pool[15652]: RasterPos3sv (offset 77) */ + /* _mesa_function_pool[15724]: RasterPos3sv (offset 77) */ "p\0" "glRasterPos3sv\0" "\0" - /* _mesa_function_pool[15670]: TexCoordP2ui (will be remapped) */ + /* _mesa_function_pool[15742]: TexCoordP2ui (will be remapped) */ "ii\0" "glTexCoordP2ui\0" "\0" - /* _mesa_function_pool[15689]: BindFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[15761]: BindFramebufferEXT (will be remapped) */ "ii\0" "glBindFramebuffer\0" "glBindFramebufferEXT\0" "\0" - /* _mesa_function_pool[15732]: ReferencePlaneSGIX (dynamic) */ + /* _mesa_function_pool[15804]: ReferencePlaneSGIX (dynamic) */ "p\0" "glReferencePlaneSGIX\0" "\0" - /* _mesa_function_pool[15756]: PushAttrib (offset 219) */ + /* _mesa_function_pool[15828]: PushAttrib (offset 219) */ "i\0" "glPushAttrib\0" "\0" - /* _mesa_function_pool[15772]: RasterPos2i (offset 66) */ + /* _mesa_function_pool[15844]: RasterPos2i (offset 66) */ "ii\0" "glRasterPos2i\0" "\0" - /* _mesa_function_pool[15790]: ValidateProgramARB (will be remapped) */ + /* _mesa_function_pool[15862]: ValidateProgramARB (will be remapped) */ "i\0" "glValidateProgram\0" "glValidateProgramARB\0" "\0" - /* _mesa_function_pool[15832]: TexParameteriv (offset 181) */ + /* _mesa_function_pool[15904]: TexParameteriv (offset 181) */ "iip\0" "glTexParameteriv\0" "\0" - /* _mesa_function_pool[15854]: UnlockArraysEXT (will be remapped) */ + /* _mesa_function_pool[15926]: UnlockArraysEXT (will be remapped) */ "\0" "glUnlockArraysEXT\0" "\0" - /* _mesa_function_pool[15874]: TexCoord2fColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[15946]: TexCoord2fColor3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[15915]: WindowPos3fvMESA (will be remapped) */ + /* _mesa_function_pool[15987]: WindowPos3fvMESA (will be remapped) */ "p\0" "glWindowPos3fv\0" "glWindowPos3fvARB\0" "glWindowPos3fvMESA\0" "\0" - /* _mesa_function_pool[15970]: RasterPos2f (offset 64) */ + /* _mesa_function_pool[16042]: RasterPos2f (offset 64) */ "ff\0" "glRasterPos2f\0" "\0" - /* _mesa_function_pool[15988]: VertexAttrib1svNV (will be remapped) */ + /* _mesa_function_pool[16060]: VertexAttrib1svNV (will be remapped) */ "ip\0" "glVertexAttrib1svNV\0" "\0" - /* _mesa_function_pool[16012]: RasterPos2d (offset 62) */ + /* _mesa_function_pool[16084]: RasterPos2d (offset 62) */ "dd\0" "glRasterPos2d\0" "\0" - /* _mesa_function_pool[16030]: RasterPos3fv (offset 73) */ + /* _mesa_function_pool[16102]: RasterPos3fv (offset 73) */ "p\0" "glRasterPos3fv\0" "\0" - /* _mesa_function_pool[16048]: CopyTexSubImage3D (offset 373) */ + /* _mesa_function_pool[16120]: CopyTexSubImage3D (offset 373) */ "iiiiiiiii\0" "glCopyTexSubImage3D\0" "glCopyTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[16102]: VertexAttrib2dARB (will be remapped) */ + /* _mesa_function_pool[16174]: VertexAttrib2dARB (will be remapped) */ "idd\0" "glVertexAttrib2d\0" "glVertexAttrib2dARB\0" "\0" - /* _mesa_function_pool[16144]: Color4ub (offset 35) */ + /* _mesa_function_pool[16216]: Color4ub (offset 35) */ "iiii\0" "glColor4ub\0" "\0" - /* _mesa_function_pool[16161]: GetInteger64v (will be remapped) */ + /* _mesa_function_pool[16233]: GetInteger64v (will be remapped) */ "ip\0" "glGetInteger64v\0" "\0" - /* _mesa_function_pool[16181]: TextureColorMaskSGIS (dynamic) */ + /* _mesa_function_pool[16253]: TextureColorMaskSGIS (dynamic) */ "iiii\0" "glTextureColorMaskSGIS\0" "\0" - /* _mesa_function_pool[16210]: RasterPos2s (offset 68) */ + /* _mesa_function_pool[16282]: RasterPos2s (offset 68) */ "ii\0" "glRasterPos2s\0" "\0" - /* _mesa_function_pool[16228]: GetColorTable (offset 343) */ + /* _mesa_function_pool[16300]: GetColorTable (offset 343) */ "iiip\0" "glGetColorTable\0" "glGetColorTableSGI\0" "glGetColorTableEXT\0" "\0" - /* _mesa_function_pool[16288]: SelectBuffer (offset 195) */ + /* _mesa_function_pool[16360]: SelectBuffer (offset 195) */ "ip\0" "glSelectBuffer\0" "\0" - /* _mesa_function_pool[16307]: Indexiv (offset 49) */ + /* _mesa_function_pool[16379]: Indexiv (offset 49) */ "p\0" "glIndexiv\0" "\0" - /* _mesa_function_pool[16320]: TexCoord3i (offset 114) */ + /* _mesa_function_pool[16392]: TexCoord3i (offset 114) */ "iii\0" "glTexCoord3i\0" "\0" - /* _mesa_function_pool[16338]: CopyColorTable (offset 342) */ + /* _mesa_function_pool[16410]: CopyColorTable (offset 342) */ "iiiii\0" "glCopyColorTable\0" "glCopyColorTableSGI\0" "\0" - /* _mesa_function_pool[16382]: GetHistogramParameterfv (offset 362) */ + /* _mesa_function_pool[16454]: GetHistogramParameterfv (offset 362) */ "iip\0" "glGetHistogramParameterfv\0" "glGetHistogramParameterfvEXT\0" "\0" - /* _mesa_function_pool[16442]: Frustum (offset 289) */ + /* _mesa_function_pool[16514]: Frustum (offset 289) */ "dddddd\0" "glFrustum\0" "\0" - /* _mesa_function_pool[16460]: GetString (offset 275) */ + /* _mesa_function_pool[16532]: GetString (offset 275) */ "i\0" "glGetString\0" "\0" - /* _mesa_function_pool[16475]: ColorPointervINTEL (dynamic) */ + /* _mesa_function_pool[16547]: ColorPointervINTEL (dynamic) */ "iip\0" "glColorPointervINTEL\0" "\0" - /* _mesa_function_pool[16501]: TexEnvf (offset 184) */ + /* _mesa_function_pool[16573]: TexEnvf (offset 184) */ "iif\0" "glTexEnvf\0" "\0" - /* _mesa_function_pool[16516]: VertexP2uiv (will be remapped) */ + /* _mesa_function_pool[16588]: VertexP2uiv (will be remapped) */ "ip\0" "glVertexP2uiv\0" "\0" - /* _mesa_function_pool[16534]: TexCoord3d (offset 110) */ + /* _mesa_function_pool[16606]: TexCoord3d (offset 110) */ "ddd\0" "glTexCoord3d\0" "\0" - /* _mesa_function_pool[16552]: AlphaFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[16624]: AlphaFragmentOp1ATI (will be remapped) */ "iiiiii\0" "glAlphaFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[16582]: TexCoord3f (offset 112) */ + /* _mesa_function_pool[16654]: TexCoord3f (offset 112) */ "fff\0" "glTexCoord3f\0" "\0" - /* _mesa_function_pool[16600]: MultiTexCoord3ivARB (offset 397) */ + /* _mesa_function_pool[16672]: MultiTexCoord3ivARB (offset 397) */ "ip\0" "glMultiTexCoord3iv\0" "glMultiTexCoord3ivARB\0" "\0" - /* _mesa_function_pool[16645]: MultiTexCoord2sARB (offset 390) */ + /* _mesa_function_pool[16717]: MultiTexCoord2sARB (offset 390) */ "iii\0" "glMultiTexCoord2s\0" "glMultiTexCoord2sARB\0" "\0" - /* _mesa_function_pool[16689]: VertexAttrib1dvARB (will be remapped) */ + /* _mesa_function_pool[16761]: VertexAttrib1dvARB (will be remapped) */ "ip\0" "glVertexAttrib1dv\0" "glVertexAttrib1dvARB\0" "\0" - /* _mesa_function_pool[16732]: GetnHistogramARB (will be remapped) */ + /* _mesa_function_pool[16804]: GetnHistogramARB (will be remapped) */ "iiiiip\0" "glGetnHistogramARB\0" "\0" - /* _mesa_function_pool[16759]: DeleteTextures (offset 327) */ + /* _mesa_function_pool[16831]: DeleteTextures (offset 327) */ "ip\0" "glDeleteTextures\0" "glDeleteTexturesEXT\0" "\0" - /* _mesa_function_pool[16800]: TexCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[16872]: TexCoordPointerEXT (will be remapped) */ "iiiip\0" "glTexCoordPointerEXT\0" "\0" - /* _mesa_function_pool[16828]: TexSubImage4DSGIS (dynamic) */ + /* _mesa_function_pool[16900]: TexSubImage4DSGIS (dynamic) */ "iiiiiiiiiiiip\0" "glTexSubImage4DSGIS\0" "\0" - /* _mesa_function_pool[16863]: TexCoord3s (offset 116) */ + /* _mesa_function_pool[16935]: TexCoord3s (offset 116) */ "iii\0" "glTexCoord3s\0" "\0" - /* _mesa_function_pool[16881]: GetTexLevelParameteriv (offset 285) */ + /* _mesa_function_pool[16953]: GetTexLevelParameteriv (offset 285) */ "iiip\0" "glGetTexLevelParameteriv\0" "\0" - /* _mesa_function_pool[16912]: CombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[16984]: CombinerStageParameterfvNV (dynamic) */ "iip\0" "glCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[16946]: VertexAttribP4uiv (will be remapped) */ + /* _mesa_function_pool[17018]: VertexAttribP4uiv (will be remapped) */ "iiip\0" "glVertexAttribP4uiv\0" "\0" - /* _mesa_function_pool[16972]: StopInstrumentsSGIX (dynamic) */ + /* _mesa_function_pool[17044]: StopInstrumentsSGIX (dynamic) */ "i\0" "glStopInstrumentsSGIX\0" "\0" - /* _mesa_function_pool[16997]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[17069]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */ "fffffffffffffff\0" "glTexCoord4fColor4fNormal3fVertex4fSUN\0" "\0" - /* _mesa_function_pool[17053]: ClearAccum (offset 204) */ + /* _mesa_function_pool[17125]: ClearAccum (offset 204) */ "ffff\0" "glClearAccum\0" "\0" - /* _mesa_function_pool[17072]: DeformSGIX (dynamic) */ + /* _mesa_function_pool[17144]: DeformSGIX (dynamic) */ "i\0" "glDeformSGIX\0" "\0" - /* _mesa_function_pool[17088]: GetVertexAttribfvARB (will be remapped) */ + /* _mesa_function_pool[17160]: GetVertexAttribfvARB (will be remapped) */ "iip\0" "glGetVertexAttribfv\0" "glGetVertexAttribfvARB\0" "\0" - /* _mesa_function_pool[17136]: SecondaryColor3ivEXT (will be remapped) */ + /* _mesa_function_pool[17208]: SecondaryColor3ivEXT (will be remapped) */ "p\0" "glSecondaryColor3iv\0" "glSecondaryColor3ivEXT\0" "\0" - /* _mesa_function_pool[17182]: TexCoord4iv (offset 123) */ + /* _mesa_function_pool[17254]: TexCoord4iv (offset 123) */ "p\0" "glTexCoord4iv\0" "\0" - /* _mesa_function_pool[17199]: VertexAttribI4uiEXT (will be remapped) */ + /* _mesa_function_pool[17271]: VertexAttribI4uiEXT (will be remapped) */ "iiiii\0" "glVertexAttribI4uiEXT\0" "glVertexAttribI4ui\0" "\0" - /* _mesa_function_pool[17247]: GetFragmentMaterialfvSGIX (dynamic) */ + /* _mesa_function_pool[17319]: GetFragmentMaterialfvSGIX (dynamic) */ "iip\0" "glGetFragmentMaterialfvSGIX\0" "\0" - /* _mesa_function_pool[17280]: UniformMatrix4x2fv (will be remapped) */ + /* _mesa_function_pool[17352]: UniformMatrix4x2fv (will be remapped) */ "iiip\0" "glUniformMatrix4x2fv\0" "\0" - /* _mesa_function_pool[17307]: GetDetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[17379]: GetDetailTexFuncSGIS (dynamic) */ "ip\0" "glGetDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[17334]: GetCombinerStageParameterfvNV (dynamic) */ + /* _mesa_function_pool[17406]: GetCombinerStageParameterfvNV (dynamic) */ "iip\0" "glGetCombinerStageParameterfvNV\0" "\0" - /* _mesa_function_pool[17371]: SamplerParameterIiv (will be remapped) */ + /* _mesa_function_pool[17443]: SamplerParameterIiv (will be remapped) */ "iip\0" "glSamplerParameterIiv\0" "\0" - /* _mesa_function_pool[17398]: PolygonOffset (offset 319) */ + /* _mesa_function_pool[17470]: PolygonOffset (offset 319) */ "ff\0" "glPolygonOffset\0" "\0" - /* _mesa_function_pool[17418]: BindVertexArray (will be remapped) */ + /* _mesa_function_pool[17490]: BindVertexArray (will be remapped) */ "i\0" "glBindVertexArray\0" "\0" - /* _mesa_function_pool[17439]: Color4ubVertex2fvSUN (dynamic) */ + /* _mesa_function_pool[17511]: Color4ubVertex2fvSUN (dynamic) */ "pp\0" "glColor4ubVertex2fvSUN\0" "\0" - /* _mesa_function_pool[17466]: VertexP3uiv (will be remapped) */ + /* _mesa_function_pool[17538]: VertexP3uiv (will be remapped) */ "ip\0" "glVertexP3uiv\0" "\0" - /* _mesa_function_pool[17484]: Rectd (offset 86) */ + /* _mesa_function_pool[17556]: Rectd (offset 86) */ "dddd\0" "glRectd\0" "\0" - /* _mesa_function_pool[17498]: TexFilterFuncSGIS (dynamic) */ + /* _mesa_function_pool[17570]: TexFilterFuncSGIS (dynamic) */ "iiip\0" "glTexFilterFuncSGIS\0" "\0" - /* _mesa_function_pool[17524]: TextureBarrierNV (will be remapped) */ + /* _mesa_function_pool[17596]: TextureBarrierNV (will be remapped) */ "\0" "glTextureBarrierNV\0" "\0" - /* _mesa_function_pool[17545]: SamplerParameterfv (will be remapped) */ + /* _mesa_function_pool[17617]: SamplerParameterfv (will be remapped) */ "iip\0" "glSamplerParameterfv\0" "\0" - /* _mesa_function_pool[17571]: VertexAttribI4ubvEXT (will be remapped) */ + /* _mesa_function_pool[17643]: VertexAttribI4ubvEXT (will be remapped) */ "ip\0" "glVertexAttribI4ubvEXT\0" "glVertexAttribI4ubv\0" "\0" - /* _mesa_function_pool[17618]: GetAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[17690]: GetAttribLocationARB (will be remapped) */ "ip\0" "glGetAttribLocation\0" "glGetAttribLocationARB\0" "\0" - /* _mesa_function_pool[17665]: RasterPos3i (offset 74) */ + /* _mesa_function_pool[17737]: RasterPos3i (offset 74) */ "iii\0" "glRasterPos3i\0" "\0" - /* _mesa_function_pool[17684]: BlendEquationSeparateiARB (will be remapped) */ + /* _mesa_function_pool[17756]: BlendEquationSeparateiARB (will be remapped) */ "iii\0" "glBlendEquationSeparateiARB\0" "glBlendEquationSeparateIndexedAMD\0" "\0" - /* _mesa_function_pool[17751]: VertexAttrib4ubvARB (will be remapped) */ + /* _mesa_function_pool[17823]: VertexAttrib4ubvARB (will be remapped) */ "ip\0" "glVertexAttrib4ubv\0" "glVertexAttrib4ubvARB\0" "\0" - /* _mesa_function_pool[17796]: DetailTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[17868]: DetailTexFuncSGIS (dynamic) */ "iip\0" "glDetailTexFuncSGIS\0" "\0" - /* _mesa_function_pool[17821]: Normal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[17893]: Normal3fVertex3fSUN (dynamic) */ "ffffff\0" "glNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[17851]: CopyTexImage2D (offset 324) */ + /* _mesa_function_pool[17923]: CopyTexImage2D (offset 324) */ "iiiiiiii\0" "glCopyTexImage2D\0" "glCopyTexImage2DEXT\0" "\0" - /* _mesa_function_pool[17898]: GetBufferPointervARB (will be remapped) */ + /* _mesa_function_pool[17970]: GetBufferPointervARB (will be remapped) */ "iip\0" "glGetBufferPointerv\0" "glGetBufferPointervARB\0" "\0" - /* _mesa_function_pool[17946]: ProgramEnvParameter4fARB (will be remapped) */ + /* _mesa_function_pool[18018]: ProgramEnvParameter4fARB (will be remapped) */ "iiffff\0" "glProgramEnvParameter4fARB\0" "glProgramParameter4fNV\0" "\0" - /* _mesa_function_pool[18004]: Uniform3ivARB (will be remapped) */ + /* _mesa_function_pool[18076]: Uniform3ivARB (will be remapped) */ "iip\0" "glUniform3iv\0" "glUniform3ivARB\0" "\0" - /* _mesa_function_pool[18038]: Lightfv (offset 160) */ + /* _mesa_function_pool[18110]: Lightfv (offset 160) */ "iip\0" "glLightfv\0" "\0" - /* _mesa_function_pool[18053]: PrimitiveRestartIndexNV (will be remapped) */ + /* _mesa_function_pool[18125]: PrimitiveRestartIndexNV (will be remapped) */ "i\0" "glPrimitiveRestartIndexNV\0" "glPrimitiveRestartIndex\0" "\0" - /* _mesa_function_pool[18106]: ClearDepth (offset 208) */ + /* _mesa_function_pool[18178]: ClearDepth (offset 208) */ "d\0" "glClearDepth\0" "\0" - /* _mesa_function_pool[18122]: GetFenceivNV (will be remapped) */ + /* _mesa_function_pool[18194]: GetFenceivNV (will be remapped) */ "iip\0" "glGetFenceivNV\0" "\0" - /* _mesa_function_pool[18142]: WindowPos4dvMESA (will be remapped) */ + /* _mesa_function_pool[18214]: WindowPos4dvMESA (will be remapped) */ "p\0" "glWindowPos4dvMESA\0" "\0" - /* _mesa_function_pool[18164]: ColorSubTable (offset 346) */ + /* _mesa_function_pool[18236]: ColorSubTable (offset 346) */ "iiiiip\0" "glColorSubTable\0" "glColorSubTableEXT\0" "\0" - /* _mesa_function_pool[18207]: Color4fv (offset 30) */ + /* _mesa_function_pool[18279]: Color4fv (offset 30) */ "p\0" "glColor4fv\0" "\0" - /* _mesa_function_pool[18221]: MultiTexCoord4ivARB (offset 405) */ + /* _mesa_function_pool[18293]: MultiTexCoord4ivARB (offset 405) */ "ip\0" "glMultiTexCoord4iv\0" "glMultiTexCoord4ivARB\0" "\0" - /* _mesa_function_pool[18266]: GetnMinmaxARB (will be remapped) */ + /* _mesa_function_pool[18338]: GetnMinmaxARB (will be remapped) */ "iiiiip\0" "glGetnMinmaxARB\0" "\0" - /* _mesa_function_pool[18290]: ProgramLocalParameters4fvEXT (will be remapped) */ + /* _mesa_function_pool[18362]: ProgramLocalParameters4fvEXT (will be remapped) */ "iiip\0" "glProgramLocalParameters4fvEXT\0" "\0" - /* _mesa_function_pool[18327]: ColorPointer (offset 308) */ + /* _mesa_function_pool[18399]: ColorPointer (offset 308) */ "iiip\0" "glColorPointer\0" "\0" - /* _mesa_function_pool[18348]: Rects (offset 92) */ + /* _mesa_function_pool[18420]: Rects (offset 92) */ "iiii\0" "glRects\0" "\0" - /* _mesa_function_pool[18362]: GetMapAttribParameterfvNV (dynamic) */ + /* _mesa_function_pool[18434]: GetMapAttribParameterfvNV (dynamic) */ "iiip\0" "glGetMapAttribParameterfvNV\0" "\0" - /* _mesa_function_pool[18396]: CreateShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[18468]: CreateShaderProgramEXT (will be remapped) */ "ip\0" "glCreateShaderProgramEXT\0" "\0" - /* _mesa_function_pool[18425]: ActiveProgramEXT (will be remapped) */ + /* _mesa_function_pool[18497]: ActiveProgramEXT (will be remapped) */ "i\0" "glActiveProgramEXT\0" "\0" - /* _mesa_function_pool[18447]: Lightiv (offset 162) */ + /* _mesa_function_pool[18519]: Lightiv (offset 162) */ "iip\0" "glLightiv\0" "\0" - /* _mesa_function_pool[18462]: VertexAttrib4sARB (will be remapped) */ + /* _mesa_function_pool[18534]: VertexAttrib4sARB (will be remapped) */ "iiiii\0" "glVertexAttrib4s\0" "glVertexAttrib4sARB\0" "\0" - /* _mesa_function_pool[18506]: GetQueryObjectuivARB (will be remapped) */ + /* _mesa_function_pool[18578]: GetQueryObjectuivARB (will be remapped) */ "iip\0" "glGetQueryObjectuiv\0" "glGetQueryObjectuivARB\0" "\0" - /* _mesa_function_pool[18554]: GetTexParameteriv (offset 283) */ + /* _mesa_function_pool[18626]: GetTexParameteriv (offset 283) */ "iip\0" "glGetTexParameteriv\0" "\0" - /* _mesa_function_pool[18579]: MapParameterivNV (dynamic) */ + /* _mesa_function_pool[18651]: MapParameterivNV (dynamic) */ "iip\0" "glMapParameterivNV\0" "\0" - /* _mesa_function_pool[18603]: GenRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[18675]: GenRenderbuffersEXT (will be remapped) */ "ip\0" "glGenRenderbuffers\0" "glGenRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[18648]: ClearBufferfv (will be remapped) */ + /* _mesa_function_pool[18720]: ClearBufferfv (will be remapped) */ "iip\0" "glClearBufferfv\0" "\0" - /* _mesa_function_pool[18669]: VertexAttrib2dvARB (will be remapped) */ + /* _mesa_function_pool[18741]: VertexAttrib2dvARB (will be remapped) */ "ip\0" "glVertexAttrib2dv\0" "glVertexAttrib2dvARB\0" "\0" - /* _mesa_function_pool[18712]: EdgeFlagPointerEXT (will be remapped) */ + /* _mesa_function_pool[18784]: EdgeFlagPointerEXT (will be remapped) */ "iip\0" "glEdgeFlagPointerEXT\0" "\0" - /* _mesa_function_pool[18738]: VertexAttribs2svNV (will be remapped) */ + /* _mesa_function_pool[18810]: VertexAttribs2svNV (will be remapped) */ "iip\0" "glVertexAttribs2svNV\0" "\0" - /* _mesa_function_pool[18764]: WeightbvARB (dynamic) */ + /* _mesa_function_pool[18836]: WeightbvARB (dynamic) */ "ip\0" "glWeightbvARB\0" "\0" - /* _mesa_function_pool[18782]: VertexAttrib2fvARB (will be remapped) */ + /* _mesa_function_pool[18854]: VertexAttrib2fvARB (will be remapped) */ "ip\0" "glVertexAttrib2fv\0" "glVertexAttrib2fvARB\0" "\0" - /* _mesa_function_pool[18825]: GetBufferParameterivARB (will be remapped) */ + /* _mesa_function_pool[18897]: GetBufferParameterivARB (will be remapped) */ "iip\0" "glGetBufferParameteriv\0" "glGetBufferParameterivARB\0" "\0" - /* _mesa_function_pool[18879]: Rectdv (offset 87) */ + /* _mesa_function_pool[18951]: Rectdv (offset 87) */ "pp\0" "glRectdv\0" "\0" - /* _mesa_function_pool[18892]: ListParameteriSGIX (dynamic) */ + /* _mesa_function_pool[18964]: ListParameteriSGIX (dynamic) */ "iii\0" "glListParameteriSGIX\0" "\0" - /* _mesa_function_pool[18918]: BlendEquationiARB (will be remapped) */ + /* _mesa_function_pool[18990]: BlendEquationiARB (will be remapped) */ "ii\0" "glBlendEquationiARB\0" "glBlendEquationIndexedAMD\0" "\0" - /* _mesa_function_pool[18968]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[19040]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffff\0" "glReplacementCodeuiColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[19027]: InstrumentsBufferSGIX (dynamic) */ + /* _mesa_function_pool[19099]: InstrumentsBufferSGIX (dynamic) */ "ip\0" "glInstrumentsBufferSGIX\0" "\0" - /* _mesa_function_pool[19055]: VertexAttrib4NivARB (will be remapped) */ + /* _mesa_function_pool[19127]: VertexAttrib4NivARB (will be remapped) */ "ip\0" "glVertexAttrib4Niv\0" "glVertexAttrib4NivARB\0" "\0" - /* _mesa_function_pool[19100]: DrawArraysInstancedARB (will be remapped) */ + /* _mesa_function_pool[19172]: DrawArraysInstancedARB (will be remapped) */ "iiii\0" "glDrawArraysInstancedARB\0" "glDrawArraysInstancedEXT\0" "glDrawArraysInstanced\0" "\0" - /* _mesa_function_pool[19178]: GetAttachedShaders (will be remapped) */ + /* _mesa_function_pool[19250]: GetAttachedShaders (will be remapped) */ "iipp\0" "glGetAttachedShaders\0" "\0" - /* _mesa_function_pool[19205]: GenVertexArraysAPPLE (will be remapped) */ + /* _mesa_function_pool[19277]: GenVertexArraysAPPLE (will be remapped) */ "ip\0" "glGenVertexArraysAPPLE\0" "\0" - /* _mesa_function_pool[19232]: ClearBufferfi (will be remapped) */ + /* _mesa_function_pool[19304]: ClearBufferfi (will be remapped) */ "iifi\0" "glClearBufferfi\0" "\0" - /* _mesa_function_pool[19254]: Materialiv (offset 172) */ + /* _mesa_function_pool[19326]: Materialiv (offset 172) */ "iip\0" "glMaterialiv\0" "\0" - /* _mesa_function_pool[19272]: PushClientAttrib (offset 335) */ + /* _mesa_function_pool[19344]: PushClientAttrib (offset 335) */ "i\0" "glPushClientAttrib\0" "\0" - /* _mesa_function_pool[19294]: SamplerParameteriv (will be remapped) */ + /* _mesa_function_pool[19366]: SamplerParameteriv (will be remapped) */ "iip\0" "glSamplerParameteriv\0" "\0" - /* _mesa_function_pool[19320]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[19392]: TexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */ "pppp\0" "glTexCoord2fColor4fNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[19366]: WindowPos2iMESA (will be remapped) */ + /* _mesa_function_pool[19438]: WindowPos2iMESA (will be remapped) */ "ii\0" "glWindowPos2i\0" "glWindowPos2iARB\0" "glWindowPos2iMESA\0" "\0" - /* _mesa_function_pool[19419]: SampleMaskSGIS (will be remapped) */ + /* _mesa_function_pool[19491]: SampleMaskSGIS (will be remapped) */ "fi\0" "glSampleMaskSGIS\0" "glSampleMaskEXT\0" "\0" - /* _mesa_function_pool[19456]: SecondaryColor3fvEXT (will be remapped) */ + /* _mesa_function_pool[19528]: SecondaryColor3fvEXT (will be remapped) */ "p\0" "glSecondaryColor3fv\0" "glSecondaryColor3fvEXT\0" "\0" - /* _mesa_function_pool[19502]: PolygonMode (offset 174) */ + /* _mesa_function_pool[19574]: PolygonMode (offset 174) */ "ii\0" "glPolygonMode\0" "\0" - /* _mesa_function_pool[19520]: CompressedTexSubImage1DARB (will be remapped) */ + /* _mesa_function_pool[19592]: CompressedTexSubImage1DARB (will be remapped) */ "iiiiiip\0" "glCompressedTexSubImage1D\0" "glCompressedTexSubImage1DARB\0" "\0" - /* _mesa_function_pool[19584]: VertexAttribI1iEXT (will be remapped) */ + /* _mesa_function_pool[19656]: VertexAttribI1iEXT (will be remapped) */ "ii\0" "glVertexAttribI1iEXT\0" "glVertexAttribI1i\0" "\0" - /* _mesa_function_pool[19627]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[19699]: TexCoord2fNormal3fVertex3fSUN (dynamic) */ "ffffffff\0" "glTexCoord2fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[19669]: GetVertexAttribivNV (will be remapped) */ + /* _mesa_function_pool[19741]: GetVertexAttribivNV (will be remapped) */ "iip\0" "glGetVertexAttribivNV\0" "\0" - /* _mesa_function_pool[19696]: GetProgramStringARB (will be remapped) */ + /* _mesa_function_pool[19768]: GetProgramStringARB (will be remapped) */ "iip\0" "glGetProgramStringARB\0" "\0" - /* _mesa_function_pool[19723]: GetnUniformdvARB (will be remapped) */ + /* _mesa_function_pool[19795]: GetnUniformdvARB (will be remapped) */ "iiip\0" "glGetnUniformdvARB\0" "\0" - /* _mesa_function_pool[19748]: DrawElementsInstancedBaseVertex (will be remapped) */ + /* _mesa_function_pool[19820]: DrawElementsInstancedBaseVertex (will be remapped) */ "iiipii\0" "glDrawElementsInstancedBaseVertex\0" "\0" - /* _mesa_function_pool[19790]: VertexAttribIPointerEXT (will be remapped) */ + /* _mesa_function_pool[19862]: VertexAttribIPointerEXT (will be remapped) */ "iiiip\0" "glVertexAttribIPointerEXT\0" "glVertexAttribIPointer\0" "\0" - /* _mesa_function_pool[19846]: TexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[19918]: TexBumpParameterfvATI (will be remapped) */ "ip\0" "glTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[19874]: Tangent3ivEXT (dynamic) */ + /* _mesa_function_pool[19946]: Tangent3ivEXT (dynamic) */ "p\0" "glTangent3ivEXT\0" "\0" - /* _mesa_function_pool[19893]: CompileShaderARB (will be remapped) */ + /* _mesa_function_pool[19965]: CompileShaderARB (will be remapped) */ "i\0" "glCompileShader\0" "glCompileShaderARB\0" "\0" - /* _mesa_function_pool[19931]: DeleteShader (will be remapped) */ + /* _mesa_function_pool[20003]: DeleteShader (will be remapped) */ "i\0" "glDeleteShader\0" "\0" - /* _mesa_function_pool[19949]: DisableClientState (offset 309) */ + /* _mesa_function_pool[20021]: DisableClientState (offset 309) */ "i\0" "glDisableClientState\0" "\0" - /* _mesa_function_pool[19973]: TexGeni (offset 192) */ + /* _mesa_function_pool[20045]: TexGeni (offset 192) */ "iii\0" "glTexGeni\0" "\0" - /* _mesa_function_pool[19988]: TexGenf (offset 190) */ + /* _mesa_function_pool[20060]: TexGenf (offset 190) */ "iif\0" "glTexGenf\0" "\0" - /* _mesa_function_pool[20003]: Uniform3fARB (will be remapped) */ + /* _mesa_function_pool[20075]: Uniform3fARB (will be remapped) */ "ifff\0" "glUniform3f\0" "glUniform3fARB\0" "\0" - /* _mesa_function_pool[20036]: TexGend (offset 188) */ + /* _mesa_function_pool[20108]: TexGend (offset 188) */ "iid\0" "glTexGend\0" "\0" - /* _mesa_function_pool[20051]: ListParameterfvSGIX (dynamic) */ + /* _mesa_function_pool[20123]: ListParameterfvSGIX (dynamic) */ "iip\0" "glListParameterfvSGIX\0" "\0" - /* _mesa_function_pool[20078]: GetPolygonStipple (offset 274) */ + /* _mesa_function_pool[20150]: GetPolygonStipple (offset 274) */ "p\0" "glGetPolygonStipple\0" "\0" - /* _mesa_function_pool[20101]: ColorP3ui (will be remapped) */ + /* _mesa_function_pool[20173]: ColorP3ui (will be remapped) */ "ii\0" "glColorP3ui\0" "\0" - /* _mesa_function_pool[20117]: Tangent3dvEXT (dynamic) */ + /* _mesa_function_pool[20189]: Tangent3dvEXT (dynamic) */ "p\0" "glTangent3dvEXT\0" "\0" - /* _mesa_function_pool[20136]: BindBufferOffsetEXT (will be remapped) */ + /* _mesa_function_pool[20208]: BindBufferOffsetEXT (will be remapped) */ "iiii\0" "glBindBufferOffsetEXT\0" "\0" - /* _mesa_function_pool[20164]: WindowPos3sMESA (will be remapped) */ + /* _mesa_function_pool[20236]: WindowPos3sMESA (will be remapped) */ "iii\0" "glWindowPos3s\0" "glWindowPos3sARB\0" "glWindowPos3sMESA\0" "\0" - /* _mesa_function_pool[20218]: VertexAttrib2svNV (will be remapped) */ + /* _mesa_function_pool[20290]: VertexAttrib2svNV (will be remapped) */ "ip\0" "glVertexAttrib2svNV\0" "\0" - /* _mesa_function_pool[20242]: DisableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[20314]: DisableIndexedEXT (will be remapped) */ "ii\0" "glDisableIndexedEXT\0" "glDisablei\0" "\0" - /* _mesa_function_pool[20277]: NormalP3uiv (will be remapped) */ + /* _mesa_function_pool[20349]: NormalP3uiv (will be remapped) */ "ip\0" "glNormalP3uiv\0" "\0" - /* _mesa_function_pool[20295]: SecondaryColorP3uiv (will be remapped) */ + /* _mesa_function_pool[20367]: SecondaryColorP3uiv (will be remapped) */ "ip\0" "glSecondaryColorP3uiv\0" "\0" - /* _mesa_function_pool[20321]: BindBufferBaseEXT (will be remapped) */ + /* _mesa_function_pool[20393]: BindBufferBaseEXT (will be remapped) */ "iii\0" "glBindBufferBaseEXT\0" "glBindBufferBase\0" "\0" - /* _mesa_function_pool[20363]: TexCoord2fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[20435]: TexCoord2fVertex3fvSUN (dynamic) */ "pp\0" "glTexCoord2fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[20392]: WindowPos4sMESA (will be remapped) */ + /* _mesa_function_pool[20464]: WindowPos4sMESA (will be remapped) */ "iiii\0" "glWindowPos4sMESA\0" "\0" - /* _mesa_function_pool[20416]: GetnPixelMapuivARB (will be remapped) */ + /* _mesa_function_pool[20488]: GetnPixelMapuivARB (will be remapped) */ "iip\0" "glGetnPixelMapuivARB\0" "\0" - /* _mesa_function_pool[20442]: VertexAttrib4NuivARB (will be remapped) */ + /* _mesa_function_pool[20514]: VertexAttrib4NuivARB (will be remapped) */ "ip\0" "glVertexAttrib4Nuiv\0" "glVertexAttrib4NuivARB\0" "\0" - /* _mesa_function_pool[20489]: ClientActiveTextureARB (offset 375) */ + /* _mesa_function_pool[20561]: ClientActiveTextureARB (offset 375) */ "i\0" "glClientActiveTexture\0" "glClientActiveTextureARB\0" "\0" - /* _mesa_function_pool[20539]: GetSamplerParameterIuiv (will be remapped) */ + /* _mesa_function_pool[20611]: GetSamplerParameterIuiv (will be remapped) */ "iip\0" "glGetSamplerParameterIuiv\0" "\0" - /* _mesa_function_pool[20570]: ReplacementCodeusvSUN (dynamic) */ + /* _mesa_function_pool[20642]: ReplacementCodeusvSUN (dynamic) */ "p\0" "glReplacementCodeusvSUN\0" "\0" - /* _mesa_function_pool[20597]: Uniform4fARB (will be remapped) */ + /* _mesa_function_pool[20669]: Uniform4fARB (will be remapped) */ "iffff\0" "glUniform4f\0" "glUniform4fARB\0" "\0" - /* _mesa_function_pool[20631]: Color4sv (offset 34) */ + /* _mesa_function_pool[20703]: Color4sv (offset 34) */ "p\0" "glColor4sv\0" "\0" - /* _mesa_function_pool[20645]: FlushMappedBufferRange (will be remapped) */ + /* _mesa_function_pool[20717]: FlushMappedBufferRange (will be remapped) */ "iii\0" "glFlushMappedBufferRange\0" "\0" - /* _mesa_function_pool[20675]: IsProgramNV (will be remapped) */ + /* _mesa_function_pool[20747]: IsProgramNV (will be remapped) */ "i\0" "glIsProgramARB\0" "glIsProgramNV\0" "\0" - /* _mesa_function_pool[20707]: FlushMappedBufferRangeAPPLE (will be remapped) */ + /* _mesa_function_pool[20779]: FlushMappedBufferRangeAPPLE (will be remapped) */ "iii\0" "glFlushMappedBufferRangeAPPLE\0" "\0" - /* _mesa_function_pool[20742]: PixelZoom (offset 246) */ + /* _mesa_function_pool[20814]: PixelZoom (offset 246) */ "ff\0" "glPixelZoom\0" "\0" - /* _mesa_function_pool[20758]: ReplacementCodePointerSUN (dynamic) */ + /* _mesa_function_pool[20830]: ReplacementCodePointerSUN (dynamic) */ "iip\0" "glReplacementCodePointerSUN\0" "\0" - /* _mesa_function_pool[20791]: ProgramEnvParameter4dARB (will be remapped) */ + /* _mesa_function_pool[20863]: ProgramEnvParameter4dARB (will be remapped) */ "iidddd\0" "glProgramEnvParameter4dARB\0" "glProgramParameter4dNV\0" "\0" - /* _mesa_function_pool[20849]: ColorTableParameterfv (offset 340) */ + /* _mesa_function_pool[20921]: ColorTableParameterfv (offset 340) */ "iip\0" "glColorTableParameterfv\0" "glColorTableParameterfvSGI\0" "\0" - /* _mesa_function_pool[20905]: FragmentLightModelfSGIX (dynamic) */ + /* _mesa_function_pool[20977]: FragmentLightModelfSGIX (dynamic) */ "if\0" "glFragmentLightModelfSGIX\0" "\0" - /* _mesa_function_pool[20935]: Binormal3bvEXT (dynamic) */ + /* _mesa_function_pool[21007]: Binormal3bvEXT (dynamic) */ "p\0" "glBinormal3bvEXT\0" "\0" - /* _mesa_function_pool[20955]: PixelMapuiv (offset 252) */ + /* _mesa_function_pool[21027]: PixelMapuiv (offset 252) */ "iip\0" "glPixelMapuiv\0" "\0" - /* _mesa_function_pool[20974]: Color3dv (offset 12) */ + /* _mesa_function_pool[21046]: Color3dv (offset 12) */ "p\0" "glColor3dv\0" "\0" - /* _mesa_function_pool[20988]: IsTexture (offset 330) */ + /* _mesa_function_pool[21060]: IsTexture (offset 330) */ "i\0" "glIsTexture\0" "glIsTextureEXT\0" "\0" - /* _mesa_function_pool[21018]: GenSamplers (will be remapped) */ + /* _mesa_function_pool[21090]: GenSamplers (will be remapped) */ "ip\0" "glGenSamplers\0" "\0" - /* _mesa_function_pool[21036]: VertexAttribP3uiv (will be remapped) */ + /* _mesa_function_pool[21108]: VertexAttribP3uiv (will be remapped) */ "iiip\0" "glVertexAttribP3uiv\0" "\0" - /* _mesa_function_pool[21062]: VertexWeightfvEXT (dynamic) */ + /* _mesa_function_pool[21134]: VertexWeightfvEXT (dynamic) */ "p\0" "glVertexWeightfvEXT\0" "\0" - /* _mesa_function_pool[21085]: VertexAttrib1dARB (will be remapped) */ + /* _mesa_function_pool[21157]: VertexAttrib1dARB (will be remapped) */ "id\0" "glVertexAttrib1d\0" "glVertexAttrib1dARB\0" "\0" - /* _mesa_function_pool[21126]: ImageTransformParameterivHP (dynamic) */ + /* _mesa_function_pool[21198]: ImageTransformParameterivHP (dynamic) */ "iip\0" "glImageTransformParameterivHP\0" "\0" - /* _mesa_function_pool[21161]: TexCoord4i (offset 122) */ + /* _mesa_function_pool[21233]: TexCoord4i (offset 122) */ "iiii\0" "glTexCoord4i\0" "\0" - /* _mesa_function_pool[21180]: DeleteQueriesARB (will be remapped) */ + /* _mesa_function_pool[21252]: DeleteQueriesARB (will be remapped) */ "ip\0" "glDeleteQueries\0" "glDeleteQueriesARB\0" "\0" - /* _mesa_function_pool[21219]: Color4ubVertex2fSUN (dynamic) */ + /* _mesa_function_pool[21291]: Color4ubVertex2fSUN (dynamic) */ "iiiiff\0" "glColor4ubVertex2fSUN\0" "\0" - /* _mesa_function_pool[21249]: FragmentColorMaterialSGIX (dynamic) */ + /* _mesa_function_pool[21321]: FragmentColorMaterialSGIX (dynamic) */ "ii\0" "glFragmentColorMaterialSGIX\0" "\0" - /* _mesa_function_pool[21281]: CurrentPaletteMatrixARB (dynamic) */ + /* _mesa_function_pool[21353]: CurrentPaletteMatrixARB (dynamic) */ "i\0" "glCurrentPaletteMatrixARB\0" "\0" - /* _mesa_function_pool[21310]: GetMapdv (offset 266) */ + /* _mesa_function_pool[21382]: GetMapdv (offset 266) */ "iip\0" "glGetMapdv\0" "\0" - /* _mesa_function_pool[21326]: ObjectPurgeableAPPLE (will be remapped) */ + /* _mesa_function_pool[21398]: ObjectPurgeableAPPLE (will be remapped) */ "iii\0" "glObjectPurgeableAPPLE\0" "\0" - /* _mesa_function_pool[21354]: GetStringi (will be remapped) */ + /* _mesa_function_pool[21426]: GetStringi (will be remapped) */ "ii\0" "glGetStringi\0" "\0" - /* _mesa_function_pool[21371]: SamplePatternSGIS (will be remapped) */ + /* _mesa_function_pool[21443]: SamplePatternSGIS (will be remapped) */ "i\0" "glSamplePatternSGIS\0" "glSamplePatternEXT\0" "\0" - /* _mesa_function_pool[21413]: PixelStoref (offset 249) */ + /* _mesa_function_pool[21485]: PixelStoref (offset 249) */ "if\0" "glPixelStoref\0" "\0" - /* _mesa_function_pool[21431]: IsQueryARB (will be remapped) */ + /* _mesa_function_pool[21503]: IsQueryARB (will be remapped) */ "i\0" "glIsQuery\0" "glIsQueryARB\0" "\0" - /* _mesa_function_pool[21457]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[21529]: ReplacementCodeuiColor4ubVertex3fSUN (dynamic) */ "iiiiifff\0" "glReplacementCodeuiColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[21506]: PixelStorei (offset 250) */ + /* _mesa_function_pool[21578]: PixelStorei (offset 250) */ "ii\0" "glPixelStorei\0" "\0" - /* _mesa_function_pool[21524]: VertexAttrib4usvARB (will be remapped) */ + /* _mesa_function_pool[21596]: VertexAttrib4usvARB (will be remapped) */ "ip\0" "glVertexAttrib4usv\0" "glVertexAttrib4usvARB\0" "\0" - /* _mesa_function_pool[21569]: LinkProgramARB (will be remapped) */ + /* _mesa_function_pool[21641]: LinkProgramARB (will be remapped) */ "i\0" "glLinkProgram\0" "glLinkProgramARB\0" "\0" - /* _mesa_function_pool[21603]: VertexAttrib2fNV (will be remapped) */ + /* _mesa_function_pool[21675]: VertexAttrib2fNV (will be remapped) */ "iff\0" "glVertexAttrib2fNV\0" "\0" - /* _mesa_function_pool[21627]: ShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[21699]: ShaderSourceARB (will be remapped) */ "iipp\0" "glShaderSource\0" "glShaderSourceARB\0" "\0" - /* _mesa_function_pool[21666]: FragmentMaterialiSGIX (dynamic) */ + /* _mesa_function_pool[21738]: FragmentMaterialiSGIX (dynamic) */ "iii\0" "glFragmentMaterialiSGIX\0" "\0" - /* _mesa_function_pool[21695]: EvalCoord2dv (offset 233) */ + /* _mesa_function_pool[21767]: EvalCoord2dv (offset 233) */ "p\0" "glEvalCoord2dv\0" "\0" - /* _mesa_function_pool[21713]: VertexAttrib3svARB (will be remapped) */ + /* _mesa_function_pool[21785]: VertexAttrib3svARB (will be remapped) */ "ip\0" "glVertexAttrib3sv\0" "glVertexAttrib3svARB\0" "\0" - /* _mesa_function_pool[21756]: ColorMaterial (offset 151) */ + /* _mesa_function_pool[21828]: ColorMaterial (offset 151) */ "ii\0" "glColorMaterial\0" "\0" - /* _mesa_function_pool[21776]: CompressedTexSubImage3DARB (will be remapped) */ + /* _mesa_function_pool[21848]: CompressedTexSubImage3DARB (will be remapped) */ "iiiiiiiiiip\0" "glCompressedTexSubImage3D\0" "glCompressedTexSubImage3DARB\0" "\0" - /* _mesa_function_pool[21844]: WindowPos2ivMESA (will be remapped) */ + /* _mesa_function_pool[21916]: WindowPos2ivMESA (will be remapped) */ "p\0" "glWindowPos2iv\0" "glWindowPos2ivARB\0" "glWindowPos2ivMESA\0" "\0" - /* _mesa_function_pool[21899]: IsFramebufferEXT (will be remapped) */ + /* _mesa_function_pool[21971]: IsFramebufferEXT (will be remapped) */ "i\0" "glIsFramebuffer\0" "glIsFramebufferEXT\0" "\0" - /* _mesa_function_pool[21937]: Uniform4ivARB (will be remapped) */ + /* _mesa_function_pool[22009]: Uniform4ivARB (will be remapped) */ "iip\0" "glUniform4iv\0" "glUniform4ivARB\0" "\0" - /* _mesa_function_pool[21971]: GetVertexAttribdvARB (will be remapped) */ + /* _mesa_function_pool[22043]: GetVertexAttribdvARB (will be remapped) */ "iip\0" "glGetVertexAttribdv\0" "glGetVertexAttribdvARB\0" "\0" - /* _mesa_function_pool[22019]: TexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[22091]: TexBumpParameterivATI (will be remapped) */ "ip\0" "glTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[22047]: GetSeparableFilter (offset 359) */ + /* _mesa_function_pool[22119]: GetSeparableFilter (offset 359) */ "iiippp\0" "glGetSeparableFilter\0" "glGetSeparableFilterEXT\0" "\0" - /* _mesa_function_pool[22100]: Binormal3dEXT (dynamic) */ + /* _mesa_function_pool[22172]: Binormal3dEXT (dynamic) */ "ddd\0" "glBinormal3dEXT\0" "\0" - /* _mesa_function_pool[22121]: SpriteParameteriSGIX (dynamic) */ + /* _mesa_function_pool[22193]: SpriteParameteriSGIX (dynamic) */ "ii\0" "glSpriteParameteriSGIX\0" "\0" - /* _mesa_function_pool[22148]: RequestResidentProgramsNV (will be remapped) */ + /* _mesa_function_pool[22220]: RequestResidentProgramsNV (will be remapped) */ "ip\0" "glRequestResidentProgramsNV\0" "\0" - /* _mesa_function_pool[22180]: TagSampleBufferSGIX (dynamic) */ + /* _mesa_function_pool[22252]: TagSampleBufferSGIX (dynamic) */ "\0" "glTagSampleBufferSGIX\0" "\0" - /* _mesa_function_pool[22204]: TransformFeedbackVaryingsEXT (will be remapped) */ + /* _mesa_function_pool[22276]: TransformFeedbackVaryingsEXT (will be remapped) */ "iipi\0" "glTransformFeedbackVaryingsEXT\0" "glTransformFeedbackVaryings\0" "\0" - /* _mesa_function_pool[22269]: FeedbackBuffer (offset 194) */ + /* _mesa_function_pool[22341]: FeedbackBuffer (offset 194) */ "iip\0" "glFeedbackBuffer\0" "\0" - /* _mesa_function_pool[22291]: RasterPos2iv (offset 67) */ + /* _mesa_function_pool[22363]: RasterPos2iv (offset 67) */ "p\0" "glRasterPos2iv\0" "\0" - /* _mesa_function_pool[22309]: TexImage1D (offset 182) */ + /* _mesa_function_pool[22381]: TexImage1D (offset 182) */ "iiiiiiip\0" "glTexImage1D\0" "\0" - /* _mesa_function_pool[22332]: ListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[22404]: ListParameterivSGIX (dynamic) */ "iip\0" "glListParameterivSGIX\0" "\0" - /* _mesa_function_pool[22359]: MultiDrawElementsEXT (will be remapped) */ + /* _mesa_function_pool[22431]: MultiDrawElementsEXT (will be remapped) */ "ipipi\0" "glMultiDrawElements\0" "glMultiDrawElementsEXT\0" "\0" - /* _mesa_function_pool[22409]: Color3s (offset 17) */ + /* _mesa_function_pool[22481]: Color3s (offset 17) */ "iii\0" "glColor3s\0" "\0" - /* _mesa_function_pool[22424]: Uniform1ivARB (will be remapped) */ + /* _mesa_function_pool[22496]: Uniform1ivARB (will be remapped) */ "iip\0" "glUniform1iv\0" "glUniform1ivARB\0" "\0" - /* _mesa_function_pool[22458]: WindowPos2sMESA (will be remapped) */ + /* _mesa_function_pool[22530]: WindowPos2sMESA (will be remapped) */ "ii\0" "glWindowPos2s\0" "glWindowPos2sARB\0" "glWindowPos2sMESA\0" "\0" - /* _mesa_function_pool[22511]: WeightusvARB (dynamic) */ + /* _mesa_function_pool[22583]: WeightusvARB (dynamic) */ "ip\0" "glWeightusvARB\0" "\0" - /* _mesa_function_pool[22530]: ColorP4ui (will be remapped) */ + /* _mesa_function_pool[22602]: ColorP4ui (will be remapped) */ "ii\0" "glColorP4ui\0" "\0" - /* _mesa_function_pool[22546]: TexCoordPointer (offset 320) */ + /* _mesa_function_pool[22618]: TexCoordPointer (offset 320) */ "iiip\0" "glTexCoordPointer\0" "\0" - /* _mesa_function_pool[22570]: FogCoordPointerEXT (will be remapped) */ + /* _mesa_function_pool[22642]: FogCoordPointerEXT (will be remapped) */ "iip\0" "glFogCoordPointer\0" "glFogCoordPointerEXT\0" "\0" - /* _mesa_function_pool[22614]: GetnSeparableFilterARB (will be remapped) */ + /* _mesa_function_pool[22686]: GetnSeparableFilterARB (will be remapped) */ "iiiipipp\0" "glGetnSeparableFilterARB\0" "\0" - /* _mesa_function_pool[22649]: IndexMaterialEXT (dynamic) */ + /* _mesa_function_pool[22721]: IndexMaterialEXT (dynamic) */ "ii\0" "glIndexMaterialEXT\0" "\0" - /* _mesa_function_pool[22672]: Color3i (offset 15) */ + /* _mesa_function_pool[22744]: Color3i (offset 15) */ "iii\0" "glColor3i\0" "\0" - /* _mesa_function_pool[22687]: FrontFace (offset 157) */ + /* _mesa_function_pool[22759]: FrontFace (offset 157) */ "i\0" "glFrontFace\0" "\0" - /* _mesa_function_pool[22702]: EvalCoord2d (offset 232) */ + /* _mesa_function_pool[22774]: EvalCoord2d (offset 232) */ "dd\0" "glEvalCoord2d\0" "\0" - /* _mesa_function_pool[22720]: SecondaryColor3ubvEXT (will be remapped) */ + /* _mesa_function_pool[22792]: SecondaryColor3ubvEXT (will be remapped) */ "p\0" "glSecondaryColor3ubv\0" "glSecondaryColor3ubvEXT\0" "\0" - /* _mesa_function_pool[22768]: EvalCoord2f (offset 234) */ + /* _mesa_function_pool[22840]: EvalCoord2f (offset 234) */ "ff\0" "glEvalCoord2f\0" "\0" - /* _mesa_function_pool[22786]: VertexAttrib4dvARB (will be remapped) */ + /* _mesa_function_pool[22858]: VertexAttrib4dvARB (will be remapped) */ "ip\0" "glVertexAttrib4dv\0" "glVertexAttrib4dvARB\0" "\0" - /* _mesa_function_pool[22829]: BindAttribLocationARB (will be remapped) */ + /* _mesa_function_pool[22901]: BindAttribLocationARB (will be remapped) */ "iip\0" "glBindAttribLocation\0" "glBindAttribLocationARB\0" "\0" - /* _mesa_function_pool[22879]: Color3b (offset 9) */ + /* _mesa_function_pool[22951]: Color3b (offset 9) */ "iii\0" "glColor3b\0" "\0" - /* _mesa_function_pool[22894]: MultiTexCoord2dARB (offset 384) */ + /* _mesa_function_pool[22966]: MultiTexCoord2dARB (offset 384) */ "idd\0" "glMultiTexCoord2d\0" "glMultiTexCoord2dARB\0" "\0" - /* _mesa_function_pool[22938]: ExecuteProgramNV (will be remapped) */ + /* _mesa_function_pool[23010]: ExecuteProgramNV (will be remapped) */ "iip\0" "glExecuteProgramNV\0" "\0" - /* _mesa_function_pool[22962]: Color3f (offset 13) */ + /* _mesa_function_pool[23034]: Color3f (offset 13) */ "fff\0" "glColor3f\0" "\0" - /* _mesa_function_pool[22977]: LightEnviSGIX (dynamic) */ + /* _mesa_function_pool[23049]: LightEnviSGIX (dynamic) */ "ii\0" "glLightEnviSGIX\0" "\0" - /* _mesa_function_pool[22997]: Color3d (offset 11) */ + /* _mesa_function_pool[23069]: Color3d (offset 11) */ "ddd\0" "glColor3d\0" "\0" - /* _mesa_function_pool[23012]: Normal3dv (offset 55) */ + /* _mesa_function_pool[23084]: Normal3dv (offset 55) */ "p\0" "glNormal3dv\0" "\0" - /* _mesa_function_pool[23027]: Lightf (offset 159) */ + /* _mesa_function_pool[23099]: Lightf (offset 159) */ "iif\0" "glLightf\0" "\0" - /* _mesa_function_pool[23041]: ReplacementCodeuiSUN (dynamic) */ + /* _mesa_function_pool[23113]: ReplacementCodeuiSUN (dynamic) */ "i\0" "glReplacementCodeuiSUN\0" "\0" - /* _mesa_function_pool[23067]: MatrixMode (offset 293) */ + /* _mesa_function_pool[23139]: MatrixMode (offset 293) */ "i\0" "glMatrixMode\0" "\0" - /* _mesa_function_pool[23083]: GetPixelMapusv (offset 273) */ + /* _mesa_function_pool[23155]: GetPixelMapusv (offset 273) */ "ip\0" "glGetPixelMapusv\0" "\0" - /* _mesa_function_pool[23104]: Lighti (offset 161) */ + /* _mesa_function_pool[23176]: Lighti (offset 161) */ "iii\0" "glLighti\0" "\0" - /* _mesa_function_pool[23118]: VertexAttribPointerNV (will be remapped) */ + /* _mesa_function_pool[23190]: VertexAttribPointerNV (will be remapped) */ "iiiip\0" "glVertexAttribPointerNV\0" "\0" - /* _mesa_function_pool[23149]: ClearDepthf (will be remapped) */ + /* _mesa_function_pool[23221]: ClearDepthf (will be remapped) */ "f\0" "glClearDepthf\0" "\0" - /* _mesa_function_pool[23166]: GetBooleanIndexedvEXT (will be remapped) */ + /* _mesa_function_pool[23238]: GetBooleanIndexedvEXT (will be remapped) */ "iip\0" "glGetBooleanIndexedvEXT\0" "glGetBooleani_v\0" "\0" - /* _mesa_function_pool[23211]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ + /* _mesa_function_pool[23283]: GetFramebufferAttachmentParameterivEXT (will be remapped) */ "iiip\0" "glGetFramebufferAttachmentParameteriv\0" "glGetFramebufferAttachmentParameterivEXT\0" "\0" - /* _mesa_function_pool[23296]: PixelTransformParameterfEXT (dynamic) */ + /* _mesa_function_pool[23368]: PixelTransformParameterfEXT (dynamic) */ "iif\0" "glPixelTransformParameterfEXT\0" "\0" - /* _mesa_function_pool[23331]: MultiTexCoord4dvARB (offset 401) */ + /* _mesa_function_pool[23403]: MultiTexCoord4dvARB (offset 401) */ "ip\0" "glMultiTexCoord4dv\0" "glMultiTexCoord4dvARB\0" "\0" - /* _mesa_function_pool[23376]: PixelTransformParameteriEXT (dynamic) */ + /* _mesa_function_pool[23448]: PixelTransformParameteriEXT (dynamic) */ "iii\0" "glPixelTransformParameteriEXT\0" "\0" - /* _mesa_function_pool[23411]: GetDoublev (offset 260) */ + /* _mesa_function_pool[23483]: GetDoublev (offset 260) */ "ip\0" "glGetDoublev\0" "\0" - /* _mesa_function_pool[23428]: MultiTexCoordP4ui (will be remapped) */ + /* _mesa_function_pool[23500]: MultiTexCoordP4ui (will be remapped) */ "iii\0" "glMultiTexCoordP4ui\0" "\0" - /* _mesa_function_pool[23453]: MultMatrixd (offset 295) */ + /* _mesa_function_pool[23525]: MultMatrixd (offset 295) */ "p\0" "glMultMatrixd\0" "\0" - /* _mesa_function_pool[23470]: MultMatrixf (offset 294) */ + /* _mesa_function_pool[23542]: MultMatrixf (offset 294) */ "p\0" "glMultMatrixf\0" "\0" - /* _mesa_function_pool[23487]: VertexAttribI4bvEXT (will be remapped) */ + /* _mesa_function_pool[23559]: VertexAttribI4bvEXT (will be remapped) */ "ip\0" "glVertexAttribI4bvEXT\0" "glVertexAttribI4bv\0" "\0" - /* _mesa_function_pool[23532]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ + /* _mesa_function_pool[23604]: TexCoord2fColor4ubVertex3fSUN (dynamic) */ "ffiiiifff\0" "glTexCoord2fColor4ubVertex3fSUN\0" "\0" - /* _mesa_function_pool[23575]: Uniform1iARB (will be remapped) */ + /* _mesa_function_pool[23647]: Uniform1iARB (will be remapped) */ "ii\0" "glUniform1i\0" "glUniform1iARB\0" "\0" - /* _mesa_function_pool[23606]: GetnMapfvARB (will be remapped) */ + /* _mesa_function_pool[23678]: GetnMapfvARB (will be remapped) */ "iiip\0" "glGetnMapfvARB\0" "\0" - /* _mesa_function_pool[23627]: VertexAttribPointerARB (will be remapped) */ + /* _mesa_function_pool[23699]: VertexAttribPointerARB (will be remapped) */ "iiiiip\0" "glVertexAttribPointer\0" "glVertexAttribPointerARB\0" "\0" - /* _mesa_function_pool[23682]: VertexAttrib3sNV (will be remapped) */ + /* _mesa_function_pool[23754]: VertexAttrib3sNV (will be remapped) */ "iiii\0" "glVertexAttrib3sNV\0" "\0" - /* _mesa_function_pool[23707]: SharpenTexFuncSGIS (dynamic) */ + /* _mesa_function_pool[23779]: SharpenTexFuncSGIS (dynamic) */ "iip\0" "glSharpenTexFuncSGIS\0" "\0" - /* _mesa_function_pool[23733]: MultiTexCoord4fvARB (offset 403) */ + /* _mesa_function_pool[23805]: MultiTexCoord4fvARB (offset 403) */ "ip\0" "glMultiTexCoord4fv\0" "glMultiTexCoord4fvARB\0" "\0" - /* _mesa_function_pool[23778]: Uniform2uiEXT (will be remapped) */ + /* _mesa_function_pool[23850]: Uniform2uiEXT (will be remapped) */ "iii\0" "glUniform2uiEXT\0" "glUniform2ui\0" "\0" - /* _mesa_function_pool[23812]: TexCoordP3uiv (will be remapped) */ + /* _mesa_function_pool[23884]: TexCoordP3uiv (will be remapped) */ "ip\0" "glTexCoordP3uiv\0" "\0" - /* _mesa_function_pool[23832]: UniformMatrix2x3fv (will be remapped) */ + /* _mesa_function_pool[23904]: UniformMatrix2x3fv (will be remapped) */ "iiip\0" "glUniformMatrix2x3fv\0" "\0" - /* _mesa_function_pool[23859]: SamplerParameteri (will be remapped) */ + /* _mesa_function_pool[23931]: SamplerParameteri (will be remapped) */ "iii\0" "glSamplerParameteri\0" "\0" - /* _mesa_function_pool[23884]: SamplerParameterf (will be remapped) */ + /* _mesa_function_pool[23956]: SamplerParameterf (will be remapped) */ "iif\0" "glSamplerParameterf\0" "\0" - /* _mesa_function_pool[23909]: CombinerParameteriNV (will be remapped) */ + /* _mesa_function_pool[23981]: CombinerParameteriNV (will be remapped) */ "ii\0" "glCombinerParameteriNV\0" "\0" - /* _mesa_function_pool[23936]: DeleteAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[24008]: DeleteAsyncMarkersSGIX (dynamic) */ "ii\0" "glDeleteAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[23965]: ReplacementCodeusSUN (dynamic) */ + /* _mesa_function_pool[24037]: ReplacementCodeusSUN (dynamic) */ "i\0" "glReplacementCodeusSUN\0" "\0" - /* _mesa_function_pool[23991]: IsAsyncMarkerSGIX (dynamic) */ + /* _mesa_function_pool[24063]: IsAsyncMarkerSGIX (dynamic) */ "i\0" "glIsAsyncMarkerSGIX\0" "\0" - /* _mesa_function_pool[24014]: FrameZoomSGIX (dynamic) */ + /* _mesa_function_pool[24086]: FrameZoomSGIX (dynamic) */ "i\0" "glFrameZoomSGIX\0" "\0" - /* _mesa_function_pool[24033]: Normal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[24105]: Normal3fVertex3fvSUN (dynamic) */ "pp\0" "glNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[24060]: GetnUniformuivARB (will be remapped) */ + /* _mesa_function_pool[24132]: GetnUniformuivARB (will be remapped) */ "iiip\0" "glGetnUniformuivARB\0" "\0" - /* _mesa_function_pool[24086]: RasterPos4sv (offset 85) */ + /* _mesa_function_pool[24158]: RasterPos4sv (offset 85) */ "p\0" "glRasterPos4sv\0" "\0" - /* _mesa_function_pool[24104]: VertexAttrib4NsvARB (will be remapped) */ + /* _mesa_function_pool[24176]: VertexAttrib4NsvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nsv\0" "glVertexAttrib4NsvARB\0" "\0" - /* _mesa_function_pool[24149]: VertexAttrib3fvARB (will be remapped) */ + /* _mesa_function_pool[24221]: VertexAttrib3fvARB (will be remapped) */ "ip\0" "glVertexAttrib3fv\0" "glVertexAttrib3fvARB\0" "\0" - /* _mesa_function_pool[24192]: ClearColor (offset 206) */ + /* _mesa_function_pool[24264]: ClearColor (offset 206) */ "ffff\0" "glClearColor\0" "\0" - /* _mesa_function_pool[24211]: GetSynciv (will be remapped) */ + /* _mesa_function_pool[24283]: GetSynciv (will be remapped) */ "iiipp\0" "glGetSynciv\0" "\0" - /* _mesa_function_pool[24230]: ClearColorIiEXT (will be remapped) */ + /* _mesa_function_pool[24302]: ClearColorIiEXT (will be remapped) */ "iiii\0" "glClearColorIiEXT\0" "\0" - /* _mesa_function_pool[24254]: DeleteFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[24326]: DeleteFramebuffersEXT (will be remapped) */ "ip\0" "glDeleteFramebuffers\0" "glDeleteFramebuffersEXT\0" "\0" - /* _mesa_function_pool[24303]: GlobalAlphaFactorsSUN (dynamic) */ + /* _mesa_function_pool[24375]: GlobalAlphaFactorsSUN (dynamic) */ "i\0" "glGlobalAlphaFactorsSUN\0" "\0" - /* _mesa_function_pool[24330]: IsEnabledIndexedEXT (will be remapped) */ + /* _mesa_function_pool[24402]: IsEnabledIndexedEXT (will be remapped) */ "ii\0" "glIsEnabledIndexedEXT\0" "glIsEnabledi\0" "\0" - /* _mesa_function_pool[24369]: TexEnviv (offset 187) */ + /* _mesa_function_pool[24441]: TexEnviv (offset 187) */ "iip\0" "glTexEnviv\0" "\0" - /* _mesa_function_pool[24385]: TexSubImage3D (offset 372) */ + /* _mesa_function_pool[24457]: TexSubImage3D (offset 372) */ "iiiiiiiiiip\0" "glTexSubImage3D\0" "glTexSubImage3DEXT\0" "\0" - /* _mesa_function_pool[24433]: Tangent3fEXT (dynamic) */ + /* _mesa_function_pool[24505]: Tangent3fEXT (dynamic) */ "fff\0" "glTangent3fEXT\0" "\0" - /* _mesa_function_pool[24453]: SecondaryColor3uivEXT (will be remapped) */ + /* _mesa_function_pool[24525]: SecondaryColor3uivEXT (will be remapped) */ "p\0" "glSecondaryColor3uiv\0" "glSecondaryColor3uivEXT\0" "\0" - /* _mesa_function_pool[24501]: MatrixIndexubvARB (dynamic) */ + /* _mesa_function_pool[24573]: MatrixIndexubvARB (dynamic) */ "ip\0" "glMatrixIndexubvARB\0" "\0" - /* _mesa_function_pool[24525]: Color4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[24597]: Color4fNormal3fVertex3fSUN (dynamic) */ "ffffffffff\0" "glColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[24566]: PixelTexGenParameterfSGIS (will be remapped) */ + /* _mesa_function_pool[24638]: PixelTexGenParameterfSGIS (will be remapped) */ "if\0" "glPixelTexGenParameterfSGIS\0" "\0" - /* _mesa_function_pool[24598]: CreateShader (will be remapped) */ + /* _mesa_function_pool[24670]: CreateShader (will be remapped) */ "i\0" "glCreateShader\0" "\0" - /* _mesa_function_pool[24616]: GetColorTableParameterfv (offset 344) */ + /* _mesa_function_pool[24688]: GetColorTableParameterfv (offset 344) */ "iip\0" "glGetColorTableParameterfv\0" "glGetColorTableParameterfvSGI\0" "glGetColorTableParameterfvEXT\0" "\0" - /* _mesa_function_pool[24708]: FragmentLightModelfvSGIX (dynamic) */ + /* _mesa_function_pool[24780]: FragmentLightModelfvSGIX (dynamic) */ "ip\0" "glFragmentLightModelfvSGIX\0" "\0" - /* _mesa_function_pool[24739]: Bitmap (offset 8) */ + /* _mesa_function_pool[24811]: Bitmap (offset 8) */ "iiffffp\0" "glBitmap\0" "\0" - /* _mesa_function_pool[24757]: MultiTexCoord3fARB (offset 394) */ + /* _mesa_function_pool[24829]: MultiTexCoord3fARB (offset 394) */ "ifff\0" "glMultiTexCoord3f\0" "glMultiTexCoord3fARB\0" "\0" - /* _mesa_function_pool[24802]: GetTexLevelParameterfv (offset 284) */ + /* _mesa_function_pool[24874]: GetTexLevelParameterfv (offset 284) */ "iiip\0" "glGetTexLevelParameterfv\0" "\0" - /* _mesa_function_pool[24833]: GetPixelTexGenParameterfvSGIS (will be remapped) */ + /* _mesa_function_pool[24905]: GetPixelTexGenParameterfvSGIS (will be remapped) */ "ip\0" "glGetPixelTexGenParameterfvSGIS\0" "\0" - /* _mesa_function_pool[24869]: GenFramebuffersEXT (will be remapped) */ + /* _mesa_function_pool[24941]: GenFramebuffersEXT (will be remapped) */ "ip\0" "glGenFramebuffers\0" "glGenFramebuffersEXT\0" "\0" - /* _mesa_function_pool[24912]: VertexAttribDivisor (will be remapped) */ + /* _mesa_function_pool[24984]: VertexAttribDivisor (will be remapped) */ "ii\0" "glVertexAttribDivisor\0" "\0" - /* _mesa_function_pool[24938]: GetProgramParameterdvNV (will be remapped) */ + /* _mesa_function_pool[25010]: GetProgramParameterdvNV (will be remapped) */ "iiip\0" "glGetProgramParameterdvNV\0" "\0" - /* _mesa_function_pool[24970]: Vertex2sv (offset 133) */ + /* _mesa_function_pool[25042]: Vertex2sv (offset 133) */ "p\0" "glVertex2sv\0" "\0" - /* _mesa_function_pool[24985]: GetIntegerv (offset 263) */ + /* _mesa_function_pool[25057]: GetIntegerv (offset 263) */ "ip\0" "glGetIntegerv\0" "\0" - /* _mesa_function_pool[25003]: IsVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[25075]: IsVertexArrayAPPLE (will be remapped) */ "i\0" "glIsVertexArray\0" "glIsVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[25043]: FragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[25115]: FragmentLightfvSGIX (dynamic) */ "iip\0" "glFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[25070]: GetnMapdvARB (will be remapped) */ + /* _mesa_function_pool[25142]: GetnMapdvARB (will be remapped) */ "iiip\0" "glGetnMapdvARB\0" "\0" - /* _mesa_function_pool[25091]: DetachShader (will be remapped) */ + /* _mesa_function_pool[25163]: DetachShader (will be remapped) */ "ii\0" "glDetachShader\0" "\0" - /* _mesa_function_pool[25110]: VertexAttrib4NubARB (will be remapped) */ + /* _mesa_function_pool[25182]: VertexAttrib4NubARB (will be remapped) */ "iiiii\0" "glVertexAttrib4Nub\0" "glVertexAttrib4NubARB\0" "\0" - /* _mesa_function_pool[25158]: GetProgramEnvParameterfvARB (will be remapped) */ + /* _mesa_function_pool[25230]: GetProgramEnvParameterfvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterfvARB\0" "\0" - /* _mesa_function_pool[25193]: GetTrackMatrixivNV (will be remapped) */ + /* _mesa_function_pool[25265]: GetTrackMatrixivNV (will be remapped) */ "iiip\0" "glGetTrackMatrixivNV\0" "\0" - /* _mesa_function_pool[25220]: VertexAttrib3svNV (will be remapped) */ + /* _mesa_function_pool[25292]: VertexAttrib3svNV (will be remapped) */ "ip\0" "glVertexAttrib3svNV\0" "\0" - /* _mesa_function_pool[25244]: Uniform4fvARB (will be remapped) */ + /* _mesa_function_pool[25316]: Uniform4fvARB (will be remapped) */ "iip\0" "glUniform4fv\0" "glUniform4fvARB\0" "\0" - /* _mesa_function_pool[25278]: MultTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[25350]: MultTransposeMatrixfARB (will be remapped) */ "p\0" "glMultTransposeMatrixf\0" "glMultTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[25330]: GetTexEnviv (offset 277) */ + /* _mesa_function_pool[25402]: GetTexEnviv (offset 277) */ "iip\0" "glGetTexEnviv\0" "\0" - /* _mesa_function_pool[25349]: ColorFragmentOp1ATI (will be remapped) */ + /* _mesa_function_pool[25421]: ColorFragmentOp1ATI (will be remapped) */ "iiiiiii\0" "glColorFragmentOp1ATI\0" "\0" - /* _mesa_function_pool[25380]: GetUniformfvARB (will be remapped) */ + /* _mesa_function_pool[25452]: GetUniformfvARB (will be remapped) */ "iip\0" "glGetUniformfv\0" "glGetUniformfvARB\0" "\0" - /* _mesa_function_pool[25418]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ + /* _mesa_function_pool[25490]: EGLImageTargetRenderbufferStorageOES (will be remapped) */ "ip\0" "glEGLImageTargetRenderbufferStorageOES\0" "\0" - /* _mesa_function_pool[25461]: VertexAttribI2ivEXT (will be remapped) */ + /* _mesa_function_pool[25533]: VertexAttribI2ivEXT (will be remapped) */ "ip\0" "glVertexAttribI2ivEXT\0" "glVertexAttribI2iv\0" "\0" - /* _mesa_function_pool[25506]: PopClientAttrib (offset 334) */ + /* _mesa_function_pool[25578]: PopClientAttrib (offset 334) */ "\0" "glPopClientAttrib\0" "\0" - /* _mesa_function_pool[25526]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[25598]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */ "iffffffffffff\0" "glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[25597]: DetachObjectARB (will be remapped) */ + /* _mesa_function_pool[25669]: DetachObjectARB (will be remapped) */ "ii\0" "glDetachObjectARB\0" "\0" - /* _mesa_function_pool[25619]: VertexBlendARB (dynamic) */ + /* _mesa_function_pool[25691]: VertexBlendARB (dynamic) */ "i\0" "glVertexBlendARB\0" "\0" - /* _mesa_function_pool[25639]: WindowPos3iMESA (will be remapped) */ + /* _mesa_function_pool[25711]: WindowPos3iMESA (will be remapped) */ "iii\0" "glWindowPos3i\0" "glWindowPos3iARB\0" "glWindowPos3iMESA\0" "\0" - /* _mesa_function_pool[25693]: SeparableFilter2D (offset 360) */ + /* _mesa_function_pool[25765]: SeparableFilter2D (offset 360) */ "iiiiiipp\0" "glSeparableFilter2D\0" "glSeparableFilter2DEXT\0" "\0" - /* _mesa_function_pool[25746]: ProgramParameteriARB (will be remapped) */ + /* _mesa_function_pool[25818]: ProgramParameteriARB (will be remapped) */ "iii\0" "glProgramParameteriARB\0" "\0" - /* _mesa_function_pool[25774]: Map1d (offset 220) */ + /* _mesa_function_pool[25846]: Map1d (offset 220) */ "iddiip\0" "glMap1d\0" "\0" - /* _mesa_function_pool[25790]: Map1f (offset 221) */ + /* _mesa_function_pool[25862]: Map1f (offset 221) */ "iffiip\0" "glMap1f\0" "\0" - /* _mesa_function_pool[25806]: CompressedTexImage2DARB (will be remapped) */ + /* _mesa_function_pool[25878]: CompressedTexImage2DARB (will be remapped) */ "iiiiiiip\0" "glCompressedTexImage2D\0" "glCompressedTexImage2DARB\0" "\0" - /* _mesa_function_pool[25865]: ArrayElement (offset 306) */ + /* _mesa_function_pool[25937]: ArrayElement (offset 306) */ "i\0" "glArrayElement\0" "glArrayElementEXT\0" "\0" - /* _mesa_function_pool[25901]: TexImage2D (offset 183) */ + /* _mesa_function_pool[25973]: TexImage2D (offset 183) */ "iiiiiiiip\0" "glTexImage2D\0" "\0" - /* _mesa_function_pool[25925]: DepthBoundsEXT (will be remapped) */ + /* _mesa_function_pool[25997]: DepthBoundsEXT (will be remapped) */ "dd\0" "glDepthBoundsEXT\0" "\0" - /* _mesa_function_pool[25946]: ProgramParameters4fvNV (will be remapped) */ + /* _mesa_function_pool[26018]: ProgramParameters4fvNV (will be remapped) */ "iiip\0" "glProgramParameters4fvNV\0" "\0" - /* _mesa_function_pool[25977]: DeformationMap3fSGIX (dynamic) */ + /* _mesa_function_pool[26049]: DeformationMap3fSGIX (dynamic) */ "iffiiffiiffiip\0" "glDeformationMap3fSGIX\0" "\0" - /* _mesa_function_pool[26016]: GetProgramivNV (will be remapped) */ + /* _mesa_function_pool[26088]: GetProgramivNV (will be remapped) */ "iip\0" "glGetProgramivNV\0" "\0" - /* _mesa_function_pool[26038]: GetFragDataLocationEXT (will be remapped) */ + /* _mesa_function_pool[26110]: GetFragDataLocationEXT (will be remapped) */ "ip\0" "glGetFragDataLocationEXT\0" "glGetFragDataLocation\0" "\0" - /* _mesa_function_pool[26089]: GetMinmaxParameteriv (offset 366) */ + /* _mesa_function_pool[26161]: GetMinmaxParameteriv (offset 366) */ "iip\0" "glGetMinmaxParameteriv\0" "glGetMinmaxParameterivEXT\0" "\0" - /* _mesa_function_pool[26143]: PixelTransferf (offset 247) */ + /* _mesa_function_pool[26215]: PixelTransferf (offset 247) */ "if\0" "glPixelTransferf\0" "\0" - /* _mesa_function_pool[26164]: CopyTexImage1D (offset 323) */ + /* _mesa_function_pool[26236]: CopyTexImage1D (offset 323) */ "iiiiiii\0" "glCopyTexImage1D\0" "glCopyTexImage1DEXT\0" "\0" - /* _mesa_function_pool[26210]: PushMatrix (offset 298) */ + /* _mesa_function_pool[26282]: PushMatrix (offset 298) */ "\0" "glPushMatrix\0" "\0" - /* _mesa_function_pool[26225]: Fogiv (offset 156) */ + /* _mesa_function_pool[26297]: Fogiv (offset 156) */ "ip\0" "glFogiv\0" "\0" - /* _mesa_function_pool[26237]: TexCoord1dv (offset 95) */ + /* _mesa_function_pool[26309]: TexCoord1dv (offset 95) */ "p\0" "glTexCoord1dv\0" "\0" - /* _mesa_function_pool[26254]: AlphaFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[26326]: AlphaFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiii\0" "glAlphaFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[26290]: PixelTransferi (offset 248) */ + /* _mesa_function_pool[26362]: PixelTransferi (offset 248) */ "ii\0" "glPixelTransferi\0" "\0" - /* _mesa_function_pool[26311]: GetnColorTableARB (will be remapped) */ + /* _mesa_function_pool[26383]: GetnColorTableARB (will be remapped) */ "iiiip\0" "glGetnColorTableARB\0" "\0" - /* _mesa_function_pool[26338]: VertexAttrib3fvNV (will be remapped) */ + /* _mesa_function_pool[26410]: VertexAttrib3fvNV (will be remapped) */ "ip\0" "glVertexAttrib3fvNV\0" "\0" - /* _mesa_function_pool[26362]: Rotatef (offset 300) */ + /* _mesa_function_pool[26434]: Rotatef (offset 300) */ "ffff\0" "glRotatef\0" "\0" - /* _mesa_function_pool[26378]: GetFinalCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[26450]: GetFinalCombinerInputParameterivNV (will be remapped) */ "iip\0" "glGetFinalCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[26420]: Vertex3i (offset 138) */ + /* _mesa_function_pool[26492]: Vertex3i (offset 138) */ "iii\0" "glVertex3i\0" "\0" - /* _mesa_function_pool[26436]: SecondaryColorP3ui (will be remapped) */ + /* _mesa_function_pool[26508]: SecondaryColorP3ui (will be remapped) */ "ii\0" "glSecondaryColorP3ui\0" "\0" - /* _mesa_function_pool[26461]: Vertex3f (offset 136) */ + /* _mesa_function_pool[26533]: Vertex3f (offset 136) */ "fff\0" "glVertex3f\0" "\0" - /* _mesa_function_pool[26477]: Clear (offset 203) */ + /* _mesa_function_pool[26549]: Clear (offset 203) */ "i\0" "glClear\0" "\0" - /* _mesa_function_pool[26488]: Vertex3d (offset 134) */ + /* _mesa_function_pool[26560]: Vertex3d (offset 134) */ "ddd\0" "glVertex3d\0" "\0" - /* _mesa_function_pool[26504]: GetMapParameterivNV (dynamic) */ + /* _mesa_function_pool[26576]: GetMapParameterivNV (dynamic) */ "iip\0" "glGetMapParameterivNV\0" "\0" - /* _mesa_function_pool[26531]: Uniform4iARB (will be remapped) */ + /* _mesa_function_pool[26603]: Uniform4iARB (will be remapped) */ "iiiii\0" "glUniform4i\0" "glUniform4iARB\0" "\0" - /* _mesa_function_pool[26565]: ReadBuffer (offset 254) */ + /* _mesa_function_pool[26637]: ReadBuffer (offset 254) */ "i\0" "glReadBuffer\0" "\0" - /* _mesa_function_pool[26581]: ConvolutionParameteri (offset 352) */ + /* _mesa_function_pool[26653]: ConvolutionParameteri (offset 352) */ "iii\0" "glConvolutionParameteri\0" "glConvolutionParameteriEXT\0" "\0" - /* _mesa_function_pool[26637]: Ortho (offset 296) */ + /* _mesa_function_pool[26709]: Ortho (offset 296) */ "dddddd\0" "glOrtho\0" "\0" - /* _mesa_function_pool[26653]: Binormal3sEXT (dynamic) */ + /* _mesa_function_pool[26725]: Binormal3sEXT (dynamic) */ "iii\0" "glBinormal3sEXT\0" "\0" - /* _mesa_function_pool[26674]: ListBase (offset 6) */ + /* _mesa_function_pool[26746]: ListBase (offset 6) */ "i\0" "glListBase\0" "\0" - /* _mesa_function_pool[26688]: VertexAttribI3ivEXT (will be remapped) */ + /* _mesa_function_pool[26760]: VertexAttribI3ivEXT (will be remapped) */ "ip\0" "glVertexAttribI3ivEXT\0" "glVertexAttribI3iv\0" "\0" - /* _mesa_function_pool[26733]: MultiTexCoordP1ui (will be remapped) */ + /* _mesa_function_pool[26805]: MultiTexCoordP1ui (will be remapped) */ "iii\0" "glMultiTexCoordP1ui\0" "\0" - /* _mesa_function_pool[26758]: Vertex3s (offset 140) */ + /* _mesa_function_pool[26830]: Vertex3s (offset 140) */ "iii\0" "glVertex3s\0" "\0" - /* _mesa_function_pool[26774]: ConvolutionParameterf (offset 350) */ + /* _mesa_function_pool[26846]: ConvolutionParameterf (offset 350) */ "iif\0" "glConvolutionParameterf\0" "glConvolutionParameterfEXT\0" "\0" - /* _mesa_function_pool[26830]: GetColorTableParameteriv (offset 345) */ + /* _mesa_function_pool[26902]: GetColorTableParameteriv (offset 345) */ "iip\0" "glGetColorTableParameteriv\0" "glGetColorTableParameterivSGI\0" "glGetColorTableParameterivEXT\0" "\0" - /* _mesa_function_pool[26922]: ProgramEnvParameter4dvARB (will be remapped) */ + /* _mesa_function_pool[26994]: ProgramEnvParameter4dvARB (will be remapped) */ "iip\0" "glProgramEnvParameter4dvARB\0" "glProgramParameter4dvNV\0" "\0" - /* _mesa_function_pool[26979]: ShadeModel (offset 177) */ + /* _mesa_function_pool[27051]: ShadeModel (offset 177) */ "i\0" "glShadeModel\0" "\0" - /* _mesa_function_pool[26995]: VertexAttribs2fvNV (will be remapped) */ + /* _mesa_function_pool[27067]: VertexAttribs2fvNV (will be remapped) */ "iip\0" "glVertexAttribs2fvNV\0" "\0" - /* _mesa_function_pool[27021]: Rectiv (offset 91) */ + /* _mesa_function_pool[27093]: Rectiv (offset 91) */ "pp\0" "glRectiv\0" "\0" - /* _mesa_function_pool[27034]: UseProgramObjectARB (will be remapped) */ + /* _mesa_function_pool[27106]: UseProgramObjectARB (will be remapped) */ "i\0" "glUseProgram\0" "glUseProgramObjectARB\0" "\0" - /* _mesa_function_pool[27072]: GetMapParameterfvNV (dynamic) */ + /* _mesa_function_pool[27144]: GetMapParameterfvNV (dynamic) */ "iip\0" "glGetMapParameterfvNV\0" "\0" - /* _mesa_function_pool[27099]: EndConditionalRenderNV (will be remapped) */ + /* _mesa_function_pool[27171]: EndConditionalRenderNV (will be remapped) */ "\0" "glEndConditionalRenderNV\0" "glEndConditionalRender\0" "\0" - /* _mesa_function_pool[27149]: PassTexCoordATI (will be remapped) */ + /* _mesa_function_pool[27221]: PassTexCoordATI (will be remapped) */ "iii\0" "glPassTexCoordATI\0" "\0" - /* _mesa_function_pool[27172]: DeleteProgram (will be remapped) */ + /* _mesa_function_pool[27244]: DeleteProgram (will be remapped) */ "i\0" "glDeleteProgram\0" "\0" - /* _mesa_function_pool[27191]: GetSamplerParameteriv (will be remapped) */ + /* _mesa_function_pool[27263]: GetSamplerParameteriv (will be remapped) */ "iip\0" "glGetSamplerParameteriv\0" "\0" - /* _mesa_function_pool[27220]: Tangent3dEXT (dynamic) */ + /* _mesa_function_pool[27292]: Tangent3dEXT (dynamic) */ "ddd\0" "glTangent3dEXT\0" "\0" - /* _mesa_function_pool[27240]: SecondaryColor3dvEXT (will be remapped) */ + /* _mesa_function_pool[27312]: SecondaryColor3dvEXT (will be remapped) */ "p\0" "glSecondaryColor3dv\0" "glSecondaryColor3dvEXT\0" "\0" - /* _mesa_function_pool[27286]: AlphaFragmentOp2ATI (will be remapped) */ + /* _mesa_function_pool[27358]: AlphaFragmentOp2ATI (will be remapped) */ "iiiiiiiii\0" "glAlphaFragmentOp2ATI\0" "\0" - /* _mesa_function_pool[27319]: Vertex2fv (offset 129) */ + /* _mesa_function_pool[27391]: Vertex2fv (offset 129) */ "p\0" "glVertex2fv\0" "\0" - /* _mesa_function_pool[27334]: MultiDrawArraysEXT (will be remapped) */ + /* _mesa_function_pool[27406]: MultiDrawArraysEXT (will be remapped) */ "ippi\0" "glMultiDrawArrays\0" "glMultiDrawArraysEXT\0" "\0" - /* _mesa_function_pool[27379]: BindRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[27451]: BindRenderbufferEXT (will be remapped) */ "ii\0" "glBindRenderbuffer\0" "glBindRenderbufferEXT\0" "\0" - /* _mesa_function_pool[27424]: MultiTexCoord4dARB (offset 400) */ + /* _mesa_function_pool[27496]: MultiTexCoord4dARB (offset 400) */ "idddd\0" "glMultiTexCoord4d\0" "glMultiTexCoord4dARB\0" "\0" - /* _mesa_function_pool[27470]: FramebufferTextureFaceARB (will be remapped) */ + /* _mesa_function_pool[27542]: FramebufferTextureFaceARB (will be remapped) */ "iiiii\0" "glFramebufferTextureFaceARB\0" "\0" - /* _mesa_function_pool[27505]: Vertex3sv (offset 141) */ + /* _mesa_function_pool[27577]: Vertex3sv (offset 141) */ "p\0" "glVertex3sv\0" "\0" - /* _mesa_function_pool[27520]: SecondaryColor3usEXT (will be remapped) */ + /* _mesa_function_pool[27592]: SecondaryColor3usEXT (will be remapped) */ "iii\0" "glSecondaryColor3us\0" "glSecondaryColor3usEXT\0" "\0" - /* _mesa_function_pool[27568]: ProgramLocalParameter4fvARB (will be remapped) */ + /* _mesa_function_pool[27640]: ProgramLocalParameter4fvARB (will be remapped) */ "iip\0" "glProgramLocalParameter4fvARB\0" "\0" - /* _mesa_function_pool[27603]: DeleteProgramsNV (will be remapped) */ + /* _mesa_function_pool[27675]: DeleteProgramsNV (will be remapped) */ "ip\0" "glDeleteProgramsARB\0" "glDeleteProgramsNV\0" "\0" - /* _mesa_function_pool[27646]: EvalMesh1 (offset 236) */ + /* _mesa_function_pool[27718]: EvalMesh1 (offset 236) */ "iii\0" "glEvalMesh1\0" "\0" - /* _mesa_function_pool[27663]: PauseTransformFeedback (will be remapped) */ + /* _mesa_function_pool[27735]: PauseTransformFeedback (will be remapped) */ "\0" "glPauseTransformFeedback\0" "\0" - /* _mesa_function_pool[27690]: MultiTexCoord1sARB (offset 382) */ + /* _mesa_function_pool[27762]: MultiTexCoord1sARB (offset 382) */ "ii\0" "glMultiTexCoord1s\0" "glMultiTexCoord1sARB\0" "\0" - /* _mesa_function_pool[27733]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ + /* _mesa_function_pool[27805]: ReplacementCodeuiColor3fVertex3fSUN (dynamic) */ "iffffff\0" "glReplacementCodeuiColor3fVertex3fSUN\0" "\0" - /* _mesa_function_pool[27780]: GetVertexAttribPointervNV (will be remapped) */ + /* _mesa_function_pool[27852]: GetVertexAttribPointervNV (will be remapped) */ "iip\0" "glGetVertexAttribPointerv\0" "glGetVertexAttribPointervARB\0" "glGetVertexAttribPointervNV\0" "\0" - /* _mesa_function_pool[27868]: VertexAttribs1fvNV (will be remapped) */ + /* _mesa_function_pool[27940]: VertexAttribs1fvNV (will be remapped) */ "iip\0" "glVertexAttribs1fvNV\0" "\0" - /* _mesa_function_pool[27894]: MultiTexCoord1dvARB (offset 377) */ + /* _mesa_function_pool[27966]: MultiTexCoord1dvARB (offset 377) */ "ip\0" "glMultiTexCoord1dv\0" "glMultiTexCoord1dvARB\0" "\0" - /* _mesa_function_pool[27939]: Uniform2iARB (will be remapped) */ + /* _mesa_function_pool[28011]: Uniform2iARB (will be remapped) */ "iii\0" "glUniform2i\0" "glUniform2iARB\0" "\0" - /* _mesa_function_pool[27971]: Vertex2iv (offset 131) */ + /* _mesa_function_pool[28043]: Vertex2iv (offset 131) */ "p\0" "glVertex2iv\0" "\0" - /* _mesa_function_pool[27986]: GetProgramStringNV (will be remapped) */ + /* _mesa_function_pool[28058]: GetProgramStringNV (will be remapped) */ "iip\0" "glGetProgramStringNV\0" "\0" - /* _mesa_function_pool[28012]: ColorPointerEXT (will be remapped) */ + /* _mesa_function_pool[28084]: ColorPointerEXT (will be remapped) */ "iiiip\0" "glColorPointerEXT\0" "\0" - /* _mesa_function_pool[28037]: LineWidth (offset 168) */ + /* _mesa_function_pool[28109]: LineWidth (offset 168) */ "f\0" "glLineWidth\0" "\0" - /* _mesa_function_pool[28052]: MapBufferARB (will be remapped) */ + /* _mesa_function_pool[28124]: MapBufferARB (will be remapped) */ "ii\0" "glMapBuffer\0" "glMapBufferARB\0" "\0" - /* _mesa_function_pool[28083]: MultiDrawElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[28155]: MultiDrawElementsBaseVertex (will be remapped) */ "ipipip\0" "glMultiDrawElementsBaseVertex\0" "\0" - /* _mesa_function_pool[28121]: TexParameterIuivEXT (will be remapped) */ + /* _mesa_function_pool[28193]: TexParameterIuivEXT (will be remapped) */ "iip\0" "glTexParameterIuivEXT\0" "glTexParameterIuiv\0" "\0" - /* _mesa_function_pool[28167]: Binormal3svEXT (dynamic) */ + /* _mesa_function_pool[28239]: Binormal3svEXT (dynamic) */ "p\0" "glBinormal3svEXT\0" "\0" - /* _mesa_function_pool[28187]: ApplyTextureEXT (dynamic) */ + /* _mesa_function_pool[28259]: ApplyTextureEXT (dynamic) */ "i\0" "glApplyTextureEXT\0" "\0" - /* _mesa_function_pool[28208]: GetBufferParameteri64v (will be remapped) */ + /* _mesa_function_pool[28280]: GetBufferParameteri64v (will be remapped) */ "iip\0" "glGetBufferParameteri64v\0" "\0" - /* _mesa_function_pool[28238]: TexGendv (offset 189) */ + /* _mesa_function_pool[28310]: TexGendv (offset 189) */ "iip\0" "glTexGendv\0" "\0" - /* _mesa_function_pool[28254]: VertexAttribI3iEXT (will be remapped) */ + /* _mesa_function_pool[28326]: VertexAttribI3iEXT (will be remapped) */ "iiii\0" "glVertexAttribI3iEXT\0" "glVertexAttribI3i\0" "\0" - /* _mesa_function_pool[28299]: EnableIndexedEXT (will be remapped) */ + /* _mesa_function_pool[28371]: EnableIndexedEXT (will be remapped) */ "ii\0" "glEnableIndexedEXT\0" "glEnablei\0" "\0" - /* _mesa_function_pool[28332]: TextureMaterialEXT (dynamic) */ + /* _mesa_function_pool[28404]: TextureMaterialEXT (dynamic) */ "ii\0" "glTextureMaterialEXT\0" "\0" - /* _mesa_function_pool[28357]: TextureLightEXT (dynamic) */ + /* _mesa_function_pool[28429]: TextureLightEXT (dynamic) */ "i\0" "glTextureLightEXT\0" "\0" - /* _mesa_function_pool[28378]: ResetMinmax (offset 370) */ + /* _mesa_function_pool[28450]: ResetMinmax (offset 370) */ "i\0" "glResetMinmax\0" "glResetMinmaxEXT\0" "\0" - /* _mesa_function_pool[28412]: SpriteParameterfSGIX (dynamic) */ + /* _mesa_function_pool[28484]: SpriteParameterfSGIX (dynamic) */ "if\0" "glSpriteParameterfSGIX\0" "\0" - /* _mesa_function_pool[28439]: EnableClientState (offset 313) */ + /* _mesa_function_pool[28511]: EnableClientState (offset 313) */ "i\0" "glEnableClientState\0" "\0" - /* _mesa_function_pool[28462]: VertexAttrib4sNV (will be remapped) */ + /* _mesa_function_pool[28534]: VertexAttrib4sNV (will be remapped) */ "iiiii\0" "glVertexAttrib4sNV\0" "\0" - /* _mesa_function_pool[28488]: GetConvolutionParameterfv (offset 357) */ + /* _mesa_function_pool[28560]: GetConvolutionParameterfv (offset 357) */ "iip\0" "glGetConvolutionParameterfv\0" "glGetConvolutionParameterfvEXT\0" "\0" - /* _mesa_function_pool[28552]: VertexAttribs4dvNV (will be remapped) */ + /* _mesa_function_pool[28624]: VertexAttribs4dvNV (will be remapped) */ "iip\0" "glVertexAttribs4dvNV\0" "\0" - /* _mesa_function_pool[28578]: VertexAttrib4dARB (will be remapped) */ + /* _mesa_function_pool[28650]: VertexAttrib4dARB (will be remapped) */ "idddd\0" "glVertexAttrib4d\0" "glVertexAttrib4dARB\0" "\0" - /* _mesa_function_pool[28622]: GetTexBumpParameterfvATI (will be remapped) */ + /* _mesa_function_pool[28694]: GetTexBumpParameterfvATI (will be remapped) */ "ip\0" "glGetTexBumpParameterfvATI\0" "\0" - /* _mesa_function_pool[28653]: ProgramNamedParameter4dNV (will be remapped) */ + /* _mesa_function_pool[28725]: ProgramNamedParameter4dNV (will be remapped) */ "iipdddd\0" "glProgramNamedParameter4dNV\0" "\0" - /* _mesa_function_pool[28690]: GetMaterialfv (offset 269) */ + /* _mesa_function_pool[28762]: GetMaterialfv (offset 269) */ "iip\0" "glGetMaterialfv\0" "\0" - /* _mesa_function_pool[28711]: VertexWeightfEXT (dynamic) */ + /* _mesa_function_pool[28783]: VertexWeightfEXT (dynamic) */ "f\0" "glVertexWeightfEXT\0" "\0" - /* _mesa_function_pool[28733]: SetFragmentShaderConstantATI (will be remapped) */ + /* _mesa_function_pool[28805]: SetFragmentShaderConstantATI (will be remapped) */ "ip\0" "glSetFragmentShaderConstantATI\0" "\0" - /* _mesa_function_pool[28768]: Binormal3fEXT (dynamic) */ + /* _mesa_function_pool[28840]: Binormal3fEXT (dynamic) */ "fff\0" "glBinormal3fEXT\0" "\0" - /* _mesa_function_pool[28789]: CallList (offset 2) */ + /* _mesa_function_pool[28861]: CallList (offset 2) */ "i\0" "glCallList\0" "\0" - /* _mesa_function_pool[28803]: Materialfv (offset 170) */ + /* _mesa_function_pool[28875]: Materialfv (offset 170) */ "iip\0" "glMaterialfv\0" "\0" - /* _mesa_function_pool[28821]: TexCoord3fv (offset 113) */ + /* _mesa_function_pool[28893]: TexCoord3fv (offset 113) */ "p\0" "glTexCoord3fv\0" "\0" - /* _mesa_function_pool[28838]: FogCoordfvEXT (will be remapped) */ + /* _mesa_function_pool[28910]: FogCoordfvEXT (will be remapped) */ "p\0" "glFogCoordfv\0" "glFogCoordfvEXT\0" "\0" - /* _mesa_function_pool[28870]: MultiTexCoord1ivARB (offset 381) */ + /* _mesa_function_pool[28942]: MultiTexCoord1ivARB (offset 381) */ "ip\0" "glMultiTexCoord1iv\0" "glMultiTexCoord1ivARB\0" "\0" - /* _mesa_function_pool[28915]: SecondaryColor3ubEXT (will be remapped) */ + /* _mesa_function_pool[28987]: SecondaryColor3ubEXT (will be remapped) */ "iii\0" "glSecondaryColor3ub\0" "glSecondaryColor3ubEXT\0" "\0" - /* _mesa_function_pool[28963]: MultiTexCoord2ivARB (offset 389) */ + /* _mesa_function_pool[29035]: MultiTexCoord2ivARB (offset 389) */ "ip\0" "glMultiTexCoord2iv\0" "glMultiTexCoord2ivARB\0" "\0" - /* _mesa_function_pool[29008]: FogFuncSGIS (dynamic) */ + /* _mesa_function_pool[29080]: FogFuncSGIS (dynamic) */ "ip\0" "glFogFuncSGIS\0" "\0" - /* _mesa_function_pool[29026]: CopyTexSubImage2D (offset 326) */ + /* _mesa_function_pool[29098]: CopyTexSubImage2D (offset 326) */ "iiiiiiii\0" "glCopyTexSubImage2D\0" "glCopyTexSubImage2DEXT\0" "\0" - /* _mesa_function_pool[29079]: GetObjectParameterivARB (will be remapped) */ + /* _mesa_function_pool[29151]: GetObjectParameterivARB (will be remapped) */ "iip\0" "glGetObjectParameterivARB\0" "\0" - /* _mesa_function_pool[29110]: Color3iv (offset 16) */ + /* _mesa_function_pool[29182]: Color3iv (offset 16) */ "p\0" "glColor3iv\0" "\0" - /* _mesa_function_pool[29124]: TexCoord4fVertex4fSUN (dynamic) */ + /* _mesa_function_pool[29196]: TexCoord4fVertex4fSUN (dynamic) */ "ffffffff\0" "glTexCoord4fVertex4fSUN\0" "\0" - /* _mesa_function_pool[29158]: DrawElements (offset 311) */ + /* _mesa_function_pool[29230]: DrawElements (offset 311) */ "iiip\0" "glDrawElements\0" "\0" - /* _mesa_function_pool[29179]: BindVertexArrayAPPLE (will be remapped) */ + /* _mesa_function_pool[29251]: BindVertexArrayAPPLE (will be remapped) */ "i\0" "glBindVertexArrayAPPLE\0" "\0" - /* _mesa_function_pool[29205]: GetProgramLocalParameterdvARB (will be remapped) */ + /* _mesa_function_pool[29277]: GetProgramLocalParameterdvARB (will be remapped) */ "iip\0" "glGetProgramLocalParameterdvARB\0" "\0" - /* _mesa_function_pool[29242]: GetHistogramParameteriv (offset 363) */ + /* _mesa_function_pool[29314]: GetHistogramParameteriv (offset 363) */ "iip\0" "glGetHistogramParameteriv\0" "glGetHistogramParameterivEXT\0" "\0" - /* _mesa_function_pool[29302]: MultiTexCoord1iARB (offset 380) */ + /* _mesa_function_pool[29374]: MultiTexCoord1iARB (offset 380) */ "ii\0" "glMultiTexCoord1i\0" "glMultiTexCoord1iARB\0" "\0" - /* _mesa_function_pool[29345]: GetConvolutionFilter (offset 356) */ + /* _mesa_function_pool[29417]: GetConvolutionFilter (offset 356) */ "iiip\0" "glGetConvolutionFilter\0" "glGetConvolutionFilterEXT\0" "\0" - /* _mesa_function_pool[29400]: GetProgramivARB (will be remapped) */ + /* _mesa_function_pool[29472]: GetProgramivARB (will be remapped) */ "iip\0" "glGetProgramivARB\0" "\0" - /* _mesa_function_pool[29423]: TexBufferARB (will be remapped) */ + /* _mesa_function_pool[29495]: TexBufferARB (will be remapped) */ "iii\0" "glTexBufferARB\0" "\0" - /* _mesa_function_pool[29443]: BlendFuncSeparateEXT (will be remapped) */ + /* _mesa_function_pool[29515]: BlendFuncSeparateEXT (will be remapped) */ "iiii\0" "glBlendFuncSeparate\0" "glBlendFuncSeparateEXT\0" "glBlendFuncSeparateINGR\0" "\0" - /* _mesa_function_pool[29516]: MapBufferRange (will be remapped) */ + /* _mesa_function_pool[29588]: MapBufferRange (will be remapped) */ "iiii\0" "glMapBufferRange\0" "\0" - /* _mesa_function_pool[29539]: ProgramParameters4dvNV (will be remapped) */ + /* _mesa_function_pool[29611]: ProgramParameters4dvNV (will be remapped) */ "iiip\0" "glProgramParameters4dvNV\0" "\0" - /* _mesa_function_pool[29570]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[29642]: TexCoord2fColor3fVertex3fvSUN (dynamic) */ "ppp\0" "glTexCoord2fColor3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[29607]: EvalPoint2 (offset 239) */ + /* _mesa_function_pool[29679]: EvalPoint2 (offset 239) */ "ii\0" "glEvalPoint2\0" "\0" - /* _mesa_function_pool[29624]: Uniform1uivEXT (will be remapped) */ + /* _mesa_function_pool[29696]: Uniform1uivEXT (will be remapped) */ "iip\0" "glUniform1uivEXT\0" "glUniform1uiv\0" "\0" - /* _mesa_function_pool[29660]: EvalPoint1 (offset 237) */ + /* _mesa_function_pool[29732]: EvalPoint1 (offset 237) */ "i\0" "glEvalPoint1\0" "\0" - /* _mesa_function_pool[29676]: Binormal3dvEXT (dynamic) */ + /* _mesa_function_pool[29748]: Binormal3dvEXT (dynamic) */ "p\0" "glBinormal3dvEXT\0" "\0" - /* _mesa_function_pool[29696]: PopMatrix (offset 297) */ + /* _mesa_function_pool[29768]: PopMatrix (offset 297) */ "\0" "glPopMatrix\0" "\0" - /* _mesa_function_pool[29710]: FinishFenceNV (will be remapped) */ + /* _mesa_function_pool[29782]: FinishFenceNV (will be remapped) */ "i\0" "glFinishFenceNV\0" "\0" - /* _mesa_function_pool[29729]: GetFogFuncSGIS (dynamic) */ + /* _mesa_function_pool[29801]: GetFogFuncSGIS (dynamic) */ "p\0" "glGetFogFuncSGIS\0" "\0" - /* _mesa_function_pool[29749]: GetUniformLocationARB (will be remapped) */ + /* _mesa_function_pool[29821]: GetUniformLocationARB (will be remapped) */ "ip\0" "glGetUniformLocation\0" "glGetUniformLocationARB\0" "\0" - /* _mesa_function_pool[29798]: SecondaryColor3fEXT (will be remapped) */ + /* _mesa_function_pool[29870]: SecondaryColor3fEXT (will be remapped) */ "fff\0" "glSecondaryColor3f\0" "glSecondaryColor3fEXT\0" "\0" - /* _mesa_function_pool[29844]: GetTexGeniv (offset 280) */ + /* _mesa_function_pool[29916]: GetTexGeniv (offset 280) */ "iip\0" "glGetTexGeniv\0" "\0" - /* _mesa_function_pool[29863]: CombinerInputNV (will be remapped) */ + /* _mesa_function_pool[29935]: CombinerInputNV (will be remapped) */ "iiiiii\0" "glCombinerInputNV\0" "\0" - /* _mesa_function_pool[29889]: VertexAttrib3sARB (will be remapped) */ + /* _mesa_function_pool[29961]: VertexAttrib3sARB (will be remapped) */ "iiii\0" "glVertexAttrib3s\0" "glVertexAttrib3sARB\0" "\0" - /* _mesa_function_pool[29932]: IsTransformFeedback (will be remapped) */ + /* _mesa_function_pool[30004]: IsTransformFeedback (will be remapped) */ "i\0" "glIsTransformFeedback\0" "\0" - /* _mesa_function_pool[29957]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ + /* _mesa_function_pool[30029]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */ "ppp\0" "glReplacementCodeuiNormal3fVertex3fvSUN\0" "\0" - /* _mesa_function_pool[30002]: Map2d (offset 222) */ + /* _mesa_function_pool[30074]: Map2d (offset 222) */ "iddiiddiip\0" "glMap2d\0" "\0" - /* _mesa_function_pool[30022]: Map2f (offset 223) */ + /* _mesa_function_pool[30094]: Map2f (offset 223) */ "iffiiffiip\0" "glMap2f\0" "\0" - /* _mesa_function_pool[30042]: ProgramStringARB (will be remapped) */ + /* _mesa_function_pool[30114]: ProgramStringARB (will be remapped) */ "iiip\0" "glProgramStringARB\0" "\0" - /* _mesa_function_pool[30067]: Vertex4s (offset 148) */ + /* _mesa_function_pool[30139]: Vertex4s (offset 148) */ "iiii\0" "glVertex4s\0" "\0" - /* _mesa_function_pool[30084]: TexCoord4fVertex4fvSUN (dynamic) */ + /* _mesa_function_pool[30156]: TexCoord4fVertex4fvSUN (dynamic) */ "pp\0" "glTexCoord4fVertex4fvSUN\0" "\0" - /* _mesa_function_pool[30113]: FragmentLightModelivSGIX (dynamic) */ + /* _mesa_function_pool[30185]: TextureStorage3DEXT (will be remapped) */ + "iiiiiii\0" + "glTextureStorage3DEXT\0" + "\0" + /* _mesa_function_pool[30216]: FragmentLightModelivSGIX (dynamic) */ "ip\0" "glFragmentLightModelivSGIX\0" "\0" - /* _mesa_function_pool[30144]: VertexAttrib1fNV (will be remapped) */ + /* _mesa_function_pool[30247]: VertexAttrib1fNV (will be remapped) */ "if\0" "glVertexAttrib1fNV\0" "\0" - /* _mesa_function_pool[30167]: Vertex4f (offset 144) */ + /* _mesa_function_pool[30270]: Vertex4f (offset 144) */ "ffff\0" "glVertex4f\0" "\0" - /* _mesa_function_pool[30184]: EvalCoord1d (offset 228) */ + /* _mesa_function_pool[30287]: EvalCoord1d (offset 228) */ "d\0" "glEvalCoord1d\0" "\0" - /* _mesa_function_pool[30201]: Vertex4d (offset 142) */ + /* _mesa_function_pool[30304]: Vertex4d (offset 142) */ "dddd\0" "glVertex4d\0" "\0" - /* _mesa_function_pool[30218]: RasterPos4dv (offset 79) */ + /* _mesa_function_pool[30321]: RasterPos4dv (offset 79) */ "p\0" "glRasterPos4dv\0" "\0" - /* _mesa_function_pool[30236]: UseShaderProgramEXT (will be remapped) */ + /* _mesa_function_pool[30339]: UseShaderProgramEXT (will be remapped) */ "ii\0" "glUseShaderProgramEXT\0" "\0" - /* _mesa_function_pool[30262]: FragmentLightfSGIX (dynamic) */ + /* _mesa_function_pool[30365]: FragmentLightfSGIX (dynamic) */ "iif\0" "glFragmentLightfSGIX\0" "\0" - /* _mesa_function_pool[30288]: GetCompressedTexImageARB (will be remapped) */ + /* _mesa_function_pool[30391]: TextureStorage2DEXT (will be remapped) */ + "iiiiii\0" + "glTextureStorage2DEXT\0" + "\0" + /* _mesa_function_pool[30421]: GetCompressedTexImageARB (will be remapped) */ "iip\0" "glGetCompressedTexImage\0" "glGetCompressedTexImageARB\0" "\0" - /* _mesa_function_pool[30344]: GetTexGenfv (offset 279) */ + /* _mesa_function_pool[30477]: GetTexGenfv (offset 279) */ "iip\0" "glGetTexGenfv\0" "\0" - /* _mesa_function_pool[30363]: Vertex4i (offset 146) */ + /* _mesa_function_pool[30496]: Vertex4i (offset 146) */ "iiii\0" "glVertex4i\0" "\0" - /* _mesa_function_pool[30380]: VertexWeightPointerEXT (dynamic) */ + /* _mesa_function_pool[30513]: VertexWeightPointerEXT (dynamic) */ "iiip\0" "glVertexWeightPointerEXT\0" "\0" - /* _mesa_function_pool[30411]: GetHistogram (offset 361) */ + /* _mesa_function_pool[30544]: GetHistogram (offset 361) */ "iiiip\0" "glGetHistogram\0" "glGetHistogramEXT\0" "\0" - /* _mesa_function_pool[30451]: ActiveStencilFaceEXT (will be remapped) */ + /* _mesa_function_pool[30584]: ActiveStencilFaceEXT (will be remapped) */ "i\0" "glActiveStencilFaceEXT\0" "\0" - /* _mesa_function_pool[30477]: StencilFuncSeparateATI (will be remapped) */ + /* _mesa_function_pool[30610]: TexStorage3D (will be remapped) */ + "iiiiii\0" + "glTexStorage3D\0" + "\0" + /* _mesa_function_pool[30633]: StencilFuncSeparateATI (will be remapped) */ "iiii\0" "glStencilFuncSeparateATI\0" "\0" - /* _mesa_function_pool[30508]: Materialf (offset 169) */ + /* _mesa_function_pool[30664]: Materialf (offset 169) */ "iif\0" "glMaterialf\0" "\0" - /* _mesa_function_pool[30525]: GetShaderSourceARB (will be remapped) */ + /* _mesa_function_pool[30681]: GetShaderSourceARB (will be remapped) */ "iipp\0" "glGetShaderSource\0" "glGetShaderSourceARB\0" "\0" - /* _mesa_function_pool[30570]: IglooInterfaceSGIX (dynamic) */ + /* _mesa_function_pool[30726]: IglooInterfaceSGIX (dynamic) */ "ip\0" "glIglooInterfaceSGIX\0" "\0" - /* _mesa_function_pool[30595]: Materiali (offset 171) */ + /* _mesa_function_pool[30751]: Materiali (offset 171) */ "iii\0" "glMateriali\0" "\0" - /* _mesa_function_pool[30612]: VertexAttrib4dNV (will be remapped) */ + /* _mesa_function_pool[30768]: VertexAttrib4dNV (will be remapped) */ "idddd\0" "glVertexAttrib4dNV\0" "\0" - /* _mesa_function_pool[30638]: MultiModeDrawElementsIBM (will be remapped) */ + /* _mesa_function_pool[30794]: MultiModeDrawElementsIBM (will be remapped) */ "ppipii\0" "glMultiModeDrawElementsIBM\0" "\0" - /* _mesa_function_pool[30673]: Indexsv (offset 51) */ + /* _mesa_function_pool[30829]: Indexsv (offset 51) */ "p\0" "glIndexsv\0" "\0" - /* _mesa_function_pool[30686]: MultiTexCoord4svARB (offset 407) */ + /* _mesa_function_pool[30842]: MultiTexCoord4svARB (offset 407) */ "ip\0" "glMultiTexCoord4sv\0" "glMultiTexCoord4svARB\0" "\0" - /* _mesa_function_pool[30731]: LightModelfv (offset 164) */ + /* _mesa_function_pool[30887]: LightModelfv (offset 164) */ "ip\0" "glLightModelfv\0" "\0" - /* _mesa_function_pool[30750]: TexCoord2dv (offset 103) */ + /* _mesa_function_pool[30906]: TexCoord2dv (offset 103) */ "p\0" "glTexCoord2dv\0" "\0" - /* _mesa_function_pool[30767]: GenQueriesARB (will be remapped) */ + /* _mesa_function_pool[30923]: GenQueriesARB (will be remapped) */ "ip\0" "glGenQueries\0" "glGenQueriesARB\0" "\0" - /* _mesa_function_pool[30800]: EvalCoord1dv (offset 229) */ + /* _mesa_function_pool[30956]: EvalCoord1dv (offset 229) */ "p\0" "glEvalCoord1dv\0" "\0" - /* _mesa_function_pool[30818]: ReplacementCodeuiVertex3fSUN (dynamic) */ + /* _mesa_function_pool[30974]: ReplacementCodeuiVertex3fSUN (dynamic) */ "ifff\0" "glReplacementCodeuiVertex3fSUN\0" "\0" - /* _mesa_function_pool[30855]: Translated (offset 303) */ + /* _mesa_function_pool[31011]: Translated (offset 303) */ "ddd\0" "glTranslated\0" "\0" - /* _mesa_function_pool[30873]: Translatef (offset 304) */ + /* _mesa_function_pool[31029]: Translatef (offset 304) */ "fff\0" "glTranslatef\0" "\0" - /* _mesa_function_pool[30891]: Uniform3uiEXT (will be remapped) */ + /* _mesa_function_pool[31047]: Uniform3uiEXT (will be remapped) */ "iiii\0" "glUniform3uiEXT\0" "glUniform3ui\0" "\0" - /* _mesa_function_pool[30926]: StencilMask (offset 209) */ + /* _mesa_function_pool[31082]: StencilMask (offset 209) */ "i\0" "glStencilMask\0" "\0" - /* _mesa_function_pool[30943]: Tangent3iEXT (dynamic) */ + /* _mesa_function_pool[31099]: Tangent3iEXT (dynamic) */ "iii\0" "glTangent3iEXT\0" "\0" - /* _mesa_function_pool[30963]: ClampColorARB (will be remapped) */ + /* _mesa_function_pool[31119]: ClampColorARB (will be remapped) */ "ii\0" "glClampColorARB\0" "\0" - /* _mesa_function_pool[30983]: GetLightiv (offset 265) */ + /* _mesa_function_pool[31139]: GetLightiv (offset 265) */ "iip\0" "glGetLightiv\0" "\0" - /* _mesa_function_pool[31001]: GetSamplerParameterIiv (will be remapped) */ + /* _mesa_function_pool[31157]: GetSamplerParameterIiv (will be remapped) */ "iip\0" "glGetSamplerParameterIiv\0" "\0" - /* _mesa_function_pool[31031]: DrawMeshArraysSUN (dynamic) */ + /* _mesa_function_pool[31187]: DrawMeshArraysSUN (dynamic) */ "iiii\0" "glDrawMeshArraysSUN\0" "\0" - /* _mesa_function_pool[31057]: IsList (offset 287) */ + /* _mesa_function_pool[31213]: IsList (offset 287) */ "i\0" "glIsList\0" "\0" - /* _mesa_function_pool[31069]: IsSync (will be remapped) */ + /* _mesa_function_pool[31225]: IsSync (will be remapped) */ "i\0" "glIsSync\0" "\0" - /* _mesa_function_pool[31081]: RenderMode (offset 196) */ + /* _mesa_function_pool[31237]: RenderMode (offset 196) */ "i\0" "glRenderMode\0" "\0" - /* _mesa_function_pool[31097]: GetMapControlPointsNV (dynamic) */ + /* _mesa_function_pool[31253]: GetMapControlPointsNV (dynamic) */ "iiiiiip\0" "glGetMapControlPointsNV\0" "\0" - /* _mesa_function_pool[31130]: DrawBuffersARB (will be remapped) */ + /* _mesa_function_pool[31286]: DrawBuffersARB (will be remapped) */ "ip\0" "glDrawBuffers\0" "glDrawBuffersARB\0" "glDrawBuffersATI\0" "glDrawBuffersNV\0" "\0" - /* _mesa_function_pool[31198]: ClearBufferiv (will be remapped) */ + /* _mesa_function_pool[31354]: ClearBufferiv (will be remapped) */ "iip\0" "glClearBufferiv\0" "\0" - /* _mesa_function_pool[31219]: ProgramLocalParameter4fARB (will be remapped) */ + /* _mesa_function_pool[31375]: ProgramLocalParameter4fARB (will be remapped) */ "iiffff\0" "glProgramLocalParameter4fARB\0" "\0" - /* _mesa_function_pool[31256]: SpriteParameterivSGIX (dynamic) */ + /* _mesa_function_pool[31412]: SpriteParameterivSGIX (dynamic) */ "ip\0" "glSpriteParameterivSGIX\0" "\0" - /* _mesa_function_pool[31284]: ProvokingVertexEXT (will be remapped) */ + /* _mesa_function_pool[31440]: ProvokingVertexEXT (will be remapped) */ "i\0" "glProvokingVertexEXT\0" "glProvokingVertex\0" "\0" - /* _mesa_function_pool[31326]: MultiTexCoord1fARB (offset 378) */ + /* _mesa_function_pool[31482]: MultiTexCoord1fARB (offset 378) */ "if\0" "glMultiTexCoord1f\0" "glMultiTexCoord1fARB\0" "\0" - /* _mesa_function_pool[31369]: LoadName (offset 198) */ + /* _mesa_function_pool[31525]: LoadName (offset 198) */ "i\0" "glLoadName\0" "\0" - /* _mesa_function_pool[31383]: VertexAttribs4ubvNV (will be remapped) */ + /* _mesa_function_pool[31539]: VertexAttribs4ubvNV (will be remapped) */ "iip\0" "glVertexAttribs4ubvNV\0" "\0" - /* _mesa_function_pool[31410]: WeightsvARB (dynamic) */ + /* _mesa_function_pool[31566]: WeightsvARB (dynamic) */ "ip\0" "glWeightsvARB\0" "\0" - /* _mesa_function_pool[31428]: NormalP3ui (will be remapped) */ + /* _mesa_function_pool[31584]: NormalP3ui (will be remapped) */ "ii\0" "glNormalP3ui\0" "\0" - /* _mesa_function_pool[31445]: VertexAttribP2ui (will be remapped) */ + /* _mesa_function_pool[31601]: VertexAttribP2ui (will be remapped) */ "iiii\0" "glVertexAttribP2ui\0" "\0" - /* _mesa_function_pool[31470]: Uniform1fvARB (will be remapped) */ + /* _mesa_function_pool[31626]: Uniform1fvARB (will be remapped) */ "iip\0" "glUniform1fv\0" "glUniform1fvARB\0" "\0" - /* _mesa_function_pool[31504]: CopyTexSubImage1D (offset 325) */ + /* _mesa_function_pool[31660]: CopyTexSubImage1D (offset 325) */ "iiiiii\0" "glCopyTexSubImage1D\0" "glCopyTexSubImage1DEXT\0" "\0" - /* _mesa_function_pool[31555]: CullFace (offset 152) */ + /* _mesa_function_pool[31711]: CullFace (offset 152) */ "i\0" "glCullFace\0" "\0" - /* _mesa_function_pool[31569]: BindTexture (offset 307) */ + /* _mesa_function_pool[31725]: BindTexture (offset 307) */ "ii\0" "glBindTexture\0" "glBindTextureEXT\0" "\0" - /* _mesa_function_pool[31604]: BeginFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[31760]: BeginFragmentShaderATI (will be remapped) */ "\0" "glBeginFragmentShaderATI\0" "\0" - /* _mesa_function_pool[31631]: MultiTexCoord4fARB (offset 402) */ + /* _mesa_function_pool[31787]: MultiTexCoord4fARB (offset 402) */ "iffff\0" "glMultiTexCoord4f\0" "glMultiTexCoord4fARB\0" "\0" - /* _mesa_function_pool[31677]: VertexAttribs3svNV (will be remapped) */ + /* _mesa_function_pool[31833]: VertexAttribs3svNV (will be remapped) */ "iip\0" "glVertexAttribs3svNV\0" "\0" - /* _mesa_function_pool[31703]: StencilFunc (offset 243) */ + /* _mesa_function_pool[31859]: StencilFunc (offset 243) */ "iii\0" "glStencilFunc\0" "\0" - /* _mesa_function_pool[31722]: CopyPixels (offset 255) */ + /* _mesa_function_pool[31878]: CopyPixels (offset 255) */ "iiiii\0" "glCopyPixels\0" "\0" - /* _mesa_function_pool[31742]: Rectsv (offset 93) */ + /* _mesa_function_pool[31898]: Rectsv (offset 93) */ "pp\0" "glRectsv\0" "\0" - /* _mesa_function_pool[31755]: ReplacementCodeuivSUN (dynamic) */ + /* _mesa_function_pool[31911]: ReplacementCodeuivSUN (dynamic) */ "p\0" "glReplacementCodeuivSUN\0" "\0" - /* _mesa_function_pool[31782]: MultiTexCoordP2uiv (will be remapped) */ + /* _mesa_function_pool[31938]: MultiTexCoordP2uiv (will be remapped) */ "iip\0" "glMultiTexCoordP2uiv\0" "\0" - /* _mesa_function_pool[31808]: EnableVertexAttribArrayARB (will be remapped) */ + /* _mesa_function_pool[31964]: EnableVertexAttribArrayARB (will be remapped) */ "i\0" "glEnableVertexAttribArray\0" "glEnableVertexAttribArrayARB\0" "\0" - /* _mesa_function_pool[31866]: NormalPointervINTEL (dynamic) */ + /* _mesa_function_pool[32022]: NormalPointervINTEL (dynamic) */ "ip\0" "glNormalPointervINTEL\0" "\0" - /* _mesa_function_pool[31892]: CopyConvolutionFilter2D (offset 355) */ + /* _mesa_function_pool[32048]: CopyConvolutionFilter2D (offset 355) */ "iiiiii\0" "glCopyConvolutionFilter2D\0" "glCopyConvolutionFilter2DEXT\0" "\0" - /* _mesa_function_pool[31955]: WindowPos3ivMESA (will be remapped) */ + /* _mesa_function_pool[32111]: WindowPos3ivMESA (will be remapped) */ "p\0" "glWindowPos3iv\0" "glWindowPos3ivARB\0" "glWindowPos3ivMESA\0" "\0" - /* _mesa_function_pool[32010]: CopyBufferSubData (will be remapped) */ + /* _mesa_function_pool[32166]: CopyBufferSubData (will be remapped) */ "iiiii\0" "glCopyBufferSubData\0" "\0" - /* _mesa_function_pool[32037]: NormalPointer (offset 318) */ + /* _mesa_function_pool[32193]: NormalPointer (offset 318) */ "iip\0" "glNormalPointer\0" "\0" - /* _mesa_function_pool[32058]: TexParameterfv (offset 179) */ + /* _mesa_function_pool[32214]: TexParameterfv (offset 179) */ "iip\0" "glTexParameterfv\0" "\0" - /* _mesa_function_pool[32080]: IsBufferARB (will be remapped) */ + /* _mesa_function_pool[32236]: IsBufferARB (will be remapped) */ "i\0" "glIsBuffer\0" "glIsBufferARB\0" "\0" - /* _mesa_function_pool[32108]: WindowPos4iMESA (will be remapped) */ + /* _mesa_function_pool[32264]: WindowPos4iMESA (will be remapped) */ "iiii\0" "glWindowPos4iMESA\0" "\0" - /* _mesa_function_pool[32132]: VertexAttrib4uivARB (will be remapped) */ + /* _mesa_function_pool[32288]: VertexAttrib4uivARB (will be remapped) */ "ip\0" "glVertexAttrib4uiv\0" "glVertexAttrib4uivARB\0" "\0" - /* _mesa_function_pool[32177]: Tangent3bvEXT (dynamic) */ + /* _mesa_function_pool[32333]: Tangent3bvEXT (dynamic) */ "p\0" "glTangent3bvEXT\0" "\0" - /* _mesa_function_pool[32196]: VertexAttribI3uivEXT (will be remapped) */ + /* _mesa_function_pool[32352]: VertexAttribI3uivEXT (will be remapped) */ "ip\0" "glVertexAttribI3uivEXT\0" "glVertexAttribI3uiv\0" "\0" - /* _mesa_function_pool[32243]: UniformMatrix3x4fv (will be remapped) */ + /* _mesa_function_pool[32399]: UniformMatrix3x4fv (will be remapped) */ "iiip\0" "glUniformMatrix3x4fv\0" "\0" - /* _mesa_function_pool[32270]: ClipPlane (offset 150) */ + /* _mesa_function_pool[32426]: ClipPlane (offset 150) */ "ip\0" "glClipPlane\0" "\0" - /* _mesa_function_pool[32286]: Recti (offset 90) */ + /* _mesa_function_pool[32442]: Recti (offset 90) */ "iiii\0" "glRecti\0" "\0" - /* _mesa_function_pool[32300]: TrackMatrixNV (will be remapped) */ + /* _mesa_function_pool[32456]: TrackMatrixNV (will be remapped) */ "iiii\0" "glTrackMatrixNV\0" "\0" - /* _mesa_function_pool[32322]: DrawRangeElementsBaseVertex (will be remapped) */ + /* _mesa_function_pool[32478]: DrawRangeElementsBaseVertex (will be remapped) */ "iiiiipi\0" "glDrawRangeElementsBaseVertex\0" "\0" - /* _mesa_function_pool[32361]: SamplerParameterIuiv (will be remapped) */ + /* _mesa_function_pool[32517]: SamplerParameterIuiv (will be remapped) */ "iip\0" "glSamplerParameterIuiv\0" "\0" - /* _mesa_function_pool[32389]: TexCoordPointervINTEL (dynamic) */ + /* _mesa_function_pool[32545]: TexCoordPointervINTEL (dynamic) */ "iip\0" "glTexCoordPointervINTEL\0" "\0" - /* _mesa_function_pool[32418]: DeleteBuffersARB (will be remapped) */ + /* _mesa_function_pool[32574]: DeleteBuffersARB (will be remapped) */ "ip\0" "glDeleteBuffers\0" "glDeleteBuffersARB\0" "\0" - /* _mesa_function_pool[32457]: PixelTransformParameterfvEXT (dynamic) */ + /* _mesa_function_pool[32613]: PixelTransformParameterfvEXT (dynamic) */ "iip\0" "glPixelTransformParameterfvEXT\0" "\0" - /* _mesa_function_pool[32493]: PrimitiveRestartNV (will be remapped) */ + /* _mesa_function_pool[32649]: PrimitiveRestartNV (will be remapped) */ "\0" "glPrimitiveRestartNV\0" "\0" - /* _mesa_function_pool[32516]: WindowPos4fvMESA (will be remapped) */ + /* _mesa_function_pool[32672]: WindowPos4fvMESA (will be remapped) */ "p\0" "glWindowPos4fvMESA\0" "\0" - /* _mesa_function_pool[32538]: GetPixelMapuiv (offset 272) */ + /* _mesa_function_pool[32694]: GetPixelMapuiv (offset 272) */ "ip\0" "glGetPixelMapuiv\0" "\0" - /* _mesa_function_pool[32559]: Rectf (offset 88) */ + /* _mesa_function_pool[32715]: Rectf (offset 88) */ "ffff\0" "glRectf\0" "\0" - /* _mesa_function_pool[32573]: VertexAttrib1sNV (will be remapped) */ + /* _mesa_function_pool[32729]: VertexAttrib1sNV (will be remapped) */ "ii\0" "glVertexAttrib1sNV\0" "\0" - /* _mesa_function_pool[32596]: Indexfv (offset 47) */ + /* _mesa_function_pool[32752]: Indexfv (offset 47) */ "p\0" "glIndexfv\0" "\0" - /* _mesa_function_pool[32609]: ColorP3uiv (will be remapped) */ + /* _mesa_function_pool[32765]: ColorP3uiv (will be remapped) */ "ip\0" "glColorP3uiv\0" "\0" - /* _mesa_function_pool[32626]: SecondaryColor3svEXT (will be remapped) */ + /* _mesa_function_pool[32782]: SecondaryColor3svEXT (will be remapped) */ "p\0" "glSecondaryColor3sv\0" "glSecondaryColor3svEXT\0" "\0" - /* _mesa_function_pool[32672]: LoadTransposeMatrixfARB (will be remapped) */ + /* _mesa_function_pool[32828]: LoadTransposeMatrixfARB (will be remapped) */ "p\0" "glLoadTransposeMatrixf\0" "glLoadTransposeMatrixfARB\0" "\0" - /* _mesa_function_pool[32724]: GetPointerv (offset 329) */ + /* _mesa_function_pool[32880]: GetPointerv (offset 329) */ "ip\0" "glGetPointerv\0" "glGetPointervEXT\0" "\0" - /* _mesa_function_pool[32759]: Tangent3bEXT (dynamic) */ + /* _mesa_function_pool[32915]: Tangent3bEXT (dynamic) */ "iii\0" "glTangent3bEXT\0" "\0" - /* _mesa_function_pool[32779]: CombinerParameterfNV (will be remapped) */ + /* _mesa_function_pool[32935]: CombinerParameterfNV (will be remapped) */ "if\0" "glCombinerParameterfNV\0" "\0" - /* _mesa_function_pool[32806]: IndexMask (offset 212) */ + /* _mesa_function_pool[32962]: IndexMask (offset 212) */ "i\0" "glIndexMask\0" "\0" - /* _mesa_function_pool[32821]: BindProgramNV (will be remapped) */ + /* _mesa_function_pool[32977]: BindProgramNV (will be remapped) */ "ii\0" "glBindProgramARB\0" "glBindProgramNV\0" "\0" - /* _mesa_function_pool[32858]: VertexAttrib4svARB (will be remapped) */ + /* _mesa_function_pool[33014]: VertexAttrib4svARB (will be remapped) */ "ip\0" "glVertexAttrib4sv\0" "glVertexAttrib4svARB\0" "\0" - /* _mesa_function_pool[32901]: GetFloatv (offset 262) */ + /* _mesa_function_pool[33057]: GetFloatv (offset 262) */ "ip\0" "glGetFloatv\0" "\0" - /* _mesa_function_pool[32917]: CreateDebugObjectMESA (dynamic) */ + /* _mesa_function_pool[33073]: CreateDebugObjectMESA (dynamic) */ "\0" "glCreateDebugObjectMESA\0" "\0" - /* _mesa_function_pool[32943]: GetShaderiv (will be remapped) */ + /* _mesa_function_pool[33099]: GetShaderiv (will be remapped) */ "iip\0" "glGetShaderiv\0" "\0" - /* _mesa_function_pool[32962]: ClientWaitSync (will be remapped) */ + /* _mesa_function_pool[33118]: ClientWaitSync (will be remapped) */ "iii\0" "glClientWaitSync\0" "\0" - /* _mesa_function_pool[32984]: TexCoord4s (offset 124) */ + /* _mesa_function_pool[33140]: TexCoord4s (offset 124) */ "iiii\0" "glTexCoord4s\0" "\0" - /* _mesa_function_pool[33003]: TexCoord3sv (offset 117) */ + /* _mesa_function_pool[33159]: TexCoord3sv (offset 117) */ "p\0" "glTexCoord3sv\0" "\0" - /* _mesa_function_pool[33020]: BindFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[33176]: BindFragmentShaderATI (will be remapped) */ "i\0" "glBindFragmentShaderATI\0" "\0" - /* _mesa_function_pool[33047]: PopAttrib (offset 218) */ + /* _mesa_function_pool[33203]: PopAttrib (offset 218) */ "\0" "glPopAttrib\0" "\0" - /* _mesa_function_pool[33061]: Fogfv (offset 154) */ + /* _mesa_function_pool[33217]: Fogfv (offset 154) */ "ip\0" "glFogfv\0" "\0" - /* _mesa_function_pool[33073]: UnmapBufferARB (will be remapped) */ + /* _mesa_function_pool[33229]: UnmapBufferARB (will be remapped) */ "i\0" "glUnmapBuffer\0" "glUnmapBufferARB\0" "\0" - /* _mesa_function_pool[33107]: InitNames (offset 197) */ + /* _mesa_function_pool[33263]: InitNames (offset 197) */ "\0" "glInitNames\0" "\0" - /* _mesa_function_pool[33121]: Normal3sv (offset 61) */ + /* _mesa_function_pool[33277]: Normal3sv (offset 61) */ "p\0" "glNormal3sv\0" "\0" - /* _mesa_function_pool[33136]: Minmax (offset 368) */ + /* _mesa_function_pool[33292]: Minmax (offset 368) */ "iii\0" "glMinmax\0" "glMinmaxEXT\0" "\0" - /* _mesa_function_pool[33162]: TexCoord4d (offset 118) */ + /* _mesa_function_pool[33318]: TexCoord4d (offset 118) */ "dddd\0" "glTexCoord4d\0" "\0" - /* _mesa_function_pool[33181]: DeformationMap3dSGIX (dynamic) */ + /* _mesa_function_pool[33337]: DeformationMap3dSGIX (dynamic) */ "iddiiddiiddiip\0" "glDeformationMap3dSGIX\0" "\0" - /* _mesa_function_pool[33220]: TexCoord4f (offset 120) */ + /* _mesa_function_pool[33376]: TexCoord4f (offset 120) */ "ffff\0" "glTexCoord4f\0" "\0" - /* _mesa_function_pool[33239]: FogCoorddvEXT (will be remapped) */ + /* _mesa_function_pool[33395]: FogCoorddvEXT (will be remapped) */ "p\0" "glFogCoorddv\0" "glFogCoorddvEXT\0" "\0" - /* _mesa_function_pool[33271]: FinishTextureSUNX (dynamic) */ + /* _mesa_function_pool[33427]: FinishTextureSUNX (dynamic) */ "\0" "glFinishTextureSUNX\0" "\0" - /* _mesa_function_pool[33293]: GetFragmentLightfvSGIX (dynamic) */ + /* _mesa_function_pool[33449]: GetFragmentLightfvSGIX (dynamic) */ "iip\0" "glGetFragmentLightfvSGIX\0" "\0" - /* _mesa_function_pool[33323]: Binormal3fvEXT (dynamic) */ + /* _mesa_function_pool[33479]: Binormal3fvEXT (dynamic) */ "p\0" "glBinormal3fvEXT\0" "\0" - /* _mesa_function_pool[33343]: GetBooleanv (offset 258) */ + /* _mesa_function_pool[33499]: GetBooleanv (offset 258) */ "ip\0" "glGetBooleanv\0" "\0" - /* _mesa_function_pool[33361]: ColorFragmentOp3ATI (will be remapped) */ + /* _mesa_function_pool[33517]: ColorFragmentOp3ATI (will be remapped) */ "iiiiiiiiiiiii\0" "glColorFragmentOp3ATI\0" "\0" - /* _mesa_function_pool[33398]: Hint (offset 158) */ + /* _mesa_function_pool[33554]: Hint (offset 158) */ "ii\0" "glHint\0" "\0" - /* _mesa_function_pool[33409]: Color4dv (offset 28) */ + /* _mesa_function_pool[33565]: Color4dv (offset 28) */ "p\0" "glColor4dv\0" "\0" - /* _mesa_function_pool[33423]: VertexAttrib2svARB (will be remapped) */ + /* _mesa_function_pool[33579]: VertexAttrib2svARB (will be remapped) */ "ip\0" "glVertexAttrib2sv\0" "glVertexAttrib2svARB\0" "\0" - /* _mesa_function_pool[33466]: AreProgramsResidentNV (will be remapped) */ + /* _mesa_function_pool[33622]: AreProgramsResidentNV (will be remapped) */ "ipp\0" "glAreProgramsResidentNV\0" "\0" - /* _mesa_function_pool[33495]: WindowPos3svMESA (will be remapped) */ + /* _mesa_function_pool[33651]: WindowPos3svMESA (will be remapped) */ "p\0" "glWindowPos3sv\0" "glWindowPos3svARB\0" "glWindowPos3svMESA\0" "\0" - /* _mesa_function_pool[33550]: CopyColorSubTable (offset 347) */ + /* _mesa_function_pool[33706]: CopyColorSubTable (offset 347) */ "iiiii\0" "glCopyColorSubTable\0" "glCopyColorSubTableEXT\0" "\0" - /* _mesa_function_pool[33600]: WeightdvARB (dynamic) */ + /* _mesa_function_pool[33756]: WeightdvARB (dynamic) */ "ip\0" "glWeightdvARB\0" "\0" - /* _mesa_function_pool[33618]: DeleteRenderbuffersEXT (will be remapped) */ + /* _mesa_function_pool[33774]: DeleteRenderbuffersEXT (will be remapped) */ "ip\0" "glDeleteRenderbuffers\0" "glDeleteRenderbuffersEXT\0" "\0" - /* _mesa_function_pool[33669]: VertexAttrib4NubvARB (will be remapped) */ + /* _mesa_function_pool[33825]: VertexAttrib4NubvARB (will be remapped) */ "ip\0" "glVertexAttrib4Nubv\0" "glVertexAttrib4NubvARB\0" "\0" - /* _mesa_function_pool[33716]: VertexAttrib3dvNV (will be remapped) */ + /* _mesa_function_pool[33872]: VertexAttrib3dvNV (will be remapped) */ "ip\0" "glVertexAttrib3dvNV\0" "\0" - /* _mesa_function_pool[33740]: GetObjectParameterfvARB (will be remapped) */ + /* _mesa_function_pool[33896]: GetObjectParameterfvARB (will be remapped) */ "iip\0" "glGetObjectParameterfvARB\0" "\0" - /* _mesa_function_pool[33771]: Vertex4iv (offset 147) */ + /* _mesa_function_pool[33927]: Vertex4iv (offset 147) */ "p\0" "glVertex4iv\0" "\0" - /* _mesa_function_pool[33786]: GetProgramEnvParameterdvARB (will be remapped) */ + /* _mesa_function_pool[33942]: GetProgramEnvParameterdvARB (will be remapped) */ "iip\0" "glGetProgramEnvParameterdvARB\0" "\0" - /* _mesa_function_pool[33821]: TexCoord4dv (offset 119) */ + /* _mesa_function_pool[33977]: TexCoord4dv (offset 119) */ "p\0" "glTexCoord4dv\0" "\0" - /* _mesa_function_pool[33838]: LockArraysEXT (will be remapped) */ + /* _mesa_function_pool[33994]: LockArraysEXT (will be remapped) */ "ii\0" "glLockArraysEXT\0" "\0" - /* _mesa_function_pool[33858]: Begin (offset 7) */ + /* _mesa_function_pool[34014]: Begin (offset 7) */ "i\0" "glBegin\0" "\0" - /* _mesa_function_pool[33869]: LightModeli (offset 165) */ + /* _mesa_function_pool[34025]: LightModeli (offset 165) */ "ii\0" "glLightModeli\0" "\0" - /* _mesa_function_pool[33887]: VertexAttribI4ivEXT (will be remapped) */ + /* _mesa_function_pool[34043]: VertexAttribI4ivEXT (will be remapped) */ "ip\0" "glVertexAttribI4ivEXT\0" "glVertexAttribI4iv\0" "\0" - /* _mesa_function_pool[33932]: Rectfv (offset 89) */ + /* _mesa_function_pool[34088]: Rectfv (offset 89) */ "pp\0" "glRectfv\0" "\0" - /* _mesa_function_pool[33945]: LightModelf (offset 163) */ + /* _mesa_function_pool[34101]: LightModelf (offset 163) */ "if\0" "glLightModelf\0" "\0" - /* _mesa_function_pool[33963]: GetTexParameterfv (offset 282) */ + /* _mesa_function_pool[34119]: GetTexParameterfv (offset 282) */ "iip\0" "glGetTexParameterfv\0" "\0" - /* _mesa_function_pool[33988]: GetLightfv (offset 264) */ + /* _mesa_function_pool[34144]: GetLightfv (offset 264) */ "iip\0" "glGetLightfv\0" "\0" - /* _mesa_function_pool[34006]: PixelTransformParameterivEXT (dynamic) */ + /* _mesa_function_pool[34162]: PixelTransformParameterivEXT (dynamic) */ "iip\0" "glPixelTransformParameterivEXT\0" "\0" - /* _mesa_function_pool[34042]: BinormalPointerEXT (dynamic) */ + /* _mesa_function_pool[34198]: BinormalPointerEXT (dynamic) */ "iip\0" "glBinormalPointerEXT\0" "\0" - /* _mesa_function_pool[34068]: VertexAttrib1dNV (will be remapped) */ + /* _mesa_function_pool[34224]: VertexAttrib1dNV (will be remapped) */ "id\0" "glVertexAttrib1dNV\0" "\0" - /* _mesa_function_pool[34091]: GetCombinerInputParameterivNV (will be remapped) */ + /* _mesa_function_pool[34247]: GetCombinerInputParameterivNV (will be remapped) */ "iiiip\0" "glGetCombinerInputParameterivNV\0" "\0" - /* _mesa_function_pool[34130]: Disable (offset 214) */ + /* _mesa_function_pool[34286]: Disable (offset 214) */ "i\0" "glDisable\0" "\0" - /* _mesa_function_pool[34143]: MultiTexCoord2fvARB (offset 387) */ + /* _mesa_function_pool[34299]: MultiTexCoord2fvARB (offset 387) */ "ip\0" "glMultiTexCoord2fv\0" "glMultiTexCoord2fvARB\0" "\0" - /* _mesa_function_pool[34188]: GetRenderbufferParameterivEXT (will be remapped) */ + /* _mesa_function_pool[34344]: GetRenderbufferParameterivEXT (will be remapped) */ "iip\0" "glGetRenderbufferParameteriv\0" "glGetRenderbufferParameterivEXT\0" "\0" - /* _mesa_function_pool[34254]: CombinerParameterivNV (will be remapped) */ + /* _mesa_function_pool[34410]: CombinerParameterivNV (will be remapped) */ "ip\0" "glCombinerParameterivNV\0" "\0" - /* _mesa_function_pool[34282]: GenFragmentShadersATI (will be remapped) */ + /* _mesa_function_pool[34438]: GenFragmentShadersATI (will be remapped) */ "i\0" "glGenFragmentShadersATI\0" "\0" - /* _mesa_function_pool[34309]: DrawArrays (offset 310) */ + /* _mesa_function_pool[34465]: DrawArrays (offset 310) */ "iii\0" "glDrawArrays\0" "glDrawArraysEXT\0" "\0" - /* _mesa_function_pool[34343]: WeightuivARB (dynamic) */ + /* _mesa_function_pool[34499]: WeightuivARB (dynamic) */ "ip\0" "glWeightuivARB\0" "\0" - /* _mesa_function_pool[34362]: GetVertexAttribIivEXT (will be remapped) */ + /* _mesa_function_pool[34518]: GetVertexAttribIivEXT (will be remapped) */ "iip\0" "glGetVertexAttribIivEXT\0" "glGetVertexAttribIiv\0" "\0" - /* _mesa_function_pool[34412]: VertexAttrib2sARB (will be remapped) */ + /* _mesa_function_pool[34568]: VertexAttrib2sARB (will be remapped) */ "iii\0" "glVertexAttrib2s\0" "glVertexAttrib2sARB\0" "\0" - /* _mesa_function_pool[34454]: GetnTexImageARB (will be remapped) */ + /* _mesa_function_pool[34610]: GetnTexImageARB (will be remapped) */ "iiiiip\0" "glGetnTexImageARB\0" "\0" - /* _mesa_function_pool[34480]: ColorMask (offset 210) */ + /* _mesa_function_pool[34636]: ColorMask (offset 210) */ "iiii\0" "glColorMask\0" "\0" - /* _mesa_function_pool[34498]: GenAsyncMarkersSGIX (dynamic) */ + /* _mesa_function_pool[34654]: GenAsyncMarkersSGIX (dynamic) */ "i\0" "glGenAsyncMarkersSGIX\0" "\0" - /* _mesa_function_pool[34523]: Tangent3svEXT (dynamic) */ + /* _mesa_function_pool[34679]: Tangent3svEXT (dynamic) */ "p\0" "glTangent3svEXT\0" "\0" - /* _mesa_function_pool[34542]: GetListParameterivSGIX (dynamic) */ + /* _mesa_function_pool[34698]: GetListParameterivSGIX (dynamic) */ "iip\0" "glGetListParameterivSGIX\0" "\0" - /* _mesa_function_pool[34572]: BindBufferARB (will be remapped) */ + /* _mesa_function_pool[34728]: BindBufferARB (will be remapped) */ "ii\0" "glBindBuffer\0" "glBindBufferARB\0" "\0" - /* _mesa_function_pool[34605]: GetInfoLogARB (will be remapped) */ + /* _mesa_function_pool[34761]: GetInfoLogARB (will be remapped) */ "iipp\0" "glGetInfoLogARB\0" "\0" - /* _mesa_function_pool[34627]: RasterPos4iv (offset 83) */ + /* _mesa_function_pool[34783]: RasterPos4iv (offset 83) */ "p\0" "glRasterPos4iv\0" "\0" - /* _mesa_function_pool[34645]: Enable (offset 215) */ + /* _mesa_function_pool[34801]: Enable (offset 215) */ "i\0" "glEnable\0" "\0" - /* _mesa_function_pool[34657]: LineStipple (offset 167) */ + /* _mesa_function_pool[34813]: LineStipple (offset 167) */ "ii\0" "glLineStipple\0" "\0" - /* _mesa_function_pool[34675]: VertexAttribs4svNV (will be remapped) */ + /* _mesa_function_pool[34831]: VertexAttribs4svNV (will be remapped) */ "iip\0" "glVertexAttribs4svNV\0" "\0" - /* _mesa_function_pool[34701]: EdgeFlagPointerListIBM (dynamic) */ + /* _mesa_function_pool[34857]: EdgeFlagPointerListIBM (dynamic) */ "ipi\0" "glEdgeFlagPointerListIBM\0" "\0" - /* _mesa_function_pool[34731]: UniformMatrix3x2fv (will be remapped) */ + /* _mesa_function_pool[34887]: UniformMatrix3x2fv (will be remapped) */ "iiip\0" "glUniformMatrix3x2fv\0" "\0" - /* _mesa_function_pool[34758]: GetMinmaxParameterfv (offset 365) */ + /* _mesa_function_pool[34914]: GetMinmaxParameterfv (offset 365) */ "iip\0" "glGetMinmaxParameterfv\0" "glGetMinmaxParameterfvEXT\0" "\0" - /* _mesa_function_pool[34812]: VertexAttrib1fvARB (will be remapped) */ + /* _mesa_function_pool[34968]: VertexAttrib1fvARB (will be remapped) */ "ip\0" "glVertexAttrib1fv\0" "glVertexAttrib1fvARB\0" "\0" - /* _mesa_function_pool[34855]: GenBuffersARB (will be remapped) */ + /* _mesa_function_pool[35011]: GenBuffersARB (will be remapped) */ "ip\0" "glGenBuffers\0" "glGenBuffersARB\0" "\0" - /* _mesa_function_pool[34888]: VertexAttribs1svNV (will be remapped) */ + /* _mesa_function_pool[35044]: VertexAttribs1svNV (will be remapped) */ "iip\0" "glVertexAttribs1svNV\0" "\0" - /* _mesa_function_pool[34914]: Vertex3fv (offset 137) */ + /* _mesa_function_pool[35070]: Vertex3fv (offset 137) */ "p\0" "glVertex3fv\0" "\0" - /* _mesa_function_pool[34929]: GetTexBumpParameterivATI (will be remapped) */ + /* _mesa_function_pool[35085]: GetTexBumpParameterivATI (will be remapped) */ "ip\0" "glGetTexBumpParameterivATI\0" "\0" - /* _mesa_function_pool[34960]: Binormal3bEXT (dynamic) */ + /* _mesa_function_pool[35116]: Binormal3bEXT (dynamic) */ "iii\0" "glBinormal3bEXT\0" "\0" - /* _mesa_function_pool[34981]: FragmentMaterialivSGIX (dynamic) */ + /* _mesa_function_pool[35137]: FragmentMaterialivSGIX (dynamic) */ "iip\0" "glFragmentMaterialivSGIX\0" "\0" - /* _mesa_function_pool[35011]: IsRenderbufferEXT (will be remapped) */ + /* _mesa_function_pool[35167]: IsRenderbufferEXT (will be remapped) */ "i\0" "glIsRenderbuffer\0" "glIsRenderbufferEXT\0" "\0" - /* _mesa_function_pool[35051]: GenProgramsNV (will be remapped) */ + /* _mesa_function_pool[35207]: GenProgramsNV (will be remapped) */ "ip\0" "glGenProgramsARB\0" "glGenProgramsNV\0" "\0" - /* _mesa_function_pool[35088]: VertexAttrib4dvNV (will be remapped) */ + /* _mesa_function_pool[35244]: VertexAttrib4dvNV (will be remapped) */ "ip\0" "glVertexAttrib4dvNV\0" "\0" - /* _mesa_function_pool[35112]: EndFragmentShaderATI (will be remapped) */ + /* _mesa_function_pool[35268]: EndFragmentShaderATI (will be remapped) */ "\0" "glEndFragmentShaderATI\0" "\0" - /* _mesa_function_pool[35137]: Binormal3iEXT (dynamic) */ + /* _mesa_function_pool[35293]: Binormal3iEXT (dynamic) */ "iii\0" "glBinormal3iEXT\0" "\0" - /* _mesa_function_pool[35158]: WindowPos2fMESA (will be remapped) */ + /* _mesa_function_pool[35314]: WindowPos2fMESA (will be remapped) */ "ff\0" "glWindowPos2f\0" "glWindowPos2fARB\0" @@ -5088,675 +5112,681 @@ static const char _mesa_function_pool[] = /* these functions need to be remapped */ static const struct gl_function_pool_remap MESA_remap_table_functions[] = { - { 1610, AttachShader_remap_index }, - { 10602, CreateProgram_remap_index }, - { 24598, CreateShader_remap_index }, - { 27172, DeleteProgram_remap_index }, - { 19931, DeleteShader_remap_index }, - { 25091, DetachShader_remap_index }, - { 19178, GetAttachedShaders_remap_index }, - { 5288, GetProgramInfoLog_remap_index }, + { 1631, AttachShader_remap_index }, + { 10674, CreateProgram_remap_index }, + { 24670, CreateShader_remap_index }, + { 27244, DeleteProgram_remap_index }, + { 20003, DeleteShader_remap_index }, + { 25163, DetachShader_remap_index }, + { 19250, GetAttachedShaders_remap_index }, + { 5360, GetProgramInfoLog_remap_index }, { 425, GetProgramiv_remap_index }, - { 7178, GetShaderInfoLog_remap_index }, - { 32943, GetShaderiv_remap_index }, - { 14151, IsProgram_remap_index }, - { 13052, IsShader_remap_index }, - { 10732, StencilFuncSeparate_remap_index }, - { 4266, StencilMaskSeparate_remap_index }, - { 8243, StencilOpSeparate_remap_index }, - { 23832, UniformMatrix2x3fv_remap_index }, - { 3040, UniformMatrix2x4fv_remap_index }, - { 34731, UniformMatrix3x2fv_remap_index }, - { 32243, UniformMatrix3x4fv_remap_index }, - { 17280, UniformMatrix4x2fv_remap_index }, - { 3531, UniformMatrix4x3fv_remap_index }, - { 5511, ClampColor_remap_index }, - { 19232, ClearBufferfi_remap_index }, - { 18648, ClearBufferfv_remap_index }, - { 31198, ClearBufferiv_remap_index }, - { 14356, ClearBufferuiv_remap_index }, - { 21354, GetStringi_remap_index }, - { 2981, TexBuffer_remap_index }, + { 7250, GetShaderInfoLog_remap_index }, + { 33099, GetShaderiv_remap_index }, + { 14223, IsProgram_remap_index }, + { 13124, IsShader_remap_index }, + { 10804, StencilFuncSeparate_remap_index }, + { 4287, StencilMaskSeparate_remap_index }, + { 8315, StencilOpSeparate_remap_index }, + { 23904, UniformMatrix2x3fv_remap_index }, + { 3061, UniformMatrix2x4fv_remap_index }, + { 34887, UniformMatrix3x2fv_remap_index }, + { 32399, UniformMatrix3x4fv_remap_index }, + { 17352, UniformMatrix4x2fv_remap_index }, + { 3552, UniformMatrix4x3fv_remap_index }, + { 5583, ClampColor_remap_index }, + { 19304, ClearBufferfi_remap_index }, + { 18720, ClearBufferfv_remap_index }, + { 31354, ClearBufferiv_remap_index }, + { 14428, ClearBufferuiv_remap_index }, + { 21426, GetStringi_remap_index }, + { 3002, TexBuffer_remap_index }, { 958, FramebufferTexture_remap_index }, - { 28208, GetBufferParameteri64v_remap_index }, - { 10832, GetInteger64i_v_remap_index }, - { 24912, VertexAttribDivisor_remap_index }, - { 10620, LoadTransposeMatrixdARB_remap_index }, - { 32672, LoadTransposeMatrixfARB_remap_index }, - { 6196, MultTransposeMatrixdARB_remap_index }, - { 25278, MultTransposeMatrixfARB_remap_index }, + { 28280, GetBufferParameteri64v_remap_index }, + { 10904, GetInteger64i_v_remap_index }, + { 24984, VertexAttribDivisor_remap_index }, + { 10692, LoadTransposeMatrixdARB_remap_index }, + { 32828, LoadTransposeMatrixfARB_remap_index }, + { 6268, MultTransposeMatrixdARB_remap_index }, + { 25350, MultTransposeMatrixfARB_remap_index }, { 236, SampleCoverageARB_remap_index }, - { 6441, CompressedTexImage1DARB_remap_index }, - { 25806, CompressedTexImage2DARB_remap_index }, - { 4329, CompressedTexImage3DARB_remap_index }, - { 19520, CompressedTexSubImage1DARB_remap_index }, - { 2166, CompressedTexSubImage2DARB_remap_index }, - { 21776, CompressedTexSubImage3DARB_remap_index }, - { 30288, GetCompressedTexImageARB_remap_index }, - { 4123, DisableVertexAttribArrayARB_remap_index }, - { 31808, EnableVertexAttribArrayARB_remap_index }, - { 33786, GetProgramEnvParameterdvARB_remap_index }, - { 25158, GetProgramEnvParameterfvARB_remap_index }, - { 29205, GetProgramLocalParameterdvARB_remap_index }, - { 8719, GetProgramLocalParameterfvARB_remap_index }, - { 19696, GetProgramStringARB_remap_index }, - { 29400, GetProgramivARB_remap_index }, - { 21971, GetVertexAttribdvARB_remap_index }, - { 17088, GetVertexAttribfvARB_remap_index }, - { 10411, GetVertexAttribivARB_remap_index }, - { 20791, ProgramEnvParameter4dARB_remap_index }, - { 26922, ProgramEnvParameter4dvARB_remap_index }, - { 17946, ProgramEnvParameter4fARB_remap_index }, - { 9594, ProgramEnvParameter4fvARB_remap_index }, - { 4292, ProgramLocalParameter4dARB_remap_index }, - { 13861, ProgramLocalParameter4dvARB_remap_index }, - { 31219, ProgramLocalParameter4fARB_remap_index }, - { 27568, ProgramLocalParameter4fvARB_remap_index }, - { 30042, ProgramStringARB_remap_index }, - { 21085, VertexAttrib1dARB_remap_index }, - { 16689, VertexAttrib1dvARB_remap_index }, - { 4488, VertexAttrib1fARB_remap_index }, - { 34812, VertexAttrib1fvARB_remap_index }, - { 7769, VertexAttrib1sARB_remap_index }, - { 2361, VertexAttrib1svARB_remap_index }, - { 16102, VertexAttrib2dARB_remap_index }, - { 18669, VertexAttrib2dvARB_remap_index }, - { 1693, VertexAttrib2fARB_remap_index }, - { 18782, VertexAttrib2fvARB_remap_index }, - { 34412, VertexAttrib2sARB_remap_index }, - { 33423, VertexAttrib2svARB_remap_index }, - { 12036, VertexAttrib3dARB_remap_index }, - { 9261, VertexAttrib3dvARB_remap_index }, - { 1780, VertexAttrib3fARB_remap_index }, - { 24149, VertexAttrib3fvARB_remap_index }, - { 29889, VertexAttrib3sARB_remap_index }, - { 21713, VertexAttrib3svARB_remap_index }, - { 5331, VertexAttrib4NbvARB_remap_index }, - { 19055, VertexAttrib4NivARB_remap_index }, - { 24104, VertexAttrib4NsvARB_remap_index }, - { 25110, VertexAttrib4NubARB_remap_index }, - { 33669, VertexAttrib4NubvARB_remap_index }, - { 20442, VertexAttrib4NuivARB_remap_index }, - { 3361, VertexAttrib4NusvARB_remap_index }, - { 11625, VertexAttrib4bvARB_remap_index }, - { 28578, VertexAttrib4dARB_remap_index }, - { 22786, VertexAttrib4dvARB_remap_index }, - { 12190, VertexAttrib4fARB_remap_index }, - { 12594, VertexAttrib4fvARB_remap_index }, - { 10975, VertexAttrib4ivARB_remap_index }, - { 18462, VertexAttrib4sARB_remap_index }, - { 32858, VertexAttrib4svARB_remap_index }, - { 17751, VertexAttrib4ubvARB_remap_index }, - { 32132, VertexAttrib4uivARB_remap_index }, - { 21524, VertexAttrib4usvARB_remap_index }, - { 23627, VertexAttribPointerARB_remap_index }, - { 34572, BindBufferARB_remap_index }, - { 7476, BufferDataARB_remap_index }, - { 1531, BufferSubDataARB_remap_index }, - { 32418, DeleteBuffersARB_remap_index }, - { 34855, GenBuffersARB_remap_index }, - { 18825, GetBufferParameterivARB_remap_index }, - { 17898, GetBufferPointervARB_remap_index }, - { 1484, GetBufferSubDataARB_remap_index }, - { 32080, IsBufferARB_remap_index }, - { 28052, MapBufferARB_remap_index }, - { 33073, UnmapBufferARB_remap_index }, + { 6513, CompressedTexImage1DARB_remap_index }, + { 25878, CompressedTexImage2DARB_remap_index }, + { 4350, CompressedTexImage3DARB_remap_index }, + { 19592, CompressedTexSubImage1DARB_remap_index }, + { 2187, CompressedTexSubImage2DARB_remap_index }, + { 21848, CompressedTexSubImage3DARB_remap_index }, + { 30421, GetCompressedTexImageARB_remap_index }, + { 4144, DisableVertexAttribArrayARB_remap_index }, + { 31964, EnableVertexAttribArrayARB_remap_index }, + { 33942, GetProgramEnvParameterdvARB_remap_index }, + { 25230, GetProgramEnvParameterfvARB_remap_index }, + { 29277, GetProgramLocalParameterdvARB_remap_index }, + { 8791, GetProgramLocalParameterfvARB_remap_index }, + { 19768, GetProgramStringARB_remap_index }, + { 29472, GetProgramivARB_remap_index }, + { 22043, GetVertexAttribdvARB_remap_index }, + { 17160, GetVertexAttribfvARB_remap_index }, + { 10483, GetVertexAttribivARB_remap_index }, + { 20863, ProgramEnvParameter4dARB_remap_index }, + { 26994, ProgramEnvParameter4dvARB_remap_index }, + { 18018, ProgramEnvParameter4fARB_remap_index }, + { 9666, ProgramEnvParameter4fvARB_remap_index }, + { 4313, ProgramLocalParameter4dARB_remap_index }, + { 13933, ProgramLocalParameter4dvARB_remap_index }, + { 31375, ProgramLocalParameter4fARB_remap_index }, + { 27640, ProgramLocalParameter4fvARB_remap_index }, + { 30114, ProgramStringARB_remap_index }, + { 21157, VertexAttrib1dARB_remap_index }, + { 16761, VertexAttrib1dvARB_remap_index }, + { 4509, VertexAttrib1fARB_remap_index }, + { 34968, VertexAttrib1fvARB_remap_index }, + { 7841, VertexAttrib1sARB_remap_index }, + { 2382, VertexAttrib1svARB_remap_index }, + { 16174, VertexAttrib2dARB_remap_index }, + { 18741, VertexAttrib2dvARB_remap_index }, + { 1714, VertexAttrib2fARB_remap_index }, + { 18854, VertexAttrib2fvARB_remap_index }, + { 34568, VertexAttrib2sARB_remap_index }, + { 33579, VertexAttrib2svARB_remap_index }, + { 12108, VertexAttrib3dARB_remap_index }, + { 9333, VertexAttrib3dvARB_remap_index }, + { 1801, VertexAttrib3fARB_remap_index }, + { 24221, VertexAttrib3fvARB_remap_index }, + { 29961, VertexAttrib3sARB_remap_index }, + { 21785, VertexAttrib3svARB_remap_index }, + { 5403, VertexAttrib4NbvARB_remap_index }, + { 19127, VertexAttrib4NivARB_remap_index }, + { 24176, VertexAttrib4NsvARB_remap_index }, + { 25182, VertexAttrib4NubARB_remap_index }, + { 33825, VertexAttrib4NubvARB_remap_index }, + { 20514, VertexAttrib4NuivARB_remap_index }, + { 3382, VertexAttrib4NusvARB_remap_index }, + { 11697, VertexAttrib4bvARB_remap_index }, + { 28650, VertexAttrib4dARB_remap_index }, + { 22858, VertexAttrib4dvARB_remap_index }, + { 12262, VertexAttrib4fARB_remap_index }, + { 12666, VertexAttrib4fvARB_remap_index }, + { 11047, VertexAttrib4ivARB_remap_index }, + { 18534, VertexAttrib4sARB_remap_index }, + { 33014, VertexAttrib4svARB_remap_index }, + { 17823, VertexAttrib4ubvARB_remap_index }, + { 32288, VertexAttrib4uivARB_remap_index }, + { 21596, VertexAttrib4usvARB_remap_index }, + { 23699, VertexAttribPointerARB_remap_index }, + { 34728, BindBufferARB_remap_index }, + { 7548, BufferDataARB_remap_index }, + { 1552, BufferSubDataARB_remap_index }, + { 32574, DeleteBuffersARB_remap_index }, + { 35011, GenBuffersARB_remap_index }, + { 18897, GetBufferParameterivARB_remap_index }, + { 17970, GetBufferPointervARB_remap_index }, + { 1505, GetBufferSubDataARB_remap_index }, + { 32236, IsBufferARB_remap_index }, + { 28124, MapBufferARB_remap_index }, + { 33229, UnmapBufferARB_remap_index }, { 332, BeginQueryARB_remap_index }, - { 21180, DeleteQueriesARB_remap_index }, - { 12913, EndQueryARB_remap_index }, - { 30767, GenQueriesARB_remap_index }, - { 2058, GetQueryObjectivARB_remap_index }, - { 18506, GetQueryObjectuivARB_remap_index }, - { 1837, GetQueryivARB_remap_index }, - { 21431, IsQueryARB_remap_index }, - { 8871, AttachObjectARB_remap_index }, - { 19893, CompileShaderARB_remap_index }, - { 3473, CreateProgramObjectARB_remap_index }, - { 7421, CreateShaderObjectARB_remap_index }, - { 15385, DeleteObjectARB_remap_index }, - { 25597, DetachObjectARB_remap_index }, - { 12658, GetActiveUniformARB_remap_index }, - { 10086, GetAttachedObjectsARB_remap_index }, - { 10393, GetHandleARB_remap_index }, - { 34605, GetInfoLogARB_remap_index }, - { 33740, GetObjectParameterfvARB_remap_index }, - { 29079, GetObjectParameterivARB_remap_index }, - { 30525, GetShaderSourceARB_remap_index }, - { 29749, GetUniformLocationARB_remap_index }, - { 25380, GetUniformfvARB_remap_index }, - { 13436, GetUniformivARB_remap_index }, - { 21569, LinkProgramARB_remap_index }, - { 21627, ShaderSourceARB_remap_index }, - { 8143, Uniform1fARB_remap_index }, - { 31470, Uniform1fvARB_remap_index }, - { 23575, Uniform1iARB_remap_index }, - { 22424, Uniform1ivARB_remap_index }, - { 2310, Uniform2fARB_remap_index }, - { 15221, Uniform2fvARB_remap_index }, - { 27939, Uniform2iARB_remap_index }, - { 2447, Uniform2ivARB_remap_index }, - { 20003, Uniform3fARB_remap_index }, - { 10116, Uniform3fvARB_remap_index }, - { 7032, Uniform3iARB_remap_index }, - { 18004, Uniform3ivARB_remap_index }, - { 20597, Uniform4fARB_remap_index }, - { 25244, Uniform4fvARB_remap_index }, - { 26531, Uniform4iARB_remap_index }, - { 21937, Uniform4ivARB_remap_index }, - { 8923, UniformMatrix2fvARB_remap_index }, + { 21252, DeleteQueriesARB_remap_index }, + { 12985, EndQueryARB_remap_index }, + { 30923, GenQueriesARB_remap_index }, + { 2079, GetQueryObjectivARB_remap_index }, + { 18578, GetQueryObjectuivARB_remap_index }, + { 1858, GetQueryivARB_remap_index }, + { 21503, IsQueryARB_remap_index }, + { 8943, AttachObjectARB_remap_index }, + { 19965, CompileShaderARB_remap_index }, + { 3494, CreateProgramObjectARB_remap_index }, + { 7493, CreateShaderObjectARB_remap_index }, + { 15457, DeleteObjectARB_remap_index }, + { 25669, DetachObjectARB_remap_index }, + { 12730, GetActiveUniformARB_remap_index }, + { 10158, GetAttachedObjectsARB_remap_index }, + { 10465, GetHandleARB_remap_index }, + { 34761, GetInfoLogARB_remap_index }, + { 33896, GetObjectParameterfvARB_remap_index }, + { 29151, GetObjectParameterivARB_remap_index }, + { 30681, GetShaderSourceARB_remap_index }, + { 29821, GetUniformLocationARB_remap_index }, + { 25452, GetUniformfvARB_remap_index }, + { 13508, GetUniformivARB_remap_index }, + { 21641, LinkProgramARB_remap_index }, + { 21699, ShaderSourceARB_remap_index }, + { 8215, Uniform1fARB_remap_index }, + { 31626, Uniform1fvARB_remap_index }, + { 23647, Uniform1iARB_remap_index }, + { 22496, Uniform1ivARB_remap_index }, + { 2331, Uniform2fARB_remap_index }, + { 15293, Uniform2fvARB_remap_index }, + { 28011, Uniform2iARB_remap_index }, + { 2468, Uniform2ivARB_remap_index }, + { 20075, Uniform3fARB_remap_index }, + { 10188, Uniform3fvARB_remap_index }, + { 7104, Uniform3iARB_remap_index }, + { 18076, Uniform3ivARB_remap_index }, + { 20669, Uniform4fARB_remap_index }, + { 25316, Uniform4fvARB_remap_index }, + { 26603, Uniform4iARB_remap_index }, + { 22009, Uniform4ivARB_remap_index }, + { 8995, UniformMatrix2fvARB_remap_index }, { 17, UniformMatrix3fvARB_remap_index }, - { 2883, UniformMatrix4fvARB_remap_index }, - { 27034, UseProgramObjectARB_remap_index }, - { 15790, ValidateProgramARB_remap_index }, - { 22829, BindAttribLocationARB_remap_index }, - { 5376, GetActiveAttribARB_remap_index }, - { 17618, GetAttribLocationARB_remap_index }, - { 31130, DrawBuffersARB_remap_index }, - { 30963, ClampColorARB_remap_index }, - { 19100, DrawArraysInstancedARB_remap_index }, - { 7093, DrawElementsInstancedARB_remap_index }, - { 13966, RenderbufferStorageMultisample_remap_index }, - { 14437, FramebufferTextureARB_remap_index }, - { 27470, FramebufferTextureFaceARB_remap_index }, - { 25746, ProgramParameteriARB_remap_index }, - { 6613, VertexAttribDivisorARB_remap_index }, - { 20645, FlushMappedBufferRange_remap_index }, - { 29516, MapBufferRange_remap_index }, - { 29423, TexBufferARB_remap_index }, - { 17418, BindVertexArray_remap_index }, - { 15594, GenVertexArrays_remap_index }, - { 32010, CopyBufferSubData_remap_index }, - { 32962, ClientWaitSync_remap_index }, - { 2802, DeleteSync_remap_index }, - { 7810, FenceSync_remap_index }, - { 16161, GetInteger64v_remap_index }, - { 24211, GetSynciv_remap_index }, - { 31069, IsSync_remap_index }, - { 10017, WaitSync_remap_index }, - { 4091, DrawElementsBaseVertex_remap_index }, - { 19748, DrawElementsInstancedBaseVertex_remap_index }, - { 32322, DrawRangeElementsBaseVertex_remap_index }, - { 28083, MultiDrawElementsBaseVertex_remap_index }, - { 17684, BlendEquationSeparateiARB_remap_index }, - { 18918, BlendEquationiARB_remap_index }, - { 13375, BlendFuncSeparateiARB_remap_index }, - { 10459, BlendFunciARB_remap_index }, - { 8785, BindSampler_remap_index }, - { 4467, DeleteSamplers_remap_index }, - { 21018, GenSamplers_remap_index }, - { 31001, GetSamplerParameterIiv_remap_index }, - { 20539, GetSamplerParameterIuiv_remap_index }, - { 5208, GetSamplerParameterfv_remap_index }, - { 27191, GetSamplerParameteriv_remap_index }, - { 15139, IsSampler_remap_index }, - { 17371, SamplerParameterIiv_remap_index }, - { 32361, SamplerParameterIuiv_remap_index }, - { 23884, SamplerParameterf_remap_index }, - { 17545, SamplerParameterfv_remap_index }, - { 23859, SamplerParameteri_remap_index }, - { 19294, SamplerParameteriv_remap_index }, - { 20101, ColorP3ui_remap_index }, - { 32609, ColorP3uiv_remap_index }, - { 22530, ColorP4ui_remap_index }, - { 4234, ColorP4uiv_remap_index }, - { 26733, MultiTexCoordP1ui_remap_index }, - { 13349, MultiTexCoordP1uiv_remap_index }, - { 1668, MultiTexCoordP2ui_remap_index }, - { 31782, MultiTexCoordP2uiv_remap_index }, - { 14751, MultiTexCoordP3ui_remap_index }, - { 11051, MultiTexCoordP3uiv_remap_index }, - { 23428, MultiTexCoordP4ui_remap_index }, - { 3953, MultiTexCoordP4uiv_remap_index }, - { 31428, NormalP3ui_remap_index }, - { 20277, NormalP3uiv_remap_index }, - { 26436, SecondaryColorP3ui_remap_index }, - { 20295, SecondaryColorP3uiv_remap_index }, - { 2783, TexCoordP1ui_remap_index }, - { 2550, TexCoordP1uiv_remap_index }, - { 15670, TexCoordP2ui_remap_index }, + { 2904, UniformMatrix4fvARB_remap_index }, + { 27106, UseProgramObjectARB_remap_index }, + { 15862, ValidateProgramARB_remap_index }, + { 22901, BindAttribLocationARB_remap_index }, + { 5448, GetActiveAttribARB_remap_index }, + { 17690, GetAttribLocationARB_remap_index }, + { 31286, DrawBuffersARB_remap_index }, + { 31119, ClampColorARB_remap_index }, + { 19172, DrawArraysInstancedARB_remap_index }, + { 7165, DrawElementsInstancedARB_remap_index }, + { 14038, RenderbufferStorageMultisample_remap_index }, + { 14509, FramebufferTextureARB_remap_index }, + { 27542, FramebufferTextureFaceARB_remap_index }, + { 25818, ProgramParameteriARB_remap_index }, + { 6685, VertexAttribDivisorARB_remap_index }, + { 20717, FlushMappedBufferRange_remap_index }, + { 29588, MapBufferRange_remap_index }, + { 29495, TexBufferARB_remap_index }, + { 17490, BindVertexArray_remap_index }, + { 15666, GenVertexArrays_remap_index }, + { 32166, CopyBufferSubData_remap_index }, + { 33118, ClientWaitSync_remap_index }, + { 2823, DeleteSync_remap_index }, + { 7882, FenceSync_remap_index }, + { 16233, GetInteger64v_remap_index }, + { 24283, GetSynciv_remap_index }, + { 31225, IsSync_remap_index }, + { 10089, WaitSync_remap_index }, + { 4112, DrawElementsBaseVertex_remap_index }, + { 19820, DrawElementsInstancedBaseVertex_remap_index }, + { 32478, DrawRangeElementsBaseVertex_remap_index }, + { 28155, MultiDrawElementsBaseVertex_remap_index }, + { 17756, BlendEquationSeparateiARB_remap_index }, + { 18990, BlendEquationiARB_remap_index }, + { 13447, BlendFuncSeparateiARB_remap_index }, + { 10531, BlendFunciARB_remap_index }, + { 8857, BindSampler_remap_index }, + { 4488, DeleteSamplers_remap_index }, + { 21090, GenSamplers_remap_index }, + { 31157, GetSamplerParameterIiv_remap_index }, + { 20611, GetSamplerParameterIuiv_remap_index }, + { 5280, GetSamplerParameterfv_remap_index }, + { 27263, GetSamplerParameteriv_remap_index }, + { 15211, IsSampler_remap_index }, + { 17443, SamplerParameterIiv_remap_index }, + { 32517, SamplerParameterIuiv_remap_index }, + { 23956, SamplerParameterf_remap_index }, + { 17617, SamplerParameterfv_remap_index }, + { 23931, SamplerParameteri_remap_index }, + { 19366, SamplerParameteriv_remap_index }, + { 20173, ColorP3ui_remap_index }, + { 32765, ColorP3uiv_remap_index }, + { 22602, ColorP4ui_remap_index }, + { 4255, ColorP4uiv_remap_index }, + { 26805, MultiTexCoordP1ui_remap_index }, + { 13421, MultiTexCoordP1uiv_remap_index }, + { 1689, MultiTexCoordP2ui_remap_index }, + { 31938, MultiTexCoordP2uiv_remap_index }, + { 14823, MultiTexCoordP3ui_remap_index }, + { 11123, MultiTexCoordP3uiv_remap_index }, + { 23500, MultiTexCoordP4ui_remap_index }, + { 3974, MultiTexCoordP4uiv_remap_index }, + { 31584, NormalP3ui_remap_index }, + { 20349, NormalP3uiv_remap_index }, + { 26508, SecondaryColorP3ui_remap_index }, + { 20367, SecondaryColorP3uiv_remap_index }, + { 2804, TexCoordP1ui_remap_index }, + { 2571, TexCoordP1uiv_remap_index }, + { 15742, TexCoordP2ui_remap_index }, { 216, TexCoordP2uiv_remap_index }, - { 6320, TexCoordP3ui_remap_index }, - { 23812, TexCoordP3uiv_remap_index }, - { 1966, TexCoordP4ui_remap_index }, - { 5780, TexCoordP4uiv_remap_index }, - { 10502, VertexAttribP1ui_remap_index }, - { 14938, VertexAttribP1uiv_remap_index }, - { 31445, VertexAttribP2ui_remap_index }, - { 5572, VertexAttribP2uiv_remap_index }, - { 3426, VertexAttribP3ui_remap_index }, - { 21036, VertexAttribP3uiv_remap_index }, - { 14964, VertexAttribP4ui_remap_index }, - { 16946, VertexAttribP4uiv_remap_index }, - { 5314, VertexP2ui_remap_index }, - { 16516, VertexP2uiv_remap_index }, - { 2430, VertexP3ui_remap_index }, - { 17466, VertexP3uiv_remap_index }, - { 10045, VertexP4ui_remap_index }, - { 3408, VertexP4uiv_remap_index }, - { 5598, BindTransformFeedback_remap_index }, - { 3500, DeleteTransformFeedbacks_remap_index }, - { 7065, DrawTransformFeedback_remap_index }, - { 10253, GenTransformFeedbacks_remap_index }, - { 29932, IsTransformFeedback_remap_index }, - { 27663, PauseTransformFeedback_remap_index }, - { 6081, ResumeTransformFeedback_remap_index }, - { 23149, ClearDepthf_remap_index }, - { 7369, DepthRangef_remap_index }, - { 15406, GetShaderPrecisionFormat_remap_index }, - { 10672, ReleaseShaderCompiler_remap_index }, - { 11668, ShaderBinary_remap_index }, + { 6392, TexCoordP3ui_remap_index }, + { 23884, TexCoordP3uiv_remap_index }, + { 1987, TexCoordP4ui_remap_index }, + { 5852, TexCoordP4uiv_remap_index }, + { 10574, VertexAttribP1ui_remap_index }, + { 15010, VertexAttribP1uiv_remap_index }, + { 31601, VertexAttribP2ui_remap_index }, + { 5644, VertexAttribP2uiv_remap_index }, + { 3447, VertexAttribP3ui_remap_index }, + { 21108, VertexAttribP3uiv_remap_index }, + { 15036, VertexAttribP4ui_remap_index }, + { 17018, VertexAttribP4uiv_remap_index }, + { 5386, VertexP2ui_remap_index }, + { 16588, VertexP2uiv_remap_index }, + { 2451, VertexP3ui_remap_index }, + { 17538, VertexP3uiv_remap_index }, + { 10117, VertexP4ui_remap_index }, + { 3429, VertexP4uiv_remap_index }, + { 5670, BindTransformFeedback_remap_index }, + { 3521, DeleteTransformFeedbacks_remap_index }, + { 7137, DrawTransformFeedback_remap_index }, + { 10325, GenTransformFeedbacks_remap_index }, + { 30004, IsTransformFeedback_remap_index }, + { 27735, PauseTransformFeedback_remap_index }, + { 6153, ResumeTransformFeedback_remap_index }, + { 23221, ClearDepthf_remap_index }, + { 7441, DepthRangef_remap_index }, + { 15478, GetShaderPrecisionFormat_remap_index }, + { 10744, ReleaseShaderCompiler_remap_index }, + { 11740, ShaderBinary_remap_index }, { 985, GetGraphicsResetStatusARB_remap_index }, - { 26311, GetnColorTableARB_remap_index }, - { 8554, GetnCompressedTexImageARB_remap_index }, - { 4183, GetnConvolutionFilterARB_remap_index }, - { 16732, GetnHistogramARB_remap_index }, - { 25070, GetnMapdvARB_remap_index }, - { 23606, GetnMapfvARB_remap_index }, - { 2289, GetnMapivARB_remap_index }, - { 18266, GetnMinmaxARB_remap_index }, - { 4833, GetnPixelMapfvARB_remap_index }, - { 20416, GetnPixelMapuivARB_remap_index }, - { 3153, GetnPixelMapusvARB_remap_index }, - { 1364, GetnPolygonStippleARB_remap_index }, - { 22614, GetnSeparableFilterARB_remap_index }, - { 34454, GetnTexImageARB_remap_index }, - { 19723, GetnUniformdvARB_remap_index }, - { 4905, GetnUniformfvARB_remap_index }, - { 10527, GetnUniformivARB_remap_index }, - { 24060, GetnUniformuivARB_remap_index }, - { 3067, ReadnPixelsARB_remap_index }, - { 5949, PolygonOffsetEXT_remap_index }, - { 24833, GetPixelTexGenParameterfvSGIS_remap_index }, - { 4783, GetPixelTexGenParameterivSGIS_remap_index }, - { 24566, PixelTexGenParameterfSGIS_remap_index }, + { 26383, GetnColorTableARB_remap_index }, + { 8626, GetnCompressedTexImageARB_remap_index }, + { 4204, GetnConvolutionFilterARB_remap_index }, + { 16804, GetnHistogramARB_remap_index }, + { 25142, GetnMapdvARB_remap_index }, + { 23678, GetnMapfvARB_remap_index }, + { 2310, GetnMapivARB_remap_index }, + { 18338, GetnMinmaxARB_remap_index }, + { 4876, GetnPixelMapfvARB_remap_index }, + { 20488, GetnPixelMapuivARB_remap_index }, + { 3174, GetnPixelMapusvARB_remap_index }, + { 1385, GetnPolygonStippleARB_remap_index }, + { 22686, GetnSeparableFilterARB_remap_index }, + { 34610, GetnTexImageARB_remap_index }, + { 19795, GetnUniformdvARB_remap_index }, + { 4977, GetnUniformfvARB_remap_index }, + { 10599, GetnUniformivARB_remap_index }, + { 24132, GetnUniformuivARB_remap_index }, + { 3088, ReadnPixelsARB_remap_index }, + { 1272, TexStorage1D_remap_index }, + { 4766, TexStorage2D_remap_index }, + { 30610, TexStorage3D_remap_index }, + { 4901, TextureStorage1DEXT_remap_index }, + { 30391, TextureStorage2DEXT_remap_index }, + { 30185, TextureStorage3DEXT_remap_index }, + { 6021, PolygonOffsetEXT_remap_index }, + { 24905, GetPixelTexGenParameterfvSGIS_remap_index }, + { 4826, GetPixelTexGenParameterivSGIS_remap_index }, + { 24638, PixelTexGenParameterfSGIS_remap_index }, { 644, PixelTexGenParameterfvSGIS_remap_index }, - { 13474, PixelTexGenParameteriSGIS_remap_index }, - { 14611, PixelTexGenParameterivSGIS_remap_index }, - { 19419, SampleMaskSGIS_remap_index }, - { 21371, SamplePatternSGIS_remap_index }, - { 28012, ColorPointerEXT_remap_index }, - { 18712, EdgeFlagPointerEXT_remap_index }, - { 6686, IndexPointerEXT_remap_index }, - { 6766, NormalPointerEXT_remap_index }, - { 16800, TexCoordPointerEXT_remap_index }, - { 7599, VertexPointerEXT_remap_index }, - { 3867, PointParameterfEXT_remap_index }, - { 8450, PointParameterfvEXT_remap_index }, - { 33838, LockArraysEXT_remap_index }, - { 15854, UnlockArraysEXT_remap_index }, - { 1272, SecondaryColor3bEXT_remap_index }, - { 8643, SecondaryColor3bvEXT_remap_index }, - { 11178, SecondaryColor3dEXT_remap_index }, - { 27240, SecondaryColor3dvEXT_remap_index }, - { 29798, SecondaryColor3fEXT_remap_index }, - { 19456, SecondaryColor3fvEXT_remap_index }, + { 13546, PixelTexGenParameteriSGIS_remap_index }, + { 14683, PixelTexGenParameterivSGIS_remap_index }, + { 19491, SampleMaskSGIS_remap_index }, + { 21443, SamplePatternSGIS_remap_index }, + { 28084, ColorPointerEXT_remap_index }, + { 18784, EdgeFlagPointerEXT_remap_index }, + { 6758, IndexPointerEXT_remap_index }, + { 6838, NormalPointerEXT_remap_index }, + { 16872, TexCoordPointerEXT_remap_index }, + { 7671, VertexPointerEXT_remap_index }, + { 3888, PointParameterfEXT_remap_index }, + { 8522, PointParameterfvEXT_remap_index }, + { 33994, LockArraysEXT_remap_index }, + { 15926, UnlockArraysEXT_remap_index }, + { 1293, SecondaryColor3bEXT_remap_index }, + { 8715, SecondaryColor3bvEXT_remap_index }, + { 11250, SecondaryColor3dEXT_remap_index }, + { 27312, SecondaryColor3dvEXT_remap_index }, + { 29870, SecondaryColor3fEXT_remap_index }, + { 19528, SecondaryColor3fvEXT_remap_index }, { 490, SecondaryColor3iEXT_remap_index }, - { 17136, SecondaryColor3ivEXT_remap_index }, - { 10760, SecondaryColor3sEXT_remap_index }, - { 32626, SecondaryColor3svEXT_remap_index }, - { 28915, SecondaryColor3ubEXT_remap_index }, - { 22720, SecondaryColor3ubvEXT_remap_index }, - { 13716, SecondaryColor3uiEXT_remap_index }, - { 24453, SecondaryColor3uivEXT_remap_index }, - { 27520, SecondaryColor3usEXT_remap_index }, - { 13789, SecondaryColor3usvEXT_remap_index }, - { 12537, SecondaryColorPointerEXT_remap_index }, - { 27334, MultiDrawArraysEXT_remap_index }, - { 22359, MultiDrawElementsEXT_remap_index }, - { 22570, FogCoordPointerEXT_remap_index }, - { 4956, FogCoorddEXT_remap_index }, - { 33239, FogCoorddvEXT_remap_index }, - { 5073, FogCoordfEXT_remap_index }, - { 28838, FogCoordfvEXT_remap_index }, - { 12637, PixelTexGenSGIX_remap_index }, - { 29443, BlendFuncSeparateEXT_remap_index }, - { 7511, FlushVertexArrayRangeNV_remap_index }, - { 5898, VertexArrayRangeNV_remap_index }, - { 29863, CombinerInputNV_remap_index }, - { 2232, CombinerOutputNV_remap_index }, - { 32779, CombinerParameterfNV_remap_index }, - { 5752, CombinerParameterfvNV_remap_index }, - { 23909, CombinerParameteriNV_remap_index }, - { 34254, CombinerParameterivNV_remap_index }, - { 7887, FinalCombinerInputNV_remap_index }, - { 1629, GetCombinerInputParameterfvNV_remap_index }, - { 34091, GetCombinerInputParameterivNV_remap_index }, - { 14712, GetCombinerOutputParameterfvNV_remap_index }, - { 14540, GetCombinerOutputParameterivNV_remap_index }, - { 7273, GetFinalCombinerInputParameterfvNV_remap_index }, - { 26378, GetFinalCombinerInputParameterivNV_remap_index }, - { 13327, ResizeBuffersMESA_remap_index }, - { 11863, WindowPos2dMESA_remap_index }, + { 17208, SecondaryColor3ivEXT_remap_index }, + { 10832, SecondaryColor3sEXT_remap_index }, + { 32782, SecondaryColor3svEXT_remap_index }, + { 28987, SecondaryColor3ubEXT_remap_index }, + { 22792, SecondaryColor3ubvEXT_remap_index }, + { 13788, SecondaryColor3uiEXT_remap_index }, + { 24525, SecondaryColor3uivEXT_remap_index }, + { 27592, SecondaryColor3usEXT_remap_index }, + { 13861, SecondaryColor3usvEXT_remap_index }, + { 12609, SecondaryColorPointerEXT_remap_index }, + { 27406, MultiDrawArraysEXT_remap_index }, + { 22431, MultiDrawElementsEXT_remap_index }, + { 22642, FogCoordPointerEXT_remap_index }, + { 5028, FogCoorddEXT_remap_index }, + { 33395, FogCoorddvEXT_remap_index }, + { 5145, FogCoordfEXT_remap_index }, + { 28910, FogCoordfvEXT_remap_index }, + { 12709, PixelTexGenSGIX_remap_index }, + { 29515, BlendFuncSeparateEXT_remap_index }, + { 7583, FlushVertexArrayRangeNV_remap_index }, + { 5970, VertexArrayRangeNV_remap_index }, + { 29935, CombinerInputNV_remap_index }, + { 2253, CombinerOutputNV_remap_index }, + { 32935, CombinerParameterfNV_remap_index }, + { 5824, CombinerParameterfvNV_remap_index }, + { 23981, CombinerParameteriNV_remap_index }, + { 34410, CombinerParameterivNV_remap_index }, + { 7959, FinalCombinerInputNV_remap_index }, + { 1650, GetCombinerInputParameterfvNV_remap_index }, + { 34247, GetCombinerInputParameterivNV_remap_index }, + { 14784, GetCombinerOutputParameterfvNV_remap_index }, + { 14612, GetCombinerOutputParameterivNV_remap_index }, + { 7345, GetFinalCombinerInputParameterfvNV_remap_index }, + { 26450, GetFinalCombinerInputParameterivNV_remap_index }, + { 13399, ResizeBuffersMESA_remap_index }, + { 11935, WindowPos2dMESA_remap_index }, { 1065, WindowPos2dvMESA_remap_index }, - { 35158, WindowPos2fMESA_remap_index }, - { 8588, WindowPos2fvMESA_remap_index }, - { 19366, WindowPos2iMESA_remap_index }, - { 21844, WindowPos2ivMESA_remap_index }, - { 22458, WindowPos2sMESA_remap_index }, - { 6355, WindowPos2svMESA_remap_index }, - { 8379, WindowPos3dMESA_remap_index }, - { 14883, WindowPos3dvMESA_remap_index }, + { 35314, WindowPos2fMESA_remap_index }, + { 8660, WindowPos2fvMESA_remap_index }, + { 19438, WindowPos2iMESA_remap_index }, + { 21916, WindowPos2ivMESA_remap_index }, + { 22530, WindowPos2sMESA_remap_index }, + { 6427, WindowPos2svMESA_remap_index }, + { 8451, WindowPos3dMESA_remap_index }, + { 14955, WindowPos3dvMESA_remap_index }, { 536, WindowPos3fMESA_remap_index }, - { 15915, WindowPos3fvMESA_remap_index }, - { 25639, WindowPos3iMESA_remap_index }, - { 31955, WindowPos3ivMESA_remap_index }, - { 20164, WindowPos3sMESA_remap_index }, - { 33495, WindowPos3svMESA_remap_index }, - { 11814, WindowPos4dMESA_remap_index }, - { 18142, WindowPos4dvMESA_remap_index }, - { 14842, WindowPos4fMESA_remap_index }, - { 32516, WindowPos4fvMESA_remap_index }, - { 32108, WindowPos4iMESA_remap_index }, - { 13166, WindowPos4ivMESA_remap_index }, - { 20392, WindowPos4sMESA_remap_index }, - { 3451, WindowPos4svMESA_remap_index }, - { 14579, MultiModeDrawArraysIBM_remap_index }, - { 30638, MultiModeDrawElementsIBM_remap_index }, - { 12941, DeleteFencesNV_remap_index }, - { 29710, FinishFenceNV_remap_index }, - { 4015, GenFencesNV_remap_index }, - { 18122, GetFenceivNV_remap_index }, - { 8856, IsFenceNV_remap_index }, - { 14467, SetFenceNV_remap_index }, - { 4544, TestFenceNV_remap_index }, - { 33466, AreProgramsResidentNV_remap_index }, - { 32821, BindProgramNV_remap_index }, - { 27603, DeleteProgramsNV_remap_index }, - { 22938, ExecuteProgramNV_remap_index }, - { 35051, GenProgramsNV_remap_index }, - { 24938, GetProgramParameterdvNV_remap_index }, - { 11240, GetProgramParameterfvNV_remap_index }, - { 27986, GetProgramStringNV_remap_index }, - { 26016, GetProgramivNV_remap_index }, - { 25193, GetTrackMatrixivNV_remap_index }, - { 27780, GetVertexAttribPointervNV_remap_index }, - { 10855, GetVertexAttribdvNV_remap_index }, - { 9912, GetVertexAttribfvNV_remap_index }, - { 19669, GetVertexAttribivNV_remap_index }, - { 20675, IsProgramNV_remap_index }, - { 9995, LoadProgramNV_remap_index }, - { 29539, ProgramParameters4dvNV_remap_index }, - { 25946, ProgramParameters4fvNV_remap_index }, - { 22148, RequestResidentProgramsNV_remap_index }, - { 32300, TrackMatrixNV_remap_index }, - { 34068, VertexAttrib1dNV_remap_index }, - { 14378, VertexAttrib1dvNV_remap_index }, - { 30144, VertexAttrib1fNV_remap_index }, - { 2589, VertexAttrib1fvNV_remap_index }, - { 32573, VertexAttrib1sNV_remap_index }, - { 15988, VertexAttrib1svNV_remap_index }, - { 5264, VertexAttrib2dNV_remap_index }, - { 14271, VertexAttrib2dvNV_remap_index }, - { 21603, VertexAttrib2fNV_remap_index }, - { 13837, VertexAttrib2fvNV_remap_index }, - { 6567, VertexAttrib2sNV_remap_index }, - { 20218, VertexAttrib2svNV_remap_index }, - { 12011, VertexAttrib3dNV_remap_index }, - { 33716, VertexAttrib3dvNV_remap_index }, - { 11026, VertexAttrib3fNV_remap_index }, - { 26338, VertexAttrib3fvNV_remap_index }, - { 23682, VertexAttrib3sNV_remap_index }, - { 25220, VertexAttrib3svNV_remap_index }, - { 30612, VertexAttrib4dNV_remap_index }, - { 35088, VertexAttrib4dvNV_remap_index }, - { 5692, VertexAttrib4fNV_remap_index }, - { 10062, VertexAttrib4fvNV_remap_index }, - { 28462, VertexAttrib4sNV_remap_index }, - { 1442, VertexAttrib4svNV_remap_index }, - { 5439, VertexAttrib4ubNV_remap_index }, + { 15987, WindowPos3fvMESA_remap_index }, + { 25711, WindowPos3iMESA_remap_index }, + { 32111, WindowPos3ivMESA_remap_index }, + { 20236, WindowPos3sMESA_remap_index }, + { 33651, WindowPos3svMESA_remap_index }, + { 11886, WindowPos4dMESA_remap_index }, + { 18214, WindowPos4dvMESA_remap_index }, + { 14914, WindowPos4fMESA_remap_index }, + { 32672, WindowPos4fvMESA_remap_index }, + { 32264, WindowPos4iMESA_remap_index }, + { 13238, WindowPos4ivMESA_remap_index }, + { 20464, WindowPos4sMESA_remap_index }, + { 3472, WindowPos4svMESA_remap_index }, + { 14651, MultiModeDrawArraysIBM_remap_index }, + { 30794, MultiModeDrawElementsIBM_remap_index }, + { 13013, DeleteFencesNV_remap_index }, + { 29782, FinishFenceNV_remap_index }, + { 4036, GenFencesNV_remap_index }, + { 18194, GetFenceivNV_remap_index }, + { 8928, IsFenceNV_remap_index }, + { 14539, SetFenceNV_remap_index }, + { 4565, TestFenceNV_remap_index }, + { 33622, AreProgramsResidentNV_remap_index }, + { 32977, BindProgramNV_remap_index }, + { 27675, DeleteProgramsNV_remap_index }, + { 23010, ExecuteProgramNV_remap_index }, + { 35207, GenProgramsNV_remap_index }, + { 25010, GetProgramParameterdvNV_remap_index }, + { 11312, GetProgramParameterfvNV_remap_index }, + { 28058, GetProgramStringNV_remap_index }, + { 26088, GetProgramivNV_remap_index }, + { 25265, GetTrackMatrixivNV_remap_index }, + { 27852, GetVertexAttribPointervNV_remap_index }, + { 10927, GetVertexAttribdvNV_remap_index }, + { 9984, GetVertexAttribfvNV_remap_index }, + { 19741, GetVertexAttribivNV_remap_index }, + { 20747, IsProgramNV_remap_index }, + { 10067, LoadProgramNV_remap_index }, + { 29611, ProgramParameters4dvNV_remap_index }, + { 26018, ProgramParameters4fvNV_remap_index }, + { 22220, RequestResidentProgramsNV_remap_index }, + { 32456, TrackMatrixNV_remap_index }, + { 34224, VertexAttrib1dNV_remap_index }, + { 14450, VertexAttrib1dvNV_remap_index }, + { 30247, VertexAttrib1fNV_remap_index }, + { 2610, VertexAttrib1fvNV_remap_index }, + { 32729, VertexAttrib1sNV_remap_index }, + { 16060, VertexAttrib1svNV_remap_index }, + { 5336, VertexAttrib2dNV_remap_index }, + { 14343, VertexAttrib2dvNV_remap_index }, + { 21675, VertexAttrib2fNV_remap_index }, + { 13909, VertexAttrib2fvNV_remap_index }, + { 6639, VertexAttrib2sNV_remap_index }, + { 20290, VertexAttrib2svNV_remap_index }, + { 12083, VertexAttrib3dNV_remap_index }, + { 33872, VertexAttrib3dvNV_remap_index }, + { 11098, VertexAttrib3fNV_remap_index }, + { 26410, VertexAttrib3fvNV_remap_index }, + { 23754, VertexAttrib3sNV_remap_index }, + { 25292, VertexAttrib3svNV_remap_index }, + { 30768, VertexAttrib4dNV_remap_index }, + { 35244, VertexAttrib4dvNV_remap_index }, + { 5764, VertexAttrib4fNV_remap_index }, + { 10134, VertexAttrib4fvNV_remap_index }, + { 28534, VertexAttrib4sNV_remap_index }, + { 1463, VertexAttrib4svNV_remap_index }, + { 5511, VertexAttrib4ubNV_remap_index }, { 798, VertexAttrib4ubvNV_remap_index }, - { 23118, VertexAttribPointerNV_remap_index }, - { 2404, VertexAttribs1dvNV_remap_index }, - { 27868, VertexAttribs1fvNV_remap_index }, - { 34888, VertexAttribs1svNV_remap_index }, - { 11077, VertexAttribs2dvNV_remap_index }, - { 26995, VertexAttribs2fvNV_remap_index }, - { 18738, VertexAttribs2svNV_remap_index }, - { 5800, VertexAttribs3dvNV_remap_index }, - { 2263, VertexAttribs3fvNV_remap_index }, - { 31677, VertexAttribs3svNV_remap_index }, - { 28552, VertexAttribs4dvNV_remap_index }, - { 5872, VertexAttribs4fvNV_remap_index }, - { 34675, VertexAttribs4svNV_remap_index }, - { 31383, VertexAttribs4ubvNV_remap_index }, - { 28622, GetTexBumpParameterfvATI_remap_index }, - { 34929, GetTexBumpParameterivATI_remap_index }, - { 19846, TexBumpParameterfvATI_remap_index }, - { 22019, TexBumpParameterivATI_remap_index }, - { 16552, AlphaFragmentOp1ATI_remap_index }, - { 27286, AlphaFragmentOp2ATI_remap_index }, - { 26254, AlphaFragmentOp3ATI_remap_index }, - { 31604, BeginFragmentShaderATI_remap_index }, - { 33020, BindFragmentShaderATI_remap_index }, - { 25349, ColorFragmentOp1ATI_remap_index }, - { 4711, ColorFragmentOp2ATI_remap_index }, - { 33361, ColorFragmentOp3ATI_remap_index }, - { 6038, DeleteFragmentShaderATI_remap_index }, - { 35112, EndFragmentShaderATI_remap_index }, - { 34282, GenFragmentShadersATI_remap_index }, - { 27149, PassTexCoordATI_remap_index }, - { 7579, SampleMapATI_remap_index }, - { 28733, SetFragmentShaderConstantATI_remap_index }, + { 23190, VertexAttribPointerNV_remap_index }, + { 2425, VertexAttribs1dvNV_remap_index }, + { 27940, VertexAttribs1fvNV_remap_index }, + { 35044, VertexAttribs1svNV_remap_index }, + { 11149, VertexAttribs2dvNV_remap_index }, + { 27067, VertexAttribs2fvNV_remap_index }, + { 18810, VertexAttribs2svNV_remap_index }, + { 5872, VertexAttribs3dvNV_remap_index }, + { 2284, VertexAttribs3fvNV_remap_index }, + { 31833, VertexAttribs3svNV_remap_index }, + { 28624, VertexAttribs4dvNV_remap_index }, + { 5944, VertexAttribs4fvNV_remap_index }, + { 34831, VertexAttribs4svNV_remap_index }, + { 31539, VertexAttribs4ubvNV_remap_index }, + { 28694, GetTexBumpParameterfvATI_remap_index }, + { 35085, GetTexBumpParameterivATI_remap_index }, + { 19918, TexBumpParameterfvATI_remap_index }, + { 22091, TexBumpParameterivATI_remap_index }, + { 16624, AlphaFragmentOp1ATI_remap_index }, + { 27358, AlphaFragmentOp2ATI_remap_index }, + { 26326, AlphaFragmentOp3ATI_remap_index }, + { 31760, BeginFragmentShaderATI_remap_index }, + { 33176, BindFragmentShaderATI_remap_index }, + { 25421, ColorFragmentOp1ATI_remap_index }, + { 4732, ColorFragmentOp2ATI_remap_index }, + { 33517, ColorFragmentOp3ATI_remap_index }, + { 6110, DeleteFragmentShaderATI_remap_index }, + { 35268, EndFragmentShaderATI_remap_index }, + { 34438, GenFragmentShadersATI_remap_index }, + { 27221, PassTexCoordATI_remap_index }, + { 7651, SampleMapATI_remap_index }, + { 28805, SetFragmentShaderConstantATI_remap_index }, { 383, PointParameteriNV_remap_index }, - { 15095, PointParameterivNV_remap_index }, - { 30451, ActiveStencilFaceEXT_remap_index }, - { 29179, BindVertexArrayAPPLE_remap_index }, - { 2930, DeleteVertexArraysAPPLE_remap_index }, - { 19205, GenVertexArraysAPPLE_remap_index }, - { 25003, IsVertexArrayAPPLE_remap_index }, + { 15167, PointParameterivNV_remap_index }, + { 30584, ActiveStencilFaceEXT_remap_index }, + { 29251, BindVertexArrayAPPLE_remap_index }, + { 2951, DeleteVertexArraysAPPLE_remap_index }, + { 19277, GenVertexArraysAPPLE_remap_index }, + { 25075, IsVertexArrayAPPLE_remap_index }, { 839, GetProgramNamedParameterdvNV_remap_index }, - { 3830, GetProgramNamedParameterfvNV_remap_index }, - { 28653, ProgramNamedParameter4dNV_remap_index }, - { 15469, ProgramNamedParameter4dvNV_remap_index }, - { 9528, ProgramNamedParameter4fNV_remap_index }, - { 12502, ProgramNamedParameter4fvNV_remap_index }, - { 18053, PrimitiveRestartIndexNV_remap_index }, - { 32493, PrimitiveRestartNV_remap_index }, - { 25925, DepthBoundsEXT_remap_index }, + { 3851, GetProgramNamedParameterfvNV_remap_index }, + { 28725, ProgramNamedParameter4dNV_remap_index }, + { 15541, ProgramNamedParameter4dvNV_remap_index }, + { 9600, ProgramNamedParameter4fNV_remap_index }, + { 12574, ProgramNamedParameter4fvNV_remap_index }, + { 18125, PrimitiveRestartIndexNV_remap_index }, + { 32649, PrimitiveRestartNV_remap_index }, + { 25997, DepthBoundsEXT_remap_index }, { 1164, BlendEquationSeparateEXT_remap_index }, - { 15689, BindFramebufferEXT_remap_index }, - { 27379, BindRenderbufferEXT_remap_index }, - { 10309, CheckFramebufferStatusEXT_remap_index }, - { 24254, DeleteFramebuffersEXT_remap_index }, - { 33618, DeleteRenderbuffersEXT_remap_index }, - { 14295, FramebufferRenderbufferEXT_remap_index }, - { 14484, FramebufferTexture1DEXT_remap_index }, - { 12296, FramebufferTexture2DEXT_remap_index }, - { 11916, FramebufferTexture3DEXT_remap_index }, - { 24869, GenFramebuffersEXT_remap_index }, - { 18603, GenRenderbuffersEXT_remap_index }, - { 7315, GenerateMipmapEXT_remap_index }, - { 23211, GetFramebufferAttachmentParameterivEXT_remap_index }, - { 34188, GetRenderbufferParameterivEXT_remap_index }, - { 21899, IsFramebufferEXT_remap_index }, - { 35011, IsRenderbufferEXT_remap_index }, - { 8803, RenderbufferStorageEXT_remap_index }, + { 15761, BindFramebufferEXT_remap_index }, + { 27451, BindRenderbufferEXT_remap_index }, + { 10381, CheckFramebufferStatusEXT_remap_index }, + { 24326, DeleteFramebuffersEXT_remap_index }, + { 33774, DeleteRenderbuffersEXT_remap_index }, + { 14367, FramebufferRenderbufferEXT_remap_index }, + { 14556, FramebufferTexture1DEXT_remap_index }, + { 12368, FramebufferTexture2DEXT_remap_index }, + { 11988, FramebufferTexture3DEXT_remap_index }, + { 24941, GenFramebuffersEXT_remap_index }, + { 18675, GenRenderbuffersEXT_remap_index }, + { 7387, GenerateMipmapEXT_remap_index }, + { 23283, GetFramebufferAttachmentParameterivEXT_remap_index }, + { 34344, GetRenderbufferParameterivEXT_remap_index }, + { 21971, IsFramebufferEXT_remap_index }, + { 35167, IsRenderbufferEXT_remap_index }, + { 8875, RenderbufferStorageEXT_remap_index }, { 715, BlitFramebufferEXT_remap_index }, - { 15255, BufferParameteriAPPLE_remap_index }, - { 20707, FlushMappedBufferRangeAPPLE_remap_index }, - { 1912, BindFragDataLocationEXT_remap_index }, - { 26038, GetFragDataLocationEXT_remap_index }, - { 11355, GetUniformuivEXT_remap_index }, - { 34362, GetVertexAttribIivEXT_remap_index }, - { 4561, GetVertexAttribIuivEXT_remap_index }, - { 12774, Uniform1uiEXT_remap_index }, - { 29624, Uniform1uivEXT_remap_index }, - { 23778, Uniform2uiEXT_remap_index }, - { 4675, Uniform2uivEXT_remap_index }, - { 30891, Uniform3uiEXT_remap_index }, - { 15616, Uniform3uivEXT_remap_index }, - { 3754, Uniform4uiEXT_remap_index }, - { 9304, Uniform4uivEXT_remap_index }, - { 19584, VertexAttribI1iEXT_remap_index }, - { 5466, VertexAttribI1ivEXT_remap_index }, - { 2690, VertexAttribI1uiEXT_remap_index }, - { 13565, VertexAttribI1uivEXT_remap_index }, + { 15327, BufferParameteriAPPLE_remap_index }, + { 20779, FlushMappedBufferRangeAPPLE_remap_index }, + { 1933, BindFragDataLocationEXT_remap_index }, + { 26110, GetFragDataLocationEXT_remap_index }, + { 11427, GetUniformuivEXT_remap_index }, + { 34518, GetVertexAttribIivEXT_remap_index }, + { 4582, GetVertexAttribIuivEXT_remap_index }, + { 12846, Uniform1uiEXT_remap_index }, + { 29696, Uniform1uivEXT_remap_index }, + { 23850, Uniform2uiEXT_remap_index }, + { 4696, Uniform2uivEXT_remap_index }, + { 31047, Uniform3uiEXT_remap_index }, + { 15688, Uniform3uivEXT_remap_index }, + { 3775, Uniform4uiEXT_remap_index }, + { 9376, Uniform4uivEXT_remap_index }, + { 19656, VertexAttribI1iEXT_remap_index }, + { 5538, VertexAttribI1ivEXT_remap_index }, + { 2711, VertexAttribI1uiEXT_remap_index }, + { 13637, VertexAttribI1uivEXT_remap_index }, { 81, VertexAttribI2iEXT_remap_index }, - { 25461, VertexAttribI2ivEXT_remap_index }, - { 5826, VertexAttribI2uiEXT_remap_index }, - { 5118, VertexAttribI2uivEXT_remap_index }, - { 28254, VertexAttribI3iEXT_remap_index }, - { 26688, VertexAttribI3ivEXT_remap_index }, - { 3608, VertexAttribI3uiEXT_remap_index }, - { 32196, VertexAttribI3uivEXT_remap_index }, - { 23487, VertexAttribI4bvEXT_remap_index }, - { 15548, VertexAttribI4iEXT_remap_index }, - { 33887, VertexAttribI4ivEXT_remap_index }, - { 14198, VertexAttribI4svEXT_remap_index }, - { 17571, VertexAttribI4ubvEXT_remap_index }, - { 17199, VertexAttribI4uiEXT_remap_index }, - { 5972, VertexAttribI4uivEXT_remap_index }, - { 12079, VertexAttribI4usvEXT_remap_index }, - { 19790, VertexAttribIPointerEXT_remap_index }, - { 3223, FramebufferTextureLayerEXT_remap_index }, - { 6248, ColorMaskIndexedEXT_remap_index }, - { 20242, DisableIndexedEXT_remap_index }, - { 28299, EnableIndexedEXT_remap_index }, - { 23166, GetBooleanIndexedvEXT_remap_index }, - { 11690, GetIntegerIndexedvEXT_remap_index }, - { 24330, IsEnabledIndexedEXT_remap_index }, - { 24230, ClearColorIiEXT_remap_index }, - { 3704, ClearColorIuiEXT_remap_index }, - { 10552, GetTexParameterIivEXT_remap_index }, - { 6515, GetTexParameterIuivEXT_remap_index }, - { 3179, TexParameterIivEXT_remap_index }, - { 28121, TexParameterIuivEXT_remap_index }, - { 4986, BeginConditionalRenderNV_remap_index }, - { 27099, EndConditionalRenderNV_remap_index }, - { 9939, BeginTransformFeedbackEXT_remap_index }, - { 20321, BindBufferBaseEXT_remap_index }, - { 20136, BindBufferOffsetEXT_remap_index }, - { 12991, BindBufferRangeEXT_remap_index }, - { 15170, EndTransformFeedbackEXT_remap_index }, - { 11553, GetTransformFeedbackVaryingEXT_remap_index }, - { 22204, TransformFeedbackVaryingsEXT_remap_index }, - { 31284, ProvokingVertexEXT_remap_index }, - { 11501, GetTexParameterPointervAPPLE_remap_index }, - { 5528, TextureRangeAPPLE_remap_index }, - { 12368, GetObjectParameterivAPPLE_remap_index }, - { 21326, ObjectPurgeableAPPLE_remap_index }, - { 6290, ObjectUnpurgeableAPPLE_remap_index }, - { 18425, ActiveProgramEXT_remap_index }, - { 18396, CreateShaderProgramEXT_remap_index }, - { 30236, UseShaderProgramEXT_remap_index }, - { 17524, TextureBarrierNV_remap_index }, - { 30477, StencilFuncSeparateATI_remap_index }, - { 6161, ProgramEnvParameters4fvEXT_remap_index }, - { 18290, ProgramLocalParameters4fvEXT_remap_index }, - { 15023, GetQueryObjecti64vEXT_remap_index }, - { 11103, GetQueryObjectui64vEXT_remap_index }, - { 25418, EGLImageTargetRenderbufferStorageOES_remap_index }, - { 12880, EGLImageTargetTexture2DOES_remap_index }, + { 25533, VertexAttribI2ivEXT_remap_index }, + { 5898, VertexAttribI2uiEXT_remap_index }, + { 5190, VertexAttribI2uivEXT_remap_index }, + { 28326, VertexAttribI3iEXT_remap_index }, + { 26760, VertexAttribI3ivEXT_remap_index }, + { 3629, VertexAttribI3uiEXT_remap_index }, + { 32352, VertexAttribI3uivEXT_remap_index }, + { 23559, VertexAttribI4bvEXT_remap_index }, + { 15620, VertexAttribI4iEXT_remap_index }, + { 34043, VertexAttribI4ivEXT_remap_index }, + { 14270, VertexAttribI4svEXT_remap_index }, + { 17643, VertexAttribI4ubvEXT_remap_index }, + { 17271, VertexAttribI4uiEXT_remap_index }, + { 6044, VertexAttribI4uivEXT_remap_index }, + { 12151, VertexAttribI4usvEXT_remap_index }, + { 19862, VertexAttribIPointerEXT_remap_index }, + { 3244, FramebufferTextureLayerEXT_remap_index }, + { 6320, ColorMaskIndexedEXT_remap_index }, + { 20314, DisableIndexedEXT_remap_index }, + { 28371, EnableIndexedEXT_remap_index }, + { 23238, GetBooleanIndexedvEXT_remap_index }, + { 11762, GetIntegerIndexedvEXT_remap_index }, + { 24402, IsEnabledIndexedEXT_remap_index }, + { 24302, ClearColorIiEXT_remap_index }, + { 3725, ClearColorIuiEXT_remap_index }, + { 10624, GetTexParameterIivEXT_remap_index }, + { 6587, GetTexParameterIuivEXT_remap_index }, + { 3200, TexParameterIivEXT_remap_index }, + { 28193, TexParameterIuivEXT_remap_index }, + { 5058, BeginConditionalRenderNV_remap_index }, + { 27171, EndConditionalRenderNV_remap_index }, + { 10011, BeginTransformFeedbackEXT_remap_index }, + { 20393, BindBufferBaseEXT_remap_index }, + { 20208, BindBufferOffsetEXT_remap_index }, + { 13063, BindBufferRangeEXT_remap_index }, + { 15242, EndTransformFeedbackEXT_remap_index }, + { 11625, GetTransformFeedbackVaryingEXT_remap_index }, + { 22276, TransformFeedbackVaryingsEXT_remap_index }, + { 31440, ProvokingVertexEXT_remap_index }, + { 11573, GetTexParameterPointervAPPLE_remap_index }, + { 5600, TextureRangeAPPLE_remap_index }, + { 12440, GetObjectParameterivAPPLE_remap_index }, + { 21398, ObjectPurgeableAPPLE_remap_index }, + { 6362, ObjectUnpurgeableAPPLE_remap_index }, + { 18497, ActiveProgramEXT_remap_index }, + { 18468, CreateShaderProgramEXT_remap_index }, + { 30339, UseShaderProgramEXT_remap_index }, + { 17596, TextureBarrierNV_remap_index }, + { 30633, StencilFuncSeparateATI_remap_index }, + { 6233, ProgramEnvParameters4fvEXT_remap_index }, + { 18362, ProgramLocalParameters4fvEXT_remap_index }, + { 15095, GetQueryObjecti64vEXT_remap_index }, + { 11175, GetQueryObjectui64vEXT_remap_index }, + { 25490, EGLImageTargetRenderbufferStorageOES_remap_index }, + { 12952, EGLImageTargetTexture2DOES_remap_index }, { -1, -1 } }; /* these functions are in the ABI, but have alternative names */ static const struct gl_function_remap MESA_alt_functions[] = { /* from GL_EXT_blend_color */ - { 2848, _gloffset_BlendColor }, + { 2869, _gloffset_BlendColor }, /* from GL_EXT_blend_minmax */ - { 11973, _gloffset_BlendEquation }, + { 12045, _gloffset_BlendEquation }, /* from GL_EXT_color_subtable */ - { 18164, _gloffset_ColorSubTable }, - { 33550, _gloffset_CopyColorSubTable }, + { 18236, _gloffset_ColorSubTable }, + { 33706, _gloffset_CopyColorSubTable }, /* from GL_EXT_convolution */ { 277, _gloffset_ConvolutionFilter1D }, - { 2628, _gloffset_CopyConvolutionFilter1D }, - { 4403, _gloffset_GetConvolutionParameteriv }, - { 9152, _gloffset_ConvolutionFilter2D }, - { 9354, _gloffset_ConvolutionParameteriv }, - { 9814, _gloffset_ConvolutionParameterfv }, - { 22047, _gloffset_GetSeparableFilter }, - { 25693, _gloffset_SeparableFilter2D }, - { 26581, _gloffset_ConvolutionParameteri }, - { 26774, _gloffset_ConvolutionParameterf }, - { 28488, _gloffset_GetConvolutionParameterfv }, - { 29345, _gloffset_GetConvolutionFilter }, - { 31892, _gloffset_CopyConvolutionFilter2D }, + { 2649, _gloffset_CopyConvolutionFilter1D }, + { 4424, _gloffset_GetConvolutionParameteriv }, + { 9224, _gloffset_ConvolutionFilter2D }, + { 9426, _gloffset_ConvolutionParameteriv }, + { 9886, _gloffset_ConvolutionParameterfv }, + { 22119, _gloffset_GetSeparableFilter }, + { 25765, _gloffset_SeparableFilter2D }, + { 26653, _gloffset_ConvolutionParameteri }, + { 26846, _gloffset_ConvolutionParameterf }, + { 28560, _gloffset_GetConvolutionParameterfv }, + { 29417, _gloffset_GetConvolutionFilter }, + { 32048, _gloffset_CopyConvolutionFilter2D }, /* from GL_EXT_copy_texture */ - { 16048, _gloffset_CopyTexSubImage3D }, - { 17851, _gloffset_CopyTexImage2D }, - { 26164, _gloffset_CopyTexImage1D }, - { 29026, _gloffset_CopyTexSubImage2D }, - { 31504, _gloffset_CopyTexSubImage1D }, + { 16120, _gloffset_CopyTexSubImage3D }, + { 17923, _gloffset_CopyTexImage2D }, + { 26236, _gloffset_CopyTexImage1D }, + { 29098, _gloffset_CopyTexSubImage2D }, + { 31660, _gloffset_CopyTexSubImage1D }, /* from GL_EXT_draw_range_elements */ - { 10168, _gloffset_DrawRangeElements }, + { 10240, _gloffset_DrawRangeElements }, /* from GL_EXT_histogram */ { 876, _gloffset_Histogram }, - { 3790, _gloffset_ResetHistogram }, - { 10698, _gloffset_GetMinmax }, - { 16382, _gloffset_GetHistogramParameterfv }, - { 26089, _gloffset_GetMinmaxParameteriv }, - { 28378, _gloffset_ResetMinmax }, - { 29242, _gloffset_GetHistogramParameteriv }, - { 30411, _gloffset_GetHistogram }, - { 33136, _gloffset_Minmax }, - { 34758, _gloffset_GetMinmaxParameterfv }, + { 3811, _gloffset_ResetHistogram }, + { 10770, _gloffset_GetMinmax }, + { 16454, _gloffset_GetHistogramParameterfv }, + { 26161, _gloffset_GetMinmaxParameteriv }, + { 28450, _gloffset_ResetMinmax }, + { 29314, _gloffset_GetHistogramParameteriv }, + { 30544, _gloffset_GetHistogram }, + { 33292, _gloffset_Minmax }, + { 34914, _gloffset_GetMinmaxParameterfv }, /* from GL_EXT_paletted_texture */ - { 9014, _gloffset_ColorTable }, - { 16228, _gloffset_GetColorTable }, - { 24616, _gloffset_GetColorTableParameterfv }, - { 26830, _gloffset_GetColorTableParameteriv }, + { 9086, _gloffset_ColorTable }, + { 16300, _gloffset_GetColorTable }, + { 24688, _gloffset_GetColorTableParameterfv }, + { 26902, _gloffset_GetColorTableParameteriv }, /* from GL_EXT_subtexture */ - { 7725, _gloffset_TexSubImage1D }, - { 11428, _gloffset_TexSubImage2D }, + { 7797, _gloffset_TexSubImage1D }, + { 11500, _gloffset_TexSubImage2D }, /* from GL_EXT_texture3D */ - { 1871, _gloffset_TexImage3D }, - { 24385, _gloffset_TexSubImage3D }, + { 1892, _gloffset_TexImage3D }, + { 24457, _gloffset_TexSubImage3D }, /* from GL_EXT_texture_object */ - { 3558, _gloffset_PrioritizeTextures }, - { 8174, _gloffset_AreTexturesResident }, - { 14402, _gloffset_GenTextures }, - { 16759, _gloffset_DeleteTextures }, - { 20988, _gloffset_IsTexture }, - { 31569, _gloffset_BindTexture }, + { 3579, _gloffset_PrioritizeTextures }, + { 8246, _gloffset_AreTexturesResident }, + { 14474, _gloffset_GenTextures }, + { 16831, _gloffset_DeleteTextures }, + { 21060, _gloffset_IsTexture }, + { 31725, _gloffset_BindTexture }, /* from GL_EXT_vertex_array */ - { 25865, _gloffset_ArrayElement }, - { 32724, _gloffset_GetPointerv }, - { 34309, _gloffset_DrawArrays }, + { 25937, _gloffset_ArrayElement }, + { 32880, _gloffset_GetPointerv }, + { 34465, _gloffset_DrawArrays }, /* from GL_SGI_color_table */ - { 8292, _gloffset_ColorTableParameteriv }, - { 9014, _gloffset_ColorTable }, - { 16228, _gloffset_GetColorTable }, - { 16338, _gloffset_CopyColorTable }, - { 20849, _gloffset_ColorTableParameterfv }, - { 24616, _gloffset_GetColorTableParameterfv }, - { 26830, _gloffset_GetColorTableParameteriv }, + { 8364, _gloffset_ColorTableParameteriv }, + { 9086, _gloffset_ColorTable }, + { 16300, _gloffset_GetColorTable }, + { 16410, _gloffset_CopyColorTable }, + { 20921, _gloffset_ColorTableParameterfv }, + { 24688, _gloffset_GetColorTableParameterfv }, + { 26902, _gloffset_GetColorTableParameteriv }, /* from GL_VERSION_1_3 */ { 445, _gloffset_MultiTexCoord3sARB }, { 677, _gloffset_ActiveTextureARB }, - { 4613, _gloffset_MultiTexCoord1fvARB }, - { 6791, _gloffset_MultiTexCoord3dARB }, - { 6836, _gloffset_MultiTexCoord2iARB }, - { 6960, _gloffset_MultiTexCoord2svARB }, - { 8970, _gloffset_MultiTexCoord2fARB }, - { 11133, _gloffset_MultiTexCoord3fvARB }, - { 11735, _gloffset_MultiTexCoord4sARB }, - { 12416, _gloffset_MultiTexCoord2dvARB }, - { 12823, _gloffset_MultiTexCoord1svARB }, - { 13188, _gloffset_MultiTexCoord3svARB }, - { 13249, _gloffset_MultiTexCoord4iARB }, - { 14106, _gloffset_MultiTexCoord3iARB }, - { 15052, _gloffset_MultiTexCoord1dARB }, - { 15284, _gloffset_MultiTexCoord3dvARB }, - { 16600, _gloffset_MultiTexCoord3ivARB }, - { 16645, _gloffset_MultiTexCoord2sARB }, - { 18221, _gloffset_MultiTexCoord4ivARB }, - { 20489, _gloffset_ClientActiveTextureARB }, - { 22894, _gloffset_MultiTexCoord2dARB }, - { 23331, _gloffset_MultiTexCoord4dvARB }, - { 23733, _gloffset_MultiTexCoord4fvARB }, - { 24757, _gloffset_MultiTexCoord3fARB }, - { 27424, _gloffset_MultiTexCoord4dARB }, - { 27690, _gloffset_MultiTexCoord1sARB }, - { 27894, _gloffset_MultiTexCoord1dvARB }, - { 28870, _gloffset_MultiTexCoord1ivARB }, - { 28963, _gloffset_MultiTexCoord2ivARB }, - { 29302, _gloffset_MultiTexCoord1iARB }, - { 30686, _gloffset_MultiTexCoord4svARB }, - { 31326, _gloffset_MultiTexCoord1fARB }, - { 31631, _gloffset_MultiTexCoord4fARB }, - { 34143, _gloffset_MultiTexCoord2fvARB }, + { 4634, _gloffset_MultiTexCoord1fvARB }, + { 6863, _gloffset_MultiTexCoord3dARB }, + { 6908, _gloffset_MultiTexCoord2iARB }, + { 7032, _gloffset_MultiTexCoord2svARB }, + { 9042, _gloffset_MultiTexCoord2fARB }, + { 11205, _gloffset_MultiTexCoord3fvARB }, + { 11807, _gloffset_MultiTexCoord4sARB }, + { 12488, _gloffset_MultiTexCoord2dvARB }, + { 12895, _gloffset_MultiTexCoord1svARB }, + { 13260, _gloffset_MultiTexCoord3svARB }, + { 13321, _gloffset_MultiTexCoord4iARB }, + { 14178, _gloffset_MultiTexCoord3iARB }, + { 15124, _gloffset_MultiTexCoord1dARB }, + { 15356, _gloffset_MultiTexCoord3dvARB }, + { 16672, _gloffset_MultiTexCoord3ivARB }, + { 16717, _gloffset_MultiTexCoord2sARB }, + { 18293, _gloffset_MultiTexCoord4ivARB }, + { 20561, _gloffset_ClientActiveTextureARB }, + { 22966, _gloffset_MultiTexCoord2dARB }, + { 23403, _gloffset_MultiTexCoord4dvARB }, + { 23805, _gloffset_MultiTexCoord4fvARB }, + { 24829, _gloffset_MultiTexCoord3fARB }, + { 27496, _gloffset_MultiTexCoord4dARB }, + { 27762, _gloffset_MultiTexCoord1sARB }, + { 27966, _gloffset_MultiTexCoord1dvARB }, + { 28942, _gloffset_MultiTexCoord1ivARB }, + { 29035, _gloffset_MultiTexCoord2ivARB }, + { 29374, _gloffset_MultiTexCoord1iARB }, + { 30842, _gloffset_MultiTexCoord4svARB }, + { 31482, _gloffset_MultiTexCoord1fARB }, + { 31787, _gloffset_MultiTexCoord4fARB }, + { 34299, _gloffset_MultiTexCoord2fvARB }, { -1, -1 } }; diff --git a/mesalib/src/mesa/main/renderbuffer.c b/mesalib/src/mesa/main/renderbuffer.c index 70011e6b2..33bec42d9 100644 --- a/mesalib/src/mesa/main/renderbuffer.c +++ b/mesalib/src/mesa/main/renderbuffer.c @@ -1716,6 +1716,33 @@ _mesa_soft_renderbuffer_storage(struct gl_context *ctx, struct gl_renderbuffer * } +void +_mesa_map_soft_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb, + GLuint x, GLuint y, GLuint w, GLuint h, + GLbitfield mode, + GLubyte **out_map, + GLint *out_stride) +{ + GLubyte *map = rb->Data; + int cpp = _mesa_get_format_bytes(rb->Format); + int stride = rb->RowStride * cpp; + + ASSERT(rb->Data); + + map += y * stride; + map += x * cpp; + + *out_map = map; + *out_stride = stride; +} + +void +_mesa_unmap_soft_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb) +{ +} + /**********************************************************************/ /**********************************************************************/ @@ -1984,7 +2011,7 @@ _mesa_init_renderbuffer(struct gl_renderbuffer *rb, GLuint name) rb->Width = 0; rb->Height = 0; - rb->InternalFormat = GL_NONE; + rb->InternalFormat = GL_RGBA; rb->Format = MESA_FORMAT_NONE; rb->DataType = GL_NONE; diff --git a/mesalib/src/mesa/main/renderbuffer.h b/mesalib/src/mesa/main/renderbuffer.h index de471cd6b..cb0d712eb 100644 --- a/mesalib/src/mesa/main/renderbuffer.h +++ b/mesalib/src/mesa/main/renderbuffer.h @@ -46,6 +46,18 @@ _mesa_delete_renderbuffer(struct gl_renderbuffer *rb); extern struct gl_renderbuffer * _mesa_new_soft_renderbuffer(struct gl_context *ctx, GLuint name); +void +_mesa_map_soft_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb, + GLuint x, GLuint y, GLuint w, GLuint h, + GLbitfield mode, + GLubyte **out_map, + GLint *out_stride); + +void +_mesa_unmap_soft_renderbuffer(struct gl_context *ctx, + struct gl_renderbuffer *rb); + extern void _mesa_set_renderbuffer_accessors(struct gl_renderbuffer *rb); diff --git a/mesalib/src/mesa/main/shaderapi.c b/mesalib/src/mesa/main/shaderapi.c index 6868dfab0..56d955c53 100644 --- a/mesalib/src/mesa/main/shaderapi.c +++ b/mesalib/src/mesa/main/shaderapi.c @@ -152,6 +152,7 @@ _mesa_sizeof_glsl_type(GLenum type) case GL_SAMPLER_1D_ARRAY_SHADOW_EXT: case GL_SAMPLER_2D_ARRAY_SHADOW_EXT: case GL_SAMPLER_CUBE_SHADOW_EXT: + case GL_SAMPLER_EXTERNAL_OES: return 1; case GL_FLOAT_VEC2: case GL_INT_VEC2: @@ -918,6 +919,7 @@ validate_samplers(const struct gl_program *prog, char *errMsg) "TEXTURE_BUFFER", "TEXTURE_2D_ARRAY", "TEXTURE_1D_ARRAY", + "TEXTURE_EXTERNAL", "TEXTURE_CUBE", "TEXTURE_3D", "TEXTURE_RECT", diff --git a/mesalib/src/mesa/main/shared.c b/mesalib/src/mesa/main/shared.c index 8b7159db0..caa6132d4 100644 --- a/mesalib/src/mesa/main/shared.c +++ b/mesalib/src/mesa/main/shared.c @@ -108,6 +108,7 @@ _mesa_alloc_shared_state(struct gl_context *ctx) GL_TEXTURE_BUFFER, GL_TEXTURE_2D_ARRAY_EXT, GL_TEXTURE_1D_ARRAY_EXT, + GL_TEXTURE_EXTERNAL_OES, GL_TEXTURE_CUBE_MAP, GL_TEXTURE_3D, GL_TEXTURE_RECTANGLE_NV, diff --git a/mesalib/src/mesa/main/texgetimage.c b/mesalib/src/mesa/main/texgetimage.c index 06e032396..31d49f2d8 100644 --- a/mesalib/src/mesa/main/texgetimage.c +++ b/mesalib/src/mesa/main/texgetimage.c @@ -50,7 +50,7 @@ * Can the given type represent negative values? */ static inline GLboolean -type_with_negative_values(GLenum type) +type_needs_clamping(GLenum type) { switch (type) { case GL_BYTE: @@ -58,9 +58,11 @@ type_with_negative_values(GLenum type) case GL_INT: case GL_FLOAT: case GL_HALF_FLOAT_ARB: - return GL_TRUE; - default: + case GL_UNSIGNED_INT_10F_11F_11F_REV: + case GL_UNSIGNED_INT_5_9_9_9_REV: return GL_FALSE; + default: + return GL_TRUE; } } @@ -219,7 +221,7 @@ get_tex_rgba(struct gl_context *ctx, GLuint dimensions, /* In general, clamping does not apply to glGetTexImage, except when * the returned type of the image can't hold negative values. */ - if (!type_with_negative_values(type)) { + if (type_needs_clamping(type)) { /* the returned image type can't have negative values */ if (dataType == GL_FLOAT || dataType == GL_SIGNED_NORMALIZED || @@ -849,6 +851,7 @@ getcompressedteximage_error_check(struct gl_context *ctx, GLenum target, _mesa_error(ctx, GL_INVALID_OPERATION, "glGetnCompressedTexImageARB(out of bounds access:" " bufSize (%d) is too small)", clientMemSize); + return GL_TRUE; } } else { /* do bounds checking on PBO write */ diff --git a/mesalib/src/mesa/main/teximage.c b/mesalib/src/mesa/main/teximage.c index acf7187fd..a84d6873d 100644 --- a/mesalib/src/mesa/main/teximage.c +++ b/mesalib/src/mesa/main/teximage.c @@ -549,7 +549,8 @@ _mesa_set_tex_image(struct gl_texture_object *tObj, ASSERT(tObj); ASSERT(texImage); - ASSERT(target != GL_TEXTURE_RECTANGLE_NV || level == 0); + if (target == GL_TEXTURE_RECTANGLE_NV || target == GL_TEXTURE_EXTERNAL_OES) + assert(level == 0); tObj->Image[face][level] = texImage; @@ -607,10 +608,11 @@ _mesa_delete_texture_image(struct gl_context *ctx, GLboolean _mesa_is_proxy_texture(GLenum target) { - /* NUM_TEXTURE_TARGETS should match number of terms below, - * except there's no proxy for GL_TEXTURE_BUFFER. + /* + * NUM_TEXTURE_TARGETS should match number of terms below, except there's no + * proxy for GL_TEXTURE_BUFFER and GL_TEXTURE_EXTERNAL_OES. */ - assert(NUM_TEXTURE_TARGETS == 8); + assert(NUM_TEXTURE_TARGETS == 7 + 2); return (target == GL_PROXY_TEXTURE_1D || target == GL_PROXY_TEXTURE_2D || @@ -723,6 +725,9 @@ _mesa_select_tex_object(struct gl_context *ctx, case GL_TEXTURE_BUFFER: return ctx->Extensions.ARB_texture_buffer_object ? texUnit->CurrentTex[TEXTURE_BUFFER_INDEX] : NULL; + case GL_TEXTURE_EXTERNAL_OES: + return ctx->Extensions.OES_EGL_image_external + ? texUnit->CurrentTex[TEXTURE_EXTERNAL_INDEX] : NULL; default: _mesa_problem(NULL, "bad target in _mesa_select_tex_object()"); return NULL; @@ -911,6 +916,7 @@ _mesa_max_texture_levels(struct gl_context *ctx, GLenum target) ctx->Extensions.EXT_texture_array) ? ctx->Const.MaxTextureLevels : 0; case GL_TEXTURE_BUFFER: + case GL_TEXTURE_EXTERNAL_OES: /* fall-through */ default: return 0; /* bad target */ @@ -942,6 +948,7 @@ _mesa_get_texture_dimensions(GLenum target) case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: case GL_TEXTURE_1D_ARRAY: case GL_PROXY_TEXTURE_1D_ARRAY: + case GL_TEXTURE_EXTERNAL_OES: return 2; case GL_TEXTURE_3D: case GL_PROXY_TEXTURE_3D: @@ -1433,6 +1440,23 @@ legal_texsubimage_target(struct gl_context *ctx, GLuint dims, GLenum target) /** + * Helper function to determine if a texture object is mutable (in terms + * of GL_ARB_texture_storage). + */ +static GLboolean +mutable_tex_object(struct gl_context *ctx, GLenum target) +{ + if (ctx->Extensions.ARB_texture_storage) { + struct gl_texture_object *texObj = + _mesa_get_current_tex_object(ctx, target); + return !texObj->Immutable; + } + return GL_TRUE; +} + + + +/** * Test the glTexImage[123]D() parameters for errors. * * \param ctx GL context. @@ -1643,6 +1667,12 @@ texture_error_check( struct gl_context *ctx, return GL_TRUE; } + if (!mutable_tex_object(ctx, target)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glTexImage%dD(immutable texture)", dimensions); + return GL_TRUE; + } + /* if we get here, the parameters are OK */ return GL_FALSE; } @@ -1906,6 +1936,12 @@ copytexture_error_check( struct gl_context *ctx, GLuint dimensions, } } + if (!mutable_tex_object(ctx, target)) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glCopyTexImage%dD(immutable texture)", dimensions); + return GL_TRUE; + } + /* if we get here, the parameters are OK */ return GL_FALSE; } @@ -2504,13 +2540,10 @@ _mesa_EGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image) GET_CURRENT_CONTEXT(ctx); ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); - if (!ctx->Extensions.OES_EGL_image) { - _mesa_error(ctx, GL_INVALID_OPERATION, - "glEGLImageTargetTexture2DOES(unsupported)"); - return; - } - - if (target != GL_TEXTURE_2D) { + if ((target == GL_TEXTURE_2D && + !ctx->Extensions.OES_EGL_image) || + (target == GL_TEXTURE_EXTERNAL_OES && + !ctx->Extensions.OES_EGL_image_external)) { _mesa_error(ctx, GL_INVALID_ENUM, "glEGLImageTargetTexture2D(target=%d)", target); return; @@ -3107,6 +3140,11 @@ compressed_texture_error_check(struct gl_context *ctx, GLint dimensions, return GL_INVALID_VALUE; } + if (!mutable_tex_object(ctx, target)) { + *reason = "immutable texture"; + return GL_INVALID_OPERATION; + } + return GL_NO_ERROR; } diff --git a/mesalib/src/mesa/main/texobj.c b/mesalib/src/mesa/main/texobj.c index 4d9942ba8..e2f0dc8b6 100644 --- a/mesalib/src/mesa/main/texobj.c +++ b/mesalib/src/mesa/main/texobj.c @@ -107,6 +107,7 @@ _mesa_initialize_texture_object( struct gl_texture_object *obj, target == GL_TEXTURE_RECTANGLE_NV || target == GL_TEXTURE_1D_ARRAY_EXT || target == GL_TEXTURE_2D_ARRAY_EXT || + target == GL_TEXTURE_EXTERNAL_OES || target == GL_TEXTURE_BUFFER); memset(obj, 0, sizeof(*obj)); @@ -119,8 +120,12 @@ _mesa_initialize_texture_object( struct gl_texture_object *obj, obj->BaseLevel = 0; obj->MaxLevel = 1000; + /* must be one; no support for (YUV) planes in separate buffers */ + obj->RequiredTextureImageUnits = 1; + /* sampler state */ - if (target == GL_TEXTURE_RECTANGLE_NV) { + if (target == GL_TEXTURE_RECTANGLE_NV || + target == GL_TEXTURE_EXTERNAL_OES) { obj->Sampler.WrapS = GL_CLAMP_TO_EDGE; obj->Sampler.WrapT = GL_CLAMP_TO_EDGE; obj->Sampler.WrapR = GL_CLAMP_TO_EDGE; @@ -161,7 +166,8 @@ finish_texture_init(struct gl_context *ctx, GLenum target, { assert(obj->Target == 0); - if (target == GL_TEXTURE_RECTANGLE_NV) { + if (target == GL_TEXTURE_RECTANGLE_NV || + target == GL_TEXTURE_EXTERNAL_OES) { /* have to init wrap and filter state here - kind of klunky */ obj->Sampler.WrapS = GL_CLAMP_TO_EDGE; obj->Sampler.WrapT = GL_CLAMP_TO_EDGE; @@ -259,6 +265,8 @@ _mesa_copy_texture_object( struct gl_texture_object *dest, dest->_Complete = src->_Complete; COPY_4V(dest->Swizzle, src->Swizzle); dest->_Swizzle = src->_Swizzle; + + dest->RequiredTextureImageUnits = src->RequiredTextureImageUnits; } @@ -306,6 +314,7 @@ valid_texture_object(const struct gl_texture_object *tex) case GL_TEXTURE_1D_ARRAY_EXT: case GL_TEXTURE_2D_ARRAY_EXT: case GL_TEXTURE_BUFFER: + case GL_TEXTURE_EXTERNAL_OES: return GL_TRUE; case 0x99: _mesa_problem(NULL, "invalid reference to a deleted texture object"); @@ -406,6 +415,10 @@ incomplete(struct gl_texture_object *t, const char *fmt, ...) * The gl_texture_object::Complete flag will be set to GL_TRUE or GL_FALSE * accordingly. * + * XXX TODO: For immutable textures (GL_ARB_texture_storage) we can skip + * many of the checks below since we know the mipmap images will have + * consistent sizes. + * * \param ctx GL context. * \param t texture object. * @@ -466,7 +479,8 @@ _mesa_test_texobj_completeness( const struct gl_context *ctx, t->Image[0][baseLevel]->HeightLog2); maxLevels = ctx->Const.MaxCubeTextureLevels; } - else if (t->Target == GL_TEXTURE_RECTANGLE_NV) { + else if (t->Target == GL_TEXTURE_RECTANGLE_NV || + t->Target == GL_TEXTURE_EXTERNAL_OES) { maxLog2 = 0; /* not applicable */ maxLevels = 1; /* no mipmapping */ } @@ -1001,6 +1015,8 @@ target_enum_to_index(GLenum target) return TEXTURE_2D_ARRAY_INDEX; case GL_TEXTURE_BUFFER_ARB: return TEXTURE_BUFFER_INDEX; + case GL_TEXTURE_EXTERNAL_OES: + return TEXTURE_EXTERNAL_INDEX; default: return -1; } diff --git a/mesalib/src/mesa/main/texparam.c b/mesalib/src/mesa/main/texparam.c index dc5ee33a2..17eac5fc9 100644 --- a/mesalib/src/mesa/main/texparam.c +++ b/mesalib/src/mesa/main/texparam.c @@ -55,22 +55,38 @@ validate_texture_wrap_mode(struct gl_context * ctx, GLenum target, GLenum wrap) { const struct gl_extensions * const e = & ctx->Extensions; - if (wrap == GL_CLAMP || wrap == GL_CLAMP_TO_EDGE || - (wrap == GL_CLAMP_TO_BORDER && e->ARB_texture_border_clamp)) { - /* any texture target */ - return GL_TRUE; + if (target == GL_TEXTURE_RECTANGLE_NV) { + if (wrap == GL_CLAMP || wrap == GL_CLAMP_TO_EDGE || + (wrap == GL_CLAMP_TO_BORDER && e->ARB_texture_border_clamp)) + return GL_TRUE; } - else if (target != GL_TEXTURE_RECTANGLE_NV && - (wrap == GL_REPEAT || - wrap == GL_MIRRORED_REPEAT || - (wrap == GL_MIRROR_CLAMP_EXT && - (e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp)) || - (wrap == GL_MIRROR_CLAMP_TO_EDGE_EXT && - (e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp)) || - (wrap == GL_MIRROR_CLAMP_TO_BORDER_EXT && - (e->EXT_texture_mirror_clamp)))) { - /* non-rectangle texture */ - return GL_TRUE; + else if (target == GL_TEXTURE_EXTERNAL_OES) { + if (wrap == GL_CLAMP_TO_EDGE) + return GL_TRUE; + } + else { + switch (wrap) { + case GL_CLAMP: + case GL_REPEAT: + case GL_CLAMP_TO_EDGE: + case GL_MIRRORED_REPEAT: + return GL_TRUE; + case GL_CLAMP_TO_BORDER: + if (e->ARB_texture_border_clamp) + return GL_TRUE; + break; + case GL_MIRROR_CLAMP_EXT: + case GL_MIRROR_CLAMP_TO_EDGE_EXT: + if (e->ATI_texture_mirror_once || e->EXT_texture_mirror_clamp) + return GL_TRUE; + break; + case GL_MIRROR_CLAMP_TO_BORDER_EXT: + if (e->EXT_texture_mirror_clamp) + return GL_TRUE; + break; + default: + break; + } } _mesa_error( ctx, GL_INVALID_ENUM, "glTexParameter(param=0x%x)", wrap ); @@ -127,6 +143,11 @@ get_texobj(struct gl_context *ctx, GLenum target, GLboolean get) return texUnit->CurrentTex[TEXTURE_2D_ARRAY_INDEX]; } break; + case GL_TEXTURE_EXTERNAL_OES: + if (ctx->Extensions.OES_EGL_image_external) { + return texUnit->CurrentTex[TEXTURE_EXTERNAL_INDEX]; + } + break; default: ; } @@ -226,7 +247,8 @@ set_tex_parameteri(struct gl_context *ctx, case GL_LINEAR_MIPMAP_NEAREST: case GL_NEAREST_MIPMAP_LINEAR: case GL_LINEAR_MIPMAP_LINEAR: - if (texObj->Target != GL_TEXTURE_RECTANGLE_NV) { + if (texObj->Target != GL_TEXTURE_RECTANGLE_NV && + texObj->Target != GL_TEXTURE_EXTERNAL_OES) { incomplete(ctx, texObj); texObj->Sampler.MinFilter = params[0]; return GL_TRUE; @@ -307,6 +329,8 @@ set_tex_parameteri(struct gl_context *ctx, return GL_TRUE; case GL_GENERATE_MIPMAP_SGIS: + if (params[0] && texObj->Target == GL_TEXTURE_EXTERNAL_OES) + goto invalid_param; if (texObj->GenerateMipmap != params[0]) { /* no flush() */ texObj->GenerateMipmap = params[0] ? GL_TRUE : GL_FALSE; @@ -394,12 +418,11 @@ set_tex_parameteri(struct gl_context *ctx, return GL_FALSE; } ASSERT(comp < 4); - if (swz >= 0) { - flush(ctx); - texObj->Swizzle[comp] = params[0]; - set_swizzle_component(&texObj->_Swizzle, comp, swz); - return GL_TRUE; - } + + flush(ctx); + texObj->Swizzle[comp] = params[0]; + set_swizzle_component(&texObj->_Swizzle, comp, swz); + return GL_TRUE; } goto invalid_pname; @@ -597,6 +620,17 @@ _mesa_TexParameterf(GLenum target, GLenum pname, GLfloat param) need_update = set_tex_parameteri(ctx, texObj, pname, p); } break; + case GL_TEXTURE_SWIZZLE_R_EXT: + case GL_TEXTURE_SWIZZLE_G_EXT: + case GL_TEXTURE_SWIZZLE_B_EXT: + case GL_TEXTURE_SWIZZLE_A_EXT: + { + GLint p[4]; + p[0] = (GLint) param; + p[1] = p[2] = p[3] = 0; + need_update = set_tex_parameteri(ctx, texObj, pname, p); + } + break; default: { /* this will generate an error if pname is illegal */ @@ -662,6 +696,22 @@ _mesa_TexParameterfv(GLenum target, GLenum pname, const GLfloat *params) break; #endif + case GL_TEXTURE_SWIZZLE_R_EXT: + case GL_TEXTURE_SWIZZLE_G_EXT: + case GL_TEXTURE_SWIZZLE_B_EXT: + case GL_TEXTURE_SWIZZLE_A_EXT: + case GL_TEXTURE_SWIZZLE_RGBA_EXT: + { + GLint p[4] = {0, 0, 0, 0}; + p[0] = (GLint) params[0]; + if (pname == GL_TEXTURE_SWIZZLE_RGBA_EXT) { + p[1] = (GLint) params[1]; + p[2] = (GLint) params[2]; + p[3] = (GLint) params[3]; + } + need_update = set_tex_parameteri(ctx, texObj, pname, p); + } + break; default: /* this will generate an error if pname is illegal */ need_update = set_tex_parameterf(ctx, texObj, pname, params); @@ -1204,6 +1254,12 @@ _mesa_GetTexParameterfv( GLenum target, GLenum pname, GLfloat *params ) *params = (GLfloat) obj->Sampler.CubeMapSeamless; break; + case GL_TEXTURE_IMMUTABLE_FORMAT: + if (!ctx->Extensions.ARB_texture_storage) + goto invalid_pname; + *params = (GLfloat) obj->Immutable; + break; + default: goto invalid_pname; } @@ -1338,6 +1394,18 @@ _mesa_GetTexParameteriv( GLenum target, GLenum pname, GLint *params ) *params = (GLint) obj->Sampler.CubeMapSeamless; break; + case GL_TEXTURE_IMMUTABLE_FORMAT: + if (!ctx->Extensions.ARB_texture_storage) + goto invalid_pname; + *params = (GLint) obj->Immutable; + break; + + case GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES: + if (!ctx->Extensions.OES_EGL_image_external) + goto invalid_pname; + *params = obj->RequiredTextureImageUnits; + break; + default: goto invalid_pname; } diff --git a/mesalib/src/mesa/main/texstate.c b/mesalib/src/mesa/main/texstate.c index 9f14d8a0d..7cd285803 100644 --- a/mesalib/src/mesa/main/texstate.c +++ b/mesalib/src/mesa/main/texstate.c @@ -690,7 +690,8 @@ alloc_proxy_textures( struct gl_context *ctx ) GL_TEXTURE_RECTANGLE_NV, GL_TEXTURE_1D_ARRAY_EXT, GL_TEXTURE_2D_ARRAY_EXT, - GL_TEXTURE_BUFFER + GL_TEXTURE_BUFFER, + GL_TEXTURE_EXTERNAL_OES }; GLint tgt; diff --git a/mesalib/src/mesa/main/texstorage.c b/mesalib/src/mesa/main/texstorage.c new file mode 100644 index 000000000..241a940cc --- /dev/null +++ b/mesalib/src/mesa/main/texstorage.c @@ -0,0 +1,402 @@ +/* + * Mesa 3-D graphics library + * + * Copyright (C) 2011 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 texstorage.c + * GL_ARB_texture_storage functions + */ + + + +#include "glheader.h" +#include "context.h" +#include "enums.h" +#include "imports.h" +#include "macros.h" +#include "mfeatures.h" +#include "teximage.h" +#include "texstorage.h" +#include "mtypes.h" + + + +/** + * Check if the given texture target is a legal texture object target + * for a glTexStorage() command. + * This is a bit different than legal_teximage_target() when it comes + * to cube maps. + */ +static GLboolean +legal_texobj_target(struct gl_context *ctx, GLuint dims, GLenum target) +{ + switch (dims) { + case 1: + switch (target) { + case GL_TEXTURE_1D: + case GL_PROXY_TEXTURE_1D: + return GL_TRUE; + default: + return GL_FALSE; + } + case 2: + switch (target) { + case GL_TEXTURE_2D: + case GL_PROXY_TEXTURE_2D: + return GL_TRUE; + case GL_TEXTURE_CUBE_MAP: + case GL_PROXY_TEXTURE_CUBE_MAP: + return ctx->Extensions.ARB_texture_cube_map; + case GL_TEXTURE_RECTANGLE: + case GL_PROXY_TEXTURE_RECTANGLE: + return ctx->Extensions.NV_texture_rectangle; + case GL_TEXTURE_1D_ARRAY: + case GL_PROXY_TEXTURE_1D_ARRAY: + return (ctx->Extensions.MESA_texture_array || + ctx->Extensions.EXT_texture_array); + default: + return GL_FALSE; + } + case 3: + switch (target) { + case GL_TEXTURE_3D: + case GL_PROXY_TEXTURE_3D: + return GL_TRUE; + case GL_TEXTURE_2D_ARRAY: + case GL_PROXY_TEXTURE_2D_ARRAY: + return (ctx->Extensions.MESA_texture_array || + ctx->Extensions.EXT_texture_array); + default: + return GL_FALSE; + } + default: + _mesa_problem(ctx, "invalid dims=%u in legal_texobj_target()", dims); + return GL_FALSE; + } +} + + +/** + * Compute the size of the next mipmap level. + */ +static void +next_mipmap_level_size(GLenum target, + GLint *width, GLint *height, GLint *depth) +{ + if (*width > 1) { + *width /= 2; + } + + if ((*height > 1) && (target != GL_TEXTURE_1D_ARRAY)) { + *height /= 2; + } + + if ((*depth > 1) && (target != GL_TEXTURE_2D_ARRAY)) { + *depth /= 2; + } +} + + +/** + * Do actual memory allocation for glTexStorage1/2/3D(). + */ +static void +setup_texstorage(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLuint dims, + GLsizei levels, GLenum internalFormat, + GLsizei width, GLsizei height, GLsizei depth) +{ + const GLenum target = texObj->Target; + const GLuint numFaces = (target == GL_TEXTURE_CUBE_MAP) ? 6 : 1; + gl_format texFormat; + GLint level, levelWidth = width, levelHeight = height, levelDepth = depth; + GLuint face; + + assert(levels > 0); + assert(width > 0); + assert(height > 0); + assert(depth > 0); + + texFormat = _mesa_choose_texture_format(ctx, texObj, target, 0, + internalFormat, GL_NONE, GL_NONE); + + /* Set up all the texture object's gl_texture_images */ + for (level = 0; level < levels; level++) { + for (face = 0; face < numFaces; face++) { + const GLenum faceTarget = + (target == GL_TEXTURE_CUBE_MAP) + ? GL_TEXTURE_CUBE_MAP_POSITIVE_X + face : target; + struct gl_texture_image *texImage = + _mesa_get_tex_image(ctx, texObj, faceTarget, level); + + if (!texImage) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexImage%uD", dims); + return; + } + + _mesa_init_teximage_fields(ctx, target, texImage, + levelWidth, levelHeight, levelDepth, + 0, internalFormat, texFormat); + } + + next_mipmap_level_size(target, &levelWidth, &levelHeight, &levelDepth); + } + + assert(levelWidth > 0); + assert(levelHeight > 0); + assert(levelDepth > 0); + + if (!_mesa_is_proxy_texture(texObj->Target)) { + /* Do actual texture memory allocation */ + if (!ctx->Driver.AllocTextureStorage(ctx, texObj, levels, + width, height, depth)) { + /* Reset the texture images' info to zeros. + * Strictly speaking, we probably don't have to do this since + * generating GL_OUT_OF_MEMORY can leave things in an undefined + * state but this puts things in a consistent state. + */ + for (level = 0; level < levels; level++) { + for (face = 0; face < numFaces; face++) { + struct gl_texture_image *texImage = texObj->Image[face][level]; + if (texImage) { + _mesa_init_teximage_fields(ctx, target, texImage, + 0, 0, 0, 0, + GL_NONE, MESA_FORMAT_NONE); + } + } + } + + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexStorage%uD", dims); + + return; + } + } + + texObj->Immutable = GL_TRUE; +} + + +/** + * Clear all fields of texture object to zeros. Used for proxy texture tests. + */ +static void +clear_image_fields(struct gl_context *ctx, + GLuint dims, + struct gl_texture_object *texObj) +{ + const GLenum target = texObj->Target; + const GLuint numFaces = (target == GL_TEXTURE_CUBE_MAP) ? 6 : 1; + GLint level; + GLuint face; + + for (level = 0; level < Elements(texObj->Image[0]); level++) { + for (face = 0; face < numFaces; face++) { + const GLenum faceTarget = + (target == GL_TEXTURE_CUBE_MAP) + ? GL_TEXTURE_CUBE_MAP_POSITIVE_X + face : target; + struct gl_texture_image *texImage = + _mesa_get_tex_image(ctx, texObj, faceTarget, level); + + if (!texImage) { + _mesa_error(ctx, GL_OUT_OF_MEMORY, "glTexStorage%uD", dims); + return; + } + + _mesa_init_teximage_fields(ctx, target, texImage, + 0, 0, 0, 0, GL_NONE, MESA_FORMAT_NONE); + } + } +} + + +/** + * Do error checking for calls to glTexStorage1/2/3D(). + * If an error is found, record it with _mesa_error(), unless the target + * is a proxy texture. + * \return GL_TRUE if any error, GL_FALSE otherwise. + */ +static GLboolean +tex_storage_error_check(struct gl_context *ctx, GLuint dims, GLenum target, + GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth) +{ + const GLboolean isProxy = _mesa_is_proxy_texture(target); + struct gl_texture_object *texObj; + GLuint maxDim; + + /* size check */ + if (width < 1 || height < 1 || depth < 1) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_VALUE, + "glTexStorage%uD(width, height or depth < 1)", dims); + } + return GL_TRUE; + } + + /* levels check */ + if (levels < 1 || height < 1 || depth < 1) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_VALUE, "glTexStorage%uD(levels < 1)", + dims); + } + return GL_TRUE; + } + + /* target check */ + if (!legal_texobj_target(ctx, dims, target)) { + _mesa_error(ctx, GL_INVALID_ENUM, + "glTexStorage%uD(illegal target=%s)", + dims, _mesa_lookup_enum_by_nr(target)); + return GL_TRUE; + } + + /* check levels against maximum */ + if (levels > _mesa_max_texture_levels(ctx, target)) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glTexStorage%uD(levels too large)", dims); + } + return GL_TRUE; + } + + /* check levels against width/height/depth */ + maxDim = MAX3(width, height, depth); + if (levels > _mesa_logbase2(maxDim) + 1) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glTexStorage%uD(too many levels for max texture dimension)", + dims); + } + return GL_TRUE; + } + + /* non-default texture object check */ + texObj = _mesa_get_current_tex_object(ctx, target); + if (!texObj || (texObj->Name == 0 && !isProxy)) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_OPERATION, + "glTexStorage%uD(texture object 0)", dims); + } + return GL_TRUE; + } + + /* Check if texObj->Immutable is set */ + if (texObj->Immutable) { + if (!isProxy) { + _mesa_error(ctx, GL_INVALID_OPERATION, "glTexStorage%uD(immutable)", + dims); + } + return GL_TRUE; + } + + return GL_FALSE; +} + + +/** + * Helper used by _mesa_TexStorage1/2/3D(). + */ +static void +texstorage(GLuint dims, GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth) +{ + struct gl_texture_object *texObj; + GLboolean error; + + GET_CURRENT_CONTEXT(ctx); + + texObj = _mesa_get_current_tex_object(ctx, target); + + error = tex_storage_error_check(ctx, dims, target, levels, + internalformat, width, height, depth); + if (!error) { + setup_texstorage(ctx, texObj, dims, levels, internalformat, + width, height, depth); + } + else if (_mesa_is_proxy_texture(target)) { + /* clear all image fields for [levels] */ + clear_image_fields(ctx, dims, texObj); + } +} + + +void GLAPIENTRY +_mesa_TexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width) +{ + texstorage(1, target, levels, internalformat, width, 1, 1); +} + + +void GLAPIENTRY +_mesa_TexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height) +{ + texstorage(2, target, levels, internalformat, width, height, 1); +} + + +void GLAPIENTRY +_mesa_TexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth) +{ + texstorage(3, target, levels, internalformat, width, height, depth); +} + + + +/* + * Note: we don't support GL_EXT_direct_state_access and the spec says + * we don't need the following functions. However, glew checks for the + * presence of all six functions and will say that GL_ARB_texture_storage + * is not supported if these functions are missing. + */ + + +void GLAPIENTRY +_mesa_TextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width) +{ + /* no-op */ +} + + +void GLAPIENTRY +_mesa_TextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width, GLsizei height) +{ + /* no-op */ +} + + + +void GLAPIENTRY +_mesa_TextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth) +{ + /* no-op */ +} diff --git a/mesalib/src/mesa/main/texstorage.h b/mesalib/src/mesa/main/texstorage.h new file mode 100644 index 000000000..99382df51 --- /dev/null +++ b/mesalib/src/mesa/main/texstorage.h @@ -0,0 +1,61 @@ +/* + * Mesa 3-D graphics library + * + * Copyright (C) 2011 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 TEXSTORAGE_H +#define TEXSTORAGE_H + + +extern void GLAPIENTRY +_mesa_TexStorage1D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width); + + +extern void GLAPIENTRY +_mesa_TexStorage2D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height); + + +extern void GLAPIENTRY +_mesa_TexStorage3D(GLenum target, GLsizei levels, GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth); + + + +extern void GLAPIENTRY +_mesa_TextureStorage1DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width); + +extern void GLAPIENTRY +_mesa_TextureStorage2DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width, GLsizei height); + +extern void GLAPIENTRY +_mesa_TextureStorage3DEXT(GLuint texture, GLenum target, GLsizei levels, + GLenum internalformat, + GLsizei width, GLsizei height, GLsizei depth); + + +#endif /* TEXSTORAGE_H */ diff --git a/mesalib/src/mesa/main/uniforms.c b/mesalib/src/mesa/main/uniforms.c index ccaedf9f1..68e44b272 100644 --- a/mesalib/src/mesa/main/uniforms.c +++ b/mesalib/src/mesa/main/uniforms.c @@ -148,6 +148,7 @@ is_sampler_type(GLenum type) case GL_SAMPLER_2D_MULTISAMPLE_ARRAY: case GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: case GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY: + case GL_SAMPLER_EXTERNAL_OES: return GL_TRUE; default: return GL_FALSE; diff --git a/mesalib/src/mesa/main/varray.c b/mesalib/src/mesa/main/varray.c index 13b3405e5..f1a57c1f0 100644 --- a/mesalib/src/mesa/main/varray.c +++ b/mesalib/src/mesa/main/varray.c @@ -212,6 +212,7 @@ update_array(struct gl_context *ctx, array->Stride = stride; array->StrideB = stride ? stride : elementSize; array->Normalized = normalized; + array->Integer = integer; array->Ptr = (const GLubyte *) ptr; array->_ElementSize = elementSize; diff --git a/mesalib/src/mesa/program/ir_to_mesa.cpp b/mesalib/src/mesa/program/ir_to_mesa.cpp index 93563bdaa..3c2eb5707 100644 --- a/mesalib/src/mesa/program/ir_to_mesa.cpp +++ b/mesalib/src/mesa/program/ir_to_mesa.cpp @@ -2273,6 +2273,9 @@ ir_to_mesa_visitor::visit(ir_texture *ir) case GLSL_SAMPLER_DIM_BUF: assert(!"FINISHME: Implement ARB_texture_buffer_object"); break; + case GLSL_SAMPLER_DIM_EXTERNAL: + inst->tex_target = TEXTURE_EXTERNAL_INDEX; + break; default: assert(!"Should not get here."); } @@ -2546,7 +2549,7 @@ count_resources(struct gl_program *prog) * * XXX more checks are needed... */ -static void +static bool check_resources(const struct gl_context *ctx, struct gl_shader_program *shader_program, struct gl_program *prog) @@ -2586,6 +2589,8 @@ check_resources(const struct gl_context *ctx, default: _mesa_problem(ctx, "unexpected program type in check_resources()"); } + + return shader_program->LinkStatus; } class add_uniform_to_shader : public uniform_field_visitor { @@ -3168,9 +3173,7 @@ get_mesa_program(struct gl_context *ctx, } if (!shader_program->LinkStatus) { - free(mesa_instructions); - _mesa_reference_program(ctx, &shader->Program, NULL); - return NULL; + goto fail_exit; } set_branchtargets(&v, mesa_instructions, num_instructions); @@ -3191,10 +3194,16 @@ get_mesa_program(struct gl_context *ctx, prog->Instructions = mesa_instructions; prog->NumInstructions = num_instructions; + /* Setting this to NULL prevents a possible double free in the fail_exit + * path (far below). + */ + mesa_instructions = NULL; + do_set_program_inouts(shader->ir, prog, shader->Type == GL_FRAGMENT_SHADER); count_resources(prog); - check_resources(ctx, shader_program, prog); + if (!check_resources(ctx, shader_program, prog)) + goto fail_exit; _mesa_reference_program(ctx, &shader->Program, prog); @@ -3203,6 +3212,11 @@ get_mesa_program(struct gl_context *ctx, } return prog; + +fail_exit: + free(mesa_instructions); + _mesa_reference_program(ctx, &shader->Program, NULL); + return NULL; } extern "C" { @@ -3301,7 +3315,7 @@ _mesa_ir_link_shader(struct gl_context *ctx, struct gl_shader_program *prog) _mesa_reference_program(ctx, &linked_prog, NULL); } - return GL_TRUE; + return prog->LinkStatus; } diff --git a/mesalib/src/mesa/program/nvfragparse.c b/mesalib/src/mesa/program/nvfragparse.c index ce72c610d..bcc553a9b 100644 --- a/mesalib/src/mesa/program/nvfragparse.c +++ b/mesalib/src/mesa/program/nvfragparse.c @@ -568,7 +568,7 @@ Parse_VectorOrScalarConstant(struct parse_state *parseState, GLfloat *vec) */ static GLboolean Parse_TextureImageId(struct parse_state *parseState, - GLubyte *texUnit, GLubyte *texTargetBit) + GLubyte *texUnit, GLubyte *texTarget) { GLubyte imageSrc[100]; GLint unit; @@ -592,26 +592,26 @@ Parse_TextureImageId(struct parse_state *parseState, RETURN_ERROR1("Expected ,"); if (Parse_String(parseState, "1D")) { - *texTargetBit = TEXTURE_1D_BIT; + *texTarget = TEXTURE_1D_INDEX; } else if (Parse_String(parseState, "2D")) { - *texTargetBit = TEXTURE_2D_BIT; + *texTarget = TEXTURE_2D_INDEX; } else if (Parse_String(parseState, "3D")) { - *texTargetBit = TEXTURE_3D_BIT; + *texTarget = TEXTURE_3D_INDEX; } else if (Parse_String(parseState, "CUBE")) { - *texTargetBit = TEXTURE_CUBE_BIT; + *texTarget = TEXTURE_CUBE_INDEX; } else if (Parse_String(parseState, "RECT")) { - *texTargetBit = TEXTURE_RECT_BIT; + *texTarget = TEXTURE_RECT_INDEX; } else { RETURN_ERROR1("Invalid texture target token"); } /* update record of referenced texture units */ - parseState->texturesUsed[*texUnit] |= *texTargetBit; + parseState->texturesUsed[*texUnit] |= (1 << *texTarget); if (_mesa_bitcount(parseState->texturesUsed[*texUnit]) > 1) { RETURN_ERROR1("Only one texture target can be used per texture unit."); } diff --git a/mesalib/src/mesa/program/prog_instruction.h b/mesalib/src/mesa/program/prog_instruction.h index db2b594e7..09659ce9c 100644 --- a/mesalib/src/mesa/program/prog_instruction.h +++ b/mesalib/src/mesa/program/prog_instruction.h @@ -392,7 +392,7 @@ struct prog_instruction GLuint TexSrcUnit:5; /** Source texture target, one of TEXTURE_{1D,2D,3D,CUBE,RECT}_INDEX */ - GLuint TexSrcTarget:3; + GLuint TexSrcTarget:4; /** True if tex instruction should do shadow comparison */ GLuint TexShadow:1; diff --git a/mesalib/src/mesa/program/program.c b/mesalib/src/mesa/program/program.c index 736652529..582cbccf8 100644 --- a/mesalib/src/mesa/program/program.c +++ b/mesalib/src/mesa/program/program.c @@ -78,7 +78,7 @@ _mesa_init_program(struct gl_context *ctx) ASSERT(MAX_TEXTURE_UNITS <= (1 << 5)); /* If this fails, increase prog_instruction::TexSrcTarget size */ - ASSERT(NUM_TEXTURE_TARGETS <= (1 << 3)); + ASSERT(NUM_TEXTURE_TARGETS <= (1 << 4)); ctx->Program.ErrorPos = -1; ctx->Program.ErrorString = _mesa_strdup(""); diff --git a/mesalib/src/mesa/sources.mak b/mesalib/src/mesa/sources.mak index aedee3d1c..6e327a472 100644 --- a/mesalib/src/mesa/sources.mak +++ b/mesalib/src/mesa/sources.mak @@ -93,6 +93,7 @@ MAIN_SOURCES = \ main/texpal.c \ main/texparam.c \ main/texstate.c \ + main/texstorage.c \ main/texstore.c \ main/texturebarrier.c \ main/transformfeedback.c \ diff --git a/mesalib/src/mesa/state_tracker/st_cb_texture.c b/mesalib/src/mesa/state_tracker/st_cb_texture.c index f82346bc6..c58a9df56 100644 --- a/mesalib/src/mesa/state_tracker/st_cb_texture.c +++ b/mesalib/src/mesa/state_tracker/st_cb_texture.c @@ -75,6 +75,7 @@ gl_target_to_pipe(GLenum target) case GL_TEXTURE_1D: return PIPE_TEXTURE_1D; case GL_TEXTURE_2D: + case GL_TEXTURE_EXTERNAL_OES: return PIPE_TEXTURE_2D; case GL_TEXTURE_RECTANGLE_NV: return PIPE_TEXTURE_RECT; @@ -310,6 +311,7 @@ get_texture_dims(GLenum target) case GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB: case GL_TEXTURE_RECTANGLE_NV: case GL_TEXTURE_2D_ARRAY_EXT: + case GL_TEXTURE_EXTERNAL_OES: return 2; case GL_TEXTURE_3D: return 3; @@ -1842,6 +1844,66 @@ st_get_default_texture(struct st_context *st) } +/** + * Called via ctx->Driver.AllocTextureStorage() to allocate texture memory + * for a whole mipmap stack. + */ +static GLboolean +st_AllocTextureStorage(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLsizei levels, GLsizei width, + GLsizei height, GLsizei depth) +{ + const GLuint numFaces = (texObj->Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1; + struct st_context *st = st_context(ctx); + struct st_texture_object *stObj = st_texture_object(texObj); + GLuint ptWidth, ptHeight, ptDepth, ptLayers, bindings; + enum pipe_format fmt; + GLint level; + + assert(levels > 0); + + /* Save the level=0 dimensions */ + stObj->width0 = width; + stObj->height0 = height; + stObj->depth0 = depth; + stObj->lastLevel = levels - 1; + + fmt = st_mesa_format_to_pipe_format(texObj->Image[0][0]->TexFormat); + + bindings = default_bindings(st, fmt); + + st_gl_texture_dims_to_pipe_dims(texObj->Target, + width, height, depth, + &ptWidth, &ptHeight, &ptDepth, &ptLayers); + + stObj->pt = st_texture_create(st, + gl_target_to_pipe(texObj->Target), + fmt, + levels, + ptWidth, + ptHeight, + ptDepth, + ptLayers, + bindings); + if (!stObj->pt) + return GL_FALSE; + + /* Set image resource pointers */ + for (level = 0; level < levels; level++) { + GLuint face; + for (face = 0; face < numFaces; face++) { + struct st_texture_image *stImage = + st_texture_image(texObj->Image[face][level]); + pipe_resource_reference(&stImage->pt, stObj->pt); + } + } + + return GL_TRUE; +} + + + void st_init_texture_functions(struct dd_function_table *functions) { @@ -1879,4 +1941,6 @@ st_init_texture_functions(struct dd_function_table *functions) /* XXX Temporary until we can query pipe's texture sizes */ functions->TestProxyTexImage = _mesa_test_proxy_teximage; + + functions->AllocTextureStorage = st_AllocTextureStorage; } diff --git a/mesalib/src/mesa/state_tracker/st_extensions.c b/mesalib/src/mesa/state_tracker/st_extensions.c index 6b9ff6b72..af8cc0476 100644 --- a/mesalib/src/mesa/state_tracker/st_extensions.c +++ b/mesalib/src/mesa/state_tracker/st_extensions.c @@ -264,6 +264,7 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.ARB_texture_env_combine = GL_TRUE; ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE; ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE; + ctx->Extensions.ARB_texture_storage = GL_TRUE; ctx->Extensions.ARB_vertex_array_object = GL_TRUE; ctx->Extensions.ARB_vertex_program = GL_TRUE; ctx->Extensions.ARB_window_pos = GL_TRUE; @@ -290,6 +291,7 @@ void st_init_extensions(struct st_context *st) ctx->Extensions.MESA_pack_invert = GL_TRUE; ctx->Extensions.NV_blend_square = GL_TRUE; + ctx->Extensions.NV_fog_distance = GL_TRUE; ctx->Extensions.NV_texgen_reflection = GL_TRUE; ctx->Extensions.NV_texture_env_combine4 = GL_TRUE; ctx->Extensions.NV_texture_rectangle = GL_TRUE; @@ -301,6 +303,8 @@ void st_init_extensions(struct st_context *st) #if FEATURE_OES_EGL_image ctx->Extensions.OES_EGL_image = GL_TRUE; + if (ctx->API != API_OPENGL) + ctx->Extensions.OES_EGL_image_external = GL_TRUE; #endif #if FEATURE_OES_draw_texture ctx->Extensions.OES_draw_texture = GL_TRUE; diff --git a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp index 67a1b513b..6b841f1e9 100644 --- a/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp +++ b/mesalib/src/mesa/state_tracker/st_glsl_to_tgsi.cpp @@ -2725,6 +2725,9 @@ glsl_to_tgsi_visitor::visit(ir_texture *ir) case GLSL_SAMPLER_DIM_BUF: assert(!"FINISHME: Implement ARB_texture_buffer_object"); break; + case GLSL_SAMPLER_DIM_EXTERNAL: + inst->tex_target = TEXTURE_EXTERNAL_INDEX; + break; default: assert(!"Should not get here."); } diff --git a/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c b/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c index b4111b00d..27ebb1ad7 100644 --- a/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c +++ b/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c @@ -290,6 +290,7 @@ translate_texture_target( GLuint textarget, case TEXTURE_RECT_INDEX: return TGSI_TEXTURE_RECT; case TEXTURE_1D_ARRAY_INDEX: return TGSI_TEXTURE_1D_ARRAY; case TEXTURE_2D_ARRAY_INDEX: return TGSI_TEXTURE_2D_ARRAY; + case TEXTURE_EXTERNAL_INDEX: return TGSI_TEXTURE_2D; default: debug_assert( 0 ); return TGSI_TEXTURE_1D; diff --git a/mesalib/src/mesa/state_tracker/st_program.c b/mesalib/src/mesa/state_tracker/st_program.c index c419c4066..146e77f9d 100644 --- a/mesalib/src/mesa/state_tracker/st_program.c +++ b/mesalib/src/mesa/state_tracker/st_program.c @@ -416,6 +416,20 @@ st_get_vp_variant(struct st_context *st, return vpv; } +static int st_translate_interp(enum glsl_interp_qualifier glsl_qual) +{ + switch (glsl_qual) { + case INTERP_QUALIFIER_NONE: + case INTERP_QUALIFIER_SMOOTH: + return TGSI_INTERPOLATE_PERSPECTIVE; + case INTERP_QUALIFIER_FLAT: + return TGSI_INTERPOLATE_CONSTANT; + case INTERP_QUALIFIER_NOPERSPECTIVE: + return TGSI_INTERPOLATE_LINEAR; + } + assert(0); + return TGSI_INTERPOLATE_PERSPECTIVE; +} /** * Translate a Mesa fragment shader into a TGSI shader using extra info in @@ -558,7 +572,7 @@ st_translate_fragment_program(struct st_context *st, if (attr == FRAG_ATTRIB_PNTC) interpMode[slot] = TGSI_INTERPOLATE_LINEAR; else - interpMode[slot] = TGSI_INTERPOLATE_PERSPECTIVE; + interpMode[slot] = st_translate_interp(stfp->Base.InterpQualifier[attr]); break; } } diff --git a/mesalib/src/mesa/state_tracker/st_texture.c b/mesalib/src/mesa/state_tracker/st_texture.c index ca8106b52..3323bbbbe 100644 --- a/mesalib/src/mesa/state_tracker/st_texture.c +++ b/mesalib/src/mesa/state_tracker/st_texture.c @@ -133,6 +133,7 @@ st_gl_texture_dims_to_pipe_dims(GLenum texture, break; case GL_TEXTURE_2D: case GL_TEXTURE_RECTANGLE: + case GL_TEXTURE_EXTERNAL_OES: assert(depthIn == 1); *widthOut = widthIn; *heightOut = heightIn; diff --git a/mesalib/src/mesa/swrast/s_depth.c b/mesalib/src/mesa/swrast/s_depth.c index 90b9ee572..6ffa0a310 100644 --- a/mesalib/src/mesa/swrast/s_depth.c +++ b/mesalib/src/mesa/swrast/s_depth.c @@ -1,1484 +1,1401 @@ -/*
- * Mesa 3-D graphics library
- * Version: 7.2.1
- *
- * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * 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.
- */
-
-
-#include "main/glheader.h"
-#include "main/context.h"
-#include "main/formats.h"
-#include "main/macros.h"
-#include "main/imports.h"
-
-#include "s_depth.h"
-#include "s_span.h"
-
-
-/**
- * Do depth test for a horizontal span of fragments.
- * Input: zbuffer - array of z values in the zbuffer
- * z - array of fragment z values
- * Return: number of fragments which pass the test.
- */
-static GLuint
-depth_test_span16( struct gl_context *ctx, GLuint n,
- GLushort zbuffer[], const GLuint z[], GLubyte mask[] )
-{
- GLuint passed = 0;
-
- /* switch cases ordered from most frequent to less frequent */
- switch (ctx->Depth.Func) {
- case GL_LESS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- if (z[i] < zbuffer[i]) {
- /* pass */
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- if (z[i] < zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_LEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] <= zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] <= zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] >= zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] >= zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GREATER:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] > zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] > zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_NOTEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] != zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] != zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_EQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] == zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] == zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_ALWAYS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- }
- }
- else {
- /* Don't update Z buffer or mask */
- passed = n;
- }
- break;
- case GL_NEVER:
- memset(mask, 0, n * sizeof(GLubyte));
- break;
- default:
- _mesa_problem(ctx, "Bad depth func in depth_test_span16");
- }
-
- return passed;
-}
-
-
-static GLuint
-depth_test_span32( struct gl_context *ctx, GLuint n,
- GLuint zbuffer[], const GLuint z[], GLubyte mask[] )
-{
- GLuint passed = 0;
-
- /* switch cases ordered from most frequent to less frequent */
- switch (ctx->Depth.Func) {
- case GL_LESS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- if (z[i] < zbuffer[i]) {
- /* pass */
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- if (z[i] < zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_LEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] <= zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] <= zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] >= zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] >= zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GREATER:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] > zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] > zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_NOTEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] != zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] != zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_EQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] == zbuffer[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- if (z[i] == zbuffer[i]) {
- /* pass */
- passed++;
- }
- else {
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_ALWAYS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0;i<n;i++) {
- if (mask[i]) {
- zbuffer[i] = z[i];
- passed++;
- }
- }
- }
- else {
- /* Don't update Z buffer or mask */
- passed = n;
- }
- break;
- case GL_NEVER:
- memset(mask, 0, n * sizeof(GLubyte));
- break;
- default:
- _mesa_problem(ctx, "Bad depth func in depth_test_span32");
- }
-
- return passed;
-}
-
-
-
-/**
- * Clamp fragment Z values to the depth near/far range (glDepthRange()).
- * This is used when GL_ARB_depth_clamp/GL_DEPTH_CLAMP is turned on.
- * In that case, vertexes are not clipped against the near/far planes
- * so rasterization will produce fragment Z values outside the usual
- * [0,1] range.
- */
-void
-_swrast_depth_clamp_span( struct gl_context *ctx, SWspan *span )
-{
- struct gl_framebuffer *fb = ctx->DrawBuffer;
- const GLuint count = span->end;
- GLint *zValues = (GLint *) span->array->z; /* sign change */
- GLint min, max;
- GLfloat min_f, max_f;
- GLuint i;
-
- if (ctx->Viewport.Near < ctx->Viewport.Far) {
- min_f = ctx->Viewport.Near;
- max_f = ctx->Viewport.Far;
- } else {
- min_f = ctx->Viewport.Far;
- max_f = ctx->Viewport.Near;
- }
-
- /* Convert floating point values in [0,1] to device Z coordinates in
- * [0, DepthMax].
- * ex: If the Z buffer has 24 bits, DepthMax = 0xffffff.
- *
- * XXX this all falls apart if we have 31 or more bits of Z because
- * the triangle rasterization code produces unsigned Z values. Negative
- * vertex Z values come out as large fragment Z uints.
- */
- min = (GLint) (min_f * fb->_DepthMaxF);
- max = (GLint) (max_f * fb->_DepthMaxF);
- if (max < 0)
- max = 0x7fffffff; /* catch over flow for 30-bit z */
-
- /* Note that we do the comparisons here using signed integers.
- */
- for (i = 0; i < count; i++) {
- if (zValues[i] < min)
- zValues[i] = min;
- if (zValues[i] > max)
- zValues[i] = max;
- }
-}
-
-
-
-/*
- * Apply depth test to span of fragments.
- */
-static GLuint
-depth_test_span( struct gl_context *ctx, SWspan *span)
-{
- struct gl_framebuffer *fb = ctx->DrawBuffer;
- struct gl_renderbuffer *rb = fb->_DepthBuffer;
- const GLint x = span->x;
- const GLint y = span->y;
- const GLuint count = span->end;
- const GLuint *zValues = span->array->z;
- GLubyte *mask = span->array->mask;
- GLuint passed;
-
- ASSERT((span->arrayMask & SPAN_XY) == 0);
- ASSERT(span->arrayMask & SPAN_Z);
-
- if (rb->GetPointer(ctx, rb, 0, 0)) {
- /* Directly access buffer */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort *zbuffer = (GLushort *) rb->GetPointer(ctx, rb, x, y);
- passed = depth_test_span16(ctx, count, zbuffer, zValues, mask);
- }
- else {
- GLuint *zbuffer = (GLuint *) rb->GetPointer(ctx, rb, x, y);
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- passed = depth_test_span32(ctx, count, zbuffer, zValues, mask);
- }
- }
- else {
- /* read depth values from buffer, test, write back */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort zbuffer[MAX_WIDTH];
- rb->GetRow(ctx, rb, count, x, y, zbuffer);
- passed = depth_test_span16(ctx, count, zbuffer, zValues, mask);
- rb->PutRow(ctx, rb, count, x, y, zbuffer, mask);
- }
- else {
- GLuint zbuffer[MAX_WIDTH];
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- rb->GetRow(ctx, rb, count, x, y, zbuffer);
- passed = depth_test_span32(ctx, count, zbuffer, zValues, mask);
- rb->PutRow(ctx, rb, count, x, y, zbuffer, mask);
- }
- }
-
- if (passed < count) {
- span->writeAll = GL_FALSE;
- }
- return passed;
-}
-
-
-
-#define Z_ADDRESS(X, Y) (zStart + (Y) * stride + (X))
-
-
-/*
- * Do depth testing for an array of fragments at assorted locations.
- */
-static void
-direct_depth_test_pixels16(struct gl_context *ctx, GLushort *zStart, GLuint stride,
- GLuint n, const GLint x[], const GLint y[],
- const GLuint z[], GLubyte mask[] )
-{
- /* switch cases ordered from most frequent to less frequent */
- switch (ctx->Depth.Func) {
- case GL_LESS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] < *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] < *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_LEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] <= *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] <= *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] >= *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] >= *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GREATER:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] > *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] > *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_NOTEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] != *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] != *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_EQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] == *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] == *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_ALWAYS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLushort *zptr = Z_ADDRESS(x[i], y[i]);
- *zptr = z[i];
- }
- }
- }
- else {
- /* Don't update Z buffer or mask */
- }
- break;
- case GL_NEVER:
- /* depth test never passes */
- memset(mask, 0, n * sizeof(GLubyte));
- break;
- default:
- _mesa_problem(ctx, "Bad depth func in direct_depth_test_pixels");
- }
-}
-
-
-
-/*
- * Do depth testing for an array of fragments with direct access to zbuffer.
- */
-static void
-direct_depth_test_pixels32(struct gl_context *ctx, GLuint *zStart, GLuint stride,
- GLuint n, const GLint x[], const GLint y[],
- const GLuint z[], GLubyte mask[] )
-{
- /* switch cases ordered from most frequent to less frequent */
- switch (ctx->Depth.Func) {
- case GL_LESS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] < *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] < *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_LEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] <= *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] <= *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] >= *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] >= *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_GREATER:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] > *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] > *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_NOTEQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] != *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] != *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_EQUAL:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] == *zptr) {
- /* pass */
- *zptr = z[i];
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- else {
- /* Don't update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- if (z[i] == *zptr) {
- /* pass */
- }
- else {
- /* fail */
- mask[i] = 0;
- }
- }
- }
- }
- break;
- case GL_ALWAYS:
- if (ctx->Depth.Mask) {
- /* Update Z buffer */
- GLuint i;
- for (i=0; i<n; i++) {
- if (mask[i]) {
- GLuint *zptr = Z_ADDRESS(x[i], y[i]);
- *zptr = z[i];
- }
- }
- }
- else {
- /* Don't update Z buffer or mask */
- }
- break;
- case GL_NEVER:
- /* depth test never passes */
- memset(mask, 0, n * sizeof(GLubyte));
- break;
- default:
- _mesa_problem(ctx, "Bad depth func in direct_depth_test_pixels");
- }
-}
-
-
-
-
-static GLuint
-depth_test_pixels( struct gl_context *ctx, SWspan *span )
-{
- struct gl_framebuffer *fb = ctx->DrawBuffer;
- struct gl_renderbuffer *rb = fb->_DepthBuffer;
- const GLuint count = span->end;
- const GLint *x = span->array->x;
- const GLint *y = span->array->y;
- const GLuint *z = span->array->z;
- GLubyte *mask = span->array->mask;
-
- if (rb->GetPointer(ctx, rb, 0, 0)) {
- /* Directly access values */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort *zStart = (GLushort *) rb->Data;
- GLuint stride = rb->Width;
- direct_depth_test_pixels16(ctx, zStart, stride, count, x, y, z, mask);
- }
- else {
- GLuint *zStart = (GLuint *) rb->Data;
- GLuint stride = rb->Width;
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- direct_depth_test_pixels32(ctx, zStart, stride, count, x, y, z, mask);
- }
- }
- else {
- /* read depth values from buffer, test, write back */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort zbuffer[MAX_WIDTH];
- _swrast_get_values(ctx, rb, count, x, y, zbuffer, sizeof(GLushort));
- depth_test_span16(ctx, count, zbuffer, z, mask);
- rb->PutValues(ctx, rb, count, x, y, zbuffer, mask);
- }
- else {
- GLuint zbuffer[MAX_WIDTH];
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- _swrast_get_values(ctx, rb, count, x, y, zbuffer, sizeof(GLuint));
- depth_test_span32(ctx, count, zbuffer, z, mask);
- rb->PutValues(ctx, rb, count, x, y, zbuffer, mask);
- }
- }
-
- return count; /* not really correct, but OK */
-}
-
-
-/**
- * Apply depth (Z) buffer testing to the span.
- * \return approx number of pixels that passed (only zero is reliable)
- */
-GLuint
-_swrast_depth_test_span( struct gl_context *ctx, SWspan *span)
-{
- if (span->arrayMask & SPAN_XY)
- return depth_test_pixels(ctx, span);
- else
- return depth_test_span(ctx, span);
-}
-
-
-/**
- * GL_EXT_depth_bounds_test extension.
- * Discard fragments depending on whether the corresponding Z-buffer
- * values are outside the depth bounds test range.
- * Note: we test the Z buffer values, not the fragment Z values!
- * \return GL_TRUE if any fragments pass, GL_FALSE if no fragments pass
- */
-GLboolean
-_swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span )
-{
- struct gl_framebuffer *fb = ctx->DrawBuffer;
- struct gl_renderbuffer *rb = fb->_DepthBuffer;
- GLuint zMin = (GLuint) (ctx->Depth.BoundsMin * fb->_DepthMaxF + 0.5F);
- GLuint zMax = (GLuint) (ctx->Depth.BoundsMax * fb->_DepthMaxF + 0.5F);
- GLubyte *mask = span->array->mask;
- const GLuint count = span->end;
- GLuint i;
- GLboolean anyPass = GL_FALSE;
-
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- /* get 16-bit values */
- GLushort zbuffer16[MAX_WIDTH], *zbuffer;
- if (span->arrayMask & SPAN_XY) {
- _swrast_get_values(ctx, rb, count, span->array->x, span->array->y,
- zbuffer16, sizeof(GLushort));
- zbuffer = zbuffer16;
- }
- else {
- zbuffer = (GLushort*) rb->GetPointer(ctx, rb, span->x, span->y);
- if (!zbuffer) {
- rb->GetRow(ctx, rb, count, span->x, span->y, zbuffer16);
- zbuffer = zbuffer16;
- }
- }
- assert(zbuffer);
-
- /* Now do the tests */
- for (i = 0; i < count; i++) {
- if (mask[i]) {
- if (zbuffer[i] < zMin || zbuffer[i] > zMax)
- mask[i] = GL_FALSE;
- else
- anyPass = GL_TRUE;
- }
- }
- }
- else {
- /* get 32-bit values */
- GLuint zbuffer32[MAX_WIDTH], *zbuffer;
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- if (span->arrayMask & SPAN_XY) {
- _swrast_get_values(ctx, rb, count, span->array->x, span->array->y,
- zbuffer32, sizeof(GLuint));
- zbuffer = zbuffer32;
- }
- else {
- zbuffer = (GLuint*) rb->GetPointer(ctx, rb, span->x, span->y);
- if (!zbuffer) {
- rb->GetRow(ctx, rb, count, span->x, span->y, zbuffer32);
- zbuffer = zbuffer32;
- }
- }
- assert(zbuffer);
-
- /* Now do the tests */
- for (i = 0; i < count; i++) {
- if (mask[i]) {
- if (zbuffer[i] < zMin || zbuffer[i] > zMax)
- mask[i] = GL_FALSE;
- else
- anyPass = GL_TRUE;
- }
- }
- }
-
- return anyPass;
-}
-
-
-
-/**********************************************************************/
-/***** Read Depth Buffer *****/
-/**********************************************************************/
-
-
-/**
- * Read a span of depth values from the given depth renderbuffer, returning
- * the values as GLfloats.
- * This function does clipping to prevent reading outside the depth buffer's
- * bounds. Though the clipping is redundant when we're called from
- * _swrast_ReadPixels.
- */
-void
-_swrast_read_depth_span_float( struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLint n, GLint x, GLint y, GLfloat depth[] )
-{
- const GLfloat scale = 1.0F / ctx->DrawBuffer->_DepthMaxF;
-
- if (!rb) {
- /* really only doing this to prevent FP exceptions later */
- memset(depth, 0, n * sizeof(GLfloat));
- return;
- }
-
- ASSERT(rb->_BaseFormat == GL_DEPTH_COMPONENT);
-
- if (y < 0 || y >= (GLint) rb->Height ||
- x + n <= 0 || x >= (GLint) rb->Width) {
- /* span is completely outside framebuffer */
- memset(depth, 0, n * sizeof(GLfloat));
- return;
- }
-
- if (x < 0) {
- GLint dx = -x;
- GLint i;
- for (i = 0; i < dx; i++)
- depth[i] = 0.0;
- x = 0;
- n -= dx;
- depth += dx;
- }
- if (x + n > (GLint) rb->Width) {
- GLint dx = x + n - (GLint) rb->Width;
- GLint i;
- for (i = 0; i < dx; i++)
- depth[n - i - 1] = 0.0;
- n -= dx;
- }
- if (n <= 0) {
- return;
- }
-
- if (rb->DataType == GL_UNSIGNED_INT) {
- GLuint temp[MAX_WIDTH];
- GLint i;
- rb->GetRow(ctx, rb, n, x, y, temp);
- for (i = 0; i < n; i++) {
- depth[i] = temp[i] * scale;
- }
- }
- else if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort temp[MAX_WIDTH];
- GLint i;
- rb->GetRow(ctx, rb, n, x, y, temp);
- for (i = 0; i < n; i++) {
- depth[i] = temp[i] * scale;
- }
- }
- else {
- _mesa_problem(ctx, "Invalid depth renderbuffer data type");
- }
-}
-
-
-/**
- * As above, but return 32-bit GLuint values.
- */
-void
-_swrast_read_depth_span_uint( struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLint n, GLint x, GLint y, GLuint depth[] )
-{
- GLuint depthBits;
-
- if (!rb) {
- /* really only doing this to prevent FP exceptions later */
- memset(depth, 0, n * sizeof(GLuint));
- return;
- }
-
- depthBits = _mesa_get_format_bits(rb->Format, GL_DEPTH_BITS);
-
- ASSERT(rb->_BaseFormat == GL_DEPTH_COMPONENT);
-
- if (y < 0 || y >= (GLint) rb->Height ||
- x + n <= 0 || x >= (GLint) rb->Width) {
- /* span is completely outside framebuffer */
- memset(depth, 0, n * sizeof(GLfloat));
- return;
- }
-
- if (x < 0) {
- GLint dx = -x;
- GLint i;
- for (i = 0; i < dx; i++)
- depth[i] = 0;
- x = 0;
- n -= dx;
- depth += dx;
- }
- if (x + n > (GLint) rb->Width) {
- GLint dx = x + n - (GLint) rb->Width;
- GLint i;
- for (i = 0; i < dx; i++)
- depth[n - i - 1] = 0;
- n -= dx;
- }
- if (n <= 0) {
- return;
- }
-
- if (rb->DataType == GL_UNSIGNED_INT) {
- rb->GetRow(ctx, rb, n, x, y, depth);
- if (depthBits < 32) {
- GLuint shift = 32 - depthBits;
- GLint i;
- for (i = 0; i < n; i++) {
- GLuint z = depth[i];
- depth[i] = z << shift; /* XXX lsb bits? */
- }
- }
- }
- else if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort temp[MAX_WIDTH];
- GLint i;
- rb->GetRow(ctx, rb, n, x, y, temp);
- if (depthBits == 16) {
- for (i = 0; i < n; i++) {
- GLuint z = temp[i];
- depth[i] = (z << 16) | z;
- }
- }
- else {
- GLuint shift = 16 - depthBits;
- for (i = 0; i < n; i++) {
- GLuint z = temp[i];
- depth[i] = (z << (shift + 16)) | (z << shift); /* XXX lsb bits? */
- }
- }
- }
- else {
- _mesa_problem(ctx, "Invalid depth renderbuffer data type");
- }
-}
-
-
-
-/**
- * Clear the given z/depth renderbuffer.
- */
-void
-_swrast_clear_depth_buffer( struct gl_context *ctx, struct gl_renderbuffer *rb )
-{
- GLuint clearValue;
- GLint x, y, width, height;
-
- if (!rb || !ctx->Depth.Mask) {
- /* no depth buffer, or writing to it is disabled */
- return;
- }
-
- /* compute integer clearing value */
- if (ctx->Depth.Clear == 1.0) {
- clearValue = ctx->DrawBuffer->_DepthMax;
- }
- else {
- clearValue = (GLuint) (ctx->Depth.Clear * ctx->DrawBuffer->_DepthMaxF);
- }
-
- assert(rb->_BaseFormat == GL_DEPTH_COMPONENT);
-
- /* compute region to clear */
- x = ctx->DrawBuffer->_Xmin;
- y = ctx->DrawBuffer->_Ymin;
- width = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin;
- height = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin;
-
- if (rb->GetPointer(ctx, rb, 0, 0)) {
- /* Direct buffer access is possible. Either this is just malloc'd
- * memory, or perhaps the driver mmap'd the zbuffer memory.
- */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- if ((clearValue & 0xff) == ((clearValue >> 8) & 0xff) &&
- ((GLushort *) rb->GetPointer(ctx, rb, 0, 0) + width ==
- (GLushort *) rb->GetPointer(ctx, rb, 0, 1))) {
- /* optimized case */
- GLushort *dst = (GLushort *) rb->GetPointer(ctx, rb, x, y);
- GLuint len = width * height * sizeof(GLushort);
- memset(dst, (clearValue & 0xff), len);
- }
- else {
- /* general case */
- GLint i, j;
- for (i = 0; i < height; i++) {
- GLushort *dst = (GLushort *) rb->GetPointer(ctx, rb, x, y + i);
- for (j = 0; j < width; j++) {
- dst[j] = clearValue;
- }
- }
- }
- }
- else {
- GLint i, j;
- ASSERT(rb->DataType == GL_UNSIGNED_INT);
- for (i = 0; i < height; i++) {
- GLuint *dst = (GLuint *) rb->GetPointer(ctx, rb, x, y + i);
- for (j = 0; j < width; j++) {
- dst[j] = clearValue;
- }
- }
- }
- }
- else {
- /* Direct access not possible. Use PutRow to write new values. */
- if (rb->DataType == GL_UNSIGNED_SHORT) {
- GLushort clearVal16 = (GLushort) (clearValue & 0xffff);
- GLint i;
- for (i = 0; i < height; i++) {
- rb->PutMonoRow(ctx, rb, width, x, y + i, &clearVal16, NULL);
- }
- }
- else if (rb->DataType == GL_UNSIGNED_INT) {
- GLint i;
- ASSERT(sizeof(clearValue) == sizeof(GLuint));
- for (i = 0; i < height; i++) {
- rb->PutMonoRow(ctx, rb, width, x, y + i, &clearValue, NULL);
- }
- }
- else {
- _mesa_problem(ctx, "bad depth renderbuffer DataType");
- }
- }
-}
+/* + * Mesa 3-D graphics library + * Version: 7.2.1 + * + * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * 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. + */ + + +#include "main/glheader.h" +#include "main/context.h" +#include "main/formats.h" +#include "main/macros.h" +#include "main/imports.h" + +#include "s_depth.h" +#include "s_span.h" + + +/** + * Do depth test for a horizontal span of fragments. + * Input: zbuffer - array of z values in the zbuffer + * z - array of fragment z values + * Return: number of fragments which pass the test. + */ +static GLuint +depth_test_span16( struct gl_context *ctx, GLuint n, + GLushort zbuffer[], const GLuint z[], GLubyte mask[] ) +{ + GLuint passed = 0; + + /* switch cases ordered from most frequent to less frequent */ + switch (ctx->Depth.Func) { + case GL_LESS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + if (z[i] < zbuffer[i]) { + /* pass */ + zbuffer[i] = z[i]; + passed++; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + if (z[i] < zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_LEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] <= zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] <= zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_GEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] >= zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] >= zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_GREATER: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] > zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] > zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_NOTEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] != zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] != zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_EQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] == zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] == zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_ALWAYS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + zbuffer[i] = z[i]; + passed++; + } + } + } + else { + /* Don't update Z buffer or mask */ + passed = n; + } + break; + case GL_NEVER: + memset(mask, 0, n * sizeof(GLubyte)); + break; + default: + _mesa_problem(ctx, "Bad depth func in depth_test_span16"); + } + + return passed; +} + + +static GLuint +depth_test_span32( struct gl_context *ctx, GLuint n, + GLuint zbuffer[], const GLuint z[], GLubyte mask[] ) +{ + GLuint passed = 0; + + /* switch cases ordered from most frequent to less frequent */ + switch (ctx->Depth.Func) { + case GL_LESS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + if (z[i] < zbuffer[i]) { + /* pass */ + zbuffer[i] = z[i]; + passed++; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + if (z[i] < zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_LEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] <= zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] <= zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_GEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] >= zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] >= zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_GREATER: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] > zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] > zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_NOTEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] != zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] != zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_EQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] == zbuffer[i]) { + zbuffer[i] = z[i]; + passed++; + } + else { + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + if (z[i] == zbuffer[i]) { + /* pass */ + passed++; + } + else { + mask[i] = 0; + } + } + } + } + break; + case GL_ALWAYS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0;i<n;i++) { + if (mask[i]) { + zbuffer[i] = z[i]; + passed++; + } + } + } + else { + /* Don't update Z buffer or mask */ + passed = n; + } + break; + case GL_NEVER: + memset(mask, 0, n * sizeof(GLubyte)); + break; + default: + _mesa_problem(ctx, "Bad depth func in depth_test_span32"); + } + + return passed; +} + + + +/** + * Clamp fragment Z values to the depth near/far range (glDepthRange()). + * This is used when GL_ARB_depth_clamp/GL_DEPTH_CLAMP is turned on. + * In that case, vertexes are not clipped against the near/far planes + * so rasterization will produce fragment Z values outside the usual + * [0,1] range. + */ +void +_swrast_depth_clamp_span( struct gl_context *ctx, SWspan *span ) +{ + struct gl_framebuffer *fb = ctx->DrawBuffer; + const GLuint count = span->end; + GLint *zValues = (GLint *) span->array->z; /* sign change */ + GLint min, max; + GLfloat min_f, max_f; + GLuint i; + + if (ctx->Viewport.Near < ctx->Viewport.Far) { + min_f = ctx->Viewport.Near; + max_f = ctx->Viewport.Far; + } else { + min_f = ctx->Viewport.Far; + max_f = ctx->Viewport.Near; + } + + /* Convert floating point values in [0,1] to device Z coordinates in + * [0, DepthMax]. + * ex: If the Z buffer has 24 bits, DepthMax = 0xffffff. + * + * XXX this all falls apart if we have 31 or more bits of Z because + * the triangle rasterization code produces unsigned Z values. Negative + * vertex Z values come out as large fragment Z uints. + */ + min = (GLint) (min_f * fb->_DepthMaxF); + max = (GLint) (max_f * fb->_DepthMaxF); + if (max < 0) + max = 0x7fffffff; /* catch over flow for 30-bit z */ + + /* Note that we do the comparisons here using signed integers. + */ + for (i = 0; i < count; i++) { + if (zValues[i] < min) + zValues[i] = min; + if (zValues[i] > max) + zValues[i] = max; + } +} + + + +/* + * Apply depth test to span of fragments. + */ +static GLuint +depth_test_span( struct gl_context *ctx, SWspan *span) +{ + struct gl_framebuffer *fb = ctx->DrawBuffer; + struct gl_renderbuffer *rb = fb->_DepthBuffer; + const GLint x = span->x; + const GLint y = span->y; + const GLuint count = span->end; + const GLuint *zValues = span->array->z; + GLubyte *mask = span->array->mask; + GLuint passed; + + ASSERT((span->arrayMask & SPAN_XY) == 0); + ASSERT(span->arrayMask & SPAN_Z); + + if (rb->GetPointer(ctx, rb, 0, 0)) { + /* Directly access buffer */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort *zbuffer = (GLushort *) rb->GetPointer(ctx, rb, x, y); + passed = depth_test_span16(ctx, count, zbuffer, zValues, mask); + } + else { + GLuint *zbuffer = (GLuint *) rb->GetPointer(ctx, rb, x, y); + ASSERT(rb->DataType == GL_UNSIGNED_INT); + passed = depth_test_span32(ctx, count, zbuffer, zValues, mask); + } + } + else { + /* read depth values from buffer, test, write back */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort zbuffer[MAX_WIDTH]; + rb->GetRow(ctx, rb, count, x, y, zbuffer); + passed = depth_test_span16(ctx, count, zbuffer, zValues, mask); + rb->PutRow(ctx, rb, count, x, y, zbuffer, mask); + } + else { + GLuint zbuffer[MAX_WIDTH]; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + rb->GetRow(ctx, rb, count, x, y, zbuffer); + passed = depth_test_span32(ctx, count, zbuffer, zValues, mask); + rb->PutRow(ctx, rb, count, x, y, zbuffer, mask); + } + } + + if (passed < count) { + span->writeAll = GL_FALSE; + } + return passed; +} + + + +#define Z_ADDRESS(X, Y) (zStart + (Y) * stride + (X)) + + +/* + * Do depth testing for an array of fragments at assorted locations. + */ +static void +direct_depth_test_pixels16(struct gl_context *ctx, GLushort *zStart, GLuint stride, + GLuint n, const GLint x[], const GLint y[], + const GLuint z[], GLubyte mask[] ) +{ + /* switch cases ordered from most frequent to less frequent */ + switch (ctx->Depth.Func) { + case GL_LESS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] < *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] < *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_LEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] <= *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] <= *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_GEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] >= *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] >= *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_GREATER: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] > *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] > *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_NOTEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] != *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] != *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_EQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] == *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] == *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_ALWAYS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLushort *zptr = Z_ADDRESS(x[i], y[i]); + *zptr = z[i]; + } + } + } + else { + /* Don't update Z buffer or mask */ + } + break; + case GL_NEVER: + /* depth test never passes */ + memset(mask, 0, n * sizeof(GLubyte)); + break; + default: + _mesa_problem(ctx, "Bad depth func in direct_depth_test_pixels"); + } +} + + + +/* + * Do depth testing for an array of fragments with direct access to zbuffer. + */ +static void +direct_depth_test_pixels32(struct gl_context *ctx, GLuint *zStart, GLuint stride, + GLuint n, const GLint x[], const GLint y[], + const GLuint z[], GLubyte mask[] ) +{ + /* switch cases ordered from most frequent to less frequent */ + switch (ctx->Depth.Func) { + case GL_LESS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] < *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] < *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_LEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] <= *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] <= *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_GEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] >= *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] >= *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_GREATER: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] > *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] > *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_NOTEQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] != *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] != *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_EQUAL: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] == *zptr) { + /* pass */ + *zptr = z[i]; + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + else { + /* Don't update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + if (z[i] == *zptr) { + /* pass */ + } + else { + /* fail */ + mask[i] = 0; + } + } + } + } + break; + case GL_ALWAYS: + if (ctx->Depth.Mask) { + /* Update Z buffer */ + GLuint i; + for (i=0; i<n; i++) { + if (mask[i]) { + GLuint *zptr = Z_ADDRESS(x[i], y[i]); + *zptr = z[i]; + } + } + } + else { + /* Don't update Z buffer or mask */ + } + break; + case GL_NEVER: + /* depth test never passes */ + memset(mask, 0, n * sizeof(GLubyte)); + break; + default: + _mesa_problem(ctx, "Bad depth func in direct_depth_test_pixels"); + } +} + + + + +static GLuint +depth_test_pixels( struct gl_context *ctx, SWspan *span ) +{ + struct gl_framebuffer *fb = ctx->DrawBuffer; + struct gl_renderbuffer *rb = fb->_DepthBuffer; + const GLuint count = span->end; + const GLint *x = span->array->x; + const GLint *y = span->array->y; + const GLuint *z = span->array->z; + GLubyte *mask = span->array->mask; + + if (rb->GetPointer(ctx, rb, 0, 0)) { + /* Directly access values */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort *zStart = (GLushort *) rb->Data; + GLuint stride = rb->Width; + direct_depth_test_pixels16(ctx, zStart, stride, count, x, y, z, mask); + } + else { + GLuint *zStart = (GLuint *) rb->Data; + GLuint stride = rb->Width; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + direct_depth_test_pixels32(ctx, zStart, stride, count, x, y, z, mask); + } + } + else { + /* read depth values from buffer, test, write back */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort zbuffer[MAX_WIDTH]; + _swrast_get_values(ctx, rb, count, x, y, zbuffer, sizeof(GLushort)); + depth_test_span16(ctx, count, zbuffer, z, mask); + rb->PutValues(ctx, rb, count, x, y, zbuffer, mask); + } + else { + GLuint zbuffer[MAX_WIDTH]; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + _swrast_get_values(ctx, rb, count, x, y, zbuffer, sizeof(GLuint)); + depth_test_span32(ctx, count, zbuffer, z, mask); + rb->PutValues(ctx, rb, count, x, y, zbuffer, mask); + } + } + + return count; /* not really correct, but OK */ +} + + +/** + * Apply depth (Z) buffer testing to the span. + * \return approx number of pixels that passed (only zero is reliable) + */ +GLuint +_swrast_depth_test_span( struct gl_context *ctx, SWspan *span) +{ + if (span->arrayMask & SPAN_XY) + return depth_test_pixels(ctx, span); + else + return depth_test_span(ctx, span); +} + + +/** + * GL_EXT_depth_bounds_test extension. + * Discard fragments depending on whether the corresponding Z-buffer + * values are outside the depth bounds test range. + * Note: we test the Z buffer values, not the fragment Z values! + * \return GL_TRUE if any fragments pass, GL_FALSE if no fragments pass + */ +GLboolean +_swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span ) +{ + struct gl_framebuffer *fb = ctx->DrawBuffer; + struct gl_renderbuffer *rb = fb->_DepthBuffer; + GLuint zMin = (GLuint) (ctx->Depth.BoundsMin * fb->_DepthMaxF + 0.5F); + GLuint zMax = (GLuint) (ctx->Depth.BoundsMax * fb->_DepthMaxF + 0.5F); + GLubyte *mask = span->array->mask; + const GLuint count = span->end; + GLuint i; + GLboolean anyPass = GL_FALSE; + + if (rb->DataType == GL_UNSIGNED_SHORT) { + /* get 16-bit values */ + GLushort zbuffer16[MAX_WIDTH], *zbuffer; + if (span->arrayMask & SPAN_XY) { + _swrast_get_values(ctx, rb, count, span->array->x, span->array->y, + zbuffer16, sizeof(GLushort)); + zbuffer = zbuffer16; + } + else { + zbuffer = (GLushort*) rb->GetPointer(ctx, rb, span->x, span->y); + if (!zbuffer) { + rb->GetRow(ctx, rb, count, span->x, span->y, zbuffer16); + zbuffer = zbuffer16; + } + } + assert(zbuffer); + + /* Now do the tests */ + for (i = 0; i < count; i++) { + if (mask[i]) { + if (zbuffer[i] < zMin || zbuffer[i] > zMax) + mask[i] = GL_FALSE; + else + anyPass = GL_TRUE; + } + } + } + else { + /* get 32-bit values */ + GLuint zbuffer32[MAX_WIDTH], *zbuffer; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + if (span->arrayMask & SPAN_XY) { + _swrast_get_values(ctx, rb, count, span->array->x, span->array->y, + zbuffer32, sizeof(GLuint)); + zbuffer = zbuffer32; + } + else { + zbuffer = (GLuint*) rb->GetPointer(ctx, rb, span->x, span->y); + if (!zbuffer) { + rb->GetRow(ctx, rb, count, span->x, span->y, zbuffer32); + zbuffer = zbuffer32; + } + } + assert(zbuffer); + + /* Now do the tests */ + for (i = 0; i < count; i++) { + if (mask[i]) { + if (zbuffer[i] < zMin || zbuffer[i] > zMax) + mask[i] = GL_FALSE; + else + anyPass = GL_TRUE; + } + } + } + + return anyPass; +} + + + +/**********************************************************************/ +/***** Read Depth Buffer *****/ +/**********************************************************************/ + + +/** + * Read a span of depth values from the given depth renderbuffer, returning + * the values as GLfloats. + * This function does clipping to prevent reading outside the depth buffer's + * bounds. Though the clipping is redundant when we're called from + * _swrast_ReadPixels. + */ +void +_swrast_read_depth_span_float( struct gl_context *ctx, struct gl_renderbuffer *rb, + GLint n, GLint x, GLint y, GLfloat depth[] ) +{ + const GLfloat scale = 1.0F / ctx->DrawBuffer->_DepthMaxF; + + if (!rb) { + /* really only doing this to prevent FP exceptions later */ + memset(depth, 0, n * sizeof(GLfloat)); + return; + } + + ASSERT(rb->_BaseFormat == GL_DEPTH_COMPONENT); + + if (y < 0 || y >= (GLint) rb->Height || + x + n <= 0 || x >= (GLint) rb->Width) { + /* span is completely outside framebuffer */ + memset(depth, 0, n * sizeof(GLfloat)); + return; + } + + if (x < 0) { + GLint dx = -x; + GLint i; + for (i = 0; i < dx; i++) + depth[i] = 0.0; + x = 0; + n -= dx; + depth += dx; + } + if (x + n > (GLint) rb->Width) { + GLint dx = x + n - (GLint) rb->Width; + GLint i; + for (i = 0; i < dx; i++) + depth[n - i - 1] = 0.0; + n -= dx; + } + if (n <= 0) { + return; + } + + if (rb->DataType == GL_UNSIGNED_INT) { + GLuint temp[MAX_WIDTH]; + GLint i; + rb->GetRow(ctx, rb, n, x, y, temp); + for (i = 0; i < n; i++) { + depth[i] = temp[i] * scale; + } + } + else if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort temp[MAX_WIDTH]; + GLint i; + rb->GetRow(ctx, rb, n, x, y, temp); + for (i = 0; i < n; i++) { + depth[i] = temp[i] * scale; + } + } + else { + _mesa_problem(ctx, "Invalid depth renderbuffer data type"); + } +} + +/** + * Clear the given z/depth renderbuffer. + */ +void +_swrast_clear_depth_buffer( struct gl_context *ctx, struct gl_renderbuffer *rb ) +{ + GLuint clearValue; + GLint x, y, width, height; + + if (!rb || !ctx->Depth.Mask) { + /* no depth buffer, or writing to it is disabled */ + return; + } + + /* compute integer clearing value */ + if (ctx->Depth.Clear == 1.0) { + clearValue = ctx->DrawBuffer->_DepthMax; + } + else { + clearValue = (GLuint) (ctx->Depth.Clear * ctx->DrawBuffer->_DepthMaxF); + } + + assert(rb->_BaseFormat == GL_DEPTH_COMPONENT); + + /* compute region to clear */ + x = ctx->DrawBuffer->_Xmin; + y = ctx->DrawBuffer->_Ymin; + width = ctx->DrawBuffer->_Xmax - ctx->DrawBuffer->_Xmin; + height = ctx->DrawBuffer->_Ymax - ctx->DrawBuffer->_Ymin; + + if (rb->GetPointer(ctx, rb, 0, 0)) { + /* Direct buffer access is possible. Either this is just malloc'd + * memory, or perhaps the driver mmap'd the zbuffer memory. + */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + if ((clearValue & 0xff) == ((clearValue >> 8) & 0xff) && + ((GLushort *) rb->GetPointer(ctx, rb, 0, 0) + width == + (GLushort *) rb->GetPointer(ctx, rb, 0, 1))) { + /* optimized case */ + GLushort *dst = (GLushort *) rb->GetPointer(ctx, rb, x, y); + GLuint len = width * height * sizeof(GLushort); + memset(dst, (clearValue & 0xff), len); + } + else { + /* general case */ + GLint i, j; + for (i = 0; i < height; i++) { + GLushort *dst = (GLushort *) rb->GetPointer(ctx, rb, x, y + i); + for (j = 0; j < width; j++) { + dst[j] = clearValue; + } + } + } + } + else { + GLint i, j; + ASSERT(rb->DataType == GL_UNSIGNED_INT); + for (i = 0; i < height; i++) { + GLuint *dst = (GLuint *) rb->GetPointer(ctx, rb, x, y + i); + for (j = 0; j < width; j++) { + dst[j] = clearValue; + } + } + } + } + else { + /* Direct access not possible. Use PutRow to write new values. */ + if (rb->DataType == GL_UNSIGNED_SHORT) { + GLushort clearVal16 = (GLushort) (clearValue & 0xffff); + GLint i; + for (i = 0; i < height; i++) { + rb->PutMonoRow(ctx, rb, width, x, y + i, &clearVal16, NULL); + } + } + else if (rb->DataType == GL_UNSIGNED_INT) { + GLint i; + ASSERT(sizeof(clearValue) == sizeof(GLuint)); + for (i = 0; i < height; i++) { + rb->PutMonoRow(ctx, rb, width, x, y + i, &clearValue, NULL); + } + } + else { + _mesa_problem(ctx, "bad depth renderbuffer DataType"); + } + } +} diff --git a/mesalib/src/mesa/swrast/s_depth.h b/mesalib/src/mesa/swrast/s_depth.h index a35ed66bc..2caea82e0 100644 --- a/mesalib/src/mesa/swrast/s_depth.h +++ b/mesalib/src/mesa/swrast/s_depth.h @@ -1,61 +1,55 @@ -/*
- * Mesa 3-D graphics library
- * Version: 6.5.1
- *
- * Copyright (C) 1999-2006 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.
- */
-
-
-#ifndef S_DEPTH_H
-#define S_DEPTH_H
-
-
-#include "main/glheader.h"
-#include "s_span.h"
-
-struct gl_context;
-struct gl_renderbuffer;
-
-
-extern GLuint
-_swrast_depth_test_span( struct gl_context *ctx, SWspan *span);
-
-extern void
-_swrast_depth_clamp_span( struct gl_context *ctx, SWspan *span );
-
-extern GLboolean
-_swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span );
-
-
-extern void
-_swrast_read_depth_span_float( struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLint n, GLint x, GLint y, GLfloat depth[] );
-
-
-extern void
-_swrast_read_depth_span_uint( struct gl_context *ctx, struct gl_renderbuffer *rb,
- GLint n, GLint x, GLint y, GLuint depth[] );
-
-
-extern void
-_swrast_clear_depth_buffer( struct gl_context *ctx, struct gl_renderbuffer *rb );
-
-
-#endif
+/* + * Mesa 3-D graphics library + * Version: 6.5.1 + * + * Copyright (C) 1999-2006 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. + */ + + +#ifndef S_DEPTH_H +#define S_DEPTH_H + + +#include "main/glheader.h" +#include "s_span.h" + +struct gl_context; +struct gl_renderbuffer; + + +extern GLuint +_swrast_depth_test_span( struct gl_context *ctx, SWspan *span); + +extern void +_swrast_depth_clamp_span( struct gl_context *ctx, SWspan *span ); + +extern GLboolean +_swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span ); + + +extern void +_swrast_read_depth_span_float( struct gl_context *ctx, struct gl_renderbuffer *rb, + GLint n, GLint x, GLint y, GLfloat depth[] ); + +extern void +_swrast_clear_depth_buffer( struct gl_context *ctx, struct gl_renderbuffer *rb ); + + +#endif diff --git a/mesalib/src/mesa/swrast/s_readpix.c b/mesalib/src/mesa/swrast/s_readpix.c index 0d2e63f72..c36746caf 100644 --- a/mesalib/src/mesa/swrast/s_readpix.c +++ b/mesalib/src/mesa/swrast/s_readpix.c @@ -27,6 +27,7 @@ #include "main/colormac.h" #include "main/feedback.h" #include "main/formats.h" +#include "main/format_unpack.h" #include "main/image.h" #include "main/imports.h" #include "main/macros.h" @@ -39,6 +40,57 @@ #include "s_span.h" #include "s_stencil.h" +/** + * Tries to implement glReadPixels() of GL_DEPTH_COMPONENT using memcpy of the + * mapping. + */ +static GLboolean +fast_read_depth_pixels( struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLenum type, GLvoid *pixels, + const struct gl_pixelstore_attrib *packing ) +{ + struct gl_framebuffer *fb = ctx->ReadBuffer; + struct gl_renderbuffer *rb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + GLubyte *map, *dst; + int stride, dstStride, j; + + if (ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0) + return GL_FALSE; + + if (packing->SwapBytes) + return GL_FALSE; + + if (_mesa_get_format_datatype(rb->Format) != GL_UNSIGNED_INT) + return GL_FALSE; + + if (!((type == GL_UNSIGNED_SHORT && rb->Format == MESA_FORMAT_Z16) || + type == GL_UNSIGNED_INT)) + return GL_FALSE; + + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + dstStride = _mesa_image_row_stride(packing, width, GL_DEPTH_COMPONENT, type); + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, + GL_DEPTH_COMPONENT, type, 0, 0); + + for (j = 0; j < height; j++) { + if (type == GL_UNSIGNED_INT) { + _mesa_unpack_uint_z_row(rb->Format, width, map, (GLuint *)dst); + } else { + ASSERT(type == GL_UNSIGNED_SHORT && rb->Format == MESA_FORMAT_Z16); + memcpy(dst, map, width * 2); + } + + map += stride; + dst += dstStride; + } + ctx->Driver.UnmapRenderbuffer(ctx, rb); + + return GL_TRUE; +} /** * Read pixels for format=GL_DEPTH_COMPONENT. @@ -51,9 +103,10 @@ read_depth_pixels( struct gl_context *ctx, const struct gl_pixelstore_attrib *packing ) { struct gl_framebuffer *fb = ctx->ReadBuffer; - struct gl_renderbuffer *rb = fb->_DepthBuffer; - const GLboolean biasOrScale - = ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0; + struct gl_renderbuffer *rb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + GLint j; + GLubyte *dst, *map; + int dstStride, stride; if (!rb) return; @@ -66,73 +119,27 @@ read_depth_pixels( struct gl_context *ctx, /* width should never be > MAX_WIDTH since we did clipping earlier */ ASSERT(width <= MAX_WIDTH); - if (type == GL_UNSIGNED_SHORT && fb->Visual.depthBits == 16 - && !biasOrScale && !packing->SwapBytes) { - /* Special case: directly read 16-bit unsigned depth values. */ - GLint j; - ASSERT(rb->Format == MESA_FORMAT_Z16); - ASSERT(rb->DataType == GL_UNSIGNED_SHORT); - for (j = 0; j < height; j++, y++) { - void *dest =_mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_COMPONENT, type, j, 0); - rb->GetRow(ctx, rb, width, x, y, dest); - } - } - else if (type == GL_UNSIGNED_INT && fb->Visual.depthBits == 24 - && !biasOrScale && !packing->SwapBytes) { - /* Special case: directly read 24-bit unsigned depth values. */ - GLint j; - ASSERT(rb->Format == MESA_FORMAT_X8_Z24 || - rb->Format == MESA_FORMAT_S8_Z24 || - rb->Format == MESA_FORMAT_Z24_X8 || - rb->Format == MESA_FORMAT_Z24_S8); - ASSERT(rb->DataType == GL_UNSIGNED_INT || - rb->DataType == GL_UNSIGNED_INT_24_8); - for (j = 0; j < height; j++, y++) { - GLuint *dest = (GLuint *) - _mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_COMPONENT, type, j, 0); - GLint k; - rb->GetRow(ctx, rb, width, x, y, dest); - /* convert range from 24-bit to 32-bit */ - if (rb->Format == MESA_FORMAT_X8_Z24 || - rb->Format == MESA_FORMAT_S8_Z24) { - for (k = 0; k < width; k++) { - /* Note: put MSByte of 24-bit value into LSByte */ - dest[k] = (dest[k] << 8) | ((dest[k] >> 16) & 0xff); - } - } - else { - for (k = 0; k < width; k++) { - /* Note: fill in LSByte by replication */ - dest[k] = dest[k] | ((dest[k] >> 8) & 0xff); - } - } - } - } - else if (type == GL_UNSIGNED_INT && fb->Visual.depthBits == 32 - && !biasOrScale && !packing->SwapBytes) { - /* Special case: directly read 32-bit unsigned depth values. */ - GLint j; - ASSERT(rb->Format == MESA_FORMAT_Z32); - ASSERT(rb->DataType == GL_UNSIGNED_INT); - for (j = 0; j < height; j++, y++) { - void *dest = _mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_COMPONENT, type, j, 0); - rb->GetRow(ctx, rb, width, x, y, dest); - } - } - else { - /* General case (slower) */ - GLint j; - for (j = 0; j < height; j++, y++) { - GLfloat depthValues[MAX_WIDTH]; - GLvoid *dest = _mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_COMPONENT, type, j, 0); - _swrast_read_depth_span_float(ctx, rb, width, x, y, depthValues); - _mesa_pack_depth_span(ctx, width, dest, type, depthValues, packing); - } + if (fast_read_depth_pixels(ctx, x, y, width, height, type, pixels, packing)) + return; + + dstStride = _mesa_image_row_stride(packing, width, GL_DEPTH_COMPONENT, type); + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, + GL_DEPTH_COMPONENT, type, 0, 0); + + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + /* General case (slower) */ + for (j = 0; j < height; j++, y++) { + GLfloat depthValues[MAX_WIDTH]; + _mesa_unpack_float_z_row(rb->Format, width, map, depthValues); + _mesa_pack_depth_span(ctx, width, dst, type, depthValues, packing); + + dst += dstStride; + map += stride; } + + ctx->Driver.UnmapRenderbuffer(ctx, rb); } @@ -147,8 +154,10 @@ read_stencil_pixels( struct gl_context *ctx, const struct gl_pixelstore_attrib *packing ) { struct gl_framebuffer *fb = ctx->ReadBuffer; - struct gl_renderbuffer *rb = fb->_StencilBuffer; + struct gl_renderbuffer *rb = fb->Attachment[BUFFER_STENCIL].Renderbuffer; GLint j; + GLubyte *map; + GLint stride; if (!rb) return; @@ -156,149 +165,102 @@ read_stencil_pixels( struct gl_context *ctx, /* width should never be > MAX_WIDTH since we did clipping earlier */ ASSERT(width <= MAX_WIDTH); + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + /* process image row by row */ - for (j=0;j<height;j++,y++) { + for (j = 0; j < height; j++) { GLvoid *dest; GLstencil stencil[MAX_WIDTH]; - _swrast_read_stencil_span(ctx, rb, width, x, y, stencil); - + _mesa_unpack_ubyte_stencil_row(rb->Format, width, map, stencil); dest = _mesa_image_address2d(packing, pixels, width, height, GL_STENCIL_INDEX, type, j, 0); _mesa_pack_stencil_span(ctx, width, type, dest, stencil, packing); - } -} + map += stride; + } + ctx->Driver.UnmapRenderbuffer(ctx, rb); +} -/** - * Optimized glReadPixels for particular pixel formats when pixel - * scaling, biasing, mapping, etc. are disabled. - * \return GL_TRUE if success, GL_FALSE if unable to do the readpixels - */ static GLboolean -fast_read_rgba_pixels( struct gl_context *ctx, - GLint x, GLint y, - GLsizei width, GLsizei height, - GLenum format, GLenum type, - GLvoid *pixels, - const struct gl_pixelstore_attrib *packing, - GLbitfield transferOps) +fast_read_rgba_pixels_memcpy( struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLenum format, GLenum type, + GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + GLbitfield transferOps ) { struct gl_renderbuffer *rb = ctx->ReadBuffer->_ColorReadBuffer; + GLubyte *dst, *map; + int dstStride, stride, j, texelBytes; - if (!rb) + if (!_mesa_format_matches_format_and_type(rb->Format, format, type)) return GL_FALSE; - ASSERT(rb->_BaseFormat == GL_RGBA || - rb->_BaseFormat == GL_RGB || - rb->_BaseFormat == GL_RG || - rb->_BaseFormat == GL_RED || - rb->_BaseFormat == GL_LUMINANCE || - rb->_BaseFormat == GL_INTENSITY || - rb->_BaseFormat == GL_LUMINANCE_ALPHA || - rb->_BaseFormat == GL_ALPHA); - - /* clipping should have already been done */ - ASSERT(x + width <= (GLint) rb->Width); - ASSERT(y + height <= (GLint) rb->Height); - /* check for things we can't handle here */ - if (transferOps || - packing->SwapBytes || + if (packing->SwapBytes || packing->LsbFirst) { return GL_FALSE; } - if (format == GL_RGBA && rb->DataType == type) { - const GLint dstStride = _mesa_image_row_stride(packing, width, - format, type); - GLubyte *dest - = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, - format, type, 0, 0); - GLint row; - ASSERT(rb->GetRow); - for (row = 0; row < height; row++) { - rb->GetRow(ctx, rb, width, x, y + row, dest); - dest += dstStride; - } - return GL_TRUE; - } + dstStride = _mesa_image_row_stride(packing, width, format, type); + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, + format, type, 0, 0); - if (format == GL_RGB && - rb->DataType == GL_UNSIGNED_BYTE && - type == GL_UNSIGNED_BYTE) { - const GLint dstStride = _mesa_image_row_stride(packing, width, - format, type); - GLubyte *dest - = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, - format, type, 0, 0); - GLint row; - ASSERT(rb->GetRow); - for (row = 0; row < height; row++) { - GLubyte tempRow[MAX_WIDTH][4]; - GLint col; - rb->GetRow(ctx, rb, width, x, y + row, tempRow); - /* convert RGBA to RGB */ - for (col = 0; col < width; col++) { - dest[col * 3 + 0] = tempRow[col][0]; - dest[col * 3 + 1] = tempRow[col][1]; - dest[col * 3 + 2] = tempRow[col][2]; - } - dest += dstStride; - } - return GL_TRUE; + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + texelBytes = _mesa_get_format_bytes(rb->Format); + for (j = 0; j < height; j++) { + memcpy(dst, map, width * texelBytes); + dst += dstStride; + map += stride; } - /* not handled */ - return GL_FALSE; -} + ctx->Driver.UnmapRenderbuffer(ctx, rb); + return GL_TRUE; +} -/** - * When we're using a low-precision color buffer (like 16-bit 5/6/5) - * we have to adjust our color values a bit to pass conformance. - * The problem is when a 5 or 6-bit color value is converted to an 8-bit - * value and then a floating point value, the floating point values don't - * increment uniformly as the 5 or 6-bit value is incremented. - * - * This function adjusts floating point values to compensate. - */ -static void -adjust_colors(const struct gl_framebuffer *fb, GLuint n, GLfloat rgba[][4]) +static GLboolean +slow_read_rgba_pixels( struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLenum format, GLenum type, + GLvoid *pixels, + const struct gl_pixelstore_attrib *packing, + GLbitfield transferOps ) { - const GLuint rShift = 8 - fb->Visual.redBits; - const GLuint gShift = 8 - fb->Visual.greenBits; - const GLuint bShift = 8 - fb->Visual.blueBits; - GLfloat rScale = 1.0F / (GLfloat) ((1 << fb->Visual.redBits ) - 1); - GLfloat gScale = 1.0F / (GLfloat) ((1 << fb->Visual.greenBits) - 1); - GLfloat bScale = 1.0F / (GLfloat) ((1 << fb->Visual.blueBits ) - 1); - GLuint i; - - if (fb->Visual.redBits == 0) - rScale = 0; - if (fb->Visual.greenBits == 0) - gScale = 0; - if (fb->Visual.blueBits == 0) - bScale = 0; - - for (i = 0; i < n; i++) { - GLint r, g, b; - /* convert float back to ubyte */ - CLAMPED_FLOAT_TO_UBYTE(r, rgba[i][RCOMP]); - CLAMPED_FLOAT_TO_UBYTE(g, rgba[i][GCOMP]); - CLAMPED_FLOAT_TO_UBYTE(b, rgba[i][BCOMP]); - /* using only the N most significant bits of the ubyte value, convert to - * float in [0,1]. - */ - rgba[i][RCOMP] = (GLfloat) (r >> rShift) * rScale; - rgba[i][GCOMP] = (GLfloat) (g >> gShift) * gScale; - rgba[i][BCOMP] = (GLfloat) (b >> bShift) * bScale; + struct gl_renderbuffer *rb = ctx->ReadBuffer->_ColorReadBuffer; + GLfloat rgba[MAX_WIDTH][4]; + GLubyte *dst, *map; + int dstStride, stride, j; + + dstStride = _mesa_image_row_stride(packing, width, format, type); + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, + format, type, 0, 0); + + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + for (j = 0; j < height; j++) { + _mesa_unpack_rgba_row(_mesa_get_srgb_format_linear(rb->Format), + width, map, rgba); + _mesa_pack_rgba_span_float(ctx, width, rgba, format, type, dst, + packing, transferOps); + + dst += dstStride; + map += stride; } -} + ctx->Driver.UnmapRenderbuffer(ctx, rb); + return GL_TRUE; +} /* * Read R, G, B, A, RGB, L, or LA pixels. @@ -310,7 +272,6 @@ read_rgba_pixels( struct gl_context *ctx, GLenum format, GLenum type, GLvoid *pixels, const struct gl_pixelstore_attrib *packing ) { - SWcontext *swrast = SWRAST_CONTEXT(ctx); GLbitfield transferOps = ctx->_ImageTransferState; struct gl_framebuffer *fb = ctx->ReadBuffer; struct gl_renderbuffer *rb = fb->_ColorReadBuffer; @@ -323,43 +284,142 @@ read_rgba_pixels( struct gl_context *ctx, transferOps |= IMAGE_CLAMP_BIT; } - /* Try the optimized path first. */ - if (fast_read_rgba_pixels(ctx, x, y, width, height, - format, type, pixels, packing, transferOps)) { - return; /* done! */ + if (!transferOps) { + /* Try the optimized paths first. */ + if (fast_read_rgba_pixels_memcpy(ctx, x, y, width, height, + format, type, pixels, packing, + transferOps)) { + return; + } } - /* width should never be > MAX_WIDTH since we did clipping earlier */ - ASSERT(width <= MAX_WIDTH); + slow_read_rgba_pixels(ctx, x, y, width, height, + format, type, pixels, packing, transferOps); +} - { - const GLint dstStride - = _mesa_image_row_stride(packing, width, format, type); - GLfloat (*rgba)[4] = swrast->SpanArrays->attribs[FRAG_ATTRIB_COL0]; - GLint row; - GLubyte *dst - = (GLubyte *) _mesa_image_address2d(packing, pixels, width, height, - format, type, 0, 0); - - for (row = 0; row < height; row++, y++) { - - /* Get float rgba pixels */ - _swrast_read_rgba_span(ctx, rb, width, x, y, GL_FLOAT, rgba); - - /* apply fudge factor for shallow color buffers */ - if ((fb->Visual.redBits < 8 && fb->Visual.redBits != 0) || - (fb->Visual.greenBits < 8 && fb->Visual.greenBits != 0) || - (fb->Visual.blueBits < 8 && fb->Visual.blueBits != 0)) { - adjust_colors(fb, width, rgba); - } +/** + * For a packed depth/stencil buffer being read as depth/stencil, just memcpy the + * data (possibly swapping 8/24 vs 24/8 as we go). + */ +static GLboolean +fast_read_depth_stencil_pixels(struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLvoid *dst, int dstStride) +{ + struct gl_framebuffer *fb = ctx->ReadBuffer; + struct gl_renderbuffer *rb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + struct gl_renderbuffer *stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer; + GLubyte *map; + int stride, i; + + if (rb != stencilRb) + return GL_FALSE; + + if (rb->Format != MESA_FORMAT_Z24_S8 && + rb->Format != MESA_FORMAT_S8_Z24) + return GL_FALSE; + + ctx->Driver.MapRenderbuffer(ctx, rb, x, y, width, height, GL_MAP_READ_BIT, + &map, &stride); + + for (i = 0; i < height; i++) { + _mesa_unpack_uint_24_8_depth_stencil_row(rb->Format, width, + map, (GLuint *)dst); + map += stride; + dst += dstStride; + } + + ctx->Driver.UnmapRenderbuffer(ctx, rb); + + return GL_TRUE; +} + + +/** + * For non-float-depth and stencil buffers being read as 24/8 depth/stencil, + * copy the integer data directly instead of converting depth to float and + * re-packing. + */ +static GLboolean +fast_read_depth_stencil_pixels_separate(struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + uint32_t *dst, int dstStride) +{ + struct gl_framebuffer *fb = ctx->ReadBuffer; + struct gl_renderbuffer *depthRb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + struct gl_renderbuffer *stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer; + GLubyte *depthMap, *stencilMap; + int depthStride, stencilStride, i, j; + + if (_mesa_get_format_datatype(depthRb->Format) != GL_UNSIGNED_INT) + return GL_FALSE; + + ctx->Driver.MapRenderbuffer(ctx, depthRb, x, y, width, height, + GL_MAP_READ_BIT, &depthMap, &depthStride); + ctx->Driver.MapRenderbuffer(ctx, stencilRb, x, y, width, height, + GL_MAP_READ_BIT, &stencilMap, &stencilStride); + + for (j = 0; j < height; j++) { + GLstencil stencilVals[MAX_WIDTH]; - /* pack the row of RGBA pixels into user's buffer */ - _mesa_pack_rgba_span_float(ctx, width, rgba, format, type, dst, - packing, transferOps); + _mesa_unpack_uint_z_row(depthRb->Format, width, depthMap, dst); + _mesa_unpack_ubyte_stencil_row(stencilRb->Format, width, + stencilMap, stencilVals); - dst += dstStride; + for (i = 0; i < width; i++) { + dst[i] = (dst[i] & 0xffffff00) | stencilVals[i]; } + + depthMap += depthStride; + stencilMap += stencilStride; + dst += dstStride / 4; } + + ctx->Driver.UnmapRenderbuffer(ctx, depthRb); + ctx->Driver.UnmapRenderbuffer(ctx, stencilRb); + + return GL_TRUE; +} + +static void +slow_read_depth_stencil_pixels_separate(struct gl_context *ctx, + GLint x, GLint y, + GLsizei width, GLsizei height, + GLenum type, + const struct gl_pixelstore_attrib *packing, + GLubyte *dst, int dstStride) +{ + struct gl_framebuffer *fb = ctx->ReadBuffer; + struct gl_renderbuffer *depthRb = fb->Attachment[BUFFER_DEPTH].Renderbuffer; + struct gl_renderbuffer *stencilRb = fb->Attachment[BUFFER_STENCIL].Renderbuffer; + GLubyte *depthMap, *stencilMap; + int depthStride, stencilStride, j; + + ctx->Driver.MapRenderbuffer(ctx, depthRb, x, y, width, height, + GL_MAP_READ_BIT, &depthMap, &depthStride); + ctx->Driver.MapRenderbuffer(ctx, stencilRb, x, y, width, height, + GL_MAP_READ_BIT, &stencilMap, &stencilStride); + + for (j = 0; j < height; j++) { + GLstencil stencilVals[MAX_WIDTH]; + GLfloat depthVals[MAX_WIDTH]; + + _mesa_unpack_float_z_row(depthRb->Format, width, depthMap, depthVals); + _mesa_unpack_ubyte_stencil_row(stencilRb->Format, width, + stencilMap, stencilVals); + + _mesa_pack_depth_stencil_span(ctx, width, type, (GLuint *)dst, + depthVals, stencilVals, packing); + + depthMap += depthStride; + stencilMap += stencilStride; + dst += dstStride; + } + + ctx->Driver.UnmapRenderbuffer(ctx, depthRb); + ctx->Driver.UnmapRenderbuffer(ctx, stencilRb); } @@ -379,81 +439,31 @@ read_depth_stencil_pixels(struct gl_context *ctx, = ctx->Pixel.DepthScale != 1.0 || ctx->Pixel.DepthBias != 0.0; const GLboolean stencilTransfer = ctx->Pixel.IndexShift || ctx->Pixel.IndexOffset || ctx->Pixel.MapStencilFlag; - struct gl_renderbuffer *depthRb, *stencilRb; - - depthRb = ctx->ReadBuffer->_DepthBuffer; - stencilRb = ctx->ReadBuffer->_StencilBuffer; - - if (!depthRb || !stencilRb) - return; - - depthRb = ctx->ReadBuffer->Attachment[BUFFER_DEPTH].Renderbuffer; - stencilRb = ctx->ReadBuffer->Attachment[BUFFER_STENCIL].Renderbuffer; - - if (depthRb->_BaseFormat == GL_DEPTH_STENCIL_EXT && - depthRb->Format == MESA_FORMAT_Z24_S8 && - type == GL_UNSIGNED_INT_24_8 && - depthRb == stencilRb && - depthRb->GetRow && /* May be null if depthRb is a wrapper around - * separate depth and stencil buffers. */ - !scaleOrBias && - !stencilTransfer) { - /* This is the ideal case. - * Reading GL_DEPTH_STENCIL pixels from combined depth/stencil buffer. - * Plus, no pixel transfer ops to worry about! - */ - GLint i; - GLint dstStride = _mesa_image_row_stride(packing, width, - GL_DEPTH_STENCIL_EXT, type); - GLubyte *dst = (GLubyte *) _mesa_image_address2d(packing, pixels, - width, height, - GL_DEPTH_STENCIL_EXT, - type, 0, 0); - for (i = 0; i < height; i++) { - depthRb->GetRow(ctx, depthRb, width, x, y + i, dst); - dst += dstStride; - } - } - else { - /* Reading GL_DEPTH_STENCIL pixels from separate depth/stencil buffers, - * or we need pixel transfer. - */ - GLint i; - depthRb = ctx->ReadBuffer->_DepthBuffer; - stencilRb = ctx->ReadBuffer->_StencilBuffer; - - for (i = 0; i < height; i++) { - GLstencil stencilVals[MAX_WIDTH]; - - GLuint *depthStencilDst = (GLuint *) - _mesa_image_address2d(packing, pixels, width, height, - GL_DEPTH_STENCIL_EXT, type, i, 0); - - _swrast_read_stencil_span(ctx, stencilRb, width, - x, y + i, stencilVals); - - if (!scaleOrBias && !stencilTransfer - && ctx->ReadBuffer->Visual.depthBits == 24) { - /* ideal case */ - GLuint zVals[MAX_WIDTH]; /* 24-bit values! */ - GLint j; - ASSERT(depthRb->DataType == GL_UNSIGNED_INT); - /* note, we've already been clipped */ - depthRb->GetRow(ctx, depthRb, width, x, y + i, zVals); - for (j = 0; j < width; j++) { - depthStencilDst[j] = (zVals[j] << 8) | (stencilVals[j] & 0xff); - } - } - else { - /* general case */ - GLfloat depthVals[MAX_WIDTH]; - _swrast_read_depth_span_float(ctx, depthRb, width, x, y + i, - depthVals); - _mesa_pack_depth_stencil_span(ctx, width, type, depthStencilDst, - depthVals, stencilVals, packing); - } - } + GLubyte *dst; + int dstStride; + + dst = (GLubyte *) _mesa_image_address2d(packing, pixels, + width, height, + GL_DEPTH_STENCIL_EXT, + type, 0, 0); + dstStride = _mesa_image_row_stride(packing, width, + GL_DEPTH_STENCIL_EXT, type); + + /* Fast 24/8 reads. */ + if (type == GL_UNSIGNED_INT_24_8 && + !scaleOrBias && !stencilTransfer && !packing->SwapBytes) { + if (fast_read_depth_stencil_pixels(ctx, x, y, width, height, + dst, dstStride)) + return; + + if (fast_read_depth_stencil_pixels_separate(ctx, x, y, width, height, + (uint32_t *)dst, dstStride)) + return; } + + slow_read_depth_stencil_pixels_separate(ctx, x, y, width, height, + type, packing, + dst, dstStride); } @@ -469,21 +479,11 @@ _swrast_ReadPixels( struct gl_context *ctx, const struct gl_pixelstore_attrib *packing, GLvoid *pixels ) { - SWcontext *swrast = SWRAST_CONTEXT(ctx); struct gl_pixelstore_attrib clippedPacking = *packing; if (ctx->NewState) _mesa_update_state(ctx); - /* Need to do swrast_render_start() before clipping or anything else - * since this is where a driver may grab the hw lock and get an updated - * window size. - */ - swrast_render_start(ctx); - - if (swrast->NewState) - _swrast_validate_derived( ctx ); - /* Do all needed clipping here, so that we can forget about it later */ if (_mesa_clip_readpixels(ctx, &x, &y, &width, &height, &clippedPacking)) { @@ -512,6 +512,4 @@ _swrast_ReadPixels( struct gl_context *ctx, _mesa_unmap_pbo_dest(ctx, &clippedPacking); } } - - swrast_render_finish(ctx); } diff --git a/mesalib/src/mesa/swrast/s_texfilter.c b/mesalib/src/mesa/swrast/s_texfilter.c index 9de5c0276..566262557 100644 --- a/mesalib/src/mesa/swrast/s_texfilter.c +++ b/mesalib/src/mesa/swrast/s_texfilter.c @@ -3647,25 +3647,21 @@ _swrast_choose_texture_sample_func( struct gl_context *ctx, const struct gl_texture_image *img = t->Image[0][t->BaseLevel]; const struct swrast_texture_image *swImg = swrast_texture_image_const(img); + texture_sample_func func; ASSERT(t->Sampler.MinFilter == GL_NEAREST); + func = &sample_nearest_2d; if (t->Sampler.WrapS == GL_REPEAT && t->Sampler.WrapT == GL_REPEAT && swImg->_IsPowerOfTwo && - img->Border == 0 && - img->TexFormat == MESA_FORMAT_RGB888) { - return &opt_sample_rgb_2d; - } - else if (t->Sampler.WrapS == GL_REPEAT && - t->Sampler.WrapT == GL_REPEAT && - swImg->_IsPowerOfTwo && - img->Border == 0 && - img->TexFormat == MESA_FORMAT_RGBA8888) { - return &opt_sample_rgba_2d; - } - else { - return &sample_nearest_2d; + img->Border == 0) { + if (img->TexFormat == MESA_FORMAT_RGB888) + func = &opt_sample_rgb_2d; + else if (img->TexFormat == MESA_FORMAT_RGBA8888) + func = &opt_sample_rgba_2d; } + + return func; } case GL_TEXTURE_3D: if (needLambda) { diff --git a/mesalib/src/mesa/swrast/s_texrender.c b/mesalib/src/mesa/swrast/s_texrender.c index e2b921512..83e7a6a03 100644 --- a/mesalib/src/mesa/swrast/s_texrender.c +++ b/mesalib/src/mesa/swrast/s_texrender.c @@ -563,6 +563,7 @@ update_wrapper(struct gl_context *ctx, struct gl_renderbuffer_attachment *att) trb->Base.Width = trb->TexImage->Base.Width; trb->Base.Height = trb->TexImage->Base.Height; + trb->Base.RowStride = trb->TexImage->RowStride; trb->Base.InternalFormat = trb->TexImage->Base.InternalFormat; trb->Base.Format = trb->TexImage->Base.TexFormat; diff --git a/mesalib/src/mesa/swrast/s_texture.c b/mesalib/src/mesa/swrast/s_texture.c index fb1edb318..ba67c6fa4 100644 --- a/mesalib/src/mesa/swrast/s_texture.c +++ b/mesalib/src/mesa/swrast/s_texture.c @@ -359,3 +359,35 @@ _swrast_unmap_renderbuffers(struct gl_context *ctx) if (ctx->ReadBuffer != ctx->DrawBuffer) map_unmap_renderbuffers(ctx, ctx->ReadBuffer, GL_FALSE); } + + + +/** + * Called via ctx->Driver.AllocTextureStorage() + * Just have to allocate memory for the texture images. + */ +GLboolean +_swrast_AllocTextureStorage(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLsizei levels, GLsizei width, + GLsizei height, GLsizei depth) +{ + const GLint numFaces = (texObj->Target == GL_TEXTURE_CUBE_MAP) ? 6 : 1; + GLint face, level; + + for (face = 0; face < numFaces; face++) { + for (level = 0; level < levels; level++) { + struct gl_texture_image *texImage = texObj->Image[face][level]; + if (!_swrast_alloc_texture_image_buffer(ctx, texImage, + texImage->TexFormat, + texImage->Width, + texImage->Height, + texImage->Depth)) { + return GL_FALSE; + } + } + } + + return GL_TRUE; +} + diff --git a/mesalib/src/mesa/swrast/swrast.h b/mesalib/src/mesa/swrast/swrast.h index 06cc65158..08d565ba0 100644 --- a/mesalib/src/mesa/swrast/swrast.h +++ b/mesalib/src/mesa/swrast/swrast.h @@ -249,6 +249,13 @@ _swrast_finish_render_texture(struct gl_context *ctx, +extern GLboolean +_swrast_AllocTextureStorage(struct gl_context *ctx, + struct gl_texture_object *texObj, + GLsizei levels, GLsizei width, + GLsizei height, GLsizei depth); + + /** * The driver interface for the software rasterizer. * XXX this may go away. diff --git a/mesalib/src/mesa/vbo/vbo_split_copy.c b/mesalib/src/mesa/vbo/vbo_split_copy.c index 40906e389..4dcf71ef5 100644 --- a/mesalib/src/mesa/vbo/vbo_split_copy.c +++ b/mesalib/src/mesa/vbo/vbo_split_copy.c @@ -518,6 +518,7 @@ replay_init( struct copy_context *copy ) dst->Ptr = copy->dstbuf + offset; dst->Enabled = GL_TRUE; dst->Normalized = src->Normalized; + dst->Integer = src->Integer; dst->BufferObj = ctx->Shared->NullBufferObj; dst->_ElementSize = src->_ElementSize; dst->_MaxElement = copy->dstbuf_size; /* may be less! */ |