aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'mesalib/src/mesa')
-rw-r--r--mesalib/src/mesa/main/enable.c2853
-rw-r--r--mesalib/src/mesa/main/extensions.c2002
-rw-r--r--mesalib/src/mesa/main/remap_helper.h3025
-rw-r--r--mesalib/src/mesa/program/prog_statevars.c4
-rw-r--r--mesalib/src/mesa/program/prog_statevars.h2
-rw-r--r--mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c110
6 files changed, 4022 insertions, 3974 deletions
diff --git a/mesalib/src/mesa/main/enable.c b/mesalib/src/mesa/main/enable.c
index 8df3ac1f6..aac8b9c5e 100644
--- a/mesalib/src/mesa/main/enable.c
+++ b/mesalib/src/mesa/main/enable.c
@@ -1,1425 +1,1428 @@
-/**
- * \file enable.c
- * Enable/disable/query GL capabilities.
- */
-
-/*
- * Mesa 3-D graphics library
- * Version: 7.0.3
- *
- * Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * 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 "glheader.h"
-#include "clip.h"
-#include "context.h"
-#include "enable.h"
-#include "light.h"
-#include "simple_list.h"
-#include "mfeatures.h"
-#include "mtypes.h"
-#include "enums.h"
-#include "api_arrayelt.h"
-#include "texstate.h"
-
-
-
-#define CHECK_EXTENSION(EXTNAME, CAP) \
- if (!ctx->Extensions.EXTNAME) { \
- goto invalid_enum_error; \
- }
-
-
-/**
- * Helper to enable/disable client-side state.
- */
-static void
-client_state(struct gl_context *ctx, GLenum cap, GLboolean state)
-{
- struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
- GLuint flag;
- GLboolean *var;
-
- switch (cap) {
- case GL_VERTEX_ARRAY:
- var = &arrayObj->Vertex.Enabled;
- flag = _NEW_ARRAY_VERTEX;
- break;
- case GL_NORMAL_ARRAY:
- var = &arrayObj->Normal.Enabled;
- flag = _NEW_ARRAY_NORMAL;
- break;
- case GL_COLOR_ARRAY:
- var = &arrayObj->Color.Enabled;
- flag = _NEW_ARRAY_COLOR0;
- break;
- case GL_INDEX_ARRAY:
- var = &arrayObj->Index.Enabled;
- flag = _NEW_ARRAY_INDEX;
- break;
- case GL_TEXTURE_COORD_ARRAY:
- var = &arrayObj->TexCoord[ctx->Array.ActiveTexture].Enabled;
- flag = _NEW_ARRAY_TEXCOORD(ctx->Array.ActiveTexture);
- break;
- case GL_EDGE_FLAG_ARRAY:
- var = &arrayObj->EdgeFlag.Enabled;
- flag = _NEW_ARRAY_EDGEFLAG;
- break;
- case GL_FOG_COORDINATE_ARRAY_EXT:
- var = &arrayObj->FogCoord.Enabled;
- flag = _NEW_ARRAY_FOGCOORD;
- break;
- case GL_SECONDARY_COLOR_ARRAY_EXT:
- var = &arrayObj->SecondaryColor.Enabled;
- flag = _NEW_ARRAY_COLOR1;
- break;
-
-#if FEATURE_point_size_array
- case GL_POINT_SIZE_ARRAY_OES:
- var = &arrayObj->PointSize.Enabled;
- flag = _NEW_ARRAY_POINT_SIZE;
- break;
-#endif
-
-#if FEATURE_NV_vertex_program
- case GL_VERTEX_ATTRIB_ARRAY0_NV:
- case GL_VERTEX_ATTRIB_ARRAY1_NV:
- case GL_VERTEX_ATTRIB_ARRAY2_NV:
- case GL_VERTEX_ATTRIB_ARRAY3_NV:
- case GL_VERTEX_ATTRIB_ARRAY4_NV:
- case GL_VERTEX_ATTRIB_ARRAY5_NV:
- case GL_VERTEX_ATTRIB_ARRAY6_NV:
- case GL_VERTEX_ATTRIB_ARRAY7_NV:
- case GL_VERTEX_ATTRIB_ARRAY8_NV:
- case GL_VERTEX_ATTRIB_ARRAY9_NV:
- case GL_VERTEX_ATTRIB_ARRAY10_NV:
- case GL_VERTEX_ATTRIB_ARRAY11_NV:
- case GL_VERTEX_ATTRIB_ARRAY12_NV:
- case GL_VERTEX_ATTRIB_ARRAY13_NV:
- case GL_VERTEX_ATTRIB_ARRAY14_NV:
- case GL_VERTEX_ATTRIB_ARRAY15_NV:
- CHECK_EXTENSION(NV_vertex_program, cap);
- {
- GLint n = (GLint) cap - GL_VERTEX_ATTRIB_ARRAY0_NV;
- ASSERT(n < Elements(ctx->Array.ArrayObj->VertexAttrib));
- var = &arrayObj->VertexAttrib[n].Enabled;
- flag = _NEW_ARRAY_ATTRIB(n);
- }
- break;
-#endif /* FEATURE_NV_vertex_program */
-
- /* GL_NV_primitive_restart */
- case GL_PRIMITIVE_RESTART_NV:
- if (!ctx->Extensions.NV_primitive_restart) {
- goto invalid_enum_error;
- }
- var = &ctx->Array.PrimitiveRestart;
- flag = 0;
- break;
-
- default:
- goto invalid_enum_error;
- }
-
- if (*var == state)
- return;
-
- FLUSH_VERTICES(ctx, _NEW_ARRAY);
- ctx->Array.NewState |= flag;
-
- _ae_invalidate_state(ctx, _NEW_ARRAY);
-
- *var = state;
-
- if (state)
- ctx->Array.ArrayObj->_Enabled |= flag;
- else
- ctx->Array.ArrayObj->_Enabled &= ~flag;
-
- if (ctx->Driver.Enable) {
- ctx->Driver.Enable( ctx, cap, state );
- }
-
- return;
-
-invalid_enum_error:
- _mesa_error(ctx, GL_INVALID_ENUM, "gl%sClientState(0x%x)",
- state ? "Enable" : "Disable", cap);
-}
-
-
-/**
- * Enable GL capability.
- * \param cap state to enable/disable.
- *
- * Get's the current context, assures that we're outside glBegin()/glEnd() and
- * calls client_state().
- */
-void GLAPIENTRY
-_mesa_EnableClientState( GLenum cap )
-{
- GET_CURRENT_CONTEXT(ctx);
- ASSERT_OUTSIDE_BEGIN_END(ctx);
- client_state( ctx, cap, GL_TRUE );
-}
-
-
-/**
- * Disable GL capability.
- * \param cap state to enable/disable.
- *
- * Get's the current context, assures that we're outside glBegin()/glEnd() and
- * calls client_state().
- */
-void GLAPIENTRY
-_mesa_DisableClientState( GLenum cap )
-{
- GET_CURRENT_CONTEXT(ctx);
- ASSERT_OUTSIDE_BEGIN_END(ctx);
- client_state( ctx, cap, GL_FALSE );
-}
-
-
-#undef CHECK_EXTENSION
-#define CHECK_EXTENSION(EXTNAME, CAP) \
- if (!ctx->Extensions.EXTNAME) { \
- goto invalid_enum_error; \
- }
-
-#define CHECK_EXTENSION2(EXT1, EXT2, CAP) \
- if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2) { \
- goto invalid_enum_error; \
- }
-
-
-
-/**
- * Return pointer to current texture unit for setting/getting coordinate
- * state.
- * Note that we'll set GL_INVALID_OPERATION and return NULL if the active
- * texture unit is higher than the number of supported coordinate units.
- */
-static struct gl_texture_unit *
-get_texcoord_unit(struct gl_context *ctx)
-{
- if (ctx->Texture.CurrentUnit >= ctx->Const.MaxTextureCoordUnits) {
- _mesa_error(ctx, GL_INVALID_OPERATION, "glEnable/Disable(texcoord unit)");
- return NULL;
- }
- else {
- return &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
- }
-}
-
-
-/**
- * Helper function to enable or disable a texture target.
- * \param bit one of the TEXTURE_x_BIT values
- * \return GL_TRUE if state is changing or GL_FALSE if no change
- */
-static GLboolean
-enable_texture(struct gl_context *ctx, GLboolean state, GLbitfield texBit)
-{
- struct gl_texture_unit *texUnit = _mesa_get_current_tex_unit(ctx);
- const GLbitfield newenabled = state
- ? (texUnit->Enabled | texBit) : (texUnit->Enabled & ~texBit);
-
- if (texUnit->Enabled == newenabled)
- return GL_FALSE;
-
- FLUSH_VERTICES(ctx, _NEW_TEXTURE);
- texUnit->Enabled = newenabled;
- return GL_TRUE;
-}
-
-
-/**
- * Helper function to enable or disable state.
- *
- * \param ctx GL context.
- * \param cap the state to enable/disable
- * \param state whether to enable or disable the specified capability.
- *
- * Updates the current context and flushes the vertices as needed. For
- * capabilities associated with extensions it verifies that those extensions
- * are effectivly present before updating. Notifies the driver via
- * dd_function_table::Enable.
- */
-void
-_mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
-{
- if (MESA_VERBOSE & VERBOSE_API)
- _mesa_debug(ctx, "%s %s (newstate is %x)\n",
- state ? "glEnable" : "glDisable",
- _mesa_lookup_enum_by_nr(cap),
- ctx->NewState);
-
- switch (cap) {
- case GL_ALPHA_TEST:
- if (ctx->Color.AlphaEnabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_COLOR);
- ctx->Color.AlphaEnabled = state;
- break;
- case GL_AUTO_NORMAL:
- if (ctx->Eval.AutoNormal == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.AutoNormal = state;
- break;
- case GL_BLEND:
- {
- GLbitfield newEnabled =
- state * ((1 << ctx->Const.MaxDrawBuffers) - 1);
- if (newEnabled != ctx->Color.BlendEnabled) {
- FLUSH_VERTICES(ctx, _NEW_COLOR);
- ctx->Color.BlendEnabled = newEnabled;
- }
- }
- break;
-#if FEATURE_userclip
- case GL_CLIP_PLANE0:
- case GL_CLIP_PLANE1:
- case GL_CLIP_PLANE2:
- case GL_CLIP_PLANE3:
- case GL_CLIP_PLANE4:
- case GL_CLIP_PLANE5:
- {
- const GLuint p = cap - GL_CLIP_PLANE0;
-
- if ((ctx->Transform.ClipPlanesEnabled & (1 << p))
- == ((GLuint) state << p))
- return;
-
- FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
-
- if (state) {
- ctx->Transform.ClipPlanesEnabled |= (1 << p);
- _mesa_update_clip_plane(ctx, p);
- }
- else {
- ctx->Transform.ClipPlanesEnabled &= ~(1 << p);
- }
- }
- break;
-#endif
- case GL_COLOR_MATERIAL:
- if (ctx->Light.ColorMaterialEnabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_LIGHT);
- FLUSH_CURRENT(ctx, 0);
- ctx->Light.ColorMaterialEnabled = state;
- if (state) {
- _mesa_update_color_material( ctx,
- ctx->Current.Attrib[VERT_ATTRIB_COLOR0] );
- }
- break;
- case GL_CULL_FACE:
- if (ctx->Polygon.CullFlag == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_POLYGON);
- ctx->Polygon.CullFlag = state;
- break;
- case GL_DEPTH_TEST:
- if (ctx->Depth.Test == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_DEPTH);
- ctx->Depth.Test = state;
- break;
- case GL_DITHER:
- if (ctx->Color.DitherFlag == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_COLOR);
- ctx->Color.DitherFlag = state;
- break;
- case GL_FOG:
- if (ctx->Fog.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_FOG);
- ctx->Fog.Enabled = state;
- break;
- case GL_LIGHT0:
- case GL_LIGHT1:
- case GL_LIGHT2:
- case GL_LIGHT3:
- case GL_LIGHT4:
- case GL_LIGHT5:
- case GL_LIGHT6:
- case GL_LIGHT7:
- if (ctx->Light.Light[cap-GL_LIGHT0].Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_LIGHT);
- ctx->Light.Light[cap-GL_LIGHT0].Enabled = state;
- if (state) {
- insert_at_tail(&ctx->Light.EnabledList,
- &ctx->Light.Light[cap-GL_LIGHT0]);
- }
- else {
- remove_from_list(&ctx->Light.Light[cap-GL_LIGHT0]);
- }
- break;
- case GL_LIGHTING:
- if (ctx->Light.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_LIGHT);
- ctx->Light.Enabled = state;
- if (ctx->Light.Enabled && ctx->Light.Model.TwoSide)
- ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE;
- else
- ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE;
- break;
- case GL_LINE_SMOOTH:
- if (ctx->Line.SmoothFlag == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_LINE);
- ctx->Line.SmoothFlag = state;
- ctx->_TriangleCaps ^= DD_LINE_SMOOTH;
- break;
- case GL_LINE_STIPPLE:
- if (ctx->Line.StippleFlag == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_LINE);
- ctx->Line.StippleFlag = state;
- ctx->_TriangleCaps ^= DD_LINE_STIPPLE;
- break;
- case GL_INDEX_LOGIC_OP:
- if (ctx->Color.IndexLogicOpEnabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_COLOR);
- ctx->Color.IndexLogicOpEnabled = state;
- break;
- case GL_COLOR_LOGIC_OP:
- if (ctx->Color.ColorLogicOpEnabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_COLOR);
- ctx->Color.ColorLogicOpEnabled = state;
- break;
- case GL_MAP1_COLOR_4:
- if (ctx->Eval.Map1Color4 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1Color4 = state;
- break;
- case GL_MAP1_INDEX:
- if (ctx->Eval.Map1Index == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1Index = state;
- break;
- case GL_MAP1_NORMAL:
- if (ctx->Eval.Map1Normal == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1Normal = state;
- break;
- case GL_MAP1_TEXTURE_COORD_1:
- if (ctx->Eval.Map1TextureCoord1 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1TextureCoord1 = state;
- break;
- case GL_MAP1_TEXTURE_COORD_2:
- if (ctx->Eval.Map1TextureCoord2 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1TextureCoord2 = state;
- break;
- case GL_MAP1_TEXTURE_COORD_3:
- if (ctx->Eval.Map1TextureCoord3 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1TextureCoord3 = state;
- break;
- case GL_MAP1_TEXTURE_COORD_4:
- if (ctx->Eval.Map1TextureCoord4 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1TextureCoord4 = state;
- break;
- case GL_MAP1_VERTEX_3:
- if (ctx->Eval.Map1Vertex3 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1Vertex3 = state;
- break;
- case GL_MAP1_VERTEX_4:
- if (ctx->Eval.Map1Vertex4 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1Vertex4 = state;
- break;
- case GL_MAP2_COLOR_4:
- if (ctx->Eval.Map2Color4 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2Color4 = state;
- break;
- case GL_MAP2_INDEX:
- if (ctx->Eval.Map2Index == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2Index = state;
- break;
- case GL_MAP2_NORMAL:
- if (ctx->Eval.Map2Normal == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2Normal = state;
- break;
- case GL_MAP2_TEXTURE_COORD_1:
- if (ctx->Eval.Map2TextureCoord1 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2TextureCoord1 = state;
- break;
- case GL_MAP2_TEXTURE_COORD_2:
- if (ctx->Eval.Map2TextureCoord2 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2TextureCoord2 = state;
- break;
- case GL_MAP2_TEXTURE_COORD_3:
- if (ctx->Eval.Map2TextureCoord3 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2TextureCoord3 = state;
- break;
- case GL_MAP2_TEXTURE_COORD_4:
- if (ctx->Eval.Map2TextureCoord4 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2TextureCoord4 = state;
- break;
- case GL_MAP2_VERTEX_3:
- if (ctx->Eval.Map2Vertex3 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2Vertex3 = state;
- break;
- case GL_MAP2_VERTEX_4:
- if (ctx->Eval.Map2Vertex4 == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2Vertex4 = state;
- break;
- case GL_NORMALIZE:
- if (ctx->Transform.Normalize == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
- ctx->Transform.Normalize = state;
- break;
- case GL_POINT_SMOOTH:
- if (ctx->Point.SmoothFlag == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_POINT);
- ctx->Point.SmoothFlag = state;
- ctx->_TriangleCaps ^= DD_POINT_SMOOTH;
- break;
- case GL_POLYGON_SMOOTH:
- if (ctx->Polygon.SmoothFlag == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_POLYGON);
- ctx->Polygon.SmoothFlag = state;
- ctx->_TriangleCaps ^= DD_TRI_SMOOTH;
- break;
- case GL_POLYGON_STIPPLE:
- if (ctx->Polygon.StippleFlag == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_POLYGON);
- ctx->Polygon.StippleFlag = state;
- ctx->_TriangleCaps ^= DD_TRI_STIPPLE;
- break;
- case GL_POLYGON_OFFSET_POINT:
- if (ctx->Polygon.OffsetPoint == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_POLYGON);
- ctx->Polygon.OffsetPoint = state;
- break;
- case GL_POLYGON_OFFSET_LINE:
- if (ctx->Polygon.OffsetLine == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_POLYGON);
- ctx->Polygon.OffsetLine = state;
- break;
- case GL_POLYGON_OFFSET_FILL:
- /*case GL_POLYGON_OFFSET_EXT:*/
- if (ctx->Polygon.OffsetFill == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_POLYGON);
- ctx->Polygon.OffsetFill = state;
- break;
- case GL_RESCALE_NORMAL_EXT:
- if (ctx->Transform.RescaleNormals == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
- ctx->Transform.RescaleNormals = state;
- break;
- case GL_SCISSOR_TEST:
- if (ctx->Scissor.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_SCISSOR);
- ctx->Scissor.Enabled = state;
- break;
- case GL_SHARED_TEXTURE_PALETTE_EXT:
- if (ctx->Texture.SharedPalette == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_TEXTURE);
- ctx->Texture.SharedPalette = state;
- break;
- case GL_STENCIL_TEST:
- if (ctx->Stencil.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_STENCIL);
- ctx->Stencil.Enabled = state;
- break;
- case GL_TEXTURE_1D:
- if (!enable_texture(ctx, state, TEXTURE_1D_BIT)) {
- return;
- }
- break;
- case GL_TEXTURE_2D:
- if (!enable_texture(ctx, state, TEXTURE_2D_BIT)) {
- return;
- }
- break;
- case GL_TEXTURE_3D:
- if (!enable_texture(ctx, state, TEXTURE_3D_BIT)) {
- return;
- }
- break;
- case GL_TEXTURE_GEN_S:
- case GL_TEXTURE_GEN_T:
- case GL_TEXTURE_GEN_R:
- case GL_TEXTURE_GEN_Q:
- {
- struct gl_texture_unit *texUnit = get_texcoord_unit(ctx);
- if (texUnit) {
- GLbitfield coordBit = S_BIT << (cap - GL_TEXTURE_GEN_S);
- GLbitfield newenabled = texUnit->TexGenEnabled & ~coordBit;
- if (state)
- newenabled |= coordBit;
- if (texUnit->TexGenEnabled == newenabled)
- return;
- FLUSH_VERTICES(ctx, _NEW_TEXTURE);
- texUnit->TexGenEnabled = newenabled;
- }
- }
- break;
-
-#if FEATURE_ES1
- case GL_TEXTURE_GEN_STR_OES:
- /* disable S, T, and R at the same time */
- {
- struct gl_texture_unit *texUnit = get_texcoord_unit(ctx);
- if (texUnit) {
- GLuint newenabled =
- texUnit->TexGenEnabled & ~STR_BITS;
- if (state)
- newenabled |= STR_BITS;
- if (texUnit->TexGenEnabled == newenabled)
- return;
- FLUSH_VERTICES(ctx, _NEW_TEXTURE);
- texUnit->TexGenEnabled = newenabled;
- }
- }
- break;
-#endif
-
- /*
- * CLIENT STATE!!!
- */
- case GL_VERTEX_ARRAY:
- case GL_NORMAL_ARRAY:
- case GL_COLOR_ARRAY:
- case GL_INDEX_ARRAY:
- case GL_TEXTURE_COORD_ARRAY:
- case GL_EDGE_FLAG_ARRAY:
- case GL_FOG_COORDINATE_ARRAY_EXT:
- case GL_SECONDARY_COLOR_ARRAY_EXT:
- case GL_POINT_SIZE_ARRAY_OES:
- client_state( ctx, cap, state );
- return;
-
- /* GL_ARB_texture_cube_map */
- case GL_TEXTURE_CUBE_MAP_ARB:
- CHECK_EXTENSION(ARB_texture_cube_map, cap);
- if (!enable_texture(ctx, state, TEXTURE_CUBE_BIT)) {
- return;
- }
- break;
-
- /* GL_EXT_secondary_color */
- case GL_COLOR_SUM_EXT:
- CHECK_EXTENSION2(EXT_secondary_color, ARB_vertex_program, cap);
- if (ctx->Fog.ColorSumEnabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_FOG);
- ctx->Fog.ColorSumEnabled = state;
- break;
-
- /* GL_ARB_multisample */
- case GL_MULTISAMPLE_ARB:
- if (ctx->Multisample.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
- ctx->Multisample.Enabled = state;
- break;
- case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:
- if (ctx->Multisample.SampleAlphaToCoverage == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
- ctx->Multisample.SampleAlphaToCoverage = state;
- break;
- case GL_SAMPLE_ALPHA_TO_ONE_ARB:
- if (ctx->Multisample.SampleAlphaToOne == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
- ctx->Multisample.SampleAlphaToOne = state;
- break;
- case GL_SAMPLE_COVERAGE_ARB:
- if (ctx->Multisample.SampleCoverage == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
- ctx->Multisample.SampleCoverage = state;
- break;
- case GL_SAMPLE_COVERAGE_INVERT_ARB:
- if (ctx->Multisample.SampleCoverageInvert == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
- ctx->Multisample.SampleCoverageInvert = state;
- break;
-
- /* GL_IBM_rasterpos_clip */
- case GL_RASTER_POSITION_UNCLIPPED_IBM:
- CHECK_EXTENSION(IBM_rasterpos_clip, cap);
- if (ctx->Transform.RasterPositionUnclipped == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
- ctx->Transform.RasterPositionUnclipped = state;
- break;
-
- /* GL_NV_point_sprite */
- case GL_POINT_SPRITE_NV:
- CHECK_EXTENSION2(NV_point_sprite, ARB_point_sprite, cap);
- if (ctx->Point.PointSprite == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_POINT);
- ctx->Point.PointSprite = state;
- break;
-
-#if FEATURE_NV_vertex_program || FEATURE_ARB_vertex_program
- case GL_VERTEX_PROGRAM_ARB:
- CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program, cap);
- if (ctx->VertexProgram.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_PROGRAM);
- ctx->VertexProgram.Enabled = state;
- break;
- case GL_VERTEX_PROGRAM_POINT_SIZE_ARB:
- CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program, cap);
- if (ctx->VertexProgram.PointSizeEnabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_PROGRAM);
- ctx->VertexProgram.PointSizeEnabled = state;
- break;
- case GL_VERTEX_PROGRAM_TWO_SIDE_ARB:
- CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program, cap);
- if (ctx->VertexProgram.TwoSideEnabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_PROGRAM);
- ctx->VertexProgram.TwoSideEnabled = state;
- break;
-#endif
-#if FEATURE_NV_vertex_program
- case GL_MAP1_VERTEX_ATTRIB0_4_NV:
- case GL_MAP1_VERTEX_ATTRIB1_4_NV:
- case GL_MAP1_VERTEX_ATTRIB2_4_NV:
- case GL_MAP1_VERTEX_ATTRIB3_4_NV:
- case GL_MAP1_VERTEX_ATTRIB4_4_NV:
- case GL_MAP1_VERTEX_ATTRIB5_4_NV:
- case GL_MAP1_VERTEX_ATTRIB6_4_NV:
- case GL_MAP1_VERTEX_ATTRIB7_4_NV:
- case GL_MAP1_VERTEX_ATTRIB8_4_NV:
- case GL_MAP1_VERTEX_ATTRIB9_4_NV:
- case GL_MAP1_VERTEX_ATTRIB10_4_NV:
- case GL_MAP1_VERTEX_ATTRIB11_4_NV:
- case GL_MAP1_VERTEX_ATTRIB12_4_NV:
- case GL_MAP1_VERTEX_ATTRIB13_4_NV:
- case GL_MAP1_VERTEX_ATTRIB14_4_NV:
- case GL_MAP1_VERTEX_ATTRIB15_4_NV:
- CHECK_EXTENSION(NV_vertex_program, cap);
- {
- const GLuint map = (GLuint) (cap - GL_MAP1_VERTEX_ATTRIB0_4_NV);
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map1Attrib[map] = state;
- }
- break;
- case GL_MAP2_VERTEX_ATTRIB0_4_NV:
- case GL_MAP2_VERTEX_ATTRIB1_4_NV:
- case GL_MAP2_VERTEX_ATTRIB2_4_NV:
- case GL_MAP2_VERTEX_ATTRIB3_4_NV:
- case GL_MAP2_VERTEX_ATTRIB4_4_NV:
- case GL_MAP2_VERTEX_ATTRIB5_4_NV:
- case GL_MAP2_VERTEX_ATTRIB6_4_NV:
- case GL_MAP2_VERTEX_ATTRIB7_4_NV:
- case GL_MAP2_VERTEX_ATTRIB8_4_NV:
- case GL_MAP2_VERTEX_ATTRIB9_4_NV:
- case GL_MAP2_VERTEX_ATTRIB10_4_NV:
- case GL_MAP2_VERTEX_ATTRIB11_4_NV:
- case GL_MAP2_VERTEX_ATTRIB12_4_NV:
- case GL_MAP2_VERTEX_ATTRIB13_4_NV:
- case GL_MAP2_VERTEX_ATTRIB14_4_NV:
- case GL_MAP2_VERTEX_ATTRIB15_4_NV:
- CHECK_EXTENSION(NV_vertex_program, cap);
- {
- const GLuint map = (GLuint) (cap - GL_MAP2_VERTEX_ATTRIB0_4_NV);
- FLUSH_VERTICES(ctx, _NEW_EVAL);
- ctx->Eval.Map2Attrib[map] = state;
- }
- break;
-#endif /* FEATURE_NV_vertex_program */
-
-#if FEATURE_NV_fragment_program
- case GL_FRAGMENT_PROGRAM_NV:
- CHECK_EXTENSION(NV_fragment_program, cap);
- if (ctx->FragmentProgram.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_PROGRAM);
- ctx->FragmentProgram.Enabled = state;
- break;
-#endif /* FEATURE_NV_fragment_program */
-
- /* GL_NV_texture_rectangle */
- case GL_TEXTURE_RECTANGLE_NV:
- CHECK_EXTENSION(NV_texture_rectangle, cap);
- if (!enable_texture(ctx, state, TEXTURE_RECT_BIT)) {
- return;
- }
- break;
-
- /* GL_EXT_stencil_two_side */
- case GL_STENCIL_TEST_TWO_SIDE_EXT:
- CHECK_EXTENSION(EXT_stencil_two_side, cap);
- if (ctx->Stencil.TestTwoSide == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_STENCIL);
- ctx->Stencil.TestTwoSide = state;
- if (state) {
- ctx->Stencil._BackFace = 2;
- ctx->_TriangleCaps |= DD_TRI_TWOSTENCIL;
- } else {
- ctx->Stencil._BackFace = 1;
- ctx->_TriangleCaps &= ~DD_TRI_TWOSTENCIL;
- }
- break;
-
-#if FEATURE_ARB_fragment_program
- case GL_FRAGMENT_PROGRAM_ARB:
- CHECK_EXTENSION(ARB_fragment_program, cap);
- if (ctx->FragmentProgram.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_PROGRAM);
- ctx->FragmentProgram.Enabled = state;
- break;
-#endif /* FEATURE_ARB_fragment_program */
-
- /* GL_EXT_depth_bounds_test */
- case GL_DEPTH_BOUNDS_TEST_EXT:
- CHECK_EXTENSION(EXT_depth_bounds_test, cap);
- if (ctx->Depth.BoundsTest == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_DEPTH);
- ctx->Depth.BoundsTest = state;
- break;
-
- case GL_DEPTH_CLAMP:
- if (ctx->Transform.DepthClamp == state)
- return;
- CHECK_EXTENSION(ARB_depth_clamp, cap);
- FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
- ctx->Transform.DepthClamp = state;
- break;
-
-#if FEATURE_ATI_fragment_shader
- case GL_FRAGMENT_SHADER_ATI:
- CHECK_EXTENSION(ATI_fragment_shader, cap);
- if (ctx->ATIFragmentShader.Enabled == state)
- return;
- FLUSH_VERTICES(ctx, _NEW_PROGRAM);
- ctx->ATIFragmentShader.Enabled = state;
- break;
-#endif
-
- /* GL_MESA_texture_array */
- case GL_TEXTURE_1D_ARRAY_EXT:
- CHECK_EXTENSION(MESA_texture_array, cap);
- if (!enable_texture(ctx, state, TEXTURE_1D_ARRAY_BIT)) {
- return;
- }
- break;
-
- case GL_TEXTURE_2D_ARRAY_EXT:
- CHECK_EXTENSION(MESA_texture_array, cap);
- if (!enable_texture(ctx, state, TEXTURE_2D_ARRAY_BIT)) {
- return;
- }
- break;
-
- case GL_TEXTURE_CUBE_MAP_SEAMLESS:
- CHECK_EXTENSION(ARB_seamless_cube_map, cap);
- ctx->Texture.CubeMapSeamless = state;
- break;
-
-#if FEATURE_EXT_transform_feedback
- case GL_RASTERIZER_DISCARD:
- CHECK_EXTENSION(EXT_transform_feedback, cap);
- if (ctx->TransformFeedback.RasterDiscard != state) {
- ctx->TransformFeedback.RasterDiscard = state;
- FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
- }
- break;
-#endif
-
- /* GL 3.1 primitive restart. Note: this enum is different from
- * GL_PRIMITIVE_RESTART_NV (which is client state).
- */
- case GL_PRIMITIVE_RESTART:
- if (ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
- goto invalid_enum_error;
- }
- if (ctx->Array.PrimitiveRestart != state) {
- FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
- ctx->Array.PrimitiveRestart = state;
- }
- break;
-
- /* GL3.0 - GL_framebuffer_sRGB */
- case GL_FRAMEBUFFER_SRGB_EXT:
- CHECK_EXTENSION(EXT_framebuffer_sRGB, cap);
- FLUSH_VERTICES(ctx, _NEW_BUFFERS);
- ctx->Color.sRGBEnabled = state;
- break;
-
- default:
- goto invalid_enum_error;
- }
-
- if (ctx->Driver.Enable) {
- ctx->Driver.Enable( ctx, cap, state );
- }
-
- return;
-
-invalid_enum_error:
- _mesa_error(ctx, GL_INVALID_ENUM, "gl%s(0x%x)",
- state ? "Enable" : "Disable", cap);
-}
-
-
-/**
- * Enable GL capability. Called by glEnable()
- * \param cap state to enable.
- */
-void GLAPIENTRY
-_mesa_Enable( GLenum cap )
-{
- GET_CURRENT_CONTEXT(ctx);
- ASSERT_OUTSIDE_BEGIN_END(ctx);
-
- _mesa_set_enable( ctx, cap, GL_TRUE );
-}
-
-
-/**
- * Disable GL capability. Called by glDisable()
- * \param cap state to disable.
- */
-void GLAPIENTRY
-_mesa_Disable( GLenum cap )
-{
- GET_CURRENT_CONTEXT(ctx);
- ASSERT_OUTSIDE_BEGIN_END(ctx);
-
- _mesa_set_enable( ctx, cap, GL_FALSE );
-}
-
-
-
-/**
- * Enable/disable an indexed state var.
- */
-void
-_mesa_set_enablei(struct gl_context *ctx, GLenum cap,
- GLuint index, GLboolean state)
-{
- ASSERT(state == 0 || state == 1);
- switch (cap) {
- case GL_BLEND:
- if (!ctx->Extensions.EXT_draw_buffers2) {
- goto invalid_enum_error;
- }
- if (index >= ctx->Const.MaxDrawBuffers) {
- _mesa_error(ctx, GL_INVALID_VALUE, "%s(index=%u)",
- state ? "glEnableIndexed" : "glDisableIndexed", index);
- return;
- }
- if (((ctx->Color.BlendEnabled >> index) & 1) != state) {
- FLUSH_VERTICES(ctx, _NEW_COLOR);
- if (state)
- ctx->Color.BlendEnabled |= (1 << index);
- else
- ctx->Color.BlendEnabled &= ~(1 << index);
- }
- break;
- default:
- goto invalid_enum_error;
- }
- return;
-
-invalid_enum_error:
- _mesa_error(ctx, GL_INVALID_ENUM, "%s(cap=%s)",
- state ? "glEnablei" : "glDisablei",
- _mesa_lookup_enum_by_nr(cap));
-}
-
-
-void GLAPIENTRY
-_mesa_DisableIndexed( GLenum cap, GLuint index )
-{
- GET_CURRENT_CONTEXT(ctx);
- ASSERT_OUTSIDE_BEGIN_END(ctx);
- _mesa_set_enablei(ctx, cap, index, GL_FALSE);
-}
-
-
-void GLAPIENTRY
-_mesa_EnableIndexed( GLenum cap, GLuint index )
-{
- GET_CURRENT_CONTEXT(ctx);
- ASSERT_OUTSIDE_BEGIN_END(ctx);
- _mesa_set_enablei(ctx, cap, index, GL_TRUE);
-}
-
-
-GLboolean GLAPIENTRY
-_mesa_IsEnabledIndexed( GLenum cap, GLuint index )
-{
- GET_CURRENT_CONTEXT(ctx);
- switch (cap) {
- case GL_BLEND:
- if (index >= ctx->Const.MaxDrawBuffers) {
- _mesa_error(ctx, GL_INVALID_VALUE, "glIsEnabledIndexed(index=%u)",
- index);
- return GL_FALSE;
- }
- return (ctx->Color.BlendEnabled >> index) & 1;
- default:
- _mesa_error(ctx, GL_INVALID_ENUM, "glIsEnabledIndexed(cap=%s)",
- _mesa_lookup_enum_by_nr(cap));
- return GL_FALSE;
- }
-}
-
-
-
-
-#undef CHECK_EXTENSION
-#define CHECK_EXTENSION(EXTNAME) \
- if (!ctx->Extensions.EXTNAME) { \
- goto invalid_enum_error; \
- }
-
-#undef CHECK_EXTENSION2
-#define CHECK_EXTENSION2(EXT1, EXT2) \
- if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2) { \
- goto invalid_enum_error; \
- }
-
-
-/**
- * Helper function to determine whether a texture target is enabled.
- */
-static GLboolean
-is_texture_enabled(struct gl_context *ctx, GLbitfield bit)
-{
- const struct gl_texture_unit *const texUnit =
- &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
- return (texUnit->Enabled & bit) ? GL_TRUE : GL_FALSE;
-}
-
-
-/**
- * Return simple enable/disable state.
- *
- * \param cap state variable to query.
- *
- * Returns the state of the specified capability from the current GL context.
- * For the capabilities associated with extensions verifies that those
- * extensions are effectively present before reporting.
- */
-GLboolean GLAPIENTRY
-_mesa_IsEnabled( GLenum cap )
-{
- GET_CURRENT_CONTEXT(ctx);
- switch (cap) {
- case GL_ALPHA_TEST:
- return ctx->Color.AlphaEnabled;
- case GL_AUTO_NORMAL:
- return ctx->Eval.AutoNormal;
- case GL_BLEND:
- return ctx->Color.BlendEnabled & 1; /* return state for buffer[0] */
- case GL_CLIP_PLANE0:
- case GL_CLIP_PLANE1:
- case GL_CLIP_PLANE2:
- case GL_CLIP_PLANE3:
- case GL_CLIP_PLANE4:
- case GL_CLIP_PLANE5:
- return (ctx->Transform.ClipPlanesEnabled >> (cap - GL_CLIP_PLANE0)) & 1;
- case GL_COLOR_MATERIAL:
- return ctx->Light.ColorMaterialEnabled;
- case GL_CULL_FACE:
- return ctx->Polygon.CullFlag;
- case GL_DEPTH_TEST:
- return ctx->Depth.Test;
- case GL_DITHER:
- return ctx->Color.DitherFlag;
- case GL_FOG:
- return ctx->Fog.Enabled;
- case GL_LIGHTING:
- return ctx->Light.Enabled;
- case GL_LIGHT0:
- case GL_LIGHT1:
- case GL_LIGHT2:
- case GL_LIGHT3:
- case GL_LIGHT4:
- case GL_LIGHT5:
- case GL_LIGHT6:
- case GL_LIGHT7:
- return ctx->Light.Light[cap-GL_LIGHT0].Enabled;
- case GL_LINE_SMOOTH:
- return ctx->Line.SmoothFlag;
- case GL_LINE_STIPPLE:
- return ctx->Line.StippleFlag;
- case GL_INDEX_LOGIC_OP:
- return ctx->Color.IndexLogicOpEnabled;
- case GL_COLOR_LOGIC_OP:
- return ctx->Color.ColorLogicOpEnabled;
- case GL_MAP1_COLOR_4:
- return ctx->Eval.Map1Color4;
- case GL_MAP1_INDEX:
- return ctx->Eval.Map1Index;
- case GL_MAP1_NORMAL:
- return ctx->Eval.Map1Normal;
- case GL_MAP1_TEXTURE_COORD_1:
- return ctx->Eval.Map1TextureCoord1;
- case GL_MAP1_TEXTURE_COORD_2:
- return ctx->Eval.Map1TextureCoord2;
- case GL_MAP1_TEXTURE_COORD_3:
- return ctx->Eval.Map1TextureCoord3;
- case GL_MAP1_TEXTURE_COORD_4:
- return ctx->Eval.Map1TextureCoord4;
- case GL_MAP1_VERTEX_3:
- return ctx->Eval.Map1Vertex3;
- case GL_MAP1_VERTEX_4:
- return ctx->Eval.Map1Vertex4;
- case GL_MAP2_COLOR_4:
- return ctx->Eval.Map2Color4;
- case GL_MAP2_INDEX:
- return ctx->Eval.Map2Index;
- case GL_MAP2_NORMAL:
- return ctx->Eval.Map2Normal;
- case GL_MAP2_TEXTURE_COORD_1:
- return ctx->Eval.Map2TextureCoord1;
- case GL_MAP2_TEXTURE_COORD_2:
- return ctx->Eval.Map2TextureCoord2;
- case GL_MAP2_TEXTURE_COORD_3:
- return ctx->Eval.Map2TextureCoord3;
- case GL_MAP2_TEXTURE_COORD_4:
- return ctx->Eval.Map2TextureCoord4;
- case GL_MAP2_VERTEX_3:
- return ctx->Eval.Map2Vertex3;
- case GL_MAP2_VERTEX_4:
- return ctx->Eval.Map2Vertex4;
- case GL_NORMALIZE:
- return ctx->Transform.Normalize;
- case GL_POINT_SMOOTH:
- return ctx->Point.SmoothFlag;
- case GL_POLYGON_SMOOTH:
- return ctx->Polygon.SmoothFlag;
- case GL_POLYGON_STIPPLE:
- return ctx->Polygon.StippleFlag;
- case GL_POLYGON_OFFSET_POINT:
- return ctx->Polygon.OffsetPoint;
- case GL_POLYGON_OFFSET_LINE:
- return ctx->Polygon.OffsetLine;
- case GL_POLYGON_OFFSET_FILL:
- /*case GL_POLYGON_OFFSET_EXT:*/
- return ctx->Polygon.OffsetFill;
- case GL_RESCALE_NORMAL_EXT:
- return ctx->Transform.RescaleNormals;
- case GL_SCISSOR_TEST:
- return ctx->Scissor.Enabled;
- case GL_SHARED_TEXTURE_PALETTE_EXT:
- return ctx->Texture.SharedPalette;
- case GL_STENCIL_TEST:
- return ctx->Stencil.Enabled;
- case GL_TEXTURE_1D:
- return is_texture_enabled(ctx, TEXTURE_1D_BIT);
- case GL_TEXTURE_2D:
- return is_texture_enabled(ctx, TEXTURE_2D_BIT);
- case GL_TEXTURE_3D:
- return is_texture_enabled(ctx, TEXTURE_3D_BIT);
- case GL_TEXTURE_GEN_S:
- case GL_TEXTURE_GEN_T:
- case GL_TEXTURE_GEN_R:
- case GL_TEXTURE_GEN_Q:
- {
- const struct gl_texture_unit *texUnit = get_texcoord_unit(ctx);
- if (texUnit) {
- GLbitfield coordBit = S_BIT << (cap - GL_TEXTURE_GEN_S);
- return (texUnit->TexGenEnabled & coordBit) ? GL_TRUE : GL_FALSE;
- }
- }
- return GL_FALSE;
-#if FEATURE_ES1
- case GL_TEXTURE_GEN_STR_OES:
- {
- const struct gl_texture_unit *texUnit = get_texcoord_unit(ctx);
- if (texUnit) {
- return (texUnit->TexGenEnabled & STR_BITS) == STR_BITS
- ? GL_TRUE : GL_FALSE;
- }
- }
-#endif
-
- /*
- * CLIENT STATE!!!
- */
- case GL_VERTEX_ARRAY:
- return (ctx->Array.ArrayObj->Vertex.Enabled != 0);
- case GL_NORMAL_ARRAY:
- return (ctx->Array.ArrayObj->Normal.Enabled != 0);
- case GL_COLOR_ARRAY:
- return (ctx->Array.ArrayObj->Color.Enabled != 0);
- case GL_INDEX_ARRAY:
- return (ctx->Array.ArrayObj->Index.Enabled != 0);
- case GL_TEXTURE_COORD_ARRAY:
- return (ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture]
- .Enabled != 0);
- case GL_EDGE_FLAG_ARRAY:
- return (ctx->Array.ArrayObj->EdgeFlag.Enabled != 0);
- case GL_FOG_COORDINATE_ARRAY_EXT:
- CHECK_EXTENSION(EXT_fog_coord);
- return (ctx->Array.ArrayObj->FogCoord.Enabled != 0);
- case GL_SECONDARY_COLOR_ARRAY_EXT:
- CHECK_EXTENSION(EXT_secondary_color);
- return (ctx->Array.ArrayObj->SecondaryColor.Enabled != 0);
-#if FEATURE_point_size_array
- case GL_POINT_SIZE_ARRAY_OES:
- return (ctx->Array.ArrayObj->PointSize.Enabled != 0);
-#endif
-
- /* GL_ARB_texture_cube_map */
- case GL_TEXTURE_CUBE_MAP_ARB:
- CHECK_EXTENSION(ARB_texture_cube_map);
- return is_texture_enabled(ctx, TEXTURE_CUBE_BIT);
-
- /* GL_EXT_secondary_color */
- case GL_COLOR_SUM_EXT:
- CHECK_EXTENSION2(EXT_secondary_color, ARB_vertex_program);
- return ctx->Fog.ColorSumEnabled;
-
- /* GL_ARB_multisample */
- case GL_MULTISAMPLE_ARB:
- return ctx->Multisample.Enabled;
- case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:
- return ctx->Multisample.SampleAlphaToCoverage;
- case GL_SAMPLE_ALPHA_TO_ONE_ARB:
- return ctx->Multisample.SampleAlphaToOne;
- case GL_SAMPLE_COVERAGE_ARB:
- return ctx->Multisample.SampleCoverage;
- case GL_SAMPLE_COVERAGE_INVERT_ARB:
- return ctx->Multisample.SampleCoverageInvert;
-
- /* GL_IBM_rasterpos_clip */
- case GL_RASTER_POSITION_UNCLIPPED_IBM:
- CHECK_EXTENSION(IBM_rasterpos_clip);
- return ctx->Transform.RasterPositionUnclipped;
-
- /* GL_NV_point_sprite */
- case GL_POINT_SPRITE_NV:
- CHECK_EXTENSION2(NV_point_sprite, ARB_point_sprite)
- return ctx->Point.PointSprite;
-
-#if FEATURE_NV_vertex_program || FEATURE_ARB_vertex_program
- case GL_VERTEX_PROGRAM_ARB:
- CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program);
- return ctx->VertexProgram.Enabled;
- case GL_VERTEX_PROGRAM_POINT_SIZE_ARB:
- CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program);
- return ctx->VertexProgram.PointSizeEnabled;
- case GL_VERTEX_PROGRAM_TWO_SIDE_ARB:
- CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program);
- return ctx->VertexProgram.TwoSideEnabled;
-#endif
-#if FEATURE_NV_vertex_program
- case GL_VERTEX_ATTRIB_ARRAY0_NV:
- case GL_VERTEX_ATTRIB_ARRAY1_NV:
- case GL_VERTEX_ATTRIB_ARRAY2_NV:
- case GL_VERTEX_ATTRIB_ARRAY3_NV:
- case GL_VERTEX_ATTRIB_ARRAY4_NV:
- case GL_VERTEX_ATTRIB_ARRAY5_NV:
- case GL_VERTEX_ATTRIB_ARRAY6_NV:
- case GL_VERTEX_ATTRIB_ARRAY7_NV:
- case GL_VERTEX_ATTRIB_ARRAY8_NV:
- case GL_VERTEX_ATTRIB_ARRAY9_NV:
- case GL_VERTEX_ATTRIB_ARRAY10_NV:
- case GL_VERTEX_ATTRIB_ARRAY11_NV:
- case GL_VERTEX_ATTRIB_ARRAY12_NV:
- case GL_VERTEX_ATTRIB_ARRAY13_NV:
- case GL_VERTEX_ATTRIB_ARRAY14_NV:
- case GL_VERTEX_ATTRIB_ARRAY15_NV:
- CHECK_EXTENSION(NV_vertex_program);
- {
- GLint n = (GLint) cap - GL_VERTEX_ATTRIB_ARRAY0_NV;
- ASSERT(n < Elements(ctx->Array.ArrayObj->VertexAttrib));
- return (ctx->Array.ArrayObj->VertexAttrib[n].Enabled != 0);
- }
- case GL_MAP1_VERTEX_ATTRIB0_4_NV:
- case GL_MAP1_VERTEX_ATTRIB1_4_NV:
- case GL_MAP1_VERTEX_ATTRIB2_4_NV:
- case GL_MAP1_VERTEX_ATTRIB3_4_NV:
- case GL_MAP1_VERTEX_ATTRIB4_4_NV:
- case GL_MAP1_VERTEX_ATTRIB5_4_NV:
- case GL_MAP1_VERTEX_ATTRIB6_4_NV:
- case GL_MAP1_VERTEX_ATTRIB7_4_NV:
- case GL_MAP1_VERTEX_ATTRIB8_4_NV:
- case GL_MAP1_VERTEX_ATTRIB9_4_NV:
- case GL_MAP1_VERTEX_ATTRIB10_4_NV:
- case GL_MAP1_VERTEX_ATTRIB11_4_NV:
- case GL_MAP1_VERTEX_ATTRIB12_4_NV:
- case GL_MAP1_VERTEX_ATTRIB13_4_NV:
- case GL_MAP1_VERTEX_ATTRIB14_4_NV:
- case GL_MAP1_VERTEX_ATTRIB15_4_NV:
- CHECK_EXTENSION(NV_vertex_program);
- {
- const GLuint map = (GLuint) (cap - GL_MAP1_VERTEX_ATTRIB0_4_NV);
- return ctx->Eval.Map1Attrib[map];
- }
- case GL_MAP2_VERTEX_ATTRIB0_4_NV:
- case GL_MAP2_VERTEX_ATTRIB1_4_NV:
- case GL_MAP2_VERTEX_ATTRIB2_4_NV:
- case GL_MAP2_VERTEX_ATTRIB3_4_NV:
- case GL_MAP2_VERTEX_ATTRIB4_4_NV:
- case GL_MAP2_VERTEX_ATTRIB5_4_NV:
- case GL_MAP2_VERTEX_ATTRIB6_4_NV:
- case GL_MAP2_VERTEX_ATTRIB7_4_NV:
- case GL_MAP2_VERTEX_ATTRIB8_4_NV:
- case GL_MAP2_VERTEX_ATTRIB9_4_NV:
- case GL_MAP2_VERTEX_ATTRIB10_4_NV:
- case GL_MAP2_VERTEX_ATTRIB11_4_NV:
- case GL_MAP2_VERTEX_ATTRIB12_4_NV:
- case GL_MAP2_VERTEX_ATTRIB13_4_NV:
- case GL_MAP2_VERTEX_ATTRIB14_4_NV:
- case GL_MAP2_VERTEX_ATTRIB15_4_NV:
- CHECK_EXTENSION(NV_vertex_program);
- {
- const GLuint map = (GLuint) (cap - GL_MAP2_VERTEX_ATTRIB0_4_NV);
- return ctx->Eval.Map2Attrib[map];
- }
-#endif /* FEATURE_NV_vertex_program */
-
-#if FEATURE_NV_fragment_program
- case GL_FRAGMENT_PROGRAM_NV:
- CHECK_EXTENSION(NV_fragment_program);
- return ctx->FragmentProgram.Enabled;
-#endif /* FEATURE_NV_fragment_program */
-
- /* GL_NV_texture_rectangle */
- case GL_TEXTURE_RECTANGLE_NV:
- CHECK_EXTENSION(NV_texture_rectangle);
- return is_texture_enabled(ctx, TEXTURE_RECT_BIT);
-
- /* GL_EXT_stencil_two_side */
- case GL_STENCIL_TEST_TWO_SIDE_EXT:
- CHECK_EXTENSION(EXT_stencil_two_side);
- return ctx->Stencil.TestTwoSide;
-
-#if FEATURE_ARB_fragment_program
- case GL_FRAGMENT_PROGRAM_ARB:
- return ctx->FragmentProgram.Enabled;
-#endif /* FEATURE_ARB_fragment_program */
-
- /* GL_EXT_depth_bounds_test */
- case GL_DEPTH_BOUNDS_TEST_EXT:
- CHECK_EXTENSION(EXT_depth_bounds_test);
- return ctx->Depth.BoundsTest;
-
- /* GL_ARB_depth_clamp */
- case GL_DEPTH_CLAMP:
- CHECK_EXTENSION(ARB_depth_clamp);
- return ctx->Transform.DepthClamp;
-
-#if FEATURE_ATI_fragment_shader
- case GL_FRAGMENT_SHADER_ATI:
- CHECK_EXTENSION(ATI_fragment_shader);
- return ctx->ATIFragmentShader.Enabled;
-#endif /* FEATURE_ATI_fragment_shader */
-
- case GL_TEXTURE_CUBE_MAP_SEAMLESS:
- CHECK_EXTENSION(ARB_seamless_cube_map);
- return ctx->Texture.CubeMapSeamless;
-
-#if FEATURE_EXT_transform_feedback
- case GL_RASTERIZER_DISCARD:
- CHECK_EXTENSION(EXT_transform_feedback);
- return ctx->TransformFeedback.RasterDiscard;
-#endif
-
- /* GL_NV_primitive_restart */
- case GL_PRIMITIVE_RESTART_NV:
- if (!ctx->Extensions.NV_primitive_restart) {
- goto invalid_enum_error;
- }
- return ctx->Array.PrimitiveRestart;
-
- /* GL 3.1 primitive restart */
- case GL_PRIMITIVE_RESTART:
- if (ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
- goto invalid_enum_error;
- }
- return ctx->Array.PrimitiveRestart;
-
- /* GL3.0 - GL_framebuffer_sRGB */
- case GL_FRAMEBUFFER_SRGB_EXT:
- CHECK_EXTENSION(EXT_framebuffer_sRGB);
- return ctx->Color.sRGBEnabled;
-
- default:
- goto invalid_enum_error;
- }
-
- return GL_FALSE;
-
-invalid_enum_error:
- _mesa_error(ctx, GL_INVALID_ENUM, "glIsEnabled(0x%x)", (int) cap);
- return GL_FALSE;
-}
+/**
+ * \file enable.c
+ * Enable/disable/query GL capabilities.
+ */
+
+/*
+ * Mesa 3-D graphics library
+ * Version: 7.0.3
+ *
+ * Copyright (C) 1999-2007 Brian Paul All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * 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 "glheader.h"
+#include "clip.h"
+#include "context.h"
+#include "enable.h"
+#include "light.h"
+#include "simple_list.h"
+#include "mfeatures.h"
+#include "mtypes.h"
+#include "enums.h"
+#include "api_arrayelt.h"
+#include "texstate.h"
+
+
+
+#define CHECK_EXTENSION(EXTNAME, CAP) \
+ if (!ctx->Extensions.EXTNAME) { \
+ goto invalid_enum_error; \
+ }
+
+
+/**
+ * Helper to enable/disable client-side state.
+ */
+static void
+client_state(struct gl_context *ctx, GLenum cap, GLboolean state)
+{
+ struct gl_array_object *arrayObj = ctx->Array.ArrayObj;
+ GLuint flag;
+ GLboolean *var;
+
+ switch (cap) {
+ case GL_VERTEX_ARRAY:
+ var = &arrayObj->Vertex.Enabled;
+ flag = _NEW_ARRAY_VERTEX;
+ break;
+ case GL_NORMAL_ARRAY:
+ var = &arrayObj->Normal.Enabled;
+ flag = _NEW_ARRAY_NORMAL;
+ break;
+ case GL_COLOR_ARRAY:
+ var = &arrayObj->Color.Enabled;
+ flag = _NEW_ARRAY_COLOR0;
+ break;
+ case GL_INDEX_ARRAY:
+ var = &arrayObj->Index.Enabled;
+ flag = _NEW_ARRAY_INDEX;
+ break;
+ case GL_TEXTURE_COORD_ARRAY:
+ var = &arrayObj->TexCoord[ctx->Array.ActiveTexture].Enabled;
+ flag = _NEW_ARRAY_TEXCOORD(ctx->Array.ActiveTexture);
+ break;
+ case GL_EDGE_FLAG_ARRAY:
+ var = &arrayObj->EdgeFlag.Enabled;
+ flag = _NEW_ARRAY_EDGEFLAG;
+ break;
+ case GL_FOG_COORDINATE_ARRAY_EXT:
+ var = &arrayObj->FogCoord.Enabled;
+ flag = _NEW_ARRAY_FOGCOORD;
+ break;
+ case GL_SECONDARY_COLOR_ARRAY_EXT:
+ var = &arrayObj->SecondaryColor.Enabled;
+ flag = _NEW_ARRAY_COLOR1;
+ break;
+
+#if FEATURE_point_size_array
+ case GL_POINT_SIZE_ARRAY_OES:
+ var = &arrayObj->PointSize.Enabled;
+ flag = _NEW_ARRAY_POINT_SIZE;
+ break;
+#endif
+
+#if FEATURE_NV_vertex_program
+ case GL_VERTEX_ATTRIB_ARRAY0_NV:
+ case GL_VERTEX_ATTRIB_ARRAY1_NV:
+ case GL_VERTEX_ATTRIB_ARRAY2_NV:
+ case GL_VERTEX_ATTRIB_ARRAY3_NV:
+ case GL_VERTEX_ATTRIB_ARRAY4_NV:
+ case GL_VERTEX_ATTRIB_ARRAY5_NV:
+ case GL_VERTEX_ATTRIB_ARRAY6_NV:
+ case GL_VERTEX_ATTRIB_ARRAY7_NV:
+ case GL_VERTEX_ATTRIB_ARRAY8_NV:
+ case GL_VERTEX_ATTRIB_ARRAY9_NV:
+ case GL_VERTEX_ATTRIB_ARRAY10_NV:
+ case GL_VERTEX_ATTRIB_ARRAY11_NV:
+ case GL_VERTEX_ATTRIB_ARRAY12_NV:
+ case GL_VERTEX_ATTRIB_ARRAY13_NV:
+ case GL_VERTEX_ATTRIB_ARRAY14_NV:
+ case GL_VERTEX_ATTRIB_ARRAY15_NV:
+ CHECK_EXTENSION(NV_vertex_program, cap);
+ {
+ GLint n = (GLint) cap - GL_VERTEX_ATTRIB_ARRAY0_NV;
+ ASSERT(n < Elements(ctx->Array.ArrayObj->VertexAttrib));
+ var = &arrayObj->VertexAttrib[n].Enabled;
+ flag = _NEW_ARRAY_ATTRIB(n);
+ }
+ break;
+#endif /* FEATURE_NV_vertex_program */
+
+ /* GL_NV_primitive_restart */
+ case GL_PRIMITIVE_RESTART_NV:
+ if (!ctx->Extensions.NV_primitive_restart) {
+ goto invalid_enum_error;
+ }
+ var = &ctx->Array.PrimitiveRestart;
+ flag = 0;
+ break;
+
+ default:
+ goto invalid_enum_error;
+ }
+
+ if (*var == state)
+ return;
+
+ FLUSH_VERTICES(ctx, _NEW_ARRAY);
+ ctx->Array.NewState |= flag;
+
+ _ae_invalidate_state(ctx, _NEW_ARRAY);
+
+ *var = state;
+
+ if (state)
+ ctx->Array.ArrayObj->_Enabled |= flag;
+ else
+ ctx->Array.ArrayObj->_Enabled &= ~flag;
+
+ if (ctx->Driver.Enable) {
+ ctx->Driver.Enable( ctx, cap, state );
+ }
+
+ return;
+
+invalid_enum_error:
+ _mesa_error(ctx, GL_INVALID_ENUM, "gl%sClientState(0x%x)",
+ state ? "Enable" : "Disable", cap);
+}
+
+
+/**
+ * Enable GL capability.
+ * \param cap state to enable/disable.
+ *
+ * Get's the current context, assures that we're outside glBegin()/glEnd() and
+ * calls client_state().
+ */
+void GLAPIENTRY
+_mesa_EnableClientState( GLenum cap )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+ client_state( ctx, cap, GL_TRUE );
+}
+
+
+/**
+ * Disable GL capability.
+ * \param cap state to enable/disable.
+ *
+ * Get's the current context, assures that we're outside glBegin()/glEnd() and
+ * calls client_state().
+ */
+void GLAPIENTRY
+_mesa_DisableClientState( GLenum cap )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+ client_state( ctx, cap, GL_FALSE );
+}
+
+
+#undef CHECK_EXTENSION
+#define CHECK_EXTENSION(EXTNAME, CAP) \
+ if (!ctx->Extensions.EXTNAME) { \
+ goto invalid_enum_error; \
+ }
+
+#define CHECK_EXTENSION2(EXT1, EXT2, CAP) \
+ if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2) { \
+ goto invalid_enum_error; \
+ }
+
+
+
+/**
+ * Return pointer to current texture unit for setting/getting coordinate
+ * state.
+ * Note that we'll set GL_INVALID_OPERATION and return NULL if the active
+ * texture unit is higher than the number of supported coordinate units.
+ */
+static struct gl_texture_unit *
+get_texcoord_unit(struct gl_context *ctx)
+{
+ if (ctx->Texture.CurrentUnit >= ctx->Const.MaxTextureCoordUnits) {
+ _mesa_error(ctx, GL_INVALID_OPERATION, "glEnable/Disable(texcoord unit)");
+ return NULL;
+ }
+ else {
+ return &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ }
+}
+
+
+/**
+ * Helper function to enable or disable a texture target.
+ * \param bit one of the TEXTURE_x_BIT values
+ * \return GL_TRUE if state is changing or GL_FALSE if no change
+ */
+static GLboolean
+enable_texture(struct gl_context *ctx, GLboolean state, GLbitfield texBit)
+{
+ struct gl_texture_unit *texUnit = _mesa_get_current_tex_unit(ctx);
+ const GLbitfield newenabled = state
+ ? (texUnit->Enabled | texBit) : (texUnit->Enabled & ~texBit);
+
+ if (texUnit->Enabled == newenabled)
+ return GL_FALSE;
+
+ FLUSH_VERTICES(ctx, _NEW_TEXTURE);
+ texUnit->Enabled = newenabled;
+ return GL_TRUE;
+}
+
+
+/**
+ * Helper function to enable or disable state.
+ *
+ * \param ctx GL context.
+ * \param cap the state to enable/disable
+ * \param state whether to enable or disable the specified capability.
+ *
+ * Updates the current context and flushes the vertices as needed. For
+ * capabilities associated with extensions it verifies that those extensions
+ * are effectivly present before updating. Notifies the driver via
+ * dd_function_table::Enable.
+ */
+void
+_mesa_set_enable(struct gl_context *ctx, GLenum cap, GLboolean state)
+{
+ if (MESA_VERBOSE & VERBOSE_API)
+ _mesa_debug(ctx, "%s %s (newstate is %x)\n",
+ state ? "glEnable" : "glDisable",
+ _mesa_lookup_enum_by_nr(cap),
+ ctx->NewState);
+
+ switch (cap) {
+ case GL_ALPHA_TEST:
+ if (ctx->Color.AlphaEnabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_COLOR);
+ ctx->Color.AlphaEnabled = state;
+ break;
+ case GL_AUTO_NORMAL:
+ if (ctx->Eval.AutoNormal == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.AutoNormal = state;
+ break;
+ case GL_BLEND:
+ {
+ GLbitfield newEnabled =
+ state * ((1 << ctx->Const.MaxDrawBuffers) - 1);
+ if (newEnabled != ctx->Color.BlendEnabled) {
+ FLUSH_VERTICES(ctx, _NEW_COLOR);
+ ctx->Color.BlendEnabled = newEnabled;
+ }
+ }
+ break;
+#if FEATURE_userclip
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ {
+ const GLuint p = cap - GL_CLIP_PLANE0;
+
+ if ((ctx->Transform.ClipPlanesEnabled & (1 << p))
+ == ((GLuint) state << p))
+ return;
+
+ FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
+
+ if (state) {
+ ctx->Transform.ClipPlanesEnabled |= (1 << p);
+ _mesa_update_clip_plane(ctx, p);
+ }
+ else {
+ ctx->Transform.ClipPlanesEnabled &= ~(1 << p);
+ }
+ }
+ break;
+#endif
+ case GL_COLOR_MATERIAL:
+ if (ctx->Light.ColorMaterialEnabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_LIGHT);
+ FLUSH_CURRENT(ctx, 0);
+ ctx->Light.ColorMaterialEnabled = state;
+ if (state) {
+ _mesa_update_color_material( ctx,
+ ctx->Current.Attrib[VERT_ATTRIB_COLOR0] );
+ }
+ break;
+ case GL_CULL_FACE:
+ if (ctx->Polygon.CullFlag == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_POLYGON);
+ ctx->Polygon.CullFlag = state;
+ break;
+ case GL_DEPTH_TEST:
+ if (ctx->Depth.Test == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_DEPTH);
+ ctx->Depth.Test = state;
+ break;
+ case GL_DITHER:
+ if (ctx->Color.DitherFlag == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_COLOR);
+ ctx->Color.DitherFlag = state;
+ break;
+ case GL_FOG:
+ if (ctx->Fog.Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_FOG);
+ ctx->Fog.Enabled = state;
+ break;
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ if (ctx->Light.Light[cap-GL_LIGHT0].Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_LIGHT);
+ ctx->Light.Light[cap-GL_LIGHT0].Enabled = state;
+ if (state) {
+ insert_at_tail(&ctx->Light.EnabledList,
+ &ctx->Light.Light[cap-GL_LIGHT0]);
+ }
+ else {
+ remove_from_list(&ctx->Light.Light[cap-GL_LIGHT0]);
+ }
+ break;
+ case GL_LIGHTING:
+ if (ctx->Light.Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_LIGHT);
+ ctx->Light.Enabled = state;
+ if (ctx->Light.Enabled && ctx->Light.Model.TwoSide)
+ ctx->_TriangleCaps |= DD_TRI_LIGHT_TWOSIDE;
+ else
+ ctx->_TriangleCaps &= ~DD_TRI_LIGHT_TWOSIDE;
+ break;
+ case GL_LINE_SMOOTH:
+ if (ctx->Line.SmoothFlag == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_LINE);
+ ctx->Line.SmoothFlag = state;
+ ctx->_TriangleCaps ^= DD_LINE_SMOOTH;
+ break;
+ case GL_LINE_STIPPLE:
+ if (ctx->Line.StippleFlag == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_LINE);
+ ctx->Line.StippleFlag = state;
+ ctx->_TriangleCaps ^= DD_LINE_STIPPLE;
+ break;
+ case GL_INDEX_LOGIC_OP:
+ if (ctx->Color.IndexLogicOpEnabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_COLOR);
+ ctx->Color.IndexLogicOpEnabled = state;
+ break;
+ case GL_COLOR_LOGIC_OP:
+ if (ctx->Color.ColorLogicOpEnabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_COLOR);
+ ctx->Color.ColorLogicOpEnabled = state;
+ break;
+ case GL_MAP1_COLOR_4:
+ if (ctx->Eval.Map1Color4 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1Color4 = state;
+ break;
+ case GL_MAP1_INDEX:
+ if (ctx->Eval.Map1Index == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1Index = state;
+ break;
+ case GL_MAP1_NORMAL:
+ if (ctx->Eval.Map1Normal == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1Normal = state;
+ break;
+ case GL_MAP1_TEXTURE_COORD_1:
+ if (ctx->Eval.Map1TextureCoord1 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1TextureCoord1 = state;
+ break;
+ case GL_MAP1_TEXTURE_COORD_2:
+ if (ctx->Eval.Map1TextureCoord2 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1TextureCoord2 = state;
+ break;
+ case GL_MAP1_TEXTURE_COORD_3:
+ if (ctx->Eval.Map1TextureCoord3 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1TextureCoord3 = state;
+ break;
+ case GL_MAP1_TEXTURE_COORD_4:
+ if (ctx->Eval.Map1TextureCoord4 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1TextureCoord4 = state;
+ break;
+ case GL_MAP1_VERTEX_3:
+ if (ctx->Eval.Map1Vertex3 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1Vertex3 = state;
+ break;
+ case GL_MAP1_VERTEX_4:
+ if (ctx->Eval.Map1Vertex4 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1Vertex4 = state;
+ break;
+ case GL_MAP2_COLOR_4:
+ if (ctx->Eval.Map2Color4 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2Color4 = state;
+ break;
+ case GL_MAP2_INDEX:
+ if (ctx->Eval.Map2Index == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2Index = state;
+ break;
+ case GL_MAP2_NORMAL:
+ if (ctx->Eval.Map2Normal == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2Normal = state;
+ break;
+ case GL_MAP2_TEXTURE_COORD_1:
+ if (ctx->Eval.Map2TextureCoord1 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2TextureCoord1 = state;
+ break;
+ case GL_MAP2_TEXTURE_COORD_2:
+ if (ctx->Eval.Map2TextureCoord2 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2TextureCoord2 = state;
+ break;
+ case GL_MAP2_TEXTURE_COORD_3:
+ if (ctx->Eval.Map2TextureCoord3 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2TextureCoord3 = state;
+ break;
+ case GL_MAP2_TEXTURE_COORD_4:
+ if (ctx->Eval.Map2TextureCoord4 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2TextureCoord4 = state;
+ break;
+ case GL_MAP2_VERTEX_3:
+ if (ctx->Eval.Map2Vertex3 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2Vertex3 = state;
+ break;
+ case GL_MAP2_VERTEX_4:
+ if (ctx->Eval.Map2Vertex4 == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2Vertex4 = state;
+ break;
+ case GL_NORMALIZE:
+ if (ctx->Transform.Normalize == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
+ ctx->Transform.Normalize = state;
+ break;
+ case GL_POINT_SMOOTH:
+ if (ctx->Point.SmoothFlag == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_POINT);
+ ctx->Point.SmoothFlag = state;
+ ctx->_TriangleCaps ^= DD_POINT_SMOOTH;
+ break;
+ case GL_POLYGON_SMOOTH:
+ if (ctx->Polygon.SmoothFlag == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_POLYGON);
+ ctx->Polygon.SmoothFlag = state;
+ ctx->_TriangleCaps ^= DD_TRI_SMOOTH;
+ break;
+ case GL_POLYGON_STIPPLE:
+ if (ctx->Polygon.StippleFlag == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_POLYGON);
+ ctx->Polygon.StippleFlag = state;
+ ctx->_TriangleCaps ^= DD_TRI_STIPPLE;
+ break;
+ case GL_POLYGON_OFFSET_POINT:
+ if (ctx->Polygon.OffsetPoint == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_POLYGON);
+ ctx->Polygon.OffsetPoint = state;
+ break;
+ case GL_POLYGON_OFFSET_LINE:
+ if (ctx->Polygon.OffsetLine == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_POLYGON);
+ ctx->Polygon.OffsetLine = state;
+ break;
+ case GL_POLYGON_OFFSET_FILL:
+ /*case GL_POLYGON_OFFSET_EXT:*/
+ if (ctx->Polygon.OffsetFill == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_POLYGON);
+ ctx->Polygon.OffsetFill = state;
+ break;
+ case GL_RESCALE_NORMAL_EXT:
+ if (ctx->Transform.RescaleNormals == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
+ ctx->Transform.RescaleNormals = state;
+ break;
+ case GL_SCISSOR_TEST:
+ if (ctx->Scissor.Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_SCISSOR);
+ ctx->Scissor.Enabled = state;
+ break;
+ case GL_SHARED_TEXTURE_PALETTE_EXT:
+ if (ctx->Texture.SharedPalette == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_TEXTURE);
+ ctx->Texture.SharedPalette = state;
+ break;
+ case GL_STENCIL_TEST:
+ if (ctx->Stencil.Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_STENCIL);
+ ctx->Stencil.Enabled = state;
+ break;
+ case GL_TEXTURE_1D:
+ if (!enable_texture(ctx, state, TEXTURE_1D_BIT)) {
+ return;
+ }
+ break;
+ case GL_TEXTURE_2D:
+ if (!enable_texture(ctx, state, TEXTURE_2D_BIT)) {
+ return;
+ }
+ break;
+ case GL_TEXTURE_3D:
+ if (!enable_texture(ctx, state, TEXTURE_3D_BIT)) {
+ return;
+ }
+ break;
+ case GL_TEXTURE_GEN_S:
+ case GL_TEXTURE_GEN_T:
+ case GL_TEXTURE_GEN_R:
+ case GL_TEXTURE_GEN_Q:
+ {
+ struct gl_texture_unit *texUnit = get_texcoord_unit(ctx);
+ if (texUnit) {
+ GLbitfield coordBit = S_BIT << (cap - GL_TEXTURE_GEN_S);
+ GLbitfield newenabled = texUnit->TexGenEnabled & ~coordBit;
+ if (state)
+ newenabled |= coordBit;
+ if (texUnit->TexGenEnabled == newenabled)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_TEXTURE);
+ texUnit->TexGenEnabled = newenabled;
+ }
+ }
+ break;
+
+#if FEATURE_ES1
+ case GL_TEXTURE_GEN_STR_OES:
+ /* disable S, T, and R at the same time */
+ {
+ struct gl_texture_unit *texUnit = get_texcoord_unit(ctx);
+ if (texUnit) {
+ GLuint newenabled =
+ texUnit->TexGenEnabled & ~STR_BITS;
+ if (state)
+ newenabled |= STR_BITS;
+ if (texUnit->TexGenEnabled == newenabled)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_TEXTURE);
+ texUnit->TexGenEnabled = newenabled;
+ }
+ }
+ break;
+#endif
+
+ /*
+ * CLIENT STATE!!!
+ */
+ case GL_VERTEX_ARRAY:
+ case GL_NORMAL_ARRAY:
+ case GL_COLOR_ARRAY:
+ case GL_INDEX_ARRAY:
+ case GL_TEXTURE_COORD_ARRAY:
+ case GL_EDGE_FLAG_ARRAY:
+ case GL_FOG_COORDINATE_ARRAY_EXT:
+ case GL_SECONDARY_COLOR_ARRAY_EXT:
+ case GL_POINT_SIZE_ARRAY_OES:
+ client_state( ctx, cap, state );
+ return;
+
+ /* GL_ARB_texture_cube_map */
+ case GL_TEXTURE_CUBE_MAP_ARB:
+ CHECK_EXTENSION(ARB_texture_cube_map, cap);
+ if (!enable_texture(ctx, state, TEXTURE_CUBE_BIT)) {
+ return;
+ }
+ break;
+
+ /* GL_EXT_secondary_color */
+ case GL_COLOR_SUM_EXT:
+ CHECK_EXTENSION2(EXT_secondary_color, ARB_vertex_program, cap);
+ if (ctx->Fog.ColorSumEnabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_FOG);
+ ctx->Fog.ColorSumEnabled = state;
+ break;
+
+ /* GL_ARB_multisample */
+ case GL_MULTISAMPLE_ARB:
+ if (ctx->Multisample.Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
+ ctx->Multisample.Enabled = state;
+ break;
+ case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:
+ if (ctx->Multisample.SampleAlphaToCoverage == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
+ ctx->Multisample.SampleAlphaToCoverage = state;
+ break;
+ case GL_SAMPLE_ALPHA_TO_ONE_ARB:
+ if (ctx->Multisample.SampleAlphaToOne == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
+ ctx->Multisample.SampleAlphaToOne = state;
+ break;
+ case GL_SAMPLE_COVERAGE_ARB:
+ if (ctx->Multisample.SampleCoverage == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
+ ctx->Multisample.SampleCoverage = state;
+ break;
+ case GL_SAMPLE_COVERAGE_INVERT_ARB:
+ if (ctx->Multisample.SampleCoverageInvert == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_MULTISAMPLE);
+ ctx->Multisample.SampleCoverageInvert = state;
+ break;
+
+ /* GL_IBM_rasterpos_clip */
+ case GL_RASTER_POSITION_UNCLIPPED_IBM:
+ CHECK_EXTENSION(IBM_rasterpos_clip, cap);
+ if (ctx->Transform.RasterPositionUnclipped == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
+ ctx->Transform.RasterPositionUnclipped = state;
+ break;
+
+ /* GL_NV_point_sprite */
+ case GL_POINT_SPRITE_NV:
+ CHECK_EXTENSION2(NV_point_sprite, ARB_point_sprite, cap);
+ if (ctx->Point.PointSprite == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_POINT);
+ ctx->Point.PointSprite = state;
+ break;
+
+#if FEATURE_NV_vertex_program || FEATURE_ARB_vertex_program
+ case GL_VERTEX_PROGRAM_ARB:
+ CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program, cap);
+ if (ctx->VertexProgram.Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+ ctx->VertexProgram.Enabled = state;
+ break;
+ case GL_VERTEX_PROGRAM_POINT_SIZE_ARB:
+ CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program, cap);
+ if (ctx->VertexProgram.PointSizeEnabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+ ctx->VertexProgram.PointSizeEnabled = state;
+ break;
+ case GL_VERTEX_PROGRAM_TWO_SIDE_ARB:
+ CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program, cap);
+ if (ctx->VertexProgram.TwoSideEnabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+ ctx->VertexProgram.TwoSideEnabled = state;
+ break;
+#endif
+#if FEATURE_NV_vertex_program
+ case GL_MAP1_VERTEX_ATTRIB0_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB1_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB2_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB3_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB4_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB5_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB6_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB7_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB8_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB9_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB10_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB11_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB12_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB13_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB14_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB15_4_NV:
+ CHECK_EXTENSION(NV_vertex_program, cap);
+ {
+ const GLuint map = (GLuint) (cap - GL_MAP1_VERTEX_ATTRIB0_4_NV);
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map1Attrib[map] = state;
+ }
+ break;
+ case GL_MAP2_VERTEX_ATTRIB0_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB1_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB2_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB3_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB4_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB5_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB6_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB7_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB8_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB9_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB10_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB11_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB12_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB13_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB14_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB15_4_NV:
+ CHECK_EXTENSION(NV_vertex_program, cap);
+ {
+ const GLuint map = (GLuint) (cap - GL_MAP2_VERTEX_ATTRIB0_4_NV);
+ FLUSH_VERTICES(ctx, _NEW_EVAL);
+ ctx->Eval.Map2Attrib[map] = state;
+ }
+ break;
+#endif /* FEATURE_NV_vertex_program */
+
+#if FEATURE_NV_fragment_program
+ case GL_FRAGMENT_PROGRAM_NV:
+ CHECK_EXTENSION(NV_fragment_program, cap);
+ if (ctx->FragmentProgram.Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+ ctx->FragmentProgram.Enabled = state;
+ break;
+#endif /* FEATURE_NV_fragment_program */
+
+ /* GL_NV_texture_rectangle */
+ case GL_TEXTURE_RECTANGLE_NV:
+ CHECK_EXTENSION(NV_texture_rectangle, cap);
+ if (!enable_texture(ctx, state, TEXTURE_RECT_BIT)) {
+ return;
+ }
+ break;
+
+ /* GL_EXT_stencil_two_side */
+ case GL_STENCIL_TEST_TWO_SIDE_EXT:
+ CHECK_EXTENSION(EXT_stencil_two_side, cap);
+ if (ctx->Stencil.TestTwoSide == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_STENCIL);
+ ctx->Stencil.TestTwoSide = state;
+ if (state) {
+ ctx->Stencil._BackFace = 2;
+ ctx->_TriangleCaps |= DD_TRI_TWOSTENCIL;
+ } else {
+ ctx->Stencil._BackFace = 1;
+ ctx->_TriangleCaps &= ~DD_TRI_TWOSTENCIL;
+ }
+ break;
+
+#if FEATURE_ARB_fragment_program
+ case GL_FRAGMENT_PROGRAM_ARB:
+ CHECK_EXTENSION(ARB_fragment_program, cap);
+ if (ctx->FragmentProgram.Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+ ctx->FragmentProgram.Enabled = state;
+ break;
+#endif /* FEATURE_ARB_fragment_program */
+
+ /* GL_EXT_depth_bounds_test */
+ case GL_DEPTH_BOUNDS_TEST_EXT:
+ CHECK_EXTENSION(EXT_depth_bounds_test, cap);
+ if (ctx->Depth.BoundsTest == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_DEPTH);
+ ctx->Depth.BoundsTest = state;
+ break;
+
+ case GL_DEPTH_CLAMP:
+ if (ctx->Transform.DepthClamp == state)
+ return;
+ CHECK_EXTENSION(ARB_depth_clamp, cap);
+ FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
+ ctx->Transform.DepthClamp = state;
+ break;
+
+#if FEATURE_ATI_fragment_shader
+ case GL_FRAGMENT_SHADER_ATI:
+ CHECK_EXTENSION(ATI_fragment_shader, cap);
+ if (ctx->ATIFragmentShader.Enabled == state)
+ return;
+ FLUSH_VERTICES(ctx, _NEW_PROGRAM);
+ ctx->ATIFragmentShader.Enabled = state;
+ break;
+#endif
+
+ /* GL_MESA_texture_array */
+ case GL_TEXTURE_1D_ARRAY_EXT:
+ CHECK_EXTENSION(MESA_texture_array, cap);
+ if (!enable_texture(ctx, state, TEXTURE_1D_ARRAY_BIT)) {
+ return;
+ }
+ break;
+
+ case GL_TEXTURE_2D_ARRAY_EXT:
+ CHECK_EXTENSION(MESA_texture_array, cap);
+ if (!enable_texture(ctx, state, TEXTURE_2D_ARRAY_BIT)) {
+ return;
+ }
+ break;
+
+ case GL_TEXTURE_CUBE_MAP_SEAMLESS:
+ CHECK_EXTENSION(ARB_seamless_cube_map, cap);
+ if (ctx->Texture.CubeMapSeamless != state) {
+ FLUSH_VERTICES(ctx, _NEW_TEXTURE);
+ ctx->Texture.CubeMapSeamless = state;
+ }
+ break;
+
+#if FEATURE_EXT_transform_feedback
+ case GL_RASTERIZER_DISCARD:
+ CHECK_EXTENSION(EXT_transform_feedback, cap);
+ if (ctx->TransformFeedback.RasterDiscard != state) {
+ FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
+ ctx->TransformFeedback.RasterDiscard = state;
+ }
+ break;
+#endif
+
+ /* GL 3.1 primitive restart. Note: this enum is different from
+ * GL_PRIMITIVE_RESTART_NV (which is client state).
+ */
+ case GL_PRIMITIVE_RESTART:
+ if (ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
+ goto invalid_enum_error;
+ }
+ if (ctx->Array.PrimitiveRestart != state) {
+ FLUSH_VERTICES(ctx, _NEW_TRANSFORM);
+ ctx->Array.PrimitiveRestart = state;
+ }
+ break;
+
+ /* GL3.0 - GL_framebuffer_sRGB */
+ case GL_FRAMEBUFFER_SRGB_EXT:
+ CHECK_EXTENSION(EXT_framebuffer_sRGB, cap);
+ FLUSH_VERTICES(ctx, _NEW_BUFFERS);
+ ctx->Color.sRGBEnabled = state;
+ break;
+
+ default:
+ goto invalid_enum_error;
+ }
+
+ if (ctx->Driver.Enable) {
+ ctx->Driver.Enable( ctx, cap, state );
+ }
+
+ return;
+
+invalid_enum_error:
+ _mesa_error(ctx, GL_INVALID_ENUM, "gl%s(0x%x)",
+ state ? "Enable" : "Disable", cap);
+}
+
+
+/**
+ * Enable GL capability. Called by glEnable()
+ * \param cap state to enable.
+ */
+void GLAPIENTRY
+_mesa_Enable( GLenum cap )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+
+ _mesa_set_enable( ctx, cap, GL_TRUE );
+}
+
+
+/**
+ * Disable GL capability. Called by glDisable()
+ * \param cap state to disable.
+ */
+void GLAPIENTRY
+_mesa_Disable( GLenum cap )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+
+ _mesa_set_enable( ctx, cap, GL_FALSE );
+}
+
+
+
+/**
+ * Enable/disable an indexed state var.
+ */
+void
+_mesa_set_enablei(struct gl_context *ctx, GLenum cap,
+ GLuint index, GLboolean state)
+{
+ ASSERT(state == 0 || state == 1);
+ switch (cap) {
+ case GL_BLEND:
+ if (!ctx->Extensions.EXT_draw_buffers2) {
+ goto invalid_enum_error;
+ }
+ if (index >= ctx->Const.MaxDrawBuffers) {
+ _mesa_error(ctx, GL_INVALID_VALUE, "%s(index=%u)",
+ state ? "glEnableIndexed" : "glDisableIndexed", index);
+ return;
+ }
+ if (((ctx->Color.BlendEnabled >> index) & 1) != state) {
+ FLUSH_VERTICES(ctx, _NEW_COLOR);
+ if (state)
+ ctx->Color.BlendEnabled |= (1 << index);
+ else
+ ctx->Color.BlendEnabled &= ~(1 << index);
+ }
+ break;
+ default:
+ goto invalid_enum_error;
+ }
+ return;
+
+invalid_enum_error:
+ _mesa_error(ctx, GL_INVALID_ENUM, "%s(cap=%s)",
+ state ? "glEnablei" : "glDisablei",
+ _mesa_lookup_enum_by_nr(cap));
+}
+
+
+void GLAPIENTRY
+_mesa_DisableIndexed( GLenum cap, GLuint index )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+ _mesa_set_enablei(ctx, cap, index, GL_FALSE);
+}
+
+
+void GLAPIENTRY
+_mesa_EnableIndexed( GLenum cap, GLuint index )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ ASSERT_OUTSIDE_BEGIN_END(ctx);
+ _mesa_set_enablei(ctx, cap, index, GL_TRUE);
+}
+
+
+GLboolean GLAPIENTRY
+_mesa_IsEnabledIndexed( GLenum cap, GLuint index )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ switch (cap) {
+ case GL_BLEND:
+ if (index >= ctx->Const.MaxDrawBuffers) {
+ _mesa_error(ctx, GL_INVALID_VALUE, "glIsEnabledIndexed(index=%u)",
+ index);
+ return GL_FALSE;
+ }
+ return (ctx->Color.BlendEnabled >> index) & 1;
+ default:
+ _mesa_error(ctx, GL_INVALID_ENUM, "glIsEnabledIndexed(cap=%s)",
+ _mesa_lookup_enum_by_nr(cap));
+ return GL_FALSE;
+ }
+}
+
+
+
+
+#undef CHECK_EXTENSION
+#define CHECK_EXTENSION(EXTNAME) \
+ if (!ctx->Extensions.EXTNAME) { \
+ goto invalid_enum_error; \
+ }
+
+#undef CHECK_EXTENSION2
+#define CHECK_EXTENSION2(EXT1, EXT2) \
+ if (!ctx->Extensions.EXT1 && !ctx->Extensions.EXT2) { \
+ goto invalid_enum_error; \
+ }
+
+
+/**
+ * Helper function to determine whether a texture target is enabled.
+ */
+static GLboolean
+is_texture_enabled(struct gl_context *ctx, GLbitfield bit)
+{
+ const struct gl_texture_unit *const texUnit =
+ &ctx->Texture.Unit[ctx->Texture.CurrentUnit];
+ return (texUnit->Enabled & bit) ? GL_TRUE : GL_FALSE;
+}
+
+
+/**
+ * Return simple enable/disable state.
+ *
+ * \param cap state variable to query.
+ *
+ * Returns the state of the specified capability from the current GL context.
+ * For the capabilities associated with extensions verifies that those
+ * extensions are effectively present before reporting.
+ */
+GLboolean GLAPIENTRY
+_mesa_IsEnabled( GLenum cap )
+{
+ GET_CURRENT_CONTEXT(ctx);
+ switch (cap) {
+ case GL_ALPHA_TEST:
+ return ctx->Color.AlphaEnabled;
+ case GL_AUTO_NORMAL:
+ return ctx->Eval.AutoNormal;
+ case GL_BLEND:
+ return ctx->Color.BlendEnabled & 1; /* return state for buffer[0] */
+ case GL_CLIP_PLANE0:
+ case GL_CLIP_PLANE1:
+ case GL_CLIP_PLANE2:
+ case GL_CLIP_PLANE3:
+ case GL_CLIP_PLANE4:
+ case GL_CLIP_PLANE5:
+ return (ctx->Transform.ClipPlanesEnabled >> (cap - GL_CLIP_PLANE0)) & 1;
+ case GL_COLOR_MATERIAL:
+ return ctx->Light.ColorMaterialEnabled;
+ case GL_CULL_FACE:
+ return ctx->Polygon.CullFlag;
+ case GL_DEPTH_TEST:
+ return ctx->Depth.Test;
+ case GL_DITHER:
+ return ctx->Color.DitherFlag;
+ case GL_FOG:
+ return ctx->Fog.Enabled;
+ case GL_LIGHTING:
+ return ctx->Light.Enabled;
+ case GL_LIGHT0:
+ case GL_LIGHT1:
+ case GL_LIGHT2:
+ case GL_LIGHT3:
+ case GL_LIGHT4:
+ case GL_LIGHT5:
+ case GL_LIGHT6:
+ case GL_LIGHT7:
+ return ctx->Light.Light[cap-GL_LIGHT0].Enabled;
+ case GL_LINE_SMOOTH:
+ return ctx->Line.SmoothFlag;
+ case GL_LINE_STIPPLE:
+ return ctx->Line.StippleFlag;
+ case GL_INDEX_LOGIC_OP:
+ return ctx->Color.IndexLogicOpEnabled;
+ case GL_COLOR_LOGIC_OP:
+ return ctx->Color.ColorLogicOpEnabled;
+ case GL_MAP1_COLOR_4:
+ return ctx->Eval.Map1Color4;
+ case GL_MAP1_INDEX:
+ return ctx->Eval.Map1Index;
+ case GL_MAP1_NORMAL:
+ return ctx->Eval.Map1Normal;
+ case GL_MAP1_TEXTURE_COORD_1:
+ return ctx->Eval.Map1TextureCoord1;
+ case GL_MAP1_TEXTURE_COORD_2:
+ return ctx->Eval.Map1TextureCoord2;
+ case GL_MAP1_TEXTURE_COORD_3:
+ return ctx->Eval.Map1TextureCoord3;
+ case GL_MAP1_TEXTURE_COORD_4:
+ return ctx->Eval.Map1TextureCoord4;
+ case GL_MAP1_VERTEX_3:
+ return ctx->Eval.Map1Vertex3;
+ case GL_MAP1_VERTEX_4:
+ return ctx->Eval.Map1Vertex4;
+ case GL_MAP2_COLOR_4:
+ return ctx->Eval.Map2Color4;
+ case GL_MAP2_INDEX:
+ return ctx->Eval.Map2Index;
+ case GL_MAP2_NORMAL:
+ return ctx->Eval.Map2Normal;
+ case GL_MAP2_TEXTURE_COORD_1:
+ return ctx->Eval.Map2TextureCoord1;
+ case GL_MAP2_TEXTURE_COORD_2:
+ return ctx->Eval.Map2TextureCoord2;
+ case GL_MAP2_TEXTURE_COORD_3:
+ return ctx->Eval.Map2TextureCoord3;
+ case GL_MAP2_TEXTURE_COORD_4:
+ return ctx->Eval.Map2TextureCoord4;
+ case GL_MAP2_VERTEX_3:
+ return ctx->Eval.Map2Vertex3;
+ case GL_MAP2_VERTEX_4:
+ return ctx->Eval.Map2Vertex4;
+ case GL_NORMALIZE:
+ return ctx->Transform.Normalize;
+ case GL_POINT_SMOOTH:
+ return ctx->Point.SmoothFlag;
+ case GL_POLYGON_SMOOTH:
+ return ctx->Polygon.SmoothFlag;
+ case GL_POLYGON_STIPPLE:
+ return ctx->Polygon.StippleFlag;
+ case GL_POLYGON_OFFSET_POINT:
+ return ctx->Polygon.OffsetPoint;
+ case GL_POLYGON_OFFSET_LINE:
+ return ctx->Polygon.OffsetLine;
+ case GL_POLYGON_OFFSET_FILL:
+ /*case GL_POLYGON_OFFSET_EXT:*/
+ return ctx->Polygon.OffsetFill;
+ case GL_RESCALE_NORMAL_EXT:
+ return ctx->Transform.RescaleNormals;
+ case GL_SCISSOR_TEST:
+ return ctx->Scissor.Enabled;
+ case GL_SHARED_TEXTURE_PALETTE_EXT:
+ return ctx->Texture.SharedPalette;
+ case GL_STENCIL_TEST:
+ return ctx->Stencil.Enabled;
+ case GL_TEXTURE_1D:
+ return is_texture_enabled(ctx, TEXTURE_1D_BIT);
+ case GL_TEXTURE_2D:
+ return is_texture_enabled(ctx, TEXTURE_2D_BIT);
+ case GL_TEXTURE_3D:
+ return is_texture_enabled(ctx, TEXTURE_3D_BIT);
+ case GL_TEXTURE_GEN_S:
+ case GL_TEXTURE_GEN_T:
+ case GL_TEXTURE_GEN_R:
+ case GL_TEXTURE_GEN_Q:
+ {
+ const struct gl_texture_unit *texUnit = get_texcoord_unit(ctx);
+ if (texUnit) {
+ GLbitfield coordBit = S_BIT << (cap - GL_TEXTURE_GEN_S);
+ return (texUnit->TexGenEnabled & coordBit) ? GL_TRUE : GL_FALSE;
+ }
+ }
+ return GL_FALSE;
+#if FEATURE_ES1
+ case GL_TEXTURE_GEN_STR_OES:
+ {
+ const struct gl_texture_unit *texUnit = get_texcoord_unit(ctx);
+ if (texUnit) {
+ return (texUnit->TexGenEnabled & STR_BITS) == STR_BITS
+ ? GL_TRUE : GL_FALSE;
+ }
+ }
+#endif
+
+ /*
+ * CLIENT STATE!!!
+ */
+ case GL_VERTEX_ARRAY:
+ return (ctx->Array.ArrayObj->Vertex.Enabled != 0);
+ case GL_NORMAL_ARRAY:
+ return (ctx->Array.ArrayObj->Normal.Enabled != 0);
+ case GL_COLOR_ARRAY:
+ return (ctx->Array.ArrayObj->Color.Enabled != 0);
+ case GL_INDEX_ARRAY:
+ return (ctx->Array.ArrayObj->Index.Enabled != 0);
+ case GL_TEXTURE_COORD_ARRAY:
+ return (ctx->Array.ArrayObj->TexCoord[ctx->Array.ActiveTexture]
+ .Enabled != 0);
+ case GL_EDGE_FLAG_ARRAY:
+ return (ctx->Array.ArrayObj->EdgeFlag.Enabled != 0);
+ case GL_FOG_COORDINATE_ARRAY_EXT:
+ CHECK_EXTENSION(EXT_fog_coord);
+ return (ctx->Array.ArrayObj->FogCoord.Enabled != 0);
+ case GL_SECONDARY_COLOR_ARRAY_EXT:
+ CHECK_EXTENSION(EXT_secondary_color);
+ return (ctx->Array.ArrayObj->SecondaryColor.Enabled != 0);
+#if FEATURE_point_size_array
+ case GL_POINT_SIZE_ARRAY_OES:
+ return (ctx->Array.ArrayObj->PointSize.Enabled != 0);
+#endif
+
+ /* GL_ARB_texture_cube_map */
+ case GL_TEXTURE_CUBE_MAP_ARB:
+ CHECK_EXTENSION(ARB_texture_cube_map);
+ return is_texture_enabled(ctx, TEXTURE_CUBE_BIT);
+
+ /* GL_EXT_secondary_color */
+ case GL_COLOR_SUM_EXT:
+ CHECK_EXTENSION2(EXT_secondary_color, ARB_vertex_program);
+ return ctx->Fog.ColorSumEnabled;
+
+ /* GL_ARB_multisample */
+ case GL_MULTISAMPLE_ARB:
+ return ctx->Multisample.Enabled;
+ case GL_SAMPLE_ALPHA_TO_COVERAGE_ARB:
+ return ctx->Multisample.SampleAlphaToCoverage;
+ case GL_SAMPLE_ALPHA_TO_ONE_ARB:
+ return ctx->Multisample.SampleAlphaToOne;
+ case GL_SAMPLE_COVERAGE_ARB:
+ return ctx->Multisample.SampleCoverage;
+ case GL_SAMPLE_COVERAGE_INVERT_ARB:
+ return ctx->Multisample.SampleCoverageInvert;
+
+ /* GL_IBM_rasterpos_clip */
+ case GL_RASTER_POSITION_UNCLIPPED_IBM:
+ CHECK_EXTENSION(IBM_rasterpos_clip);
+ return ctx->Transform.RasterPositionUnclipped;
+
+ /* GL_NV_point_sprite */
+ case GL_POINT_SPRITE_NV:
+ CHECK_EXTENSION2(NV_point_sprite, ARB_point_sprite)
+ return ctx->Point.PointSprite;
+
+#if FEATURE_NV_vertex_program || FEATURE_ARB_vertex_program
+ case GL_VERTEX_PROGRAM_ARB:
+ CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program);
+ return ctx->VertexProgram.Enabled;
+ case GL_VERTEX_PROGRAM_POINT_SIZE_ARB:
+ CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program);
+ return ctx->VertexProgram.PointSizeEnabled;
+ case GL_VERTEX_PROGRAM_TWO_SIDE_ARB:
+ CHECK_EXTENSION2(ARB_vertex_program, NV_vertex_program);
+ return ctx->VertexProgram.TwoSideEnabled;
+#endif
+#if FEATURE_NV_vertex_program
+ case GL_VERTEX_ATTRIB_ARRAY0_NV:
+ case GL_VERTEX_ATTRIB_ARRAY1_NV:
+ case GL_VERTEX_ATTRIB_ARRAY2_NV:
+ case GL_VERTEX_ATTRIB_ARRAY3_NV:
+ case GL_VERTEX_ATTRIB_ARRAY4_NV:
+ case GL_VERTEX_ATTRIB_ARRAY5_NV:
+ case GL_VERTEX_ATTRIB_ARRAY6_NV:
+ case GL_VERTEX_ATTRIB_ARRAY7_NV:
+ case GL_VERTEX_ATTRIB_ARRAY8_NV:
+ case GL_VERTEX_ATTRIB_ARRAY9_NV:
+ case GL_VERTEX_ATTRIB_ARRAY10_NV:
+ case GL_VERTEX_ATTRIB_ARRAY11_NV:
+ case GL_VERTEX_ATTRIB_ARRAY12_NV:
+ case GL_VERTEX_ATTRIB_ARRAY13_NV:
+ case GL_VERTEX_ATTRIB_ARRAY14_NV:
+ case GL_VERTEX_ATTRIB_ARRAY15_NV:
+ CHECK_EXTENSION(NV_vertex_program);
+ {
+ GLint n = (GLint) cap - GL_VERTEX_ATTRIB_ARRAY0_NV;
+ ASSERT(n < Elements(ctx->Array.ArrayObj->VertexAttrib));
+ return (ctx->Array.ArrayObj->VertexAttrib[n].Enabled != 0);
+ }
+ case GL_MAP1_VERTEX_ATTRIB0_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB1_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB2_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB3_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB4_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB5_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB6_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB7_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB8_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB9_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB10_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB11_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB12_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB13_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB14_4_NV:
+ case GL_MAP1_VERTEX_ATTRIB15_4_NV:
+ CHECK_EXTENSION(NV_vertex_program);
+ {
+ const GLuint map = (GLuint) (cap - GL_MAP1_VERTEX_ATTRIB0_4_NV);
+ return ctx->Eval.Map1Attrib[map];
+ }
+ case GL_MAP2_VERTEX_ATTRIB0_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB1_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB2_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB3_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB4_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB5_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB6_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB7_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB8_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB9_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB10_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB11_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB12_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB13_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB14_4_NV:
+ case GL_MAP2_VERTEX_ATTRIB15_4_NV:
+ CHECK_EXTENSION(NV_vertex_program);
+ {
+ const GLuint map = (GLuint) (cap - GL_MAP2_VERTEX_ATTRIB0_4_NV);
+ return ctx->Eval.Map2Attrib[map];
+ }
+#endif /* FEATURE_NV_vertex_program */
+
+#if FEATURE_NV_fragment_program
+ case GL_FRAGMENT_PROGRAM_NV:
+ CHECK_EXTENSION(NV_fragment_program);
+ return ctx->FragmentProgram.Enabled;
+#endif /* FEATURE_NV_fragment_program */
+
+ /* GL_NV_texture_rectangle */
+ case GL_TEXTURE_RECTANGLE_NV:
+ CHECK_EXTENSION(NV_texture_rectangle);
+ return is_texture_enabled(ctx, TEXTURE_RECT_BIT);
+
+ /* GL_EXT_stencil_two_side */
+ case GL_STENCIL_TEST_TWO_SIDE_EXT:
+ CHECK_EXTENSION(EXT_stencil_two_side);
+ return ctx->Stencil.TestTwoSide;
+
+#if FEATURE_ARB_fragment_program
+ case GL_FRAGMENT_PROGRAM_ARB:
+ return ctx->FragmentProgram.Enabled;
+#endif /* FEATURE_ARB_fragment_program */
+
+ /* GL_EXT_depth_bounds_test */
+ case GL_DEPTH_BOUNDS_TEST_EXT:
+ CHECK_EXTENSION(EXT_depth_bounds_test);
+ return ctx->Depth.BoundsTest;
+
+ /* GL_ARB_depth_clamp */
+ case GL_DEPTH_CLAMP:
+ CHECK_EXTENSION(ARB_depth_clamp);
+ return ctx->Transform.DepthClamp;
+
+#if FEATURE_ATI_fragment_shader
+ case GL_FRAGMENT_SHADER_ATI:
+ CHECK_EXTENSION(ATI_fragment_shader);
+ return ctx->ATIFragmentShader.Enabled;
+#endif /* FEATURE_ATI_fragment_shader */
+
+ case GL_TEXTURE_CUBE_MAP_SEAMLESS:
+ CHECK_EXTENSION(ARB_seamless_cube_map);
+ return ctx->Texture.CubeMapSeamless;
+
+#if FEATURE_EXT_transform_feedback
+ case GL_RASTERIZER_DISCARD:
+ CHECK_EXTENSION(EXT_transform_feedback);
+ return ctx->TransformFeedback.RasterDiscard;
+#endif
+
+ /* GL_NV_primitive_restart */
+ case GL_PRIMITIVE_RESTART_NV:
+ if (!ctx->Extensions.NV_primitive_restart) {
+ goto invalid_enum_error;
+ }
+ return ctx->Array.PrimitiveRestart;
+
+ /* GL 3.1 primitive restart */
+ case GL_PRIMITIVE_RESTART:
+ if (ctx->VersionMajor * 10 + ctx->VersionMinor < 31) {
+ goto invalid_enum_error;
+ }
+ return ctx->Array.PrimitiveRestart;
+
+ /* GL3.0 - GL_framebuffer_sRGB */
+ case GL_FRAMEBUFFER_SRGB_EXT:
+ CHECK_EXTENSION(EXT_framebuffer_sRGB);
+ return ctx->Color.sRGBEnabled;
+
+ default:
+ goto invalid_enum_error;
+ }
+
+ return GL_FALSE;
+
+invalid_enum_error:
+ _mesa_error(ctx, GL_INVALID_ENUM, "glIsEnabled(0x%x)", (int) cap);
+ return GL_FALSE;
+}
diff --git a/mesalib/src/mesa/main/extensions.c b/mesalib/src/mesa/main/extensions.c
index d31477731..1062cde9e 100644
--- a/mesalib/src/mesa/main/extensions.c
+++ b/mesalib/src/mesa/main/extensions.c
@@ -1,1000 +1,1002 @@
-/*
- * Mesa 3-D graphics library
- * Version: 7.6
- *
- * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
- * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * 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.
- */
-
-
-/**
- * \file
- * \brief Extension handling
- */
-
-
-#include "glheader.h"
-#include "imports.h"
-#include "context.h"
-#include "extensions.h"
-#include "mfeatures.h"
-#include "mtypes.h"
-
-enum {
- DISABLE = 0,
- GL = 1 << API_OPENGL,
- ES1 = 1 << API_OPENGLES,
- ES2 = 1 << API_OPENGLES2,
-};
-
-/**
- * \brief An element of the \c extension_table.
- */
-struct extension {
- /** Name of extension, such as "GL_ARB_depth_clamp". */
- const char *name;
-
- /** Offset (in bytes) of the corresponding member in struct gl_extensions. */
- size_t offset;
-
- /** Set of API's in which the extension exists, as a bitset. */
- uint8_t api_set;
-
- /** Year the extension was proposed or approved. Used to sort the
- * extension string chronologically. */
- uint16_t year;
-};
-
-
-/**
- * Given a member \c x of struct gl_extensions, return offset of
- * \c x in bytes.
- */
-#define o(x) offsetof(struct gl_extensions, x)
-
-
-/**
- * \brief Table of supported OpenGL extensions for all API's.
- *
- * Note: The GL_MESAX_* extensions are placeholders for future ARB extensions.
- */
-static const struct extension extension_table[] = {
- /* ARB Extensions */
- { "GL_ARB_ES2_compatibility", o(ARB_ES2_compatibility), GL, 2009 },
- { "GL_ARB_blend_func_extended", o(ARB_blend_func_extended), GL, 2009 },
- { "GL_ARB_color_buffer_float", o(ARB_color_buffer_float), GL, 2004 },
- { "GL_ARB_copy_buffer", o(ARB_copy_buffer), GL, 2008 },
- { "GL_ARB_depth_buffer_float", o(ARB_depth_buffer_float), GL, 2008 },
- { "GL_ARB_depth_clamp", o(ARB_depth_clamp), GL, 2003 },
- { "GL_ARB_depth_texture", o(ARB_depth_texture), GL, 2001 },
- { "GL_ARB_draw_buffers", o(ARB_draw_buffers), GL, 2002 },
- { "GL_ARB_draw_buffers_blend", o(ARB_draw_buffers_blend), GL, 2009 },
- { "GL_ARB_draw_elements_base_vertex", o(ARB_draw_elements_base_vertex), GL, 2009 },
- { "GL_ARB_draw_instanced", o(ARB_draw_instanced), GL, 2008 },
- { "GL_ARB_explicit_attrib_location", o(ARB_explicit_attrib_location), GL, 2009 },
- { "GL_ARB_fragment_coord_conventions", o(ARB_fragment_coord_conventions), GL, 2009 },
- { "GL_ARB_fragment_program", o(ARB_fragment_program), GL, 2002 },
- { "GL_ARB_fragment_program_shadow", o(ARB_fragment_program_shadow), GL, 2003 },
- { "GL_ARB_fragment_shader", o(ARB_fragment_shader), GL, 2002 },
- { "GL_ARB_framebuffer_object", o(ARB_framebuffer_object), GL, 2005 },
- { "GL_ARB_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL, 1998 },
- { "GL_ARB_half_float_pixel", o(ARB_half_float_pixel), GL, 2003 },
- { "GL_ARB_half_float_vertex", o(ARB_half_float_vertex), GL, 2008 },
- { "GL_ARB_instanced_arrays", o(ARB_instanced_arrays), GL, 2008 },
- { "GL_ARB_map_buffer_range", o(ARB_map_buffer_range), GL, 2008 },
- { "GL_ARB_multisample", o(ARB_multisample), GL, 1994 },
- { "GL_ARB_multitexture", o(ARB_multitexture), GL, 1998 },
- { "GL_ARB_occlusion_query2", o(ARB_occlusion_query2), GL, 2003 },
- { "GL_ARB_occlusion_query", o(ARB_occlusion_query), GL, 2001 },
- { "GL_ARB_pixel_buffer_object", o(EXT_pixel_buffer_object), GL, 2004 },
- { "GL_ARB_point_parameters", o(EXT_point_parameters), GL, 1997 },
- { "GL_ARB_point_sprite", o(ARB_point_sprite), GL, 2003 },
- { "GL_ARB_provoking_vertex", o(EXT_provoking_vertex), GL, 2009 },
- { "GL_ARB_robustness", o(dummy_true), GL, 2010 },
- { "GL_ARB_sampler_objects", o(ARB_sampler_objects), GL, 2009 },
- { "GL_ARB_seamless_cube_map", o(ARB_seamless_cube_map), GL, 2009 },
- { "GL_ARB_shader_objects", o(ARB_shader_objects), GL, 2002 },
- { "GL_ARB_shader_stencil_export", o(ARB_shader_stencil_export), GL, 2009 },
- { "GL_ARB_shading_language_100", o(ARB_shading_language_100), GL, 2003 },
- { "GL_ARB_shadow_ambient", o(ARB_shadow_ambient), GL, 2001 },
- { "GL_ARB_shadow", o(ARB_shadow), GL, 2001 },
- { "GL_ARB_sync", o(ARB_sync), GL, 2003 },
- { "GL_ARB_texture_border_clamp", o(ARB_texture_border_clamp), GL, 2000 },
- { "GL_ARB_texture_buffer_object", o(ARB_texture_buffer_object), GL, 2008 },
- { "GL_ARB_texture_compression", o(ARB_texture_compression), GL, 2000 },
- { "GL_ARB_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL, 2004 },
- { "GL_ARB_texture_cube_map", o(ARB_texture_cube_map), GL, 1999 },
- { "GL_ARB_texture_env_add", o(EXT_texture_env_add), GL, 1999 },
- { "GL_ARB_texture_env_combine", o(ARB_texture_env_combine), GL, 2001 },
- { "GL_ARB_texture_env_crossbar", o(ARB_texture_env_crossbar), GL, 2001 },
- { "GL_ARB_texture_env_dot3", o(ARB_texture_env_dot3), GL, 2001 },
- { "GL_ARB_texture_float", o(ARB_texture_float), GL, 2004 },
- { "GL_ARB_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL, 2001 },
- { "GL_ARB_texture_multisample", o(ARB_texture_multisample), GL, 2009 },
- { "GL_ARB_texture_non_power_of_two", o(ARB_texture_non_power_of_two), GL, 2003 },
- { "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_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 },
- { "GL_ARB_uniform_buffer_object", o(ARB_uniform_buffer_object), GL, 2002 },
- { "GL_ARB_vertex_array_bgra", o(EXT_vertex_array_bgra), GL, 2008 },
- { "GL_ARB_vertex_array_object", o(ARB_vertex_array_object), GL, 2006 },
- { "GL_ARB_vertex_buffer_object", o(ARB_vertex_buffer_object), GL, 2003 },
- { "GL_ARB_vertex_program", o(ARB_vertex_program), GL, 2002 },
- { "GL_ARB_vertex_shader", o(ARB_vertex_shader), GL, 2002 },
- { "GL_ARB_vertex_type_2_10_10_10_rev", o(ARB_vertex_type_2_10_10_10_rev), GL, 2009 },
- { "GL_ARB_window_pos", o(ARB_window_pos), GL, 2001 },
-
- /* EXT extensions */
- { "GL_EXT_abgr", o(EXT_abgr), GL, 1995 },
- { "GL_EXT_bgra", o(EXT_bgra), GL, 1995 },
- { "GL_EXT_blend_color", o(EXT_blend_color), GL, 1995 },
- { "GL_EXT_blend_equation_separate", o(EXT_blend_equation_separate), GL, 2003 },
- { "GL_EXT_blend_func_separate", o(EXT_blend_func_separate), GL, 1999 },
- { "GL_EXT_blend_logic_op", o(EXT_blend_logic_op), GL, 1995 },
- { "GL_EXT_blend_minmax", o(EXT_blend_minmax), GL | ES1 | ES2, 1995 },
- { "GL_EXT_blend_subtract", o(EXT_blend_subtract), GL, 1995 },
- { "GL_EXT_clip_volume_hint", o(EXT_clip_volume_hint), GL, 1996 },
- { "GL_EXT_compiled_vertex_array", o(EXT_compiled_vertex_array), GL, 1996 },
- { "GL_EXT_copy_texture", o(EXT_copy_texture), GL, 1995 },
- { "GL_EXT_depth_bounds_test", o(EXT_depth_bounds_test), GL, 2002 },
- { "GL_EXT_draw_buffers2", o(EXT_draw_buffers2), GL, 2006 },
- { "GL_EXT_draw_instanced", o(ARB_draw_instanced), GL, 2006 },
- { "GL_EXT_draw_range_elements", o(EXT_draw_range_elements), GL, 1997 },
- { "GL_EXT_fog_coord", o(EXT_fog_coord), GL, 1999 },
- { "GL_EXT_framebuffer_blit", o(EXT_framebuffer_blit), GL, 2005 },
- { "GL_EXT_framebuffer_multisample", o(EXT_framebuffer_multisample), GL, 2005 },
- { "GL_EXT_framebuffer_object", o(EXT_framebuffer_object), GL, 2000 },
- { "GL_EXT_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL, 1998 },
- { "GL_EXT_gpu_program_parameters", o(EXT_gpu_program_parameters), GL, 2006 },
- { "GL_EXT_gpu_shader4", o(EXT_gpu_shader4), GL, 2006 },
- { "GL_EXT_multi_draw_arrays", o(EXT_multi_draw_arrays), GL | ES1 | ES2, 1999 },
- { "GL_EXT_packed_depth_stencil", o(EXT_packed_depth_stencil), GL, 2005 },
- { "GL_EXT_packed_float", o(EXT_packed_float), GL, 2004 },
- { "GL_EXT_packed_pixels", o(EXT_packed_pixels), GL, 1997 },
- { "GL_EXT_paletted_texture", o(EXT_paletted_texture), GL, 1995 },
- { "GL_EXT_pixel_buffer_object", o(EXT_pixel_buffer_object), GL, 2004 },
- { "GL_EXT_point_parameters", o(EXT_point_parameters), GL, 1997 },
- { "GL_EXT_polygon_offset", o(EXT_polygon_offset), GL, 1995 },
- { "GL_EXT_provoking_vertex", o(EXT_provoking_vertex), GL, 2009 },
- { "GL_EXT_rescale_normal", o(EXT_rescale_normal), GL, 1997 },
- { "GL_EXT_secondary_color", o(EXT_secondary_color), GL, 1999 },
- { "GL_EXT_separate_shader_objects", o(EXT_separate_shader_objects), GL, 2008 },
- { "GL_EXT_separate_specular_color", o(EXT_separate_specular_color), GL, 1997 },
- { "GL_EXT_shadow_funcs", o(EXT_shadow_funcs), GL, 2002 },
- { "GL_EXT_shared_texture_palette", o(EXT_shared_texture_palette), GL, 2000 },
- { "GL_EXT_stencil_two_side", o(EXT_stencil_two_side), GL, 2001 },
- { "GL_EXT_stencil_wrap", o(EXT_stencil_wrap), GL, 2002 },
- { "GL_EXT_subtexture", o(EXT_subtexture), GL, 1995 },
- { "GL_EXT_texture3D", o(EXT_texture3D), GL, 1996 },
- { "GL_EXT_texture_array", o(EXT_texture_array), GL, 2006 },
- { "GL_EXT_texture_compression_dxt1", o(EXT_texture_compression_s3tc), GL | ES1 | ES2, 2004 },
- { "GL_EXT_texture_compression_latc", o(EXT_texture_compression_latc), GL, 2006 },
- { "GL_EXT_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL, 2004 },
- { "GL_EXT_texture_compression_s3tc", o(EXT_texture_compression_s3tc), GL, 2000 },
- { "GL_EXT_texture_cube_map", o(ARB_texture_cube_map), GL, 2001 },
- { "GL_EXT_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL, 1997 },
- { "GL_EXT_texture_env_add", o(EXT_texture_env_add), GL, 1999 },
- { "GL_EXT_texture_env_combine", o(EXT_texture_env_combine), GL, 2006 },
- { "GL_EXT_texture_env_dot3", o(EXT_texture_env_dot3), GL, 2000 },
- { "GL_EXT_texture_filter_anisotropic", o(EXT_texture_filter_anisotropic), GL | ES1 | ES2, 1999 },
- { "GL_EXT_texture_format_BGRA8888", o(EXT_texture_format_BGRA8888), ES1 | ES2, 2009 },
- { "GL_EXT_texture_integer", o(EXT_texture_integer), GL, 2006 },
- { "GL_EXT_texture_lod_bias", o(EXT_texture_lod_bias), GL | ES1, 1999 },
- { "GL_EXT_texture_mirror_clamp", o(EXT_texture_mirror_clamp), GL, 2004 },
- { "GL_EXT_texture_object", o(EXT_texture_object), GL, 1995 },
- { "GL_EXT_texture", o(EXT_texture), GL, 1996 },
- { "GL_EXT_texture_rectangle", o(NV_texture_rectangle), GL, 2004 },
- { "GL_EXT_texture_shared_exponent", o(EXT_texture_shared_exponent), GL, 2004 },
- { "GL_EXT_texture_snorm", o(EXT_texture_snorm), GL, 2009 },
- { "GL_EXT_texture_sRGB", o(EXT_texture_sRGB), GL, 2004 },
- { "GL_EXT_texture_sRGB_decode", o(EXT_texture_sRGB_decode), GL, 2006 },
- { "GL_EXT_texture_swizzle", o(EXT_texture_swizzle), GL, 2008 },
- { "GL_EXT_texture_type_2_10_10_10_REV", o(dummy_true), ES2, 2008 },
- { "GL_EXT_timer_query", o(EXT_timer_query), GL, 2006 },
- { "GL_EXT_transform_feedback", o(EXT_transform_feedback), GL, 2011 },
- { "GL_EXT_vertex_array_bgra", o(EXT_vertex_array_bgra), GL, 2008 },
- { "GL_EXT_vertex_array", o(EXT_vertex_array), GL, 1995 },
- { "GL_EXT_vertex_array_set", o(EXT_vertex_array_set), GL, 1997 },
-
- /* OES extensions */
- { "GL_OES_blend_equation_separate", o(EXT_blend_equation_separate), ES1, 2009 },
- { "GL_OES_blend_func_separate", o(EXT_blend_func_separate), ES1, 2009 },
- { "GL_OES_blend_subtract", o(EXT_blend_subtract), ES1, 2009 },
- { "GL_OES_byte_coordinates", o(dummy_true), ES1, 2002 },
- { "GL_OES_compressed_paletted_texture", o(dummy_false), DISABLE, 2003 },
- { "GL_OES_depth24", o(EXT_framebuffer_object), ES1 | ES2, 2005 },
- { "GL_OES_depth32", o(dummy_false), DISABLE, 2005 },
- { "GL_OES_depth_texture", o(ARB_depth_texture), ES2, 2006 },
-#if FEATURE_OES_draw_texture
- { "GL_OES_draw_texture", o(OES_draw_texture), ES1 | ES2, 2004 },
-#endif
-#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 },
-#endif
- { "GL_OES_element_index_uint", o(EXT_vertex_array), ES1 | ES2, 2005 },
- { "GL_OES_fbo_render_mipmap", o(EXT_framebuffer_object), ES1 | ES2, 2005 },
- { "GL_OES_fixed_point", o(dummy_true), ES1, 2002 },
- { "GL_OES_framebuffer_object", o(EXT_framebuffer_object), ES1, 2005 },
- { "GL_OES_mapbuffer", o(ARB_vertex_buffer_object), ES1 | ES2, 2005 },
- { "GL_OES_matrix_get", o(dummy_true), ES1, 2004 },
- { "GL_OES_packed_depth_stencil", o(EXT_packed_depth_stencil), ES1 | ES2, 2007 },
- { "GL_OES_point_size_array", o(dummy_true), ES1, 2004 },
- { "GL_OES_point_sprite", o(ARB_point_sprite), ES1, 2004 },
- { "GL_OES_query_matrix", o(dummy_true), ES1, 2003 },
- { "GL_OES_read_format", o(OES_read_format), GL | ES1, 2003 },
- { "GL_OES_rgb8_rgba8", o(EXT_framebuffer_object), ES1 | ES2, 2005 },
- { "GL_OES_single_precision", o(dummy_true), ES1, 2003 },
- { "GL_OES_standard_derivatives", o(OES_standard_derivatives), ES2, 2005 },
- { "GL_OES_stencil1", o(dummy_false), DISABLE, 2005 },
- { "GL_OES_stencil4", o(dummy_false), DISABLE, 2005 },
- { "GL_OES_stencil8", o(EXT_framebuffer_object), ES1 | ES2, 2005 },
- { "GL_OES_stencil_wrap", o(EXT_stencil_wrap), ES1, 2002 },
- { "GL_OES_texture_3D", o(EXT_texture3D), ES2, 2005 },
- { "GL_OES_texture_cube_map", o(ARB_texture_cube_map), ES1, 2007 },
- { "GL_OES_texture_env_crossbar", o(ARB_texture_env_crossbar), ES1, 2005 },
- { "GL_OES_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), ES1, 2005 },
- { "GL_OES_texture_npot", o(ARB_texture_non_power_of_two), ES2, 2005 },
-
- /* Vendor extensions */
- { "GL_3DFX_texture_compression_FXT1", o(TDFX_texture_compression_FXT1), GL, 1999 },
- { "GL_AMD_conservative_depth", o(AMD_conservative_depth), GL, 2009 },
- { "GL_APPLE_client_storage", o(APPLE_client_storage), GL, 2002 },
- { "GL_APPLE_object_purgeable", o(APPLE_object_purgeable), GL, 2006 },
- { "GL_APPLE_packed_pixels", o(APPLE_packed_pixels), GL, 2002 },
- { "GL_APPLE_vertex_array_object", o(APPLE_vertex_array_object), GL, 2002 },
- { "GL_ATI_blend_equation_separate", o(EXT_blend_equation_separate), GL, 2003 },
- { "GL_ATI_draw_buffers", o(ARB_draw_buffers), GL, 2002 },
- { "GL_ATI_envmap_bumpmap", o(ATI_envmap_bumpmap), GL, 2001 },
- { "GL_ATI_fragment_shader", o(ATI_fragment_shader), GL, 2001 },
- { "GL_ATI_separate_stencil", o(ATI_separate_stencil), GL, 2006 },
- { "GL_ATI_texture_compression_3dc", o(ATI_texture_compression_3dc), GL, 2004 },
- { "GL_ATI_texture_env_combine3", o(ATI_texture_env_combine3), GL, 2002 },
- { "GL_ATI_texture_float", o(ARB_texture_float), GL, 2002 },
- { "GL_ATI_texture_mirror_once", o(ATI_texture_mirror_once), GL, 2006 },
- { "GL_IBM_multimode_draw_arrays", o(IBM_multimode_draw_arrays), GL, 1998 },
- { "GL_IBM_rasterpos_clip", o(IBM_rasterpos_clip), GL, 1996 },
- { "GL_IBM_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL, 1998 },
- { "GL_INGR_blend_func_separate", o(EXT_blend_func_separate), GL, 1999 },
- { "GL_MESA_pack_invert", o(MESA_pack_invert), GL, 2002 },
- { "GL_MESA_resize_buffers", o(MESA_resize_buffers), GL, 1999 },
- { "GL_MESA_texture_array", o(MESA_texture_array), GL, 2007 },
- { "GL_MESA_texture_signed_rgba", o(EXT_texture_snorm), GL, 2009 },
- { "GL_MESA_window_pos", o(ARB_window_pos), GL, 2000 },
- { "GL_MESA_ycbcr_texture", o(MESA_ycbcr_texture), GL, 2002 },
- { "GL_NV_blend_square", o(NV_blend_square), GL, 1999 },
- { "GL_NV_conditional_render", o(NV_conditional_render), GL, 2008 },
- { "GL_NV_depth_clamp", o(ARB_depth_clamp), 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 },
- { "GL_NV_packed_depth_stencil", o(EXT_packed_depth_stencil), GL, 2000 },
- { "GL_NV_point_sprite", o(NV_point_sprite), GL, 2001 },
- { "GL_NV_primitive_restart", o(NV_primitive_restart), GL, 2002 },
- { "GL_NV_texgen_reflection", o(NV_texgen_reflection), GL, 1999 },
- { "GL_NV_texture_barrier", o(NV_texture_barrier), GL, 2009 },
- { "GL_NV_texture_env_combine4", o(NV_texture_env_combine4), GL, 1999 },
- { "GL_NV_texture_rectangle", o(NV_texture_rectangle), GL, 2000 },
- { "GL_NV_vertex_program1_1", o(NV_vertex_program1_1), GL, 2001 },
- { "GL_NV_vertex_program", o(NV_vertex_program), GL, 2000 },
- { "GL_S3_s3tc", o(S3_s3tc), GL, 1999 },
- { "GL_SGIS_generate_mipmap", o(SGIS_generate_mipmap), GL, 1997 },
- { "GL_SGIS_texture_border_clamp", o(ARB_texture_border_clamp), GL, 1997 },
- { "GL_SGIS_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL, 1997 },
- { "GL_SGIS_texture_lod", o(SGIS_texture_lod), GL, 1997 },
- { "GL_SUN_multi_draw_arrays", o(EXT_multi_draw_arrays), GL, 1999 },
-
- { 0, 0, 0, 0 },
-};
-
-
-/**
- * Given an extension name, lookup up the corresponding member of struct
- * gl_extensions and return that member's offset (in bytes). If the name is
- * not found in the \c extension_table, return 0.
- *
- * \param name Name of extension.
- * \return Offset of member in struct gl_extensions.
- */
-static size_t
-name_to_offset(const char* name)
-{
- const struct extension *i;
-
- if (name == 0)
- return 0;
-
- for (i = extension_table; i->name != 0; ++i) {
- if (strcmp(name, i->name) == 0)
- return i->offset;
- }
-
- return 0;
-}
-
-
-/**
- * \brief Extensions enabled by default.
- *
- * These extensions are enabled by _mesa_init_extensions().
- *
- * XXX: Should these defaults also apply to GLES?
- */
-static const size_t default_extensions[] = {
- o(ARB_copy_buffer),
- o(ARB_draw_buffers),
- o(ARB_multisample),
- o(ARB_texture_compression),
- o(ARB_transpose_matrix),
- o(ARB_vertex_buffer_object),
- o(ARB_window_pos),
-
- o(EXT_abgr),
- o(EXT_bgra),
- o(EXT_compiled_vertex_array),
- o(EXT_copy_texture),
- o(EXT_draw_range_elements),
- o(EXT_multi_draw_arrays),
- o(EXT_packed_pixels),
- o(EXT_polygon_offset),
- o(EXT_rescale_normal),
- o(EXT_separate_specular_color),
- o(EXT_subtexture),
- o(EXT_texture),
- o(EXT_texture3D),
- o(EXT_texture_object),
- o(EXT_vertex_array),
-
- o(OES_read_format),
- o(OES_standard_derivatives),
-
- /* Vendor Extensions */
- o(APPLE_packed_pixels),
- o(IBM_multimode_draw_arrays),
- o(IBM_rasterpos_clip),
- o(NV_light_max_exponent),
- o(NV_texgen_reflection),
- o(SGIS_generate_mipmap),
- o(SGIS_texture_edge_clamp),
- o(SGIS_texture_lod),
-
- 0,
-};
-
-
-/**
- * Enable all extensions suitable for a software-only renderer.
- * This is a convenience function used by the XMesa, OSMesa, GGI drivers, etc.
- */
-void
-_mesa_enable_sw_extensions(struct gl_context *ctx)
-{
- /*ctx->Extensions.ARB_copy_buffer = GL_TRUE;*/
- ctx->Extensions.ARB_depth_clamp = GL_TRUE;
- ctx->Extensions.ARB_depth_texture = GL_TRUE;
- /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
- ctx->Extensions.ARB_draw_elements_base_vertex = GL_TRUE;
- ctx->Extensions.ARB_draw_instanced = GL_TRUE;
- ctx->Extensions.ARB_explicit_attrib_location = GL_TRUE;
- ctx->Extensions.ARB_fragment_coord_conventions = GL_TRUE;
-#if FEATURE_ARB_fragment_program
- ctx->Extensions.ARB_fragment_program = GL_TRUE;
- ctx->Extensions.ARB_fragment_program_shadow = GL_TRUE;
-#endif
-#if FEATURE_ARB_fragment_shader
- ctx->Extensions.ARB_fragment_shader = GL_TRUE;
-#endif
-#if FEATURE_ARB_framebuffer_object
- ctx->Extensions.ARB_framebuffer_object = GL_TRUE;
-#endif
-#if FEATURE_ARB_geometry_shader4 && 0
- /* XXX re-enable when GLSL compiler again supports geometry shaders */
- ctx->Extensions.ARB_geometry_shader4 = GL_TRUE;
-#endif
- ctx->Extensions.ARB_half_float_pixel = GL_TRUE;
- ctx->Extensions.ARB_half_float_vertex = GL_TRUE;
- ctx->Extensions.ARB_map_buffer_range = GL_TRUE;
- ctx->Extensions.ARB_multitexture = GL_TRUE;
-#if FEATURE_queryobj
- ctx->Extensions.ARB_occlusion_query = GL_TRUE;
- ctx->Extensions.ARB_occlusion_query2 = GL_TRUE;
-#endif
- ctx->Extensions.ARB_point_sprite = GL_TRUE;
-#if FEATURE_ARB_shader_objects
- ctx->Extensions.ARB_shader_objects = GL_TRUE;
- ctx->Extensions.EXT_separate_shader_objects = GL_TRUE;
-#endif
-#if FEATURE_ARB_shading_language_100
- ctx->Extensions.ARB_shading_language_100 = GL_TRUE;
-#endif
- ctx->Extensions.ARB_shadow = GL_TRUE;
- ctx->Extensions.ARB_shadow_ambient = GL_TRUE;
- ctx->Extensions.ARB_texture_border_clamp = GL_TRUE;
- ctx->Extensions.ARB_texture_cube_map = GL_TRUE;
- 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_float = GL_TRUE;*/
- ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE;
- 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_vertex_array_object = GL_TRUE;
-#if FEATURE_ARB_vertex_program
- ctx->Extensions.ARB_vertex_program = GL_TRUE;
-#endif
-#if FEATURE_ARB_vertex_shader
- ctx->Extensions.ARB_vertex_shader = GL_TRUE;
-#endif
-#if FEATURE_ARB_vertex_buffer_object
- /*ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;*/
-#endif
-#if FEATURE_ARB_sync
- ctx->Extensions.ARB_sync = GL_TRUE;
-#endif
- ctx->Extensions.APPLE_vertex_array_object = GL_TRUE;
-#if FEATURE_APPLE_object_purgeable
- ctx->Extensions.APPLE_object_purgeable = GL_TRUE;
-#endif
- ctx->Extensions.ATI_envmap_bumpmap = GL_TRUE;
-#if FEATURE_ATI_fragment_shader
- ctx->Extensions.ATI_fragment_shader = GL_TRUE;
-#endif
- ctx->Extensions.ATI_texture_compression_3dc = GL_TRUE;
- ctx->Extensions.ATI_texture_env_combine3 = GL_TRUE;
- ctx->Extensions.ATI_texture_mirror_once = GL_TRUE;
- ctx->Extensions.ATI_separate_stencil = GL_TRUE;
- ctx->Extensions.EXT_blend_color = GL_TRUE;
- ctx->Extensions.EXT_blend_equation_separate = GL_TRUE;
- ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
- ctx->Extensions.EXT_blend_logic_op = GL_TRUE;
- ctx->Extensions.EXT_blend_minmax = GL_TRUE;
- ctx->Extensions.EXT_blend_subtract = GL_TRUE;
- ctx->Extensions.EXT_depth_bounds_test = GL_TRUE;
- ctx->Extensions.EXT_draw_buffers2 = GL_TRUE;
- ctx->Extensions.EXT_fog_coord = GL_TRUE;
-#if FEATURE_EXT_framebuffer_object
- ctx->Extensions.EXT_framebuffer_object = GL_TRUE;
-#endif
-#if FEATURE_EXT_framebuffer_blit
- ctx->Extensions.EXT_framebuffer_blit = GL_TRUE;
-#endif
-#if FEATURE_ARB_framebuffer_object
- ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;
-#endif
- /*ctx->Extensions.EXT_multi_draw_arrays = GL_TRUE;*/
- ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE;
- ctx->Extensions.EXT_paletted_texture = GL_TRUE;
-#if FEATURE_EXT_pixel_buffer_object
- ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
-#endif
- ctx->Extensions.EXT_point_parameters = GL_TRUE;
- ctx->Extensions.EXT_provoking_vertex = GL_TRUE;
- ctx->Extensions.EXT_shadow_funcs = GL_TRUE;
- ctx->Extensions.EXT_secondary_color = GL_TRUE;
- ctx->Extensions.EXT_shared_texture_palette = GL_TRUE;
- ctx->Extensions.EXT_stencil_wrap = GL_TRUE;
- ctx->Extensions.EXT_stencil_two_side = GL_TRUE;
- ctx->Extensions.EXT_texture_array = GL_TRUE;
- ctx->Extensions.EXT_texture_compression_latc = GL_TRUE;
- ctx->Extensions.EXT_texture_env_add = GL_TRUE;
- ctx->Extensions.EXT_texture_env_combine = GL_TRUE;
- ctx->Extensions.EXT_texture_env_dot3 = GL_TRUE;
- ctx->Extensions.EXT_texture_mirror_clamp = GL_TRUE;
- ctx->Extensions.EXT_texture_lod_bias = GL_TRUE;
- ctx->Extensions.EXT_texture_shared_exponent = GL_TRUE;
-#if FEATURE_EXT_texture_sRGB
- ctx->Extensions.EXT_texture_sRGB = GL_TRUE;
- ctx->Extensions.EXT_texture_sRGB_decode = GL_TRUE;
-#endif
- ctx->Extensions.EXT_texture_swizzle = GL_TRUE;
-#if FEATURE_EXT_transform_feedback
- /*ctx->Extensions.EXT_transform_feedback = GL_TRUE;*/
-#endif
- ctx->Extensions.EXT_vertex_array_bgra = GL_TRUE;
- /*ctx->Extensions.IBM_multimode_draw_arrays = GL_TRUE;*/
- ctx->Extensions.MESA_pack_invert = GL_TRUE;
- ctx->Extensions.MESA_resize_buffers = GL_TRUE;
- ctx->Extensions.MESA_texture_array = GL_TRUE;
- ctx->Extensions.MESA_ycbcr_texture = GL_TRUE;
- ctx->Extensions.NV_blend_square = GL_TRUE;
- ctx->Extensions.NV_conditional_render = GL_TRUE;
- /*ctx->Extensions.NV_light_max_exponent = GL_TRUE;*/
- ctx->Extensions.NV_point_sprite = GL_TRUE;
- ctx->Extensions.NV_texture_env_combine4 = GL_TRUE;
- ctx->Extensions.NV_texture_rectangle = GL_TRUE;
- /*ctx->Extensions.NV_texgen_reflection = GL_TRUE;*/
-#if FEATURE_NV_vertex_program
- ctx->Extensions.NV_vertex_program = GL_TRUE;
- ctx->Extensions.NV_vertex_program1_1 = GL_TRUE;
-#endif
-#if FEATURE_NV_fragment_program
- ctx->Extensions.NV_fragment_program = GL_TRUE;
-#endif
-#if FEATURE_NV_fragment_program && FEATURE_ARB_fragment_program
- ctx->Extensions.NV_fragment_program_option = GL_TRUE;
-#endif
- /*ctx->Extensions.SGIS_generate_mipmap = GL_TRUE;*/
- ctx->Extensions.SGIS_texture_edge_clamp = GL_TRUE;
-#if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program
- ctx->Extensions.EXT_gpu_program_parameters = GL_TRUE;
-#endif
-#if FEATURE_texture_fxt1
- _mesa_enable_extension(ctx, "GL_3DFX_texture_compression_FXT1");
-#endif
-#if FEATURE_texture_s3tc
- if (ctx->Mesa_DXTn) {
- _mesa_enable_extension(ctx, "GL_EXT_texture_compression_s3tc");
- _mesa_enable_extension(ctx, "GL_S3_s3tc");
- }
-#endif
-}
-
-
-/**
- * Enable common EXT extensions in the ARB_imaging subset.
- */
-void
-_mesa_enable_imaging_extensions(struct gl_context *ctx)
-{
- ctx->Extensions.EXT_blend_color = GL_TRUE;
- ctx->Extensions.EXT_blend_logic_op = GL_TRUE;
- ctx->Extensions.EXT_blend_minmax = GL_TRUE;
- ctx->Extensions.EXT_blend_subtract = GL_TRUE;
-}
-
-
-
-/**
- * Enable all OpenGL 1.3 features and extensions.
- * A convenience function to be called by drivers.
- */
-void
-_mesa_enable_1_3_extensions(struct gl_context *ctx)
-{
- /*ctx->Extensions.ARB_multisample = GL_TRUE;*/
- ctx->Extensions.ARB_multitexture = GL_TRUE;
- ctx->Extensions.ARB_texture_border_clamp = GL_TRUE;
- /*ctx->Extensions.ARB_texture_compression = GL_TRUE;*/
- ctx->Extensions.ARB_texture_cube_map = GL_TRUE;
- ctx->Extensions.ARB_texture_env_combine = GL_TRUE;
- ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE;
- ctx->Extensions.EXT_texture_env_add = GL_TRUE;
- /*ctx->Extensions.ARB_transpose_matrix = GL_TRUE;*/
-}
-
-
-
-/**
- * Enable all OpenGL 1.4 features and extensions.
- * A convenience function to be called by drivers.
- */
-void
-_mesa_enable_1_4_extensions(struct gl_context *ctx)
-{
- ctx->Extensions.ARB_depth_texture = GL_TRUE;
- ctx->Extensions.ARB_shadow = GL_TRUE;
- ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE;
- ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE;
- ctx->Extensions.ARB_window_pos = GL_TRUE;
- ctx->Extensions.EXT_blend_color = GL_TRUE;
- ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
- ctx->Extensions.EXT_blend_minmax = GL_TRUE;
- ctx->Extensions.EXT_blend_subtract = GL_TRUE;
- ctx->Extensions.EXT_fog_coord = GL_TRUE;
- /*ctx->Extensions.EXT_multi_draw_arrays = GL_TRUE;*/
- ctx->Extensions.EXT_point_parameters = GL_TRUE;
- ctx->Extensions.EXT_secondary_color = GL_TRUE;
- ctx->Extensions.EXT_stencil_wrap = GL_TRUE;
- ctx->Extensions.EXT_texture_lod_bias = GL_TRUE;
- /*ctx->Extensions.SGIS_generate_mipmap = GL_TRUE;*/
-}
-
-
-/**
- * Enable all OpenGL 1.5 features and extensions.
- * A convenience function to be called by drivers.
- */
-void
-_mesa_enable_1_5_extensions(struct gl_context *ctx)
-{
- ctx->Extensions.ARB_occlusion_query = GL_TRUE;
- /*ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;*/
- ctx->Extensions.EXT_shadow_funcs = GL_TRUE;
-}
-
-
-/**
- * Enable all OpenGL 2.0 features and extensions.
- * A convenience function to be called by drivers.
- */
-void
-_mesa_enable_2_0_extensions(struct gl_context *ctx)
-{
- /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
-#if FEATURE_ARB_fragment_shader
- ctx->Extensions.ARB_fragment_shader = GL_TRUE;
-#endif
- ctx->Extensions.ARB_point_sprite = GL_TRUE;
- ctx->Extensions.EXT_blend_equation_separate = GL_TRUE;
- ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE;
-#if FEATURE_ARB_shader_objects
- ctx->Extensions.ARB_shader_objects = GL_TRUE;
-#endif
-#if FEATURE_ARB_shading_language_100
- ctx->Extensions.ARB_shading_language_100 = GL_TRUE;
-#endif
- ctx->Extensions.EXT_stencil_two_side = GL_TRUE;
-#if FEATURE_ARB_vertex_shader
- ctx->Extensions.ARB_vertex_shader = GL_TRUE;
-#endif
-}
-
-
-/**
- * Enable all OpenGL 2.1 features and extensions.
- * A convenience function to be called by drivers.
- */
-void
-_mesa_enable_2_1_extensions(struct gl_context *ctx)
-{
-#if FEATURE_EXT_pixel_buffer_object
- ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
-#endif
-#if FEATURE_EXT_texture_sRGB
- ctx->Extensions.EXT_texture_sRGB = GL_TRUE;
-#endif
-}
-
-
-/**
- * Either enable or disable the named extension.
- * \return GL_TRUE for success, GL_FALSE if invalid extension name
- */
-static GLboolean
-set_extension( struct gl_context *ctx, const char *name, GLboolean state )
-{
- size_t offset;
-
- if (ctx->Extensions.String) {
- /* The string was already queried - can't change it now! */
- _mesa_problem(ctx, "Trying to enable/disable extension after glGetString(GL_EXTENSIONS): %s", name);
- return GL_FALSE;
- }
-
- offset = name_to_offset(name);
- if (offset == 0) {
- _mesa_problem(ctx, "Trying to enable/disable unknown extension %s",
- name);
- return GL_FALSE;
- } else if (offset == o(dummy_true) && state == GL_FALSE) {
- _mesa_problem(ctx, "Trying to disable a permanently enabled extension: "
- "%s", name);
- return GL_FALSE;
- } else {
- GLboolean *base = (GLboolean *) &ctx->Extensions;
- base[offset] = state;
- return GL_TRUE;
- }
-}
-
-
-/**
- * Enable the named extension.
- * Typically called by drivers.
- */
-void
-_mesa_enable_extension( struct gl_context *ctx, const char *name )
-{
- if (!set_extension(ctx, name, GL_TRUE))
- _mesa_problem(ctx, "Trying to enable unknown extension: %s", name);
-}
-
-
-/**
- * Disable the named extension.
- * XXX is this really needed???
- */
-void
-_mesa_disable_extension( struct gl_context *ctx, const char *name )
-{
- if (!set_extension(ctx, name, GL_FALSE))
- _mesa_problem(ctx, "Trying to disable unknown extension: %s", name);
-}
-
-
-/**
- * Test if the named extension is enabled in this context.
- */
-GLboolean
-_mesa_extension_is_enabled( struct gl_context *ctx, const char *name )
-{
- size_t offset;
- GLboolean *base;
-
- if (name == 0)
- return GL_FALSE;
-
- offset = name_to_offset(name);
- if (offset == 0)
- return GL_FALSE;
- base = (GLboolean *) &ctx->Extensions;
- return base[offset];
-}
-
-
-/**
- * \brief Apply the \c MESA_EXTENSION_OVERRIDE environment variable.
- *
- * \c MESA_EXTENSION_OVERRIDE is a space-separated list of extensions to
- * enable or disable. The list is processed thus:
- * - Enable recognized extension names that are prefixed with '+'.
- * - Disable recognized extension names that are prefixed with '-'.
- * - Enable recognized extension names that are not prefixed.
- * - Collect unrecognized extension names in a new string.
- *
- * \return Space-separated list of unrecognized extension names (which must
- * be freed). Does not return \c NULL.
- */
-static char *
-get_extension_override( struct gl_context *ctx )
-{
- const char *env_const = _mesa_getenv("MESA_EXTENSION_OVERRIDE");
- char *env;
- char *ext;
- char *extra_exts;
- int len;
-
- if (env_const == NULL) {
- /* Return the empty string rather than NULL. This simplifies the logic
- * of client functions. */
- return calloc(1, sizeof(char));
- }
-
- /* extra_exts: List of unrecognized extensions. */
- extra_exts = calloc(strlen(env_const), sizeof(char));
-
- /* Copy env_const because strtok() is destructive. */
- env = strdup(env_const);
- for (ext = strtok(env, " "); ext != NULL; ext = strtok(NULL, " ")) {
- int enable;
- int recognized;
- switch (ext[0]) {
- case '+':
- enable = 1;
- ++ext;
- break;
- case '-':
- enable = 0;
- ++ext;
- break;
- default:
- enable = 1;
- break;
- }
- recognized = set_extension(ctx, ext, enable);
- if (!recognized) {
- strcat(extra_exts, ext);
- strcat(extra_exts, " ");
- }
- }
-
- /* Remove trailing space. */
- len = strlen(extra_exts);
- if (extra_exts[len - 1] == ' ')
- extra_exts[len - 1] = '\0';
-
- return extra_exts;
-}
-
-
-/**
- * \brief Initialize extension tables and enable default extensions.
- *
- * This should be called during context initialization.
- * Note: Sets gl_extensions.dummy_true to true.
- */
-void
-_mesa_init_extensions( struct gl_context *ctx )
-{
- GLboolean *base = (GLboolean *) &ctx->Extensions;
- GLboolean *sentinel = base + o(extension_sentinel);
- GLboolean *i;
- const size_t *j;
-
- /* First, turn all extensions off. */
- for (i = base; i != sentinel; ++i)
- *i = GL_FALSE;
-
- /* Then, selectively turn default extensions on. */
- ctx->Extensions.dummy_true = GL_TRUE;
- for (j = default_extensions; *j != 0; ++j)
- base[*j] = GL_TRUE;
-}
-
-
-typedef unsigned short extension_index;
-
-
-/**
- * Compare two entries of the extensions table. Sorts first by year,
- * then by name.
- *
- * Arguments are indices into extension_table.
- */
-static int
-extension_compare(const void *p1, const void *p2)
-{
- extension_index i1 = * (const extension_index *) p1;
- extension_index i2 = * (const extension_index *) p2;
- const struct extension *e1 = &extension_table[i1];
- const struct extension *e2 = &extension_table[i2];
- int res;
-
- res = (int)e1->year - (int)e2->year;
-
- if (res == 0) {
- res = strcmp(e1->name, e2->name);
- }
-
- return res;
-}
-
-
-/**
- * Construct the GL_EXTENSIONS string. Called the first time that
- * glGetString(GL_EXTENSIONS) is called.
- */
-GLubyte*
-_mesa_make_extension_string(struct gl_context *ctx)
-{
- /* The extension string. */
- char *exts = 0;
- /* Length of extension string. */
- size_t length = 0;
- /* Number of extensions */
- unsigned count;
- /* Indices of the extensions sorted by year */
- extension_index *extension_indices;
- /* String of extra extensions. */
- char *extra_extensions = get_extension_override(ctx);
- GLboolean *base = (GLboolean *) &ctx->Extensions;
- const struct extension *i;
- unsigned j;
- unsigned maxYear = ~0;
-
- /* Check if the MESA_EXTENSION_MAX_YEAR env var is set */
- {
- const char *env = getenv("MESA_EXTENSION_MAX_YEAR");
- if (env) {
- maxYear = atoi(env);
- _mesa_debug(ctx, "Note: limiting GL extensions to %u or earlier\n",
- maxYear);
- }
- }
-
- /* Compute length of the extension string. */
- count = 0;
- for (i = extension_table; i->name != 0; ++i) {
- if (base[i->offset] &&
- i->year <= maxYear &&
- (i->api_set & (1 << ctx->API))) {
- length += strlen(i->name) + 1; /* +1 for space */
- ++count;
- }
- }
- if (extra_extensions != NULL)
- length += 1 + strlen(extra_extensions); /* +1 for space */
-
- exts = (char *) calloc(length + 1, sizeof(char));
- if (exts == NULL) {
- free(extra_extensions);
- return NULL;
- }
-
- extension_indices = malloc(count * sizeof(extension_index));
- if (extension_indices == NULL) {
- free(exts);
- free(extra_extensions);
- return NULL;
- }
-
- /* Sort extensions in chronological order because certain old applications (e.g.,
- * Quake3 demo) store the extension list in a static size buffer so chronologically
- * order ensure that the extensions that such applications expect will fit into
- * that buffer.
- */
- j = 0;
- for (i = extension_table; i->name != 0; ++i) {
- if (base[i->offset] &&
- i->year <= maxYear &&
- (i->api_set & (1 << ctx->API))) {
- extension_indices[j++] = i - extension_table;
- }
- }
- assert(j == count);
- qsort(extension_indices, count, sizeof *extension_indices, extension_compare);
-
- /* Build the extension string.*/
- for (j = 0; j < count; ++j) {
- i = &extension_table[extension_indices[j]];
- assert(base[i->offset] && (i->api_set & (1 << ctx->API)));
- strcat(exts, i->name);
- strcat(exts, " ");
- }
- free(extension_indices);
- if (extra_extensions != 0) {
- strcat(exts, extra_extensions);
- free(extra_extensions);
- }
-
- return (GLubyte *) exts;
-}
-
-/**
- * Return number of enabled extensions.
- */
-GLuint
-_mesa_get_extension_count(struct gl_context *ctx)
-{
- GLboolean *base;
- const struct extension *i;
-
- /* only count once */
- if (ctx->Extensions.Count != 0)
- return ctx->Extensions.Count;
-
- base = (GLboolean *) &ctx->Extensions;
- for (i = extension_table; i->name != 0; ++i) {
- if (base[i->offset]) {
- ctx->Extensions.Count++;
- }
- }
- return ctx->Extensions.Count;
-}
-
-/**
- * Return name of i-th enabled extension
- */
-const GLubyte *
-_mesa_get_enabled_extension(struct gl_context *ctx, GLuint index)
-{
- const GLboolean *base;
- size_t n;
- const struct extension *i;
-
- if (index < 0)
- return NULL;
-
- base = (GLboolean*) &ctx->Extensions;
- n = 0;
- for (i = extension_table; i->name != 0; ++i) {
- if (n == index && base[i->offset]) {
- return (GLubyte*) i->name;
- } else if (base[i->offset]) {
- ++n;
- }
- }
-
- return NULL;
-}
+/*
+ * Mesa 3-D graphics library
+ * Version: 7.6
+ *
+ * Copyright (C) 1999-2008 Brian Paul All Rights Reserved.
+ * Copyright (C) 2009 VMware, Inc. All Rights Reserved.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * 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.
+ */
+
+
+/**
+ * \file
+ * \brief Extension handling
+ */
+
+
+#include "glheader.h"
+#include "imports.h"
+#include "context.h"
+#include "extensions.h"
+#include "mfeatures.h"
+#include "mtypes.h"
+
+enum {
+ DISABLE = 0,
+ GL = 1 << API_OPENGL,
+ ES1 = 1 << API_OPENGLES,
+ ES2 = 1 << API_OPENGLES2,
+};
+
+/**
+ * \brief An element of the \c extension_table.
+ */
+struct extension {
+ /** Name of extension, such as "GL_ARB_depth_clamp". */
+ const char *name;
+
+ /** Offset (in bytes) of the corresponding member in struct gl_extensions. */
+ size_t offset;
+
+ /** Set of API's in which the extension exists, as a bitset. */
+ uint8_t api_set;
+
+ /** Year the extension was proposed or approved. Used to sort the
+ * extension string chronologically. */
+ uint16_t year;
+};
+
+
+/**
+ * Given a member \c x of struct gl_extensions, return offset of
+ * \c x in bytes.
+ */
+#define o(x) offsetof(struct gl_extensions, x)
+
+
+/**
+ * \brief Table of supported OpenGL extensions for all API's.
+ *
+ * Note: The GL_MESAX_* extensions are placeholders for future ARB extensions.
+ */
+static const struct extension extension_table[] = {
+ /* ARB Extensions */
+ { "GL_ARB_ES2_compatibility", o(ARB_ES2_compatibility), GL, 2009 },
+ { "GL_ARB_blend_func_extended", o(ARB_blend_func_extended), GL, 2009 },
+ { "GL_ARB_color_buffer_float", o(ARB_color_buffer_float), GL, 2004 },
+ { "GL_ARB_copy_buffer", o(ARB_copy_buffer), GL, 2008 },
+ { "GL_ARB_depth_buffer_float", o(ARB_depth_buffer_float), GL, 2008 },
+ { "GL_ARB_depth_clamp", o(ARB_depth_clamp), GL, 2003 },
+ { "GL_ARB_depth_texture", o(ARB_depth_texture), GL, 2001 },
+ { "GL_ARB_draw_buffers", o(ARB_draw_buffers), GL, 2002 },
+ { "GL_ARB_draw_buffers_blend", o(ARB_draw_buffers_blend), GL, 2009 },
+ { "GL_ARB_draw_elements_base_vertex", o(ARB_draw_elements_base_vertex), GL, 2009 },
+ { "GL_ARB_draw_instanced", o(ARB_draw_instanced), GL, 2008 },
+ { "GL_ARB_explicit_attrib_location", o(ARB_explicit_attrib_location), GL, 2009 },
+ { "GL_ARB_fragment_coord_conventions", o(ARB_fragment_coord_conventions), GL, 2009 },
+ { "GL_ARB_fragment_program", o(ARB_fragment_program), GL, 2002 },
+ { "GL_ARB_fragment_program_shadow", o(ARB_fragment_program_shadow), GL, 2003 },
+ { "GL_ARB_fragment_shader", o(ARB_fragment_shader), GL, 2002 },
+ { "GL_ARB_framebuffer_object", o(ARB_framebuffer_object), GL, 2005 },
+ { "GL_ARB_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL, 1998 },
+ { "GL_ARB_half_float_pixel", o(ARB_half_float_pixel), GL, 2003 },
+ { "GL_ARB_half_float_vertex", o(ARB_half_float_vertex), GL, 2008 },
+ { "GL_ARB_instanced_arrays", o(ARB_instanced_arrays), GL, 2008 },
+ { "GL_ARB_map_buffer_range", o(ARB_map_buffer_range), GL, 2008 },
+ { "GL_ARB_multisample", o(ARB_multisample), GL, 1994 },
+ { "GL_ARB_multitexture", o(ARB_multitexture), GL, 1998 },
+ { "GL_ARB_occlusion_query2", o(ARB_occlusion_query2), GL, 2003 },
+ { "GL_ARB_occlusion_query", o(ARB_occlusion_query), GL, 2001 },
+ { "GL_ARB_pixel_buffer_object", o(EXT_pixel_buffer_object), GL, 2004 },
+ { "GL_ARB_point_parameters", o(EXT_point_parameters), GL, 1997 },
+ { "GL_ARB_point_sprite", o(ARB_point_sprite), GL, 2003 },
+ { "GL_ARB_provoking_vertex", o(EXT_provoking_vertex), GL, 2009 },
+ { "GL_ARB_robustness", o(dummy_true), GL, 2010 },
+ { "GL_ARB_sampler_objects", o(ARB_sampler_objects), GL, 2009 },
+ { "GL_ARB_seamless_cube_map", o(ARB_seamless_cube_map), GL, 2009 },
+ { "GL_ARB_shader_objects", o(ARB_shader_objects), GL, 2002 },
+ { "GL_ARB_shader_stencil_export", o(ARB_shader_stencil_export), GL, 2009 },
+ { "GL_ARB_shading_language_100", o(ARB_shading_language_100), GL, 2003 },
+ { "GL_ARB_shadow_ambient", o(ARB_shadow_ambient), GL, 2001 },
+ { "GL_ARB_shadow", o(ARB_shadow), GL, 2001 },
+ { "GL_ARB_sync", o(ARB_sync), GL, 2003 },
+ { "GL_ARB_texture_border_clamp", o(ARB_texture_border_clamp), GL, 2000 },
+ { "GL_ARB_texture_buffer_object", o(ARB_texture_buffer_object), GL, 2008 },
+ { "GL_ARB_texture_compression", o(ARB_texture_compression), GL, 2000 },
+ { "GL_ARB_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL, 2004 },
+ { "GL_ARB_texture_cube_map", o(ARB_texture_cube_map), GL, 1999 },
+ { "GL_ARB_texture_env_add", o(EXT_texture_env_add), GL, 1999 },
+ { "GL_ARB_texture_env_combine", o(ARB_texture_env_combine), GL, 2001 },
+ { "GL_ARB_texture_env_crossbar", o(ARB_texture_env_crossbar), GL, 2001 },
+ { "GL_ARB_texture_env_dot3", o(ARB_texture_env_dot3), GL, 2001 },
+ { "GL_ARB_texture_float", o(ARB_texture_float), GL, 2004 },
+ { "GL_ARB_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL, 2001 },
+ { "GL_ARB_texture_multisample", o(ARB_texture_multisample), GL, 2009 },
+ { "GL_ARB_texture_non_power_of_two", o(ARB_texture_non_power_of_two), GL, 2003 },
+ { "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_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 },
+ { "GL_ARB_uniform_buffer_object", o(ARB_uniform_buffer_object), GL, 2002 },
+ { "GL_ARB_vertex_array_bgra", o(EXT_vertex_array_bgra), GL, 2008 },
+ { "GL_ARB_vertex_array_object", o(ARB_vertex_array_object), GL, 2006 },
+ { "GL_ARB_vertex_buffer_object", o(ARB_vertex_buffer_object), GL, 2003 },
+ { "GL_ARB_vertex_program", o(ARB_vertex_program), GL, 2002 },
+ { "GL_ARB_vertex_shader", o(ARB_vertex_shader), GL, 2002 },
+ { "GL_ARB_vertex_type_2_10_10_10_rev", o(ARB_vertex_type_2_10_10_10_rev), GL, 2009 },
+ { "GL_ARB_window_pos", o(ARB_window_pos), GL, 2001 },
+
+ /* EXT extensions */
+ { "GL_EXT_abgr", o(EXT_abgr), GL, 1995 },
+ { "GL_EXT_bgra", o(EXT_bgra), GL, 1995 },
+ { "GL_EXT_blend_color", o(EXT_blend_color), GL, 1995 },
+ { "GL_EXT_blend_equation_separate", o(EXT_blend_equation_separate), GL, 2003 },
+ { "GL_EXT_blend_func_separate", o(EXT_blend_func_separate), GL, 1999 },
+ { "GL_EXT_blend_logic_op", o(EXT_blend_logic_op), GL, 1995 },
+ { "GL_EXT_blend_minmax", o(EXT_blend_minmax), GL | ES1 | ES2, 1995 },
+ { "GL_EXT_blend_subtract", o(EXT_blend_subtract), GL, 1995 },
+ { "GL_EXT_clip_volume_hint", o(EXT_clip_volume_hint), GL, 1996 },
+ { "GL_EXT_compiled_vertex_array", o(EXT_compiled_vertex_array), GL, 1996 },
+ { "GL_EXT_copy_texture", o(EXT_copy_texture), GL, 1995 },
+ { "GL_EXT_depth_bounds_test", o(EXT_depth_bounds_test), GL, 2002 },
+ { "GL_EXT_draw_buffers2", o(EXT_draw_buffers2), GL, 2006 },
+ { "GL_EXT_draw_instanced", o(ARB_draw_instanced), GL, 2006 },
+ { "GL_EXT_draw_range_elements", o(EXT_draw_range_elements), GL, 1997 },
+ { "GL_EXT_fog_coord", o(EXT_fog_coord), GL, 1999 },
+ { "GL_EXT_framebuffer_blit", o(EXT_framebuffer_blit), GL, 2005 },
+ { "GL_EXT_framebuffer_multisample", o(EXT_framebuffer_multisample), GL, 2005 },
+ { "GL_EXT_framebuffer_object", o(EXT_framebuffer_object), GL, 2000 },
+ { "GL_EXT_framebuffer_sRGB", o(EXT_framebuffer_sRGB), GL, 1998 },
+ { "GL_EXT_gpu_program_parameters", o(EXT_gpu_program_parameters), GL, 2006 },
+ { "GL_EXT_gpu_shader4", o(EXT_gpu_shader4), GL, 2006 },
+ { "GL_EXT_multi_draw_arrays", o(EXT_multi_draw_arrays), GL | ES1 | ES2, 1999 },
+ { "GL_EXT_packed_depth_stencil", o(EXT_packed_depth_stencil), GL, 2005 },
+ { "GL_EXT_packed_float", o(EXT_packed_float), GL, 2004 },
+ { "GL_EXT_packed_pixels", o(EXT_packed_pixels), GL, 1997 },
+ { "GL_EXT_paletted_texture", o(EXT_paletted_texture), GL, 1995 },
+ { "GL_EXT_pixel_buffer_object", o(EXT_pixel_buffer_object), GL, 2004 },
+ { "GL_EXT_point_parameters", o(EXT_point_parameters), GL, 1997 },
+ { "GL_EXT_polygon_offset", o(EXT_polygon_offset), GL, 1995 },
+ { "GL_EXT_provoking_vertex", o(EXT_provoking_vertex), GL, 2009 },
+ { "GL_EXT_rescale_normal", o(EXT_rescale_normal), GL, 1997 },
+ { "GL_EXT_secondary_color", o(EXT_secondary_color), GL, 1999 },
+ { "GL_EXT_separate_shader_objects", o(EXT_separate_shader_objects), GL, 2008 },
+ { "GL_EXT_separate_specular_color", o(EXT_separate_specular_color), GL, 1997 },
+ { "GL_EXT_shadow_funcs", o(EXT_shadow_funcs), GL, 2002 },
+ { "GL_EXT_shared_texture_palette", o(EXT_shared_texture_palette), GL, 2000 },
+ { "GL_EXT_stencil_two_side", o(EXT_stencil_two_side), GL, 2001 },
+ { "GL_EXT_stencil_wrap", o(EXT_stencil_wrap), GL, 2002 },
+ { "GL_EXT_subtexture", o(EXT_subtexture), GL, 1995 },
+ { "GL_EXT_texture3D", o(EXT_texture3D), GL, 1996 },
+ { "GL_EXT_texture_array", o(EXT_texture_array), GL, 2006 },
+ { "GL_EXT_texture_compression_dxt1", o(EXT_texture_compression_s3tc), GL | ES1 | ES2, 2004 },
+ { "GL_EXT_texture_compression_latc", o(EXT_texture_compression_latc), GL, 2006 },
+ { "GL_EXT_texture_compression_rgtc", o(ARB_texture_compression_rgtc), GL, 2004 },
+ { "GL_EXT_texture_compression_s3tc", o(EXT_texture_compression_s3tc), GL, 2000 },
+ { "GL_EXT_texture_cube_map", o(ARB_texture_cube_map), GL, 2001 },
+ { "GL_EXT_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL, 1997 },
+ { "GL_EXT_texture_env_add", o(EXT_texture_env_add), GL, 1999 },
+ { "GL_EXT_texture_env_combine", o(EXT_texture_env_combine), GL, 2006 },
+ { "GL_EXT_texture_env_dot3", o(EXT_texture_env_dot3), GL, 2000 },
+ { "GL_EXT_texture_filter_anisotropic", o(EXT_texture_filter_anisotropic), GL | ES1 | ES2, 1999 },
+ { "GL_EXT_texture_format_BGRA8888", o(EXT_texture_format_BGRA8888), ES1 | ES2, 2009 },
+ { "GL_EXT_texture_integer", o(EXT_texture_integer), GL, 2006 },
+ { "GL_EXT_texture_lod_bias", o(EXT_texture_lod_bias), GL | ES1, 1999 },
+ { "GL_EXT_texture_mirror_clamp", o(EXT_texture_mirror_clamp), GL, 2004 },
+ { "GL_EXT_texture_object", o(EXT_texture_object), GL, 1995 },
+ { "GL_EXT_texture", o(EXT_texture), GL, 1996 },
+ { "GL_EXT_texture_rectangle", o(NV_texture_rectangle), GL, 2004 },
+ { "GL_EXT_texture_shared_exponent", o(EXT_texture_shared_exponent), GL, 2004 },
+ { "GL_EXT_texture_snorm", o(EXT_texture_snorm), GL, 2009 },
+ { "GL_EXT_texture_sRGB", o(EXT_texture_sRGB), GL, 2004 },
+ { "GL_EXT_texture_sRGB_decode", o(EXT_texture_sRGB_decode), GL, 2006 },
+ { "GL_EXT_texture_swizzle", o(EXT_texture_swizzle), GL, 2008 },
+ { "GL_EXT_texture_type_2_10_10_10_REV", o(dummy_true), ES2, 2008 },
+ { "GL_EXT_timer_query", o(EXT_timer_query), GL, 2006 },
+ { "GL_EXT_transform_feedback", o(EXT_transform_feedback), GL, 2011 },
+ { "GL_EXT_vertex_array_bgra", o(EXT_vertex_array_bgra), GL, 2008 },
+ { "GL_EXT_vertex_array", o(EXT_vertex_array), GL, 1995 },
+ { "GL_EXT_vertex_array_set", o(EXT_vertex_array_set), GL, 1997 },
+
+ /* OES extensions */
+ { "GL_OES_blend_equation_separate", o(EXT_blend_equation_separate), ES1, 2009 },
+ { "GL_OES_blend_func_separate", o(EXT_blend_func_separate), ES1, 2009 },
+ { "GL_OES_blend_subtract", o(EXT_blend_subtract), ES1, 2009 },
+ { "GL_OES_byte_coordinates", o(dummy_true), ES1, 2002 },
+ { "GL_OES_compressed_paletted_texture", o(dummy_false), DISABLE, 2003 },
+ { "GL_OES_depth24", o(EXT_framebuffer_object), ES1 | ES2, 2005 },
+ { "GL_OES_depth32", o(dummy_false), DISABLE, 2005 },
+ { "GL_OES_depth_texture", o(ARB_depth_texture), ES2, 2006 },
+#if FEATURE_OES_draw_texture
+ { "GL_OES_draw_texture", o(OES_draw_texture), ES1 | ES2, 2004 },
+#endif
+#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 },
+#endif
+ { "GL_OES_element_index_uint", o(EXT_vertex_array), ES1 | ES2, 2005 },
+ { "GL_OES_fbo_render_mipmap", o(EXT_framebuffer_object), ES1 | ES2, 2005 },
+ { "GL_OES_fixed_point", o(dummy_true), ES1, 2002 },
+ { "GL_OES_framebuffer_object", o(EXT_framebuffer_object), ES1, 2005 },
+ { "GL_OES_mapbuffer", o(ARB_vertex_buffer_object), ES1 | ES2, 2005 },
+ { "GL_OES_matrix_get", o(dummy_true), ES1, 2004 },
+ { "GL_OES_packed_depth_stencil", o(EXT_packed_depth_stencil), ES1 | ES2, 2007 },
+ { "GL_OES_point_size_array", o(dummy_true), ES1, 2004 },
+ { "GL_OES_point_sprite", o(ARB_point_sprite), ES1, 2004 },
+ { "GL_OES_query_matrix", o(dummy_true), ES1, 2003 },
+ { "GL_OES_read_format", o(OES_read_format), GL | ES1, 2003 },
+ { "GL_OES_rgb8_rgba8", o(EXT_framebuffer_object), ES1 | ES2, 2005 },
+ { "GL_OES_single_precision", o(dummy_true), ES1, 2003 },
+ { "GL_OES_standard_derivatives", o(OES_standard_derivatives), ES2, 2005 },
+ { "GL_OES_stencil1", o(dummy_false), DISABLE, 2005 },
+ { "GL_OES_stencil4", o(dummy_false), DISABLE, 2005 },
+ { "GL_OES_stencil8", o(EXT_framebuffer_object), ES1 | ES2, 2005 },
+ { "GL_OES_stencil_wrap", o(EXT_stencil_wrap), ES1, 2002 },
+ { "GL_OES_texture_3D", o(EXT_texture3D), ES2, 2005 },
+ { "GL_OES_texture_cube_map", o(ARB_texture_cube_map), ES1, 2007 },
+ { "GL_OES_texture_env_crossbar", o(ARB_texture_env_crossbar), ES1, 2005 },
+ { "GL_OES_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), ES1, 2005 },
+ { "GL_OES_texture_npot", o(ARB_texture_non_power_of_two), ES2, 2005 },
+
+ /* Vendor extensions */
+ { "GL_3DFX_texture_compression_FXT1", o(TDFX_texture_compression_FXT1), GL, 1999 },
+ { "GL_AMD_conservative_depth", o(AMD_conservative_depth), GL, 2009 },
+ { "GL_AMD_draw_buffers_blend", o(ARB_draw_buffers_blend), GL, 2009 },
+ { "GL_AMD_shader_stencil_export", o(ARB_shader_stencil_export), GL, 2009 },
+ { "GL_APPLE_client_storage", o(APPLE_client_storage), GL, 2002 },
+ { "GL_APPLE_object_purgeable", o(APPLE_object_purgeable), GL, 2006 },
+ { "GL_APPLE_packed_pixels", o(APPLE_packed_pixels), GL, 2002 },
+ { "GL_APPLE_vertex_array_object", o(APPLE_vertex_array_object), GL, 2002 },
+ { "GL_ATI_blend_equation_separate", o(EXT_blend_equation_separate), GL, 2003 },
+ { "GL_ATI_draw_buffers", o(ARB_draw_buffers), GL, 2002 },
+ { "GL_ATI_envmap_bumpmap", o(ATI_envmap_bumpmap), GL, 2001 },
+ { "GL_ATI_fragment_shader", o(ATI_fragment_shader), GL, 2001 },
+ { "GL_ATI_separate_stencil", o(ATI_separate_stencil), GL, 2006 },
+ { "GL_ATI_texture_compression_3dc", o(ATI_texture_compression_3dc), GL, 2004 },
+ { "GL_ATI_texture_env_combine3", o(ATI_texture_env_combine3), GL, 2002 },
+ { "GL_ATI_texture_float", o(ARB_texture_float), GL, 2002 },
+ { "GL_ATI_texture_mirror_once", o(ATI_texture_mirror_once), GL, 2006 },
+ { "GL_IBM_multimode_draw_arrays", o(IBM_multimode_draw_arrays), GL, 1998 },
+ { "GL_IBM_rasterpos_clip", o(IBM_rasterpos_clip), GL, 1996 },
+ { "GL_IBM_texture_mirrored_repeat", o(ARB_texture_mirrored_repeat), GL, 1998 },
+ { "GL_INGR_blend_func_separate", o(EXT_blend_func_separate), GL, 1999 },
+ { "GL_MESA_pack_invert", o(MESA_pack_invert), GL, 2002 },
+ { "GL_MESA_resize_buffers", o(MESA_resize_buffers), GL, 1999 },
+ { "GL_MESA_texture_array", o(MESA_texture_array), GL, 2007 },
+ { "GL_MESA_texture_signed_rgba", o(EXT_texture_snorm), GL, 2009 },
+ { "GL_MESA_window_pos", o(ARB_window_pos), GL, 2000 },
+ { "GL_MESA_ycbcr_texture", o(MESA_ycbcr_texture), GL, 2002 },
+ { "GL_NV_blend_square", o(NV_blend_square), GL, 1999 },
+ { "GL_NV_conditional_render", o(NV_conditional_render), GL, 2008 },
+ { "GL_NV_depth_clamp", o(ARB_depth_clamp), 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 },
+ { "GL_NV_packed_depth_stencil", o(EXT_packed_depth_stencil), GL, 2000 },
+ { "GL_NV_point_sprite", o(NV_point_sprite), GL, 2001 },
+ { "GL_NV_primitive_restart", o(NV_primitive_restart), GL, 2002 },
+ { "GL_NV_texgen_reflection", o(NV_texgen_reflection), GL, 1999 },
+ { "GL_NV_texture_barrier", o(NV_texture_barrier), GL, 2009 },
+ { "GL_NV_texture_env_combine4", o(NV_texture_env_combine4), GL, 1999 },
+ { "GL_NV_texture_rectangle", o(NV_texture_rectangle), GL, 2000 },
+ { "GL_NV_vertex_program1_1", o(NV_vertex_program1_1), GL, 2001 },
+ { "GL_NV_vertex_program", o(NV_vertex_program), GL, 2000 },
+ { "GL_S3_s3tc", o(S3_s3tc), GL, 1999 },
+ { "GL_SGIS_generate_mipmap", o(SGIS_generate_mipmap), GL, 1997 },
+ { "GL_SGIS_texture_border_clamp", o(ARB_texture_border_clamp), GL, 1997 },
+ { "GL_SGIS_texture_edge_clamp", o(SGIS_texture_edge_clamp), GL, 1997 },
+ { "GL_SGIS_texture_lod", o(SGIS_texture_lod), GL, 1997 },
+ { "GL_SUN_multi_draw_arrays", o(EXT_multi_draw_arrays), GL, 1999 },
+
+ { 0, 0, 0, 0 },
+};
+
+
+/**
+ * Given an extension name, lookup up the corresponding member of struct
+ * gl_extensions and return that member's offset (in bytes). If the name is
+ * not found in the \c extension_table, return 0.
+ *
+ * \param name Name of extension.
+ * \return Offset of member in struct gl_extensions.
+ */
+static size_t
+name_to_offset(const char* name)
+{
+ const struct extension *i;
+
+ if (name == 0)
+ return 0;
+
+ for (i = extension_table; i->name != 0; ++i) {
+ if (strcmp(name, i->name) == 0)
+ return i->offset;
+ }
+
+ return 0;
+}
+
+
+/**
+ * \brief Extensions enabled by default.
+ *
+ * These extensions are enabled by _mesa_init_extensions().
+ *
+ * XXX: Should these defaults also apply to GLES?
+ */
+static const size_t default_extensions[] = {
+ o(ARB_copy_buffer),
+ o(ARB_draw_buffers),
+ o(ARB_multisample),
+ o(ARB_texture_compression),
+ o(ARB_transpose_matrix),
+ o(ARB_vertex_buffer_object),
+ o(ARB_window_pos),
+
+ o(EXT_abgr),
+ o(EXT_bgra),
+ o(EXT_compiled_vertex_array),
+ o(EXT_copy_texture),
+ o(EXT_draw_range_elements),
+ o(EXT_multi_draw_arrays),
+ o(EXT_packed_pixels),
+ o(EXT_polygon_offset),
+ o(EXT_rescale_normal),
+ o(EXT_separate_specular_color),
+ o(EXT_subtexture),
+ o(EXT_texture),
+ o(EXT_texture3D),
+ o(EXT_texture_object),
+ o(EXT_vertex_array),
+
+ o(OES_read_format),
+ o(OES_standard_derivatives),
+
+ /* Vendor Extensions */
+ o(APPLE_packed_pixels),
+ o(IBM_multimode_draw_arrays),
+ o(IBM_rasterpos_clip),
+ o(NV_light_max_exponent),
+ o(NV_texgen_reflection),
+ o(SGIS_generate_mipmap),
+ o(SGIS_texture_edge_clamp),
+ o(SGIS_texture_lod),
+
+ 0,
+};
+
+
+/**
+ * Enable all extensions suitable for a software-only renderer.
+ * This is a convenience function used by the XMesa, OSMesa, GGI drivers, etc.
+ */
+void
+_mesa_enable_sw_extensions(struct gl_context *ctx)
+{
+ /*ctx->Extensions.ARB_copy_buffer = GL_TRUE;*/
+ ctx->Extensions.ARB_depth_clamp = GL_TRUE;
+ ctx->Extensions.ARB_depth_texture = GL_TRUE;
+ /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
+ ctx->Extensions.ARB_draw_elements_base_vertex = GL_TRUE;
+ ctx->Extensions.ARB_draw_instanced = GL_TRUE;
+ ctx->Extensions.ARB_explicit_attrib_location = GL_TRUE;
+ ctx->Extensions.ARB_fragment_coord_conventions = GL_TRUE;
+#if FEATURE_ARB_fragment_program
+ ctx->Extensions.ARB_fragment_program = GL_TRUE;
+ ctx->Extensions.ARB_fragment_program_shadow = GL_TRUE;
+#endif
+#if FEATURE_ARB_fragment_shader
+ ctx->Extensions.ARB_fragment_shader = GL_TRUE;
+#endif
+#if FEATURE_ARB_framebuffer_object
+ ctx->Extensions.ARB_framebuffer_object = GL_TRUE;
+#endif
+#if FEATURE_ARB_geometry_shader4 && 0
+ /* XXX re-enable when GLSL compiler again supports geometry shaders */
+ ctx->Extensions.ARB_geometry_shader4 = GL_TRUE;
+#endif
+ ctx->Extensions.ARB_half_float_pixel = GL_TRUE;
+ ctx->Extensions.ARB_half_float_vertex = GL_TRUE;
+ ctx->Extensions.ARB_map_buffer_range = GL_TRUE;
+ ctx->Extensions.ARB_multitexture = GL_TRUE;
+#if FEATURE_queryobj
+ ctx->Extensions.ARB_occlusion_query = GL_TRUE;
+ ctx->Extensions.ARB_occlusion_query2 = GL_TRUE;
+#endif
+ ctx->Extensions.ARB_point_sprite = GL_TRUE;
+#if FEATURE_ARB_shader_objects
+ ctx->Extensions.ARB_shader_objects = GL_TRUE;
+ ctx->Extensions.EXT_separate_shader_objects = GL_TRUE;
+#endif
+#if FEATURE_ARB_shading_language_100
+ ctx->Extensions.ARB_shading_language_100 = GL_TRUE;
+#endif
+ ctx->Extensions.ARB_shadow = GL_TRUE;
+ ctx->Extensions.ARB_shadow_ambient = GL_TRUE;
+ ctx->Extensions.ARB_texture_border_clamp = GL_TRUE;
+ ctx->Extensions.ARB_texture_cube_map = GL_TRUE;
+ 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_float = GL_TRUE;*/
+ ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE;
+ 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_vertex_array_object = GL_TRUE;
+#if FEATURE_ARB_vertex_program
+ ctx->Extensions.ARB_vertex_program = GL_TRUE;
+#endif
+#if FEATURE_ARB_vertex_shader
+ ctx->Extensions.ARB_vertex_shader = GL_TRUE;
+#endif
+#if FEATURE_ARB_vertex_buffer_object
+ /*ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;*/
+#endif
+#if FEATURE_ARB_sync
+ ctx->Extensions.ARB_sync = GL_TRUE;
+#endif
+ ctx->Extensions.APPLE_vertex_array_object = GL_TRUE;
+#if FEATURE_APPLE_object_purgeable
+ ctx->Extensions.APPLE_object_purgeable = GL_TRUE;
+#endif
+ ctx->Extensions.ATI_envmap_bumpmap = GL_TRUE;
+#if FEATURE_ATI_fragment_shader
+ ctx->Extensions.ATI_fragment_shader = GL_TRUE;
+#endif
+ ctx->Extensions.ATI_texture_compression_3dc = GL_TRUE;
+ ctx->Extensions.ATI_texture_env_combine3 = GL_TRUE;
+ ctx->Extensions.ATI_texture_mirror_once = GL_TRUE;
+ ctx->Extensions.ATI_separate_stencil = GL_TRUE;
+ ctx->Extensions.EXT_blend_color = GL_TRUE;
+ ctx->Extensions.EXT_blend_equation_separate = GL_TRUE;
+ ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
+ ctx->Extensions.EXT_blend_logic_op = GL_TRUE;
+ ctx->Extensions.EXT_blend_minmax = GL_TRUE;
+ ctx->Extensions.EXT_blend_subtract = GL_TRUE;
+ ctx->Extensions.EXT_depth_bounds_test = GL_TRUE;
+ ctx->Extensions.EXT_draw_buffers2 = GL_TRUE;
+ ctx->Extensions.EXT_fog_coord = GL_TRUE;
+#if FEATURE_EXT_framebuffer_object
+ ctx->Extensions.EXT_framebuffer_object = GL_TRUE;
+#endif
+#if FEATURE_EXT_framebuffer_blit
+ ctx->Extensions.EXT_framebuffer_blit = GL_TRUE;
+#endif
+#if FEATURE_ARB_framebuffer_object
+ ctx->Extensions.EXT_framebuffer_multisample = GL_TRUE;
+#endif
+ /*ctx->Extensions.EXT_multi_draw_arrays = GL_TRUE;*/
+ ctx->Extensions.EXT_packed_depth_stencil = GL_TRUE;
+ ctx->Extensions.EXT_paletted_texture = GL_TRUE;
+#if FEATURE_EXT_pixel_buffer_object
+ ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
+#endif
+ ctx->Extensions.EXT_point_parameters = GL_TRUE;
+ ctx->Extensions.EXT_provoking_vertex = GL_TRUE;
+ ctx->Extensions.EXT_shadow_funcs = GL_TRUE;
+ ctx->Extensions.EXT_secondary_color = GL_TRUE;
+ ctx->Extensions.EXT_shared_texture_palette = GL_TRUE;
+ ctx->Extensions.EXT_stencil_wrap = GL_TRUE;
+ ctx->Extensions.EXT_stencil_two_side = GL_TRUE;
+ ctx->Extensions.EXT_texture_array = GL_TRUE;
+ ctx->Extensions.EXT_texture_compression_latc = GL_TRUE;
+ ctx->Extensions.EXT_texture_env_add = GL_TRUE;
+ ctx->Extensions.EXT_texture_env_combine = GL_TRUE;
+ ctx->Extensions.EXT_texture_env_dot3 = GL_TRUE;
+ ctx->Extensions.EXT_texture_mirror_clamp = GL_TRUE;
+ ctx->Extensions.EXT_texture_lod_bias = GL_TRUE;
+ ctx->Extensions.EXT_texture_shared_exponent = GL_TRUE;
+#if FEATURE_EXT_texture_sRGB
+ ctx->Extensions.EXT_texture_sRGB = GL_TRUE;
+ ctx->Extensions.EXT_texture_sRGB_decode = GL_TRUE;
+#endif
+ ctx->Extensions.EXT_texture_swizzle = GL_TRUE;
+#if FEATURE_EXT_transform_feedback
+ /*ctx->Extensions.EXT_transform_feedback = GL_TRUE;*/
+#endif
+ ctx->Extensions.EXT_vertex_array_bgra = GL_TRUE;
+ /*ctx->Extensions.IBM_multimode_draw_arrays = GL_TRUE;*/
+ ctx->Extensions.MESA_pack_invert = GL_TRUE;
+ ctx->Extensions.MESA_resize_buffers = GL_TRUE;
+ ctx->Extensions.MESA_texture_array = GL_TRUE;
+ ctx->Extensions.MESA_ycbcr_texture = GL_TRUE;
+ ctx->Extensions.NV_blend_square = GL_TRUE;
+ ctx->Extensions.NV_conditional_render = GL_TRUE;
+ /*ctx->Extensions.NV_light_max_exponent = GL_TRUE;*/
+ ctx->Extensions.NV_point_sprite = GL_TRUE;
+ ctx->Extensions.NV_texture_env_combine4 = GL_TRUE;
+ ctx->Extensions.NV_texture_rectangle = GL_TRUE;
+ /*ctx->Extensions.NV_texgen_reflection = GL_TRUE;*/
+#if FEATURE_NV_vertex_program
+ ctx->Extensions.NV_vertex_program = GL_TRUE;
+ ctx->Extensions.NV_vertex_program1_1 = GL_TRUE;
+#endif
+#if FEATURE_NV_fragment_program
+ ctx->Extensions.NV_fragment_program = GL_TRUE;
+#endif
+#if FEATURE_NV_fragment_program && FEATURE_ARB_fragment_program
+ ctx->Extensions.NV_fragment_program_option = GL_TRUE;
+#endif
+ /*ctx->Extensions.SGIS_generate_mipmap = GL_TRUE;*/
+ ctx->Extensions.SGIS_texture_edge_clamp = GL_TRUE;
+#if FEATURE_ARB_vertex_program || FEATURE_ARB_fragment_program
+ ctx->Extensions.EXT_gpu_program_parameters = GL_TRUE;
+#endif
+#if FEATURE_texture_fxt1
+ _mesa_enable_extension(ctx, "GL_3DFX_texture_compression_FXT1");
+#endif
+#if FEATURE_texture_s3tc
+ if (ctx->Mesa_DXTn) {
+ _mesa_enable_extension(ctx, "GL_EXT_texture_compression_s3tc");
+ _mesa_enable_extension(ctx, "GL_S3_s3tc");
+ }
+#endif
+}
+
+
+/**
+ * Enable common EXT extensions in the ARB_imaging subset.
+ */
+void
+_mesa_enable_imaging_extensions(struct gl_context *ctx)
+{
+ ctx->Extensions.EXT_blend_color = GL_TRUE;
+ ctx->Extensions.EXT_blend_logic_op = GL_TRUE;
+ ctx->Extensions.EXT_blend_minmax = GL_TRUE;
+ ctx->Extensions.EXT_blend_subtract = GL_TRUE;
+}
+
+
+
+/**
+ * Enable all OpenGL 1.3 features and extensions.
+ * A convenience function to be called by drivers.
+ */
+void
+_mesa_enable_1_3_extensions(struct gl_context *ctx)
+{
+ /*ctx->Extensions.ARB_multisample = GL_TRUE;*/
+ ctx->Extensions.ARB_multitexture = GL_TRUE;
+ ctx->Extensions.ARB_texture_border_clamp = GL_TRUE;
+ /*ctx->Extensions.ARB_texture_compression = GL_TRUE;*/
+ ctx->Extensions.ARB_texture_cube_map = GL_TRUE;
+ ctx->Extensions.ARB_texture_env_combine = GL_TRUE;
+ ctx->Extensions.ARB_texture_env_dot3 = GL_TRUE;
+ ctx->Extensions.EXT_texture_env_add = GL_TRUE;
+ /*ctx->Extensions.ARB_transpose_matrix = GL_TRUE;*/
+}
+
+
+
+/**
+ * Enable all OpenGL 1.4 features and extensions.
+ * A convenience function to be called by drivers.
+ */
+void
+_mesa_enable_1_4_extensions(struct gl_context *ctx)
+{
+ ctx->Extensions.ARB_depth_texture = GL_TRUE;
+ ctx->Extensions.ARB_shadow = GL_TRUE;
+ ctx->Extensions.ARB_texture_env_crossbar = GL_TRUE;
+ ctx->Extensions.ARB_texture_mirrored_repeat = GL_TRUE;
+ ctx->Extensions.ARB_window_pos = GL_TRUE;
+ ctx->Extensions.EXT_blend_color = GL_TRUE;
+ ctx->Extensions.EXT_blend_func_separate = GL_TRUE;
+ ctx->Extensions.EXT_blend_minmax = GL_TRUE;
+ ctx->Extensions.EXT_blend_subtract = GL_TRUE;
+ ctx->Extensions.EXT_fog_coord = GL_TRUE;
+ /*ctx->Extensions.EXT_multi_draw_arrays = GL_TRUE;*/
+ ctx->Extensions.EXT_point_parameters = GL_TRUE;
+ ctx->Extensions.EXT_secondary_color = GL_TRUE;
+ ctx->Extensions.EXT_stencil_wrap = GL_TRUE;
+ ctx->Extensions.EXT_texture_lod_bias = GL_TRUE;
+ /*ctx->Extensions.SGIS_generate_mipmap = GL_TRUE;*/
+}
+
+
+/**
+ * Enable all OpenGL 1.5 features and extensions.
+ * A convenience function to be called by drivers.
+ */
+void
+_mesa_enable_1_5_extensions(struct gl_context *ctx)
+{
+ ctx->Extensions.ARB_occlusion_query = GL_TRUE;
+ /*ctx->Extensions.ARB_vertex_buffer_object = GL_TRUE;*/
+ ctx->Extensions.EXT_shadow_funcs = GL_TRUE;
+}
+
+
+/**
+ * Enable all OpenGL 2.0 features and extensions.
+ * A convenience function to be called by drivers.
+ */
+void
+_mesa_enable_2_0_extensions(struct gl_context *ctx)
+{
+ /*ctx->Extensions.ARB_draw_buffers = GL_TRUE;*/
+#if FEATURE_ARB_fragment_shader
+ ctx->Extensions.ARB_fragment_shader = GL_TRUE;
+#endif
+ ctx->Extensions.ARB_point_sprite = GL_TRUE;
+ ctx->Extensions.EXT_blend_equation_separate = GL_TRUE;
+ ctx->Extensions.ARB_texture_non_power_of_two = GL_TRUE;
+#if FEATURE_ARB_shader_objects
+ ctx->Extensions.ARB_shader_objects = GL_TRUE;
+#endif
+#if FEATURE_ARB_shading_language_100
+ ctx->Extensions.ARB_shading_language_100 = GL_TRUE;
+#endif
+ ctx->Extensions.EXT_stencil_two_side = GL_TRUE;
+#if FEATURE_ARB_vertex_shader
+ ctx->Extensions.ARB_vertex_shader = GL_TRUE;
+#endif
+}
+
+
+/**
+ * Enable all OpenGL 2.1 features and extensions.
+ * A convenience function to be called by drivers.
+ */
+void
+_mesa_enable_2_1_extensions(struct gl_context *ctx)
+{
+#if FEATURE_EXT_pixel_buffer_object
+ ctx->Extensions.EXT_pixel_buffer_object = GL_TRUE;
+#endif
+#if FEATURE_EXT_texture_sRGB
+ ctx->Extensions.EXT_texture_sRGB = GL_TRUE;
+#endif
+}
+
+
+/**
+ * Either enable or disable the named extension.
+ * \return GL_TRUE for success, GL_FALSE if invalid extension name
+ */
+static GLboolean
+set_extension( struct gl_context *ctx, const char *name, GLboolean state )
+{
+ size_t offset;
+
+ if (ctx->Extensions.String) {
+ /* The string was already queried - can't change it now! */
+ _mesa_problem(ctx, "Trying to enable/disable extension after glGetString(GL_EXTENSIONS): %s", name);
+ return GL_FALSE;
+ }
+
+ offset = name_to_offset(name);
+ if (offset == 0) {
+ _mesa_problem(ctx, "Trying to enable/disable unknown extension %s",
+ name);
+ return GL_FALSE;
+ } else if (offset == o(dummy_true) && state == GL_FALSE) {
+ _mesa_problem(ctx, "Trying to disable a permanently enabled extension: "
+ "%s", name);
+ return GL_FALSE;
+ } else {
+ GLboolean *base = (GLboolean *) &ctx->Extensions;
+ base[offset] = state;
+ return GL_TRUE;
+ }
+}
+
+
+/**
+ * Enable the named extension.
+ * Typically called by drivers.
+ */
+void
+_mesa_enable_extension( struct gl_context *ctx, const char *name )
+{
+ if (!set_extension(ctx, name, GL_TRUE))
+ _mesa_problem(ctx, "Trying to enable unknown extension: %s", name);
+}
+
+
+/**
+ * Disable the named extension.
+ * XXX is this really needed???
+ */
+void
+_mesa_disable_extension( struct gl_context *ctx, const char *name )
+{
+ if (!set_extension(ctx, name, GL_FALSE))
+ _mesa_problem(ctx, "Trying to disable unknown extension: %s", name);
+}
+
+
+/**
+ * Test if the named extension is enabled in this context.
+ */
+GLboolean
+_mesa_extension_is_enabled( struct gl_context *ctx, const char *name )
+{
+ size_t offset;
+ GLboolean *base;
+
+ if (name == 0)
+ return GL_FALSE;
+
+ offset = name_to_offset(name);
+ if (offset == 0)
+ return GL_FALSE;
+ base = (GLboolean *) &ctx->Extensions;
+ return base[offset];
+}
+
+
+/**
+ * \brief Apply the \c MESA_EXTENSION_OVERRIDE environment variable.
+ *
+ * \c MESA_EXTENSION_OVERRIDE is a space-separated list of extensions to
+ * enable or disable. The list is processed thus:
+ * - Enable recognized extension names that are prefixed with '+'.
+ * - Disable recognized extension names that are prefixed with '-'.
+ * - Enable recognized extension names that are not prefixed.
+ * - Collect unrecognized extension names in a new string.
+ *
+ * \return Space-separated list of unrecognized extension names (which must
+ * be freed). Does not return \c NULL.
+ */
+static char *
+get_extension_override( struct gl_context *ctx )
+{
+ const char *env_const = _mesa_getenv("MESA_EXTENSION_OVERRIDE");
+ char *env;
+ char *ext;
+ char *extra_exts;
+ int len;
+
+ if (env_const == NULL) {
+ /* Return the empty string rather than NULL. This simplifies the logic
+ * of client functions. */
+ return calloc(1, sizeof(char));
+ }
+
+ /* extra_exts: List of unrecognized extensions. */
+ extra_exts = calloc(strlen(env_const), sizeof(char));
+
+ /* Copy env_const because strtok() is destructive. */
+ env = strdup(env_const);
+ for (ext = strtok(env, " "); ext != NULL; ext = strtok(NULL, " ")) {
+ int enable;
+ int recognized;
+ switch (ext[0]) {
+ case '+':
+ enable = 1;
+ ++ext;
+ break;
+ case '-':
+ enable = 0;
+ ++ext;
+ break;
+ default:
+ enable = 1;
+ break;
+ }
+ recognized = set_extension(ctx, ext, enable);
+ if (!recognized) {
+ strcat(extra_exts, ext);
+ strcat(extra_exts, " ");
+ }
+ }
+
+ /* Remove trailing space. */
+ len = strlen(extra_exts);
+ if (extra_exts[len - 1] == ' ')
+ extra_exts[len - 1] = '\0';
+
+ return extra_exts;
+}
+
+
+/**
+ * \brief Initialize extension tables and enable default extensions.
+ *
+ * This should be called during context initialization.
+ * Note: Sets gl_extensions.dummy_true to true.
+ */
+void
+_mesa_init_extensions( struct gl_context *ctx )
+{
+ GLboolean *base = (GLboolean *) &ctx->Extensions;
+ GLboolean *sentinel = base + o(extension_sentinel);
+ GLboolean *i;
+ const size_t *j;
+
+ /* First, turn all extensions off. */
+ for (i = base; i != sentinel; ++i)
+ *i = GL_FALSE;
+
+ /* Then, selectively turn default extensions on. */
+ ctx->Extensions.dummy_true = GL_TRUE;
+ for (j = default_extensions; *j != 0; ++j)
+ base[*j] = GL_TRUE;
+}
+
+
+typedef unsigned short extension_index;
+
+
+/**
+ * Compare two entries of the extensions table. Sorts first by year,
+ * then by name.
+ *
+ * Arguments are indices into extension_table.
+ */
+static int
+extension_compare(const void *p1, const void *p2)
+{
+ extension_index i1 = * (const extension_index *) p1;
+ extension_index i2 = * (const extension_index *) p2;
+ const struct extension *e1 = &extension_table[i1];
+ const struct extension *e2 = &extension_table[i2];
+ int res;
+
+ res = (int)e1->year - (int)e2->year;
+
+ if (res == 0) {
+ res = strcmp(e1->name, e2->name);
+ }
+
+ return res;
+}
+
+
+/**
+ * Construct the GL_EXTENSIONS string. Called the first time that
+ * glGetString(GL_EXTENSIONS) is called.
+ */
+GLubyte*
+_mesa_make_extension_string(struct gl_context *ctx)
+{
+ /* The extension string. */
+ char *exts = 0;
+ /* Length of extension string. */
+ size_t length = 0;
+ /* Number of extensions */
+ unsigned count;
+ /* Indices of the extensions sorted by year */
+ extension_index *extension_indices;
+ /* String of extra extensions. */
+ char *extra_extensions = get_extension_override(ctx);
+ GLboolean *base = (GLboolean *) &ctx->Extensions;
+ const struct extension *i;
+ unsigned j;
+ unsigned maxYear = ~0;
+
+ /* Check if the MESA_EXTENSION_MAX_YEAR env var is set */
+ {
+ const char *env = getenv("MESA_EXTENSION_MAX_YEAR");
+ if (env) {
+ maxYear = atoi(env);
+ _mesa_debug(ctx, "Note: limiting GL extensions to %u or earlier\n",
+ maxYear);
+ }
+ }
+
+ /* Compute length of the extension string. */
+ count = 0;
+ for (i = extension_table; i->name != 0; ++i) {
+ if (base[i->offset] &&
+ i->year <= maxYear &&
+ (i->api_set & (1 << ctx->API))) {
+ length += strlen(i->name) + 1; /* +1 for space */
+ ++count;
+ }
+ }
+ if (extra_extensions != NULL)
+ length += 1 + strlen(extra_extensions); /* +1 for space */
+
+ exts = (char *) calloc(length + 1, sizeof(char));
+ if (exts == NULL) {
+ free(extra_extensions);
+ return NULL;
+ }
+
+ extension_indices = malloc(count * sizeof(extension_index));
+ if (extension_indices == NULL) {
+ free(exts);
+ free(extra_extensions);
+ return NULL;
+ }
+
+ /* Sort extensions in chronological order because certain old applications (e.g.,
+ * Quake3 demo) store the extension list in a static size buffer so chronologically
+ * order ensure that the extensions that such applications expect will fit into
+ * that buffer.
+ */
+ j = 0;
+ for (i = extension_table; i->name != 0; ++i) {
+ if (base[i->offset] &&
+ i->year <= maxYear &&
+ (i->api_set & (1 << ctx->API))) {
+ extension_indices[j++] = i - extension_table;
+ }
+ }
+ assert(j == count);
+ qsort(extension_indices, count, sizeof *extension_indices, extension_compare);
+
+ /* Build the extension string.*/
+ for (j = 0; j < count; ++j) {
+ i = &extension_table[extension_indices[j]];
+ assert(base[i->offset] && (i->api_set & (1 << ctx->API)));
+ strcat(exts, i->name);
+ strcat(exts, " ");
+ }
+ free(extension_indices);
+ if (extra_extensions != 0) {
+ strcat(exts, extra_extensions);
+ free(extra_extensions);
+ }
+
+ return (GLubyte *) exts;
+}
+
+/**
+ * Return number of enabled extensions.
+ */
+GLuint
+_mesa_get_extension_count(struct gl_context *ctx)
+{
+ GLboolean *base;
+ const struct extension *i;
+
+ /* only count once */
+ if (ctx->Extensions.Count != 0)
+ return ctx->Extensions.Count;
+
+ base = (GLboolean *) &ctx->Extensions;
+ for (i = extension_table; i->name != 0; ++i) {
+ if (base[i->offset]) {
+ ctx->Extensions.Count++;
+ }
+ }
+ return ctx->Extensions.Count;
+}
+
+/**
+ * Return name of i-th enabled extension
+ */
+const GLubyte *
+_mesa_get_enabled_extension(struct gl_context *ctx, GLuint index)
+{
+ const GLboolean *base;
+ size_t n;
+ const struct extension *i;
+
+ if (index < 0)
+ return NULL;
+
+ base = (GLboolean*) &ctx->Extensions;
+ n = 0;
+ for (i = extension_table; i->name != 0; ++i) {
+ if (n == index && base[i->offset]) {
+ return (GLubyte*) i->name;
+ } else if (base[i->offset]) {
+ ++n;
+ }
+ }
+
+ return NULL;
+}
diff --git a/mesalib/src/mesa/main/remap_helper.h b/mesalib/src/mesa/main/remap_helper.h
index f506efcef..fdb86d3e3 100644
--- a/mesalib/src/mesa/main/remap_helper.h
+++ b/mesalib/src/mesa/main/remap_helper.h
@@ -70,2583 +70,2577 @@ static const char _mesa_function_pool[] =
"\0"
"glLoadIdentity\0"
"\0"
- /* _mesa_function_pool[216]: SampleCoverageARB (will be remapped) */
+ /* _mesa_function_pool[216]: GetCombinerOutputParameterfvNV (will be remapped) */
+ "iiip\0"
+ "glGetCombinerOutputParameterfvNV\0"
+ "\0"
+ /* _mesa_function_pool[255]: SampleCoverageARB (will be remapped) */
"fi\0"
"glSampleCoverage\0"
"glSampleCoverageARB\0"
"\0"
- /* _mesa_function_pool[257]: ConvolutionFilter1D (offset 348) */
+ /* _mesa_function_pool[296]: ConvolutionFilter1D (offset 348) */
"iiiiip\0"
"glConvolutionFilter1D\0"
"glConvolutionFilter1DEXT\0"
"\0"
- /* _mesa_function_pool[312]: BeginQueryARB (will be remapped) */
+ /* _mesa_function_pool[351]: BeginQueryARB (will be remapped) */
"ii\0"
"glBeginQuery\0"
"glBeginQueryARB\0"
"\0"
- /* _mesa_function_pool[345]: RasterPos3dv (offset 71) */
+ /* _mesa_function_pool[384]: RasterPos3dv (offset 71) */
"p\0"
"glRasterPos3dv\0"
"\0"
- /* _mesa_function_pool[363]: PointParameteriNV (will be remapped) */
+ /* _mesa_function_pool[402]: PointParameteriNV (will be remapped) */
"ii\0"
"glPointParameteri\0"
"glPointParameteriNV\0"
"\0"
- /* _mesa_function_pool[405]: GetProgramiv (will be remapped) */
+ /* _mesa_function_pool[444]: GetProgramiv (will be remapped) */
"iip\0"
"glGetProgramiv\0"
"\0"
- /* _mesa_function_pool[425]: MultiTexCoord3sARB (offset 398) */
+ /* _mesa_function_pool[464]: MultiTexCoord3sARB (offset 398) */
"iiii\0"
"glMultiTexCoord3s\0"
"glMultiTexCoord3sARB\0"
"\0"
- /* _mesa_function_pool[470]: SecondaryColor3iEXT (will be remapped) */
+ /* _mesa_function_pool[509]: SecondaryColor3iEXT (will be remapped) */
"iii\0"
"glSecondaryColor3i\0"
"glSecondaryColor3iEXT\0"
"\0"
- /* _mesa_function_pool[516]: WindowPos3fMESA (will be remapped) */
+ /* _mesa_function_pool[555]: WindowPos3fMESA (will be remapped) */
"fff\0"
"glWindowPos3f\0"
"glWindowPos3fARB\0"
"glWindowPos3fMESA\0"
"\0"
- /* _mesa_function_pool[570]: TexCoord1iv (offset 99) */
+ /* _mesa_function_pool[609]: TexCoord1iv (offset 99) */
"p\0"
"glTexCoord1iv\0"
"\0"
- /* _mesa_function_pool[587]: TexCoord4sv (offset 125) */
+ /* _mesa_function_pool[626]: TexCoord4sv (offset 125) */
"p\0"
"glTexCoord4sv\0"
"\0"
- /* _mesa_function_pool[604]: RasterPos4s (offset 84) */
+ /* _mesa_function_pool[643]: RasterPos4s (offset 84) */
"iiii\0"
"glRasterPos4s\0"
"\0"
- /* _mesa_function_pool[624]: PixelTexGenParameterfvSGIS (will be remapped) */
+ /* _mesa_function_pool[663]: PixelTexGenParameterfvSGIS (will be remapped) */
"ip\0"
"glPixelTexGenParameterfvSGIS\0"
"\0"
- /* _mesa_function_pool[657]: ActiveTextureARB (offset 374) */
+ /* _mesa_function_pool[696]: ActiveTextureARB (offset 374) */
"i\0"
"glActiveTexture\0"
"glActiveTextureARB\0"
"\0"
- /* _mesa_function_pool[695]: BlitFramebufferEXT (will be remapped) */
+ /* _mesa_function_pool[734]: BlitFramebufferEXT (will be remapped) */
"iiiiiiiiii\0"
"glBlitFramebuffer\0"
"glBlitFramebufferEXT\0"
"\0"
- /* _mesa_function_pool[746]: TexCoord1f (offset 96) */
+ /* _mesa_function_pool[785]: TexCoord1f (offset 96) */
"f\0"
"glTexCoord1f\0"
"\0"
- /* _mesa_function_pool[762]: TexCoord1d (offset 94) */
+ /* _mesa_function_pool[801]: TexCoord1d (offset 94) */
"d\0"
"glTexCoord1d\0"
"\0"
- /* _mesa_function_pool[778]: VertexAttrib4ubvNV (will be remapped) */
+ /* _mesa_function_pool[817]: VertexAttrib4ubvNV (will be remapped) */
"ip\0"
"glVertexAttrib4ubvNV\0"
"\0"
- /* _mesa_function_pool[803]: TexCoord1i (offset 98) */
+ /* _mesa_function_pool[842]: TexCoord1i (offset 98) */
"i\0"
"glTexCoord1i\0"
"\0"
- /* _mesa_function_pool[819]: GetProgramNamedParameterdvNV (will be remapped) */
+ /* _mesa_function_pool[858]: GetProgramNamedParameterdvNV (will be remapped) */
"iipp\0"
"glGetProgramNamedParameterdvNV\0"
"\0"
- /* _mesa_function_pool[856]: Histogram (offset 367) */
+ /* _mesa_function_pool[895]: Histogram (offset 367) */
"iiii\0"
"glHistogram\0"
"glHistogramEXT\0"
"\0"
- /* _mesa_function_pool[889]: TexCoord1s (offset 100) */
+ /* _mesa_function_pool[928]: TexCoord1s (offset 100) */
"i\0"
"glTexCoord1s\0"
"\0"
- /* _mesa_function_pool[905]: GetMapfv (offset 267) */
+ /* _mesa_function_pool[944]: GetMapfv (offset 267) */
"iip\0"
"glGetMapfv\0"
"\0"
- /* _mesa_function_pool[921]: EvalCoord1f (offset 230) */
+ /* _mesa_function_pool[960]: EvalCoord1f (offset 230) */
"f\0"
"glEvalCoord1f\0"
"\0"
- /* _mesa_function_pool[938]: FramebufferTexture (will be remapped) */
+ /* _mesa_function_pool[977]: FramebufferTexture (will be remapped) */
"iiii\0"
"glFramebufferTexture\0"
"\0"
- /* _mesa_function_pool[965]: GetGraphicsResetStatusARB (will be remapped) */
+ /* _mesa_function_pool[1004]: GetGraphicsResetStatusARB (will be remapped) */
"\0"
"glGetGraphicsResetStatusARB\0"
"\0"
- /* _mesa_function_pool[995]: TexImage4DSGIS (dynamic) */
+ /* _mesa_function_pool[1034]: TexImage4DSGIS (dynamic) */
"iiiiiiiiiip\0"
"glTexImage4DSGIS\0"
"\0"
- /* _mesa_function_pool[1025]: PolygonStipple (offset 175) */
+ /* _mesa_function_pool[1064]: PolygonStipple (offset 175) */
"p\0"
"glPolygonStipple\0"
"\0"
- /* _mesa_function_pool[1045]: WindowPos2dvMESA (will be remapped) */
+ /* _mesa_function_pool[1084]: WindowPos2dvMESA (will be remapped) */
"p\0"
"glWindowPos2dv\0"
"glWindowPos2dvARB\0"
"glWindowPos2dvMESA\0"
"\0"
- /* _mesa_function_pool[1100]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[1139]: ReplacementCodeuiColor3fVertex3fvSUN (dynamic) */
"ppp\0"
"glReplacementCodeuiColor3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[1144]: BlendEquationSeparateEXT (will be remapped) */
+ /* _mesa_function_pool[1183]: BlendEquationSeparateEXT (will be remapped) */
"ii\0"
"glBlendEquationSeparate\0"
"glBlendEquationSeparateEXT\0"
"glBlendEquationSeparateATI\0"
"\0"
- /* _mesa_function_pool[1226]: ListParameterfSGIX (dynamic) */
+ /* _mesa_function_pool[1265]: ListParameterfSGIX (dynamic) */
"iif\0"
"glListParameterfSGIX\0"
"\0"
- /* _mesa_function_pool[1252]: SecondaryColor3bEXT (will be remapped) */
+ /* _mesa_function_pool[1291]: SecondaryColor3bEXT (will be remapped) */
"iii\0"
"glSecondaryColor3b\0"
"glSecondaryColor3bEXT\0"
"\0"
- /* _mesa_function_pool[1298]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */
+ /* _mesa_function_pool[1337]: TexCoord4fColor4fNormal3fVertex4fvSUN (dynamic) */
"pppp\0"
"glTexCoord4fColor4fNormal3fVertex4fvSUN\0"
"\0"
- /* _mesa_function_pool[1344]: GetnPolygonStippleARB (will be remapped) */
+ /* _mesa_function_pool[1383]: GetnPolygonStippleARB (will be remapped) */
"ip\0"
"glGetnPolygonStippleARB\0"
"\0"
- /* _mesa_function_pool[1372]: GetPixelMapfv (offset 271) */
+ /* _mesa_function_pool[1411]: GetPixelMapfv (offset 271) */
"ip\0"
"glGetPixelMapfv\0"
"\0"
- /* _mesa_function_pool[1392]: Color3uiv (offset 22) */
+ /* _mesa_function_pool[1431]: Color3uiv (offset 22) */
"p\0"
"glColor3uiv\0"
"\0"
- /* _mesa_function_pool[1407]: IsEnabled (offset 286) */
+ /* _mesa_function_pool[1446]: IsEnabled (offset 286) */
"i\0"
"glIsEnabled\0"
"\0"
- /* _mesa_function_pool[1422]: VertexAttrib4svNV (will be remapped) */
+ /* _mesa_function_pool[1461]: VertexAttrib4svNV (will be remapped) */
"ip\0"
"glVertexAttrib4svNV\0"
"\0"
- /* _mesa_function_pool[1446]: EvalCoord2fv (offset 235) */
+ /* _mesa_function_pool[1485]: EvalCoord2fv (offset 235) */
"p\0"
"glEvalCoord2fv\0"
"\0"
- /* _mesa_function_pool[1464]: GetBufferSubDataARB (will be remapped) */
+ /* _mesa_function_pool[1503]: GetBufferSubDataARB (will be remapped) */
"iiip\0"
"glGetBufferSubData\0"
"glGetBufferSubDataARB\0"
"\0"
- /* _mesa_function_pool[1511]: BufferSubDataARB (will be remapped) */
+ /* _mesa_function_pool[1550]: BufferSubDataARB (will be remapped) */
"iiip\0"
"glBufferSubData\0"
"glBufferSubDataARB\0"
"\0"
- /* _mesa_function_pool[1552]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[1591]: TexCoord2fColor4ubVertex3fvSUN (dynamic) */
"ppp\0"
"glTexCoord2fColor4ubVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[1590]: AttachShader (will be remapped) */
+ /* _mesa_function_pool[1629]: AttachShader (will be remapped) */
"ii\0"
"glAttachShader\0"
"\0"
- /* _mesa_function_pool[1609]: GetCombinerInputParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[1648]: GetCombinerInputParameterfvNV (will be remapped) */
"iiiip\0"
"glGetCombinerInputParameterfvNV\0"
"\0"
- /* _mesa_function_pool[1648]: VertexAttrib2fARB (will be remapped) */
+ /* _mesa_function_pool[1687]: VertexAttrib2fARB (will be remapped) */
"iff\0"
"glVertexAttrib2f\0"
"glVertexAttrib2fARB\0"
"\0"
- /* _mesa_function_pool[1690]: GetDebugLogLengthMESA (dynamic) */
+ /* _mesa_function_pool[1729]: GetDebugLogLengthMESA (dynamic) */
"iii\0"
"glGetDebugLogLengthMESA\0"
"\0"
- /* _mesa_function_pool[1719]: GetMapiv (offset 268) */
+ /* _mesa_function_pool[1758]: GetMapiv (offset 268) */
"iip\0"
"glGetMapiv\0"
"\0"
- /* _mesa_function_pool[1735]: VertexAttrib3fARB (will be remapped) */
+ /* _mesa_function_pool[1774]: VertexAttrib3fARB (will be remapped) */
"ifff\0"
"glVertexAttrib3f\0"
"glVertexAttrib3fARB\0"
"\0"
- /* _mesa_function_pool[1778]: Indexubv (offset 316) */
+ /* _mesa_function_pool[1817]: Indexubv (offset 316) */
"p\0"
"glIndexubv\0"
"\0"
- /* _mesa_function_pool[1792]: GetQueryivARB (will be remapped) */
+ /* _mesa_function_pool[1831]: GetQueryivARB (will be remapped) */
"iip\0"
"glGetQueryiv\0"
"glGetQueryivARB\0"
"\0"
- /* _mesa_function_pool[1826]: TexImage3D (offset 371) */
+ /* _mesa_function_pool[1865]: TexImage3D (offset 371) */
"iiiiiiiiip\0"
"glTexImage3D\0"
"glTexImage3DEXT\0"
"\0"
- /* _mesa_function_pool[1867]: BindFragDataLocationEXT (will be remapped) */
+ /* _mesa_function_pool[1906]: BindFragDataLocationEXT (will be remapped) */
"iip\0"
"glBindFragDataLocationEXT\0"
"glBindFragDataLocation\0"
"\0"
- /* _mesa_function_pool[1921]: ReplacementCodeuiVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[1960]: ReplacementCodeuiVertex3fvSUN (dynamic) */
"pp\0"
"glReplacementCodeuiVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[1957]: EdgeFlagPointer (offset 312) */
+ /* _mesa_function_pool[1996]: EdgeFlagPointer (offset 312) */
"ip\0"
"glEdgeFlagPointer\0"
"\0"
- /* _mesa_function_pool[1979]: Color3ubv (offset 20) */
+ /* _mesa_function_pool[2018]: Color3ubv (offset 20) */
"p\0"
"glColor3ubv\0"
"\0"
- /* _mesa_function_pool[1994]: GetQueryObjectivARB (will be remapped) */
+ /* _mesa_function_pool[2033]: GetQueryObjectivARB (will be remapped) */
"iip\0"
"glGetQueryObjectiv\0"
"glGetQueryObjectivARB\0"
"\0"
- /* _mesa_function_pool[2040]: Vertex3dv (offset 135) */
+ /* _mesa_function_pool[2079]: Vertex3dv (offset 135) */
"p\0"
"glVertex3dv\0"
"\0"
- /* _mesa_function_pool[2055]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[2094]: ReplacementCodeuiTexCoord2fVertex3fvSUN (dynamic) */
"ppp\0"
"glReplacementCodeuiTexCoord2fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[2102]: CompressedTexSubImage2DARB (will be remapped) */
+ /* _mesa_function_pool[2141]: CompressedTexSubImage2DARB (will be remapped) */
"iiiiiiiip\0"
"glCompressedTexSubImage2D\0"
"glCompressedTexSubImage2DARB\0"
"\0"
- /* _mesa_function_pool[2168]: CombinerOutputNV (will be remapped) */
+ /* _mesa_function_pool[2207]: CombinerOutputNV (will be remapped) */
"iiiiiiiiii\0"
"glCombinerOutputNV\0"
"\0"
- /* _mesa_function_pool[2199]: VertexAttribs3fvNV (will be remapped) */
+ /* _mesa_function_pool[2238]: VertexAttribs3fvNV (will be remapped) */
"iip\0"
"glVertexAttribs3fvNV\0"
"\0"
- /* _mesa_function_pool[2225]: GetnMapivARB (will be remapped) */
+ /* _mesa_function_pool[2264]: GetnMapivARB (will be remapped) */
"iiip\0"
"glGetnMapivARB\0"
"\0"
- /* _mesa_function_pool[2246]: Uniform2fARB (will be remapped) */
+ /* _mesa_function_pool[2285]: Uniform2fARB (will be remapped) */
"iff\0"
"glUniform2f\0"
"glUniform2fARB\0"
"\0"
- /* _mesa_function_pool[2278]: LightModeliv (offset 166) */
+ /* _mesa_function_pool[2317]: LightModeliv (offset 166) */
"ip\0"
"glLightModeliv\0"
"\0"
- /* _mesa_function_pool[2297]: VertexAttrib1svARB (will be remapped) */
+ /* _mesa_function_pool[2336]: VertexAttrib1svARB (will be remapped) */
"ip\0"
"glVertexAttrib1sv\0"
"glVertexAttrib1svARB\0"
"\0"
- /* _mesa_function_pool[2340]: VertexAttribs1dvNV (will be remapped) */
+ /* _mesa_function_pool[2379]: VertexAttribs1dvNV (will be remapped) */
"iip\0"
"glVertexAttribs1dvNV\0"
"\0"
- /* _mesa_function_pool[2366]: Uniform2ivARB (will be remapped) */
+ /* _mesa_function_pool[2405]: Uniform2ivARB (will be remapped) */
"iip\0"
"glUniform2iv\0"
"glUniform2ivARB\0"
"\0"
- /* _mesa_function_pool[2400]: GetImageTransformParameterfvHP (dynamic) */
+ /* _mesa_function_pool[2439]: GetImageTransformParameterfvHP (dynamic) */
"iip\0"
"glGetImageTransformParameterfvHP\0"
"\0"
- /* _mesa_function_pool[2438]: Normal3bv (offset 53) */
+ /* _mesa_function_pool[2477]: Normal3bv (offset 53) */
"p\0"
"glNormal3bv\0"
"\0"
- /* _mesa_function_pool[2453]: TexGeniv (offset 193) */
+ /* _mesa_function_pool[2492]: TexGeniv (offset 193) */
"iip\0"
"glTexGeniv\0"
"\0"
- /* _mesa_function_pool[2469]: WeightubvARB (dynamic) */
+ /* _mesa_function_pool[2508]: WeightubvARB (dynamic) */
"ip\0"
"glWeightubvARB\0"
"\0"
- /* _mesa_function_pool[2488]: VertexAttrib1fvNV (will be remapped) */
+ /* _mesa_function_pool[2527]: VertexAttrib1fvNV (will be remapped) */
"ip\0"
"glVertexAttrib1fvNV\0"
"\0"
- /* _mesa_function_pool[2512]: Vertex3iv (offset 139) */
+ /* _mesa_function_pool[2551]: Vertex3iv (offset 139) */
"p\0"
"glVertex3iv\0"
"\0"
- /* _mesa_function_pool[2527]: CopyConvolutionFilter1D (offset 354) */
+ /* _mesa_function_pool[2566]: CopyConvolutionFilter1D (offset 354) */
"iiiii\0"
"glCopyConvolutionFilter1D\0"
"glCopyConvolutionFilter1DEXT\0"
"\0"
- /* _mesa_function_pool[2589]: VertexAttribI1uiEXT (will be remapped) */
+ /* _mesa_function_pool[2628]: VertexAttribI1uiEXT (will be remapped) */
"ii\0"
"glVertexAttribI1uiEXT\0"
"glVertexAttribI1ui\0"
"\0"
- /* _mesa_function_pool[2634]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[2673]: ReplacementCodeuiNormal3fVertex3fSUN (dynamic) */
"iffffff\0"
"glReplacementCodeuiNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[2682]: DeleteSync (will be remapped) */
+ /* _mesa_function_pool[2721]: DeleteSync (will be remapped) */
"i\0"
"glDeleteSync\0"
"\0"
- /* _mesa_function_pool[2698]: FragmentMaterialfvSGIX (dynamic) */
+ /* _mesa_function_pool[2737]: FragmentMaterialfvSGIX (dynamic) */
"iip\0"
"glFragmentMaterialfvSGIX\0"
"\0"
- /* _mesa_function_pool[2728]: BlendColor (offset 336) */
+ /* _mesa_function_pool[2767]: BlendColor (offset 336) */
"ffff\0"
"glBlendColor\0"
"glBlendColorEXT\0"
"\0"
- /* _mesa_function_pool[2763]: UniformMatrix4fvARB (will be remapped) */
+ /* _mesa_function_pool[2802]: UniformMatrix4fvARB (will be remapped) */
"iiip\0"
"glUniformMatrix4fv\0"
"glUniformMatrix4fvARB\0"
"\0"
- /* _mesa_function_pool[2810]: DeleteVertexArraysAPPLE (will be remapped) */
+ /* _mesa_function_pool[2849]: DeleteVertexArraysAPPLE (will be remapped) */
"ip\0"
"glDeleteVertexArrays\0"
"glDeleteVertexArraysAPPLE\0"
"\0"
- /* _mesa_function_pool[2861]: TexBuffer (will be remapped) */
+ /* _mesa_function_pool[2900]: TexBuffer (will be remapped) */
"iii\0"
"glTexBuffer\0"
"\0"
- /* _mesa_function_pool[2878]: ReadInstrumentsSGIX (dynamic) */
+ /* _mesa_function_pool[2917]: ReadInstrumentsSGIX (dynamic) */
"i\0"
"glReadInstrumentsSGIX\0"
"\0"
- /* _mesa_function_pool[2903]: CallLists (offset 3) */
+ /* _mesa_function_pool[2942]: CallLists (offset 3) */
"iip\0"
"glCallLists\0"
"\0"
- /* _mesa_function_pool[2920]: UniformMatrix2x4fv (will be remapped) */
+ /* _mesa_function_pool[2959]: DeformationMap3dSGIX (dynamic) */
+ "iddiiddiiddiip\0"
+ "glDeformationMap3dSGIX\0"
+ "\0"
+ /* _mesa_function_pool[2998]: UniformMatrix2x4fv (will be remapped) */
"iiip\0"
"glUniformMatrix2x4fv\0"
"\0"
- /* _mesa_function_pool[2947]: ReadnPixelsARB (will be remapped) */
+ /* _mesa_function_pool[3025]: ReadnPixelsARB (will be remapped) */
"iiiiiiip\0"
"glReadnPixelsARB\0"
"\0"
- /* _mesa_function_pool[2974]: Color4ubVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[3052]: Color4ubVertex3fvSUN (dynamic) */
"pp\0"
"glColor4ubVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[3001]: Normal3iv (offset 59) */
+ /* _mesa_function_pool[3079]: Normal3iv (offset 59) */
"p\0"
"glNormal3iv\0"
"\0"
- /* _mesa_function_pool[3016]: PassThrough (offset 199) */
+ /* _mesa_function_pool[3094]: PassThrough (offset 199) */
"f\0"
"glPassThrough\0"
"\0"
- /* _mesa_function_pool[3033]: GetnPixelMapusvARB (will be remapped) */
+ /* _mesa_function_pool[3111]: GetnPixelMapusvARB (will be remapped) */
"iip\0"
"glGetnPixelMapusvARB\0"
"\0"
- /* _mesa_function_pool[3059]: TexParameterIivEXT (will be remapped) */
+ /* _mesa_function_pool[3137]: TexParameterIivEXT (will be remapped) */
"iip\0"
"glTexParameterIivEXT\0"
"glTexParameterIiv\0"
"\0"
- /* _mesa_function_pool[3103]: FramebufferTextureLayerEXT (will be remapped) */
+ /* _mesa_function_pool[3181]: FramebufferTextureLayerEXT (will be remapped) */
"iiiii\0"
"glFramebufferTextureLayer\0"
"glFramebufferTextureLayerEXT\0"
"\0"
- /* _mesa_function_pool[3165]: GetListParameterfvSGIX (dynamic) */
+ /* _mesa_function_pool[3243]: GetListParameterfvSGIX (dynamic) */
"iip\0"
"glGetListParameterfvSGIX\0"
"\0"
- /* _mesa_function_pool[3195]: Viewport (offset 305) */
+ /* _mesa_function_pool[3273]: Viewport (offset 305) */
"iiii\0"
"glViewport\0"
"\0"
- /* _mesa_function_pool[3212]: VertexAttrib4NusvARB (will be remapped) */
+ /* _mesa_function_pool[3290]: VertexAttrib4NusvARB (will be remapped) */
"ip\0"
"glVertexAttrib4Nusv\0"
"glVertexAttrib4NusvARB\0"
"\0"
- /* _mesa_function_pool[3259]: WindowPos4svMESA (will be remapped) */
+ /* _mesa_function_pool[3337]: WindowPos4svMESA (will be remapped) */
"p\0"
"glWindowPos4svMESA\0"
"\0"
- /* _mesa_function_pool[3281]: CreateProgramObjectARB (will be remapped) */
+ /* _mesa_function_pool[3359]: CreateProgramObjectARB (will be remapped) */
"\0"
"glCreateProgramObjectARB\0"
"\0"
- /* _mesa_function_pool[3308]: DeleteTransformFeedbacks (will be remapped) */
+ /* _mesa_function_pool[3386]: DeleteTransformFeedbacks (will be remapped) */
"ip\0"
"glDeleteTransformFeedbacks\0"
"\0"
- /* _mesa_function_pool[3339]: UniformMatrix4x3fv (will be remapped) */
+ /* _mesa_function_pool[3417]: UniformMatrix4x3fv (will be remapped) */
"iiip\0"
"glUniformMatrix4x3fv\0"
"\0"
- /* _mesa_function_pool[3366]: PrioritizeTextures (offset 331) */
+ /* _mesa_function_pool[3444]: PrioritizeTextures (offset 331) */
"ipp\0"
"glPrioritizeTextures\0"
"glPrioritizeTexturesEXT\0"
"\0"
- /* _mesa_function_pool[3416]: VertexAttribI3uiEXT (will be remapped) */
+ /* _mesa_function_pool[3494]: VertexAttribI3uiEXT (will be remapped) */
"iiii\0"
"glVertexAttribI3uiEXT\0"
"glVertexAttribI3ui\0"
"\0"
- /* _mesa_function_pool[3463]: AsyncMarkerSGIX (dynamic) */
+ /* _mesa_function_pool[3541]: AsyncMarkerSGIX (dynamic) */
"i\0"
"glAsyncMarkerSGIX\0"
"\0"
- /* _mesa_function_pool[3484]: GlobalAlphaFactorubSUN (dynamic) */
+ /* _mesa_function_pool[3562]: GlobalAlphaFactorubSUN (dynamic) */
"i\0"
"glGlobalAlphaFactorubSUN\0"
"\0"
- /* _mesa_function_pool[3512]: ClearColorIuiEXT (will be remapped) */
+ /* _mesa_function_pool[3590]: ClearColorIuiEXT (will be remapped) */
"iiii\0"
"glClearColorIuiEXT\0"
"\0"
- /* _mesa_function_pool[3537]: ClearDebugLogMESA (dynamic) */
+ /* _mesa_function_pool[3615]: ClearDebugLogMESA (dynamic) */
"iii\0"
"glClearDebugLogMESA\0"
"\0"
- /* _mesa_function_pool[3562]: Uniform4uiEXT (will be remapped) */
+ /* _mesa_function_pool[3640]: Uniform4uiEXT (will be remapped) */
"iiiii\0"
"glUniform4uiEXT\0"
"glUniform4ui\0"
"\0"
- /* _mesa_function_pool[3598]: ResetHistogram (offset 369) */
+ /* _mesa_function_pool[3676]: ResetHistogram (offset 369) */
"i\0"
"glResetHistogram\0"
"glResetHistogramEXT\0"
"\0"
- /* _mesa_function_pool[3638]: GetProgramNamedParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[3716]: GetProgramNamedParameterfvNV (will be remapped) */
"iipp\0"
"glGetProgramNamedParameterfvNV\0"
"\0"
- /* _mesa_function_pool[3675]: PointParameterfEXT (will be remapped) */
+ /* _mesa_function_pool[3753]: PointParameterfEXT (will be remapped) */
"if\0"
"glPointParameterf\0"
"glPointParameterfARB\0"
"glPointParameterfEXT\0"
"glPointParameterfSGIS\0"
"\0"
- /* _mesa_function_pool[3761]: LoadIdentityDeformationMapSGIX (dynamic) */
+ /* _mesa_function_pool[3839]: LoadIdentityDeformationMapSGIX (dynamic) */
"i\0"
"glLoadIdentityDeformationMapSGIX\0"
"\0"
- /* _mesa_function_pool[3797]: GenFencesNV (will be remapped) */
+ /* _mesa_function_pool[3875]: GenFencesNV (will be remapped) */
"ip\0"
"glGenFencesNV\0"
"\0"
- /* _mesa_function_pool[3815]: ImageTransformParameterfHP (dynamic) */
+ /* _mesa_function_pool[3893]: ImageTransformParameterfHP (dynamic) */
"iif\0"
"glImageTransformParameterfHP\0"
"\0"
- /* _mesa_function_pool[3849]: MatrixIndexusvARB (dynamic) */
+ /* _mesa_function_pool[3927]: MatrixIndexusvARB (dynamic) */
"ip\0"
"glMatrixIndexusvARB\0"
"\0"
- /* _mesa_function_pool[3873]: DrawElementsBaseVertex (will be remapped) */
+ /* _mesa_function_pool[3951]: DrawElementsBaseVertex (will be remapped) */
"iiipi\0"
"glDrawElementsBaseVertex\0"
"\0"
- /* _mesa_function_pool[3905]: DisableVertexAttribArrayARB (will be remapped) */
+ /* _mesa_function_pool[3983]: DisableVertexAttribArrayARB (will be remapped) */
"i\0"
"glDisableVertexAttribArray\0"
"glDisableVertexAttribArrayARB\0"
"\0"
- /* _mesa_function_pool[3965]: GetnConvolutionFilterARB (will be remapped) */
+ /* _mesa_function_pool[4043]: VertexAttribI4ubvEXT (will be remapped) */
+ "ip\0"
+ "glVertexAttribI4ubvEXT\0"
+ "glVertexAttribI4ubv\0"
+ "\0"
+ /* _mesa_function_pool[4090]: GetnConvolutionFilterARB (will be remapped) */
"iiiip\0"
"glGetnConvolutionFilterARB\0"
"\0"
- /* _mesa_function_pool[3999]: TexCoord2sv (offset 109) */
+ /* _mesa_function_pool[4124]: TexCoord2sv (offset 109) */
"p\0"
"glTexCoord2sv\0"
"\0"
- /* _mesa_function_pool[4016]: Vertex4dv (offset 143) */
+ /* _mesa_function_pool[4141]: Vertex4dv (offset 143) */
"p\0"
"glVertex4dv\0"
"\0"
- /* _mesa_function_pool[4031]: StencilMaskSeparate (will be remapped) */
+ /* _mesa_function_pool[4156]: StencilMaskSeparate (will be remapped) */
"ii\0"
"glStencilMaskSeparate\0"
"\0"
- /* _mesa_function_pool[4057]: ProgramLocalParameter4dARB (will be remapped) */
+ /* _mesa_function_pool[4182]: ProgramLocalParameter4dARB (will be remapped) */
"iidddd\0"
"glProgramLocalParameter4dARB\0"
"\0"
- /* _mesa_function_pool[4094]: CompressedTexImage3DARB (will be remapped) */
+ /* _mesa_function_pool[4219]: CompressedTexImage3DARB (will be remapped) */
"iiiiiiiip\0"
"glCompressedTexImage3D\0"
"glCompressedTexImage3DARB\0"
"\0"
- /* _mesa_function_pool[4154]: Color3sv (offset 18) */
+ /* _mesa_function_pool[4279]: Color3sv (offset 18) */
"p\0"
"glColor3sv\0"
"\0"
- /* _mesa_function_pool[4168]: GetConvolutionParameteriv (offset 358) */
+ /* _mesa_function_pool[4293]: GetConvolutionParameteriv (offset 358) */
"iip\0"
"glGetConvolutionParameteriv\0"
"glGetConvolutionParameterivEXT\0"
"\0"
- /* _mesa_function_pool[4232]: DeleteSamplers (will be remapped) */
+ /* _mesa_function_pool[4357]: DeleteSamplers (will be remapped) */
"ip\0"
"glDeleteSamplers\0"
"\0"
- /* _mesa_function_pool[4253]: VertexAttrib1fARB (will be remapped) */
+ /* _mesa_function_pool[4378]: VertexAttrib1fARB (will be remapped) */
"if\0"
"glVertexAttrib1f\0"
"glVertexAttrib1fARB\0"
"\0"
- /* _mesa_function_pool[4294]: Vertex2dv (offset 127) */
+ /* _mesa_function_pool[4419]: Vertex2dv (offset 127) */
"p\0"
"glVertex2dv\0"
"\0"
- /* _mesa_function_pool[4309]: TestFenceNV (will be remapped) */
+ /* _mesa_function_pool[4434]: TestFenceNV (will be remapped) */
"i\0"
"glTestFenceNV\0"
"\0"
- /* _mesa_function_pool[4326]: GetVertexAttribIuivEXT (will be remapped) */
- "iip\0"
- "glGetVertexAttribIuivEXT\0"
- "glGetVertexAttribIuiv\0"
- "\0"
- /* _mesa_function_pool[4378]: MultiTexCoord1fvARB (offset 379) */
+ /* _mesa_function_pool[4451]: MultiTexCoord1fvARB (offset 379) */
"ip\0"
"glMultiTexCoord1fv\0"
"glMultiTexCoord1fvARB\0"
"\0"
- /* _mesa_function_pool[4423]: TexCoord3iv (offset 115) */
+ /* _mesa_function_pool[4496]: TexCoord3iv (offset 115) */
"p\0"
"glTexCoord3iv\0"
"\0"
- /* _mesa_function_pool[4440]: Uniform2uivEXT (will be remapped) */
+ /* _mesa_function_pool[4513]: Uniform2uivEXT (will be remapped) */
"iip\0"
"glUniform2uivEXT\0"
"glUniform2uiv\0"
"\0"
- /* _mesa_function_pool[4476]: ColorFragmentOp2ATI (will be remapped) */
+ /* _mesa_function_pool[4549]: ColorFragmentOp2ATI (will be remapped) */
"iiiiiiiiii\0"
"glColorFragmentOp2ATI\0"
"\0"
- /* _mesa_function_pool[4510]: SecondaryColorPointerListIBM (dynamic) */
+ /* _mesa_function_pool[4583]: SecondaryColorPointerListIBM (dynamic) */
"iiipi\0"
"glSecondaryColorPointerListIBM\0"
"\0"
- /* _mesa_function_pool[4548]: GetPixelTexGenParameterivSGIS (will be remapped) */
+ /* _mesa_function_pool[4621]: GetPixelTexGenParameterivSGIS (will be remapped) */
"ip\0"
"glGetPixelTexGenParameterivSGIS\0"
"\0"
- /* _mesa_function_pool[4584]: Color3fv (offset 14) */
+ /* _mesa_function_pool[4657]: Color3fv (offset 14) */
"p\0"
"glColor3fv\0"
"\0"
- /* _mesa_function_pool[4598]: GetnPixelMapfvARB (will be remapped) */
+ /* _mesa_function_pool[4671]: GetnPixelMapfvARB (will be remapped) */
"iip\0"
"glGetnPixelMapfvARB\0"
"\0"
- /* _mesa_function_pool[4623]: ReplacementCodeubSUN (dynamic) */
+ /* _mesa_function_pool[4696]: ReplacementCodeubSUN (dynamic) */
"i\0"
"glReplacementCodeubSUN\0"
"\0"
- /* _mesa_function_pool[4649]: FinishAsyncSGIX (dynamic) */
+ /* _mesa_function_pool[4722]: FinishAsyncSGIX (dynamic) */
"p\0"
"glFinishAsyncSGIX\0"
"\0"
- /* _mesa_function_pool[4670]: GetnUniformfvARB (will be remapped) */
+ /* _mesa_function_pool[4743]: GetnUniformfvARB (will be remapped) */
"iiip\0"
"glGetnUniformfvARB\0"
"\0"
- /* _mesa_function_pool[4695]: GetDebugLogMESA (dynamic) */
+ /* _mesa_function_pool[4768]: GetDebugLogMESA (dynamic) */
"iiiipp\0"
"glGetDebugLogMESA\0"
"\0"
- /* _mesa_function_pool[4721]: FogCoorddEXT (will be remapped) */
+ /* _mesa_function_pool[4794]: FogCoorddEXT (will be remapped) */
"d\0"
"glFogCoordd\0"
"glFogCoorddEXT\0"
"\0"
- /* _mesa_function_pool[4751]: BeginConditionalRenderNV (will be remapped) */
+ /* _mesa_function_pool[4824]: BeginConditionalRenderNV (will be remapped) */
"ii\0"
"glBeginConditionalRenderNV\0"
"glBeginConditionalRender\0"
"\0"
- /* _mesa_function_pool[4807]: Color4ubVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[4880]: Color4ubVertex3fSUN (dynamic) */
"iiiifff\0"
"glColor4ubVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[4838]: FogCoordfEXT (will be remapped) */
+ /* _mesa_function_pool[4911]: FogCoordfEXT (will be remapped) */
"f\0"
"glFogCoordf\0"
"glFogCoordfEXT\0"
"\0"
- /* _mesa_function_pool[4868]: PointSize (offset 173) */
+ /* _mesa_function_pool[4941]: PointSize (offset 173) */
"f\0"
"glPointSize\0"
"\0"
- /* _mesa_function_pool[4883]: VertexAttribI2uivEXT (will be remapped) */
+ /* _mesa_function_pool[4956]: VertexAttribI2uivEXT (will be remapped) */
"ip\0"
"glVertexAttribI2uivEXT\0"
"glVertexAttribI2uiv\0"
"\0"
- /* _mesa_function_pool[4930]: TexCoord2fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[5003]: TexCoord2fVertex3fSUN (dynamic) */
"fffff\0"
"glTexCoord2fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[4961]: PopName (offset 200) */
+ /* _mesa_function_pool[5034]: PopName (offset 200) */
"\0"
"glPopName\0"
"\0"
- /* _mesa_function_pool[4973]: GetSamplerParameterfv (will be remapped) */
+ /* _mesa_function_pool[5046]: GetSamplerParameterfv (will be remapped) */
"iip\0"
"glGetSamplerParameterfv\0"
"\0"
- /* _mesa_function_pool[5002]: GlobalAlphaFactoriSUN (dynamic) */
+ /* _mesa_function_pool[5075]: GlobalAlphaFactoriSUN (dynamic) */
"i\0"
"glGlobalAlphaFactoriSUN\0"
"\0"
- /* _mesa_function_pool[5029]: VertexAttrib2dNV (will be remapped) */
+ /* _mesa_function_pool[5102]: VertexAttrib2dNV (will be remapped) */
"idd\0"
"glVertexAttrib2dNV\0"
"\0"
- /* _mesa_function_pool[5053]: GetProgramInfoLog (will be remapped) */
+ /* _mesa_function_pool[5126]: GetProgramInfoLog (will be remapped) */
"iipp\0"
"glGetProgramInfoLog\0"
"\0"
- /* _mesa_function_pool[5079]: VertexAttrib4NbvARB (will be remapped) */
+ /* _mesa_function_pool[5152]: VertexAttrib4NbvARB (will be remapped) */
"ip\0"
"glVertexAttrib4Nbv\0"
"glVertexAttrib4NbvARB\0"
"\0"
- /* _mesa_function_pool[5124]: GetActiveAttribARB (will be remapped) */
+ /* _mesa_function_pool[5197]: GetActiveAttribARB (will be remapped) */
"iiipppp\0"
"glGetActiveAttrib\0"
"glGetActiveAttribARB\0"
"\0"
- /* _mesa_function_pool[5172]: Vertex4sv (offset 149) */
+ /* _mesa_function_pool[5245]: Vertex4sv (offset 149) */
"p\0"
"glVertex4sv\0"
"\0"
- /* _mesa_function_pool[5187]: VertexAttrib4ubNV (will be remapped) */
+ /* _mesa_function_pool[5260]: VertexAttrib4ubNV (will be remapped) */
"iiiii\0"
"glVertexAttrib4ubNV\0"
"\0"
- /* _mesa_function_pool[5214]: VertexAttribI1ivEXT (will be remapped) */
+ /* _mesa_function_pool[5287]: VertexAttribI1ivEXT (will be remapped) */
"ip\0"
"glVertexAttribI1ivEXT\0"
"glVertexAttribI1iv\0"
"\0"
- /* _mesa_function_pool[5259]: ClampColor (will be remapped) */
+ /* _mesa_function_pool[5332]: ClampColor (will be remapped) */
"ii\0"
"glClampColor\0"
"\0"
- /* _mesa_function_pool[5276]: TextureRangeAPPLE (will be remapped) */
+ /* _mesa_function_pool[5349]: TextureRangeAPPLE (will be remapped) */
"iip\0"
"glTextureRangeAPPLE\0"
"\0"
- /* _mesa_function_pool[5301]: GetTexEnvfv (offset 276) */
+ /* _mesa_function_pool[5374]: GetTexEnvfv (offset 276) */
"iip\0"
"glGetTexEnvfv\0"
"\0"
- /* _mesa_function_pool[5320]: BindTransformFeedback (will be remapped) */
+ /* _mesa_function_pool[5393]: BindTransformFeedback (will be remapped) */
"ii\0"
"glBindTransformFeedback\0"
"\0"
- /* _mesa_function_pool[5348]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[5421]: TexCoord2fColor4fNormal3fVertex3fSUN (dynamic) */
"ffffffffffff\0"
"glTexCoord2fColor4fNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[5401]: Indexub (offset 315) */
+ /* _mesa_function_pool[5474]: Indexub (offset 315) */
"i\0"
"glIndexub\0"
"\0"
- /* _mesa_function_pool[5414]: VertexAttrib4fNV (will be remapped) */
+ /* _mesa_function_pool[5487]: VertexAttrib4fNV (will be remapped) */
"iffff\0"
"glVertexAttrib4fNV\0"
"\0"
- /* _mesa_function_pool[5440]: TexEnvi (offset 186) */
+ /* _mesa_function_pool[5513]: TexEnvi (offset 186) */
"iii\0"
"glTexEnvi\0"
"\0"
- /* _mesa_function_pool[5455]: GetClipPlane (offset 259) */
+ /* _mesa_function_pool[5528]: GetClipPlane (offset 259) */
"ip\0"
"glGetClipPlane\0"
"\0"
- /* _mesa_function_pool[5474]: CombinerParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[5547]: CombinerParameterfvNV (will be remapped) */
"ip\0"
"glCombinerParameterfvNV\0"
"\0"
- /* _mesa_function_pool[5502]: VertexAttribs3dvNV (will be remapped) */
+ /* _mesa_function_pool[5575]: VertexAttribs3dvNV (will be remapped) */
"iip\0"
"glVertexAttribs3dvNV\0"
"\0"
- /* _mesa_function_pool[5528]: VertexAttribI2uiEXT (will be remapped) */
+ /* _mesa_function_pool[5601]: VertexAttribI2uiEXT (will be remapped) */
"iii\0"
"glVertexAttribI2uiEXT\0"
"glVertexAttribI2ui\0"
"\0"
- /* _mesa_function_pool[5574]: VertexAttribs4fvNV (will be remapped) */
+ /* _mesa_function_pool[5647]: VertexAttribs4fvNV (will be remapped) */
"iip\0"
"glVertexAttribs4fvNV\0"
"\0"
- /* _mesa_function_pool[5600]: VertexArrayRangeNV (will be remapped) */
+ /* _mesa_function_pool[5673]: VertexArrayRangeNV (will be remapped) */
"ip\0"
"glVertexArrayRangeNV\0"
"\0"
- /* _mesa_function_pool[5625]: FragmentLightiSGIX (dynamic) */
+ /* _mesa_function_pool[5698]: FragmentLightiSGIX (dynamic) */
"iii\0"
"glFragmentLightiSGIX\0"
"\0"
- /* _mesa_function_pool[5651]: PolygonOffsetEXT (will be remapped) */
+ /* _mesa_function_pool[5724]: PolygonOffsetEXT (will be remapped) */
"ff\0"
"glPolygonOffsetEXT\0"
"\0"
- /* _mesa_function_pool[5674]: VertexAttribI4uivEXT (will be remapped) */
+ /* _mesa_function_pool[5747]: VertexAttribI4uivEXT (will be remapped) */
"ip\0"
"glVertexAttribI4uivEXT\0"
"glVertexAttribI4uiv\0"
"\0"
- /* _mesa_function_pool[5721]: PollAsyncSGIX (dynamic) */
+ /* _mesa_function_pool[5794]: PollAsyncSGIX (dynamic) */
"p\0"
"glPollAsyncSGIX\0"
"\0"
- /* _mesa_function_pool[5740]: DeleteFragmentShaderATI (will be remapped) */
+ /* _mesa_function_pool[5813]: DeleteFragmentShaderATI (will be remapped) */
"i\0"
"glDeleteFragmentShaderATI\0"
"\0"
- /* _mesa_function_pool[5769]: Scaled (offset 301) */
+ /* _mesa_function_pool[5842]: Scaled (offset 301) */
"ddd\0"
"glScaled\0"
"\0"
- /* _mesa_function_pool[5783]: ResumeTransformFeedback (will be remapped) */
+ /* _mesa_function_pool[5856]: ResumeTransformFeedback (will be remapped) */
"\0"
"glResumeTransformFeedback\0"
"\0"
- /* _mesa_function_pool[5811]: Scalef (offset 302) */
+ /* _mesa_function_pool[5884]: Scalef (offset 302) */
"fff\0"
"glScalef\0"
"\0"
- /* _mesa_function_pool[5825]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[5898]: TexCoord2fNormal3fVertex3fvSUN (dynamic) */
"ppp\0"
"glTexCoord2fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[5863]: ProgramEnvParameters4fvEXT (will be remapped) */
+ /* _mesa_function_pool[5936]: ProgramEnvParameters4fvEXT (will be remapped) */
"iiip\0"
"glProgramEnvParameters4fvEXT\0"
"\0"
- /* _mesa_function_pool[5898]: MultTransposeMatrixdARB (will be remapped) */
+ /* _mesa_function_pool[5971]: MultTransposeMatrixdARB (will be remapped) */
"p\0"
"glMultTransposeMatrixd\0"
"glMultTransposeMatrixdARB\0"
"\0"
- /* _mesa_function_pool[5950]: ColorMaskIndexedEXT (will be remapped) */
- "iiiii\0"
- "glColorMaskIndexedEXT\0"
- "glColorMaski\0"
- "\0"
- /* _mesa_function_pool[5992]: ObjectUnpurgeableAPPLE (will be remapped) */
+ /* _mesa_function_pool[6023]: ObjectUnpurgeableAPPLE (will be remapped) */
"iii\0"
"glObjectUnpurgeableAPPLE\0"
"\0"
- /* _mesa_function_pool[6022]: AlphaFunc (offset 240) */
+ /* _mesa_function_pool[6053]: AlphaFunc (offset 240) */
"if\0"
"glAlphaFunc\0"
"\0"
- /* _mesa_function_pool[6038]: WindowPos2svMESA (will be remapped) */
+ /* _mesa_function_pool[6069]: WindowPos2svMESA (will be remapped) */
"p\0"
"glWindowPos2sv\0"
"glWindowPos2svARB\0"
"glWindowPos2svMESA\0"
"\0"
- /* _mesa_function_pool[6093]: EdgeFlag (offset 41) */
+ /* _mesa_function_pool[6124]: EdgeFlag (offset 41) */
"i\0"
"glEdgeFlag\0"
"\0"
- /* _mesa_function_pool[6107]: TexCoord2iv (offset 107) */
+ /* _mesa_function_pool[6138]: TexCoord2iv (offset 107) */
"p\0"
"glTexCoord2iv\0"
"\0"
- /* _mesa_function_pool[6124]: CompressedTexImage1DARB (will be remapped) */
+ /* _mesa_function_pool[6155]: CompressedTexImage1DARB (will be remapped) */
"iiiiiip\0"
"glCompressedTexImage1D\0"
"glCompressedTexImage1DARB\0"
"\0"
- /* _mesa_function_pool[6182]: Rotated (offset 299) */
+ /* _mesa_function_pool[6213]: Rotated (offset 299) */
"dddd\0"
"glRotated\0"
"\0"
- /* _mesa_function_pool[6198]: GetTexParameterIuivEXT (will be remapped) */
+ /* _mesa_function_pool[6229]: GetTexParameterIuivEXT (will be remapped) */
"iip\0"
"glGetTexParameterIuivEXT\0"
"glGetTexParameterIuiv\0"
"\0"
- /* _mesa_function_pool[6250]: VertexAttrib2sNV (will be remapped) */
+ /* _mesa_function_pool[6281]: VertexAttrib2sNV (will be remapped) */
"iii\0"
"glVertexAttrib2sNV\0"
"\0"
- /* _mesa_function_pool[6274]: ReadPixels (offset 256) */
+ /* _mesa_function_pool[6305]: ReadPixels (offset 256) */
"iiiiiip\0"
"glReadPixels\0"
"\0"
- /* _mesa_function_pool[6296]: VertexAttribDivisorARB (will be remapped) */
+ /* _mesa_function_pool[6327]: VertexAttribDivisorARB (will be remapped) */
"ii\0"
"glVertexAttribDivisorARB\0"
"\0"
- /* _mesa_function_pool[6325]: EdgeFlagv (offset 42) */
+ /* _mesa_function_pool[6356]: EdgeFlagv (offset 42) */
"p\0"
"glEdgeFlagv\0"
"\0"
- /* _mesa_function_pool[6340]: NormalPointerListIBM (dynamic) */
+ /* _mesa_function_pool[6371]: NormalPointerListIBM (dynamic) */
"iipi\0"
"glNormalPointerListIBM\0"
"\0"
- /* _mesa_function_pool[6369]: IndexPointerEXT (will be remapped) */
+ /* _mesa_function_pool[6400]: IndexPointerEXT (will be remapped) */
"iiip\0"
"glIndexPointerEXT\0"
"\0"
- /* _mesa_function_pool[6393]: Color4iv (offset 32) */
+ /* _mesa_function_pool[6424]: Color4iv (offset 32) */
"p\0"
"glColor4iv\0"
"\0"
- /* _mesa_function_pool[6407]: TexParameterf (offset 178) */
+ /* _mesa_function_pool[6438]: TexParameterf (offset 178) */
"iif\0"
"glTexParameterf\0"
"\0"
- /* _mesa_function_pool[6428]: TexParameteri (offset 180) */
+ /* _mesa_function_pool[6459]: TexParameteri (offset 180) */
"iii\0"
"glTexParameteri\0"
"\0"
- /* _mesa_function_pool[6449]: NormalPointerEXT (will be remapped) */
+ /* _mesa_function_pool[6480]: NormalPointerEXT (will be remapped) */
"iiip\0"
"glNormalPointerEXT\0"
"\0"
- /* _mesa_function_pool[6474]: MultiTexCoord3dARB (offset 392) */
+ /* _mesa_function_pool[6505]: MultiTexCoord3dARB (offset 392) */
"iddd\0"
"glMultiTexCoord3d\0"
"glMultiTexCoord3dARB\0"
"\0"
- /* _mesa_function_pool[6519]: MultiTexCoord2iARB (offset 388) */
+ /* _mesa_function_pool[6550]: MultiTexCoord2iARB (offset 388) */
"iii\0"
"glMultiTexCoord2i\0"
"glMultiTexCoord2iARB\0"
"\0"
- /* _mesa_function_pool[6563]: DrawPixels (offset 257) */
+ /* _mesa_function_pool[6594]: DrawPixels (offset 257) */
"iiiip\0"
"glDrawPixels\0"
"\0"
- /* _mesa_function_pool[6583]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[6614]: ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (dynamic) */
"iffffffff\0"
"glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[6643]: MultiTexCoord2svARB (offset 391) */
+ /* _mesa_function_pool[6674]: MultiTexCoord2svARB (offset 391) */
"ip\0"
"glMultiTexCoord2sv\0"
"glMultiTexCoord2svARB\0"
"\0"
- /* _mesa_function_pool[6688]: ReplacementCodeubvSUN (dynamic) */
+ /* _mesa_function_pool[6719]: ReplacementCodeubvSUN (dynamic) */
"p\0"
"glReplacementCodeubvSUN\0"
"\0"
- /* _mesa_function_pool[6715]: Uniform3iARB (will be remapped) */
+ /* _mesa_function_pool[6746]: Uniform3iARB (will be remapped) */
"iiii\0"
"glUniform3i\0"
"glUniform3iARB\0"
"\0"
- /* _mesa_function_pool[6748]: DrawTransformFeedback (will be remapped) */
+ /* _mesa_function_pool[6779]: DrawTransformFeedback (will be remapped) */
"ii\0"
"glDrawTransformFeedback\0"
"\0"
- /* _mesa_function_pool[6776]: DrawElementsInstancedARB (will be remapped) */
+ /* _mesa_function_pool[6807]: DrawElementsInstancedARB (will be remapped) */
"iiipi\0"
"glDrawElementsInstancedARB\0"
"glDrawElementsInstancedEXT\0"
"glDrawElementsInstanced\0"
"\0"
- /* _mesa_function_pool[6861]: GetShaderInfoLog (will be remapped) */
+ /* _mesa_function_pool[6892]: GetShaderInfoLog (will be remapped) */
"iipp\0"
"glGetShaderInfoLog\0"
"\0"
- /* _mesa_function_pool[6886]: WeightivARB (dynamic) */
+ /* _mesa_function_pool[6917]: WeightivARB (dynamic) */
"ip\0"
"glWeightivARB\0"
"\0"
- /* _mesa_function_pool[6904]: PollInstrumentsSGIX (dynamic) */
+ /* _mesa_function_pool[6935]: PollInstrumentsSGIX (dynamic) */
"p\0"
"glPollInstrumentsSGIX\0"
"\0"
- /* _mesa_function_pool[6929]: GlobalAlphaFactordSUN (dynamic) */
+ /* _mesa_function_pool[6960]: GlobalAlphaFactordSUN (dynamic) */
"d\0"
"glGlobalAlphaFactordSUN\0"
"\0"
- /* _mesa_function_pool[6956]: GetFinalCombinerInputParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[6987]: GetFinalCombinerInputParameterfvNV (will be remapped) */
"iip\0"
"glGetFinalCombinerInputParameterfvNV\0"
"\0"
- /* _mesa_function_pool[6998]: GenerateMipmapEXT (will be remapped) */
+ /* _mesa_function_pool[7029]: GenerateMipmapEXT (will be remapped) */
"i\0"
"glGenerateMipmap\0"
"glGenerateMipmapEXT\0"
"\0"
- /* _mesa_function_pool[7038]: GenLists (offset 5) */
+ /* _mesa_function_pool[7069]: GenLists (offset 5) */
"i\0"
"glGenLists\0"
"\0"
- /* _mesa_function_pool[7052]: DepthRangef (will be remapped) */
+ /* _mesa_function_pool[7083]: DepthRangef (will be remapped) */
"ff\0"
"glDepthRangef\0"
"\0"
- /* _mesa_function_pool[7070]: GetMapAttribParameterivNV (dynamic) */
+ /* _mesa_function_pool[7101]: GetMapAttribParameterivNV (dynamic) */
"iiip\0"
"glGetMapAttribParameterivNV\0"
"\0"
- /* _mesa_function_pool[7104]: CreateShaderObjectARB (will be remapped) */
+ /* _mesa_function_pool[7135]: CreateShaderObjectARB (will be remapped) */
"i\0"
"glCreateShaderObjectARB\0"
"\0"
- /* _mesa_function_pool[7131]: GetSharpenTexFuncSGIS (dynamic) */
+ /* _mesa_function_pool[7162]: GetSharpenTexFuncSGIS (dynamic) */
"ip\0"
"glGetSharpenTexFuncSGIS\0"
"\0"
- /* _mesa_function_pool[7159]: BufferDataARB (will be remapped) */
+ /* _mesa_function_pool[7190]: BufferDataARB (will be remapped) */
"iipi\0"
"glBufferData\0"
"glBufferDataARB\0"
"\0"
- /* _mesa_function_pool[7194]: FlushVertexArrayRangeNV (will be remapped) */
+ /* _mesa_function_pool[7225]: FlushVertexArrayRangeNV (will be remapped) */
"\0"
"glFlushVertexArrayRangeNV\0"
"\0"
- /* _mesa_function_pool[7222]: MapGrid2d (offset 226) */
+ /* _mesa_function_pool[7253]: MapGrid2d (offset 226) */
"iddidd\0"
"glMapGrid2d\0"
"\0"
- /* _mesa_function_pool[7242]: MapGrid2f (offset 227) */
+ /* _mesa_function_pool[7273]: MapGrid2f (offset 227) */
"iffiff\0"
"glMapGrid2f\0"
"\0"
- /* _mesa_function_pool[7262]: SampleMapATI (will be remapped) */
+ /* _mesa_function_pool[7293]: SampleMapATI (will be remapped) */
"iii\0"
"glSampleMapATI\0"
"\0"
- /* _mesa_function_pool[7282]: VertexPointerEXT (will be remapped) */
+ /* _mesa_function_pool[7313]: VertexPointerEXT (will be remapped) */
"iiiip\0"
"glVertexPointerEXT\0"
"\0"
- /* _mesa_function_pool[7308]: GetTexFilterFuncSGIS (dynamic) */
+ /* _mesa_function_pool[7339]: GetTexFilterFuncSGIS (dynamic) */
"iip\0"
"glGetTexFilterFuncSGIS\0"
"\0"
- /* _mesa_function_pool[7336]: Scissor (offset 176) */
+ /* _mesa_function_pool[7367]: Scissor (offset 176) */
"iiii\0"
"glScissor\0"
"\0"
- /* _mesa_function_pool[7352]: Fogf (offset 153) */
+ /* _mesa_function_pool[7383]: Fogf (offset 153) */
"if\0"
"glFogf\0"
"\0"
- /* _mesa_function_pool[7363]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[7394]: ReplacementCodeuiColor4ubVertex3fvSUN (dynamic) */
"ppp\0"
"glReplacementCodeuiColor4ubVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[7408]: TexSubImage1D (offset 332) */
+ /* _mesa_function_pool[7439]: TexSubImage1D (offset 332) */
"iiiiiip\0"
"glTexSubImage1D\0"
"glTexSubImage1DEXT\0"
"\0"
- /* _mesa_function_pool[7452]: VertexAttrib1sARB (will be remapped) */
+ /* _mesa_function_pool[7483]: VertexAttrib1sARB (will be remapped) */
"ii\0"
"glVertexAttrib1s\0"
"glVertexAttrib1sARB\0"
"\0"
- /* _mesa_function_pool[7493]: FenceSync (will be remapped) */
+ /* _mesa_function_pool[7524]: FenceSync (will be remapped) */
"ii\0"
"glFenceSync\0"
"\0"
- /* _mesa_function_pool[7509]: Color4usv (offset 40) */
+ /* _mesa_function_pool[7540]: Color4usv (offset 40) */
"p\0"
"glColor4usv\0"
"\0"
- /* _mesa_function_pool[7524]: Fogi (offset 155) */
+ /* _mesa_function_pool[7555]: Fogi (offset 155) */
"ii\0"
"glFogi\0"
"\0"
- /* _mesa_function_pool[7535]: DepthRange (offset 288) */
+ /* _mesa_function_pool[7566]: DepthRange (offset 288) */
"dd\0"
"glDepthRange\0"
"\0"
- /* _mesa_function_pool[7552]: RasterPos3iv (offset 75) */
+ /* _mesa_function_pool[7583]: RasterPos3iv (offset 75) */
"p\0"
"glRasterPos3iv\0"
"\0"
- /* _mesa_function_pool[7570]: FinalCombinerInputNV (will be remapped) */
+ /* _mesa_function_pool[7601]: FinalCombinerInputNV (will be remapped) */
"iiii\0"
"glFinalCombinerInputNV\0"
"\0"
- /* _mesa_function_pool[7599]: TexCoord2i (offset 106) */
+ /* _mesa_function_pool[7630]: TexCoord2i (offset 106) */
"ii\0"
"glTexCoord2i\0"
"\0"
- /* _mesa_function_pool[7616]: PixelMapfv (offset 251) */
+ /* _mesa_function_pool[7647]: PixelMapfv (offset 251) */
"iip\0"
"glPixelMapfv\0"
"\0"
- /* _mesa_function_pool[7634]: Color4ui (offset 37) */
+ /* _mesa_function_pool[7665]: Color4ui (offset 37) */
"iiii\0"
"glColor4ui\0"
"\0"
- /* _mesa_function_pool[7651]: RasterPos3s (offset 76) */
+ /* _mesa_function_pool[7682]: RasterPos3s (offset 76) */
"iii\0"
"glRasterPos3s\0"
"\0"
- /* _mesa_function_pool[7670]: Color3usv (offset 24) */
+ /* _mesa_function_pool[7701]: Color3usv (offset 24) */
"p\0"
"glColor3usv\0"
"\0"
- /* _mesa_function_pool[7685]: FlushRasterSGIX (dynamic) */
+ /* _mesa_function_pool[7716]: FlushRasterSGIX (dynamic) */
"\0"
"glFlushRasterSGIX\0"
"\0"
- /* _mesa_function_pool[7705]: TexCoord2f (offset 104) */
+ /* _mesa_function_pool[7736]: TexCoord2f (offset 104) */
"ff\0"
"glTexCoord2f\0"
"\0"
- /* _mesa_function_pool[7722]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[7753]: ReplacementCodeuiTexCoord2fVertex3fSUN (dynamic) */
"ifffff\0"
"glReplacementCodeuiTexCoord2fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[7771]: TexCoord2d (offset 102) */
+ /* _mesa_function_pool[7802]: TexCoord2d (offset 102) */
"dd\0"
"glTexCoord2d\0"
"\0"
- /* _mesa_function_pool[7788]: RasterPos3d (offset 70) */
+ /* _mesa_function_pool[7819]: RasterPos3d (offset 70) */
"ddd\0"
"glRasterPos3d\0"
"\0"
- /* _mesa_function_pool[7807]: RasterPos3f (offset 72) */
+ /* _mesa_function_pool[7838]: RasterPos3f (offset 72) */
"fff\0"
"glRasterPos3f\0"
"\0"
- /* _mesa_function_pool[7826]: Uniform1fARB (will be remapped) */
+ /* _mesa_function_pool[7857]: Uniform1fARB (will be remapped) */
"if\0"
"glUniform1f\0"
"glUniform1fARB\0"
"\0"
- /* _mesa_function_pool[7857]: AreTexturesResident (offset 322) */
+ /* _mesa_function_pool[7888]: AreTexturesResident (offset 322) */
"ipp\0"
"glAreTexturesResident\0"
"glAreTexturesResidentEXT\0"
"\0"
- /* _mesa_function_pool[7909]: TexCoord2s (offset 108) */
+ /* _mesa_function_pool[7940]: TexCoord2s (offset 108) */
"ii\0"
"glTexCoord2s\0"
"\0"
- /* _mesa_function_pool[7926]: StencilOpSeparate (will be remapped) */
+ /* _mesa_function_pool[7957]: StencilOpSeparate (will be remapped) */
"iiii\0"
"glStencilOpSeparate\0"
"glStencilOpSeparateATI\0"
"\0"
- /* _mesa_function_pool[7975]: ColorTableParameteriv (offset 341) */
+ /* _mesa_function_pool[8006]: ColorTableParameteriv (offset 341) */
"iip\0"
"glColorTableParameteriv\0"
"glColorTableParameterivSGI\0"
"\0"
- /* _mesa_function_pool[8031]: FogCoordPointerListIBM (dynamic) */
+ /* _mesa_function_pool[8062]: FogCoordPointerListIBM (dynamic) */
"iipi\0"
"glFogCoordPointerListIBM\0"
"\0"
- /* _mesa_function_pool[8062]: WindowPos3dMESA (will be remapped) */
+ /* _mesa_function_pool[8093]: WindowPos3dMESA (will be remapped) */
"ddd\0"
"glWindowPos3d\0"
"glWindowPos3dARB\0"
"glWindowPos3dMESA\0"
"\0"
- /* _mesa_function_pool[8116]: Color4us (offset 39) */
+ /* _mesa_function_pool[8147]: Color4us (offset 39) */
"iiii\0"
"glColor4us\0"
"\0"
- /* _mesa_function_pool[8133]: PointParameterfvEXT (will be remapped) */
+ /* _mesa_function_pool[8164]: PointParameterfvEXT (will be remapped) */
"ip\0"
"glPointParameterfv\0"
"glPointParameterfvARB\0"
"glPointParameterfvEXT\0"
"glPointParameterfvSGIS\0"
"\0"
- /* _mesa_function_pool[8223]: Color3bv (offset 10) */
+ /* _mesa_function_pool[8254]: Color3bv (offset 10) */
"p\0"
"glColor3bv\0"
"\0"
- /* _mesa_function_pool[8237]: GetnCompressedTexImageARB (will be remapped) */
+ /* _mesa_function_pool[8268]: GetnCompressedTexImageARB (will be remapped) */
"iiip\0"
"glGetnCompressedTexImageARB\0"
"\0"
- /* _mesa_function_pool[8271]: WindowPos2fvMESA (will be remapped) */
+ /* _mesa_function_pool[8302]: WindowPos2fvMESA (will be remapped) */
"p\0"
"glWindowPos2fv\0"
"glWindowPos2fvARB\0"
"glWindowPos2fvMESA\0"
"\0"
- /* _mesa_function_pool[8326]: SecondaryColor3bvEXT (will be remapped) */
+ /* _mesa_function_pool[8357]: SecondaryColor3bvEXT (will be remapped) */
"p\0"
"glSecondaryColor3bv\0"
"glSecondaryColor3bvEXT\0"
"\0"
- /* _mesa_function_pool[8372]: VertexPointerListIBM (dynamic) */
+ /* _mesa_function_pool[8403]: VertexPointerListIBM (dynamic) */
"iiipi\0"
"glVertexPointerListIBM\0"
"\0"
- /* _mesa_function_pool[8402]: GetProgramLocalParameterfvARB (will be remapped) */
+ /* _mesa_function_pool[8433]: GetProgramLocalParameterfvARB (will be remapped) */
"iip\0"
"glGetProgramLocalParameterfvARB\0"
"\0"
- /* _mesa_function_pool[8439]: FragmentMaterialfSGIX (dynamic) */
+ /* _mesa_function_pool[8470]: FragmentMaterialfSGIX (dynamic) */
"iif\0"
"glFragmentMaterialfSGIX\0"
"\0"
- /* _mesa_function_pool[8468]: BindSampler (will be remapped) */
+ /* _mesa_function_pool[8499]: BindSampler (will be remapped) */
"ii\0"
"glBindSampler\0"
"\0"
- /* _mesa_function_pool[8486]: RenderbufferStorageEXT (will be remapped) */
+ /* _mesa_function_pool[8517]: RenderbufferStorageEXT (will be remapped) */
"iiii\0"
"glRenderbufferStorage\0"
"glRenderbufferStorageEXT\0"
"\0"
- /* _mesa_function_pool[8539]: IsFenceNV (will be remapped) */
+ /* _mesa_function_pool[8570]: IsFenceNV (will be remapped) */
"i\0"
"glIsFenceNV\0"
"\0"
- /* _mesa_function_pool[8554]: AttachObjectARB (will be remapped) */
+ /* _mesa_function_pool[8585]: AttachObjectARB (will be remapped) */
"ii\0"
"glAttachObjectARB\0"
"\0"
- /* _mesa_function_pool[8576]: GetFragmentLightivSGIX (dynamic) */
+ /* _mesa_function_pool[8607]: GetFragmentLightivSGIX (dynamic) */
"iip\0"
"glGetFragmentLightivSGIX\0"
"\0"
- /* _mesa_function_pool[8606]: UniformMatrix2fvARB (will be remapped) */
+ /* _mesa_function_pool[8637]: UniformMatrix2fvARB (will be remapped) */
"iiip\0"
"glUniformMatrix2fv\0"
"glUniformMatrix2fvARB\0"
"\0"
- /* _mesa_function_pool[8653]: MultiTexCoord2fARB (offset 386) */
+ /* _mesa_function_pool[8684]: MultiTexCoord2fARB (offset 386) */
"iff\0"
"glMultiTexCoord2f\0"
"glMultiTexCoord2fARB\0"
"\0"
- /* _mesa_function_pool[8697]: ColorTable (offset 339) */
+ /* _mesa_function_pool[8728]: ColorTable (offset 339) */
"iiiiip\0"
"glColorTable\0"
"glColorTableSGI\0"
"glColorTableEXT\0"
"\0"
- /* _mesa_function_pool[8750]: IndexPointer (offset 314) */
+ /* _mesa_function_pool[8781]: IndexPointer (offset 314) */
"iip\0"
"glIndexPointer\0"
"\0"
- /* _mesa_function_pool[8770]: Accum (offset 213) */
+ /* _mesa_function_pool[8801]: Accum (offset 213) */
"if\0"
"glAccum\0"
"\0"
- /* _mesa_function_pool[8782]: GetTexImage (offset 281) */
+ /* _mesa_function_pool[8813]: GetTexImage (offset 281) */
"iiiip\0"
"glGetTexImage\0"
"\0"
- /* _mesa_function_pool[8803]: MapControlPointsNV (dynamic) */
+ /* _mesa_function_pool[8834]: MapControlPointsNV (dynamic) */
"iiiiiiiip\0"
"glMapControlPointsNV\0"
"\0"
- /* _mesa_function_pool[8835]: ConvolutionFilter2D (offset 349) */
+ /* _mesa_function_pool[8866]: ConvolutionFilter2D (offset 349) */
"iiiiiip\0"
"glConvolutionFilter2D\0"
"glConvolutionFilter2DEXT\0"
"\0"
- /* _mesa_function_pool[8891]: Finish (offset 216) */
+ /* _mesa_function_pool[8922]: Finish (offset 216) */
"\0"
"glFinish\0"
"\0"
- /* _mesa_function_pool[8902]: MapParameterfvNV (dynamic) */
+ /* _mesa_function_pool[8933]: MapParameterfvNV (dynamic) */
"iip\0"
"glMapParameterfvNV\0"
"\0"
- /* _mesa_function_pool[8926]: ClearStencil (offset 207) */
+ /* _mesa_function_pool[8957]: ClearStencil (offset 207) */
"i\0"
"glClearStencil\0"
"\0"
- /* _mesa_function_pool[8944]: VertexAttrib3dvARB (will be remapped) */
+ /* _mesa_function_pool[8975]: VertexAttrib3dvARB (will be remapped) */
"ip\0"
"glVertexAttrib3dv\0"
"glVertexAttrib3dvARB\0"
"\0"
- /* _mesa_function_pool[8987]: Uniform4uivEXT (will be remapped) */
+ /* _mesa_function_pool[9018]: Uniform4uivEXT (will be remapped) */
"iip\0"
"glUniform4uivEXT\0"
"glUniform4uiv\0"
"\0"
- /* _mesa_function_pool[9023]: HintPGI (dynamic) */
+ /* _mesa_function_pool[9054]: HintPGI (dynamic) */
"ii\0"
"glHintPGI\0"
"\0"
- /* _mesa_function_pool[9037]: ConvolutionParameteriv (offset 353) */
+ /* _mesa_function_pool[9068]: ConvolutionParameteriv (offset 353) */
"iip\0"
"glConvolutionParameteriv\0"
"glConvolutionParameterivEXT\0"
"\0"
- /* _mesa_function_pool[9095]: Color4s (offset 33) */
+ /* _mesa_function_pool[9126]: Color4s (offset 33) */
"iiii\0"
"glColor4s\0"
"\0"
- /* _mesa_function_pool[9111]: InterleavedArrays (offset 317) */
+ /* _mesa_function_pool[9142]: InterleavedArrays (offset 317) */
"iip\0"
"glInterleavedArrays\0"
"\0"
- /* _mesa_function_pool[9136]: RasterPos2fv (offset 65) */
+ /* _mesa_function_pool[9167]: RasterPos2fv (offset 65) */
"p\0"
"glRasterPos2fv\0"
"\0"
- /* _mesa_function_pool[9154]: TexCoord1fv (offset 97) */
+ /* _mesa_function_pool[9185]: TexCoord1fv (offset 97) */
"p\0"
"glTexCoord1fv\0"
"\0"
- /* _mesa_function_pool[9171]: Vertex2d (offset 126) */
+ /* _mesa_function_pool[9202]: Vertex2d (offset 126) */
"dd\0"
"glVertex2d\0"
"\0"
- /* _mesa_function_pool[9186]: CullParameterdvEXT (dynamic) */
+ /* _mesa_function_pool[9217]: CullParameterdvEXT (dynamic) */
"ip\0"
"glCullParameterdvEXT\0"
"\0"
- /* _mesa_function_pool[9211]: ProgramNamedParameter4fNV (will be remapped) */
+ /* _mesa_function_pool[9242]: ProgramNamedParameter4fNV (will be remapped) */
"iipffff\0"
"glProgramNamedParameter4fNV\0"
"\0"
- /* _mesa_function_pool[9248]: Color3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[9279]: Color3fVertex3fSUN (dynamic) */
"ffffff\0"
"glColor3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[9277]: ProgramEnvParameter4fvARB (will be remapped) */
+ /* _mesa_function_pool[9308]: ProgramEnvParameter4fvARB (will be remapped) */
"iip\0"
"glProgramEnvParameter4fvARB\0"
"glProgramParameter4fvNV\0"
"\0"
- /* _mesa_function_pool[9334]: Color4i (offset 31) */
+ /* _mesa_function_pool[9365]: Color4i (offset 31) */
"iiii\0"
"glColor4i\0"
"\0"
- /* _mesa_function_pool[9350]: Color4f (offset 29) */
+ /* _mesa_function_pool[9381]: Color4f (offset 29) */
"ffff\0"
"glColor4f\0"
"\0"
- /* _mesa_function_pool[9366]: RasterPos4fv (offset 81) */
+ /* _mesa_function_pool[9397]: RasterPos4fv (offset 81) */
"p\0"
"glRasterPos4fv\0"
"\0"
- /* _mesa_function_pool[9384]: Color4d (offset 27) */
+ /* _mesa_function_pool[9415]: Color4d (offset 27) */
"dddd\0"
"glColor4d\0"
"\0"
- /* _mesa_function_pool[9400]: ClearIndex (offset 205) */
+ /* _mesa_function_pool[9431]: ClearIndex (offset 205) */
"f\0"
"glClearIndex\0"
"\0"
- /* _mesa_function_pool[9416]: Color4b (offset 25) */
+ /* _mesa_function_pool[9447]: Color4b (offset 25) */
"iiii\0"
"glColor4b\0"
"\0"
- /* _mesa_function_pool[9432]: LoadMatrixd (offset 292) */
+ /* _mesa_function_pool[9463]: LoadMatrixd (offset 292) */
"p\0"
"glLoadMatrixd\0"
"\0"
- /* _mesa_function_pool[9449]: FragmentLightModeliSGIX (dynamic) */
+ /* _mesa_function_pool[9480]: FragmentLightModeliSGIX (dynamic) */
"ii\0"
"glFragmentLightModeliSGIX\0"
"\0"
- /* _mesa_function_pool[9479]: RasterPos2dv (offset 63) */
+ /* _mesa_function_pool[9510]: RasterPos2dv (offset 63) */
"p\0"
"glRasterPos2dv\0"
"\0"
- /* _mesa_function_pool[9497]: ConvolutionParameterfv (offset 351) */
+ /* _mesa_function_pool[9528]: ConvolutionParameterfv (offset 351) */
"iip\0"
"glConvolutionParameterfv\0"
"glConvolutionParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[9555]: TbufferMask3DFX (dynamic) */
+ /* _mesa_function_pool[9586]: TbufferMask3DFX (dynamic) */
"i\0"
"glTbufferMask3DFX\0"
"\0"
- /* _mesa_function_pool[9576]: GetTexGendv (offset 278) */
+ /* _mesa_function_pool[9607]: GetTexGendv (offset 278) */
"iip\0"
"glGetTexGendv\0"
"\0"
- /* _mesa_function_pool[9595]: GetVertexAttribfvNV (will be remapped) */
+ /* _mesa_function_pool[9626]: GetVertexAttribfvNV (will be remapped) */
"iip\0"
"glGetVertexAttribfvNV\0"
"\0"
- /* _mesa_function_pool[9622]: BeginTransformFeedbackEXT (will be remapped) */
+ /* _mesa_function_pool[9653]: BeginTransformFeedbackEXT (will be remapped) */
"i\0"
"glBeginTransformFeedbackEXT\0"
"glBeginTransformFeedback\0"
"\0"
- /* _mesa_function_pool[9678]: LoadProgramNV (will be remapped) */
+ /* _mesa_function_pool[9709]: LoadProgramNV (will be remapped) */
"iiip\0"
"glLoadProgramNV\0"
"\0"
- /* _mesa_function_pool[9700]: WaitSync (will be remapped) */
+ /* _mesa_function_pool[9731]: WaitSync (will be remapped) */
"iii\0"
"glWaitSync\0"
"\0"
- /* _mesa_function_pool[9716]: EndList (offset 1) */
+ /* _mesa_function_pool[9747]: EndList (offset 1) */
"\0"
"glEndList\0"
"\0"
- /* _mesa_function_pool[9728]: VertexAttrib4fvNV (will be remapped) */
+ /* _mesa_function_pool[9759]: VertexAttrib4fvNV (will be remapped) */
"ip\0"
"glVertexAttrib4fvNV\0"
"\0"
- /* _mesa_function_pool[9752]: GetAttachedObjectsARB (will be remapped) */
+ /* _mesa_function_pool[9783]: GetAttachedObjectsARB (will be remapped) */
"iipp\0"
"glGetAttachedObjectsARB\0"
"\0"
- /* _mesa_function_pool[9782]: Uniform3fvARB (will be remapped) */
+ /* _mesa_function_pool[9813]: Uniform3fvARB (will be remapped) */
"iip\0"
"glUniform3fv\0"
"glUniform3fvARB\0"
"\0"
- /* _mesa_function_pool[9816]: EvalCoord1fv (offset 231) */
+ /* _mesa_function_pool[9847]: EvalCoord1fv (offset 231) */
"p\0"
"glEvalCoord1fv\0"
"\0"
- /* _mesa_function_pool[9834]: DrawRangeElements (offset 338) */
+ /* _mesa_function_pool[9865]: DrawRangeElements (offset 338) */
"iiiiip\0"
"glDrawRangeElements\0"
"glDrawRangeElementsEXT\0"
"\0"
- /* _mesa_function_pool[9885]: EvalMesh2 (offset 238) */
+ /* _mesa_function_pool[9916]: EvalMesh2 (offset 238) */
"iiiii\0"
"glEvalMesh2\0"
"\0"
- /* _mesa_function_pool[9904]: Vertex4fv (offset 145) */
+ /* _mesa_function_pool[9935]: Vertex4fv (offset 145) */
"p\0"
"glVertex4fv\0"
"\0"
- /* _mesa_function_pool[9919]: GenTransformFeedbacks (will be remapped) */
+ /* _mesa_function_pool[9950]: GenTransformFeedbacks (will be remapped) */
"ip\0"
"glGenTransformFeedbacks\0"
"\0"
- /* _mesa_function_pool[9947]: SpriteParameterfvSGIX (dynamic) */
+ /* _mesa_function_pool[9978]: SpriteParameterfvSGIX (dynamic) */
"ip\0"
"glSpriteParameterfvSGIX\0"
"\0"
- /* _mesa_function_pool[9975]: CheckFramebufferStatusEXT (will be remapped) */
+ /* _mesa_function_pool[10006]: CheckFramebufferStatusEXT (will be remapped) */
"i\0"
"glCheckFramebufferStatus\0"
"glCheckFramebufferStatusEXT\0"
"\0"
- /* _mesa_function_pool[10031]: GlobalAlphaFactoruiSUN (dynamic) */
+ /* _mesa_function_pool[10062]: GlobalAlphaFactoruiSUN (dynamic) */
"i\0"
"glGlobalAlphaFactoruiSUN\0"
"\0"
- /* _mesa_function_pool[10059]: GetHandleARB (will be remapped) */
+ /* _mesa_function_pool[10090]: GetHandleARB (will be remapped) */
"i\0"
"glGetHandleARB\0"
"\0"
- /* _mesa_function_pool[10077]: GetVertexAttribivARB (will be remapped) */
+ /* _mesa_function_pool[10108]: GetVertexAttribivARB (will be remapped) */
"iip\0"
"glGetVertexAttribiv\0"
"glGetVertexAttribivARB\0"
"\0"
- /* _mesa_function_pool[10125]: BlendFunciARB (will be remapped) */
+ /* _mesa_function_pool[10156]: BlendFunciARB (will be remapped) */
"iii\0"
"glBlendFunciARB\0"
+ "glBlendFuncIndexedAMD\0"
"\0"
- /* _mesa_function_pool[10146]: GetnUniformivARB (will be remapped) */
+ /* _mesa_function_pool[10199]: GetnUniformivARB (will be remapped) */
"iiip\0"
"glGetnUniformivARB\0"
"\0"
- /* _mesa_function_pool[10171]: GetTexParameterIivEXT (will be remapped) */
+ /* _mesa_function_pool[10224]: GetTexParameterIivEXT (will be remapped) */
"iip\0"
"glGetTexParameterIivEXT\0"
"glGetTexParameterIiv\0"
"\0"
- /* _mesa_function_pool[10221]: CreateProgram (will be remapped) */
+ /* _mesa_function_pool[10274]: CreateProgram (will be remapped) */
"\0"
"glCreateProgram\0"
"\0"
- /* _mesa_function_pool[10239]: LoadTransposeMatrixdARB (will be remapped) */
+ /* _mesa_function_pool[10292]: LoadTransposeMatrixdARB (will be remapped) */
"p\0"
"glLoadTransposeMatrixd\0"
"glLoadTransposeMatrixdARB\0"
"\0"
- /* _mesa_function_pool[10291]: ReleaseShaderCompiler (will be remapped) */
+ /* _mesa_function_pool[10344]: ReleaseShaderCompiler (will be remapped) */
"\0"
"glReleaseShaderCompiler\0"
"\0"
- /* _mesa_function_pool[10317]: GetMinmax (offset 364) */
+ /* _mesa_function_pool[10370]: GetMinmax (offset 364) */
"iiiip\0"
"glGetMinmax\0"
"glGetMinmaxEXT\0"
"\0"
- /* _mesa_function_pool[10351]: StencilFuncSeparate (will be remapped) */
+ /* _mesa_function_pool[10404]: StencilFuncSeparate (will be remapped) */
"iiii\0"
"glStencilFuncSeparate\0"
"\0"
- /* _mesa_function_pool[10379]: SecondaryColor3sEXT (will be remapped) */
+ /* _mesa_function_pool[10432]: SecondaryColor3sEXT (will be remapped) */
"iii\0"
"glSecondaryColor3s\0"
"glSecondaryColor3sEXT\0"
"\0"
- /* _mesa_function_pool[10425]: Color3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[10478]: Color3fVertex3fvSUN (dynamic) */
"pp\0"
"glColor3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[10451]: GetInteger64i_v (will be remapped) */
+ /* _mesa_function_pool[10504]: GetInteger64i_v (will be remapped) */
"iip\0"
"glGetInteger64i_v\0"
"\0"
- /* _mesa_function_pool[10474]: GetVertexAttribdvNV (will be remapped) */
+ /* _mesa_function_pool[10527]: GetVertexAttribdvNV (will be remapped) */
"iip\0"
"glGetVertexAttribdvNV\0"
"\0"
- /* _mesa_function_pool[10501]: Normal3fv (offset 57) */
+ /* _mesa_function_pool[10554]: Normal3fv (offset 57) */
"p\0"
"glNormal3fv\0"
"\0"
- /* _mesa_function_pool[10516]: GlobalAlphaFactorbSUN (dynamic) */
+ /* _mesa_function_pool[10569]: GlobalAlphaFactorbSUN (dynamic) */
"i\0"
"glGlobalAlphaFactorbSUN\0"
"\0"
- /* _mesa_function_pool[10543]: Color3us (offset 23) */
+ /* _mesa_function_pool[10596]: Color3us (offset 23) */
"iii\0"
"glColor3us\0"
"\0"
- /* _mesa_function_pool[10559]: ImageTransformParameterfvHP (dynamic) */
+ /* _mesa_function_pool[10612]: ImageTransformParameterfvHP (dynamic) */
"iip\0"
"glImageTransformParameterfvHP\0"
"\0"
- /* _mesa_function_pool[10594]: VertexAttrib4ivARB (will be remapped) */
+ /* _mesa_function_pool[10647]: VertexAttrib4ivARB (will be remapped) */
"ip\0"
"glVertexAttrib4iv\0"
"glVertexAttrib4ivARB\0"
"\0"
- /* _mesa_function_pool[10637]: End (offset 43) */
+ /* _mesa_function_pool[10690]: End (offset 43) */
"\0"
"glEnd\0"
"\0"
- /* _mesa_function_pool[10645]: VertexAttrib3fNV (will be remapped) */
+ /* _mesa_function_pool[10698]: VertexAttrib3fNV (will be remapped) */
"ifff\0"
"glVertexAttrib3fNV\0"
"\0"
- /* _mesa_function_pool[10670]: VertexAttribs2dvNV (will be remapped) */
+ /* _mesa_function_pool[10723]: VertexAttribs2dvNV (will be remapped) */
"iip\0"
"glVertexAttribs2dvNV\0"
"\0"
- /* _mesa_function_pool[10696]: GetQueryObjectui64vEXT (will be remapped) */
+ /* _mesa_function_pool[10749]: GetQueryObjectui64vEXT (will be remapped) */
"iip\0"
"glGetQueryObjectui64vEXT\0"
"\0"
- /* _mesa_function_pool[10726]: MultiTexCoord3fvARB (offset 395) */
+ /* _mesa_function_pool[10779]: MultiTexCoord3fvARB (offset 395) */
"ip\0"
"glMultiTexCoord3fv\0"
"glMultiTexCoord3fvARB\0"
"\0"
- /* _mesa_function_pool[10771]: SecondaryColor3dEXT (will be remapped) */
+ /* _mesa_function_pool[10824]: SecondaryColor3dEXT (will be remapped) */
"ddd\0"
"glSecondaryColor3d\0"
"glSecondaryColor3dEXT\0"
"\0"
- /* _mesa_function_pool[10817]: Color3ub (offset 19) */
+ /* _mesa_function_pool[10870]: Color3ub (offset 19) */
"iii\0"
"glColor3ub\0"
"\0"
- /* _mesa_function_pool[10833]: GetProgramParameterfvNV (will be remapped) */
+ /* _mesa_function_pool[10886]: GetProgramParameterfvNV (will be remapped) */
"iiip\0"
"glGetProgramParameterfvNV\0"
"\0"
- /* _mesa_function_pool[10865]: TangentPointerEXT (dynamic) */
+ /* _mesa_function_pool[10918]: TangentPointerEXT (dynamic) */
"iip\0"
"glTangentPointerEXT\0"
"\0"
- /* _mesa_function_pool[10890]: Color4fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[10943]: Color4fNormal3fVertex3fvSUN (dynamic) */
"ppp\0"
"glColor4fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[10925]: GetInstrumentsSGIX (dynamic) */
+ /* _mesa_function_pool[10978]: GetInstrumentsSGIX (dynamic) */
"\0"
"glGetInstrumentsSGIX\0"
"\0"
- /* _mesa_function_pool[10948]: GetUniformuivEXT (will be remapped) */
+ /* _mesa_function_pool[11001]: GetUniformuivEXT (will be remapped) */
"iip\0"
"glGetUniformuivEXT\0"
"glGetUniformuiv\0"
"\0"
- /* _mesa_function_pool[10988]: Color3ui (offset 21) */
+ /* _mesa_function_pool[11041]: Color3ui (offset 21) */
"iii\0"
"glColor3ui\0"
"\0"
- /* _mesa_function_pool[11004]: EvalMapsNV (dynamic) */
+ /* _mesa_function_pool[11057]: EvalMapsNV (dynamic) */
"ii\0"
"glEvalMapsNV\0"
"\0"
- /* _mesa_function_pool[11021]: TexSubImage2D (offset 333) */
+ /* _mesa_function_pool[11074]: TexSubImage2D (offset 333) */
"iiiiiiiip\0"
"glTexSubImage2D\0"
"glTexSubImage2DEXT\0"
"\0"
- /* _mesa_function_pool[11067]: FragmentLightivSGIX (dynamic) */
+ /* _mesa_function_pool[11120]: FragmentLightivSGIX (dynamic) */
"iip\0"
"glFragmentLightivSGIX\0"
"\0"
- /* _mesa_function_pool[11094]: GetTexParameterPointervAPPLE (will be remapped) */
+ /* _mesa_function_pool[11147]: GetTexParameterPointervAPPLE (will be remapped) */
"iip\0"
"glGetTexParameterPointervAPPLE\0"
"\0"
- /* _mesa_function_pool[11130]: TexGenfv (offset 191) */
+ /* _mesa_function_pool[11183]: TexGenfv (offset 191) */
"iip\0"
"glTexGenfv\0"
"\0"
- /* _mesa_function_pool[11146]: GetTransformFeedbackVaryingEXT (will be remapped) */
+ /* _mesa_function_pool[11199]: GetTransformFeedbackVaryingEXT (will be remapped) */
"iiipppp\0"
"glGetTransformFeedbackVaryingEXT\0"
"glGetTransformFeedbackVarying\0"
"\0"
- /* _mesa_function_pool[11218]: VertexAttrib4bvARB (will be remapped) */
+ /* _mesa_function_pool[11271]: VertexAttrib4bvARB (will be remapped) */
"ip\0"
"glVertexAttrib4bv\0"
"glVertexAttrib4bvARB\0"
"\0"
- /* _mesa_function_pool[11261]: ShaderBinary (will be remapped) */
+ /* _mesa_function_pool[11314]: ShaderBinary (will be remapped) */
"ipipi\0"
"glShaderBinary\0"
"\0"
- /* _mesa_function_pool[11283]: GetIntegerIndexedvEXT (will be remapped) */
+ /* _mesa_function_pool[11336]: GetIntegerIndexedvEXT (will be remapped) */
"iip\0"
"glGetIntegerIndexedvEXT\0"
"glGetIntegeri_v\0"
"\0"
- /* _mesa_function_pool[11328]: MultiTexCoord4sARB (offset 406) */
+ /* _mesa_function_pool[11381]: MultiTexCoord4sARB (offset 406) */
"iiiii\0"
"glMultiTexCoord4s\0"
"glMultiTexCoord4sARB\0"
"\0"
- /* _mesa_function_pool[11374]: GetFragmentMaterialivSGIX (dynamic) */
+ /* _mesa_function_pool[11427]: GetFragmentMaterialivSGIX (dynamic) */
"iip\0"
"glGetFragmentMaterialivSGIX\0"
"\0"
- /* _mesa_function_pool[11407]: WindowPos4dMESA (will be remapped) */
+ /* _mesa_function_pool[11460]: WindowPos4dMESA (will be remapped) */
"dddd\0"
"glWindowPos4dMESA\0"
"\0"
- /* _mesa_function_pool[11431]: WeightPointerARB (dynamic) */
+ /* _mesa_function_pool[11484]: WeightPointerARB (dynamic) */
"iiip\0"
"glWeightPointerARB\0"
"\0"
- /* _mesa_function_pool[11456]: WindowPos2dMESA (will be remapped) */
+ /* _mesa_function_pool[11509]: WindowPos2dMESA (will be remapped) */
"dd\0"
"glWindowPos2d\0"
"glWindowPos2dARB\0"
"glWindowPos2dMESA\0"
"\0"
- /* _mesa_function_pool[11509]: FramebufferTexture3DEXT (will be remapped) */
+ /* _mesa_function_pool[11562]: FramebufferTexture3DEXT (will be remapped) */
"iiiiii\0"
"glFramebufferTexture3D\0"
"glFramebufferTexture3DEXT\0"
"\0"
- /* _mesa_function_pool[11566]: BlendEquation (offset 337) */
+ /* _mesa_function_pool[11619]: BlendEquation (offset 337) */
"i\0"
"glBlendEquation\0"
"glBlendEquationEXT\0"
"\0"
- /* _mesa_function_pool[11604]: VertexAttrib3dNV (will be remapped) */
+ /* _mesa_function_pool[11657]: VertexAttrib3dNV (will be remapped) */
"iddd\0"
"glVertexAttrib3dNV\0"
"\0"
- /* _mesa_function_pool[11629]: VertexAttrib3dARB (will be remapped) */
+ /* _mesa_function_pool[11682]: VertexAttrib3dARB (will be remapped) */
"iddd\0"
"glVertexAttrib3d\0"
"glVertexAttrib3dARB\0"
"\0"
- /* _mesa_function_pool[11672]: VertexAttribI4usvEXT (will be remapped) */
+ /* _mesa_function_pool[11725]: VertexAttribI4usvEXT (will be remapped) */
"ip\0"
"glVertexAttribI4usvEXT\0"
"glVertexAttribI4usv\0"
"\0"
- /* _mesa_function_pool[11719]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[11772]: ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (dynamic) */
"ppppp\0"
"glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[11783]: VertexAttrib4fARB (will be remapped) */
+ /* _mesa_function_pool[11836]: VertexAttrib4fARB (will be remapped) */
"iffff\0"
"glVertexAttrib4f\0"
"glVertexAttrib4fARB\0"
"\0"
- /* _mesa_function_pool[11827]: GetError (offset 261) */
+ /* _mesa_function_pool[11880]: GetError (offset 261) */
"\0"
"glGetError\0"
"\0"
- /* _mesa_function_pool[11840]: IndexFuncEXT (dynamic) */
+ /* _mesa_function_pool[11893]: IndexFuncEXT (dynamic) */
"if\0"
"glIndexFuncEXT\0"
"\0"
- /* _mesa_function_pool[11859]: TexCoord3dv (offset 111) */
+ /* _mesa_function_pool[11912]: TexCoord3dv (offset 111) */
"p\0"
"glTexCoord3dv\0"
"\0"
- /* _mesa_function_pool[11876]: Indexdv (offset 45) */
+ /* _mesa_function_pool[11929]: Indexdv (offset 45) */
"p\0"
"glIndexdv\0"
"\0"
- /* _mesa_function_pool[11889]: FramebufferTexture2DEXT (will be remapped) */
+ /* _mesa_function_pool[11942]: FramebufferTexture2DEXT (will be remapped) */
"iiiii\0"
"glFramebufferTexture2D\0"
"glFramebufferTexture2DEXT\0"
"\0"
- /* _mesa_function_pool[11945]: Normal3s (offset 60) */
+ /* _mesa_function_pool[11998]: Normal3s (offset 60) */
"iii\0"
"glNormal3s\0"
"\0"
- /* _mesa_function_pool[11961]: GetObjectParameterivAPPLE (will be remapped) */
+ /* _mesa_function_pool[12014]: GetObjectParameterivAPPLE (will be remapped) */
"iiip\0"
"glGetObjectParameterivAPPLE\0"
"\0"
- /* _mesa_function_pool[11995]: PushName (offset 201) */
+ /* _mesa_function_pool[12048]: PushName (offset 201) */
"i\0"
"glPushName\0"
"\0"
- /* _mesa_function_pool[12009]: MultiTexCoord2dvARB (offset 385) */
+ /* _mesa_function_pool[12062]: MultiTexCoord2dvARB (offset 385) */
"ip\0"
"glMultiTexCoord2dv\0"
"glMultiTexCoord2dvARB\0"
"\0"
- /* _mesa_function_pool[12054]: CullParameterfvEXT (dynamic) */
+ /* _mesa_function_pool[12107]: CullParameterfvEXT (dynamic) */
"ip\0"
"glCullParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[12079]: Normal3i (offset 58) */
+ /* _mesa_function_pool[12132]: Normal3i (offset 58) */
"iii\0"
"glNormal3i\0"
"\0"
- /* _mesa_function_pool[12095]: ProgramNamedParameter4fvNV (will be remapped) */
+ /* _mesa_function_pool[12148]: ProgramNamedParameter4fvNV (will be remapped) */
"iipp\0"
"glProgramNamedParameter4fvNV\0"
"\0"
- /* _mesa_function_pool[12130]: SecondaryColorPointerEXT (will be remapped) */
+ /* _mesa_function_pool[12183]: SecondaryColorPointerEXT (will be remapped) */
"iiip\0"
"glSecondaryColorPointer\0"
"glSecondaryColorPointerEXT\0"
"\0"
- /* _mesa_function_pool[12187]: VertexAttrib4fvARB (will be remapped) */
+ /* _mesa_function_pool[12240]: VertexAttrib4fvARB (will be remapped) */
"ip\0"
"glVertexAttrib4fv\0"
"glVertexAttrib4fvARB\0"
"\0"
- /* _mesa_function_pool[12230]: PixelTexGenSGIX (will be remapped) */
+ /* _mesa_function_pool[12283]: PixelTexGenSGIX (will be remapped) */
"i\0"
"glPixelTexGenSGIX\0"
"\0"
- /* _mesa_function_pool[12251]: GetActiveUniformARB (will be remapped) */
+ /* _mesa_function_pool[12304]: GetActiveUniformARB (will be remapped) */
"iiipppp\0"
"glGetActiveUniform\0"
"glGetActiveUniformARB\0"
"\0"
- /* _mesa_function_pool[12301]: ImageTransformParameteriHP (dynamic) */
+ /* _mesa_function_pool[12354]: ImageTransformParameteriHP (dynamic) */
"iii\0"
"glImageTransformParameteriHP\0"
"\0"
- /* _mesa_function_pool[12335]: Normal3b (offset 52) */
+ /* _mesa_function_pool[12388]: Normal3b (offset 52) */
"iii\0"
"glNormal3b\0"
"\0"
- /* _mesa_function_pool[12351]: Normal3d (offset 54) */
+ /* _mesa_function_pool[12404]: Normal3d (offset 54) */
"ddd\0"
"glNormal3d\0"
"\0"
- /* _mesa_function_pool[12367]: Uniform1uiEXT (will be remapped) */
+ /* _mesa_function_pool[12420]: Uniform1uiEXT (will be remapped) */
"ii\0"
"glUniform1uiEXT\0"
"glUniform1ui\0"
"\0"
- /* _mesa_function_pool[12400]: Normal3f (offset 56) */
+ /* _mesa_function_pool[12453]: Normal3f (offset 56) */
"fff\0"
"glNormal3f\0"
"\0"
- /* _mesa_function_pool[12416]: MultiTexCoord1svARB (offset 383) */
+ /* _mesa_function_pool[12469]: MultiTexCoord1svARB (offset 383) */
"ip\0"
"glMultiTexCoord1sv\0"
"glMultiTexCoord1svARB\0"
"\0"
- /* _mesa_function_pool[12461]: Indexi (offset 48) */
+ /* _mesa_function_pool[12514]: Indexi (offset 48) */
"i\0"
"glIndexi\0"
"\0"
- /* _mesa_function_pool[12473]: EGLImageTargetTexture2DOES (will be remapped) */
+ /* _mesa_function_pool[12526]: EGLImageTargetTexture2DOES (will be remapped) */
"ip\0"
"glEGLImageTargetTexture2DOES\0"
"\0"
- /* _mesa_function_pool[12506]: EndQueryARB (will be remapped) */
+ /* _mesa_function_pool[12559]: EndQueryARB (will be remapped) */
"i\0"
"glEndQuery\0"
"glEndQueryARB\0"
"\0"
- /* _mesa_function_pool[12534]: DeleteFencesNV (will be remapped) */
+ /* _mesa_function_pool[12587]: DeleteFencesNV (will be remapped) */
"ip\0"
"glDeleteFencesNV\0"
"\0"
- /* _mesa_function_pool[12555]: ColorPointerListIBM (dynamic) */
+ /* _mesa_function_pool[12608]: ColorPointerListIBM (dynamic) */
"iiipi\0"
"glColorPointerListIBM\0"
"\0"
- /* _mesa_function_pool[12584]: BindBufferRangeEXT (will be remapped) */
+ /* _mesa_function_pool[12637]: BindBufferRangeEXT (will be remapped) */
"iiiii\0"
"glBindBufferRangeEXT\0"
"glBindBufferRange\0"
"\0"
- /* _mesa_function_pool[12630]: DepthMask (offset 211) */
+ /* _mesa_function_pool[12683]: DepthMask (offset 211) */
"i\0"
"glDepthMask\0"
"\0"
- /* _mesa_function_pool[12645]: IsShader (will be remapped) */
+ /* _mesa_function_pool[12698]: IsShader (will be remapped) */
"i\0"
"glIsShader\0"
"\0"
- /* _mesa_function_pool[12659]: Indexf (offset 46) */
+ /* _mesa_function_pool[12712]: Indexf (offset 46) */
"f\0"
"glIndexf\0"
"\0"
- /* _mesa_function_pool[12671]: GetImageTransformParameterivHP (dynamic) */
+ /* _mesa_function_pool[12724]: GetImageTransformParameterivHP (dynamic) */
"iip\0"
"glGetImageTransformParameterivHP\0"
"\0"
- /* _mesa_function_pool[12709]: Indexd (offset 44) */
+ /* _mesa_function_pool[12762]: Indexd (offset 44) */
"d\0"
"glIndexd\0"
"\0"
- /* _mesa_function_pool[12721]: GetMaterialiv (offset 270) */
+ /* _mesa_function_pool[12774]: GetMaterialiv (offset 270) */
"iip\0"
"glGetMaterialiv\0"
"\0"
- /* _mesa_function_pool[12742]: StencilOp (offset 244) */
+ /* _mesa_function_pool[12795]: StencilOp (offset 244) */
"iii\0"
"glStencilOp\0"
"\0"
- /* _mesa_function_pool[12759]: WindowPos4ivMESA (will be remapped) */
+ /* _mesa_function_pool[12812]: WindowPos4ivMESA (will be remapped) */
"p\0"
"glWindowPos4ivMESA\0"
"\0"
- /* _mesa_function_pool[12781]: FramebufferTextureLayer (dynamic) */
+ /* _mesa_function_pool[12834]: FramebufferTextureLayer (dynamic) */
"iiiii\0"
"glFramebufferTextureLayerARB\0"
"\0"
- /* _mesa_function_pool[12817]: MultiTexCoord3svARB (offset 399) */
+ /* _mesa_function_pool[12870]: MultiTexCoord3svARB (offset 399) */
"ip\0"
"glMultiTexCoord3sv\0"
"glMultiTexCoord3svARB\0"
"\0"
- /* _mesa_function_pool[12862]: TexEnvfv (offset 185) */
+ /* _mesa_function_pool[12915]: TexEnvfv (offset 185) */
"iip\0"
"glTexEnvfv\0"
"\0"
- /* _mesa_function_pool[12878]: MultiTexCoord4iARB (offset 404) */
+ /* _mesa_function_pool[12931]: MultiTexCoord4iARB (offset 404) */
"iiiii\0"
"glMultiTexCoord4i\0"
"glMultiTexCoord4iARB\0"
"\0"
- /* _mesa_function_pool[12924]: Indexs (offset 50) */
+ /* _mesa_function_pool[12977]: Indexs (offset 50) */
"i\0"
"glIndexs\0"
"\0"
- /* _mesa_function_pool[12936]: Binormal3ivEXT (dynamic) */
+ /* _mesa_function_pool[12989]: Binormal3ivEXT (dynamic) */
"p\0"
"glBinormal3ivEXT\0"
"\0"
- /* _mesa_function_pool[12956]: ResizeBuffersMESA (will be remapped) */
+ /* _mesa_function_pool[13009]: ResizeBuffersMESA (will be remapped) */
"\0"
"glResizeBuffersMESA\0"
"\0"
- /* _mesa_function_pool[12978]: BlendFuncSeparateiARB (will be remapped) */
+ /* _mesa_function_pool[13031]: BlendFuncSeparateiARB (will be remapped) */
"iiiii\0"
"glBlendFuncSeparateiARB\0"
+ "glBlendFuncSeparateIndexedAMD\0"
"\0"
- /* _mesa_function_pool[13009]: GetUniformivARB (will be remapped) */
+ /* _mesa_function_pool[13092]: GetUniformivARB (will be remapped) */
"iip\0"
"glGetUniformiv\0"
"glGetUniformivARB\0"
"\0"
- /* _mesa_function_pool[13047]: PixelTexGenParameteriSGIS (will be remapped) */
+ /* _mesa_function_pool[13130]: PixelTexGenParameteriSGIS (will be remapped) */
"ii\0"
"glPixelTexGenParameteriSGIS\0"
"\0"
- /* _mesa_function_pool[13079]: VertexPointervINTEL (dynamic) */
+ /* _mesa_function_pool[13162]: VertexPointervINTEL (dynamic) */
"iip\0"
"glVertexPointervINTEL\0"
"\0"
- /* _mesa_function_pool[13106]: Vertex2i (offset 130) */
+ /* _mesa_function_pool[13189]: Vertex2i (offset 130) */
"ii\0"
"glVertex2i\0"
"\0"
- /* _mesa_function_pool[13121]: LoadMatrixf (offset 291) */
+ /* _mesa_function_pool[13204]: LoadMatrixf (offset 291) */
"p\0"
"glLoadMatrixf\0"
"\0"
- /* _mesa_function_pool[13138]: VertexAttribI1uivEXT (will be remapped) */
+ /* _mesa_function_pool[13221]: VertexAttribI1uivEXT (will be remapped) */
"ip\0"
"glVertexAttribI1uivEXT\0"
"glVertexAttribI1uiv\0"
"\0"
- /* _mesa_function_pool[13185]: Vertex2f (offset 128) */
+ /* _mesa_function_pool[13268]: Vertex2f (offset 128) */
"ff\0"
"glVertex2f\0"
"\0"
- /* _mesa_function_pool[13200]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[13283]: ReplacementCodeuiColor4fNormal3fVertex3fvSUN (dynamic) */
"pppp\0"
"glReplacementCodeuiColor4fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[13253]: Color4bv (offset 26) */
+ /* _mesa_function_pool[13336]: Color4bv (offset 26) */
"p\0"
"glColor4bv\0"
"\0"
- /* _mesa_function_pool[13267]: VertexPointer (offset 321) */
+ /* _mesa_function_pool[13350]: VertexPointer (offset 321) */
"iiip\0"
"glVertexPointer\0"
"\0"
- /* _mesa_function_pool[13289]: SecondaryColor3uiEXT (will be remapped) */
+ /* _mesa_function_pool[13372]: SecondaryColor3uiEXT (will be remapped) */
"iii\0"
"glSecondaryColor3ui\0"
"glSecondaryColor3uiEXT\0"
"\0"
- /* _mesa_function_pool[13337]: StartInstrumentsSGIX (dynamic) */
+ /* _mesa_function_pool[13420]: StartInstrumentsSGIX (dynamic) */
"\0"
"glStartInstrumentsSGIX\0"
"\0"
- /* _mesa_function_pool[13362]: SecondaryColor3usvEXT (will be remapped) */
+ /* _mesa_function_pool[13445]: SecondaryColor3usvEXT (will be remapped) */
"p\0"
"glSecondaryColor3usv\0"
"glSecondaryColor3usvEXT\0"
"\0"
- /* _mesa_function_pool[13410]: VertexAttrib2fvNV (will be remapped) */
+ /* _mesa_function_pool[13493]: VertexAttrib2fvNV (will be remapped) */
"ip\0"
"glVertexAttrib2fvNV\0"
"\0"
- /* _mesa_function_pool[13434]: ProgramLocalParameter4dvARB (will be remapped) */
+ /* _mesa_function_pool[13517]: ProgramLocalParameter4dvARB (will be remapped) */
"iip\0"
"glProgramLocalParameter4dvARB\0"
"\0"
- /* _mesa_function_pool[13469]: DeleteLists (offset 4) */
+ /* _mesa_function_pool[13552]: DeleteLists (offset 4) */
"ii\0"
"glDeleteLists\0"
"\0"
- /* _mesa_function_pool[13487]: LogicOp (offset 242) */
+ /* _mesa_function_pool[13570]: LogicOp (offset 242) */
"i\0"
"glLogicOp\0"
"\0"
- /* _mesa_function_pool[13500]: MatrixIndexuivARB (dynamic) */
+ /* _mesa_function_pool[13583]: MatrixIndexuivARB (dynamic) */
"ip\0"
"glMatrixIndexuivARB\0"
"\0"
- /* _mesa_function_pool[13524]: Vertex2s (offset 132) */
+ /* _mesa_function_pool[13607]: Vertex2s (offset 132) */
"ii\0"
"glVertex2s\0"
"\0"
- /* _mesa_function_pool[13539]: RenderbufferStorageMultisample (will be remapped) */
+ /* _mesa_function_pool[13622]: RenderbufferStorageMultisample (will be remapped) */
"iiiii\0"
"glRenderbufferStorageMultisample\0"
"glRenderbufferStorageMultisampleEXT\0"
"\0"
- /* _mesa_function_pool[13615]: TexCoord4fv (offset 121) */
+ /* _mesa_function_pool[13698]: TexCoord4fv (offset 121) */
"p\0"
"glTexCoord4fv\0"
"\0"
- /* _mesa_function_pool[13632]: Tangent3sEXT (dynamic) */
+ /* _mesa_function_pool[13715]: Tangent3sEXT (dynamic) */
"iii\0"
"glTangent3sEXT\0"
"\0"
- /* _mesa_function_pool[13652]: GlobalAlphaFactorfSUN (dynamic) */
+ /* _mesa_function_pool[13735]: GlobalAlphaFactorfSUN (dynamic) */
"f\0"
"glGlobalAlphaFactorfSUN\0"
"\0"
- /* _mesa_function_pool[13679]: MultiTexCoord3iARB (offset 396) */
+ /* _mesa_function_pool[13762]: MultiTexCoord3iARB (offset 396) */
"iiii\0"
"glMultiTexCoord3i\0"
"glMultiTexCoord3iARB\0"
"\0"
- /* _mesa_function_pool[13724]: IsProgram (will be remapped) */
+ /* _mesa_function_pool[13807]: IsProgram (will be remapped) */
"i\0"
"glIsProgram\0"
"\0"
- /* _mesa_function_pool[13739]: TexCoordPointerListIBM (dynamic) */
+ /* _mesa_function_pool[13822]: TexCoordPointerListIBM (dynamic) */
"iiipi\0"
"glTexCoordPointerListIBM\0"
"\0"
- /* _mesa_function_pool[13771]: VertexAttribI4svEXT (will be remapped) */
+ /* _mesa_function_pool[13854]: VertexAttribI4svEXT (will be remapped) */
"ip\0"
"glVertexAttribI4svEXT\0"
"glVertexAttribI4sv\0"
"\0"
- /* _mesa_function_pool[13816]: GlobalAlphaFactorusSUN (dynamic) */
+ /* _mesa_function_pool[13899]: GlobalAlphaFactorusSUN (dynamic) */
"i\0"
"glGlobalAlphaFactorusSUN\0"
"\0"
- /* _mesa_function_pool[13844]: VertexAttrib2dvNV (will be remapped) */
+ /* _mesa_function_pool[13927]: VertexAttrib2dvNV (will be remapped) */
"ip\0"
"glVertexAttrib2dvNV\0"
"\0"
- /* _mesa_function_pool[13868]: FramebufferRenderbufferEXT (will be remapped) */
+ /* _mesa_function_pool[13951]: FramebufferRenderbufferEXT (will be remapped) */
"iiii\0"
"glFramebufferRenderbuffer\0"
"glFramebufferRenderbufferEXT\0"
"\0"
- /* _mesa_function_pool[13929]: ClearBufferuiv (will be remapped) */
+ /* _mesa_function_pool[14012]: ClearBufferuiv (will be remapped) */
"iip\0"
"glClearBufferuiv\0"
"\0"
- /* _mesa_function_pool[13951]: VertexAttrib1dvNV (will be remapped) */
+ /* _mesa_function_pool[14034]: VertexAttrib1dvNV (will be remapped) */
"ip\0"
"glVertexAttrib1dvNV\0"
"\0"
- /* _mesa_function_pool[13975]: GenTextures (offset 328) */
+ /* _mesa_function_pool[14058]: GenTextures (offset 328) */
"ip\0"
"glGenTextures\0"
"glGenTexturesEXT\0"
"\0"
- /* _mesa_function_pool[14010]: FramebufferTextureARB (will be remapped) */
+ /* _mesa_function_pool[14093]: FramebufferTextureARB (will be remapped) */
"iiii\0"
"glFramebufferTextureARB\0"
"\0"
- /* _mesa_function_pool[14040]: SetFenceNV (will be remapped) */
+ /* _mesa_function_pool[14123]: SetFenceNV (will be remapped) */
"ii\0"
"glSetFenceNV\0"
"\0"
- /* _mesa_function_pool[14057]: FramebufferTexture1DEXT (will be remapped) */
+ /* _mesa_function_pool[14140]: FramebufferTexture1DEXT (will be remapped) */
"iiiii\0"
"glFramebufferTexture1D\0"
"glFramebufferTexture1DEXT\0"
"\0"
- /* _mesa_function_pool[14113]: GetCombinerOutputParameterivNV (will be remapped) */
+ /* _mesa_function_pool[14196]: GetCombinerOutputParameterivNV (will be remapped) */
"iiip\0"
"glGetCombinerOutputParameterivNV\0"
"\0"
- /* _mesa_function_pool[14152]: MultiModeDrawArraysIBM (will be remapped) */
- "pppii\0"
- "glMultiModeDrawArraysIBM\0"
- "\0"
- /* _mesa_function_pool[14184]: PixelTexGenParameterivSGIS (will be remapped) */
+ /* _mesa_function_pool[14235]: PixelTexGenParameterivSGIS (will be remapped) */
"ip\0"
"glPixelTexGenParameterivSGIS\0"
"\0"
- /* _mesa_function_pool[14217]: TextureNormalEXT (dynamic) */
+ /* _mesa_function_pool[14268]: TextureNormalEXT (dynamic) */
"i\0"
"glTextureNormalEXT\0"
"\0"
- /* _mesa_function_pool[14239]: IndexPointerListIBM (dynamic) */
+ /* _mesa_function_pool[14290]: IndexPointerListIBM (dynamic) */
"iipi\0"
"glIndexPointerListIBM\0"
"\0"
- /* _mesa_function_pool[14267]: WeightfvARB (dynamic) */
+ /* _mesa_function_pool[14318]: WeightfvARB (dynamic) */
"ip\0"
"glWeightfvARB\0"
"\0"
- /* _mesa_function_pool[14285]: GetCombinerOutputParameterfvNV (will be remapped) */
- "iiip\0"
- "glGetCombinerOutputParameterfvNV\0"
- "\0"
- /* _mesa_function_pool[14324]: RasterPos2sv (offset 69) */
+ /* _mesa_function_pool[14336]: RasterPos2sv (offset 69) */
"p\0"
"glRasterPos2sv\0"
"\0"
- /* _mesa_function_pool[14342]: Color4ubv (offset 36) */
+ /* _mesa_function_pool[14354]: Color4ubv (offset 36) */
"p\0"
"glColor4ubv\0"
"\0"
- /* _mesa_function_pool[14357]: DrawBuffer (offset 202) */
+ /* _mesa_function_pool[14369]: DrawBuffer (offset 202) */
"i\0"
"glDrawBuffer\0"
"\0"
- /* _mesa_function_pool[14373]: TexCoord2fv (offset 105) */
+ /* _mesa_function_pool[14385]: TexCoord2fv (offset 105) */
"p\0"
"glTexCoord2fv\0"
"\0"
- /* _mesa_function_pool[14390]: WindowPos4fMESA (will be remapped) */
+ /* _mesa_function_pool[14402]: WindowPos4fMESA (will be remapped) */
"ffff\0"
"glWindowPos4fMESA\0"
"\0"
- /* _mesa_function_pool[14414]: TexCoord1sv (offset 101) */
+ /* _mesa_function_pool[14426]: TexCoord1sv (offset 101) */
"p\0"
"glTexCoord1sv\0"
"\0"
- /* _mesa_function_pool[14431]: WindowPos3dvMESA (will be remapped) */
+ /* _mesa_function_pool[14443]: WindowPos3dvMESA (will be remapped) */
"p\0"
"glWindowPos3dv\0"
"glWindowPos3dvARB\0"
"glWindowPos3dvMESA\0"
"\0"
- /* _mesa_function_pool[14486]: DepthFunc (offset 245) */
+ /* _mesa_function_pool[14498]: DepthFunc (offset 245) */
"i\0"
"glDepthFunc\0"
"\0"
- /* _mesa_function_pool[14501]: PixelMapusv (offset 253) */
+ /* _mesa_function_pool[14513]: PixelMapusv (offset 253) */
"iip\0"
"glPixelMapusv\0"
"\0"
- /* _mesa_function_pool[14520]: GetQueryObjecti64vEXT (will be remapped) */
+ /* _mesa_function_pool[14532]: GetQueryObjecti64vEXT (will be remapped) */
"iip\0"
"glGetQueryObjecti64vEXT\0"
"\0"
- /* _mesa_function_pool[14549]: MultiTexCoord1dARB (offset 376) */
+ /* _mesa_function_pool[14561]: MultiTexCoord1dARB (offset 376) */
"id\0"
"glMultiTexCoord1d\0"
"glMultiTexCoord1dARB\0"
"\0"
- /* _mesa_function_pool[14592]: PointParameterivNV (will be remapped) */
+ /* _mesa_function_pool[14604]: PointParameterivNV (will be remapped) */
"ip\0"
"glPointParameteriv\0"
"glPointParameterivNV\0"
"\0"
- /* _mesa_function_pool[14636]: IsSampler (will be remapped) */
+ /* _mesa_function_pool[14648]: IsSampler (will be remapped) */
"i\0"
"glIsSampler\0"
"\0"
- /* _mesa_function_pool[14651]: BlendFunc (offset 241) */
+ /* _mesa_function_pool[14663]: BlendFunc (offset 241) */
"ii\0"
"glBlendFunc\0"
"\0"
- /* _mesa_function_pool[14667]: EndTransformFeedbackEXT (will be remapped) */
+ /* _mesa_function_pool[14679]: EndTransformFeedbackEXT (will be remapped) */
"\0"
"glEndTransformFeedbackEXT\0"
"glEndTransformFeedback\0"
"\0"
- /* _mesa_function_pool[14718]: Uniform2fvARB (will be remapped) */
+ /* _mesa_function_pool[14730]: Uniform2fvARB (will be remapped) */
"iip\0"
"glUniform2fv\0"
"glUniform2fvARB\0"
"\0"
- /* _mesa_function_pool[14752]: BufferParameteriAPPLE (will be remapped) */
+ /* _mesa_function_pool[14764]: BufferParameteriAPPLE (will be remapped) */
"iii\0"
"glBufferParameteriAPPLE\0"
"\0"
- /* _mesa_function_pool[14781]: MultiTexCoord3dvARB (offset 393) */
+ /* _mesa_function_pool[14793]: MultiTexCoord3dvARB (offset 393) */
"ip\0"
"glMultiTexCoord3dv\0"
"glMultiTexCoord3dvARB\0"
"\0"
- /* _mesa_function_pool[14826]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[14838]: ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (dynamic) */
"pppp\0"
"glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[14882]: DeleteObjectARB (will be remapped) */
+ /* _mesa_function_pool[14894]: DeleteObjectARB (will be remapped) */
"i\0"
"glDeleteObjectARB\0"
"\0"
- /* _mesa_function_pool[14903]: GetShaderPrecisionFormat (will be remapped) */
+ /* _mesa_function_pool[14915]: GetShaderPrecisionFormat (will be remapped) */
"iipp\0"
"glGetShaderPrecisionFormat\0"
"\0"
- /* _mesa_function_pool[14936]: MatrixIndexPointerARB (dynamic) */
+ /* _mesa_function_pool[14948]: MatrixIndexPointerARB (dynamic) */
"iiip\0"
"glMatrixIndexPointerARB\0"
"\0"
- /* _mesa_function_pool[14966]: ProgramNamedParameter4dvNV (will be remapped) */
+ /* _mesa_function_pool[14978]: ProgramNamedParameter4dvNV (will be remapped) */
"iipp\0"
"glProgramNamedParameter4dvNV\0"
"\0"
- /* _mesa_function_pool[15001]: Tangent3fvEXT (dynamic) */
+ /* _mesa_function_pool[15013]: Tangent3fvEXT (dynamic) */
"p\0"
"glTangent3fvEXT\0"
"\0"
- /* _mesa_function_pool[15020]: Flush (offset 217) */
+ /* _mesa_function_pool[15032]: Flush (offset 217) */
"\0"
"glFlush\0"
"\0"
- /* _mesa_function_pool[15030]: Color4uiv (offset 38) */
+ /* _mesa_function_pool[15042]: Color4uiv (offset 38) */
"p\0"
"glColor4uiv\0"
"\0"
- /* _mesa_function_pool[15045]: VertexAttribI4iEXT (will be remapped) */
+ /* _mesa_function_pool[15057]: VertexAttribI4iEXT (will be remapped) */
"iiiii\0"
"glVertexAttribI4iEXT\0"
"glVertexAttribI4i\0"
"\0"
- /* _mesa_function_pool[15091]: GenVertexArrays (will be remapped) */
+ /* _mesa_function_pool[15103]: GenVertexArrays (will be remapped) */
"ip\0"
"glGenVertexArrays\0"
"\0"
- /* _mesa_function_pool[15113]: Uniform3uivEXT (will be remapped) */
+ /* _mesa_function_pool[15125]: Uniform3uivEXT (will be remapped) */
"iip\0"
"glUniform3uivEXT\0"
"glUniform3uiv\0"
"\0"
- /* _mesa_function_pool[15149]: RasterPos3sv (offset 77) */
+ /* _mesa_function_pool[15161]: RasterPos3sv (offset 77) */
"p\0"
"glRasterPos3sv\0"
"\0"
- /* _mesa_function_pool[15167]: BindFramebufferEXT (will be remapped) */
+ /* _mesa_function_pool[15179]: BindFramebufferEXT (will be remapped) */
"ii\0"
"glBindFramebuffer\0"
"glBindFramebufferEXT\0"
"\0"
- /* _mesa_function_pool[15210]: ReferencePlaneSGIX (dynamic) */
+ /* _mesa_function_pool[15222]: ReferencePlaneSGIX (dynamic) */
"p\0"
"glReferencePlaneSGIX\0"
"\0"
- /* _mesa_function_pool[15234]: PushAttrib (offset 219) */
+ /* _mesa_function_pool[15246]: PushAttrib (offset 219) */
"i\0"
"glPushAttrib\0"
"\0"
- /* _mesa_function_pool[15250]: RasterPos2i (offset 66) */
+ /* _mesa_function_pool[15262]: RasterPos2i (offset 66) */
"ii\0"
"glRasterPos2i\0"
"\0"
- /* _mesa_function_pool[15268]: ValidateProgramARB (will be remapped) */
+ /* _mesa_function_pool[15280]: ValidateProgramARB (will be remapped) */
"i\0"
"glValidateProgram\0"
"glValidateProgramARB\0"
"\0"
- /* _mesa_function_pool[15310]: TexParameteriv (offset 181) */
+ /* _mesa_function_pool[15322]: TexParameteriv (offset 181) */
"iip\0"
"glTexParameteriv\0"
"\0"
- /* _mesa_function_pool[15332]: UnlockArraysEXT (will be remapped) */
+ /* _mesa_function_pool[15344]: UnlockArraysEXT (will be remapped) */
"\0"
"glUnlockArraysEXT\0"
"\0"
- /* _mesa_function_pool[15352]: TexCoord2fColor3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[15364]: TexCoord2fColor3fVertex3fSUN (dynamic) */
"ffffffff\0"
"glTexCoord2fColor3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[15393]: WindowPos3fvMESA (will be remapped) */
+ /* _mesa_function_pool[15405]: WindowPos3fvMESA (will be remapped) */
"p\0"
"glWindowPos3fv\0"
"glWindowPos3fvARB\0"
"glWindowPos3fvMESA\0"
"\0"
- /* _mesa_function_pool[15448]: RasterPos2f (offset 64) */
+ /* _mesa_function_pool[15460]: RasterPos2f (offset 64) */
"ff\0"
"glRasterPos2f\0"
"\0"
- /* _mesa_function_pool[15466]: VertexAttrib1svNV (will be remapped) */
+ /* _mesa_function_pool[15478]: VertexAttrib1svNV (will be remapped) */
"ip\0"
"glVertexAttrib1svNV\0"
"\0"
- /* _mesa_function_pool[15490]: RasterPos2d (offset 62) */
+ /* _mesa_function_pool[15502]: RasterPos2d (offset 62) */
"dd\0"
"glRasterPos2d\0"
"\0"
- /* _mesa_function_pool[15508]: RasterPos3fv (offset 73) */
+ /* _mesa_function_pool[15520]: RasterPos3fv (offset 73) */
"p\0"
"glRasterPos3fv\0"
"\0"
- /* _mesa_function_pool[15526]: CopyTexSubImage3D (offset 373) */
+ /* _mesa_function_pool[15538]: CopyTexSubImage3D (offset 373) */
"iiiiiiiii\0"
"glCopyTexSubImage3D\0"
"glCopyTexSubImage3DEXT\0"
"\0"
- /* _mesa_function_pool[15580]: VertexAttrib2dARB (will be remapped) */
+ /* _mesa_function_pool[15592]: VertexAttrib2dARB (will be remapped) */
"idd\0"
"glVertexAttrib2d\0"
"glVertexAttrib2dARB\0"
"\0"
- /* _mesa_function_pool[15622]: Color4ub (offset 35) */
+ /* _mesa_function_pool[15634]: Color4ub (offset 35) */
"iiii\0"
"glColor4ub\0"
"\0"
- /* _mesa_function_pool[15639]: GetInteger64v (will be remapped) */
+ /* _mesa_function_pool[15651]: GetInteger64v (will be remapped) */
"ip\0"
"glGetInteger64v\0"
"\0"
- /* _mesa_function_pool[15659]: TextureColorMaskSGIS (dynamic) */
+ /* _mesa_function_pool[15671]: TextureColorMaskSGIS (dynamic) */
"iiii\0"
"glTextureColorMaskSGIS\0"
"\0"
- /* _mesa_function_pool[15688]: RasterPos2s (offset 68) */
+ /* _mesa_function_pool[15700]: RasterPos2s (offset 68) */
"ii\0"
"glRasterPos2s\0"
"\0"
- /* _mesa_function_pool[15706]: GetColorTable (offset 343) */
+ /* _mesa_function_pool[15718]: GetColorTable (offset 343) */
"iiip\0"
"glGetColorTable\0"
"glGetColorTableSGI\0"
"glGetColorTableEXT\0"
"\0"
- /* _mesa_function_pool[15766]: SelectBuffer (offset 195) */
+ /* _mesa_function_pool[15778]: SelectBuffer (offset 195) */
"ip\0"
"glSelectBuffer\0"
"\0"
- /* _mesa_function_pool[15785]: Indexiv (offset 49) */
+ /* _mesa_function_pool[15797]: Indexiv (offset 49) */
"p\0"
"glIndexiv\0"
"\0"
- /* _mesa_function_pool[15798]: TexCoord3i (offset 114) */
+ /* _mesa_function_pool[15810]: TexCoord3i (offset 114) */
"iii\0"
"glTexCoord3i\0"
"\0"
- /* _mesa_function_pool[15816]: CopyColorTable (offset 342) */
+ /* _mesa_function_pool[15828]: CopyColorTable (offset 342) */
"iiiii\0"
"glCopyColorTable\0"
"glCopyColorTableSGI\0"
"\0"
- /* _mesa_function_pool[15860]: GetHistogramParameterfv (offset 362) */
+ /* _mesa_function_pool[15872]: GetHistogramParameterfv (offset 362) */
"iip\0"
"glGetHistogramParameterfv\0"
"glGetHistogramParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[15920]: Frustum (offset 289) */
+ /* _mesa_function_pool[15932]: Frustum (offset 289) */
"dddddd\0"
"glFrustum\0"
"\0"
- /* _mesa_function_pool[15938]: GetString (offset 275) */
+ /* _mesa_function_pool[15950]: GetString (offset 275) */
"i\0"
"glGetString\0"
"\0"
- /* _mesa_function_pool[15953]: ColorPointervINTEL (dynamic) */
+ /* _mesa_function_pool[15965]: ColorPointervINTEL (dynamic) */
"iip\0"
"glColorPointervINTEL\0"
"\0"
- /* _mesa_function_pool[15979]: TexEnvf (offset 184) */
+ /* _mesa_function_pool[15991]: TexEnvf (offset 184) */
"iif\0"
"glTexEnvf\0"
"\0"
- /* _mesa_function_pool[15994]: TexCoord3d (offset 110) */
+ /* _mesa_function_pool[16006]: TexCoord3d (offset 110) */
"ddd\0"
"glTexCoord3d\0"
"\0"
- /* _mesa_function_pool[16012]: AlphaFragmentOp1ATI (will be remapped) */
+ /* _mesa_function_pool[16024]: AlphaFragmentOp1ATI (will be remapped) */
"iiiiii\0"
"glAlphaFragmentOp1ATI\0"
"\0"
- /* _mesa_function_pool[16042]: TexCoord3f (offset 112) */
+ /* _mesa_function_pool[16054]: TexCoord3f (offset 112) */
"fff\0"
"glTexCoord3f\0"
"\0"
- /* _mesa_function_pool[16060]: MultiTexCoord3ivARB (offset 397) */
+ /* _mesa_function_pool[16072]: MultiTexCoord3ivARB (offset 397) */
"ip\0"
"glMultiTexCoord3iv\0"
"glMultiTexCoord3ivARB\0"
"\0"
- /* _mesa_function_pool[16105]: MultiTexCoord2sARB (offset 390) */
+ /* _mesa_function_pool[16117]: MultiTexCoord2sARB (offset 390) */
"iii\0"
"glMultiTexCoord2s\0"
"glMultiTexCoord2sARB\0"
"\0"
- /* _mesa_function_pool[16149]: VertexAttrib1dvARB (will be remapped) */
+ /* _mesa_function_pool[16161]: VertexAttrib1dvARB (will be remapped) */
"ip\0"
"glVertexAttrib1dv\0"
"glVertexAttrib1dvARB\0"
"\0"
- /* _mesa_function_pool[16192]: GetnHistogramARB (will be remapped) */
+ /* _mesa_function_pool[16204]: GetnHistogramARB (will be remapped) */
"iiiiip\0"
"glGetnHistogramARB\0"
"\0"
- /* _mesa_function_pool[16219]: DeleteTextures (offset 327) */
+ /* _mesa_function_pool[16231]: DeleteTextures (offset 327) */
"ip\0"
"glDeleteTextures\0"
"glDeleteTexturesEXT\0"
"\0"
- /* _mesa_function_pool[16260]: TexCoordPointerEXT (will be remapped) */
+ /* _mesa_function_pool[16272]: TexCoordPointerEXT (will be remapped) */
"iiiip\0"
"glTexCoordPointerEXT\0"
"\0"
- /* _mesa_function_pool[16288]: TexSubImage4DSGIS (dynamic) */
+ /* _mesa_function_pool[16300]: TexSubImage4DSGIS (dynamic) */
"iiiiiiiiiiiip\0"
"glTexSubImage4DSGIS\0"
"\0"
- /* _mesa_function_pool[16323]: TexCoord3s (offset 116) */
+ /* _mesa_function_pool[16335]: TexCoord3s (offset 116) */
"iii\0"
"glTexCoord3s\0"
"\0"
- /* _mesa_function_pool[16341]: GetTexLevelParameteriv (offset 285) */
+ /* _mesa_function_pool[16353]: GetTexLevelParameteriv (offset 285) */
"iiip\0"
"glGetTexLevelParameteriv\0"
"\0"
- /* _mesa_function_pool[16372]: CombinerStageParameterfvNV (dynamic) */
+ /* _mesa_function_pool[16384]: CombinerStageParameterfvNV (dynamic) */
"iip\0"
"glCombinerStageParameterfvNV\0"
"\0"
- /* _mesa_function_pool[16406]: StopInstrumentsSGIX (dynamic) */
+ /* _mesa_function_pool[16418]: StopInstrumentsSGIX (dynamic) */
"i\0"
"glStopInstrumentsSGIX\0"
"\0"
- /* _mesa_function_pool[16431]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */
+ /* _mesa_function_pool[16443]: TexCoord4fColor4fNormal3fVertex4fSUN (dynamic) */
"fffffffffffffff\0"
"glTexCoord4fColor4fNormal3fVertex4fSUN\0"
"\0"
- /* _mesa_function_pool[16487]: ClearAccum (offset 204) */
+ /* _mesa_function_pool[16499]: ClearAccum (offset 204) */
"ffff\0"
"glClearAccum\0"
"\0"
- /* _mesa_function_pool[16506]: DeformSGIX (dynamic) */
+ /* _mesa_function_pool[16518]: DeformSGIX (dynamic) */
"i\0"
"glDeformSGIX\0"
"\0"
- /* _mesa_function_pool[16522]: GetVertexAttribfvARB (will be remapped) */
+ /* _mesa_function_pool[16534]: GetVertexAttribfvARB (will be remapped) */
"iip\0"
"glGetVertexAttribfv\0"
"glGetVertexAttribfvARB\0"
"\0"
- /* _mesa_function_pool[16570]: SecondaryColor3ivEXT (will be remapped) */
+ /* _mesa_function_pool[16582]: SecondaryColor3ivEXT (will be remapped) */
"p\0"
"glSecondaryColor3iv\0"
"glSecondaryColor3ivEXT\0"
"\0"
- /* _mesa_function_pool[16616]: TexCoord4iv (offset 123) */
+ /* _mesa_function_pool[16628]: TexCoord4iv (offset 123) */
"p\0"
"glTexCoord4iv\0"
"\0"
- /* _mesa_function_pool[16633]: VertexAttribI4uiEXT (will be remapped) */
+ /* _mesa_function_pool[16645]: VertexAttribI4uiEXT (will be remapped) */
"iiiii\0"
"glVertexAttribI4uiEXT\0"
"glVertexAttribI4ui\0"
"\0"
- /* _mesa_function_pool[16681]: GetFragmentMaterialfvSGIX (dynamic) */
+ /* _mesa_function_pool[16693]: GetFragmentMaterialfvSGIX (dynamic) */
"iip\0"
"glGetFragmentMaterialfvSGIX\0"
"\0"
- /* _mesa_function_pool[16714]: UniformMatrix4x2fv (will be remapped) */
+ /* _mesa_function_pool[16726]: UniformMatrix4x2fv (will be remapped) */
"iiip\0"
"glUniformMatrix4x2fv\0"
"\0"
- /* _mesa_function_pool[16741]: GetDetailTexFuncSGIS (dynamic) */
+ /* _mesa_function_pool[16753]: GetDetailTexFuncSGIS (dynamic) */
"ip\0"
"glGetDetailTexFuncSGIS\0"
"\0"
- /* _mesa_function_pool[16768]: GetCombinerStageParameterfvNV (dynamic) */
+ /* _mesa_function_pool[16780]: GetCombinerStageParameterfvNV (dynamic) */
"iip\0"
"glGetCombinerStageParameterfvNV\0"
"\0"
- /* _mesa_function_pool[16805]: SamplerParameterIiv (will be remapped) */
+ /* _mesa_function_pool[16817]: SamplerParameterIiv (will be remapped) */
"iip\0"
"glSamplerParameterIiv\0"
"\0"
- /* _mesa_function_pool[16832]: PolygonOffset (offset 319) */
+ /* _mesa_function_pool[16844]: PolygonOffset (offset 319) */
"ff\0"
"glPolygonOffset\0"
"\0"
- /* _mesa_function_pool[16852]: BindVertexArray (will be remapped) */
+ /* _mesa_function_pool[16864]: BindVertexArray (will be remapped) */
"i\0"
"glBindVertexArray\0"
"\0"
- /* _mesa_function_pool[16873]: Color4ubVertex2fvSUN (dynamic) */
+ /* _mesa_function_pool[16885]: Color4ubVertex2fvSUN (dynamic) */
"pp\0"
"glColor4ubVertex2fvSUN\0"
"\0"
- /* _mesa_function_pool[16900]: Rectd (offset 86) */
+ /* _mesa_function_pool[16912]: Rectd (offset 86) */
"dddd\0"
"glRectd\0"
"\0"
- /* _mesa_function_pool[16914]: TexFilterFuncSGIS (dynamic) */
+ /* _mesa_function_pool[16926]: TexFilterFuncSGIS (dynamic) */
"iiip\0"
"glTexFilterFuncSGIS\0"
"\0"
- /* _mesa_function_pool[16940]: TextureBarrierNV (will be remapped) */
+ /* _mesa_function_pool[16952]: TextureBarrierNV (will be remapped) */
"\0"
"glTextureBarrierNV\0"
"\0"
- /* _mesa_function_pool[16961]: SamplerParameterfv (will be remapped) */
+ /* _mesa_function_pool[16973]: SamplerParameterfv (will be remapped) */
"iip\0"
"glSamplerParameterfv\0"
"\0"
- /* _mesa_function_pool[16987]: VertexAttribI4ubvEXT (will be remapped) */
- "ip\0"
- "glVertexAttribI4ubvEXT\0"
- "glVertexAttribI4ubv\0"
+ /* _mesa_function_pool[16999]: ColorMaskIndexedEXT (will be remapped) */
+ "iiiii\0"
+ "glColorMaskIndexedEXT\0"
+ "glColorMaski\0"
"\0"
- /* _mesa_function_pool[17034]: GetAttribLocationARB (will be remapped) */
+ /* _mesa_function_pool[17041]: GetAttribLocationARB (will be remapped) */
"ip\0"
"glGetAttribLocation\0"
"glGetAttribLocationARB\0"
"\0"
- /* _mesa_function_pool[17081]: RasterPos3i (offset 74) */
+ /* _mesa_function_pool[17088]: RasterPos3i (offset 74) */
"iii\0"
"glRasterPos3i\0"
"\0"
- /* _mesa_function_pool[17100]: BlendEquationSeparateiARB (will be remapped) */
- "iii\0"
- "glBlendEquationSeparateiARB\0"
- "\0"
- /* _mesa_function_pool[17133]: VertexAttrib4ubvARB (will be remapped) */
+ /* _mesa_function_pool[17107]: VertexAttrib4ubvARB (will be remapped) */
"ip\0"
"glVertexAttrib4ubv\0"
"glVertexAttrib4ubvARB\0"
"\0"
- /* _mesa_function_pool[17178]: DetailTexFuncSGIS (dynamic) */
+ /* _mesa_function_pool[17152]: DetailTexFuncSGIS (dynamic) */
"iip\0"
"glDetailTexFuncSGIS\0"
"\0"
- /* _mesa_function_pool[17203]: Normal3fVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[17177]: Normal3fVertex3fSUN (dynamic) */
"ffffff\0"
"glNormal3fVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[17233]: CopyTexImage2D (offset 324) */
+ /* _mesa_function_pool[17207]: CopyTexImage2D (offset 324) */
"iiiiiiii\0"
"glCopyTexImage2D\0"
"glCopyTexImage2DEXT\0"
"\0"
- /* _mesa_function_pool[17280]: GetBufferPointervARB (will be remapped) */
+ /* _mesa_function_pool[17254]: GetBufferPointervARB (will be remapped) */
"iip\0"
"glGetBufferPointerv\0"
"glGetBufferPointervARB\0"
"\0"
- /* _mesa_function_pool[17328]: ProgramEnvParameter4fARB (will be remapped) */
+ /* _mesa_function_pool[17302]: ProgramEnvParameter4fARB (will be remapped) */
"iiffff\0"
"glProgramEnvParameter4fARB\0"
"glProgramParameter4fNV\0"
"\0"
- /* _mesa_function_pool[17386]: Uniform3ivARB (will be remapped) */
+ /* _mesa_function_pool[17360]: Uniform3ivARB (will be remapped) */
"iip\0"
"glUniform3iv\0"
"glUniform3ivARB\0"
"\0"
- /* _mesa_function_pool[17420]: Lightfv (offset 160) */
+ /* _mesa_function_pool[17394]: Lightfv (offset 160) */
"iip\0"
"glLightfv\0"
"\0"
- /* _mesa_function_pool[17435]: PrimitiveRestartIndexNV (will be remapped) */
+ /* _mesa_function_pool[17409]: PrimitiveRestartIndexNV (will be remapped) */
"i\0"
"glPrimitiveRestartIndexNV\0"
"glPrimitiveRestartIndex\0"
"\0"
- /* _mesa_function_pool[17488]: ClearDepth (offset 208) */
+ /* _mesa_function_pool[17462]: ClearDepth (offset 208) */
"d\0"
"glClearDepth\0"
"\0"
- /* _mesa_function_pool[17504]: GetFenceivNV (will be remapped) */
+ /* _mesa_function_pool[17478]: GetFenceivNV (will be remapped) */
"iip\0"
"glGetFenceivNV\0"
"\0"
- /* _mesa_function_pool[17524]: WindowPos4dvMESA (will be remapped) */
+ /* _mesa_function_pool[17498]: WindowPos4dvMESA (will be remapped) */
"p\0"
"glWindowPos4dvMESA\0"
"\0"
- /* _mesa_function_pool[17546]: ColorSubTable (offset 346) */
+ /* _mesa_function_pool[17520]: ColorSubTable (offset 346) */
"iiiiip\0"
"glColorSubTable\0"
"glColorSubTableEXT\0"
"\0"
- /* _mesa_function_pool[17589]: Color4fv (offset 30) */
+ /* _mesa_function_pool[17563]: Color4fv (offset 30) */
"p\0"
"glColor4fv\0"
"\0"
- /* _mesa_function_pool[17603]: MultiTexCoord4ivARB (offset 405) */
+ /* _mesa_function_pool[17577]: MultiTexCoord4ivARB (offset 405) */
"ip\0"
"glMultiTexCoord4iv\0"
"glMultiTexCoord4ivARB\0"
"\0"
- /* _mesa_function_pool[17648]: GetnMinmaxARB (will be remapped) */
+ /* _mesa_function_pool[17622]: GetnMinmaxARB (will be remapped) */
"iiiiip\0"
"glGetnMinmaxARB\0"
"\0"
- /* _mesa_function_pool[17672]: ProgramLocalParameters4fvEXT (will be remapped) */
+ /* _mesa_function_pool[17646]: ProgramLocalParameters4fvEXT (will be remapped) */
"iiip\0"
"glProgramLocalParameters4fvEXT\0"
"\0"
- /* _mesa_function_pool[17709]: ColorPointer (offset 308) */
+ /* _mesa_function_pool[17683]: ColorPointer (offset 308) */
"iiip\0"
"glColorPointer\0"
"\0"
- /* _mesa_function_pool[17730]: Rects (offset 92) */
+ /* _mesa_function_pool[17704]: Rects (offset 92) */
"iiii\0"
"glRects\0"
"\0"
- /* _mesa_function_pool[17744]: GetMapAttribParameterfvNV (dynamic) */
+ /* _mesa_function_pool[17718]: GetMapAttribParameterfvNV (dynamic) */
"iiip\0"
"glGetMapAttribParameterfvNV\0"
"\0"
- /* _mesa_function_pool[17778]: CreateShaderProgramEXT (will be remapped) */
+ /* _mesa_function_pool[17752]: CreateShaderProgramEXT (will be remapped) */
"ip\0"
"glCreateShaderProgramEXT\0"
"\0"
- /* _mesa_function_pool[17807]: ActiveProgramEXT (will be remapped) */
+ /* _mesa_function_pool[17781]: ActiveProgramEXT (will be remapped) */
"i\0"
"glActiveProgramEXT\0"
"\0"
- /* _mesa_function_pool[17829]: Lightiv (offset 162) */
+ /* _mesa_function_pool[17803]: Lightiv (offset 162) */
"iip\0"
"glLightiv\0"
"\0"
- /* _mesa_function_pool[17844]: VertexAttrib4sARB (will be remapped) */
+ /* _mesa_function_pool[17818]: VertexAttrib4sARB (will be remapped) */
"iiiii\0"
"glVertexAttrib4s\0"
"glVertexAttrib4sARB\0"
"\0"
- /* _mesa_function_pool[17888]: GetQueryObjectuivARB (will be remapped) */
+ /* _mesa_function_pool[17862]: GetQueryObjectuivARB (will be remapped) */
"iip\0"
"glGetQueryObjectuiv\0"
"glGetQueryObjectuivARB\0"
"\0"
- /* _mesa_function_pool[17936]: GetTexParameteriv (offset 283) */
+ /* _mesa_function_pool[17910]: GetTexParameteriv (offset 283) */
"iip\0"
"glGetTexParameteriv\0"
"\0"
- /* _mesa_function_pool[17961]: MapParameterivNV (dynamic) */
+ /* _mesa_function_pool[17935]: MapParameterivNV (dynamic) */
"iip\0"
"glMapParameterivNV\0"
"\0"
- /* _mesa_function_pool[17985]: GenRenderbuffersEXT (will be remapped) */
+ /* _mesa_function_pool[17959]: GenRenderbuffersEXT (will be remapped) */
"ip\0"
"glGenRenderbuffers\0"
"glGenRenderbuffersEXT\0"
"\0"
- /* _mesa_function_pool[18030]: ClearBufferfv (will be remapped) */
+ /* _mesa_function_pool[18004]: ClearBufferfv (will be remapped) */
"iip\0"
"glClearBufferfv\0"
"\0"
- /* _mesa_function_pool[18051]: VertexAttrib2dvARB (will be remapped) */
+ /* _mesa_function_pool[18025]: VertexAttrib2dvARB (will be remapped) */
"ip\0"
"glVertexAttrib2dv\0"
"glVertexAttrib2dvARB\0"
"\0"
- /* _mesa_function_pool[18094]: EdgeFlagPointerEXT (will be remapped) */
+ /* _mesa_function_pool[18068]: EdgeFlagPointerEXT (will be remapped) */
"iip\0"
"glEdgeFlagPointerEXT\0"
"\0"
- /* _mesa_function_pool[18120]: VertexAttribs2svNV (will be remapped) */
+ /* _mesa_function_pool[18094]: VertexAttribs2svNV (will be remapped) */
"iip\0"
"glVertexAttribs2svNV\0"
"\0"
- /* _mesa_function_pool[18146]: WeightbvARB (dynamic) */
+ /* _mesa_function_pool[18120]: WeightbvARB (dynamic) */
"ip\0"
"glWeightbvARB\0"
"\0"
- /* _mesa_function_pool[18164]: VertexAttrib2fvARB (will be remapped) */
+ /* _mesa_function_pool[18138]: VertexAttrib2fvARB (will be remapped) */
"ip\0"
"glVertexAttrib2fv\0"
"glVertexAttrib2fvARB\0"
"\0"
- /* _mesa_function_pool[18207]: GetBufferParameterivARB (will be remapped) */
+ /* _mesa_function_pool[18181]: GetBufferParameterivARB (will be remapped) */
"iip\0"
"glGetBufferParameteriv\0"
"glGetBufferParameterivARB\0"
"\0"
- /* _mesa_function_pool[18261]: Rectdv (offset 87) */
+ /* _mesa_function_pool[18235]: Rectdv (offset 87) */
"pp\0"
"glRectdv\0"
"\0"
- /* _mesa_function_pool[18274]: ListParameteriSGIX (dynamic) */
+ /* _mesa_function_pool[18248]: ListParameteriSGIX (dynamic) */
"iii\0"
"glListParameteriSGIX\0"
"\0"
- /* _mesa_function_pool[18300]: BlendEquationiARB (will be remapped) */
+ /* _mesa_function_pool[18274]: BlendEquationiARB (will be remapped) */
"ii\0"
"glBlendEquationiARB\0"
+ "glBlendEquationIndexedAMD\0"
"\0"
/* _mesa_function_pool[18324]: ReplacementCodeuiColor4fNormal3fVertex3fSUN (dynamic) */
"iffffffffff\0"
@@ -3938,986 +3932,996 @@ static const char _mesa_function_pool[] =
"iip\0"
"glVertexAttribs4dvNV\0"
"\0"
- /* _mesa_function_pool[27695]: VertexAttrib4dARB (will be remapped) */
+ /* _mesa_function_pool[27695]: MultiModeDrawArraysIBM (will be remapped) */
+ "pppii\0"
+ "glMultiModeDrawArraysIBM\0"
+ "\0"
+ /* _mesa_function_pool[27727]: VertexAttrib4dARB (will be remapped) */
"idddd\0"
"glVertexAttrib4d\0"
"glVertexAttrib4dARB\0"
"\0"
- /* _mesa_function_pool[27739]: GetTexBumpParameterfvATI (will be remapped) */
+ /* _mesa_function_pool[27771]: GetTexBumpParameterfvATI (will be remapped) */
"ip\0"
"glGetTexBumpParameterfvATI\0"
"\0"
- /* _mesa_function_pool[27770]: ProgramNamedParameter4dNV (will be remapped) */
+ /* _mesa_function_pool[27802]: ProgramNamedParameter4dNV (will be remapped) */
"iipdddd\0"
"glProgramNamedParameter4dNV\0"
"\0"
- /* _mesa_function_pool[27807]: GetMaterialfv (offset 269) */
+ /* _mesa_function_pool[27839]: GetMaterialfv (offset 269) */
"iip\0"
"glGetMaterialfv\0"
"\0"
- /* _mesa_function_pool[27828]: VertexWeightfEXT (dynamic) */
+ /* _mesa_function_pool[27860]: VertexWeightfEXT (dynamic) */
"f\0"
"glVertexWeightfEXT\0"
"\0"
- /* _mesa_function_pool[27850]: SetFragmentShaderConstantATI (will be remapped) */
+ /* _mesa_function_pool[27882]: SetFragmentShaderConstantATI (will be remapped) */
"ip\0"
"glSetFragmentShaderConstantATI\0"
"\0"
- /* _mesa_function_pool[27885]: Binormal3fEXT (dynamic) */
+ /* _mesa_function_pool[27917]: Binormal3fEXT (dynamic) */
"fff\0"
"glBinormal3fEXT\0"
"\0"
- /* _mesa_function_pool[27906]: CallList (offset 2) */
+ /* _mesa_function_pool[27938]: CallList (offset 2) */
"i\0"
"glCallList\0"
"\0"
- /* _mesa_function_pool[27920]: Materialfv (offset 170) */
+ /* _mesa_function_pool[27952]: Materialfv (offset 170) */
"iip\0"
"glMaterialfv\0"
"\0"
- /* _mesa_function_pool[27938]: TexCoord3fv (offset 113) */
+ /* _mesa_function_pool[27970]: TexCoord3fv (offset 113) */
"p\0"
"glTexCoord3fv\0"
"\0"
- /* _mesa_function_pool[27955]: FogCoordfvEXT (will be remapped) */
+ /* _mesa_function_pool[27987]: FogCoordfvEXT (will be remapped) */
"p\0"
"glFogCoordfv\0"
"glFogCoordfvEXT\0"
"\0"
- /* _mesa_function_pool[27987]: MultiTexCoord1ivARB (offset 381) */
+ /* _mesa_function_pool[28019]: MultiTexCoord1ivARB (offset 381) */
"ip\0"
"glMultiTexCoord1iv\0"
"glMultiTexCoord1ivARB\0"
"\0"
- /* _mesa_function_pool[28032]: SecondaryColor3ubEXT (will be remapped) */
+ /* _mesa_function_pool[28064]: SecondaryColor3ubEXT (will be remapped) */
"iii\0"
"glSecondaryColor3ub\0"
"glSecondaryColor3ubEXT\0"
"\0"
- /* _mesa_function_pool[28080]: MultiTexCoord2ivARB (offset 389) */
+ /* _mesa_function_pool[28112]: MultiTexCoord2ivARB (offset 389) */
"ip\0"
"glMultiTexCoord2iv\0"
"glMultiTexCoord2ivARB\0"
"\0"
- /* _mesa_function_pool[28125]: FogFuncSGIS (dynamic) */
+ /* _mesa_function_pool[28157]: FogFuncSGIS (dynamic) */
"ip\0"
"glFogFuncSGIS\0"
"\0"
- /* _mesa_function_pool[28143]: CopyTexSubImage2D (offset 326) */
+ /* _mesa_function_pool[28175]: CopyTexSubImage2D (offset 326) */
"iiiiiiii\0"
"glCopyTexSubImage2D\0"
"glCopyTexSubImage2DEXT\0"
"\0"
- /* _mesa_function_pool[28196]: GetObjectParameterivARB (will be remapped) */
+ /* _mesa_function_pool[28228]: GetObjectParameterivARB (will be remapped) */
"iip\0"
"glGetObjectParameterivARB\0"
"\0"
- /* _mesa_function_pool[28227]: Color3iv (offset 16) */
+ /* _mesa_function_pool[28259]: Color3iv (offset 16) */
"p\0"
"glColor3iv\0"
"\0"
- /* _mesa_function_pool[28241]: TexCoord4fVertex4fSUN (dynamic) */
+ /* _mesa_function_pool[28273]: TexCoord4fVertex4fSUN (dynamic) */
"ffffffff\0"
"glTexCoord4fVertex4fSUN\0"
"\0"
- /* _mesa_function_pool[28275]: DrawElements (offset 311) */
+ /* _mesa_function_pool[28307]: DrawElements (offset 311) */
"iiip\0"
"glDrawElements\0"
"\0"
- /* _mesa_function_pool[28296]: BindVertexArrayAPPLE (will be remapped) */
+ /* _mesa_function_pool[28328]: BindVertexArrayAPPLE (will be remapped) */
"i\0"
"glBindVertexArrayAPPLE\0"
"\0"
- /* _mesa_function_pool[28322]: GetProgramLocalParameterdvARB (will be remapped) */
+ /* _mesa_function_pool[28354]: GetProgramLocalParameterdvARB (will be remapped) */
"iip\0"
"glGetProgramLocalParameterdvARB\0"
"\0"
- /* _mesa_function_pool[28359]: GetHistogramParameteriv (offset 363) */
+ /* _mesa_function_pool[28391]: GetHistogramParameteriv (offset 363) */
"iip\0"
"glGetHistogramParameteriv\0"
"glGetHistogramParameterivEXT\0"
"\0"
- /* _mesa_function_pool[28419]: MultiTexCoord1iARB (offset 380) */
+ /* _mesa_function_pool[28451]: MultiTexCoord1iARB (offset 380) */
"ii\0"
"glMultiTexCoord1i\0"
"glMultiTexCoord1iARB\0"
"\0"
- /* _mesa_function_pool[28462]: GetConvolutionFilter (offset 356) */
+ /* _mesa_function_pool[28494]: GetConvolutionFilter (offset 356) */
"iiip\0"
"glGetConvolutionFilter\0"
"glGetConvolutionFilterEXT\0"
"\0"
- /* _mesa_function_pool[28517]: GetProgramivARB (will be remapped) */
+ /* _mesa_function_pool[28549]: GetProgramivARB (will be remapped) */
"iip\0"
"glGetProgramivARB\0"
"\0"
- /* _mesa_function_pool[28540]: TexBufferARB (will be remapped) */
+ /* _mesa_function_pool[28572]: TexBufferARB (will be remapped) */
"iii\0"
"glTexBufferARB\0"
"\0"
- /* _mesa_function_pool[28560]: BlendFuncSeparateEXT (will be remapped) */
+ /* _mesa_function_pool[28592]: BlendFuncSeparateEXT (will be remapped) */
"iiii\0"
"glBlendFuncSeparate\0"
"glBlendFuncSeparateEXT\0"
"glBlendFuncSeparateINGR\0"
"\0"
- /* _mesa_function_pool[28633]: MapBufferRange (will be remapped) */
+ /* _mesa_function_pool[28665]: MapBufferRange (will be remapped) */
"iiii\0"
"glMapBufferRange\0"
"\0"
- /* _mesa_function_pool[28656]: ProgramParameters4dvNV (will be remapped) */
+ /* _mesa_function_pool[28688]: ProgramParameters4dvNV (will be remapped) */
"iiip\0"
"glProgramParameters4dvNV\0"
"\0"
- /* _mesa_function_pool[28687]: TexCoord2fColor3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[28719]: TexCoord2fColor3fVertex3fvSUN (dynamic) */
"ppp\0"
"glTexCoord2fColor3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[28724]: EvalPoint2 (offset 239) */
+ /* _mesa_function_pool[28756]: EvalPoint2 (offset 239) */
"ii\0"
"glEvalPoint2\0"
"\0"
- /* _mesa_function_pool[28741]: Uniform1uivEXT (will be remapped) */
+ /* _mesa_function_pool[28773]: Uniform1uivEXT (will be remapped) */
"iip\0"
"glUniform1uivEXT\0"
"glUniform1uiv\0"
"\0"
- /* _mesa_function_pool[28777]: EvalPoint1 (offset 237) */
+ /* _mesa_function_pool[28809]: EvalPoint1 (offset 237) */
"i\0"
"glEvalPoint1\0"
"\0"
- /* _mesa_function_pool[28793]: Binormal3dvEXT (dynamic) */
+ /* _mesa_function_pool[28825]: Binormal3dvEXT (dynamic) */
"p\0"
"glBinormal3dvEXT\0"
"\0"
- /* _mesa_function_pool[28813]: PopMatrix (offset 297) */
+ /* _mesa_function_pool[28845]: PopMatrix (offset 297) */
"\0"
"glPopMatrix\0"
"\0"
- /* _mesa_function_pool[28827]: FinishFenceNV (will be remapped) */
+ /* _mesa_function_pool[28859]: GetVertexAttribIuivEXT (will be remapped) */
+ "iip\0"
+ "glGetVertexAttribIuivEXT\0"
+ "glGetVertexAttribIuiv\0"
+ "\0"
+ /* _mesa_function_pool[28911]: FinishFenceNV (will be remapped) */
"i\0"
"glFinishFenceNV\0"
"\0"
- /* _mesa_function_pool[28846]: GetFogFuncSGIS (dynamic) */
+ /* _mesa_function_pool[28930]: GetFogFuncSGIS (dynamic) */
"p\0"
"glGetFogFuncSGIS\0"
"\0"
- /* _mesa_function_pool[28866]: GetUniformLocationARB (will be remapped) */
+ /* _mesa_function_pool[28950]: GetUniformLocationARB (will be remapped) */
"ip\0"
"glGetUniformLocation\0"
"glGetUniformLocationARB\0"
"\0"
- /* _mesa_function_pool[28915]: SecondaryColor3fEXT (will be remapped) */
+ /* _mesa_function_pool[28999]: SecondaryColor3fEXT (will be remapped) */
"fff\0"
"glSecondaryColor3f\0"
"glSecondaryColor3fEXT\0"
"\0"
- /* _mesa_function_pool[28961]: GetTexGeniv (offset 280) */
+ /* _mesa_function_pool[29045]: GetTexGeniv (offset 280) */
"iip\0"
"glGetTexGeniv\0"
"\0"
- /* _mesa_function_pool[28980]: CombinerInputNV (will be remapped) */
+ /* _mesa_function_pool[29064]: CombinerInputNV (will be remapped) */
"iiiiii\0"
"glCombinerInputNV\0"
"\0"
- /* _mesa_function_pool[29006]: VertexAttrib3sARB (will be remapped) */
+ /* _mesa_function_pool[29090]: VertexAttrib3sARB (will be remapped) */
"iiii\0"
"glVertexAttrib3s\0"
"glVertexAttrib3sARB\0"
"\0"
- /* _mesa_function_pool[29049]: IsTransformFeedback (will be remapped) */
+ /* _mesa_function_pool[29133]: IsTransformFeedback (will be remapped) */
"i\0"
"glIsTransformFeedback\0"
"\0"
- /* _mesa_function_pool[29074]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */
+ /* _mesa_function_pool[29158]: ReplacementCodeuiNormal3fVertex3fvSUN (dynamic) */
"ppp\0"
"glReplacementCodeuiNormal3fVertex3fvSUN\0"
"\0"
- /* _mesa_function_pool[29119]: Map2d (offset 222) */
+ /* _mesa_function_pool[29203]: Map2d (offset 222) */
"iddiiddiip\0"
"glMap2d\0"
"\0"
- /* _mesa_function_pool[29139]: Map2f (offset 223) */
+ /* _mesa_function_pool[29223]: Map2f (offset 223) */
"iffiiffiip\0"
"glMap2f\0"
"\0"
- /* _mesa_function_pool[29159]: ProgramStringARB (will be remapped) */
+ /* _mesa_function_pool[29243]: ProgramStringARB (will be remapped) */
"iiip\0"
"glProgramStringARB\0"
"\0"
- /* _mesa_function_pool[29184]: Vertex4s (offset 148) */
+ /* _mesa_function_pool[29268]: Vertex4s (offset 148) */
"iiii\0"
"glVertex4s\0"
"\0"
- /* _mesa_function_pool[29201]: TexCoord4fVertex4fvSUN (dynamic) */
+ /* _mesa_function_pool[29285]: TexCoord4fVertex4fvSUN (dynamic) */
"pp\0"
"glTexCoord4fVertex4fvSUN\0"
"\0"
- /* _mesa_function_pool[29230]: FragmentLightModelivSGIX (dynamic) */
+ /* _mesa_function_pool[29314]: FragmentLightModelivSGIX (dynamic) */
"ip\0"
"glFragmentLightModelivSGIX\0"
"\0"
- /* _mesa_function_pool[29261]: VertexAttrib1fNV (will be remapped) */
+ /* _mesa_function_pool[29345]: VertexAttrib1fNV (will be remapped) */
"if\0"
"glVertexAttrib1fNV\0"
"\0"
- /* _mesa_function_pool[29284]: Vertex4f (offset 144) */
+ /* _mesa_function_pool[29368]: Vertex4f (offset 144) */
"ffff\0"
"glVertex4f\0"
"\0"
- /* _mesa_function_pool[29301]: EvalCoord1d (offset 228) */
+ /* _mesa_function_pool[29385]: EvalCoord1d (offset 228) */
"d\0"
"glEvalCoord1d\0"
"\0"
- /* _mesa_function_pool[29318]: Vertex4d (offset 142) */
+ /* _mesa_function_pool[29402]: Vertex4d (offset 142) */
"dddd\0"
"glVertex4d\0"
"\0"
- /* _mesa_function_pool[29335]: RasterPos4dv (offset 79) */
+ /* _mesa_function_pool[29419]: RasterPos4dv (offset 79) */
"p\0"
"glRasterPos4dv\0"
"\0"
- /* _mesa_function_pool[29353]: UseShaderProgramEXT (will be remapped) */
+ /* _mesa_function_pool[29437]: UseShaderProgramEXT (will be remapped) */
"ii\0"
"glUseShaderProgramEXT\0"
"\0"
- /* _mesa_function_pool[29379]: FragmentLightfSGIX (dynamic) */
+ /* _mesa_function_pool[29463]: FragmentLightfSGIX (dynamic) */
"iif\0"
"glFragmentLightfSGIX\0"
"\0"
- /* _mesa_function_pool[29405]: GetCompressedTexImageARB (will be remapped) */
+ /* _mesa_function_pool[29489]: GetCompressedTexImageARB (will be remapped) */
"iip\0"
"glGetCompressedTexImage\0"
"glGetCompressedTexImageARB\0"
"\0"
- /* _mesa_function_pool[29461]: GetTexGenfv (offset 279) */
+ /* _mesa_function_pool[29545]: GetTexGenfv (offset 279) */
"iip\0"
"glGetTexGenfv\0"
"\0"
- /* _mesa_function_pool[29480]: Vertex4i (offset 146) */
+ /* _mesa_function_pool[29564]: Vertex4i (offset 146) */
"iiii\0"
"glVertex4i\0"
"\0"
- /* _mesa_function_pool[29497]: VertexWeightPointerEXT (dynamic) */
+ /* _mesa_function_pool[29581]: VertexWeightPointerEXT (dynamic) */
"iiip\0"
"glVertexWeightPointerEXT\0"
"\0"
- /* _mesa_function_pool[29528]: GetHistogram (offset 361) */
+ /* _mesa_function_pool[29612]: GetHistogram (offset 361) */
"iiiip\0"
"glGetHistogram\0"
"glGetHistogramEXT\0"
"\0"
- /* _mesa_function_pool[29568]: ActiveStencilFaceEXT (will be remapped) */
+ /* _mesa_function_pool[29652]: ActiveStencilFaceEXT (will be remapped) */
"i\0"
"glActiveStencilFaceEXT\0"
"\0"
- /* _mesa_function_pool[29594]: StencilFuncSeparateATI (will be remapped) */
+ /* _mesa_function_pool[29678]: StencilFuncSeparateATI (will be remapped) */
"iiii\0"
"glStencilFuncSeparateATI\0"
"\0"
- /* _mesa_function_pool[29625]: Materialf (offset 169) */
+ /* _mesa_function_pool[29709]: Materialf (offset 169) */
"iif\0"
"glMaterialf\0"
"\0"
- /* _mesa_function_pool[29642]: GetShaderSourceARB (will be remapped) */
+ /* _mesa_function_pool[29726]: GetShaderSourceARB (will be remapped) */
"iipp\0"
"glGetShaderSource\0"
"glGetShaderSourceARB\0"
"\0"
- /* _mesa_function_pool[29687]: IglooInterfaceSGIX (dynamic) */
+ /* _mesa_function_pool[29771]: IglooInterfaceSGIX (dynamic) */
"ip\0"
"glIglooInterfaceSGIX\0"
"\0"
- /* _mesa_function_pool[29712]: Materiali (offset 171) */
+ /* _mesa_function_pool[29796]: Materiali (offset 171) */
"iii\0"
"glMateriali\0"
"\0"
- /* _mesa_function_pool[29729]: VertexAttrib4dNV (will be remapped) */
+ /* _mesa_function_pool[29813]: VertexAttrib4dNV (will be remapped) */
"idddd\0"
"glVertexAttrib4dNV\0"
"\0"
- /* _mesa_function_pool[29755]: MultiModeDrawElementsIBM (will be remapped) */
+ /* _mesa_function_pool[29839]: MultiModeDrawElementsIBM (will be remapped) */
"ppipii\0"
"glMultiModeDrawElementsIBM\0"
"\0"
- /* _mesa_function_pool[29790]: Indexsv (offset 51) */
+ /* _mesa_function_pool[29874]: Indexsv (offset 51) */
"p\0"
"glIndexsv\0"
"\0"
- /* _mesa_function_pool[29803]: MultiTexCoord4svARB (offset 407) */
+ /* _mesa_function_pool[29887]: MultiTexCoord4svARB (offset 407) */
"ip\0"
"glMultiTexCoord4sv\0"
"glMultiTexCoord4svARB\0"
"\0"
- /* _mesa_function_pool[29848]: LightModelfv (offset 164) */
+ /* _mesa_function_pool[29932]: LightModelfv (offset 164) */
"ip\0"
"glLightModelfv\0"
"\0"
- /* _mesa_function_pool[29867]: TexCoord2dv (offset 103) */
+ /* _mesa_function_pool[29951]: TexCoord2dv (offset 103) */
"p\0"
"glTexCoord2dv\0"
"\0"
- /* _mesa_function_pool[29884]: GenQueriesARB (will be remapped) */
+ /* _mesa_function_pool[29968]: GenQueriesARB (will be remapped) */
"ip\0"
"glGenQueries\0"
"glGenQueriesARB\0"
"\0"
- /* _mesa_function_pool[29917]: EvalCoord1dv (offset 229) */
+ /* _mesa_function_pool[30001]: EvalCoord1dv (offset 229) */
"p\0"
"glEvalCoord1dv\0"
"\0"
- /* _mesa_function_pool[29935]: ReplacementCodeuiVertex3fSUN (dynamic) */
+ /* _mesa_function_pool[30019]: ReplacementCodeuiVertex3fSUN (dynamic) */
"ifff\0"
"glReplacementCodeuiVertex3fSUN\0"
"\0"
- /* _mesa_function_pool[29972]: Translated (offset 303) */
+ /* _mesa_function_pool[30056]: Translated (offset 303) */
"ddd\0"
"glTranslated\0"
"\0"
- /* _mesa_function_pool[29990]: Translatef (offset 304) */
+ /* _mesa_function_pool[30074]: Translatef (offset 304) */
"fff\0"
"glTranslatef\0"
"\0"
- /* _mesa_function_pool[30008]: Uniform3uiEXT (will be remapped) */
+ /* _mesa_function_pool[30092]: Uniform3uiEXT (will be remapped) */
"iiii\0"
"glUniform3uiEXT\0"
"glUniform3ui\0"
"\0"
- /* _mesa_function_pool[30043]: StencilMask (offset 209) */
+ /* _mesa_function_pool[30127]: StencilMask (offset 209) */
"i\0"
"glStencilMask\0"
"\0"
- /* _mesa_function_pool[30060]: Tangent3iEXT (dynamic) */
+ /* _mesa_function_pool[30144]: Tangent3iEXT (dynamic) */
"iii\0"
"glTangent3iEXT\0"
"\0"
- /* _mesa_function_pool[30080]: ClampColorARB (will be remapped) */
+ /* _mesa_function_pool[30164]: ClampColorARB (will be remapped) */
"ii\0"
"glClampColorARB\0"
"\0"
- /* _mesa_function_pool[30100]: GetLightiv (offset 265) */
+ /* _mesa_function_pool[30184]: GetLightiv (offset 265) */
"iip\0"
"glGetLightiv\0"
"\0"
- /* _mesa_function_pool[30118]: GetSamplerParameterIiv (will be remapped) */
+ /* _mesa_function_pool[30202]: GetSamplerParameterIiv (will be remapped) */
"iip\0"
"glGetSamplerParameterIiv\0"
"\0"
- /* _mesa_function_pool[30148]: DrawMeshArraysSUN (dynamic) */
+ /* _mesa_function_pool[30232]: DrawMeshArraysSUN (dynamic) */
"iiii\0"
"glDrawMeshArraysSUN\0"
"\0"
- /* _mesa_function_pool[30174]: IsList (offset 287) */
+ /* _mesa_function_pool[30258]: IsList (offset 287) */
"i\0"
"glIsList\0"
"\0"
- /* _mesa_function_pool[30186]: IsSync (will be remapped) */
+ /* _mesa_function_pool[30270]: IsSync (will be remapped) */
"i\0"
"glIsSync\0"
"\0"
- /* _mesa_function_pool[30198]: RenderMode (offset 196) */
+ /* _mesa_function_pool[30282]: RenderMode (offset 196) */
"i\0"
"glRenderMode\0"
"\0"
- /* _mesa_function_pool[30214]: GetMapControlPointsNV (dynamic) */
+ /* _mesa_function_pool[30298]: GetMapControlPointsNV (dynamic) */
"iiiiiip\0"
"glGetMapControlPointsNV\0"
"\0"
- /* _mesa_function_pool[30247]: DrawBuffersARB (will be remapped) */
+ /* _mesa_function_pool[30331]: DrawBuffersARB (will be remapped) */
"ip\0"
"glDrawBuffers\0"
"glDrawBuffersARB\0"
"glDrawBuffersATI\0"
"\0"
- /* _mesa_function_pool[30299]: ClearBufferiv (will be remapped) */
+ /* _mesa_function_pool[30383]: ClearBufferiv (will be remapped) */
"iip\0"
"glClearBufferiv\0"
"\0"
- /* _mesa_function_pool[30320]: ProgramLocalParameter4fARB (will be remapped) */
+ /* _mesa_function_pool[30404]: ProgramLocalParameter4fARB (will be remapped) */
"iiffff\0"
"glProgramLocalParameter4fARB\0"
"\0"
- /* _mesa_function_pool[30357]: SpriteParameterivSGIX (dynamic) */
+ /* _mesa_function_pool[30441]: SpriteParameterivSGIX (dynamic) */
"ip\0"
"glSpriteParameterivSGIX\0"
"\0"
- /* _mesa_function_pool[30385]: ProvokingVertexEXT (will be remapped) */
+ /* _mesa_function_pool[30469]: ProvokingVertexEXT (will be remapped) */
"i\0"
"glProvokingVertexEXT\0"
"glProvokingVertex\0"
"\0"
- /* _mesa_function_pool[30427]: MultiTexCoord1fARB (offset 378) */
+ /* _mesa_function_pool[30511]: MultiTexCoord1fARB (offset 378) */
"if\0"
"glMultiTexCoord1f\0"
"glMultiTexCoord1fARB\0"
"\0"
- /* _mesa_function_pool[30470]: LoadName (offset 198) */
+ /* _mesa_function_pool[30554]: LoadName (offset 198) */
"i\0"
"glLoadName\0"
"\0"
- /* _mesa_function_pool[30484]: VertexAttribs4ubvNV (will be remapped) */
+ /* _mesa_function_pool[30568]: VertexAttribs4ubvNV (will be remapped) */
"iip\0"
"glVertexAttribs4ubvNV\0"
"\0"
- /* _mesa_function_pool[30511]: WeightsvARB (dynamic) */
+ /* _mesa_function_pool[30595]: WeightsvARB (dynamic) */
"ip\0"
"glWeightsvARB\0"
"\0"
- /* _mesa_function_pool[30529]: Uniform1fvARB (will be remapped) */
+ /* _mesa_function_pool[30613]: Uniform1fvARB (will be remapped) */
"iip\0"
"glUniform1fv\0"
"glUniform1fvARB\0"
"\0"
- /* _mesa_function_pool[30563]: CopyTexSubImage1D (offset 325) */
+ /* _mesa_function_pool[30647]: CopyTexSubImage1D (offset 325) */
"iiiiii\0"
"glCopyTexSubImage1D\0"
"glCopyTexSubImage1DEXT\0"
"\0"
- /* _mesa_function_pool[30614]: CullFace (offset 152) */
+ /* _mesa_function_pool[30698]: CullFace (offset 152) */
"i\0"
"glCullFace\0"
"\0"
- /* _mesa_function_pool[30628]: BindTexture (offset 307) */
+ /* _mesa_function_pool[30712]: BindTexture (offset 307) */
"ii\0"
"glBindTexture\0"
"glBindTextureEXT\0"
"\0"
- /* _mesa_function_pool[30663]: BeginFragmentShaderATI (will be remapped) */
+ /* _mesa_function_pool[30747]: BeginFragmentShaderATI (will be remapped) */
"\0"
"glBeginFragmentShaderATI\0"
"\0"
- /* _mesa_function_pool[30690]: MultiTexCoord4fARB (offset 402) */
+ /* _mesa_function_pool[30774]: MultiTexCoord4fARB (offset 402) */
"iffff\0"
"glMultiTexCoord4f\0"
"glMultiTexCoord4fARB\0"
"\0"
- /* _mesa_function_pool[30736]: VertexAttribs3svNV (will be remapped) */
+ /* _mesa_function_pool[30820]: VertexAttribs3svNV (will be remapped) */
"iip\0"
"glVertexAttribs3svNV\0"
"\0"
- /* _mesa_function_pool[30762]: StencilFunc (offset 243) */
+ /* _mesa_function_pool[30846]: StencilFunc (offset 243) */
"iii\0"
"glStencilFunc\0"
"\0"
- /* _mesa_function_pool[30781]: CopyPixels (offset 255) */
+ /* _mesa_function_pool[30865]: CopyPixels (offset 255) */
"iiiii\0"
"glCopyPixels\0"
"\0"
- /* _mesa_function_pool[30801]: Rectsv (offset 93) */
+ /* _mesa_function_pool[30885]: Rectsv (offset 93) */
"pp\0"
"glRectsv\0"
"\0"
- /* _mesa_function_pool[30814]: ReplacementCodeuivSUN (dynamic) */
+ /* _mesa_function_pool[30898]: ReplacementCodeuivSUN (dynamic) */
"p\0"
"glReplacementCodeuivSUN\0"
"\0"
- /* _mesa_function_pool[30841]: EnableVertexAttribArrayARB (will be remapped) */
+ /* _mesa_function_pool[30925]: EnableVertexAttribArrayARB (will be remapped) */
"i\0"
"glEnableVertexAttribArray\0"
"glEnableVertexAttribArrayARB\0"
"\0"
- /* _mesa_function_pool[30899]: NormalPointervINTEL (dynamic) */
+ /* _mesa_function_pool[30983]: NormalPointervINTEL (dynamic) */
"ip\0"
"glNormalPointervINTEL\0"
"\0"
- /* _mesa_function_pool[30925]: CopyConvolutionFilter2D (offset 355) */
+ /* _mesa_function_pool[31009]: CopyConvolutionFilter2D (offset 355) */
"iiiiii\0"
"glCopyConvolutionFilter2D\0"
"glCopyConvolutionFilter2DEXT\0"
"\0"
- /* _mesa_function_pool[30988]: WindowPos3ivMESA (will be remapped) */
+ /* _mesa_function_pool[31072]: WindowPos3ivMESA (will be remapped) */
"p\0"
"glWindowPos3iv\0"
"glWindowPos3ivARB\0"
"glWindowPos3ivMESA\0"
"\0"
- /* _mesa_function_pool[31043]: CopyBufferSubData (will be remapped) */
+ /* _mesa_function_pool[31127]: CopyBufferSubData (will be remapped) */
"iiiii\0"
"glCopyBufferSubData\0"
"\0"
- /* _mesa_function_pool[31070]: NormalPointer (offset 318) */
+ /* _mesa_function_pool[31154]: NormalPointer (offset 318) */
"iip\0"
"glNormalPointer\0"
"\0"
- /* _mesa_function_pool[31091]: TexParameterfv (offset 179) */
+ /* _mesa_function_pool[31175]: TexParameterfv (offset 179) */
"iip\0"
"glTexParameterfv\0"
"\0"
- /* _mesa_function_pool[31113]: IsBufferARB (will be remapped) */
+ /* _mesa_function_pool[31197]: IsBufferARB (will be remapped) */
"i\0"
"glIsBuffer\0"
"glIsBufferARB\0"
"\0"
- /* _mesa_function_pool[31141]: WindowPos4iMESA (will be remapped) */
+ /* _mesa_function_pool[31225]: WindowPos4iMESA (will be remapped) */
"iiii\0"
"glWindowPos4iMESA\0"
"\0"
- /* _mesa_function_pool[31165]: VertexAttrib4uivARB (will be remapped) */
+ /* _mesa_function_pool[31249]: VertexAttrib4uivARB (will be remapped) */
"ip\0"
"glVertexAttrib4uiv\0"
"glVertexAttrib4uivARB\0"
"\0"
- /* _mesa_function_pool[31210]: Tangent3bvEXT (dynamic) */
+ /* _mesa_function_pool[31294]: Tangent3bvEXT (dynamic) */
"p\0"
"glTangent3bvEXT\0"
"\0"
- /* _mesa_function_pool[31229]: VertexAttribI3uivEXT (will be remapped) */
+ /* _mesa_function_pool[31313]: VertexAttribI3uivEXT (will be remapped) */
"ip\0"
"glVertexAttribI3uivEXT\0"
"glVertexAttribI3uiv\0"
"\0"
- /* _mesa_function_pool[31276]: UniformMatrix3x4fv (will be remapped) */
+ /* _mesa_function_pool[31360]: UniformMatrix3x4fv (will be remapped) */
"iiip\0"
"glUniformMatrix3x4fv\0"
"\0"
- /* _mesa_function_pool[31303]: ClipPlane (offset 150) */
+ /* _mesa_function_pool[31387]: ClipPlane (offset 150) */
"ip\0"
"glClipPlane\0"
"\0"
- /* _mesa_function_pool[31319]: Recti (offset 90) */
+ /* _mesa_function_pool[31403]: Recti (offset 90) */
"iiii\0"
"glRecti\0"
"\0"
- /* _mesa_function_pool[31333]: TrackMatrixNV (will be remapped) */
+ /* _mesa_function_pool[31417]: TrackMatrixNV (will be remapped) */
"iiii\0"
"glTrackMatrixNV\0"
"\0"
- /* _mesa_function_pool[31355]: DrawRangeElementsBaseVertex (will be remapped) */
+ /* _mesa_function_pool[31439]: DrawRangeElementsBaseVertex (will be remapped) */
"iiiiipi\0"
"glDrawRangeElementsBaseVertex\0"
"\0"
- /* _mesa_function_pool[31394]: SamplerParameterIuiv (will be remapped) */
+ /* _mesa_function_pool[31478]: SamplerParameterIuiv (will be remapped) */
"iip\0"
"glSamplerParameterIuiv\0"
"\0"
- /* _mesa_function_pool[31422]: TexCoordPointervINTEL (dynamic) */
+ /* _mesa_function_pool[31506]: TexCoordPointervINTEL (dynamic) */
"iip\0"
"glTexCoordPointervINTEL\0"
"\0"
- /* _mesa_function_pool[31451]: DeleteBuffersARB (will be remapped) */
+ /* _mesa_function_pool[31535]: DeleteBuffersARB (will be remapped) */
"ip\0"
"glDeleteBuffers\0"
"glDeleteBuffersARB\0"
"\0"
- /* _mesa_function_pool[31490]: PixelTransformParameterfvEXT (dynamic) */
+ /* _mesa_function_pool[31574]: PixelTransformParameterfvEXT (dynamic) */
"iip\0"
"glPixelTransformParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[31526]: PrimitiveRestartNV (will be remapped) */
+ /* _mesa_function_pool[31610]: PrimitiveRestartNV (will be remapped) */
"\0"
"glPrimitiveRestartNV\0"
"\0"
- /* _mesa_function_pool[31549]: WindowPos4fvMESA (will be remapped) */
+ /* _mesa_function_pool[31633]: WindowPos4fvMESA (will be remapped) */
"p\0"
"glWindowPos4fvMESA\0"
"\0"
- /* _mesa_function_pool[31571]: GetPixelMapuiv (offset 272) */
+ /* _mesa_function_pool[31655]: GetPixelMapuiv (offset 272) */
"ip\0"
"glGetPixelMapuiv\0"
"\0"
- /* _mesa_function_pool[31592]: Rectf (offset 88) */
+ /* _mesa_function_pool[31676]: Rectf (offset 88) */
"ffff\0"
"glRectf\0"
"\0"
- /* _mesa_function_pool[31606]: VertexAttrib1sNV (will be remapped) */
+ /* _mesa_function_pool[31690]: VertexAttrib1sNV (will be remapped) */
"ii\0"
"glVertexAttrib1sNV\0"
"\0"
- /* _mesa_function_pool[31629]: Indexfv (offset 47) */
+ /* _mesa_function_pool[31713]: Indexfv (offset 47) */
"p\0"
"glIndexfv\0"
"\0"
- /* _mesa_function_pool[31642]: SecondaryColor3svEXT (will be remapped) */
+ /* _mesa_function_pool[31726]: SecondaryColor3svEXT (will be remapped) */
"p\0"
"glSecondaryColor3sv\0"
"glSecondaryColor3svEXT\0"
"\0"
- /* _mesa_function_pool[31688]: LoadTransposeMatrixfARB (will be remapped) */
+ /* _mesa_function_pool[31772]: LoadTransposeMatrixfARB (will be remapped) */
"p\0"
"glLoadTransposeMatrixf\0"
"glLoadTransposeMatrixfARB\0"
"\0"
- /* _mesa_function_pool[31740]: GetPointerv (offset 329) */
+ /* _mesa_function_pool[31824]: GetPointerv (offset 329) */
"ip\0"
"glGetPointerv\0"
"glGetPointervEXT\0"
"\0"
- /* _mesa_function_pool[31775]: Tangent3bEXT (dynamic) */
+ /* _mesa_function_pool[31859]: Tangent3bEXT (dynamic) */
"iii\0"
"glTangent3bEXT\0"
"\0"
- /* _mesa_function_pool[31795]: CombinerParameterfNV (will be remapped) */
+ /* _mesa_function_pool[31879]: CombinerParameterfNV (will be remapped) */
"if\0"
"glCombinerParameterfNV\0"
"\0"
- /* _mesa_function_pool[31822]: IndexMask (offset 212) */
+ /* _mesa_function_pool[31906]: IndexMask (offset 212) */
"i\0"
"glIndexMask\0"
"\0"
- /* _mesa_function_pool[31837]: BindProgramNV (will be remapped) */
+ /* _mesa_function_pool[31921]: BindProgramNV (will be remapped) */
"ii\0"
"glBindProgramARB\0"
"glBindProgramNV\0"
"\0"
- /* _mesa_function_pool[31874]: VertexAttrib4svARB (will be remapped) */
+ /* _mesa_function_pool[31958]: VertexAttrib4svARB (will be remapped) */
"ip\0"
"glVertexAttrib4sv\0"
"glVertexAttrib4svARB\0"
"\0"
- /* _mesa_function_pool[31917]: GetFloatv (offset 262) */
+ /* _mesa_function_pool[32001]: GetFloatv (offset 262) */
"ip\0"
"glGetFloatv\0"
"\0"
- /* _mesa_function_pool[31933]: CreateDebugObjectMESA (dynamic) */
+ /* _mesa_function_pool[32017]: CreateDebugObjectMESA (dynamic) */
"\0"
"glCreateDebugObjectMESA\0"
"\0"
- /* _mesa_function_pool[31959]: GetShaderiv (will be remapped) */
+ /* _mesa_function_pool[32043]: GetShaderiv (will be remapped) */
"iip\0"
"glGetShaderiv\0"
"\0"
- /* _mesa_function_pool[31978]: ClientWaitSync (will be remapped) */
+ /* _mesa_function_pool[32062]: ClientWaitSync (will be remapped) */
"iii\0"
"glClientWaitSync\0"
"\0"
- /* _mesa_function_pool[32000]: TexCoord4s (offset 124) */
+ /* _mesa_function_pool[32084]: TexCoord4s (offset 124) */
"iiii\0"
"glTexCoord4s\0"
"\0"
- /* _mesa_function_pool[32019]: TexCoord3sv (offset 117) */
+ /* _mesa_function_pool[32103]: TexCoord3sv (offset 117) */
"p\0"
"glTexCoord3sv\0"
"\0"
- /* _mesa_function_pool[32036]: BindFragmentShaderATI (will be remapped) */
+ /* _mesa_function_pool[32120]: BindFragmentShaderATI (will be remapped) */
"i\0"
"glBindFragmentShaderATI\0"
"\0"
- /* _mesa_function_pool[32063]: PopAttrib (offset 218) */
+ /* _mesa_function_pool[32147]: PopAttrib (offset 218) */
"\0"
"glPopAttrib\0"
"\0"
- /* _mesa_function_pool[32077]: Fogfv (offset 154) */
+ /* _mesa_function_pool[32161]: Fogfv (offset 154) */
"ip\0"
"glFogfv\0"
"\0"
- /* _mesa_function_pool[32089]: UnmapBufferARB (will be remapped) */
+ /* _mesa_function_pool[32173]: UnmapBufferARB (will be remapped) */
"i\0"
"glUnmapBuffer\0"
"glUnmapBufferARB\0"
"\0"
- /* _mesa_function_pool[32123]: InitNames (offset 197) */
+ /* _mesa_function_pool[32207]: InitNames (offset 197) */
"\0"
"glInitNames\0"
"\0"
- /* _mesa_function_pool[32137]: Normal3sv (offset 61) */
+ /* _mesa_function_pool[32221]: Normal3sv (offset 61) */
"p\0"
"glNormal3sv\0"
"\0"
- /* _mesa_function_pool[32152]: Minmax (offset 368) */
+ /* _mesa_function_pool[32236]: Minmax (offset 368) */
"iii\0"
"glMinmax\0"
"glMinmaxEXT\0"
"\0"
- /* _mesa_function_pool[32178]: TexCoord4d (offset 118) */
+ /* _mesa_function_pool[32262]: TexCoord4d (offset 118) */
"dddd\0"
"glTexCoord4d\0"
"\0"
- /* _mesa_function_pool[32197]: DeformationMap3dSGIX (dynamic) */
- "iddiiddiiddiip\0"
- "glDeformationMap3dSGIX\0"
- "\0"
- /* _mesa_function_pool[32236]: TexCoord4f (offset 120) */
+ /* _mesa_function_pool[32281]: TexCoord4f (offset 120) */
"ffff\0"
"glTexCoord4f\0"
"\0"
- /* _mesa_function_pool[32255]: FogCoorddvEXT (will be remapped) */
+ /* _mesa_function_pool[32300]: FogCoorddvEXT (will be remapped) */
"p\0"
"glFogCoorddv\0"
"glFogCoorddvEXT\0"
"\0"
- /* _mesa_function_pool[32287]: FinishTextureSUNX (dynamic) */
+ /* _mesa_function_pool[32332]: FinishTextureSUNX (dynamic) */
"\0"
"glFinishTextureSUNX\0"
"\0"
- /* _mesa_function_pool[32309]: GetFragmentLightfvSGIX (dynamic) */
+ /* _mesa_function_pool[32354]: GetFragmentLightfvSGIX (dynamic) */
"iip\0"
"glGetFragmentLightfvSGIX\0"
"\0"
- /* _mesa_function_pool[32339]: Binormal3fvEXT (dynamic) */
+ /* _mesa_function_pool[32384]: Binormal3fvEXT (dynamic) */
"p\0"
"glBinormal3fvEXT\0"
"\0"
- /* _mesa_function_pool[32359]: GetBooleanv (offset 258) */
+ /* _mesa_function_pool[32404]: GetBooleanv (offset 258) */
"ip\0"
"glGetBooleanv\0"
"\0"
- /* _mesa_function_pool[32377]: ColorFragmentOp3ATI (will be remapped) */
+ /* _mesa_function_pool[32422]: ColorFragmentOp3ATI (will be remapped) */
"iiiiiiiiiiiii\0"
"glColorFragmentOp3ATI\0"
"\0"
- /* _mesa_function_pool[32414]: Hint (offset 158) */
+ /* _mesa_function_pool[32459]: Hint (offset 158) */
"ii\0"
"glHint\0"
"\0"
- /* _mesa_function_pool[32425]: Color4dv (offset 28) */
+ /* _mesa_function_pool[32470]: Color4dv (offset 28) */
"p\0"
"glColor4dv\0"
"\0"
- /* _mesa_function_pool[32439]: VertexAttrib2svARB (will be remapped) */
+ /* _mesa_function_pool[32484]: VertexAttrib2svARB (will be remapped) */
"ip\0"
"glVertexAttrib2sv\0"
"glVertexAttrib2svARB\0"
"\0"
- /* _mesa_function_pool[32482]: AreProgramsResidentNV (will be remapped) */
+ /* _mesa_function_pool[32527]: AreProgramsResidentNV (will be remapped) */
"ipp\0"
"glAreProgramsResidentNV\0"
"\0"
- /* _mesa_function_pool[32511]: WindowPos3svMESA (will be remapped) */
+ /* _mesa_function_pool[32556]: WindowPos3svMESA (will be remapped) */
"p\0"
"glWindowPos3sv\0"
"glWindowPos3svARB\0"
"glWindowPos3svMESA\0"
"\0"
- /* _mesa_function_pool[32566]: CopyColorSubTable (offset 347) */
+ /* _mesa_function_pool[32611]: CopyColorSubTable (offset 347) */
"iiiii\0"
"glCopyColorSubTable\0"
"glCopyColorSubTableEXT\0"
"\0"
- /* _mesa_function_pool[32616]: WeightdvARB (dynamic) */
+ /* _mesa_function_pool[32661]: WeightdvARB (dynamic) */
"ip\0"
"glWeightdvARB\0"
"\0"
- /* _mesa_function_pool[32634]: DeleteRenderbuffersEXT (will be remapped) */
+ /* _mesa_function_pool[32679]: DeleteRenderbuffersEXT (will be remapped) */
"ip\0"
"glDeleteRenderbuffers\0"
"glDeleteRenderbuffersEXT\0"
"\0"
- /* _mesa_function_pool[32685]: VertexAttrib4NubvARB (will be remapped) */
+ /* _mesa_function_pool[32730]: VertexAttrib4NubvARB (will be remapped) */
"ip\0"
"glVertexAttrib4Nubv\0"
"glVertexAttrib4NubvARB\0"
"\0"
- /* _mesa_function_pool[32732]: VertexAttrib3dvNV (will be remapped) */
+ /* _mesa_function_pool[32777]: VertexAttrib3dvNV (will be remapped) */
"ip\0"
"glVertexAttrib3dvNV\0"
"\0"
- /* _mesa_function_pool[32756]: GetObjectParameterfvARB (will be remapped) */
+ /* _mesa_function_pool[32801]: GetObjectParameterfvARB (will be remapped) */
"iip\0"
"glGetObjectParameterfvARB\0"
"\0"
- /* _mesa_function_pool[32787]: Vertex4iv (offset 147) */
+ /* _mesa_function_pool[32832]: Vertex4iv (offset 147) */
"p\0"
"glVertex4iv\0"
"\0"
- /* _mesa_function_pool[32802]: GetProgramEnvParameterdvARB (will be remapped) */
+ /* _mesa_function_pool[32847]: GetProgramEnvParameterdvARB (will be remapped) */
"iip\0"
"glGetProgramEnvParameterdvARB\0"
"\0"
- /* _mesa_function_pool[32837]: TexCoord4dv (offset 119) */
+ /* _mesa_function_pool[32882]: TexCoord4dv (offset 119) */
"p\0"
"glTexCoord4dv\0"
"\0"
- /* _mesa_function_pool[32854]: LockArraysEXT (will be remapped) */
+ /* _mesa_function_pool[32899]: LockArraysEXT (will be remapped) */
"ii\0"
"glLockArraysEXT\0"
"\0"
- /* _mesa_function_pool[32874]: Begin (offset 7) */
+ /* _mesa_function_pool[32919]: Begin (offset 7) */
"i\0"
"glBegin\0"
"\0"
- /* _mesa_function_pool[32885]: LightModeli (offset 165) */
+ /* _mesa_function_pool[32930]: LightModeli (offset 165) */
"ii\0"
"glLightModeli\0"
"\0"
- /* _mesa_function_pool[32903]: VertexAttribI4ivEXT (will be remapped) */
+ /* _mesa_function_pool[32948]: VertexAttribI4ivEXT (will be remapped) */
"ip\0"
"glVertexAttribI4ivEXT\0"
"glVertexAttribI4iv\0"
"\0"
- /* _mesa_function_pool[32948]: Rectfv (offset 89) */
+ /* _mesa_function_pool[32993]: Rectfv (offset 89) */
"pp\0"
"glRectfv\0"
"\0"
- /* _mesa_function_pool[32961]: LightModelf (offset 163) */
+ /* _mesa_function_pool[33006]: BlendEquationSeparateiARB (will be remapped) */
+ "iii\0"
+ "glBlendEquationSeparateiARB\0"
+ "glBlendEquationSeparateIndexedAMD\0"
+ "\0"
+ /* _mesa_function_pool[33073]: LightModelf (offset 163) */
"if\0"
"glLightModelf\0"
"\0"
- /* _mesa_function_pool[32979]: GetTexParameterfv (offset 282) */
+ /* _mesa_function_pool[33091]: GetTexParameterfv (offset 282) */
"iip\0"
"glGetTexParameterfv\0"
"\0"
- /* _mesa_function_pool[33004]: GetLightfv (offset 264) */
+ /* _mesa_function_pool[33116]: GetLightfv (offset 264) */
"iip\0"
"glGetLightfv\0"
"\0"
- /* _mesa_function_pool[33022]: PixelTransformParameterivEXT (dynamic) */
+ /* _mesa_function_pool[33134]: PixelTransformParameterivEXT (dynamic) */
"iip\0"
"glPixelTransformParameterivEXT\0"
"\0"
- /* _mesa_function_pool[33058]: BinormalPointerEXT (dynamic) */
+ /* _mesa_function_pool[33170]: BinormalPointerEXT (dynamic) */
"iip\0"
"glBinormalPointerEXT\0"
"\0"
- /* _mesa_function_pool[33084]: VertexAttrib1dNV (will be remapped) */
+ /* _mesa_function_pool[33196]: VertexAttrib1dNV (will be remapped) */
"id\0"
"glVertexAttrib1dNV\0"
"\0"
- /* _mesa_function_pool[33107]: GetCombinerInputParameterivNV (will be remapped) */
+ /* _mesa_function_pool[33219]: GetCombinerInputParameterivNV (will be remapped) */
"iiiip\0"
"glGetCombinerInputParameterivNV\0"
"\0"
- /* _mesa_function_pool[33146]: Disable (offset 214) */
+ /* _mesa_function_pool[33258]: Disable (offset 214) */
"i\0"
"glDisable\0"
"\0"
- /* _mesa_function_pool[33159]: MultiTexCoord2fvARB (offset 387) */
+ /* _mesa_function_pool[33271]: MultiTexCoord2fvARB (offset 387) */
"ip\0"
"glMultiTexCoord2fv\0"
"glMultiTexCoord2fvARB\0"
"\0"
- /* _mesa_function_pool[33204]: GetRenderbufferParameterivEXT (will be remapped) */
+ /* _mesa_function_pool[33316]: GetRenderbufferParameterivEXT (will be remapped) */
"iip\0"
"glGetRenderbufferParameteriv\0"
"glGetRenderbufferParameterivEXT\0"
"\0"
- /* _mesa_function_pool[33270]: CombinerParameterivNV (will be remapped) */
+ /* _mesa_function_pool[33382]: CombinerParameterivNV (will be remapped) */
"ip\0"
"glCombinerParameterivNV\0"
"\0"
- /* _mesa_function_pool[33298]: GenFragmentShadersATI (will be remapped) */
+ /* _mesa_function_pool[33410]: GenFragmentShadersATI (will be remapped) */
"i\0"
"glGenFragmentShadersATI\0"
"\0"
- /* _mesa_function_pool[33325]: DrawArrays (offset 310) */
+ /* _mesa_function_pool[33437]: DrawArrays (offset 310) */
"iii\0"
"glDrawArrays\0"
"glDrawArraysEXT\0"
"\0"
- /* _mesa_function_pool[33359]: WeightuivARB (dynamic) */
+ /* _mesa_function_pool[33471]: WeightuivARB (dynamic) */
"ip\0"
"glWeightuivARB\0"
"\0"
- /* _mesa_function_pool[33378]: GetVertexAttribIivEXT (will be remapped) */
+ /* _mesa_function_pool[33490]: GetVertexAttribIivEXT (will be remapped) */
"iip\0"
"glGetVertexAttribIivEXT\0"
"glGetVertexAttribIiv\0"
"\0"
- /* _mesa_function_pool[33428]: VertexAttrib2sARB (will be remapped) */
+ /* _mesa_function_pool[33540]: VertexAttrib2sARB (will be remapped) */
"iii\0"
"glVertexAttrib2s\0"
"glVertexAttrib2sARB\0"
"\0"
- /* _mesa_function_pool[33470]: GetnTexImageARB (will be remapped) */
+ /* _mesa_function_pool[33582]: GetnTexImageARB (will be remapped) */
"iiiiip\0"
"glGetnTexImageARB\0"
"\0"
- /* _mesa_function_pool[33496]: ColorMask (offset 210) */
+ /* _mesa_function_pool[33608]: ColorMask (offset 210) */
"iiii\0"
"glColorMask\0"
"\0"
- /* _mesa_function_pool[33514]: GenAsyncMarkersSGIX (dynamic) */
+ /* _mesa_function_pool[33626]: GenAsyncMarkersSGIX (dynamic) */
"i\0"
"glGenAsyncMarkersSGIX\0"
"\0"
- /* _mesa_function_pool[33539]: Tangent3svEXT (dynamic) */
+ /* _mesa_function_pool[33651]: Tangent3svEXT (dynamic) */
"p\0"
"glTangent3svEXT\0"
"\0"
- /* _mesa_function_pool[33558]: GetListParameterivSGIX (dynamic) */
+ /* _mesa_function_pool[33670]: GetListParameterivSGIX (dynamic) */
"iip\0"
"glGetListParameterivSGIX\0"
"\0"
- /* _mesa_function_pool[33588]: BindBufferARB (will be remapped) */
+ /* _mesa_function_pool[33700]: BindBufferARB (will be remapped) */
"ii\0"
"glBindBuffer\0"
"glBindBufferARB\0"
"\0"
- /* _mesa_function_pool[33621]: GetInfoLogARB (will be remapped) */
+ /* _mesa_function_pool[33733]: GetInfoLogARB (will be remapped) */
"iipp\0"
"glGetInfoLogARB\0"
"\0"
- /* _mesa_function_pool[33643]: RasterPos4iv (offset 83) */
+ /* _mesa_function_pool[33755]: RasterPos4iv (offset 83) */
"p\0"
"glRasterPos4iv\0"
"\0"
- /* _mesa_function_pool[33661]: Enable (offset 215) */
+ /* _mesa_function_pool[33773]: Enable (offset 215) */
"i\0"
"glEnable\0"
"\0"
- /* _mesa_function_pool[33673]: LineStipple (offset 167) */
+ /* _mesa_function_pool[33785]: LineStipple (offset 167) */
"ii\0"
"glLineStipple\0"
"\0"
- /* _mesa_function_pool[33691]: VertexAttribs4svNV (will be remapped) */
+ /* _mesa_function_pool[33803]: VertexAttribs4svNV (will be remapped) */
"iip\0"
"glVertexAttribs4svNV\0"
"\0"
- /* _mesa_function_pool[33717]: EdgeFlagPointerListIBM (dynamic) */
+ /* _mesa_function_pool[33829]: EdgeFlagPointerListIBM (dynamic) */
"ipi\0"
"glEdgeFlagPointerListIBM\0"
"\0"
- /* _mesa_function_pool[33747]: UniformMatrix3x2fv (will be remapped) */
+ /* _mesa_function_pool[33859]: UniformMatrix3x2fv (will be remapped) */
"iiip\0"
"glUniformMatrix3x2fv\0"
"\0"
- /* _mesa_function_pool[33774]: GetMinmaxParameterfv (offset 365) */
+ /* _mesa_function_pool[33886]: GetMinmaxParameterfv (offset 365) */
"iip\0"
"glGetMinmaxParameterfv\0"
"glGetMinmaxParameterfvEXT\0"
"\0"
- /* _mesa_function_pool[33828]: VertexAttrib1fvARB (will be remapped) */
+ /* _mesa_function_pool[33940]: VertexAttrib1fvARB (will be remapped) */
"ip\0"
"glVertexAttrib1fv\0"
"glVertexAttrib1fvARB\0"
"\0"
- /* _mesa_function_pool[33871]: GenBuffersARB (will be remapped) */
+ /* _mesa_function_pool[33983]: GenBuffersARB (will be remapped) */
"ip\0"
"glGenBuffers\0"
"glGenBuffersARB\0"
"\0"
- /* _mesa_function_pool[33904]: VertexAttribs1svNV (will be remapped) */
+ /* _mesa_function_pool[34016]: VertexAttribs1svNV (will be remapped) */
"iip\0"
"glVertexAttribs1svNV\0"
"\0"
- /* _mesa_function_pool[33930]: Vertex3fv (offset 137) */
+ /* _mesa_function_pool[34042]: Vertex3fv (offset 137) */
"p\0"
"glVertex3fv\0"
"\0"
- /* _mesa_function_pool[33945]: GetTexBumpParameterivATI (will be remapped) */
+ /* _mesa_function_pool[34057]: GetTexBumpParameterivATI (will be remapped) */
"ip\0"
"glGetTexBumpParameterivATI\0"
"\0"
- /* _mesa_function_pool[33976]: Binormal3bEXT (dynamic) */
+ /* _mesa_function_pool[34088]: Binormal3bEXT (dynamic) */
"iii\0"
"glBinormal3bEXT\0"
"\0"
- /* _mesa_function_pool[33997]: FragmentMaterialivSGIX (dynamic) */
+ /* _mesa_function_pool[34109]: FragmentMaterialivSGIX (dynamic) */
"iip\0"
"glFragmentMaterialivSGIX\0"
"\0"
- /* _mesa_function_pool[34027]: IsRenderbufferEXT (will be remapped) */
+ /* _mesa_function_pool[34139]: IsRenderbufferEXT (will be remapped) */
"i\0"
"glIsRenderbuffer\0"
"glIsRenderbufferEXT\0"
"\0"
- /* _mesa_function_pool[34067]: GenProgramsNV (will be remapped) */
+ /* _mesa_function_pool[34179]: GenProgramsNV (will be remapped) */
"ip\0"
"glGenProgramsARB\0"
"glGenProgramsNV\0"
"\0"
- /* _mesa_function_pool[34104]: VertexAttrib4dvNV (will be remapped) */
+ /* _mesa_function_pool[34216]: VertexAttrib4dvNV (will be remapped) */
"ip\0"
"glVertexAttrib4dvNV\0"
"\0"
- /* _mesa_function_pool[34128]: EndFragmentShaderATI (will be remapped) */
+ /* _mesa_function_pool[34240]: EndFragmentShaderATI (will be remapped) */
"\0"
"glEndFragmentShaderATI\0"
"\0"
- /* _mesa_function_pool[34153]: Binormal3iEXT (dynamic) */
+ /* _mesa_function_pool[34265]: Binormal3iEXT (dynamic) */
"iii\0"
"glBinormal3iEXT\0"
"\0"
- /* _mesa_function_pool[34174]: WindowPos2fMESA (will be remapped) */
+ /* _mesa_function_pool[34286]: WindowPos2fMESA (will be remapped) */
"ff\0"
"glWindowPos2f\0"
"glWindowPos2fARB\0"
@@ -4927,621 +4931,621 @@ static const char _mesa_function_pool[] =
/* these functions need to be remapped */
static const struct gl_function_pool_remap MESA_remap_table_functions[] = {
- { 1590, AttachShader_remap_index },
- { 10221, CreateProgram_remap_index },
+ { 1629, AttachShader_remap_index },
+ { 10274, CreateProgram_remap_index },
{ 23765, CreateShader_remap_index },
{ 26289, DeleteProgram_remap_index },
{ 19245, DeleteShader_remap_index },
{ 24258, DetachShader_remap_index },
{ 18534, GetAttachedShaders_remap_index },
- { 5053, GetProgramInfoLog_remap_index },
- { 405, GetProgramiv_remap_index },
- { 6861, GetShaderInfoLog_remap_index },
- { 31959, GetShaderiv_remap_index },
- { 13724, IsProgram_remap_index },
- { 12645, IsShader_remap_index },
- { 10351, StencilFuncSeparate_remap_index },
- { 4031, StencilMaskSeparate_remap_index },
- { 7926, StencilOpSeparate_remap_index },
+ { 5126, GetProgramInfoLog_remap_index },
+ { 444, GetProgramiv_remap_index },
+ { 6892, GetShaderInfoLog_remap_index },
+ { 32043, GetShaderiv_remap_index },
+ { 13807, IsProgram_remap_index },
+ { 12698, IsShader_remap_index },
+ { 10404, StencilFuncSeparate_remap_index },
+ { 4156, StencilMaskSeparate_remap_index },
+ { 7957, StencilOpSeparate_remap_index },
{ 22999, UniformMatrix2x3fv_remap_index },
- { 2920, UniformMatrix2x4fv_remap_index },
- { 33747, UniformMatrix3x2fv_remap_index },
- { 31276, UniformMatrix3x4fv_remap_index },
- { 16714, UniformMatrix4x2fv_remap_index },
- { 3339, UniformMatrix4x3fv_remap_index },
- { 5259, ClampColor_remap_index },
+ { 2998, UniformMatrix2x4fv_remap_index },
+ { 33859, UniformMatrix3x2fv_remap_index },
+ { 31360, UniformMatrix3x4fv_remap_index },
+ { 16726, UniformMatrix4x2fv_remap_index },
+ { 3417, UniformMatrix4x3fv_remap_index },
+ { 5332, ClampColor_remap_index },
{ 18588, ClearBufferfi_remap_index },
- { 18030, ClearBufferfv_remap_index },
- { 30299, ClearBufferiv_remap_index },
- { 13929, ClearBufferuiv_remap_index },
+ { 18004, ClearBufferfv_remap_index },
+ { 30383, ClearBufferiv_remap_index },
+ { 14012, ClearBufferuiv_remap_index },
{ 20582, GetStringi_remap_index },
- { 2861, TexBuffer_remap_index },
- { 938, FramebufferTexture_remap_index },
+ { 2900, TexBuffer_remap_index },
+ { 977, FramebufferTexture_remap_index },
{ 27325, GetBufferParameteri64v_remap_index },
- { 10451, GetInteger64i_v_remap_index },
+ { 10504, GetInteger64i_v_remap_index },
{ 24079, VertexAttribDivisor_remap_index },
- { 10239, LoadTransposeMatrixdARB_remap_index },
- { 31688, LoadTransposeMatrixfARB_remap_index },
- { 5898, MultTransposeMatrixdARB_remap_index },
+ { 10292, LoadTransposeMatrixdARB_remap_index },
+ { 31772, LoadTransposeMatrixfARB_remap_index },
+ { 5971, MultTransposeMatrixdARB_remap_index },
{ 24445, MultTransposeMatrixfARB_remap_index },
- { 216, SampleCoverageARB_remap_index },
- { 6124, CompressedTexImage1DARB_remap_index },
+ { 255, SampleCoverageARB_remap_index },
+ { 6155, CompressedTexImage1DARB_remap_index },
{ 24973, CompressedTexImage2DARB_remap_index },
- { 4094, CompressedTexImage3DARB_remap_index },
+ { 4219, CompressedTexImage3DARB_remap_index },
{ 18876, CompressedTexSubImage1DARB_remap_index },
- { 2102, CompressedTexSubImage2DARB_remap_index },
+ { 2141, CompressedTexSubImage2DARB_remap_index },
{ 21004, CompressedTexSubImage3DARB_remap_index },
- { 29405, GetCompressedTexImageARB_remap_index },
- { 3905, DisableVertexAttribArrayARB_remap_index },
- { 30841, EnableVertexAttribArrayARB_remap_index },
- { 32802, GetProgramEnvParameterdvARB_remap_index },
+ { 29489, GetCompressedTexImageARB_remap_index },
+ { 3983, DisableVertexAttribArrayARB_remap_index },
+ { 30925, EnableVertexAttribArrayARB_remap_index },
+ { 32847, GetProgramEnvParameterdvARB_remap_index },
{ 24325, GetProgramEnvParameterfvARB_remap_index },
- { 28322, GetProgramLocalParameterdvARB_remap_index },
- { 8402, GetProgramLocalParameterfvARB_remap_index },
+ { 28354, GetProgramLocalParameterdvARB_remap_index },
+ { 8433, GetProgramLocalParameterfvARB_remap_index },
{ 19052, GetProgramStringARB_remap_index },
- { 28517, GetProgramivARB_remap_index },
+ { 28549, GetProgramivARB_remap_index },
{ 21199, GetVertexAttribdvARB_remap_index },
- { 16522, GetVertexAttribfvARB_remap_index },
- { 10077, GetVertexAttribivARB_remap_index },
+ { 16534, GetVertexAttribfvARB_remap_index },
+ { 10108, GetVertexAttribivARB_remap_index },
{ 20045, ProgramEnvParameter4dARB_remap_index },
{ 26039, ProgramEnvParameter4dvARB_remap_index },
- { 17328, ProgramEnvParameter4fARB_remap_index },
- { 9277, ProgramEnvParameter4fvARB_remap_index },
- { 4057, ProgramLocalParameter4dARB_remap_index },
- { 13434, ProgramLocalParameter4dvARB_remap_index },
- { 30320, ProgramLocalParameter4fARB_remap_index },
+ { 17302, ProgramEnvParameter4fARB_remap_index },
+ { 9308, ProgramEnvParameter4fvARB_remap_index },
+ { 4182, ProgramLocalParameter4dARB_remap_index },
+ { 13517, ProgramLocalParameter4dvARB_remap_index },
+ { 30404, ProgramLocalParameter4fARB_remap_index },
{ 26685, ProgramLocalParameter4fvARB_remap_index },
- { 29159, ProgramStringARB_remap_index },
+ { 29243, ProgramStringARB_remap_index },
{ 20313, VertexAttrib1dARB_remap_index },
- { 16149, VertexAttrib1dvARB_remap_index },
- { 4253, VertexAttrib1fARB_remap_index },
- { 33828, VertexAttrib1fvARB_remap_index },
- { 7452, VertexAttrib1sARB_remap_index },
- { 2297, VertexAttrib1svARB_remap_index },
- { 15580, VertexAttrib2dARB_remap_index },
- { 18051, VertexAttrib2dvARB_remap_index },
- { 1648, VertexAttrib2fARB_remap_index },
- { 18164, VertexAttrib2fvARB_remap_index },
- { 33428, VertexAttrib2sARB_remap_index },
- { 32439, VertexAttrib2svARB_remap_index },
- { 11629, VertexAttrib3dARB_remap_index },
- { 8944, VertexAttrib3dvARB_remap_index },
- { 1735, VertexAttrib3fARB_remap_index },
+ { 16161, VertexAttrib1dvARB_remap_index },
+ { 4378, VertexAttrib1fARB_remap_index },
+ { 33940, VertexAttrib1fvARB_remap_index },
+ { 7483, VertexAttrib1sARB_remap_index },
+ { 2336, VertexAttrib1svARB_remap_index },
+ { 15592, VertexAttrib2dARB_remap_index },
+ { 18025, VertexAttrib2dvARB_remap_index },
+ { 1687, VertexAttrib2fARB_remap_index },
+ { 18138, VertexAttrib2fvARB_remap_index },
+ { 33540, VertexAttrib2sARB_remap_index },
+ { 32484, VertexAttrib2svARB_remap_index },
+ { 11682, VertexAttrib3dARB_remap_index },
+ { 8975, VertexAttrib3dvARB_remap_index },
+ { 1774, VertexAttrib3fARB_remap_index },
{ 23316, VertexAttrib3fvARB_remap_index },
- { 29006, VertexAttrib3sARB_remap_index },
+ { 29090, VertexAttrib3sARB_remap_index },
{ 20941, VertexAttrib3svARB_remap_index },
- { 5079, VertexAttrib4NbvARB_remap_index },
+ { 5152, VertexAttrib4NbvARB_remap_index },
{ 18411, VertexAttrib4NivARB_remap_index },
{ 23271, VertexAttrib4NsvARB_remap_index },
{ 24277, VertexAttrib4NubARB_remap_index },
- { 32685, VertexAttrib4NubvARB_remap_index },
+ { 32730, VertexAttrib4NubvARB_remap_index },
{ 19696, VertexAttrib4NuivARB_remap_index },
- { 3212, VertexAttrib4NusvARB_remap_index },
- { 11218, VertexAttrib4bvARB_remap_index },
- { 27695, VertexAttrib4dARB_remap_index },
+ { 3290, VertexAttrib4NusvARB_remap_index },
+ { 11271, VertexAttrib4bvARB_remap_index },
+ { 27727, VertexAttrib4dARB_remap_index },
{ 21998, VertexAttrib4dvARB_remap_index },
- { 11783, VertexAttrib4fARB_remap_index },
- { 12187, VertexAttrib4fvARB_remap_index },
- { 10594, VertexAttrib4ivARB_remap_index },
- { 17844, VertexAttrib4sARB_remap_index },
- { 31874, VertexAttrib4svARB_remap_index },
- { 17133, VertexAttrib4ubvARB_remap_index },
- { 31165, VertexAttrib4uivARB_remap_index },
+ { 11836, VertexAttrib4fARB_remap_index },
+ { 12240, VertexAttrib4fvARB_remap_index },
+ { 10647, VertexAttrib4ivARB_remap_index },
+ { 17818, VertexAttrib4sARB_remap_index },
+ { 31958, VertexAttrib4svARB_remap_index },
+ { 17107, VertexAttrib4ubvARB_remap_index },
+ { 31249, VertexAttrib4uivARB_remap_index },
{ 20752, VertexAttrib4usvARB_remap_index },
{ 22814, VertexAttribPointerARB_remap_index },
- { 33588, BindBufferARB_remap_index },
- { 7159, BufferDataARB_remap_index },
- { 1511, BufferSubDataARB_remap_index },
- { 31451, DeleteBuffersARB_remap_index },
- { 33871, GenBuffersARB_remap_index },
- { 18207, GetBufferParameterivARB_remap_index },
- { 17280, GetBufferPointervARB_remap_index },
- { 1464, GetBufferSubDataARB_remap_index },
- { 31113, IsBufferARB_remap_index },
+ { 33700, BindBufferARB_remap_index },
+ { 7190, BufferDataARB_remap_index },
+ { 1550, BufferSubDataARB_remap_index },
+ { 31535, DeleteBuffersARB_remap_index },
+ { 33983, GenBuffersARB_remap_index },
+ { 18181, GetBufferParameterivARB_remap_index },
+ { 17254, GetBufferPointervARB_remap_index },
+ { 1503, GetBufferSubDataARB_remap_index },
+ { 31197, IsBufferARB_remap_index },
{ 27169, MapBufferARB_remap_index },
- { 32089, UnmapBufferARB_remap_index },
- { 312, BeginQueryARB_remap_index },
+ { 32173, UnmapBufferARB_remap_index },
+ { 351, BeginQueryARB_remap_index },
{ 20408, DeleteQueriesARB_remap_index },
- { 12506, EndQueryARB_remap_index },
- { 29884, GenQueriesARB_remap_index },
- { 1994, GetQueryObjectivARB_remap_index },
- { 17888, GetQueryObjectuivARB_remap_index },
- { 1792, GetQueryivARB_remap_index },
+ { 12559, EndQueryARB_remap_index },
+ { 29968, GenQueriesARB_remap_index },
+ { 2033, GetQueryObjectivARB_remap_index },
+ { 17862, GetQueryObjectuivARB_remap_index },
+ { 1831, GetQueryivARB_remap_index },
{ 20659, IsQueryARB_remap_index },
- { 8554, AttachObjectARB_remap_index },
+ { 8585, AttachObjectARB_remap_index },
{ 19207, CompileShaderARB_remap_index },
- { 3281, CreateProgramObjectARB_remap_index },
- { 7104, CreateShaderObjectARB_remap_index },
- { 14882, DeleteObjectARB_remap_index },
+ { 3359, CreateProgramObjectARB_remap_index },
+ { 7135, CreateShaderObjectARB_remap_index },
+ { 14894, DeleteObjectARB_remap_index },
{ 24764, DetachObjectARB_remap_index },
- { 12251, GetActiveUniformARB_remap_index },
- { 9752, GetAttachedObjectsARB_remap_index },
- { 10059, GetHandleARB_remap_index },
- { 33621, GetInfoLogARB_remap_index },
- { 32756, GetObjectParameterfvARB_remap_index },
- { 28196, GetObjectParameterivARB_remap_index },
- { 29642, GetShaderSourceARB_remap_index },
- { 28866, GetUniformLocationARB_remap_index },
+ { 12304, GetActiveUniformARB_remap_index },
+ { 9783, GetAttachedObjectsARB_remap_index },
+ { 10090, GetHandleARB_remap_index },
+ { 33733, GetInfoLogARB_remap_index },
+ { 32801, GetObjectParameterfvARB_remap_index },
+ { 28228, GetObjectParameterivARB_remap_index },
+ { 29726, GetShaderSourceARB_remap_index },
+ { 28950, GetUniformLocationARB_remap_index },
{ 24547, GetUniformfvARB_remap_index },
- { 13009, GetUniformivARB_remap_index },
+ { 13092, GetUniformivARB_remap_index },
{ 20797, LinkProgramARB_remap_index },
{ 20855, ShaderSourceARB_remap_index },
- { 7826, Uniform1fARB_remap_index },
- { 30529, Uniform1fvARB_remap_index },
+ { 7857, Uniform1fARB_remap_index },
+ { 30613, Uniform1fvARB_remap_index },
{ 22762, Uniform1iARB_remap_index },
{ 21652, Uniform1ivARB_remap_index },
- { 2246, Uniform2fARB_remap_index },
- { 14718, Uniform2fvARB_remap_index },
+ { 2285, Uniform2fARB_remap_index },
+ { 14730, Uniform2fvARB_remap_index },
{ 27056, Uniform2iARB_remap_index },
- { 2366, Uniform2ivARB_remap_index },
+ { 2405, Uniform2ivARB_remap_index },
{ 19317, Uniform3fARB_remap_index },
- { 9782, Uniform3fvARB_remap_index },
- { 6715, Uniform3iARB_remap_index },
- { 17386, Uniform3ivARB_remap_index },
+ { 9813, Uniform3fvARB_remap_index },
+ { 6746, Uniform3iARB_remap_index },
+ { 17360, Uniform3ivARB_remap_index },
{ 19851, Uniform4fARB_remap_index },
{ 24411, Uniform4fvARB_remap_index },
{ 25673, Uniform4iARB_remap_index },
{ 21165, Uniform4ivARB_remap_index },
- { 8606, UniformMatrix2fvARB_remap_index },
+ { 8637, UniformMatrix2fvARB_remap_index },
{ 17, UniformMatrix3fvARB_remap_index },
- { 2763, UniformMatrix4fvARB_remap_index },
+ { 2802, UniformMatrix4fvARB_remap_index },
{ 26151, UseProgramObjectARB_remap_index },
- { 15268, ValidateProgramARB_remap_index },
+ { 15280, ValidateProgramARB_remap_index },
{ 22041, BindAttribLocationARB_remap_index },
- { 5124, GetActiveAttribARB_remap_index },
- { 17034, GetAttribLocationARB_remap_index },
- { 30247, DrawBuffersARB_remap_index },
- { 30080, ClampColorARB_remap_index },
+ { 5197, GetActiveAttribARB_remap_index },
+ { 17041, GetAttribLocationARB_remap_index },
+ { 30331, DrawBuffersARB_remap_index },
+ { 30164, ClampColorARB_remap_index },
{ 18456, DrawArraysInstancedARB_remap_index },
- { 6776, DrawElementsInstancedARB_remap_index },
- { 13539, RenderbufferStorageMultisample_remap_index },
- { 14010, FramebufferTextureARB_remap_index },
+ { 6807, DrawElementsInstancedARB_remap_index },
+ { 13622, RenderbufferStorageMultisample_remap_index },
+ { 14093, FramebufferTextureARB_remap_index },
{ 26587, FramebufferTextureFaceARB_remap_index },
{ 24913, ProgramParameteriARB_remap_index },
- { 6296, VertexAttribDivisorARB_remap_index },
+ { 6327, VertexAttribDivisorARB_remap_index },
{ 19899, FlushMappedBufferRange_remap_index },
- { 28633, MapBufferRange_remap_index },
- { 28540, TexBufferARB_remap_index },
- { 16852, BindVertexArray_remap_index },
- { 15091, GenVertexArrays_remap_index },
- { 31043, CopyBufferSubData_remap_index },
- { 31978, ClientWaitSync_remap_index },
- { 2682, DeleteSync_remap_index },
- { 7493, FenceSync_remap_index },
- { 15639, GetInteger64v_remap_index },
+ { 28665, MapBufferRange_remap_index },
+ { 28572, TexBufferARB_remap_index },
+ { 16864, BindVertexArray_remap_index },
+ { 15103, GenVertexArrays_remap_index },
+ { 31127, CopyBufferSubData_remap_index },
+ { 32062, ClientWaitSync_remap_index },
+ { 2721, DeleteSync_remap_index },
+ { 7524, FenceSync_remap_index },
+ { 15651, GetInteger64v_remap_index },
{ 23378, GetSynciv_remap_index },
- { 30186, IsSync_remap_index },
- { 9700, WaitSync_remap_index },
- { 3873, DrawElementsBaseVertex_remap_index },
- { 31355, DrawRangeElementsBaseVertex_remap_index },
+ { 30270, IsSync_remap_index },
+ { 9731, WaitSync_remap_index },
+ { 3951, DrawElementsBaseVertex_remap_index },
+ { 31439, DrawRangeElementsBaseVertex_remap_index },
{ 27200, MultiDrawElementsBaseVertex_remap_index },
- { 17100, BlendEquationSeparateiARB_remap_index },
- { 18300, BlendEquationiARB_remap_index },
- { 12978, BlendFuncSeparateiARB_remap_index },
- { 10125, BlendFunciARB_remap_index },
- { 8468, BindSampler_remap_index },
- { 4232, DeleteSamplers_remap_index },
+ { 33006, BlendEquationSeparateiARB_remap_index },
+ { 18274, BlendEquationiARB_remap_index },
+ { 13031, BlendFuncSeparateiARB_remap_index },
+ { 10156, BlendFunciARB_remap_index },
+ { 8499, BindSampler_remap_index },
+ { 4357, DeleteSamplers_remap_index },
{ 20272, GenSamplers_remap_index },
- { 30118, GetSamplerParameterIiv_remap_index },
+ { 30202, GetSamplerParameterIiv_remap_index },
{ 19793, GetSamplerParameterIuiv_remap_index },
- { 4973, GetSamplerParameterfv_remap_index },
+ { 5046, GetSamplerParameterfv_remap_index },
{ 26308, GetSamplerParameteriv_remap_index },
- { 14636, IsSampler_remap_index },
- { 16805, SamplerParameterIiv_remap_index },
- { 31394, SamplerParameterIuiv_remap_index },
+ { 14648, IsSampler_remap_index },
+ { 16817, SamplerParameterIiv_remap_index },
+ { 31478, SamplerParameterIuiv_remap_index },
{ 23051, SamplerParameterf_remap_index },
- { 16961, SamplerParameterfv_remap_index },
+ { 16973, SamplerParameterfv_remap_index },
{ 23026, SamplerParameteri_remap_index },
{ 18650, SamplerParameteriv_remap_index },
- { 5320, BindTransformFeedback_remap_index },
- { 3308, DeleteTransformFeedbacks_remap_index },
- { 6748, DrawTransformFeedback_remap_index },
- { 9919, GenTransformFeedbacks_remap_index },
- { 29049, IsTransformFeedback_remap_index },
+ { 5393, BindTransformFeedback_remap_index },
+ { 3386, DeleteTransformFeedbacks_remap_index },
+ { 6779, DrawTransformFeedback_remap_index },
+ { 9950, GenTransformFeedbacks_remap_index },
+ { 29133, IsTransformFeedback_remap_index },
{ 26780, PauseTransformFeedback_remap_index },
- { 5783, ResumeTransformFeedback_remap_index },
+ { 5856, ResumeTransformFeedback_remap_index },
{ 22361, ClearDepthf_remap_index },
- { 7052, DepthRangef_remap_index },
- { 14903, GetShaderPrecisionFormat_remap_index },
- { 10291, ReleaseShaderCompiler_remap_index },
- { 11261, ShaderBinary_remap_index },
- { 965, GetGraphicsResetStatusARB_remap_index },
+ { 7083, DepthRangef_remap_index },
+ { 14915, GetShaderPrecisionFormat_remap_index },
+ { 10344, ReleaseShaderCompiler_remap_index },
+ { 11314, ShaderBinary_remap_index },
+ { 1004, GetGraphicsResetStatusARB_remap_index },
{ 25478, GetnColorTableARB_remap_index },
- { 8237, GetnCompressedTexImageARB_remap_index },
- { 3965, GetnConvolutionFilterARB_remap_index },
- { 16192, GetnHistogramARB_remap_index },
+ { 8268, GetnCompressedTexImageARB_remap_index },
+ { 4090, GetnConvolutionFilterARB_remap_index },
+ { 16204, GetnHistogramARB_remap_index },
{ 24237, GetnMapdvARB_remap_index },
{ 22793, GetnMapfvARB_remap_index },
- { 2225, GetnMapivARB_remap_index },
- { 17648, GetnMinmaxARB_remap_index },
- { 4598, GetnPixelMapfvARB_remap_index },
+ { 2264, GetnMapivARB_remap_index },
+ { 17622, GetnMinmaxARB_remap_index },
+ { 4671, GetnPixelMapfvARB_remap_index },
{ 19670, GetnPixelMapuivARB_remap_index },
- { 3033, GetnPixelMapusvARB_remap_index },
- { 1344, GetnPolygonStippleARB_remap_index },
+ { 3111, GetnPixelMapusvARB_remap_index },
+ { 1383, GetnPolygonStippleARB_remap_index },
{ 21826, GetnSeparableFilterARB_remap_index },
- { 33470, GetnTexImageARB_remap_index },
+ { 33582, GetnTexImageARB_remap_index },
{ 19079, GetnUniformdvARB_remap_index },
- { 4670, GetnUniformfvARB_remap_index },
- { 10146, GetnUniformivARB_remap_index },
+ { 4743, GetnUniformfvARB_remap_index },
+ { 10199, GetnUniformivARB_remap_index },
{ 23227, GetnUniformuivARB_remap_index },
- { 2947, ReadnPixelsARB_remap_index },
- { 5651, PolygonOffsetEXT_remap_index },
+ { 3025, ReadnPixelsARB_remap_index },
+ { 5724, PolygonOffsetEXT_remap_index },
{ 24000, GetPixelTexGenParameterfvSGIS_remap_index },
- { 4548, GetPixelTexGenParameterivSGIS_remap_index },
+ { 4621, GetPixelTexGenParameterivSGIS_remap_index },
{ 23733, PixelTexGenParameterfSGIS_remap_index },
- { 624, PixelTexGenParameterfvSGIS_remap_index },
- { 13047, PixelTexGenParameteriSGIS_remap_index },
- { 14184, PixelTexGenParameterivSGIS_remap_index },
+ { 663, PixelTexGenParameterfvSGIS_remap_index },
+ { 13130, PixelTexGenParameteriSGIS_remap_index },
+ { 14235, PixelTexGenParameterivSGIS_remap_index },
{ 18775, SampleMaskSGIS_remap_index },
{ 20599, SamplePatternSGIS_remap_index },
{ 27129, ColorPointerEXT_remap_index },
- { 18094, EdgeFlagPointerEXT_remap_index },
- { 6369, IndexPointerEXT_remap_index },
- { 6449, NormalPointerEXT_remap_index },
- { 16260, TexCoordPointerEXT_remap_index },
- { 7282, VertexPointerEXT_remap_index },
- { 3675, PointParameterfEXT_remap_index },
- { 8133, PointParameterfvEXT_remap_index },
- { 32854, LockArraysEXT_remap_index },
- { 15332, UnlockArraysEXT_remap_index },
- { 1252, SecondaryColor3bEXT_remap_index },
- { 8326, SecondaryColor3bvEXT_remap_index },
- { 10771, SecondaryColor3dEXT_remap_index },
+ { 18068, EdgeFlagPointerEXT_remap_index },
+ { 6400, IndexPointerEXT_remap_index },
+ { 6480, NormalPointerEXT_remap_index },
+ { 16272, TexCoordPointerEXT_remap_index },
+ { 7313, VertexPointerEXT_remap_index },
+ { 3753, PointParameterfEXT_remap_index },
+ { 8164, PointParameterfvEXT_remap_index },
+ { 32899, LockArraysEXT_remap_index },
+ { 15344, UnlockArraysEXT_remap_index },
+ { 1291, SecondaryColor3bEXT_remap_index },
+ { 8357, SecondaryColor3bvEXT_remap_index },
+ { 10824, SecondaryColor3dEXT_remap_index },
{ 26357, SecondaryColor3dvEXT_remap_index },
- { 28915, SecondaryColor3fEXT_remap_index },
+ { 28999, SecondaryColor3fEXT_remap_index },
{ 18812, SecondaryColor3fvEXT_remap_index },
- { 470, SecondaryColor3iEXT_remap_index },
- { 16570, SecondaryColor3ivEXT_remap_index },
- { 10379, SecondaryColor3sEXT_remap_index },
- { 31642, SecondaryColor3svEXT_remap_index },
- { 28032, SecondaryColor3ubEXT_remap_index },
+ { 509, SecondaryColor3iEXT_remap_index },
+ { 16582, SecondaryColor3ivEXT_remap_index },
+ { 10432, SecondaryColor3sEXT_remap_index },
+ { 31726, SecondaryColor3svEXT_remap_index },
+ { 28064, SecondaryColor3ubEXT_remap_index },
{ 21932, SecondaryColor3ubvEXT_remap_index },
- { 13289, SecondaryColor3uiEXT_remap_index },
+ { 13372, SecondaryColor3uiEXT_remap_index },
{ 23620, SecondaryColor3uivEXT_remap_index },
{ 26637, SecondaryColor3usEXT_remap_index },
- { 13362, SecondaryColor3usvEXT_remap_index },
- { 12130, SecondaryColorPointerEXT_remap_index },
+ { 13445, SecondaryColor3usvEXT_remap_index },
+ { 12183, SecondaryColorPointerEXT_remap_index },
{ 26451, MultiDrawArraysEXT_remap_index },
{ 21587, MultiDrawElementsEXT_remap_index },
{ 21782, FogCoordPointerEXT_remap_index },
- { 4721, FogCoorddEXT_remap_index },
- { 32255, FogCoorddvEXT_remap_index },
- { 4838, FogCoordfEXT_remap_index },
- { 27955, FogCoordfvEXT_remap_index },
- { 12230, PixelTexGenSGIX_remap_index },
- { 28560, BlendFuncSeparateEXT_remap_index },
- { 7194, FlushVertexArrayRangeNV_remap_index },
- { 5600, VertexArrayRangeNV_remap_index },
- { 28980, CombinerInputNV_remap_index },
- { 2168, CombinerOutputNV_remap_index },
- { 31795, CombinerParameterfNV_remap_index },
- { 5474, CombinerParameterfvNV_remap_index },
+ { 4794, FogCoorddEXT_remap_index },
+ { 32300, FogCoorddvEXT_remap_index },
+ { 4911, FogCoordfEXT_remap_index },
+ { 27987, FogCoordfvEXT_remap_index },
+ { 12283, PixelTexGenSGIX_remap_index },
+ { 28592, BlendFuncSeparateEXT_remap_index },
+ { 7225, FlushVertexArrayRangeNV_remap_index },
+ { 5673, VertexArrayRangeNV_remap_index },
+ { 29064, CombinerInputNV_remap_index },
+ { 2207, CombinerOutputNV_remap_index },
+ { 31879, CombinerParameterfNV_remap_index },
+ { 5547, CombinerParameterfvNV_remap_index },
{ 23076, CombinerParameteriNV_remap_index },
- { 33270, CombinerParameterivNV_remap_index },
- { 7570, FinalCombinerInputNV_remap_index },
- { 1609, GetCombinerInputParameterfvNV_remap_index },
- { 33107, GetCombinerInputParameterivNV_remap_index },
- { 14285, GetCombinerOutputParameterfvNV_remap_index },
- { 14113, GetCombinerOutputParameterivNV_remap_index },
- { 6956, GetFinalCombinerInputParameterfvNV_remap_index },
+ { 33382, CombinerParameterivNV_remap_index },
+ { 7601, FinalCombinerInputNV_remap_index },
+ { 1648, GetCombinerInputParameterfvNV_remap_index },
+ { 33219, GetCombinerInputParameterivNV_remap_index },
+ { 216, GetCombinerOutputParameterfvNV_remap_index },
+ { 14196, GetCombinerOutputParameterivNV_remap_index },
+ { 6987, GetFinalCombinerInputParameterfvNV_remap_index },
{ 25545, GetFinalCombinerInputParameterivNV_remap_index },
- { 12956, ResizeBuffersMESA_remap_index },
- { 11456, WindowPos2dMESA_remap_index },
- { 1045, WindowPos2dvMESA_remap_index },
- { 34174, WindowPos2fMESA_remap_index },
- { 8271, WindowPos2fvMESA_remap_index },
+ { 13009, ResizeBuffersMESA_remap_index },
+ { 11509, WindowPos2dMESA_remap_index },
+ { 1084, WindowPos2dvMESA_remap_index },
+ { 34286, WindowPos2fMESA_remap_index },
+ { 8302, WindowPos2fvMESA_remap_index },
{ 18722, WindowPos2iMESA_remap_index },
{ 21072, WindowPos2ivMESA_remap_index },
{ 21686, WindowPos2sMESA_remap_index },
- { 6038, WindowPos2svMESA_remap_index },
- { 8062, WindowPos3dMESA_remap_index },
- { 14431, WindowPos3dvMESA_remap_index },
- { 516, WindowPos3fMESA_remap_index },
- { 15393, WindowPos3fvMESA_remap_index },
+ { 6069, WindowPos2svMESA_remap_index },
+ { 8093, WindowPos3dMESA_remap_index },
+ { 14443, WindowPos3dvMESA_remap_index },
+ { 555, WindowPos3fMESA_remap_index },
+ { 15405, WindowPos3fvMESA_remap_index },
{ 24806, WindowPos3iMESA_remap_index },
- { 30988, WindowPos3ivMESA_remap_index },
+ { 31072, WindowPos3ivMESA_remap_index },
{ 19462, WindowPos3sMESA_remap_index },
- { 32511, WindowPos3svMESA_remap_index },
- { 11407, WindowPos4dMESA_remap_index },
- { 17524, WindowPos4dvMESA_remap_index },
- { 14390, WindowPos4fMESA_remap_index },
- { 31549, WindowPos4fvMESA_remap_index },
- { 31141, WindowPos4iMESA_remap_index },
- { 12759, WindowPos4ivMESA_remap_index },
+ { 32556, WindowPos3svMESA_remap_index },
+ { 11460, WindowPos4dMESA_remap_index },
+ { 17498, WindowPos4dvMESA_remap_index },
+ { 14402, WindowPos4fMESA_remap_index },
+ { 31633, WindowPos4fvMESA_remap_index },
+ { 31225, WindowPos4iMESA_remap_index },
+ { 12812, WindowPos4ivMESA_remap_index },
{ 19646, WindowPos4sMESA_remap_index },
- { 3259, WindowPos4svMESA_remap_index },
- { 14152, MultiModeDrawArraysIBM_remap_index },
- { 29755, MultiModeDrawElementsIBM_remap_index },
- { 12534, DeleteFencesNV_remap_index },
- { 28827, FinishFenceNV_remap_index },
- { 3797, GenFencesNV_remap_index },
- { 17504, GetFenceivNV_remap_index },
- { 8539, IsFenceNV_remap_index },
- { 14040, SetFenceNV_remap_index },
- { 4309, TestFenceNV_remap_index },
- { 32482, AreProgramsResidentNV_remap_index },
- { 31837, BindProgramNV_remap_index },
+ { 3337, WindowPos4svMESA_remap_index },
+ { 27695, MultiModeDrawArraysIBM_remap_index },
+ { 29839, MultiModeDrawElementsIBM_remap_index },
+ { 12587, DeleteFencesNV_remap_index },
+ { 28911, FinishFenceNV_remap_index },
+ { 3875, GenFencesNV_remap_index },
+ { 17478, GetFenceivNV_remap_index },
+ { 8570, IsFenceNV_remap_index },
+ { 14123, SetFenceNV_remap_index },
+ { 4434, TestFenceNV_remap_index },
+ { 32527, AreProgramsResidentNV_remap_index },
+ { 31921, BindProgramNV_remap_index },
{ 26720, DeleteProgramsNV_remap_index },
{ 22150, ExecuteProgramNV_remap_index },
- { 34067, GenProgramsNV_remap_index },
+ { 34179, GenProgramsNV_remap_index },
{ 24105, GetProgramParameterdvNV_remap_index },
- { 10833, GetProgramParameterfvNV_remap_index },
+ { 10886, GetProgramParameterfvNV_remap_index },
{ 27103, GetProgramStringNV_remap_index },
{ 25183, GetProgramivNV_remap_index },
{ 24360, GetTrackMatrixivNV_remap_index },
{ 26897, GetVertexAttribPointervNV_remap_index },
- { 10474, GetVertexAttribdvNV_remap_index },
- { 9595, GetVertexAttribfvNV_remap_index },
+ { 10527, GetVertexAttribdvNV_remap_index },
+ { 9626, GetVertexAttribfvNV_remap_index },
{ 19025, GetVertexAttribivNV_remap_index },
{ 19929, IsProgramNV_remap_index },
- { 9678, LoadProgramNV_remap_index },
- { 28656, ProgramParameters4dvNV_remap_index },
+ { 9709, LoadProgramNV_remap_index },
+ { 28688, ProgramParameters4dvNV_remap_index },
{ 25113, ProgramParameters4fvNV_remap_index },
{ 21376, RequestResidentProgramsNV_remap_index },
- { 31333, TrackMatrixNV_remap_index },
- { 33084, VertexAttrib1dNV_remap_index },
- { 13951, VertexAttrib1dvNV_remap_index },
- { 29261, VertexAttrib1fNV_remap_index },
- { 2488, VertexAttrib1fvNV_remap_index },
- { 31606, VertexAttrib1sNV_remap_index },
- { 15466, VertexAttrib1svNV_remap_index },
- { 5029, VertexAttrib2dNV_remap_index },
- { 13844, VertexAttrib2dvNV_remap_index },
+ { 31417, TrackMatrixNV_remap_index },
+ { 33196, VertexAttrib1dNV_remap_index },
+ { 14034, VertexAttrib1dvNV_remap_index },
+ { 29345, VertexAttrib1fNV_remap_index },
+ { 2527, VertexAttrib1fvNV_remap_index },
+ { 31690, VertexAttrib1sNV_remap_index },
+ { 15478, VertexAttrib1svNV_remap_index },
+ { 5102, VertexAttrib2dNV_remap_index },
+ { 13927, VertexAttrib2dvNV_remap_index },
{ 20831, VertexAttrib2fNV_remap_index },
- { 13410, VertexAttrib2fvNV_remap_index },
- { 6250, VertexAttrib2sNV_remap_index },
+ { 13493, VertexAttrib2fvNV_remap_index },
+ { 6281, VertexAttrib2sNV_remap_index },
{ 19516, VertexAttrib2svNV_remap_index },
- { 11604, VertexAttrib3dNV_remap_index },
- { 32732, VertexAttrib3dvNV_remap_index },
- { 10645, VertexAttrib3fNV_remap_index },
+ { 11657, VertexAttrib3dNV_remap_index },
+ { 32777, VertexAttrib3dvNV_remap_index },
+ { 10698, VertexAttrib3fNV_remap_index },
{ 25505, VertexAttrib3fvNV_remap_index },
{ 22869, VertexAttrib3sNV_remap_index },
{ 24387, VertexAttrib3svNV_remap_index },
- { 29729, VertexAttrib4dNV_remap_index },
- { 34104, VertexAttrib4dvNV_remap_index },
- { 5414, VertexAttrib4fNV_remap_index },
- { 9728, VertexAttrib4fvNV_remap_index },
+ { 29813, VertexAttrib4dNV_remap_index },
+ { 34216, VertexAttrib4dvNV_remap_index },
+ { 5487, VertexAttrib4fNV_remap_index },
+ { 9759, VertexAttrib4fvNV_remap_index },
{ 27579, VertexAttrib4sNV_remap_index },
- { 1422, VertexAttrib4svNV_remap_index },
- { 5187, VertexAttrib4ubNV_remap_index },
- { 778, VertexAttrib4ubvNV_remap_index },
+ { 1461, VertexAttrib4svNV_remap_index },
+ { 5260, VertexAttrib4ubNV_remap_index },
+ { 817, VertexAttrib4ubvNV_remap_index },
{ 22330, VertexAttribPointerNV_remap_index },
- { 2340, VertexAttribs1dvNV_remap_index },
+ { 2379, VertexAttribs1dvNV_remap_index },
{ 26985, VertexAttribs1fvNV_remap_index },
- { 33904, VertexAttribs1svNV_remap_index },
- { 10670, VertexAttribs2dvNV_remap_index },
+ { 34016, VertexAttribs1svNV_remap_index },
+ { 10723, VertexAttribs2dvNV_remap_index },
{ 26112, VertexAttribs2fvNV_remap_index },
- { 18120, VertexAttribs2svNV_remap_index },
- { 5502, VertexAttribs3dvNV_remap_index },
- { 2199, VertexAttribs3fvNV_remap_index },
- { 30736, VertexAttribs3svNV_remap_index },
+ { 18094, VertexAttribs2svNV_remap_index },
+ { 5575, VertexAttribs3dvNV_remap_index },
+ { 2238, VertexAttribs3fvNV_remap_index },
+ { 30820, VertexAttribs3svNV_remap_index },
{ 27669, VertexAttribs4dvNV_remap_index },
- { 5574, VertexAttribs4fvNV_remap_index },
- { 33691, VertexAttribs4svNV_remap_index },
- { 30484, VertexAttribs4ubvNV_remap_index },
- { 27739, GetTexBumpParameterfvATI_remap_index },
- { 33945, GetTexBumpParameterivATI_remap_index },
+ { 5647, VertexAttribs4fvNV_remap_index },
+ { 33803, VertexAttribs4svNV_remap_index },
+ { 30568, VertexAttribs4ubvNV_remap_index },
+ { 27771, GetTexBumpParameterfvATI_remap_index },
+ { 34057, GetTexBumpParameterivATI_remap_index },
{ 19160, TexBumpParameterfvATI_remap_index },
{ 21247, TexBumpParameterivATI_remap_index },
- { 16012, AlphaFragmentOp1ATI_remap_index },
+ { 16024, AlphaFragmentOp1ATI_remap_index },
{ 26403, AlphaFragmentOp2ATI_remap_index },
{ 25421, AlphaFragmentOp3ATI_remap_index },
- { 30663, BeginFragmentShaderATI_remap_index },
- { 32036, BindFragmentShaderATI_remap_index },
+ { 30747, BeginFragmentShaderATI_remap_index },
+ { 32120, BindFragmentShaderATI_remap_index },
{ 24516, ColorFragmentOp1ATI_remap_index },
- { 4476, ColorFragmentOp2ATI_remap_index },
- { 32377, ColorFragmentOp3ATI_remap_index },
- { 5740, DeleteFragmentShaderATI_remap_index },
- { 34128, EndFragmentShaderATI_remap_index },
- { 33298, GenFragmentShadersATI_remap_index },
+ { 4549, ColorFragmentOp2ATI_remap_index },
+ { 32422, ColorFragmentOp3ATI_remap_index },
+ { 5813, DeleteFragmentShaderATI_remap_index },
+ { 34240, EndFragmentShaderATI_remap_index },
+ { 33410, GenFragmentShadersATI_remap_index },
{ 26266, PassTexCoordATI_remap_index },
- { 7262, SampleMapATI_remap_index },
- { 27850, SetFragmentShaderConstantATI_remap_index },
- { 363, PointParameteriNV_remap_index },
- { 14592, PointParameterivNV_remap_index },
- { 29568, ActiveStencilFaceEXT_remap_index },
- { 28296, BindVertexArrayAPPLE_remap_index },
- { 2810, DeleteVertexArraysAPPLE_remap_index },
+ { 7293, SampleMapATI_remap_index },
+ { 27882, SetFragmentShaderConstantATI_remap_index },
+ { 402, PointParameteriNV_remap_index },
+ { 14604, PointParameterivNV_remap_index },
+ { 29652, ActiveStencilFaceEXT_remap_index },
+ { 28328, BindVertexArrayAPPLE_remap_index },
+ { 2849, DeleteVertexArraysAPPLE_remap_index },
{ 18561, GenVertexArraysAPPLE_remap_index },
{ 24170, IsVertexArrayAPPLE_remap_index },
- { 819, GetProgramNamedParameterdvNV_remap_index },
- { 3638, GetProgramNamedParameterfvNV_remap_index },
- { 27770, ProgramNamedParameter4dNV_remap_index },
- { 14966, ProgramNamedParameter4dvNV_remap_index },
- { 9211, ProgramNamedParameter4fNV_remap_index },
- { 12095, ProgramNamedParameter4fvNV_remap_index },
- { 17435, PrimitiveRestartIndexNV_remap_index },
- { 31526, PrimitiveRestartNV_remap_index },
+ { 858, GetProgramNamedParameterdvNV_remap_index },
+ { 3716, GetProgramNamedParameterfvNV_remap_index },
+ { 27802, ProgramNamedParameter4dNV_remap_index },
+ { 14978, ProgramNamedParameter4dvNV_remap_index },
+ { 9242, ProgramNamedParameter4fNV_remap_index },
+ { 12148, ProgramNamedParameter4fvNV_remap_index },
+ { 17409, PrimitiveRestartIndexNV_remap_index },
+ { 31610, PrimitiveRestartNV_remap_index },
{ 25092, DepthBoundsEXT_remap_index },
- { 1144, BlendEquationSeparateEXT_remap_index },
- { 15167, BindFramebufferEXT_remap_index },
+ { 1183, BlendEquationSeparateEXT_remap_index },
+ { 15179, BindFramebufferEXT_remap_index },
{ 26496, BindRenderbufferEXT_remap_index },
- { 9975, CheckFramebufferStatusEXT_remap_index },
+ { 10006, CheckFramebufferStatusEXT_remap_index },
{ 23421, DeleteFramebuffersEXT_remap_index },
- { 32634, DeleteRenderbuffersEXT_remap_index },
- { 13868, FramebufferRenderbufferEXT_remap_index },
- { 14057, FramebufferTexture1DEXT_remap_index },
- { 11889, FramebufferTexture2DEXT_remap_index },
- { 11509, FramebufferTexture3DEXT_remap_index },
+ { 32679, DeleteRenderbuffersEXT_remap_index },
+ { 13951, FramebufferRenderbufferEXT_remap_index },
+ { 14140, FramebufferTexture1DEXT_remap_index },
+ { 11942, FramebufferTexture2DEXT_remap_index },
+ { 11562, FramebufferTexture3DEXT_remap_index },
{ 24036, GenFramebuffersEXT_remap_index },
- { 17985, GenRenderbuffersEXT_remap_index },
- { 6998, GenerateMipmapEXT_remap_index },
+ { 17959, GenRenderbuffersEXT_remap_index },
+ { 7029, GenerateMipmapEXT_remap_index },
{ 22423, GetFramebufferAttachmentParameterivEXT_remap_index },
- { 33204, GetRenderbufferParameterivEXT_remap_index },
+ { 33316, GetRenderbufferParameterivEXT_remap_index },
{ 21127, IsFramebufferEXT_remap_index },
- { 34027, IsRenderbufferEXT_remap_index },
- { 8486, RenderbufferStorageEXT_remap_index },
- { 695, BlitFramebufferEXT_remap_index },
- { 14752, BufferParameteriAPPLE_remap_index },
+ { 34139, IsRenderbufferEXT_remap_index },
+ { 8517, RenderbufferStorageEXT_remap_index },
+ { 734, BlitFramebufferEXT_remap_index },
+ { 14764, BufferParameteriAPPLE_remap_index },
{ 19961, FlushMappedBufferRangeAPPLE_remap_index },
- { 1867, BindFragDataLocationEXT_remap_index },
+ { 1906, BindFragDataLocationEXT_remap_index },
{ 25205, GetFragDataLocationEXT_remap_index },
- { 10948, GetUniformuivEXT_remap_index },
- { 33378, GetVertexAttribIivEXT_remap_index },
- { 4326, GetVertexAttribIuivEXT_remap_index },
- { 12367, Uniform1uiEXT_remap_index },
- { 28741, Uniform1uivEXT_remap_index },
+ { 11001, GetUniformuivEXT_remap_index },
+ { 33490, GetVertexAttribIivEXT_remap_index },
+ { 28859, GetVertexAttribIuivEXT_remap_index },
+ { 12420, Uniform1uiEXT_remap_index },
+ { 28773, Uniform1uivEXT_remap_index },
{ 22965, Uniform2uiEXT_remap_index },
- { 4440, Uniform2uivEXT_remap_index },
- { 30008, Uniform3uiEXT_remap_index },
- { 15113, Uniform3uivEXT_remap_index },
- { 3562, Uniform4uiEXT_remap_index },
- { 8987, Uniform4uivEXT_remap_index },
+ { 4513, Uniform2uivEXT_remap_index },
+ { 30092, Uniform3uiEXT_remap_index },
+ { 15125, Uniform3uivEXT_remap_index },
+ { 3640, Uniform4uiEXT_remap_index },
+ { 9018, Uniform4uivEXT_remap_index },
{ 18940, VertexAttribI1iEXT_remap_index },
- { 5214, VertexAttribI1ivEXT_remap_index },
- { 2589, VertexAttribI1uiEXT_remap_index },
- { 13138, VertexAttribI1uivEXT_remap_index },
+ { 5287, VertexAttribI1ivEXT_remap_index },
+ { 2628, VertexAttribI1uiEXT_remap_index },
+ { 13221, VertexAttribI1uivEXT_remap_index },
{ 81, VertexAttribI2iEXT_remap_index },
{ 24628, VertexAttribI2ivEXT_remap_index },
- { 5528, VertexAttribI2uiEXT_remap_index },
- { 4883, VertexAttribI2uivEXT_remap_index },
+ { 5601, VertexAttribI2uiEXT_remap_index },
+ { 4956, VertexAttribI2uivEXT_remap_index },
{ 27371, VertexAttribI3iEXT_remap_index },
{ 25830, VertexAttribI3ivEXT_remap_index },
- { 3416, VertexAttribI3uiEXT_remap_index },
- { 31229, VertexAttribI3uivEXT_remap_index },
+ { 3494, VertexAttribI3uiEXT_remap_index },
+ { 31313, VertexAttribI3uivEXT_remap_index },
{ 22674, VertexAttribI4bvEXT_remap_index },
- { 15045, VertexAttribI4iEXT_remap_index },
- { 32903, VertexAttribI4ivEXT_remap_index },
- { 13771, VertexAttribI4svEXT_remap_index },
- { 16987, VertexAttribI4ubvEXT_remap_index },
- { 16633, VertexAttribI4uiEXT_remap_index },
- { 5674, VertexAttribI4uivEXT_remap_index },
- { 11672, VertexAttribI4usvEXT_remap_index },
+ { 15057, VertexAttribI4iEXT_remap_index },
+ { 32948, VertexAttribI4ivEXT_remap_index },
+ { 13854, VertexAttribI4svEXT_remap_index },
+ { 4043, VertexAttribI4ubvEXT_remap_index },
+ { 16645, VertexAttribI4uiEXT_remap_index },
+ { 5747, VertexAttribI4uivEXT_remap_index },
+ { 11725, VertexAttribI4usvEXT_remap_index },
{ 19104, VertexAttribIPointerEXT_remap_index },
- { 3103, FramebufferTextureLayerEXT_remap_index },
- { 5950, ColorMaskIndexedEXT_remap_index },
+ { 3181, FramebufferTextureLayerEXT_remap_index },
+ { 16999, ColorMaskIndexedEXT_remap_index },
{ 19540, DisableIndexedEXT_remap_index },
{ 27416, EnableIndexedEXT_remap_index },
{ 22378, GetBooleanIndexedvEXT_remap_index },
- { 11283, GetIntegerIndexedvEXT_remap_index },
+ { 11336, GetIntegerIndexedvEXT_remap_index },
{ 23497, IsEnabledIndexedEXT_remap_index },
{ 23397, ClearColorIiEXT_remap_index },
- { 3512, ClearColorIuiEXT_remap_index },
- { 10171, GetTexParameterIivEXT_remap_index },
- { 6198, GetTexParameterIuivEXT_remap_index },
- { 3059, TexParameterIivEXT_remap_index },
+ { 3590, ClearColorIuiEXT_remap_index },
+ { 10224, GetTexParameterIivEXT_remap_index },
+ { 6229, GetTexParameterIuivEXT_remap_index },
+ { 3137, TexParameterIivEXT_remap_index },
{ 27238, TexParameterIuivEXT_remap_index },
- { 4751, BeginConditionalRenderNV_remap_index },
+ { 4824, BeginConditionalRenderNV_remap_index },
{ 26216, EndConditionalRenderNV_remap_index },
- { 9622, BeginTransformFeedbackEXT_remap_index },
+ { 9653, BeginTransformFeedbackEXT_remap_index },
{ 19575, BindBufferBaseEXT_remap_index },
{ 19434, BindBufferOffsetEXT_remap_index },
- { 12584, BindBufferRangeEXT_remap_index },
- { 14667, EndTransformFeedbackEXT_remap_index },
- { 11146, GetTransformFeedbackVaryingEXT_remap_index },
+ { 12637, BindBufferRangeEXT_remap_index },
+ { 14679, EndTransformFeedbackEXT_remap_index },
+ { 11199, GetTransformFeedbackVaryingEXT_remap_index },
{ 21432, TransformFeedbackVaryingsEXT_remap_index },
- { 30385, ProvokingVertexEXT_remap_index },
- { 11094, GetTexParameterPointervAPPLE_remap_index },
- { 5276, TextureRangeAPPLE_remap_index },
- { 11961, GetObjectParameterivAPPLE_remap_index },
+ { 30469, ProvokingVertexEXT_remap_index },
+ { 11147, GetTexParameterPointervAPPLE_remap_index },
+ { 5349, TextureRangeAPPLE_remap_index },
+ { 12014, GetObjectParameterivAPPLE_remap_index },
{ 20554, ObjectPurgeableAPPLE_remap_index },
- { 5992, ObjectUnpurgeableAPPLE_remap_index },
- { 17807, ActiveProgramEXT_remap_index },
- { 17778, CreateShaderProgramEXT_remap_index },
- { 29353, UseShaderProgramEXT_remap_index },
- { 16940, TextureBarrierNV_remap_index },
- { 29594, StencilFuncSeparateATI_remap_index },
- { 5863, ProgramEnvParameters4fvEXT_remap_index },
- { 17672, ProgramLocalParameters4fvEXT_remap_index },
- { 14520, GetQueryObjecti64vEXT_remap_index },
- { 10696, GetQueryObjectui64vEXT_remap_index },
+ { 6023, ObjectUnpurgeableAPPLE_remap_index },
+ { 17781, ActiveProgramEXT_remap_index },
+ { 17752, CreateShaderProgramEXT_remap_index },
+ { 29437, UseShaderProgramEXT_remap_index },
+ { 16952, TextureBarrierNV_remap_index },
+ { 29678, StencilFuncSeparateATI_remap_index },
+ { 5936, ProgramEnvParameters4fvEXT_remap_index },
+ { 17646, ProgramLocalParameters4fvEXT_remap_index },
+ { 14532, GetQueryObjecti64vEXT_remap_index },
+ { 10749, GetQueryObjectui64vEXT_remap_index },
{ 24585, EGLImageTargetRenderbufferStorageOES_remap_index },
- { 12473, EGLImageTargetTexture2DOES_remap_index },
+ { 12526, 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 */
- { 2728, _gloffset_BlendColor },
+ { 2767, _gloffset_BlendColor },
/* from GL_EXT_blend_minmax */
- { 11566, _gloffset_BlendEquation },
+ { 11619, _gloffset_BlendEquation },
/* from GL_EXT_color_subtable */
- { 17546, _gloffset_ColorSubTable },
- { 32566, _gloffset_CopyColorSubTable },
+ { 17520, _gloffset_ColorSubTable },
+ { 32611, _gloffset_CopyColorSubTable },
/* from GL_EXT_convolution */
- { 257, _gloffset_ConvolutionFilter1D },
- { 2527, _gloffset_CopyConvolutionFilter1D },
- { 4168, _gloffset_GetConvolutionParameteriv },
- { 8835, _gloffset_ConvolutionFilter2D },
- { 9037, _gloffset_ConvolutionParameteriv },
- { 9497, _gloffset_ConvolutionParameterfv },
+ { 296, _gloffset_ConvolutionFilter1D },
+ { 2566, _gloffset_CopyConvolutionFilter1D },
+ { 4293, _gloffset_GetConvolutionParameteriv },
+ { 8866, _gloffset_ConvolutionFilter2D },
+ { 9068, _gloffset_ConvolutionParameteriv },
+ { 9528, _gloffset_ConvolutionParameterfv },
{ 21275, _gloffset_GetSeparableFilter },
{ 24860, _gloffset_SeparableFilter2D },
{ 25723, _gloffset_ConvolutionParameteri },
{ 25891, _gloffset_ConvolutionParameterf },
{ 27605, _gloffset_GetConvolutionParameterfv },
- { 28462, _gloffset_GetConvolutionFilter },
- { 30925, _gloffset_CopyConvolutionFilter2D },
+ { 28494, _gloffset_GetConvolutionFilter },
+ { 31009, _gloffset_CopyConvolutionFilter2D },
/* from GL_EXT_copy_texture */
- { 15526, _gloffset_CopyTexSubImage3D },
- { 17233, _gloffset_CopyTexImage2D },
+ { 15538, _gloffset_CopyTexSubImage3D },
+ { 17207, _gloffset_CopyTexImage2D },
{ 25331, _gloffset_CopyTexImage1D },
- { 28143, _gloffset_CopyTexSubImage2D },
- { 30563, _gloffset_CopyTexSubImage1D },
+ { 28175, _gloffset_CopyTexSubImage2D },
+ { 30647, _gloffset_CopyTexSubImage1D },
/* from GL_EXT_draw_range_elements */
- { 9834, _gloffset_DrawRangeElements },
+ { 9865, _gloffset_DrawRangeElements },
/* from GL_EXT_histogram */
- { 856, _gloffset_Histogram },
- { 3598, _gloffset_ResetHistogram },
- { 10317, _gloffset_GetMinmax },
- { 15860, _gloffset_GetHistogramParameterfv },
+ { 895, _gloffset_Histogram },
+ { 3676, _gloffset_ResetHistogram },
+ { 10370, _gloffset_GetMinmax },
+ { 15872, _gloffset_GetHistogramParameterfv },
{ 25256, _gloffset_GetMinmaxParameteriv },
{ 27495, _gloffset_ResetMinmax },
- { 28359, _gloffset_GetHistogramParameteriv },
- { 29528, _gloffset_GetHistogram },
- { 32152, _gloffset_Minmax },
- { 33774, _gloffset_GetMinmaxParameterfv },
+ { 28391, _gloffset_GetHistogramParameteriv },
+ { 29612, _gloffset_GetHistogram },
+ { 32236, _gloffset_Minmax },
+ { 33886, _gloffset_GetMinmaxParameterfv },
/* from GL_EXT_paletted_texture */
- { 8697, _gloffset_ColorTable },
- { 15706, _gloffset_GetColorTable },
+ { 8728, _gloffset_ColorTable },
+ { 15718, _gloffset_GetColorTable },
{ 23783, _gloffset_GetColorTableParameterfv },
{ 25947, _gloffset_GetColorTableParameteriv },
/* from GL_EXT_subtexture */
- { 7408, _gloffset_TexSubImage1D },
- { 11021, _gloffset_TexSubImage2D },
+ { 7439, _gloffset_TexSubImage1D },
+ { 11074, _gloffset_TexSubImage2D },
/* from GL_EXT_texture3D */
- { 1826, _gloffset_TexImage3D },
+ { 1865, _gloffset_TexImage3D },
{ 23552, _gloffset_TexSubImage3D },
/* from GL_EXT_texture_object */
- { 3366, _gloffset_PrioritizeTextures },
- { 7857, _gloffset_AreTexturesResident },
- { 13975, _gloffset_GenTextures },
- { 16219, _gloffset_DeleteTextures },
+ { 3444, _gloffset_PrioritizeTextures },
+ { 7888, _gloffset_AreTexturesResident },
+ { 14058, _gloffset_GenTextures },
+ { 16231, _gloffset_DeleteTextures },
{ 20242, _gloffset_IsTexture },
- { 30628, _gloffset_BindTexture },
+ { 30712, _gloffset_BindTexture },
/* from GL_EXT_vertex_array */
{ 25032, _gloffset_ArrayElement },
- { 31740, _gloffset_GetPointerv },
- { 33325, _gloffset_DrawArrays },
+ { 31824, _gloffset_GetPointerv },
+ { 33437, _gloffset_DrawArrays },
/* from GL_SGI_color_table */
- { 7975, _gloffset_ColorTableParameteriv },
- { 8697, _gloffset_ColorTable },
- { 15706, _gloffset_GetColorTable },
- { 15816, _gloffset_CopyColorTable },
+ { 8006, _gloffset_ColorTableParameteriv },
+ { 8728, _gloffset_ColorTable },
+ { 15718, _gloffset_GetColorTable },
+ { 15828, _gloffset_CopyColorTable },
{ 20103, _gloffset_ColorTableParameterfv },
{ 23783, _gloffset_GetColorTableParameterfv },
{ 25947, _gloffset_GetColorTableParameteriv },
/* from GL_VERSION_1_3 */
- { 425, _gloffset_MultiTexCoord3sARB },
- { 657, _gloffset_ActiveTextureARB },
- { 4378, _gloffset_MultiTexCoord1fvARB },
- { 6474, _gloffset_MultiTexCoord3dARB },
- { 6519, _gloffset_MultiTexCoord2iARB },
- { 6643, _gloffset_MultiTexCoord2svARB },
- { 8653, _gloffset_MultiTexCoord2fARB },
- { 10726, _gloffset_MultiTexCoord3fvARB },
- { 11328, _gloffset_MultiTexCoord4sARB },
- { 12009, _gloffset_MultiTexCoord2dvARB },
- { 12416, _gloffset_MultiTexCoord1svARB },
- { 12817, _gloffset_MultiTexCoord3svARB },
- { 12878, _gloffset_MultiTexCoord4iARB },
- { 13679, _gloffset_MultiTexCoord3iARB },
- { 14549, _gloffset_MultiTexCoord1dARB },
- { 14781, _gloffset_MultiTexCoord3dvARB },
- { 16060, _gloffset_MultiTexCoord3ivARB },
- { 16105, _gloffset_MultiTexCoord2sARB },
- { 17603, _gloffset_MultiTexCoord4ivARB },
+ { 464, _gloffset_MultiTexCoord3sARB },
+ { 696, _gloffset_ActiveTextureARB },
+ { 4451, _gloffset_MultiTexCoord1fvARB },
+ { 6505, _gloffset_MultiTexCoord3dARB },
+ { 6550, _gloffset_MultiTexCoord2iARB },
+ { 6674, _gloffset_MultiTexCoord2svARB },
+ { 8684, _gloffset_MultiTexCoord2fARB },
+ { 10779, _gloffset_MultiTexCoord3fvARB },
+ { 11381, _gloffset_MultiTexCoord4sARB },
+ { 12062, _gloffset_MultiTexCoord2dvARB },
+ { 12469, _gloffset_MultiTexCoord1svARB },
+ { 12870, _gloffset_MultiTexCoord3svARB },
+ { 12931, _gloffset_MultiTexCoord4iARB },
+ { 13762, _gloffset_MultiTexCoord3iARB },
+ { 14561, _gloffset_MultiTexCoord1dARB },
+ { 14793, _gloffset_MultiTexCoord3dvARB },
+ { 16072, _gloffset_MultiTexCoord3ivARB },
+ { 16117, _gloffset_MultiTexCoord2sARB },
+ { 17577, _gloffset_MultiTexCoord4ivARB },
{ 19743, _gloffset_ClientActiveTextureARB },
{ 22106, _gloffset_MultiTexCoord2dARB },
{ 22543, _gloffset_MultiTexCoord4dvARB },
@@ -5550,13 +5554,13 @@ static const struct gl_function_remap MESA_alt_functions[] = {
{ 26541, _gloffset_MultiTexCoord4dARB },
{ 26807, _gloffset_MultiTexCoord1sARB },
{ 27011, _gloffset_MultiTexCoord1dvARB },
- { 27987, _gloffset_MultiTexCoord1ivARB },
- { 28080, _gloffset_MultiTexCoord2ivARB },
- { 28419, _gloffset_MultiTexCoord1iARB },
- { 29803, _gloffset_MultiTexCoord4svARB },
- { 30427, _gloffset_MultiTexCoord1fARB },
- { 30690, _gloffset_MultiTexCoord4fARB },
- { 33159, _gloffset_MultiTexCoord2fvARB },
+ { 28019, _gloffset_MultiTexCoord1ivARB },
+ { 28112, _gloffset_MultiTexCoord2ivARB },
+ { 28451, _gloffset_MultiTexCoord1iARB },
+ { 29887, _gloffset_MultiTexCoord4svARB },
+ { 30511, _gloffset_MultiTexCoord1fARB },
+ { 30774, _gloffset_MultiTexCoord4fARB },
+ { 33271, _gloffset_MultiTexCoord2fvARB },
{ -1, -1 }
};
@@ -5564,7 +5568,14 @@ static const struct gl_function_remap MESA_alt_functions[] = {
#if defined(need_GL_3DFX_tbuffer)
static const struct gl_function_remap GL_3DFX_tbuffer_functions[] = {
- { 9555, -1 }, /* TbufferMask3DFX */
+ { 9586, -1 }, /* TbufferMask3DFX */
+ { -1, -1 }
+};
+#endif
+
+#if defined(need_GL_AMD_draw_buffers_blend)
+/* functions defined in MESA_remap_table_functions are excluded */
+static const struct gl_function_remap GL_AMD_draw_buffers_blend_functions[] = {
{ -1, -1 }
};
#endif
@@ -5656,7 +5667,7 @@ static const struct gl_function_remap GL_ARB_framebuffer_object_functions[] = {
#if defined(need_GL_ARB_geometry_shader4)
/* functions defined in MESA_remap_table_functions are excluded */
static const struct gl_function_remap GL_ARB_geometry_shader4_functions[] = {
- { 12781, -1 }, /* FramebufferTextureLayer */
+ { 12834, -1 }, /* FramebufferTextureLayer */
{ -1, -1 }
};
#endif
@@ -5677,9 +5688,9 @@ static const struct gl_function_remap GL_ARB_map_buffer_range_functions[] = {
#if defined(need_GL_ARB_matrix_palette)
static const struct gl_function_remap GL_ARB_matrix_palette_functions[] = {
- { 3849, -1 }, /* MatrixIndexusvARB */
- { 13500, -1 }, /* MatrixIndexuivARB */
- { 14936, -1 }, /* MatrixIndexPointerARB */
+ { 3927, -1 }, /* MatrixIndexusvARB */
+ { 13583, -1 }, /* MatrixIndexuivARB */
+ { 14948, -1 }, /* MatrixIndexPointerARB */
{ 20509, -1 }, /* CurrentPaletteMatrixARB */
{ 23668, -1 }, /* MatrixIndexubvARB */
{ -1, -1 }
@@ -5779,16 +5790,16 @@ static const struct gl_function_remap GL_ARB_vertex_array_object_functions[] = {
#if defined(need_GL_ARB_vertex_blend)
static const struct gl_function_remap GL_ARB_vertex_blend_functions[] = {
- { 2469, -1 }, /* WeightubvARB */
- { 6886, -1 }, /* WeightivARB */
- { 11431, -1 }, /* WeightPointerARB */
- { 14267, -1 }, /* WeightfvARB */
- { 18146, -1 }, /* WeightbvARB */
+ { 2508, -1 }, /* WeightubvARB */
+ { 6917, -1 }, /* WeightivARB */
+ { 11484, -1 }, /* WeightPointerARB */
+ { 14318, -1 }, /* WeightfvARB */
+ { 18120, -1 }, /* WeightbvARB */
{ 21739, -1 }, /* WeightusvARB */
{ 24786, -1 }, /* VertexBlendARB */
- { 30511, -1 }, /* WeightsvARB */
- { 32616, -1 }, /* WeightdvARB */
- { 33359, -1 }, /* WeightuivARB */
+ { 30595, -1 }, /* WeightsvARB */
+ { 32661, -1 }, /* WeightdvARB */
+ { 33471, -1 }, /* WeightuivARB */
{ -1, -1 }
};
#endif
@@ -5858,7 +5869,7 @@ static const struct gl_function_remap GL_ATI_separate_stencil_functions[] = {
#if defined(need_GL_EXT_blend_color)
static const struct gl_function_remap GL_EXT_blend_color_functions[] = {
- { 2728, _gloffset_BlendColor },
+ { 2767, _gloffset_BlendColor },
{ -1, -1 }
};
#endif
@@ -5879,15 +5890,15 @@ static const struct gl_function_remap GL_EXT_blend_func_separate_functions[] = {
#if defined(need_GL_EXT_blend_minmax)
static const struct gl_function_remap GL_EXT_blend_minmax_functions[] = {
- { 11566, _gloffset_BlendEquation },
+ { 11619, _gloffset_BlendEquation },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_color_subtable)
static const struct gl_function_remap GL_EXT_color_subtable_functions[] = {
- { 17546, _gloffset_ColorSubTable },
- { 32566, _gloffset_CopyColorSubTable },
+ { 17520, _gloffset_ColorSubTable },
+ { 32611, _gloffset_CopyColorSubTable },
{ -1, -1 }
};
#endif
@@ -5901,29 +5912,29 @@ static const struct gl_function_remap GL_EXT_compiled_vertex_array_functions[] =
#if defined(need_GL_EXT_convolution)
static const struct gl_function_remap GL_EXT_convolution_functions[] = {
- { 257, _gloffset_ConvolutionFilter1D },
- { 2527, _gloffset_CopyConvolutionFilter1D },
- { 4168, _gloffset_GetConvolutionParameteriv },
- { 8835, _gloffset_ConvolutionFilter2D },
- { 9037, _gloffset_ConvolutionParameteriv },
- { 9497, _gloffset_ConvolutionParameterfv },
+ { 296, _gloffset_ConvolutionFilter1D },
+ { 2566, _gloffset_CopyConvolutionFilter1D },
+ { 4293, _gloffset_GetConvolutionParameteriv },
+ { 8866, _gloffset_ConvolutionFilter2D },
+ { 9068, _gloffset_ConvolutionParameteriv },
+ { 9528, _gloffset_ConvolutionParameterfv },
{ 21275, _gloffset_GetSeparableFilter },
{ 24860, _gloffset_SeparableFilter2D },
{ 25723, _gloffset_ConvolutionParameteri },
{ 25891, _gloffset_ConvolutionParameterf },
{ 27605, _gloffset_GetConvolutionParameterfv },
- { 28462, _gloffset_GetConvolutionFilter },
- { 30925, _gloffset_CopyConvolutionFilter2D },
+ { 28494, _gloffset_GetConvolutionFilter },
+ { 31009, _gloffset_CopyConvolutionFilter2D },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_coordinate_frame)
static const struct gl_function_remap GL_EXT_coordinate_frame_functions[] = {
- { 10865, -1 }, /* TangentPointerEXT */
- { 12936, -1 }, /* Binormal3ivEXT */
- { 13632, -1 }, /* Tangent3sEXT */
- { 15001, -1 }, /* Tangent3fvEXT */
+ { 10918, -1 }, /* TangentPointerEXT */
+ { 12989, -1 }, /* Binormal3ivEXT */
+ { 13715, -1 }, /* Tangent3sEXT */
+ { 15013, -1 }, /* Tangent3fvEXT */
{ 19188, -1 }, /* Tangent3ivEXT */
{ 19415, -1 }, /* Tangent3dvEXT */
{ 20189, -1 }, /* Binormal3bvEXT */
@@ -5932,35 +5943,35 @@ static const struct gl_function_remap GL_EXT_coordinate_frame_functions[] = {
{ 25795, -1 }, /* Binormal3sEXT */
{ 26337, -1 }, /* Tangent3dEXT */
{ 27284, -1 }, /* Binormal3svEXT */
- { 27885, -1 }, /* Binormal3fEXT */
- { 28793, -1 }, /* Binormal3dvEXT */
- { 30060, -1 }, /* Tangent3iEXT */
- { 31210, -1 }, /* Tangent3bvEXT */
- { 31775, -1 }, /* Tangent3bEXT */
- { 32339, -1 }, /* Binormal3fvEXT */
- { 33058, -1 }, /* BinormalPointerEXT */
- { 33539, -1 }, /* Tangent3svEXT */
- { 33976, -1 }, /* Binormal3bEXT */
- { 34153, -1 }, /* Binormal3iEXT */
+ { 27917, -1 }, /* Binormal3fEXT */
+ { 28825, -1 }, /* Binormal3dvEXT */
+ { 30144, -1 }, /* Tangent3iEXT */
+ { 31294, -1 }, /* Tangent3bvEXT */
+ { 31859, -1 }, /* Tangent3bEXT */
+ { 32384, -1 }, /* Binormal3fvEXT */
+ { 33170, -1 }, /* BinormalPointerEXT */
+ { 33651, -1 }, /* Tangent3svEXT */
+ { 34088, -1 }, /* Binormal3bEXT */
+ { 34265, -1 }, /* Binormal3iEXT */
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_copy_texture)
static const struct gl_function_remap GL_EXT_copy_texture_functions[] = {
- { 15526, _gloffset_CopyTexSubImage3D },
- { 17233, _gloffset_CopyTexImage2D },
+ { 15538, _gloffset_CopyTexSubImage3D },
+ { 17207, _gloffset_CopyTexImage2D },
{ 25331, _gloffset_CopyTexImage1D },
- { 28143, _gloffset_CopyTexSubImage2D },
- { 30563, _gloffset_CopyTexSubImage1D },
+ { 28175, _gloffset_CopyTexSubImage2D },
+ { 30647, _gloffset_CopyTexSubImage1D },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_cull_vertex)
static const struct gl_function_remap GL_EXT_cull_vertex_functions[] = {
- { 9186, -1 }, /* CullParameterdvEXT */
- { 12054, -1 }, /* CullParameterfvEXT */
+ { 9217, -1 }, /* CullParameterdvEXT */
+ { 12107, -1 }, /* CullParameterfvEXT */
{ -1, -1 }
};
#endif
@@ -5988,7 +5999,7 @@ static const struct gl_function_remap GL_EXT_draw_instanced_functions[] = {
#if defined(need_GL_EXT_draw_range_elements)
static const struct gl_function_remap GL_EXT_draw_range_elements_functions[] = {
- { 9834, _gloffset_DrawRangeElements },
+ { 9865, _gloffset_DrawRangeElements },
{ -1, -1 }
};
#endif
@@ -6037,23 +6048,23 @@ static const struct gl_function_remap GL_EXT_gpu_shader4_functions[] = {
#if defined(need_GL_EXT_histogram)
static const struct gl_function_remap GL_EXT_histogram_functions[] = {
- { 856, _gloffset_Histogram },
- { 3598, _gloffset_ResetHistogram },
- { 10317, _gloffset_GetMinmax },
- { 15860, _gloffset_GetHistogramParameterfv },
+ { 895, _gloffset_Histogram },
+ { 3676, _gloffset_ResetHistogram },
+ { 10370, _gloffset_GetMinmax },
+ { 15872, _gloffset_GetHistogramParameterfv },
{ 25256, _gloffset_GetMinmaxParameteriv },
{ 27495, _gloffset_ResetMinmax },
- { 28359, _gloffset_GetHistogramParameteriv },
- { 29528, _gloffset_GetHistogram },
- { 32152, _gloffset_Minmax },
- { 33774, _gloffset_GetMinmaxParameterfv },
+ { 28391, _gloffset_GetHistogramParameteriv },
+ { 29612, _gloffset_GetHistogram },
+ { 32236, _gloffset_Minmax },
+ { 33886, _gloffset_GetMinmaxParameterfv },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_index_func)
static const struct gl_function_remap GL_EXT_index_func_functions[] = {
- { 11840, -1 }, /* IndexFuncEXT */
+ { 11893, -1 }, /* IndexFuncEXT */
{ -1, -1 }
};
#endif
@@ -6090,8 +6101,8 @@ static const struct gl_function_remap GL_EXT_multisample_functions[] = {
#if defined(need_GL_EXT_paletted_texture)
static const struct gl_function_remap GL_EXT_paletted_texture_functions[] = {
- { 8697, _gloffset_ColorTable },
- { 15706, _gloffset_GetColorTable },
+ { 8728, _gloffset_ColorTable },
+ { 15718, _gloffset_GetColorTable },
{ 23783, _gloffset_GetColorTableParameterfv },
{ 25947, _gloffset_GetColorTableParameteriv },
{ -1, -1 }
@@ -6102,8 +6113,8 @@ static const struct gl_function_remap GL_EXT_paletted_texture_functions[] = {
static const struct gl_function_remap GL_EXT_pixel_transform_functions[] = {
{ 22508, -1 }, /* PixelTransformParameterfEXT */
{ 22588, -1 }, /* PixelTransformParameteriEXT */
- { 31490, -1 }, /* PixelTransformParameterfvEXT */
- { 33022, -1 }, /* PixelTransformParameterivEXT */
+ { 31574, -1 }, /* PixelTransformParameterfvEXT */
+ { 33134, -1 }, /* PixelTransformParameterivEXT */
{ -1, -1 }
};
#endif
@@ -6152,15 +6163,15 @@ static const struct gl_function_remap GL_EXT_stencil_two_side_functions[] = {
#if defined(need_GL_EXT_subtexture)
static const struct gl_function_remap GL_EXT_subtexture_functions[] = {
- { 7408, _gloffset_TexSubImage1D },
- { 11021, _gloffset_TexSubImage2D },
+ { 7439, _gloffset_TexSubImage1D },
+ { 11074, _gloffset_TexSubImage2D },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_texture3D)
static const struct gl_function_remap GL_EXT_texture3D_functions[] = {
- { 1826, _gloffset_TexImage3D },
+ { 1865, _gloffset_TexImage3D },
{ 23552, _gloffset_TexSubImage3D },
{ -1, -1 }
};
@@ -6182,19 +6193,19 @@ static const struct gl_function_remap GL_EXT_texture_integer_functions[] = {
#if defined(need_GL_EXT_texture_object)
static const struct gl_function_remap GL_EXT_texture_object_functions[] = {
- { 3366, _gloffset_PrioritizeTextures },
- { 7857, _gloffset_AreTexturesResident },
- { 13975, _gloffset_GenTextures },
- { 16219, _gloffset_DeleteTextures },
+ { 3444, _gloffset_PrioritizeTextures },
+ { 7888, _gloffset_AreTexturesResident },
+ { 14058, _gloffset_GenTextures },
+ { 16231, _gloffset_DeleteTextures },
{ 20242, _gloffset_IsTexture },
- { 30628, _gloffset_BindTexture },
+ { 30712, _gloffset_BindTexture },
{ -1, -1 }
};
#endif
#if defined(need_GL_EXT_texture_perturb_normal)
static const struct gl_function_remap GL_EXT_texture_perturb_normal_functions[] = {
- { 14217, -1 }, /* TextureNormalEXT */
+ { 14268, -1 }, /* TextureNormalEXT */
{ -1, -1 }
};
#endif
@@ -6217,8 +6228,8 @@ static const struct gl_function_remap GL_EXT_transform_feedback_functions[] = {
/* functions defined in MESA_remap_table_functions are excluded */
static const struct gl_function_remap GL_EXT_vertex_array_functions[] = {
{ 25032, _gloffset_ArrayElement },
- { 31740, _gloffset_GetPointerv },
- { 33325, _gloffset_DrawArrays },
+ { 31824, _gloffset_GetPointerv },
+ { 33437, _gloffset_DrawArrays },
{ -1, -1 }
};
#endif
@@ -6226,19 +6237,19 @@ static const struct gl_function_remap GL_EXT_vertex_array_functions[] = {
#if defined(need_GL_EXT_vertex_weighting)
static const struct gl_function_remap GL_EXT_vertex_weighting_functions[] = {
{ 20290, -1 }, /* VertexWeightfvEXT */
- { 27828, -1 }, /* VertexWeightfEXT */
- { 29497, -1 }, /* VertexWeightPointerEXT */
+ { 27860, -1 }, /* VertexWeightfEXT */
+ { 29581, -1 }, /* VertexWeightPointerEXT */
{ -1, -1 }
};
#endif
#if defined(need_GL_HP_image_transform)
static const struct gl_function_remap GL_HP_image_transform_functions[] = {
- { 2400, -1 }, /* GetImageTransformParameterfvHP */
- { 3815, -1 }, /* ImageTransformParameterfHP */
- { 10559, -1 }, /* ImageTransformParameterfvHP */
- { 12301, -1 }, /* ImageTransformParameteriHP */
- { 12671, -1 }, /* GetImageTransformParameterivHP */
+ { 2439, -1 }, /* GetImageTransformParameterfvHP */
+ { 3893, -1 }, /* ImageTransformParameterfHP */
+ { 10612, -1 }, /* ImageTransformParameterfvHP */
+ { 12354, -1 }, /* ImageTransformParameteriHP */
+ { 12724, -1 }, /* GetImageTransformParameterivHP */
{ 20354, -1 }, /* ImageTransformParameterivHP */
{ -1, -1 }
};
@@ -6253,14 +6264,14 @@ static const struct gl_function_remap GL_IBM_multimode_draw_arrays_functions[] =
#if defined(need_GL_IBM_vertex_array_lists)
static const struct gl_function_remap GL_IBM_vertex_array_lists_functions[] = {
- { 4510, -1 }, /* SecondaryColorPointerListIBM */
- { 6340, -1 }, /* NormalPointerListIBM */
- { 8031, -1 }, /* FogCoordPointerListIBM */
- { 8372, -1 }, /* VertexPointerListIBM */
- { 12555, -1 }, /* ColorPointerListIBM */
- { 13739, -1 }, /* TexCoordPointerListIBM */
- { 14239, -1 }, /* IndexPointerListIBM */
- { 33717, -1 }, /* EdgeFlagPointerListIBM */
+ { 4583, -1 }, /* SecondaryColorPointerListIBM */
+ { 6371, -1 }, /* NormalPointerListIBM */
+ { 8062, -1 }, /* FogCoordPointerListIBM */
+ { 8403, -1 }, /* VertexPointerListIBM */
+ { 12608, -1 }, /* ColorPointerListIBM */
+ { 13822, -1 }, /* TexCoordPointerListIBM */
+ { 14290, -1 }, /* IndexPointerListIBM */
+ { 33829, -1 }, /* EdgeFlagPointerListIBM */
{ -1, -1 }
};
#endif
@@ -6274,10 +6285,10 @@ static const struct gl_function_remap GL_INGR_blend_func_separate_functions[] =
#if defined(need_GL_INTEL_parallel_arrays)
static const struct gl_function_remap GL_INTEL_parallel_arrays_functions[] = {
- { 13079, -1 }, /* VertexPointervINTEL */
- { 15953, -1 }, /* ColorPointervINTEL */
- { 30899, -1 }, /* NormalPointervINTEL */
- { 31422, -1 }, /* TexCoordPointervINTEL */
+ { 13162, -1 }, /* VertexPointervINTEL */
+ { 15965, -1 }, /* ColorPointervINTEL */
+ { 30983, -1 }, /* NormalPointervINTEL */
+ { 31506, -1 }, /* TexCoordPointervINTEL */
{ -1, -1 }
};
#endif
@@ -6291,10 +6302,10 @@ static const struct gl_function_remap GL_MESA_resize_buffers_functions[] = {
#if defined(need_GL_MESA_shader_debug)
static const struct gl_function_remap GL_MESA_shader_debug_functions[] = {
- { 1690, -1 }, /* GetDebugLogLengthMESA */
- { 3537, -1 }, /* ClearDebugLogMESA */
- { 4695, -1 }, /* GetDebugLogMESA */
- { 31933, -1 }, /* CreateDebugObjectMESA */
+ { 1729, -1 }, /* GetDebugLogLengthMESA */
+ { 3615, -1 }, /* ClearDebugLogMESA */
+ { 4768, -1 }, /* GetDebugLogMESA */
+ { 32017, -1 }, /* CreateDebugObjectMESA */
{ -1, -1 }
};
#endif
@@ -6315,15 +6326,15 @@ static const struct gl_function_remap GL_NV_condtitional_render_functions[] = {
#if defined(need_GL_NV_evaluators)
static const struct gl_function_remap GL_NV_evaluators_functions[] = {
- { 7070, -1 }, /* GetMapAttribParameterivNV */
- { 8803, -1 }, /* MapControlPointsNV */
- { 8902, -1 }, /* MapParameterfvNV */
- { 11004, -1 }, /* EvalMapsNV */
- { 17744, -1 }, /* GetMapAttribParameterfvNV */
- { 17961, -1 }, /* MapParameterivNV */
+ { 7101, -1 }, /* GetMapAttribParameterivNV */
+ { 8834, -1 }, /* MapControlPointsNV */
+ { 8933, -1 }, /* MapParameterfvNV */
+ { 11057, -1 }, /* EvalMapsNV */
+ { 17718, -1 }, /* GetMapAttribParameterfvNV */
+ { 17935, -1 }, /* MapParameterivNV */
{ 25646, -1 }, /* GetMapParameterivNV */
{ 26189, -1 }, /* GetMapParameterfvNV */
- { 30214, -1 }, /* GetMapControlPointsNV */
+ { 30298, -1 }, /* GetMapControlPointsNV */
{ -1, -1 }
};
#endif
@@ -6365,8 +6376,8 @@ static const struct gl_function_remap GL_NV_register_combiners_functions[] = {
#if defined(need_GL_NV_register_combiners2)
static const struct gl_function_remap GL_NV_register_combiners2_functions[] = {
- { 16372, -1 }, /* CombinerStageParameterfvNV */
- { 16768, -1 }, /* GetCombinerStageParameterfvNV */
+ { 16384, -1 }, /* CombinerStageParameterfvNV */
+ { 16780, -1 }, /* GetCombinerStageParameterfvNV */
{ -1, -1 }
};
#endif
@@ -6401,23 +6412,23 @@ static const struct gl_function_remap GL_OES_EGL_image_functions[] = {
#if defined(need_GL_PGI_misc_hints)
static const struct gl_function_remap GL_PGI_misc_hints_functions[] = {
- { 9023, -1 }, /* HintPGI */
+ { 9054, -1 }, /* HintPGI */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIS_detail_texture)
static const struct gl_function_remap GL_SGIS_detail_texture_functions[] = {
- { 16741, -1 }, /* GetDetailTexFuncSGIS */
- { 17178, -1 }, /* DetailTexFuncSGIS */
+ { 16753, -1 }, /* GetDetailTexFuncSGIS */
+ { 17152, -1 }, /* DetailTexFuncSGIS */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIS_fog_function)
static const struct gl_function_remap GL_SGIS_fog_function_functions[] = {
- { 28125, -1 }, /* FogFuncSGIS */
- { 28846, -1 }, /* GetFogFuncSGIS */
+ { 28157, -1 }, /* FogFuncSGIS */
+ { 28930, -1 }, /* GetFogFuncSGIS */
{ -1, -1 }
};
#endif
@@ -6445,7 +6456,7 @@ static const struct gl_function_remap GL_SGIS_point_parameters_functions[] = {
#if defined(need_GL_SGIS_sharpen_texture)
static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = {
- { 7131, -1 }, /* GetSharpenTexFuncSGIS */
+ { 7162, -1 }, /* GetSharpenTexFuncSGIS */
{ 22894, -1 }, /* SharpenTexFuncSGIS */
{ -1, -1 }
};
@@ -6453,66 +6464,66 @@ static const struct gl_function_remap GL_SGIS_sharpen_texture_functions[] = {
#if defined(need_GL_SGIS_texture4D)
static const struct gl_function_remap GL_SGIS_texture4D_functions[] = {
- { 995, -1 }, /* TexImage4DSGIS */
- { 16288, -1 }, /* TexSubImage4DSGIS */
+ { 1034, -1 }, /* TexImage4DSGIS */
+ { 16300, -1 }, /* TexSubImage4DSGIS */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIS_texture_color_mask)
static const struct gl_function_remap GL_SGIS_texture_color_mask_functions[] = {
- { 15659, -1 }, /* TextureColorMaskSGIS */
+ { 15671, -1 }, /* TextureColorMaskSGIS */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIS_texture_filter4)
static const struct gl_function_remap GL_SGIS_texture_filter4_functions[] = {
- { 7308, -1 }, /* GetTexFilterFuncSGIS */
- { 16914, -1 }, /* TexFilterFuncSGIS */
+ { 7339, -1 }, /* GetTexFilterFuncSGIS */
+ { 16926, -1 }, /* TexFilterFuncSGIS */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_async)
static const struct gl_function_remap GL_SGIX_async_functions[] = {
- { 3463, -1 }, /* AsyncMarkerSGIX */
- { 4649, -1 }, /* FinishAsyncSGIX */
- { 5721, -1 }, /* PollAsyncSGIX */
+ { 3541, -1 }, /* AsyncMarkerSGIX */
+ { 4722, -1 }, /* FinishAsyncSGIX */
+ { 5794, -1 }, /* PollAsyncSGIX */
{ 23103, -1 }, /* DeleteAsyncMarkersSGIX */
{ 23158, -1 }, /* IsAsyncMarkerSGIX */
- { 33514, -1 }, /* GenAsyncMarkersSGIX */
+ { 33626, -1 }, /* GenAsyncMarkersSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_flush_raster)
static const struct gl_function_remap GL_SGIX_flush_raster_functions[] = {
- { 7685, -1 }, /* FlushRasterSGIX */
+ { 7716, -1 }, /* FlushRasterSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_fragment_lighting)
static const struct gl_function_remap GL_SGIX_fragment_lighting_functions[] = {
- { 2698, -1 }, /* FragmentMaterialfvSGIX */
- { 5625, -1 }, /* FragmentLightiSGIX */
- { 8439, -1 }, /* FragmentMaterialfSGIX */
- { 8576, -1 }, /* GetFragmentLightivSGIX */
- { 9449, -1 }, /* FragmentLightModeliSGIX */
- { 11067, -1 }, /* FragmentLightivSGIX */
- { 11374, -1 }, /* GetFragmentMaterialivSGIX */
- { 16681, -1 }, /* GetFragmentMaterialfvSGIX */
+ { 2737, -1 }, /* FragmentMaterialfvSGIX */
+ { 5698, -1 }, /* FragmentLightiSGIX */
+ { 8470, -1 }, /* FragmentMaterialfSGIX */
+ { 8607, -1 }, /* GetFragmentLightivSGIX */
+ { 9480, -1 }, /* FragmentLightModeliSGIX */
+ { 11120, -1 }, /* FragmentLightivSGIX */
+ { 11427, -1 }, /* GetFragmentMaterialivSGIX */
+ { 16693, -1 }, /* GetFragmentMaterialfvSGIX */
{ 20159, -1 }, /* FragmentLightModelfSGIX */
{ 20477, -1 }, /* FragmentColorMaterialSGIX */
{ 20894, -1 }, /* FragmentMaterialiSGIX */
{ 22189, -1 }, /* LightEnviSGIX */
{ 23875, -1 }, /* FragmentLightModelfvSGIX */
{ 24210, -1 }, /* FragmentLightfvSGIX */
- { 29230, -1 }, /* FragmentLightModelivSGIX */
- { 29379, -1 }, /* FragmentLightfSGIX */
- { 32309, -1 }, /* GetFragmentLightfvSGIX */
- { 33997, -1 }, /* FragmentMaterialivSGIX */
+ { 29314, -1 }, /* FragmentLightModelivSGIX */
+ { 29463, -1 }, /* FragmentLightfSGIX */
+ { 32354, -1 }, /* GetFragmentLightfvSGIX */
+ { 34109, -1 }, /* FragmentMaterialivSGIX */
{ -1, -1 }
};
#endif
@@ -6526,18 +6537,18 @@ static const struct gl_function_remap GL_SGIX_framezoom_functions[] = {
#if defined(need_GL_SGIX_igloo_interface)
static const struct gl_function_remap GL_SGIX_igloo_interface_functions[] = {
- { 29687, -1 }, /* IglooInterfaceSGIX */
+ { 29771, -1 }, /* IglooInterfaceSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_instruments)
static const struct gl_function_remap GL_SGIX_instruments_functions[] = {
- { 2878, -1 }, /* ReadInstrumentsSGIX */
- { 6904, -1 }, /* PollInstrumentsSGIX */
- { 10925, -1 }, /* GetInstrumentsSGIX */
- { 13337, -1 }, /* StartInstrumentsSGIX */
- { 16406, -1 }, /* StopInstrumentsSGIX */
+ { 2917, -1 }, /* ReadInstrumentsSGIX */
+ { 6935, -1 }, /* PollInstrumentsSGIX */
+ { 10978, -1 }, /* GetInstrumentsSGIX */
+ { 13420, -1 }, /* StartInstrumentsSGIX */
+ { 16418, -1 }, /* StopInstrumentsSGIX */
{ 18383, -1 }, /* InstrumentsBufferSGIX */
{ -1, -1 }
};
@@ -6545,12 +6556,12 @@ static const struct gl_function_remap GL_SGIX_instruments_functions[] = {
#if defined(need_GL_SGIX_list_priority)
static const struct gl_function_remap GL_SGIX_list_priority_functions[] = {
- { 1226, -1 }, /* ListParameterfSGIX */
- { 3165, -1 }, /* GetListParameterfvSGIX */
- { 18274, -1 }, /* ListParameteriSGIX */
+ { 1265, -1 }, /* ListParameterfSGIX */
+ { 3243, -1 }, /* GetListParameterfvSGIX */
+ { 18248, -1 }, /* ListParameteriSGIX */
{ 19365, -1 }, /* ListParameterfvSGIX */
{ 21560, -1 }, /* ListParameterivSGIX */
- { 33558, -1 }, /* GetListParameterivSGIX */
+ { 33670, -1 }, /* GetListParameterivSGIX */
{ -1, -1 }
};
#endif
@@ -6564,27 +6575,27 @@ static const struct gl_function_remap GL_SGIX_pixel_texture_functions[] = {
#if defined(need_GL_SGIX_polynomial_ffd)
static const struct gl_function_remap GL_SGIX_polynomial_ffd_functions[] = {
- { 3761, -1 }, /* LoadIdentityDeformationMapSGIX */
- { 16506, -1 }, /* DeformSGIX */
+ { 2959, -1 }, /* DeformationMap3dSGIX */
+ { 3839, -1 }, /* LoadIdentityDeformationMapSGIX */
+ { 16518, -1 }, /* DeformSGIX */
{ 25144, -1 }, /* DeformationMap3fSGIX */
- { 32197, -1 }, /* DeformationMap3dSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_reference_plane)
static const struct gl_function_remap GL_SGIX_reference_plane_functions[] = {
- { 15210, -1 }, /* ReferencePlaneSGIX */
+ { 15222, -1 }, /* ReferencePlaneSGIX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SGIX_sprite)
static const struct gl_function_remap GL_SGIX_sprite_functions[] = {
- { 9947, -1 }, /* SpriteParameterfvSGIX */
+ { 9978, -1 }, /* SpriteParameterfvSGIX */
{ 21349, -1 }, /* SpriteParameteriSGIX */
{ 27529, -1 }, /* SpriteParameterfSGIX */
- { 30357, -1 }, /* SpriteParameterivSGIX */
+ { 30441, -1 }, /* SpriteParameterivSGIX */
{ -1, -1 }
};
#endif
@@ -6598,10 +6609,10 @@ static const struct gl_function_remap GL_SGIX_tag_sample_buffer_functions[] = {
#if defined(need_GL_SGI_color_table)
static const struct gl_function_remap GL_SGI_color_table_functions[] = {
- { 7975, _gloffset_ColorTableParameteriv },
- { 8697, _gloffset_ColorTable },
- { 15706, _gloffset_GetColorTable },
- { 15816, _gloffset_CopyColorTable },
+ { 8006, _gloffset_ColorTableParameteriv },
+ { 8728, _gloffset_ColorTable },
+ { 15718, _gloffset_GetColorTable },
+ { 15828, _gloffset_CopyColorTable },
{ 20103, _gloffset_ColorTableParameterfv },
{ 23783, _gloffset_GetColorTableParameterfv },
{ 25947, _gloffset_GetColorTableParameteriv },
@@ -6611,20 +6622,20 @@ static const struct gl_function_remap GL_SGI_color_table_functions[] = {
#if defined(need_GL_SUNX_constant_data)
static const struct gl_function_remap GL_SUNX_constant_data_functions[] = {
- { 32287, -1 }, /* FinishTextureSUNX */
+ { 32332, -1 }, /* FinishTextureSUNX */
{ -1, -1 }
};
#endif
#if defined(need_GL_SUN_global_alpha)
static const struct gl_function_remap GL_SUN_global_alpha_functions[] = {
- { 3484, -1 }, /* GlobalAlphaFactorubSUN */
- { 5002, -1 }, /* GlobalAlphaFactoriSUN */
- { 6929, -1 }, /* GlobalAlphaFactordSUN */
- { 10031, -1 }, /* GlobalAlphaFactoruiSUN */
- { 10516, -1 }, /* GlobalAlphaFactorbSUN */
- { 13652, -1 }, /* GlobalAlphaFactorfSUN */
- { 13816, -1 }, /* GlobalAlphaFactorusSUN */
+ { 3562, -1 }, /* GlobalAlphaFactorubSUN */
+ { 5075, -1 }, /* GlobalAlphaFactoriSUN */
+ { 6960, -1 }, /* GlobalAlphaFactordSUN */
+ { 10062, -1 }, /* GlobalAlphaFactoruiSUN */
+ { 10569, -1 }, /* GlobalAlphaFactorbSUN */
+ { 13735, -1 }, /* GlobalAlphaFactorfSUN */
+ { 13899, -1 }, /* GlobalAlphaFactorusSUN */
{ 23470, -1 }, /* GlobalAlphaFactorsSUN */
{ -1, -1 }
};
@@ -6632,50 +6643,50 @@ static const struct gl_function_remap GL_SUN_global_alpha_functions[] = {
#if defined(need_GL_SUN_mesh_array)
static const struct gl_function_remap GL_SUN_mesh_array_functions[] = {
- { 30148, -1 }, /* DrawMeshArraysSUN */
+ { 30232, -1 }, /* DrawMeshArraysSUN */
{ -1, -1 }
};
#endif
#if defined(need_GL_SUN_triangle_list)
static const struct gl_function_remap GL_SUN_triangle_list_functions[] = {
- { 4623, -1 }, /* ReplacementCodeubSUN */
- { 6688, -1 }, /* ReplacementCodeubvSUN */
+ { 4696, -1 }, /* ReplacementCodeubSUN */
+ { 6719, -1 }, /* ReplacementCodeubvSUN */
{ 19824, -1 }, /* ReplacementCodeusvSUN */
{ 20012, -1 }, /* ReplacementCodePointerSUN */
{ 22253, -1 }, /* ReplacementCodeuiSUN */
{ 23132, -1 }, /* ReplacementCodeusSUN */
- { 30814, -1 }, /* ReplacementCodeuivSUN */
+ { 30898, -1 }, /* ReplacementCodeuivSUN */
{ -1, -1 }
};
#endif
#if defined(need_GL_SUN_vertex)
static const struct gl_function_remap GL_SUN_vertex_functions[] = {
- { 1100, -1 }, /* ReplacementCodeuiColor3fVertex3fvSUN */
- { 1298, -1 }, /* TexCoord4fColor4fNormal3fVertex4fvSUN */
- { 1552, -1 }, /* TexCoord2fColor4ubVertex3fvSUN */
- { 1921, -1 }, /* ReplacementCodeuiVertex3fvSUN */
- { 2055, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fvSUN */
- { 2634, -1 }, /* ReplacementCodeuiNormal3fVertex3fSUN */
- { 2974, -1 }, /* Color4ubVertex3fvSUN */
- { 4807, -1 }, /* Color4ubVertex3fSUN */
- { 4930, -1 }, /* TexCoord2fVertex3fSUN */
- { 5348, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */
- { 5825, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */
- { 6583, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */
- { 7363, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */
- { 7722, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */
- { 9248, -1 }, /* Color3fVertex3fSUN */
- { 10425, -1 }, /* Color3fVertex3fvSUN */
- { 10890, -1 }, /* Color4fNormal3fVertex3fvSUN */
- { 11719, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */
- { 13200, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */
- { 14826, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */
- { 15352, -1 }, /* TexCoord2fColor3fVertex3fSUN */
- { 16431, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */
- { 16873, -1 }, /* Color4ubVertex2fvSUN */
- { 17203, -1 }, /* Normal3fVertex3fSUN */
+ { 1139, -1 }, /* ReplacementCodeuiColor3fVertex3fvSUN */
+ { 1337, -1 }, /* TexCoord4fColor4fNormal3fVertex4fvSUN */
+ { 1591, -1 }, /* TexCoord2fColor4ubVertex3fvSUN */
+ { 1960, -1 }, /* ReplacementCodeuiVertex3fvSUN */
+ { 2094, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fvSUN */
+ { 2673, -1 }, /* ReplacementCodeuiNormal3fVertex3fSUN */
+ { 3052, -1 }, /* Color4ubVertex3fvSUN */
+ { 4880, -1 }, /* Color4ubVertex3fSUN */
+ { 5003, -1 }, /* TexCoord2fVertex3fSUN */
+ { 5421, -1 }, /* TexCoord2fColor4fNormal3fVertex3fSUN */
+ { 5898, -1 }, /* TexCoord2fNormal3fVertex3fvSUN */
+ { 6614, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN */
+ { 7394, -1 }, /* ReplacementCodeuiColor4ubVertex3fvSUN */
+ { 7753, -1 }, /* ReplacementCodeuiTexCoord2fVertex3fSUN */
+ { 9279, -1 }, /* Color3fVertex3fSUN */
+ { 10478, -1 }, /* Color3fVertex3fvSUN */
+ { 10943, -1 }, /* Color4fNormal3fVertex3fvSUN */
+ { 11772, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN */
+ { 13283, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fvSUN */
+ { 14838, -1 }, /* ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN */
+ { 15364, -1 }, /* TexCoord2fColor3fVertex3fSUN */
+ { 16443, -1 }, /* TexCoord4fColor4fNormal3fVertex4fSUN */
+ { 16885, -1 }, /* Color4ubVertex2fvSUN */
+ { 17177, -1 }, /* Normal3fVertex3fSUN */
{ 18324, -1 }, /* ReplacementCodeuiColor4fNormal3fVertex3fSUN */
{ 18676, -1 }, /* TexCoord2fColor4fNormal3fVertex3fvSUN */
{ 18983, -1 }, /* TexCoord2fNormal3fVertex3fSUN */
@@ -6687,11 +6698,11 @@ static const struct gl_function_remap GL_SUN_vertex_functions[] = {
{ 23692, -1 }, /* Color4fNormal3fVertex3fSUN */
{ 24693, -1 }, /* ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN */
{ 26850, -1 }, /* ReplacementCodeuiColor3fVertex3fSUN */
- { 28241, -1 }, /* TexCoord4fVertex4fSUN */
- { 28687, -1 }, /* TexCoord2fColor3fVertex3fvSUN */
- { 29074, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */
- { 29201, -1 }, /* TexCoord4fVertex4fvSUN */
- { 29935, -1 }, /* ReplacementCodeuiVertex3fSUN */
+ { 28273, -1 }, /* TexCoord4fVertex4fSUN */
+ { 28719, -1 }, /* TexCoord2fColor3fVertex3fvSUN */
+ { 29158, -1 }, /* ReplacementCodeuiNormal3fVertex3fvSUN */
+ { 29285, -1 }, /* TexCoord4fVertex4fvSUN */
+ { 30019, -1 }, /* ReplacementCodeuiVertex3fSUN */
{ -1, -1 }
};
#endif
@@ -6699,25 +6710,25 @@ static const struct gl_function_remap GL_SUN_vertex_functions[] = {
#if defined(need_GL_VERSION_1_3)
/* functions defined in MESA_remap_table_functions are excluded */
static const struct gl_function_remap GL_VERSION_1_3_functions[] = {
- { 425, _gloffset_MultiTexCoord3sARB },
- { 657, _gloffset_ActiveTextureARB },
- { 4378, _gloffset_MultiTexCoord1fvARB },
- { 6474, _gloffset_MultiTexCoord3dARB },
- { 6519, _gloffset_MultiTexCoord2iARB },
- { 6643, _gloffset_MultiTexCoord2svARB },
- { 8653, _gloffset_MultiTexCoord2fARB },
- { 10726, _gloffset_MultiTexCoord3fvARB },
- { 11328, _gloffset_MultiTexCoord4sARB },
- { 12009, _gloffset_MultiTexCoord2dvARB },
- { 12416, _gloffset_MultiTexCoord1svARB },
- { 12817, _gloffset_MultiTexCoord3svARB },
- { 12878, _gloffset_MultiTexCoord4iARB },
- { 13679, _gloffset_MultiTexCoord3iARB },
- { 14549, _gloffset_MultiTexCoord1dARB },
- { 14781, _gloffset_MultiTexCoord3dvARB },
- { 16060, _gloffset_MultiTexCoord3ivARB },
- { 16105, _gloffset_MultiTexCoord2sARB },
- { 17603, _gloffset_MultiTexCoord4ivARB },
+ { 464, _gloffset_MultiTexCoord3sARB },
+ { 696, _gloffset_ActiveTextureARB },
+ { 4451, _gloffset_MultiTexCoord1fvARB },
+ { 6505, _gloffset_MultiTexCoord3dARB },
+ { 6550, _gloffset_MultiTexCoord2iARB },
+ { 6674, _gloffset_MultiTexCoord2svARB },
+ { 8684, _gloffset_MultiTexCoord2fARB },
+ { 10779, _gloffset_MultiTexCoord3fvARB },
+ { 11381, _gloffset_MultiTexCoord4sARB },
+ { 12062, _gloffset_MultiTexCoord2dvARB },
+ { 12469, _gloffset_MultiTexCoord1svARB },
+ { 12870, _gloffset_MultiTexCoord3svARB },
+ { 12931, _gloffset_MultiTexCoord4iARB },
+ { 13762, _gloffset_MultiTexCoord3iARB },
+ { 14561, _gloffset_MultiTexCoord1dARB },
+ { 14793, _gloffset_MultiTexCoord3dvARB },
+ { 16072, _gloffset_MultiTexCoord3ivARB },
+ { 16117, _gloffset_MultiTexCoord2sARB },
+ { 17577, _gloffset_MultiTexCoord4ivARB },
{ 19743, _gloffset_ClientActiveTextureARB },
{ 22106, _gloffset_MultiTexCoord2dARB },
{ 22543, _gloffset_MultiTexCoord4dvARB },
@@ -6726,13 +6737,13 @@ static const struct gl_function_remap GL_VERSION_1_3_functions[] = {
{ 26541, _gloffset_MultiTexCoord4dARB },
{ 26807, _gloffset_MultiTexCoord1sARB },
{ 27011, _gloffset_MultiTexCoord1dvARB },
- { 27987, _gloffset_MultiTexCoord1ivARB },
- { 28080, _gloffset_MultiTexCoord2ivARB },
- { 28419, _gloffset_MultiTexCoord1iARB },
- { 29803, _gloffset_MultiTexCoord4svARB },
- { 30427, _gloffset_MultiTexCoord1fARB },
- { 30690, _gloffset_MultiTexCoord4fARB },
- { 33159, _gloffset_MultiTexCoord2fvARB },
+ { 28019, _gloffset_MultiTexCoord1ivARB },
+ { 28112, _gloffset_MultiTexCoord2ivARB },
+ { 28451, _gloffset_MultiTexCoord1iARB },
+ { 29887, _gloffset_MultiTexCoord4svARB },
+ { 30511, _gloffset_MultiTexCoord1fARB },
+ { 30774, _gloffset_MultiTexCoord4fARB },
+ { 33271, _gloffset_MultiTexCoord2fvARB },
{ -1, -1 }
};
#endif
diff --git a/mesalib/src/mesa/program/prog_statevars.c b/mesalib/src/mesa/program/prog_statevars.c
index 1fd26f44d..d94d7fe5d 100644
--- a/mesalib/src/mesa/program/prog_statevars.c
+++ b/mesalib/src/mesa/program/prog_statevars.c
@@ -602,11 +602,11 @@ _mesa_fetch_state(struct gl_context *ctx, const gl_state_index state[],
value[0] = 1.0F;
value[1] = 0.0F;
value[2] = -1.0F;
- value[3] = (GLfloat) (ctx->DrawBuffer->Height - 1);
+ value[3] = (GLfloat) ctx->DrawBuffer->Height;
} else {
/* Flipping Y upside down (XY) followed by identity (ZW). */
value[0] = -1.0F;
- value[1] = (GLfloat) (ctx->DrawBuffer->Height - 1);
+ value[1] = (GLfloat) ctx->DrawBuffer->Height;
value[2] = 1.0F;
value[3] = 0.0F;
}
diff --git a/mesalib/src/mesa/program/prog_statevars.h b/mesalib/src/mesa/program/prog_statevars.h
index 9fe8d81b3..04af3f4cf 100644
--- a/mesalib/src/mesa/program/prog_statevars.h
+++ b/mesalib/src/mesa/program/prog_statevars.h
@@ -120,7 +120,7 @@ typedef enum gl_state_index_ {
STATE_PT_BIAS, /**< Pixel transfer RGBA bias */
STATE_SHADOW_AMBIENT, /**< ARB_shadow_ambient fail value; token[2] is texture unit index */
STATE_FB_SIZE, /**< (width-1, height-1, 0, 0) */
- STATE_FB_WPOS_Y_TRANSFORM, /**< (1, 0, -1, height-1) if a FBO is bound, (-1, height-1, 1, 0) otherwise */
+ STATE_FB_WPOS_Y_TRANSFORM, /**< (1, 0, -1, height) if a FBO is bound, (-1, height, 1, 0) otherwise */
STATE_ROT_MATRIX_0, /**< ATI_envmap_bumpmap, rot matrix row 0 */
STATE_ROT_MATRIX_1, /**< ATI_envmap_bumpmap, rot matrix row 1 */
STATE_INTERNAL_DRIVER /* first available state index for drivers (must be last) */
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 c07739f9d..a41e5b16a 100644
--- a/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c
+++ b/mesalib/src/mesa/state_tracker/st_mesa_to_tgsi.c
@@ -752,37 +752,15 @@ compile_instruction(
/**
- * Emit the TGSI instructions to adjust the WPOS pixel center convention
- * Basically, add (adjX, adjY) to the fragment position.
- */
-static void
-emit_adjusted_wpos( struct st_translate *t,
- const struct gl_program *program,
- GLfloat adjX, GLfloat adjY)
-{
- struct ureg_program *ureg = t->ureg;
- struct ureg_dst wpos_temp = ureg_DECL_temporary(ureg);
- struct ureg_src wpos_input = t->inputs[t->inputMapping[FRAG_ATTRIB_WPOS]];
-
- /* Note that we bias X and Y and pass Z and W through unchanged.
- * The shader might also use gl_FragCoord.w and .z.
- */
- ureg_ADD(ureg, wpos_temp, wpos_input,
- ureg_imm4f(ureg, adjX, adjY, 0.0f, 0.0f));
-
- t->inputs[t->inputMapping[FRAG_ATTRIB_WPOS]] = ureg_src(wpos_temp);
-}
-
-
-/**
- * Emit the TGSI instructions for inverting the WPOS y coordinate.
+ * Emit the TGSI instructions for inverting and adjusting WPOS.
* This code is unavoidable because it also depends on whether
* a FBO is bound (STATE_FB_WPOS_Y_TRANSFORM).
*/
static void
-emit_wpos_inversion( struct st_translate *t,
- const struct gl_program *program,
- boolean invert)
+emit_wpos_adjustment( struct st_translate *t,
+ const struct gl_program *program,
+ boolean invert,
+ GLfloat adjX, GLfloat adjY[2])
{
struct ureg_program *ureg = t->ureg;
@@ -801,18 +779,38 @@ emit_wpos_inversion( struct st_translate *t,
wposTransformState);
struct ureg_src wpostrans = ureg_DECL_constant( ureg, wposTransConst );
- struct ureg_dst wpos_temp;
+ struct ureg_dst wpos_temp = ureg_DECL_temporary( ureg );
struct ureg_src wpos_input = t->inputs[t->inputMapping[FRAG_ATTRIB_WPOS]];
- /* MOV wpos_temp, input[wpos]
- */
- if (wpos_input.File == TGSI_FILE_TEMPORARY)
- wpos_temp = ureg_dst(wpos_input);
- else {
- wpos_temp = ureg_DECL_temporary( ureg );
+ /* First, apply the coordinate shift: */
+ if (adjX || adjY[0] || adjY[1]) {
+ if (adjY[0] != adjY[1]) {
+ /* Adjust the y coordinate by adjY[1] or adjY[0] respectively
+ * depending on whether inversion is actually going to be applied
+ * or not, which is determined by testing against the inversion
+ * state variable used below, which will be either +1 or -1.
+ */
+ struct ureg_dst adj_temp = ureg_DECL_temporary(ureg);
+
+ ureg_CMP(ureg, adj_temp,
+ ureg_scalar(wpostrans, invert ? 2 : 0),
+ ureg_imm4f(ureg, adjX, adjY[0], 0.0f, 0.0f),
+ ureg_imm4f(ureg, adjX, adjY[1], 0.0f, 0.0f));
+ ureg_ADD(ureg, wpos_temp, wpos_input, ureg_src(adj_temp));
+ } else {
+ ureg_ADD(ureg, wpos_temp, wpos_input,
+ ureg_imm4f(ureg, adjX, adjY[0], 0.0f, 0.0f));
+ }
+ wpos_input = ureg_src(wpos_temp);
+ } else {
+ /* MOV wpos_temp, input[wpos]
+ */
ureg_MOV( ureg, wpos_temp, wpos_input );
}
+ /* Now the conditional y flip: STATE_FB_WPOS_Y_TRANSFORM.xy/zw will be
+ * inversion/identity, or the other way around if we're drawing to an FBO.
+ */
if (invert) {
/* MAD wpos_temp.y, wpos_input, wpostrans.xxxx, wpostrans.yyyy
*/
@@ -849,8 +847,37 @@ emit_wpos(struct st_context *st,
const struct gl_fragment_program *fp =
(const struct gl_fragment_program *) program;
struct pipe_screen *pscreen = st->pipe->screen;
+ GLfloat adjX = 0.0f;
+ GLfloat adjY[2] = { 0.0f, 0.0f };
boolean invert = FALSE;
+ /* Query the pixel center conventions supported by the pipe driver and set
+ * adjX, adjY to help out if it cannot handle the requested one internally.
+ *
+ * The bias of the y-coordinate depends on whether y-inversion takes place
+ * (adjY[1]) or not (adjY[0]), which is in turn dependent on whether we are
+ * drawing to an FBO (causes additional inversion), and whether the the pipe
+ * driver origin and the requested origin differ (the latter condition is
+ * stored in the 'invert' variable).
+ *
+ * For height = 100 (i = integer, h = half-integer, l = lower, u = upper):
+ *
+ * center shift only:
+ * i -> h: +0.5
+ * h -> i: -0.5
+ *
+ * inversion only:
+ * l,i -> u,i: ( 0.0 + 1.0) * -1 + 100 = 99
+ * l,h -> u,h: ( 0.5 + 0.0) * -1 + 100 = 99.5
+ * u,i -> l,i: (99.0 + 1.0) * -1 + 100 = 0
+ * u,h -> l,h: (99.5 + 0.0) * -1 + 100 = 0.5
+ *
+ * inversion and center shift:
+ * l,i -> u,h: ( 0.0 + 0.5) * -1 + 100 = 99.5
+ * l,h -> u,i: ( 0.5 + 0.5) * -1 + 100 = 99
+ * u,i -> l,h: (99.0 + 0.5) * -1 + 100 = 0.5
+ * u,h -> l,i: (99.5 + 0.5) * -1 + 100 = 0
+ */
if (fp->OriginUpperLeft) {
/* Fragment shader wants origin in upper-left */
if (pscreen->get_param(pscreen, PIPE_CAP_TGSI_FS_COORD_ORIGIN_UPPER_LEFT)) {
@@ -878,12 +905,17 @@ emit_wpos(struct st_context *st,
if (fp->PixelCenterInteger) {
/* Fragment shader wants pixel center integer */
- if (pscreen->get_param(pscreen, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER))
+ if (pscreen->get_param(pscreen, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER)) {
/* the driver supports pixel center integer */
+ adjY[1] = 1.0f;
ureg_property_fs_coord_pixel_center(ureg, TGSI_FS_COORD_PIXEL_CENTER_INTEGER);
- else if (pscreen->get_param(pscreen, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER))
+ }
+ else if (pscreen->get_param(pscreen, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_HALF_INTEGER)) {
/* the driver supports pixel center half integer, need to bias X,Y */
- emit_adjusted_wpos(t, program, 0.5f, invert ? 0.5f : -0.5f);
+ adjX = -0.5f;
+ adjY[0] = -0.5f;
+ adjY[1] = 0.5f;
+ }
else
assert(0);
}
@@ -894,8 +926,8 @@ emit_wpos(struct st_context *st,
}
else if (pscreen->get_param(pscreen, PIPE_CAP_TGSI_FS_COORD_PIXEL_CENTER_INTEGER)) {
/* the driver supports pixel center integer, need to bias X,Y */
+ adjX = adjY[0] = adjY[1] = 0.5f;
ureg_property_fs_coord_pixel_center(ureg, TGSI_FS_COORD_PIXEL_CENTER_INTEGER);
- emit_adjusted_wpos(t, program, 0.5f, invert ? -0.5f : 0.5f);
}
else
assert(0);
@@ -903,7 +935,7 @@ emit_wpos(struct st_context *st,
/* we invert after adjustment so that we avoid the MOV to temporary,
* and reuse the adjustment ADD instead */
- emit_wpos_inversion(t, program, invert);
+ emit_wpos_adjustment(t, program, invert, adjX, adjY);
}